Chaque employeur, chaque client et chaque mission depuis 2010, décrits comme dans mon CV. Une carte par mission, avecUne carte par mission depuis 2010, avec ce qui a été fait et à quoi ça sert.
Halys est un éditeur de cœurs de réseau mobile 4G/5G pour lequel je suis intervenu en tant que lead développeur, avec trois développeurs en report direct au directeur technique. J'y ai conçu IWFS, produit MAKINGCODES dont Halys est le premier utilisateur, puis mon périmètre s'est étendu au cœur de réseau, à l'interception légale et à la chaîne de livraison.
Lawful Intercept
Interception légale pour les autorités, au cœur du réseau
Module d'interception écrit en Go au cœur du réseau mobile.
Canal de transmission chiffré et authentifié des deux côtés, certificats renouvelés sans interruption.
Au moindre doute sur un certificat, le service se ferme plutôt que de laisser fuir des données.
Format d'échange conforme aux normes européennes ETSI et 3GPP, vérifié par 151 jeux de tests.
Autant de fichiers de test que de fichiers de code.
Livraison packagée avec Helm, déployable en une commande derrière Envoy Gateway.
Go
ASN.1/BER
mTLS
ETSI
3GPP
Cœur de réseau
Modernisation du cœur de réseau, de C et C++ vers Go
Migration progressive de composants anciens vers Go, sans régression pour les clients.
Compatibilité maintenue avec la production existante, CentOS 7 et un compilateur de 2013.
Fonction cryptographique de dérivation de clé écrite en C selon le standard RFC 5869.
Pont entre le nouveau code Go et la bibliothèque C historique.
Transport réseau sur SCTP, UDP et TCP.
Spécifications d'interfaces et décisions d'architecture documentées, appuyées sur ETSI et 3GPP.
C
C++
Go
SCTP
3GPP
MCP 3GPPMAKINGCODES
Assistant qui répond aux questions sur les normes télécoms
Outil qui indexe l'intégralité des normes 3GPP, plusieurs milliers de documents.
Les développeurs et les agents IA l'interrogent en langage naturel.
Recherche par mots-clés et recherche sémantique combinées pour des réponses fiables.
Chaque réponse cite sa source.
Norme, version, clause et lien d'origine.
Gain de temps sur l'implémentation des protocoles.
Go
LLM
MCP
RAG
3GPP
Livraison & qualité
Intégration continue et déploiement sur Kubernetes
Chaîne GitLab CI construite de bout en bout, du commit au déploiement.
Déploiement automatisé sur Kubernetes avec Helm et Ansible.
Envoy Gateway en point d'entrée des services.
Détection automatique des accès concurrents dangereux à chaque exécution des tests.
Décodeurs éprouvés par injection de données corrompues, corpus de tests versionné avec le code.
Rapport de couverture des tests produit à chaque build.
GitLab CI
Helm
Ansible
k3s
Envoy
2025
IWFSMAKINGCODES
Routeur de SMS distribué pour opérateurs mobiles
Produit édité par MAKINGCODES, conçu et développé au cours de la mission chez Halys, son premier utilisateur.
Système réparti sur plusieurs serveurs qui continue de fonctionner quand l'un d'eux tombe.
Consensus Raft écrit sur mesure.
Un seul serveur à la fois a le droit d'écrire.
Un serveur redémarré récupère auprès des autres les messages qu'il a manqués.
Un message accepté va au bout de son traitement ou finit dans un état traçable.
En cas de saturation, le système refuse avant d'accepter.
Un format interne unique pour SMPP et SS7/MAP.
Un nouveau protocole s'ajoute sans toucher au routage.
Chaque SMS rejoint sa connexion de destination, même quand elle est portée par un autre serveur.
Près de 8 000 SMS par seconde tenus huit heures sur une installation pilote de quatre serveurs, 99 % des réponses en moins de 20 ms.
Pannes provoquées en test, coupures réseau et serveurs arrêtés, pour corriger le consensus avant l'industrialisation.
Tests automatisés portés d'environ 10 % à environ 70 % du code, avec un seuil de 90 % sur tout code modifié qui bloque la fusion.
Docaposte est la filiale numérique du groupe La Poste pour laquelle je suis intervenu en tant qu'architecte DevOps sur la construction d'un cloud souverain ISO 27001 et 27017, au sein d'une équipe de quinze personnes. Arrivé pour la couche de provisionnement, j'ai pris en charge l'industrialisation et les conventions communes de la plateforme.
Cloud Management Platform
Portail en libre-service pour commander des ressources cloud
Plus de 500 machines virtuelles pilotées sur trois centres de données.
OpenStack et VMware pilotés depuis une seule interface, Morpheus.
Les équipes commandent elles-mêmes machines, clusters Kubernetes et réseaux, sans ticket.
Fabrication des machines standardisée avec des modèles, plus de configuration à la main.
Placement automatique des applications selon leur niveau de sensibilité.
Facturation interne calculée sur la disponibilité réelle des ressources.
Go
Morpheus
OpenStack
vSphere
KubernetesKube
Provider Terraform
Un seul outil pour provisionner OpenStack et VMware
Extension Terraform développée pour piloter la plateforme Morpheus.
Les équipes décrivent leur infrastructure dans un fichier et l'obtiennent à l'identique à chaque fois.
Analyse méthodique d'API peu documentées et uniformisation des formats.
Chaque fournisseur isolé derrière une couche commune, remplaçable sans impact.
Reprise automatique des opérations longues avec suivi jusqu'au bout.
Machines, clusters Kubernetes et réseaux fournis sans exposer la technique sous-jacente.
Terraform
Go
Morpheus
REST
Industrialisation & DevSecOps
Environnements reproductibles jusqu'à la production
Configuration des serveurs automatisée avec Ansible et testée avec Molecule avant tout déploiement.
Livraison continue GitLab CI, sans aucune interruption de service pour les utilisateurs.
Sécurité des serveurs renforcée.
Accès, pare-feu, droits minimaux, annuaire.
Services et stockage installés par script, aucun serveur n'est jamais configuré à la main.
Supervision centralisée des métriques et des journaux avec Grafana Alloy.
Mots de passe et certificats gérés dans un coffre-fort, Vault et Gopass.
Ansible
Molecule
GitLab CI
Vault
Gopass
Architecture & gouvernance
Conception partagée avec les équipes infra et sécurité
Découpage de la plateforme en domaines de gestion et d'exécution.
Rôle de chaque environnement défini.
Bac à sable, préproduction et production.
Conventions communes établies après deux tentatives échouées.
Rapport au responsable de la plateforme avec une grande autonomie.
Agents IA pour automatiser l'infrastructure et rédiger la documentation.
Documentation technique et formation des équipes aux pratiques DevSecOps.
Leboncoin est la place de marché de petites annonces du groupe Adevinta pour laquelle je suis intervenu en tant que développeur backend Go dans la feature team Care, dédiée à l'après-vente. Des services événementiels à plus de 100 M de messages Kafka par jour, plusieurs mises en production quotidiennes et quatre mois en anglais avec une équipe basée en Allemagne.
Notifications transactionnelles
Fiabilisation du service qui prévient acheteurs et vendeurs
Flux Kafka de plus de 100 M de messages par jour.
Courriels et notifications mobiles envoyés en temps réel à chaque étape d'une commande.
Un message traité deux fois ne produit jamais deux envois.
Les messages en échec sont mis de côté et rejoués automatiquement plus tard.
Reprise après incident sans perte ni doublon.
Go
Kafka
Datadog
Bazel
Retards de livraison
Prévenir le client avant qu'il ne se plaigne
Retards de livraison détectés avant que l'acheteur ne réclame.
Détection construite sur les événements déjà produits par la plateforme.
Risques analysés et alternatives documentées avant la mise en production.
Initiative proposée à l'équipe puis livrée de bout en bout.
Go
Kafka
PostgreSQLPostgres
Performance des données
Bases de données de centaines de millions de lignes
Requêtes maintenues rapides malgré des tables de centaines de millions de lignes.
Chaque requête analysée avant optimisation, index et partitionnement ajustés.
Objectif tenu.
99 % des requêtes répondent en moins de 100 ms.
Tableaux de bord et alertes SLO avec Datadog et Grafana.
Tests A/B pour mesurer l'effet d'une fonctionnalité avant de la généraliser.
PostgreSQLPostgres
Datadog
Grafana
Kibana
Qualité & méthode
Livrer plusieurs fois par jour sans casser la production
Logique métier isolée du transport et du stockage, plus simple à tester et à faire évoluer.
Tests écrits avant le code, 90 % de couverture exigés à chaque changement.
Tests d'intégration Kafka avec des scénarios de panne.
Code revu par les pairs dans un dépôt unique Bazel sur Gerrit.
Mises en production plusieurs fois par jour sans interruption.
Scrum Master à tour de rôle, animation des rituels de l'équipe.
Hove est l'éditeur du calculateur d'itinéraires Navitia, filiale de Keolis, pour lequel je suis intervenu en tant que développeur Go et architecte DevOps pendant la préparation des Jeux de Paris 2024. Arrivé pour la réécriture de la façade des API, j'ai ensuite pris en charge la montée en charge sur AWS et la maîtrise des coûts.
Façade des API Navitia
Le point d'entrée des API, réécrit pour les Jeux de Paris 2024
Environ 3 M de requêtes par jour, dimensionné pour 10 M au pic des Jeux.
Réécriture de Python vers Go pour tenir la charge attendue pendant les Jeux.
Un seul point d'entrée pour toutes les applications clientes.
Un quota par client, et un service en panne ne bloque pas les autres.
Réponses servies au plus près des utilisateurs.
Temps de réponse tenu autour de 70 ms pour 99 % des appels.
En production avant la fin de la mission et utilisée pendant les Jeux.
Go
Python
gRPC
Protobuf
Redis
Calcul d'itinéraires
Cœur de calcul et accessibilité
Itinéraires calculés selon plusieurs critères.
Plus rapide, plus court, plus écologique ou accessible aux personnes à mobilité réduite.
Arrêts autour d'un lieu trouvés instantanément grâce à un index géographique PostGIS.
Affluence estimée en quasi temps réel pour proposer des itinéraires bis.
Cache géographique Redis pour les données d'obstacles urbains.
Partenaires raccordés.
Andyamo pour les trajets PMR, StreetCo pour les obstacles urbains.
Go
Rust
PostGIS
Redis
Python
Plateforme AWS
Absorber les pics de trafic des Jeux
Capacité qui s'adapte automatiquement au trafic sur AWS, avec des instances à bas coût.
Déploiement progressif avec retour arrière automatique en cas d'erreur.
Supervision complète des métriques, traces et journaux avec OpenTelemetry et Grafana.
Tests de charge rejoués sur les profils de trafic attendus pendant les Jeux.
Dimensionnement arbitré entre coût, temps de réponse et disponibilité.
EKS
ArgoCD
GitHub ActionsGH Actions
OpenTelemetryOTel
Sécurité & FinOps
Protéger les API publiques et maîtriser la facture
Pare-feu applicatif et protection contre les attaques par saturation, avec limitation de débit adaptative.
Diffusion mondiale via le CDN CloudFront avec invalidation ciblée du cache.
Arbitrage sur le coût total de possession à trois ans, présenté à la direction.
Facture AWS réduite de 40 % grâce aux instances réservées et spot.
Optimisation des coûts prise en charge en plus du périmètre initial.
L'Institut Européen F2I est une école d'informatique passée de 500 à plus de 3 000 étudiants par an, que j'ai rejointe comme formateur avant d'en devenir architecte et lead technique du système d'information, en report direct à la direction générale. J'y ai conçu, développé et exploité la plateforme MyIEF2I pendant près de huit ans avec une équipe de trois dont deux alternants.
MyIEF2I
Plateforme de scolarité des cinq campus du groupe
Plateforme historique Symfony migrée vers Go service par service, sans jamais arrêter l'existant.
Architecture modulaire.
Une vingtaine de modules regroupés en quatre domaines métier.
Interface web générée automatiquement à partir des contrats d'API.
Émargement des étudiants par QR code renouvelé toutes les dix secondes, impossible à partager.
Plannings calculés automatiquement puis validés par la scolarité comme une proposition de modification.
Un seul annuaire pour les personnels et les étudiants.
Go
Symfony
gRPC-Web
Protobuf
LDAP
Modèle de données
Seul concepteur de la couche de données
Trente tables normalisées reliées par cinquante-neuf clés étrangères.
Du modèle conceptuel en diagrammes de classes au modèle physique.
Historique de chaque question d'examen conservé version par version.
Base migrée de MySQL vers PostgreSQL et exploitée près de huit ans.
Archivage et effacement programmés pour respecter le RGPD.
Archives froides à bas coût sur S3 Glacier.
Schéma qui a porté la réécriture en Go sans refonte.
PostgreSQLPostgres
MySQL
Redis
UML
S3 GlacierGlacier
Partiels par compétences
Un examen différent pour chaque étudiant
Référentiel de compétences et banques de questions modélisés côte à côte, réunis au moment de l'évaluation.
Sujet composé et figé pour chaque étudiant à l'ouverture, tirage aléatoire et version des questions gelée.
Chaque réponse enregistrée une seule fois même si l'étudiant clique deux fois.
Correction en temps réel.
Réclamations rejouables des années après, à l'identique.
Toutes les classes d'un établissement peuvent composer en même temps.
Un millier de questions distinctes en banque avec deux à trois mille propositions.
Une centaine de questions par matière et près du triple de propositions.
Go
gRPC-Web
Redis
PostgreSQLPostgres
Infrastructure multi-sites
Conception et exploitation d'une plateforme multi-sites
Architecture répartie sur plusieurs sites, conçue de bout en bout et exploitée près de huit ans.
Réseau de gestion séparé du réseau applicatif, reliés par trois réseaux privés chiffrés WireGuard.
Applications orchestrées par Nomad, découverte de services par Consul et secrets dans Vault.
Renfort automatique sur AWS lors des pics, avec des instances éphémères qui rejoignent le réseau.
Base PostgreSQL répliquée avec bascule automatique par élection Patroni.
Cloudflare en frontal avec vérification de santé et Traefik en routeur d'entrée.
Supervision Prometheus, Grafana et Loki avec un agent par serveur.
Disponibilité observée de l'ordre de 99,9 %.
Nomad
Consul
WireGuard
Patroni
OVH
Chaîne de livraison
Du code validé au déploiement sans toucher aux serveurs
Chaîne Jenkins déclarative.
Qualité, construction, tests de bout en bout et revue.
Contrôle qualité parallélisé.
Analyse statique stricte, chasse aux secrets et mesure de couverture.
Un environnement de test éphémère créé pour chaque demande de fusion.
Images minimales construites à partir d'un binaire unique, registre privé.
Serveurs entièrement décrits en code avec Terraform et Ansible, jamais préparés à la main.
Déploiement par paliers validé par des vérifications de santé, bascule par interrupteur de fonctionnalité.
Tests de panne volontaire et répétition de charge avant chaque session d'examens.
Jenkins
Docker
Terraform
Ansible
Nomad
Incidents et continuité
Ce que la plateforme a encaissé
Incendie du centre de données OVH de Strasbourg en mars 2021 absorbé par la bascule automatique.
Instances AWS de secours préparées à l'avance pour les débordements.
Panne mondiale de Cloudflare le 2 juillet 2019.
Les salles ont continué à composer grâce à une instance locale.
Saturation d'un disque transformée en plan de reprise.
Données partitionnées par année, volume ramené de 450 à 100 Go.
Sauvegardes incrémentales consolidées sur un NAS et base reconstruite hors ligne régulièrement.
Alertes envoyées par courriel puis vers une messagerie d'équipe.
Plan de reprise d'activité formalisé et validé par la direction.
PostgreSQLPostgres
Prometheus
Grafana
Loki
AWS
Sécurité en profondeur
Réseau, identité, secrets et moindre privilège
Chaque service doit être explicitement autorisé à parler à un autre, tout le reste est refusé.
Passerelle d'API sur chaque serveur.
Authentification par annuaire, limitation de débit, résolution des services.
Deux niveaux de confiance successifs.
Le réseau privé d'abord, puis l'identité de chaque service.
Chiffrement mutuel entre services et secrets stockés dans Vault.
Aucun mot de passe dans le code ni dans les livrables, vérifié automatiquement avant chaque commit.
Cloudflare en frontal avec chiffrement, pare-feu applicatif et protection contre les attaques par saturation.
Trois réseaux privés chiffrés séparant applications, gestion et interconnexion.
Vault
Consul
mTLS
WireGuard
Cloudflare
Encadrement
Six alternants et plus de 5 000 étudiants
Six alternants recrutés et formés, dont deux embauchés en CDI.
Recueil des besoins de la direction, de la scolarité et des enseignants.
Priorités arbitrées et documentées pour la direction.
Fiabilité en période d'examens contre productivité des équipes.
Application mobile Flutter livrée par les alternants sous revue de code.
Brique Electron de suivi des cours à distance, à usage ponctuel.
Cours de développement et de pratiques DevOps donnés en parallèle.
Plus de 5 000 étudiants croisés en enseignement sur près de huit ans.
Flutter
Dart
Electron
JavaScriptJS
2013
Itélios / CapgeminiIngénieur Cloud Commerce
· 2 ans et 2 mois
Itélios, aujourd'hui Capgemini, est l'intégrateur historique de Demandware devenu Salesforce Commerce Cloud, pour lequel je suis intervenu en tant qu'ingénieur Cloud Commerce sur les boutiques de marques du luxe et de la distribution, en anglais au quotidien avec l'éditeur et les équipes internationales.
Andafter est une agence web éditant son propre framework e-commerce PHP, pour laquelle je suis intervenu en tant que développeur applications web, responsable du moteur de rendu commun et d'une boutique par client, jusqu'à l'installation des sites et la configuration des environnements de production et de recette.
Moteur de rendu
Composant critique commun à tous les sites clients
Reconception en PHP et C++ pour lever les limites de performance.
Tenue en charge validée jusqu'à 10 000 utilisateurs simulés.
Mise en cache pour accélérer les pages, journaux centralisés et API versionnée.
Soft4one est un prestataire de développement sur mesure pour lequel je suis intervenu en alternance en tant que développeur fullstack, d'abord sur la réécriture du framework e-commerce de PHP 4 vers PHP 5, puis sur les boutiques des clients, leur mise en production et leur hébergement, jusqu'à l'écriture d'un installeur de serveurs en C++.
Framework e-commerce
Réécriture de PHP 4 vers PHP 5 orienté objet
Framework modernisé en PHP 5 orienté objet.
Répartition de charge sur plusieurs serveurs web sans perdre la session des clients.
Base de données répliquée avec bascule automatique en cas de panne.
Sauvegardes et mises en production automatisées.
Serveurs protégés contre les intrusions et les attaques par force brute.
Socle commun des boutiques clientes livrées ensuite.
PHP
Perl
HAProxy
MySQL
iptables
Easy Web Installer
Outil C++ d'installation automatisée des serveurs web
Outil personnel écrit en C++ en 2012 pour remplacer des scripts Perl et Bash.
Installation et configuration d'un serveur web complet en mode texte.
Utilisé pour monter les environnements de production et de préproduction des boutiques.
Outil personnel disparu depuis mais un vrai gain de productivité à l'époque.
Webreflexe est une agence de webmarketing parisienne spécialisée dans l'acquisition en ligne, pour laquelle je suis intervenu en première année d'alternance en tant que développeur fullstack, sur le site de paris sportifs porté par l'agence puis sur sa plateforme de campagnes.