Capitaine Train : concurrencer la SNCF grâce à l'informatique
C'est l'histoire d'une start-up qui entend concurrencer le TGV Voyages-SNCF. Avec pour armes : une ligne directrice fondée sur la simplicité d'usage et une foi en la technologie soigneusement encadrée. L'informatique de Capitaine Train s'appuie en effet sur des procédures très industrialisées orchestrées par Jenkins.
C'est un peu l'histoire de l'autorail qui voulait lutter contre le TGV. Depuis 2011, sans forcément faire trop de bruit, Capitaine Train, une start-up créée par 3 ingénieurs (Jean-Daniel Guyot, Martin Ottenwaelter et Valentin Surrel), a ouvert ses portes aux internautes. Objectif : concurrencer rien moins que Voyages-SNCF, géant du e-commerce français et filiale de distribution multicanale de l'opérateur national du rail. « On s'est lancé en 2009, 2 jours après la décision de l'Autorité de la concurrence obligeant la SNCF à ouvrir son inventaire de billets à d'autres distributeurs », rappelle Valentin Surrel, le directeur général de Capitaine Train, société qui emploie aujourd'hui environ 25 personnes.
Voilà pour l'aspect légal. Juste le début de l'histoire. Car connecter un système de distribution Web à un puis des inventaires d'opérateurs du rail est tout sauf une sinécure. « Au début, on se connectait via des API fournies par VSCT (Voyages-SNCF Technologies, la filiale technologique de la SNCF travaillant à la fois pour Voyages-SNCF et pour la DSI de la direction voyageurs de l'opérateur, NDLR). Un distributeur ne peut se connecter directement à Résarail, l'application de gestion d'inventaires de la SNCF », explique le jeune dirigeant qui précise que les requêtes de Capitaine Train doivent aujourd'hui rebondir par un moteur de réservation (GDS). S'il assure avoir trouvé un support satisfaisant auprès de VSCT, Valentin Surrel n'en souligne pas moins les difficultés du processus : « Une fois les agréments obtenus, nous avons appris à apprivoiser le fonctionnement de Résarail. Nous avons mis in fine plus de deux ans à sortir notre solution ». En 2011, Capitaine Train dévoile une version bêta : l'accès est alors limité aux inscrits.
Trajets + tarifs : les combinatoires explosent
Depuis, le site a bien grandi, ajoutant les inventaires de IDTGV, IDBus, Thello (trains de nuit), Ouigo (TGV low cost) et de la Deutsche Bahn à ceux présents dans Résarail. « On est en train de créer un GDS du rail », glisse Valentin Surrel. Avec toujours les mêmes idées directrices : un support irréprochable et une expérience utilisateur fluide, masquant la complexité inhérente aux grilles de tarifs des opérateurs du rail. « Par exemple, pour un trajet Paris-Munich, on va interroger plusieurs fois l'inventaire SNCF et l'inventaire Deutsche Bahn. Seuls les résultats pertinents seront affichés », explique le co-fondateur. Une mécanique qui s'appuie sur des développements maison : le moteur d'itinéraire et l'algorithme permettant de combiner intelligemment les résultats. « A l'algorithme, on présente le graphe du réseau bâti à partir des données de référence que nous collectons et agrégeons. Pour chaque couple origine-destination, l'algorithme traite une combinatoire de trajets, mais aussi de tarifs. Le nombre de combinaisons possibles est juste délirant ! ». Pourtant, Valentin Surrel assure que le temps de réponse de cette brique technologique reste infime.
Si Capitaine Train est parvenu à encaisser la complexité inhérente à la distribution ferroviaire (inventaires multiples, tarifications kafkaïennes.) en finalement peu de temps, c'est probablement parce que la start-up a, dès le début, massivement industrialisé sa production informatique. Ancien développeur chez Capgemini passé par la DSI de Renault, Valentin Surrel connaît les lourdeurs de l'informatique des grandes entreprises. Mais aussi ses atouts. « Dès le premier jour de Capitaine Train, nous avons voulu concilier le meilleur des start-up et des grandes DSI : l'agilité sans anarchie, l'industrialisation sans immobilisme ».
Le Cloud ? « Le mainframe de demain »
Sur ses cinq briques technologiques, la jeune société travaille ainsi avec des montées de versions permanentes. « Chaque jour, chacune de ces technologies peut connaître une nouvelle mise en production : dès que le code est testé avec succès, une seule commande suffit à déployer la nouvelle version », détaille le dirigeant. L'ensemble est basé sur des outils Open Source, à commencer par l'outil d'intégration continue Jenkins, qui sert d'orchestrateur dans cette solution industrielle couvrant la livraison de code, les tests, l'intégration et le déploiement. « Je ne comprends même pas qu'on puisse gérer sa production autrement qu'avec des outils Open Source, dont le code est accessible », tranche le jeune ingénieur, qui a quelques idées bien arrêtées sur la gestion de l'IT.
Des idées parfois à rebrousse-poil des tendances du marché. Prenez le Cloud par exemple. « C'est le mainframe de demain, sourit Valentin Surrel. Dans le Cloud, on achète de la simplicité, mais on ne maîtrise plus ses briques technologiques ». Capitaine Train a choisi un hébergeur (OVH), lui fournissant électricité, froid et connectivité réseau, mais gère ses serveurs en direct. Même pour encaisser les pics de charge, le Cloud ne trouve pas grâce aux yeux du directeur général. Qui dit : « c'est une mauvaise réponse à un bon problème. Car avec les architectures disponibles aujourd'hui, saturer les machines est le signe d'algorithmes peu performants, de problèmes d'allocation mémoire. Chez Capitaine Train, nous ne montons pas en performances en ajoutant des machines mais en garantissant la qualité du code. » Pour l'instant, l'architecture de l'application fonctionne avec 3 serveurs d'applications et un serveur SQL. Pour un maximum de 300 utilisateurs simultanés (Capitaine Train s'efforçant de raccourcir les durées de connexion en simplifiant l'expérience utilisateur) et près de 4 000 billets vendus par jour. « Et on peut multiplier le trafic par 10 ou par 20 sans rien changer à cette infrastructure », assure Valentin Surrel.
Lire aussi : Les 13 travaux numériques de la SNCF
Développeur, ce métier d'artisan
S'il est vrai que Capitaine Train est aidé en la matière par ses choix assez radicaux (zéro publicité, une offre limitée au train, une volonté d'accélérer le processus de réservation de billets), l'approche défendue par Valentin Surrel n'en est pas moins révélatrice d'une société qui cherche à valoriser ses profils de développeurs. « C'est un métier d'artisan. Chaque commit est un produit unique », défend Valentin Surrel, qui a commencé sa carrière comme développeur puis analyste logiciel. Chez Capitaine Train, chaque livraison de code (ou commit) est revue par un développeur n'ayant pas participé à la conception, avant d'être intégrée à Git (outil de gestion de versions). « A chaque fois, il existe probablement 50 manières de coder une même fonctionnalité. Avec des impacts énormes sur la facilité à maintenir le code par la suite », précise Valentin Surrel. Selon lui, un développeur arrivant au sein de la société met 3 mois avant de se familiariser aux méthodes maison et d'être réellement productif. Un employé sur deux de Capitaine Train a aujourd'hui un profil technique, l'autre contingent de poids venant des équipes chargées du support (appelés en interne 'ingénieurs waou').
Encaissant plusieurs millions d'euros par mois pour la SNCF (sur lesquels la start-up prélève des commissions, son unique modèle économique), Capitaine Train est aujourd'hui positionné sur un marché gigantesque. « En 2013, on estime que Voyages-SNCF a vendu pour 4 milliards d'euros de billets de train. Si nous parvenions à conquérir ne serait-ce que 10 % de ce marché, ce serait déjà un succès considérable », dit le co-fondateur. D'autant que, en parallèle, la start-up entend se développer sur de nouveaux marchés, en Europe, via l'accès à d'autres inventaires. Même si ce processus est par essence assez long : « chaque opérateur du rail possède ses API propres, sans oublier les complexités inhérentes à sa tarification ». L'intégration d'un nouvel inventaire demande donc environ 6 mois de travail aux équipes techniques. En parallèle, Capitaine Train s'est ouvert à la mobilité, avec des applications dédiées (iOS et Android). Et la start-up vient également de publier une application pour la montre connectée Android, une app centrée sur la simplification du voyage (informations de voyage, affichage du code-barres du billet).
A lire aussi :
Sur le même thème
Voir tous les articles Cloud