Aller au contenu principal

Offline Strategy

Version : 1.0

Statut : Architecture de référence


1. Objectif

Ce document définit la stratégie officielle de fonctionnement hors connexion de DMV Mobile.

Contrairement à de nombreuses applications mobiles, DMV n'est pas une plateforme Offline First.

Le choix architectural retenu est :

Online First with Offline Continuity

Ce principe constitue l'une des décisions fondamentales de l'architecture mobile.


2. Pourquoi ce choix ?

DMV est une plateforme vivante.

Chaque minute peuvent apparaître :

  • de nouvelles publications ;
  • de nouveaux événements ;
  • de nouvelles alertes ;
  • de nouveaux acteurs ;
  • de nouveaux utilisateurs.

Les données évoluent en permanence.

Une copie locale de la plateforme deviendrait rapidement obsolète.

Le téléphone ne peut donc pas devenir la source des données.


3. Source de vérité

Le principe est simple.

Serveur = Vérité

Téléphone = Copie temporaire

Le cache n'est jamais considéré comme officiel.

Toutes les décisions métier sont prises sur le serveur.


4. Définition

Online First signifie :

Lorsque le réseau est disponible :

  • toutes les opérations passent par le serveur.

Offline Continuity signifie :

Lorsque le réseau disparaît :

  • l'utilisateur continue à travailler autant que possible ;
  • les données déjà téléchargées restent accessibles ;
  • son contexte est conservé ;
  • aucune perte de travail ne doit se produire.

5. Consultation hors connexion

Les contenus déjà présents dans le cache restent accessibles.

Exemples :

✓ Mur récemment consulté

✓ Commune ouverte récemment

✓ Agenda

✓ Favoris

✓ Publications consultées

✓ Mon Espace

Le cache constitue donc une mémoire locale de l'activité récente.


6. Création de contenu

Une distinction importante est faite entre :

  • création ;
  • publication.

Création

Certaines ressources peuvent être créées hors connexion.

Exemple :

Nouvelle publication

Création d'un brouillon local

Retour du réseau

Synchronisation

Création d'un brouillon serveur

Le contenu n'est jamais publié automatiquement.

Cette approche supprime pratiquement tous les conflits.


7. Publication

Une publication est une action métier.

Elle peut :

  • déclencher des notifications ;
  • modifier le Mur ;
  • informer des milliers d'utilisateurs.

Elle nécessite donc obligatoirement une connexion.

Une publication ne peut jamais être réalisée hors connexion.


8. Modifications

Toutes les modifications n'ont pas le même niveau critique.

Autorisées hors connexion

Préférences utilisateur

Avatar

Paramètres locaux

Thème

Favoris

Brouillons

Interdites hors connexion

Modification d'un acteur

Modification d'une commune

Suppression

Gestion des collaborateurs

Permissions

Publication

Toutes ces opérations nécessitent le serveur.


9. Conflits

L'architecture DMV cherche à éviter les conflits plutôt qu'à les résoudre.

Le meilleur conflit est celui qui n'existe jamais.

Ainsi :

  • les modifications critiques sont bloquées hors connexion ;
  • les brouillons restent locaux jusqu'à synchronisation.

Cette philosophie simplifie considérablement le système.


10. Reprise réseau

Le retour de la connexion déclenche automatiquement :

  1. Vérification réseau.

  2. Synchronisation des brouillons.

  3. Rafraîchissement des données.

  4. Mise à jour du cache.

  5. Reprise normale.

Aucune intervention utilisateur n'est nécessaire.


11. Gestion des erreurs

En cas d'échec :

  • le brouillon reste local ;
  • aucun contenu n'est perdu ;
  • l'utilisateur est informé.

Une nouvelle tentative sera effectuée ultérieurement.


12. Cache

Le fonctionnement hors connexion repose entièrement sur le Cache Engine.

Celui-ci définit :

  • quelles données sont conservées ;
  • pendant combien de temps ;
  • leur priorité.

Le Cache Engine est documenté dans :

06-cache-engine.md


13. Cas d'usage

Consultation dans un train

Le réseau disparaît.

L'utilisateur continue à consulter les publications déjà ouvertes.


Création d'une publication

Le réseau disparaît.

Le contenu devient un brouillon local.

Retour du réseau.

Synchronisation.

Le brouillon apparaît dans le Workspace.


Modification d'un acteur

Le réseau disparaît.

Modification impossible.

Message explicite.

Reprendre lorsque la connexion sera disponible.


14. Décisions figées

✓ Online First

✓ Offline Continuity

✓ Serveur = Source de vérité

✓ Cache = Copie temporaire

✓ Brouillons synchronisés

✓ Publication uniquement en ligne

✓ Pas de résolution complexe de conflits

✓ Le téléphone n'est jamais une base de données métier.


Conclusion

Le mode hors connexion de DMV n'a pas pour objectif de rendre la plateforme indépendante du serveur.

Son objectif est d'assurer une continuité de service, de préserver le travail de l'utilisateur et d'offrir une expérience fluide malgré les aléas du réseau.

Cette stratégie permet de conserver une architecture simple, robuste et durable.