L'usine logicielle de Voyages-SNCF qui concurrence les développeurs indiens

L'usine logicielle de Voyages-SNCF La filiale IT de Voyages-SNCF.com embauche. Son site de Nantes, où sont développés sites et apps mobiles du groupe, rapatrie en France des développements jusqu'ici réalisés en Inde.

C'est dans un quartier d'affaires encore en construction et dans un immeuble pas encore achevé que Voyages-SNCF a installé son nouveau centre de développement. Les équipes de VSCT, filiale technologie de Voyages-SNCF, assurent ici les développements du premier site de vente en ligne français Voyages-SNCF.com, mais aussi ses applications mobiles. Une filiale qui est aussi devenue la "Digital Factory" de la SNCF. En tout, 70 sites et applications mobiles sont développés et maintenus par VSCT et son centre de développement de Nantes. Il comptait 90 personnes il y a un an. Aujourd'hui, il en emploie 140, et les recrutements continuent à un rythme élevé.

L'innovation, une alternative à l'offshore

voyage sncf 1
C'est dans un immeuble pas encore achevé du futur quartier d'affaires Euronantes que Voyages-SNCF Technologies a installé ses développeurs. Un site qui embauche. © Alain Clapaud / JDN

Illustration de cette montée en charge de VSCT, le rachat par Voyages-SNCF des activités de Rail Europe. Suite à l'opération, le site français a rapatrié en France Euronet : la plateforme internationale de vente de billets de train de Rail Europe. Depuis 7 ans, les développements de ce logiciel étaient réalisés en Inde. Ils sont maintenant menés à Nantes. "Si nous avons rapatrié ces développements, c'est pour gagner en agilité et être plus réactifs sur notre cœur d'activité", explique Gilles de Richemond, directeur général de VSCT. "L'offshore, c'est une gestion de projet en cycle en V, avec des délais très longs pour obtenir l'application. Or, avec le digital, tout doit aller beaucoup plus vite et fonctionner sur des boucles courtes entre le métier et la production." Une dizaine de postes ont été créés à l'occasion du rapatriement des développements d'Euronet et une dizaine supplémentaire vont suivre pour assurer la maintenance de l'application. Résultat de cette stratégie "onshore", le cycle de mise à jour de l'application est passé d'un correctif tous les 6/8 mois, à une nouvelle version chaque mois.

Méthodes agiles et Devops, la formule gagnante

Pour accélérer ses développements informatiques, Voyages-SNCF Technologies a adopté Scrum et l'approche agile voici deux ans. Aujourd'hui, l'entreprise passe un nouveau cap avec la mise en place d'une usine logicielle. "Les méthodes agiles, c'est très bien pour travailler avec les métiers mais à côté, nous avons mis en place l'approche Devops pour pouvoir déployer rapidement nos applications. C'est ce continuum qui est le plus intéressant. Tout le volet des tests et recette a été industrialisé et, désormais, les développeurs peuvent eux-mêmes placer les applications en production en toute autonomie, sans que notre qualité de service ne puisse être remise en cause."

voyage sncf 2
Depuis plus de 2 ans, VSCT est adepte des méthodes de développements agiles.  Une approche complétée par Devops pour accélérer encore la livraison des nouvelles versions d'applications © JDN / Alain Clapaud

Pour constituer cette usine logicielle qui permet d'automatiser les phases de test, d'intégration et de validation des applications, Gilles de Richemond mise sur des solutions open source. La plateforme d'intégration continue Jenkins en constitue la base, avec Maven pour automatiser la production du code et SonarQube pour gérer la qualité du code produit par les développeurs. Ceux-ci produisent un code qui est automatiquement compilé et testé toutes les 15 minutes.

Ainsi, en temps presque réel, le développeur sait si le code sur lequel il est en train de travailler passe les tests unitaires sans encombre. Ensuite, à midi et à minuit, les tests d'intégration sont lancés automatiquement. A partir des règles de qualité définies, chaque portion de code est alors notée, et les responsables disposent d'une vision claire sur l'avancement du projet et le niveau de qualité atteint par chaque composant du projet.

Pour automatiser ces tests d'intégration, les ingénieurs de VSCT ont fait le choix de l'outil Cucumber. Il permet de rédiger en langage naturel les scénarios de tests à appliquer sur telle ou telle fonction par exemple. Ces phrases descriptives sont ensuite traduites en code de test, en langage Groovy, puis exécutées via un outil de test classique, Protractor pour les applications ou SoapUI lorsqu'il s'agit de Web Services.

Enfin, pour déployer les environnements de test, les équipes de VSCT utilisent Puppet, et Rundeck pour déployer automatiquement les machines virtuelles. Cette automatisation à outrance permet de pouvoir mettre en production le code produit par les "sprint" de développement toutes les deux semaines.

Une gestion d'équipe par "Feature Team"

voyage sncf 3
Gilles de Richemond, directeur général de Voygaes-SNCF Technologies : "C'est le continuum entre Scrum et Devops qui est intéressant pour déployer rapidement tout en garantissant une qualité de service élevée." © Alain Clapaud / JDN

Autre secret de l'accélération des développements chez Voyages-SNCF Technologies, une gestion d'équipe en rupture avec les habitues des grandes DSI. "Ici, les développeurs ne sont pas que des codeurs", assène Gilles de Richemond. "Ils connaissent bien le métier ferroviaire et c'est toute la différence." En outre, le manager mise sur une approche "Feature Team" pour casser les silos entre experts de chaque domaine : "Nous créons des équipes multicompétences où cohabitent scrum master, développeurs middleware, développeurs mobile, spécialistes du test et architectes. Le but est d'accélérer les processus. Il ne faut surtout pas que lorsque le métier demande une nouvelle fonctionnalité, il perde des semaines à demander à chacun de ses experts de réaliser sa partie. En outre, ces équipes sont bien plus motivantes pour les développeurs qui peuvent avoir envie de s'essayer à d'autres technologies, comme le mobile par exemple. Ainsi, chacun se rend réellement compte du travail de l'autre. C'est aussi ce qui permet d'aller vite : quand un développeur fait une erreur, c'est lui qui la corrige dès le lendemain. Cette organisation est au cœur de notre stratégie."

Cap sur le Big Data

Désormais, c'est aux technologies Big Data que se frotte VSCT. Les équipes nantaises exploitent notamment le moteur de recherche open source ElasticSearch pour l'analyse des données de log générées par le site Voyages-SNCF.com. L'infrastructure peut supporter jusqu'à 150 réservations de billets par minute, et génère une montagne de données. 1 To de fichiers log viennent s'ajouter chaque jour aux données stockées sur les serveurs. Avec la solution ElasticSearch, les ingénieurs de VSCT recherchent les éventuelles anomalies de fonctionnement qui peuvent survenir dans les 13 couches logicielles qui constituent l'architecture de Voyages-SNCF.com. En parallèle, ils ont constitué un cluster Hadoop de 120 nœuds de calcul pour diverses applications. "Aujourd'hui, le message à mes équipes est clair : le stockage des données ne coûte pratiquement plus rien. L'enjeu pour nous est de créer de la donnée en masse, même si on ne sait pas exactement comment nous pourrons l'utiliser. Un jour, nous en auront l'usage !", conclut le responsable.

Serveurs / Big Data