Aller au contenu
Business Agile
← Réalisations
API · Transport ferroviaire, grand compte · 2020-2024

SNCF

Technical lead back-end et DevOps dans une équipe de données ferroviaires.

En chiffres

durée de la mission2020 à 2024
microservices dans la plateforme~10
déploiement de chaque service, piloté par HelmKubernetes

De septembre 2020 à septembre 2023, j'ai travaillé pour SNCF Réseau au sein d'une équipe qui construit des outils numériques pour l'exploitation du réseau ferré. Le contexte : une plateforme de données ferroviaires composée d'une dizaine de microservices, développée par une grande équipe mixte réunissant des salariés, des indépendants et des consultants de plusieurs cabinets. Il s'agit d'une mission au sein d'une équipe client, pas d'un produit Business Agile, et les services décrits ici ont été construits à plusieurs.

Le projet en détail

J'y intervenais comme technical lead, sur le back-end Python et avec une forte composante DevOps. J'ai développé des API REST en Django et Django REST Framework, dont une partie sur des données géographiques du réseau, stockées dans PostGIS et manipulées avec GeoDjango. J'ai aussi écrit des traitements asynchrones avec Celery et Redis, et sécurisé des points d'accès entre services.

Tous les services de l'équipe partaient d'un gabarit de projet commun. Je l'ai fait évoluer : passage à Django 4, hooks de qualité exécutés dès la génération d'un nouveau service, séparation des réglages de déploiement et d'intégration continue. Une amélioration apportée au gabarit profitait ainsi à chaque nouveau service.

L'essentiel de ma contribution tenait à l'industrialisation : pipelines GitLab CI organisés en étapes de tests, images Docker réorganisées, déploiements Kubernetes pilotés par Helm, gestion des secrets et suivi des erreurs avec Sentry. J'ai également installé l'outillage de qualité (pytest et mesure de couverture, Black, isort, Flake8, mypy) pour que chaque service réponde aux mêmes exigences avant d'être livré.

Le travail au quotidien suivait un cadre précis : un ticket par évolution, une branche par ticket, une merge request relue par un autre membre de l'équipe, puis un déploiement automatique sur les environnements de recette avant la production. Les données géographiques demandaient une attention particulière aux performances des requêtes spatiales et au volume des tables, que l'équipe traitait par partitionnement et par tâches asynchrones.

La collaboration s'est poursuivie au-delà de cette mission : de septembre 2023 à octobre 2024, je suis intervenu auprès du Groupe SNCF sur le partenariat et le financement de l'innovation ferroviaire, une mission sans développement que cette fiche laisse de côté.

En octobre 2023, la mission a changé de nature et d'interlocuteur : j'ai rejoint le groupe SNCF sur le cofinancement de recherche en intelligence artificielle, autour de la chaire portée avec l'École polytechnique. Un an de travail, jusqu'en octobre 2024, sur un terrain très différent du précédent : non plus livrer des services, mais instruire et suivre des travaux de recherche appliquée.

Une précision sur ce que cette fiche ne contient pas. Le code de cette mission vit sur les dépôts internes du groupe, derrière son réseau, et les données qu'il manipule sont confidentielles. C'est pourquoi aucune page SNCF de ce site ne donne de nombre de commits, de volume de lignes ni de capture d'écran, là où d'autres fiches en portent : la différence tient à qui possède le dépôt, pas à l'importance du travail. Les missions elles-mêmes, en revanche, se racontent sans difficulté, et les paragraphes qui précèdent les décrivent : ce qui ne se publie pas, c'est le code et les mesures, pas la nature de ce qui a été construit.

Cette mission m'a appris à avancer vite dans une grande organisation sans renoncer à la rigueur : conventions partagées, revues de code systématiques, livraisons fréquentes et traçables. C'est la même exigence que j'applique aujourd'hui aux projets de Business Agile, à une échelle plus petite et avec un interlocuteur unique.

Ce qui a été fait

  1. 01

    API REST Django et Django REST Framework sur données géographiques (PostGIS)

  2. 02

    Traitements asynchrones Celery et Redis

  3. 03

    Évolution du gabarit de projet commun à tous les services

  4. 04

    Pipelines GitLab CI, déploiements Kubernetes avec Helm, suivi Sentry

  5. 05

    Outillage qualité partagé : pytest, couverture, mypy, Black, Flake8

Questions fréquentes

Business Agile a-t-il l'expérience des grands comptes ?

Oui. De septembre 2020 à septembre 2023, Alexandre BERREBI a été technical lead back-end et DevOps pour SNCF Réseau, sur une plateforme d'une dizaine de microservices déployés sur Kubernetes.

Pouvez-vous intervenir au sein d'une équipe existante ?

Oui. La mission SNCF s'est déroulée dans une équipe mixte de salariés, d'indépendants et de consultants, avec des conventions partagées, des revues de code et une intégration continue commune.

Que peut apporter un développeur DevOps à une équipe de développement ?

Des livraisons plus sûres et plus fréquentes : pipelines d'intégration continue qui testent chaque modification, images Docker reproductibles, déploiements automatisés et suivi des erreurs en production. Sur cette mission, ces outils étaient partagés par tous les services grâce à un gabarit de projet commun.

Autres réalisations

FabArto
fabarto.eu
Web
Ti Kosmeo
tikosmeo.fr
Web
Antiquité Mallarmé
antiquitemallarme.fr
Web
Maison Ozaé
maisonozae.eu
Web
ScienceProtect
scienceprotect.com
IA
Neontology
github.com/ontolocy/neontology
Open source
Pousses & Plantes
Place de marché de plantes
E-commerce
Arbre Agile
Conseil et développement en intelligence artificielle
Web
Groupe BERREBI
Holding et site institutionnel
Web
Pitchichi
guide.pitchichi.com
App
Appétit
Librairie indépendante, livres de cuisine et photographie
Web
Good Day
Média, application mobile grand public
App
Fondation Nestlé France
Fondation d'entreprise, alimentation
Web
DMD Prices
Art, impression sur toile, devis en ligne
Web
IoTBox
Objets connectés, solutions industrielles
Web
PrevenFit
Services aux salles de sport, espace abonné
App
Securicate
Équipement de sécurité, boutique en ligne
E-commerce
WeChamp
Sport, événementiel d'entreprise
Web
Jaco
Veille média, logiciel en abonnement
App
AWA
Éducation et audiovisuel, projet à portée internationale
Web
Quizz Paris
Prévention des risques, sensibilisation du public
App
La Gestion en Ligne
Gestion locative, service en ligne
Web
Quotidien Libre
Presse en ligne, quotidien d'information
Web
Ophtalmologie Percy
Santé, hôpital militaire
Web
Flashing Records
Musique, label et programmation d'événements
Web
Apérothérapie
Vins et épicerie fine, vente en ligne
E-commerce
Arnaud CANIZARES
Art contemporain, portfolio d'artiste
Web
TapToSupport
Collecte de dons pour associations
API
24hprojects
Plateforme de livraison de MVP
App
Eco-Actives
Transition écologique et ateliers DIY
E-commerce

Un projet ? Parlons-en cette semaine.

Un brief court, une réponse sous 48 h, une estimation ferme après cadrage.

Décrire mon projet