Contexte
Les contrôleurs de train vérifient que chaque voyageur a un titre de transport valide, et régularisent ou verbalisent quand ce n’est pas le cas. Tesmo Contrôle leur donne ces outils directement sur smartphone, avec pour objectif d’équiper à terme près de 4 500 contrôleurs en France.
Le produit est pensé en marque blanche : un même socle doit servir plusieurs transporteurs et autorités organisatrices de la mobilité, chacun avec son identité visuelle, ses règles de gestion et ses parcours.
Ce que fait l’application
- Connexion de l’agent et prise de service, en choisissant un contrôle à quai ou à bord.
- Lecture du titre de transport par code 2D ou NFC, via un lecteur optique ou l’appareil photo du téléphone.
- Interrogation du compte client quand le titre est dématérialisé sur un compte billettique.
- Régularisation ou verbalisation du voyageur, avec encaissement.
- Historique de la journée et fin de service.
Les enjeux techniques
- Un seul code, plusieurs clients : la personnalisation par exploitant (charte, règles métier, parcours) doit rester de la configuration, pas des branches de code qui divergent.
- Du matériel hétérogène : plusieurs modèles d’appareils et de systèmes, avec ou sans lecteur optique, doivent offrir la même expérience.
- La fiabilité sur le terrain : l’application est un outil de travail quotidien, utilisé dans un train, face au voyageur. Une anomalie se voit tout de suite.
Mon rôle
Recruté comme développeur Flutter senior, dans une équipe de 4 développeurs Flutter, 2 développeurs backend et 1 PO, en agile. J’ai mis en place la Clean Architecture de l’application, défini la stratégie de tests, mené les études techniques en amont des développements et participé au développement des écrans.
Mon périmètre s’est ensuite élargi au backend : développement de services en TypeScript sur AWS, suivi de la production et de son monitoring, analyse des anomalies remontées du terrain. J’assure aussi la revue des merge requests et l’accompagnement des nouveaux arrivants, et j’ai contribué à faire évoluer les pratiques de l’équipe, notamment dans l’usage des outils d’IA pour le développement.
Apport
Je m’intègre à une équipe existante, je monte en charge en quelques jours, et je contribue autant à la qualité collective (revues, tests, architecture) qu’à mes propres tickets. Sur la durée, je prends en charge toute la chaîne, de l’écran mobile jusqu’à la production.
Stack
- Flutter
- Dart
- Clean Architecture
- Tests automatisés
- AWS
- TypeScript
- CI/CD
- Marque blanche

