Étude de cas · 2022
Les deux applications d'Urban Driver, le taxi-moto parisien : une pour les passagers, une pour les chauffeurs.
- 2 applicationsl'une pour réserver une course, l'autre pour l'assurer
- iOS et Androidpubliées sur l'App Store et Google Play
- 1 base de codeFlutter commune aux deux applications

Contexte
Urban Driver propose des courses en taxi-moto à Paris et en Île-de-France : des transferts vers les aéroports et les gares, ou d'un point à l'autre de la ville, assurés par des pilotes professionnels, à un prix fixe connu dès la réservation.
Une première version de l'application était déjà sur les stores. Début 2022, les deux associés d'Urban Driver nous ont confié le développement de la V2. Une course met en relation deux personnes : le passager qui réserve, et le chauffeur qui vient le chercher. Le produit, ce sont donc deux applications qui doivent fonctionner ensemble.
Enjeux
Une réservation en trois gestes
Le passager saisit son trajet, connaît son prix et confirme sa course, sur iPhone comme sur Android. Chaque écran de trop, c'est une course qui part ailleurs.
Un prix exact, pas une estimation
Les tarifs d'Urban Driver sont fixes et annoncés à l'avance. Le prix affiché dans l'application devait être celui que calculent les règles tarifaires du service.
Un chauffeur localisé en permanence
Pendant son service, la position du chauffeur doit rester à jour, y compris quand l'application n'est pas à l'écran. La localisation en arrière-plan est l'une des fonctions les plus encadrées par Apple et Google, sur la batterie comme sur la validation des stores.
Deux applications, deux plateformes
Une app passager et une app chauffeur, chacune sur iOS et sur Android : quatre applications à développer, à faire valider et à publier.
Notre approche
Une base de code commune aux deux applications
Plutôt que deux projets séparés, nous avons développé les apps passager et chauffeur en Flutter, autour d'une bibliothèque partagée. Le code commun n'est écrit qu'une fois, et une même base produit les quatre applications : passager et chauffeur, sur iOS et sur Android.
Côté passager, une réservation en trois étapes
Après une inscription rapide, le passager indique son trajet, sa date et son heure. L'application interroge l'API d'Urban Driver, qui calcule immédiatement le tarif fixe, puis affiche un récapitulatif complet avant confirmation. Pour un transfert vers ou depuis l'aéroport, le passager saisit son numéro de vol, et l'heure de prise en charge suit l'avance ou le retard de l'avion.
Une carte au cœur du parcours
La réservation se fait sur une carte dynamique, avec le tracé de l'itinéraire : le passager visualise le trajet de sa course.
Côté chauffeur, la position suivie en arrière-plan
L'app chauffeur suit la géolocalisation en continu pendant le service, même quand le téléphone est en poche ou qu'une autre application est ouverte. Les notifications push, via Firebase, préviennent le chauffeur des nouvelles courses.
Une course, des deux côtés
- RéservationTrajet, date et heure, sur la carte
- PrixTarif fixe calculé à l'instant par l'API d'Urban Driver
- ConfirmationRécapitulatif complet avant validation
- CourseLe chauffeur prévenu, sa position suivie
Résultats
Les applications passager et chauffeur ont été publiées sur l'App Store et sur Google Play. Urban Driver nous a attribué la note de 5/5 sur Malt, puis est revenu vers nous pour une nouvelle mission consacrée aux évolutions de l'application.
Voir l'app passager sur l'App Store · sur Google Play · Voir l'app chauffeur sur l'App Store
Direction technique : Pierre Martin, fondateur de Highway Studio.