Stratégie offline et cache
Statut
Document de cadrage frontend — version initiale.
Objectif
La stratégie offline/cache doit améliorer l'expérience mobile sans exposer de données privées ni créer des états incohérents.
DMV doit fonctionner correctement avec des connexions rurales ou mobiles variables.
État actuel visible
Le repo confirme :
- PWA manifest côté
dmv-public; - configuration Next export en production ;
- usage de caches navigateur possibles par défaut ;
- SWR ponctuel pour certains documents ;
- usage de
sessionStoragepour analytics ; - aucune implémentation service worker offline confirmée.
La stratégie offline avancée est donc une vision cible.
Principes
- Cacher d'abord les assets statiques.
- Ne pas cacher par défaut les données privées.
- Prévoir un état offline explicite.
- Éviter les mutations offline tant que le besoin n'est pas validé.
- Garder les données publiques fraîches quand l'information est sensible.
- Ne pas cacher les alertes critiques sans stratégie d'invalidation.
Données cacheables avec prudence
| Donnée | Cache cible |
|---|---|
| Assets statiques | Oui. |
| Icônes et logo | Oui. |
| Pages publiques peu sensibles | Possible avec invalidation. |
| Fiches acteurs publiques | Possible selon fraîcheur attendue. |
| Alertes mairie | Prudence forte. |
| Espace utilisateur | Non par défaut. |
| Backoffice | Non par défaut. |
| Paiements et données admin | Non. |
Offline cible
Un mode offline réaliste peut fournir :
- message clair de perte réseau ;
- consultation de certaines pages déjà chargées ;
- accès aux assets ;
- reprise après reconnexion ;
- aucune promesse de publication offline tant que la synchronisation n'est pas conçue.
SWR et cache client
SWR peut servir à :
- éviter des rechargements inutiles ;
- améliorer la perception de vitesse ;
- rafraîchir en arrière-plan ;
- gérer des données non critiques.
Son usage doit rester documenté avec des clés et invalidations claires.
Risques
- Afficher une alerte obsolète.
- Exposer des données privées via cache.
- Créer des conflits de mutation offline.
- Cacher trop agressivement et nuire au SEO ou à la fraîcheur.
- Complexifier la maintenance PWA.
Points à clarifier
- Choix ou non d'un service worker.
- Politique de cache par route.
- Stratégie des notifications et alertes en offline.
- Gestion de version des assets.
- Compatibilité avec Cloudflare/cache CDN.