Agents hors ligne
Workflow agent, règles de synchronisation et gestion des conflits.
Agents hors ligne
Cette page détaille le comportement attendu côté agents quand le réseau est instable. Elle explique surtout comment l'agent doit travailler sans attendre une connexion parfaite.
Principes
- bandeau d'état non bloquant
- reprise automatique à la reconnexion
- aucune écriture serveur silencieuse
- conservation d'un identifiant
serialstable pour éviter les doublons
Pourquoi ces principes existent
- le bandeau d'état évite de faire croire qu'une action est perdue;
- la reprise automatique réduit les oublis après un déplacement;
- l'absence d'écriture silencieuse évite les faux succès;
- l'identifiant stable permet au serveur de reconnaître la même action si elle est rejouée.
Workflow
- L'agent crée une transaction hors ligne autorisée.
- L'action est stockée dans IndexedDB.
- La synchronisation envoie la charge utile vers
/api/transactions. - Si le serveur refuse, l'action passe en échec.
Comment l'agent doit travailler
- ouvrir l'écran adapté à son activité;
- vérifier le contexte actif;
- saisir la transaction complète;
- regarder le statut local avant de partir;
- revenir sur l'écran de sync si une erreur apparaît.
Conflits
Le serveur reste la source de vérité. En cas de désaccord:
- la transaction locale n'est pas considérée comme validée
- l'utilisateur doit corriger la donnée ou supprimer l'action locale
- la reprise n'efface jamais une erreur serveur
Exemple de conflit
Si deux personnes saisissent le même mouvement de stock:
- la première synchronisation peut passer;
- la seconde peut être refusée si la donnée ne correspond plus;
- l'agent doit alors corriger la saisie locale plutôt que forcer la validation.
Quand utiliser ce mode
- ventes terrain
- saisies rapides en connectivité faible
- approvisionnement simple
Quand l'éviter
- quand une validation immédiate est indispensable;
- quand l'opération dépend d'une configuration qui peut changer côté serveur;
- quand l'utilisateur doit voir un résultat définitif tout de suite.
Quand ne pas l'utiliser
- création de structure
- opérations d'administration
- processus sensibles à validation multiple