Agritech & Fintech Rural : Construire des applications qui survivent sans 4G

La sortie de piste du premier déploiement
J'ai vu ça tellement de fois que c'est presque comique. Une jeune boîte malienne convainc un bailleur, lève de l'argent sur une promesse d'inclusion financière pour les agriculteurs de Ségou ou de Sikasso. L'équipe débarque sur le terrain, fière d'elle. Le téléphone sort. L'application ne charge pas.
Pas d'erreur de serveur. L'API tourne. Le code est propre. Mais personne n't avait testé l'app sur un réseau Edge à 15 kbps.
C'est ça le problème invisible quand on développe depuis ACI 2000 avec une connexion fibre.
Ce que 40 kbps fait réellement à votre appli
Une app React Native standard, c'est souvent 4 à 7 Mo de JavaScript qui se téléchargent au démarrage. Elle vérifie l'état du serveur avant d'afficher quoi que ce soit. À Bamako, ça prend une demi-seconde. Entre Koutiala et Yorosso, le réseau Edge oscille. Parfois il passe à 20 kbps, parfois il disparaît complètement pendant deux minutes.
L'app bloque. Écran blanc. Spinner infini.
L'agriculteur ferme. Il ne reviendra pas. Et franchement, on ne peut pas lui reprocher.
La seule approche qui marche : ne pas avoir besoin du réseau
On l'appelle Offline-First, et c'est exactement ce que ça dit. L'app stocke tout localement — les saisies, les transactions, les photos de récolte — directement sur le téléphone. SQLite pour Flutter, IndexedDB pour les PWA. Rien ne passe par un serveur tant qu'on ne l'y invite pas.
La synchronisation arrive après. Pas en continu. Quand le téléphone capte du réseau, un processus en arrière-plan balance silencieusement le cache vers le serveur central. L'utilisateur ne voit rien, ne fait rien. C'est transparent.
Et dans les zones où le signal ne remonte vraiment pas ? On intègre un fallback USSD ou un bot WhatsApp texte ultra-léger. Oui, c'est laid. Mais ça tourne sur le vieux Nokia de l'agent de terrain, et c'est ça qui compte.
Le vrai travail caché derrière cette architecture
Voilà le truc que les agences externe oublient : construire Offline-First en vrai, ce n'est pas juste brancher SQLite. Il faut décider quoi faire quand deux utilisateurs modifient le même enregistrement sans connexion — les fameux conflits de synchronisation. Il faut gérer des queues de données, prioriser ce qui part en premier au retour du réseau, et tenir compte du fait que les téléphones d'entrée de gamme ont souvent moins de 2 Go de stockage libre.
On a résolu ces problèmes parce qu'on les a rencontrés. Pas en théorie.