Misy
Une plateforme de réservation VTC conçue, lancée et exploitée de bout en bout
Deux applications mobiles, une réservation web, un back-office d’exploitation, un moteur d’attribution temps réel et l’infrastructure qui fait tourner l’ensemble en production.
- Secteur
- Mobilité, transport de personnes
- Lieu
- Antananarivo, Madagascar
- Mon rôle
- Conception produit, développement, infrastructure, exploitation
- Durée
- Lancement en 2023, en production et en évolution continue
Contexte
Misy est un service de réservation de véhicules avec chauffeur qui opère à Antananarivo. Le marché local se partageait entre les taxis de rue, sans prix affiché à l’avance, et la mise en relation par téléphone ou par messagerie. Il n’existait pas d’outil qui donne au passager un prix connu avant de monter et à l’exploitant une vision de sa flotte.
Je suis co-fondateur du service. Cette position change la nature du travail : je ne livre pas un cahier des charges, j’exploite tous les jours ce que j’ai construit, et j’en supporte les conséquences quand une décision technique est mauvaise.
Le problème
Une plateforme de mobilité n’est pas une application, c’en est quatre qui doivent rester cohérentes en permanence.
- Le passager veut un prix ferme, une prise en charge rapide et savoir où en est son chauffeur.
- Le chauffeur veut recevoir des courses pertinentes, sans être noyé de notifications inutiles, et suivre ses gains.
- L’exploitant veut voir la flotte en direct, arbitrer les litiges, valider les documents réglementaires et sortir sa comptabilité.
- L’attribution d’une course doit désigner un chauffeur en quelques secondes, sans jamais donner la même course à deux personnes, y compris quand le réseau mobile est instable.
Cette dernière contrainte structure tout le reste. Une attribution qui se duplique sous forte charge, et c’est le service qui perd sa crédibilité en une journée.
Ce que j’ai construit
Application passager (Flutter, iOS et Android). Estimation du prix avant commande, choix du type de véhicule, suivi du chauffeur sur la carte, paiement en espèces ou par porte-monnaie interne, historique et reçus. Une version web de la réservation couvre les usages depuis un ordinateur, sans installation.
Application chauffeur (Flutter, iOS et Android). Réception des courses, mode en ligne et hors ligne, navigation, encaissement, suivi des gains journaliers, gestion des documents obligatoires avec date d’expiration.
Moteur d’attribution (Go). Le service écoute les demandes de course, sélectionne les chauffeurs éligibles par proximité et disponibilité, puis attribue la course dans une transaction atomique. Un verrou empêche qu’une course parte deux fois. La reprise après incident est gérée : une demande sans réponse est réémise plutôt que perdue.
Service temps réel (Node.js, WebSocket, Redis). Diffusion des positions des véhicules et des changements d’état vers les applications et le back-office, sans que chaque client interroge la base en boucle.
Back-office d’exploitation (Laravel). Cartographie de la flotte en direct, gestion des chauffeurs et de leurs pièces, tarification par zone et par type de véhicule, traitement des litiges, exports comptables et rapports d’activité.
Infrastructure. Serveur OVH sous Ubuntu, Nginx en frontal, certificats Let’s Encrypt renouvelés automatiquement, séparation des environnements, sauvegardes, supervision des erreurs par Crashlytics et suivi d’usage par Analytics. Les paramètres sensibles passent par Remote Config, ce qui permet de corriger un comportement sans publier une nouvelle version.
Publication sur les stores. Comptes développeur, fiches, captures, politiques de confidentialité, conformité aux règles de localisation en arrière-plan pour l’application chauffeur, gestion des versions et des rejets. Les deux applications sont publiées sur l’App Store et Google Play.
Acquisition et fidélisation. Campagnes Meta et Google Ads, programme de parrainage avec code personnel côté passager et côté chauffeur, séquences d’emailing, suivi des installations et des premières courses.
Résultats
La plateforme est en production et en exploitation quotidienne. Les applications passager et chauffeur sont publiées sur les deux stores et suivent un rythme de mises à jour régulier, chacune ayant dépassé la centaine de versions livrées depuis le début du projet.
Ce que ce projet démontre
Un prestataire peut savoir écrire du code sans jamais avoir eu à tenir un service en production. Ici, les deux se rejoignent : la conception, la mise en ligne, la surveillance, les incidents, les mises à jour de stores, les campagnes d’acquisition et le support. C’est ce qui me permet de dire à un client ce qui va coûter cher dans six mois, pas seulement ce qui est réalisable aujourd’hui.
Stack technique
- Flutter (passager, chauffeur, administration, réservation web)
- Firebase Auth, Realtime Database, Cloud Messaging, Storage
- Firestore et Cloud Functions
- Service d’attribution en Go
- Service temps réel Node.js, WebSocket et Redis
- Back-office Laravel 9, PHP 8
- Google Maps Platform
- VPS OVH sous Ubuntu, Nginx, Let’s Encrypt
- Crashlytics, Analytics, Remote Config
Étude de cas suivante
Un site et une visibilité locale pour un DJ de mariage
DJ Mélo — Rakoto Service