Demander l'activation de la propriété via coopérative ou usine dans Seringueiro
Quand la coopérative ou l'usine organise déjà les producteurs, démarrer la propriété dans le bon circuit évite les accès confus et l'historique éclaté.
Quand le réseau disparaît au champ, le vrai risque n’est pas seulement de perdre un signal. Le vrai risque est de perdre la trace du travail déjà fait. Dans Seringueiro, le flux d’activité de terrain a été pensé en mode offline-first, pour que le suivi commence sur place, continue même avec connectivité instable et ne dépende pas d’un retour immédiat au serveur. Choisir le bon contexte avant de démarrer Le flux commence par un bottom sheet simple. Quand l’utilisateur a des modules liés, l’app
Matheus Peguim

Quand le réseau disparaît au champ, le vrai risque n’est pas seulement de perdre un signal. Le vrai risque est de perdre la trace du travail déjà fait. Dans Seringueiro, le flux d’activité de terrain a été pensé en mode offline-first, pour que le suivi commence sur place, continue même avec connectivité instable et ne dépende pas d’un retour immédiat au serveur.
Le flux commence par un bottom sheet simple. Quand l’utilisateur a des modules liés, l’app peut d’abord demander la propriété et le module. Ensuite, elle propose le type d’activité, comme saignée, stimulation ou traitement. Si une collecte ou une livraison éligible existe déjà dans ce périmètre, ces chemins peuvent aussi apparaître au même point du flux.
Avant de lancer le suivi, l’app vérifie aussi le contexte terrain. Si la position est clairement hors propriété, avec plus de 50 mètres d’écart par rapport au périmètre, le démarrage est bloqué. Si la personne est hors module mais encore dans une zone tolérable, l’app affiche un avertissement et demande une confirmation explicite.

Une fois le contexte défini, l’utilisateur choisit le type d’activité puis la table. Le composant de sélection propose des tables de 1 à 10, avec possibilité de partir d’une table suggérée et de la corriger rapidement. Cette étape est simple, mais elle est importante parce qu’elle structure ensuite la lecture de l’activité en cours et du registre final.
Le démarrage demande aussi les autorisations nécessaires pour le suivi en arrière-plan. Sur iOS, l’app peut encore orienter l’utilisateur vers l’activation de la Live Activity. Sur Android, le suivi repose sur un Foreground Service avec notification persistante pour éviter que le système tue le processus pendant le travail au champ.

Dès que l’activité démarre, Seringueiro n’attend pas le cloud pour agir. Chaque point GPS ou changement d’état est sauvegardé d’abord dans le cache local. Sur Android, la collecte principale passe par le service de premier plan avec répétition toutes les 3 minutes. Sur iOS, l’app maintient un flux de position dans le processus principal avec ses propres garde-fous de fréquence.
L’écran d’activité en cours reste minimaliste, avec un grand compteur de durée, la distance parcourue quand elle existe, la table choisie et une alerte légère si la synchronisation est encore en attente. L’idée n’est pas d’afficher une carte compliquée, mais de donner juste assez de signal pour que l’utilisateur sache que le suivi continue vraiment.

Le service de synchronisation ne jette pas tout d’un coup au backend. Il surveille la connectivité et tente de rejouer seulement ce qui manque, en comparant les points déjà envoyés avec le total capturé localement. Quand le document distant existe déjà, il pousse seulement le delta. Quand il n’existe pas encore, il le crée d’abord puis poursuit l’envoi.
Ce détail compte parce qu’il évite deux erreurs chères au terrain, perdre un trajet complet après une coupure ou dupliquer les points après plusieurs tentatives. Si un envoi échoue trop de fois, le service applique encore un backoff au lieu de bloquer toute la file. L’activité n’est retirée du cache local qu’après confirmation de succès total côté Firestore.

Dans Seringueiro, enregistrer une activité de terrain hors ligne consiste à choisir le bon contexte, sélectionner le type et la table, laisser l’app capturer localement les points pendant le travail et attendre que la synchronisation rejoue ensuite ce qui manque quand le réseau revient.
Quand le registre commence au champ et non au retour du signal, le travail reste visible même après une journée instable.
Continuer la lecture