
Misy
Une plateforme VTC complète, développée et exploitée au quotidien
Deux applications mobiles, une réservation web, un back-office, une cartographie auto-hébergée et deux serveurs : toute la chaîne d’une plateforme de mobilité, tenue par une seule personne.


- Secteur
- Mobilité, transport de personnes
- Lieu
- Antananarivo, Madagascar
- Mon rôle
- Co-fondateur. Développement, infrastructure, publication sur les stores, exploitation
- Durée
- En production, mises à jour continues
En chiffres
- de géocodage Google en avril 2026, soit 72 % de la facture cloud
- 536 $de géocodage Google en avril 2026, soit 72 % de la facture cloudSource : facture Google Cloud d’avril 2026.
- appels de géocodage Google sur 30 jours en juillet 2026, après la bascule
- 49appels de géocodage Google sur 30 jours en juillet 2026, après la bascule
- points GPS enregistrés, zéro rejeté, sur la première course guidée
- 942points GPS enregistrés, zéro rejeté, sur la première course guidéeNavigation maison, 31 juillet 2026.
- pour recalculer l’itinéraire quand le chauffeur sort du tracé
- 178 mspour recalculer l’itinéraire quand le chauffeur sort du tracé
Contexte
Misy est un service de réservation de véhicules avec chauffeur à Antananarivo. Le passager connaît son prix avant de monter, suit son chauffeur sur la carte et paie en espèces ou par mobile money. Le service s’est depuis étendu à Mayotte, avec un tarif réglementé et un paiement en euros.
J’en suis co-fondateur, et je porte l’ensemble de la plateforme : le code des applications, les serveurs, les comptes des stores, les mises à jour et le support. Je ne livre pas un projet pour passer au suivant : j’en supporte les conséquences tous les jours.
Ce que je fais tourner
Deux applications mobiles (Flutter, iOS et Android). Côté passager : choix du véhicule, prix ferme, suivi du chauffeur, paiement Airtel Money, Orange Money, MVola ou espèces, courses programmées, parrainage, six langues. Côté chauffeur : réception des courses, navigation guidée, encaissement, revenus, portefeuille, tendances de la demande par quartier.
Une réservation web pour commander sans installer l’application, et un back-office Laravel pour la flotte en direct, les dossiers chauffeurs, la tarification par zone, les litiges et les rapports.
Deux serveurs OVH sous Ubuntu, administrés de bout en bout : Nginx, certificats, messagerie auto-hébergée, envoi de campagnes, service temps réel en WebSocket, supervision et redémarrage automatique des services qui se figent.
La publication sur les stores. Numéro D-U-N-S, comptes développeur Apple et Google, fiches, formulaires de confidentialité, gestion des refus et des nouvelles règles des stores, envoi des versions en ligne de commande. Les deux applications ont passé la centaine de builds chacune.
Les guides d’utilisation, passager et chauffeur, en ligne sur misy.app et en PDF : captures jouées sur une vraie course de test, pas des maquettes.
Trois décisions qui ont compté
Sortir de Google Maps
En avril 2026, la facture cloud a bondi. En la lisant ligne par ligne, le coupable était clair : le géocodage Google, c’est-à-dire la conversion d’une position en adresse, représentait à lui seul 536 dollars, 72 % du total.
Plutôt que de négocier ou de limiter l’usage, j’ai installé sur un de nos serveurs un moteur de géocodage et un calculateur d’itinéraires open source, alimentés par OpenStreetMap, avec leurs propres fonds de carte. Les adresses sont désormais résolues une seule fois et stockées. En juillet, les applications ne faisaient plus que 49 appels de géocodage Google en trente jours.
La leçon vaut pour n’importe quelle PME : une facture cloud se lit au service près. La deviner coûte plus cher que la mesurer.
Une navigation GPS intégrée à l’application
Les chauffeurs basculaient vers une autre application pour se guider, perdaient l’écran de la course et rataient des informations. J’ai construit une navigation intégrée, avec les itinéraires calculés sur nos serveurs. Sur la première course réelle, 942 positions GPS ont été enregistrées sans un seul rejet, et un changement d’itinéraire se recalcule en 178 millisecondes.
Traquer les courses fantômes
Des passagers commandaient et aucun chauffeur ne recevait la demande. La cause tenait en une ligne : un seul chauffeur dont le GPS ne renvoyait rien faisait échouer le tri de tous les autres. Personne n’était notifié. Le correctif était court ; le trouver demandait de relier les annulations aux journaux des téléphones.
La fraude, sans accuser à tort
Certaines courses sont mises en scène pour toucher des primes. Les signaux sont calculés automatiquement, mais la décision reste humaine : plusieurs chauffeurs d’une même flotte partagent parfois un téléphone, et bloquer sur l’appareil aurait sanctionné des innocents. Le repère d’identité retenu est le numéro de téléphone.
Ce que ce projet démontre
Écrire du code et tenir un service en production sont deux métiers. Ici, c’est la même personne qui publie la version du vendredi, lit la facture du mois, répond au chauffeur bloqué et corrige le plantage remonté par Crashlytics. C’est ce qui me permet de vous dire, avant de commencer, ce qui coûtera cher dans six mois.
En images

Chauffeur en ligne, prêt à recevoir des courses 
Passager : le chauffeur arrive, plaque et véhicule affichés 
Navigation guidée intégrée, sans quitter l’application 
Course en cours vers la destination

Guide chauffeur, 16 pages 
Guide passager, 16 pages
Stack technique
- Flutter : applications passager et chauffeur, iOS et Android
- Firebase : Auth, Firestore, Cloud Functions, Cloud Messaging, Storage
- Back-office Laravel 9, PHP 8
- Temps réel Node.js, WebSocket et Redis
- OSRM, Nominatim et serveur de tuiles auto-hébergés
- 2 VPS OVH sous Ubuntu 24.04, Nginx, Let’s Encrypt
- Messagerie auto-hébergée, Listmonk
- Crashlytics, Analytics, Remote Config
- Airtel Money, Orange Money, MVola
Étude de cas suivante
Zigra, le covoiturage domicile-travail des salariés d’un grand groupe
Zigra