Compagnon· Aide

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

ActionHors-ligneSynchronisée à la reconnexion
Voir la tournée du jour (chargée avant)Oui
Voir une session OPEN et ses entréesOui
Saisir une nouvelle entrée de déchetsOuiOui
Prendre des photos horodatéesOuiOui
Confirmer arrivée sur site (IN_PROGRESS)OuiOui
Signer un BSD (chauffeur + client)OuiOui
Émettre un BSD côté TrackDéchetsNonOui (différé)
Recevoir une nouvelle assignationNonOui (au retour)
Recevoir une notification pushNonOui (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 :

  1. Est appliquée immédiatement dans le cache local (UI optimiste)
  2. Est ajoutée à la file d'attente persistante
  3. 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 :

CauseSymptômeRésolution
Demande annulée pendant la coupure"Demande introuvable" sur l'entréeL'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).