É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
Trois écrans de l'app passager d'Urban Driver : le choix d'un aéroport comme point de départ, l'accueil avec le trajet Orly – Montparnasse sur la carte, et le suivi du vol.

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

  1. RéservationTrajet, date et heure, sur la carte
  2. PrixTarif fixe calculé à l'instant par l'API d'Urban Driver
  3. ConfirmationRécapitulatif complet avant validation
  4. 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.

Parlez-nous de votre application.

Envoyez-nous vos maquettes, ou décrivez votre projet si vous n'en avez pas encore. Nous vous répondons sous 48 h avec ce que contiendrait votre premier sprint.

Envoyer mon projet