Comment fusionner les modifications de deux utilisateurs dans une application terrain hors ligne ?
Quand deux personnes modifient le même enregistrement dans une application terrain hors ligne, la règle « la dernière écriture gagne » ne convient pas à tous les usages. Tenez compte de la…
Que contient cet article ?
Réponse courte
Quand deux personnes modifient le même enregistrement dans une application terrain hors ligne, la règle « la dernière écriture gagne » ne convient pas à tous les usages. Tenez compte de la version, des champs modifiés et de la criticité métier. Présentez les conflits non résolus à l’utilisateur ou à l’équipe opérationnelle habilitée, au lieu de masquer une perte de données par un message de réussite.
Fusion technique et décision métier sont différentes
Modifier deux notes différentes n’équivaut pas à changer la même quantité de stock. Texte libre, transitions d’état, inventaire et validations nécessitent des règles distinctes. Suivez la dernière version connue et les champs changés par chacun. Renvoyer tout le dossier en écrasant les anciens champs peut perdre des données.
Un ordre d’intervention peut être clos pendant qu’un appareil modifie son ancien dossier hors ligne. Le serveur ne doit pas accepter l’action au seul motif qu’elle arrive plus tard. Vérifiez l’état métier actuel et les droits. L’heure de l’appareil ne suffit pas à ordonner les opérations ; distinguez création locale et acceptation serveur.
Présenter trois états à l’utilisateur
Enregistré localement, transmis au serveur et en attente de résolution sont des états différents. Hors ligne, « dossier terminé » peut être compris comme validation de toute l’intervention. Expliquez lieu de stockage et étape restante. Lors d’un conflit, affichez les champs pertinents des deux versions et la personne responsable.
Le support hors ligne de Firestore ne signifie pas qu’il règle automatiquement correctement les conflits métier. Confrontez la synchronisation documentée aux règles de stock, de validation et d’intervention. Reliez aussi les files de fichiers et de dossiers ; définissez l’état d’un dossier dont la photo manque.
Un test reproductible à deux appareils
Ouvrez le même enregistrement sur deux appareils, puis déconnectez-les. Modifiez l’état de l’intervention sur l’un et la description sur l’autre, puis reconnectez-les dans l’ordre inverse. Testez aussi les modifications du même champ, une intervention annulée et un utilisateur dont les droits ont été retirés. Le résultat doit indiquer quelle version a été acceptée et pourquoi, et pas seulement que la synchronisation est terminée. Remettez les enregistrements non résolus dans la file de traitement.
Liste de contrôle de mise en œuvre
- Chaque champ critique possède-t-il une règle de conflit ?
- La version du dossier est-elle transmise ?
- Enregistrement local et acceptation serveur sont-ils distingués ?
- Les droits et l’état métier sont-ils contrôlés ?
- Existe-t-il un test à deux appareils avec reconnexion dans l’ordre inverse ?
Questions fréquentes
La dernière écriture suffit-elle ?
Ce choix peut convenir aux notes ; stock et validations nécessitent une évaluation séparée.
L’heure de l’appareil prouve-t-elle l’ordre des opérations ?
Pas à elle seule. Horloges incorrectes et transferts retardés doivent être traités séparément.
Périmètre et limites
Les règles de synchronisation dépendent du type de données, du fournisseur et du fonctionnement métier. Définissez séparément sécurité des appareils et conservation des données personnelles hors ligne.
Sources et actualité
Vérification des sources : 7 octobre 2026. Les versions des documents liés et les conditions des fournisseurs peuvent changer. Vérifiez la version actuelle de la source concernée avant toute mise en œuvre.
- Firebase — Accès hors ligne aux données Firestore
- OWASP — Standard de vérification de la sécurité des applications mobiles
Service associé
Découvrir les logiciels sur mesure et les applications mobiles
