“Flutter, un atout performance et frugalité pour SNCF Connect”
Adopté dès 2020 pour développer SNCF Connect, le framework Flutter s’est imposé comme un levier stratégique pour accélérer la livraison, mutualiser le code et optimiser l’expérience utilisateur. Un pari audacieux, devenu un choix structurant. Explications.

Nouveau design, nouvelles fonctionnalités, nouvelle appli : le lancement du site et de l’application SNCF Connect a été un big bang en 2022. L’un des secrets de sa conception ? De nombreuses innovations techniques ont été embarquées dans SNCF Connect, avec des solutions repensées à l’état de l’art. Un de ces choix techniques forts des équipes SNCF Connect & Tech : miser sur le framework Flutter, alors encore émergent, pour tout construire plus vite et mieux. Retour d’expérience avec François Nollen, Staff Engineer au sein de SNCF Connect & Tech, qui a accompagné ce chantier.
Pouvez-vous vous présenter et nous dire quel est votre rôle chez SNCF Connect & Tech ?
Je suis arrivé en 2013 chez SNCF Connect & Tech, où j’occupe désormais un poste de staff engineer. Je travaille avec l’ensemble des équipes tech sur des sujets très divers : choix d’architecture, expertises spécifiques, méthodes et outils etc. J’accompagne également les développeurs pour partager leurs expériences avec la communauté. Mon quotidien c’est beaucoup de coordination avec toutes les équipes de l’entreprise, échanger sur le code, faire de la veille, partager les pratiques… tout ce qui contribue à aider les équipes dans leurs missions – y compris embarquer des technologies innovantes comme Flutter !
Justement, pourquoi avoir choisi Flutter pour le développement de SNCF Connect ?
Fin 2020, nous avions l’ambition de construire toute l’application SNCF Connect "from scratch" en seulement un an. Nous avons testé plusieurs solutions « cross-platform » pour accélérer nos développements tout en améliorant la qualité de l’app pour les utilisateurs. Lors de nos tests, Flutter s’est imposé face à React Native et Kotlin Multiplatform, notamment grâce à ses performances, une courbe d’apprentissage rapide, la qualité de l’outillage et une communauté très dynamique. Le pari était audacieux car Flutter était une technologie encore jeune. Mais elle a tenu toutes ses promesses : les équipes l’ont très vite adoptée, une grande partie du code mobile factorisée, un très bon retour des équipes… et surtout un produit livré à temps !
Qu’entendez-vous par code factorisé ?
C’est très simple : avant, pour proposer une appli iOS et une appli Android, ou pour une nouvelle fonctionnalité, on devait écrire deux fois le code dans deux langages différents. Nous avions plusieurs équipes dédiées, il fallait davantage d’efforts et se synchroniser pour lancer une fonctionnalité en même temps sur deux plateformes. Avec Flutter, 90 % de notre code mobile est mutualisé : on écrit un seul code qui fonctionne pour les deux plateformes - « write once, run everywhere ». On va plus vite et on fait moins d’erreurs. Même après le lancement de SNCF Connect, cela nous a permis de proposer chaque semaine de nouvelles fonctionnalités aux utilisateurs. En produisant et maintenant moins de code, on ne gagne pas que du temps, on économise aussi des ressources : moins d’efforts, de tests, d’infrastructures, plus d’efficacité pour créer de la valeur.
Comment Flutter s’intègre-t-il aujourd’hui dans vos processus ?
Flutter est devenu un socle applicatif central pour les équipes. Sur SNCF Connect, il permet d’apporter plus de fonctionnalités rapidement en production, avec un haut niveau de performance pour les utilisateurs et une expérience cohérente entre iOS et Android. Avec environ 150 écrans au total, SNCF Connect est l’une des plus grosses applications Flutter en Europe. Et le framework ne cesse d’évoluer et s’étendre à d’autres plateformes : depuis deux ans, nos équipes utilisent aussi d’autres facettes du framework, comme Flutter Web pour construire des outils internes et d’autres projets métier.
Quels sont les bénéfices concrets pour vos équipes et vos utilisateurs ?
Pour les équipes le gain est particulièrement visible. Flutter a su convaincre tous les profils même les plus expérimentés et les plus attachés à telle ou telle plateforme. Plus étonnant : des développeurs « back-end » ont aussi été attirés par Flutter et ont choisi de basculer sur le développement mobile ! C’est un framework moderne, performant, ouvert (Open Source) avec une communauté accueillante et très active. Le support des équipes Google et l’ensemble de la communauté Flutter ont été un atout clef pour créer SNCF Connect et continuer d’innover pour enrichir l’application depuis son lancement. Nos équipes ont d’ailleurs pris l’habitude de participer aux événements de cette communauté et de partager retours d’expérience, trouvailles, même du code créé en interne lors de meetups, de conférences internationales et à travers des articles publiés sur notre blog technique, pour que l’innovation soit accessible à tous.
Pour les utilisateurs, même sans savoir ce qui se passe sous le capot, le gain est double : davantage de fonctionnalités des mises à jour très régulières, une expérience fluide et performante sur un maximum de terminaux avec une application de plus en plus économe. On travaille activement cet aspect en optimisant l’application pour les appareils anciens ou moins performants, ou dans des conditions particulières (batterie faible, réseau instable). Par exemple, on peut réduire les animations, la précision de la géolocalisation, etc. En ajustant les bons paramètres pour chaque device, on peut à la fois limiter la consommation et améliorer l’expérience pour l’utilisateur.
Cette approche “low tech” est-elle amenée à se développer ?
Elle devrait ! Le numérique a aussi une empreinte environnementale, en particulier les terminaux mobiles couteux à produire et qu’on remplace trop souvent. Flutter nous permet de développer plus de fonctionnalités avec moins de code. Pour aller plus loin, on essaie de réduire la consommation des apps sur les terminaux utilisateurs. Nous sommes convaincus que cette approche a de l’avenir pour améliorer l’expérience et la consommation des apps, et pas seulement SNCF Connect. A grande échelle, même des optimisations simples peuvent avoir un effet. C’est pourquoi nous avons créé un plugin Flutter Eco Mode que nous partageons en Open Source avec la communauté Flutter. Partager du code et rendre l’innovation accessible à tous, c’est aussi une bonne manière d’avancer.
Nos actualités
L'écoute collaborateurs, un levier de performance durable
Depuis plus de dix ans, SNCF Connect & Tech mesure et analyse l’expérience de ses collaborateurs pour améliorer leur quotidien.
« La data nourrit les réflexions et guide la prise de décision »
À la tête du pôle Connaissance Client & Digital Analytics, Virginie Lajarriges explique comment la data s’intègre...
Métropoles connectées : orchestrer la complexité des mobilités de demain
Accélération des mobilités, explosion des offres, attentes citoyennes : les métropoles doivent repenser leur stratégie...