Aller au contenu principal

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 sessionStorage pour 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éeCache cible
Assets statiquesOui.
Icônes et logoOui.
Pages publiques peu sensiblesPossible avec invalidation.
Fiches acteurs publiquesPossible selon fraîcheur attendue.
Alertes mairiePrudence forte.
Espace utilisateurNon par défaut.
BackofficeNon par défaut.
Paiements et données adminNon.

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.