Stratégie PWA
Statut
Document de cadrage architecture — version initiale.
Position
La PWA est un axe important pour DMV avant d'envisager des applications mobiles natives.
Ce choix est cohérent avec la philosophie mobile-first, la cible petites communes et la volonté de rester simple, accessible et maintenable.
Objectifs PWA
- Accès rapide sur mobile.
- Installation sur écran d'accueil.
- Consultation confortable du mur local.
- Accès aux favoris.
- Notifications push, selon permissions et cadre technique.
- Résilience partielle en réseau faible.
- Déploiement plus simple qu'une app native.
État actuel visible
Le projet dmv-public contient :
- une application Next.js ;
- un hook
usePwaInstall; - une expérience mobile-first visible dans les composants ;
- des pages publiques, commune, espace utilisateur et contenus locaux.
La présence d'une PWA complète, service worker ou stratégie offline finalisée n'est pas confirmée par ces éléments seuls.
Vision cible
La cible PWA doit couvrir :
- manifest applicatif ;
- icônes adaptées ;
- stratégie installable ;
- cache statique contrôlé ;
- fallback réseau ;
- notifications push ;
- politique d'updates ;
- respect des préférences utilisateur.
Offline et cache
Le offline doit rester prudent.
Candidats :
- shell applicatif ;
- dernières données publiques consultées ;
- favoris ;
- pages statiques ;
- messages d'indisponibilité clairs.
À éviter :
- données sensibles ;
- contenus de modération ;
- informations communales critiques obsolètes sans avertissement ;
- actions d'écriture ambiguës hors ligne.
Native apps
Les applications natives ne sont pas exclues à long terme, mais ne doivent pas être prioritaires sans besoin confirmé :
- fonctionnalités mobiles non accessibles en PWA ;
- contraintes push avancées ;
- usage massif ;
- besoin offline profond ;
- demande institutionnelle claire.
Risques et points à clarifier
- Stratégie push et consentement.
- Gestion des mises à jour PWA.
- Compatibilité iOS/Android.
- Cache des alertes mairie.
- Installation et pédagogie utilisateur.