← All experience - back to the timeline
Lead Front-End Developer

Application web pour les villes et les réseaux de transport

Hove · janv. 2023 – oct. 2023

Développement d'une application web pour faciliter les transports urbains, vendue aux villes et aux réseaux de transport en marque blanche.

  • Création d'une architecture moderne pour refaire en React/TypeScript une application web PHP/jQuery
  • Mise en place d'un build « tout-en-un » contenant les données de tous les clients, permettant de passer d'un client à l'autre sans redémarrer l'application (pour faciliter la recette)
JavaScript · React · ReactNative · React Native Web · TypeScript · Git · Lead · Mobile · Maps · Location · Jawg
Lead Front-End Developer
Hove

Application iOS / Android pour les villes et les réseaux de transport

Hove · 2019 – 2022
Application de transport en marque blanche créée pour les villes, puis déployée sur 20 réseaux clients. Rappelé un an plus tard par le CTO pour la sauver : reconstruite avec une équipe réduite et expérimentée, produit stabilisé, recette multi-clients et livraisons automatisées avec Jenkins et des tests end-to-end Detox - une seule passe de recette suffit, l'app changeant de réseau client de l'intérieur. Application rendue pleinement accessible, validée par une association d'usagers en situation de handicap.

Un an après la fin de ma première mission chez Hove, le CTO m'a rappelé : l'application que j'avais créée avait besoin d'être sauvée. L'équipe était montée à dix et le produit était devenu fragile — mon travail a consisté à resserrer les deux. J'ai reconstitué une équipe plus petite et expérimentée, stabilisé l'application et simplifié le code accumulé.

Le gain le plus fort a été opérationnel. Livrer une modification coûtait auparavant des jours par réseau client — builds, installations, recette pour chaque déclinaison. Cette deuxième phase a poussé l'automatisation Fastlane vers un build « tout-en-un » embarquant les données de tous les clients : la recette change de réseau depuis l'application, sans reconstruire. Intégrer une modification, recette comprise, est passé de plusieurs jours à quelques heures, et les livraisons sont devenues affaire d'un clic.

Sous le capot, le travail produit a continué : animations soignées pour les appareils d'entrée de gamme, code natif et ponts pour les deux plateformes, plusieurs montées de version de React Native — et l'application a été portée sur le web avec React Native Web.

Réseaux desservis
900M+
Trajets / an
TCL · Ilévia · TBM (données publiques)
Voyageurs desservis
4M+
Devs encadrés
10
montée jusqu'à 10, puis équipe reconstruite plus petite et expérimentée
Pour les builds, la recette et les livraisons
1 clic
une journée entière auparavant : builds, installations et recette par réseau client
React Native · React Native Web · Accessibility · Detox · Jenkins · Fastlane · Flow · JavaScript · React · iOS · Android · Git · Lead · Mobile · Maps · Location · Apple Maps · Google Maps · Testing · Jest · Detox · Storybook · Jenkins · Fastlane
Lead Front-End Developer

Application iOS / Android pour les villes et les réseaux de transport

Hove · mars 2017 – juin 2018

L'application de transport en marque blanche pour les villes et les réseaux de transport commence ici : j'ai conçu l'architecture de la base de code React Native pour iOS et Android, développé la moitié de l'application moi-même et construit l'équipe autour. La plupart des développeurs découvraient le JavaScript moderne, React et React Native : la formation faisait partie de la mission dès le premier jour — revues de code quotidiennes, et un filet de sécurité posé tôt : Flow pour le typage statique, Jest avec des snapshots Storybook pour le quotidien, des tests end-to-end Detox exécutés sur un Jenkins local.

La marque blanche est la contrainte structurante : chaque réseau client reçoit sa propre déclinaison de l'application, personnalisée depuis une interface d'administration dédiée, avec des builds par client automatisés par un script maison au-dessus de Fastlane.

Le reste, c'était le quotidien de React Native à l'échelle : des animations soignées qui devaient rester fluides sur des appareils d'entrée de gamme, des maquettes Photoshop transformées en composants avec tous les cas qu'un visuel figé n'anticipe jamais, du code natif et des ponts pour les deux plateformes, et un .xcodeproj lié à la main, migré vers Cocoapods pour que les montées de version de React Native — plusieurs sur la mission — cessent de faire mal. Le tout à distance, en encadrant des développeurs aux profils et aux niveaux très différents.

JavaScript · React · ReactNative · Flow · iOS · Android · Git · Lead · Mobile · Maps · Location · Apple Maps · Google Maps · Testing · Jest · Detox · Storybook · Jenkins · Fastlane