Mode hors-ligne — comment ça marche
File d'attente des mutations, synchronisation au retour réseau et résolution des conflits.
Mis à jour le 26 avril 2026
Vos équipes terrain travaillent souvent dans des zones sans réseau : sous-sols, sites isolés, intérieurs métalliques. L'app Compagnon est conçue pour fonctionner complètement hors-ligne et synchroniser tout au retour de la connexion.
Ce qui marche hors-ligne
| Action | Hors-ligne | Synchronisée à la reconnexion |
|---|---|---|
| Voir la tournée du jour (chargée avant) | Oui | — |
| Voir une session OPEN et ses entrées | Oui | — |
| Saisir une nouvelle entrée de déchets | Oui | Oui |
| Prendre des photos horodatées | Oui | Oui |
| Confirmer arrivée sur site (IN_PROGRESS) | Oui | Oui |
| Signer un BSD (chauffeur + client) | Oui | Oui |
| Émettre un BSD côté TrackDéchets | Non | Oui (différé) |
| Recevoir une nouvelle assignation | Non | Oui (au retour) |
| Recevoir une notification push | Non | Oui (au retour) |
Comment ça marche
L'app maintient une file d'attente locale (mutation queue) stockée dans un SQLite
embarqué. Chaque action utilisateur crée une mutation typée (waste_entry_create,
pickup_confirm, session_report, etc.) qui :
- Est appliquée immédiatement dans le cache local (UI optimiste)
- Est ajoutée à la file d'attente persistante
- Est rejouée vers l'API dès que le réseau revient
Tant qu'une mutation est en attente, un badge "synchronisation en cours" apparaît en haut de l'écran de session. Au retour réseau, l'app rejoue les mutations dans l'ordre chronologique.
Synchronisation automatique
L'app déclenche une synchronisation à :
- L'ouverture de l'app (cold start)
- Chaque retour au foreground (app rouverte depuis l'arrière-plan)
- Chaque retour de connectivité (sortie d'une zone blanche)
Aucune action manuelle n'est nécessaire en temps normal.
Photos hors-ligne
Les photos prises hors-ligne sont :
- Stockées en local sur le téléphone (chiffrées via le système)
- Horodatées avec le timestamp du téléphone (utilisez l'heure réseau si possible — paramètres système)
- Géolocalisées si la permission a été accordée
- Téléversées dès que le réseau revient
Si le téléphone tombe en panne ou est perdu avant la synchronisation, les photos non synchronisées sont perdues. C'est pourquoi nous recommandons une synchronisation régulière (au moins en fin de demi-journée).
Résolution des conflits
Quand l'app rejoue ses mutations, certaines peuvent échouer :
| Cause | Symptôme | Résolution |
|---|---|---|
| Demande annulée pendant la coupure | "Demande introuvable" sur l'entrée | L'entrée est supprimée, prévenir l'admin |
| Session fermée pendant la coupure | "Session fermée" | Demander la réouverture à l'admin |
| BSD déjà signé côté exutoire | "BSD verrouillé" | L'historique TD prévaut, on n'écrase pas |
| Quota dépassé entre temps | "Quota plan dépassé" | Voir comprendre les quotas |
Les mutations en échec apparaissent dans la liste des erreurs de synchro (en haut de l'écran). Le technicien peut les réessayer manuellement ou les supprimer si elles ne sont plus pertinentes.
Bonnes pratiques
- Synchronisez au moins une fois par demi-journée (matin avant départ, midi au déjeuner, soir au retour)
- Vérifiez le compteur "synchronisations en attente" avant de fermer l'app pour la journée — si le badge est rouge, attendez ou forcez la synchro depuis le menu
- Rangez le téléphone chargé — un téléphone éteint pendant 3 jours dans une cabine de camion ne synchronisera rien
- En cas d'erreur récurrente sur une mutation, prenez une capture d'écran et envoyez-la au support : c'est souvent un cas limite
Et après ?
Vous êtes bloqué ? Écrivez-nous à support@trdc.cloud — engagement Standard : réponse sous 4h ouvrées (lun-ven 9h-18h CET). Enterprise : sous 1h ouvrées (8h-20h CET).