Expérience récente
Plateforme d’archivage d’e-mails
CTO et développeur full-stack senior
Responsable d’une plateforme complète d’archivage et de conformité des e-mails de niveau entreprise, au service de plusieurs clients internationaux. La plateforme traite des millions d’e-mails chaque jour sur une infrastructure cloud AWS et des déploiements on-premise.
Technologies clés : TypeScript, Node.js, Go, Java 21, Spring Boot 3.5, React, Next.js, MongoDB, MySQL, Kafka, Kubernetes, Helm, Ansible ELK, Prometheus, Grafana, AWS, Docker, Cypress, Redis, Prisma, SAML 2.0, OAuth2
Infrastructure & DevOps
Déploiements Kubernetes : Création de 50+ configurations de charts Helm pour l’ensemble des services de la plateforme. Mise en œuvre de politiques d’autoscaling, de pod disruption budgets et de network policies pour une communication service-à-service sécurisée.
Infrastructure AWS : Mise en place de pipelines de déploiement automatisés à l’aide de templates CloudFormation et de playbooks Ansible sur plusieurs régions AWS. Gestion des passerelles VPN, rôles IAM, groupes de sécurité et de la configuration DNS Route53.
CI/CD : Mise en œuvre d’Azure Pipelines pour les tests automatisés et les builds de conteneurs. Exécution de tests en parallèle avec Jest et Mocha, rapports de couverture de code et pipelines de déploiement multi-étapes.
Supervision : Intégration de la collecte de métriques Prometheus, de tableaux de bord Grafana et de la stack ELK pour l’agrégation des logs. Mise en place de checks de santé des services et de politiques d’alerte.
Environnements de développement Docker : Conception de configurations docker-compose complètes pour le développement local, incluant :
- Replica sets MongoDB avec checks de santé via mongosh
- Bases MySQL/Percona avec paramètres de collation personnalisés
- Clusters Kafka/Zookeeper avec initialisation des topics
- Serveurs MinIO (compatibles S3) avec création de buckets
- Architectures multi-services avec orchestration des dépendances
- Outillage de développement : kubectl proxy, mongo-express, kafdrop, clients MySQL
Images de conteneurs Docker : Construction et optimisation d’images de conteneurs via des builds multi-étapes pour :
- Services Node.js : Images basées sur Alpine avec compilation TypeScript,
node-prunepour l’optimisation de la taille, et des runners distroless pour une empreinte d’exécution minimale - Services Go : Images basées sur devcontainer avec dépendances librdkafka pour la connectivité Kafka
- Images de base Ubuntu : Images personnalisées préconfigurées avec Node.js, Java JDK, AWS CLI et des outils de développement
Conteneur de base Ubuntu : Construction et maintenance d’une image de base Ubuntu 22.04 avec Node.js, Java JDK 24, AWS CLI, ZooKeeper, etcd, Kafka et des outils de développement pour des environnements de build cohérents.
Conteneur CloudShell : Construction de conteneurs de base et d’outils Azure Cloud Shell avec PowerShell 7 et divers SDK Azure pour les workflows de gestion du cloud Microsoft.
VS Code Dev Containers : Configuration d’environnements de conteneurs de développement pour plusieurs services avec support du développement à distance, passthrough SSH et gestion des extensions.
Base de données & gestion des données
MongoDB : Base orientée documents avec replica sets pour la haute disponibilité. Mise en œuvre de sauvegardes automatisées et de procédures de reprise après sinistre via mongodump/mongorestore.
MySQL/Percona : Base relationnelle pour les données structurées, avec des workflows de sauvegarde et restauration Percona utilisant myloader/mydumper pour une migration efficace des données.
CouchDB : Base orientée documents en cluster pour le stockage distribué, avec des déploiements multi-nœuds.
Migration de bases de données : Développement d’outillage de migration de données entre des clusters MySQL et MongoDB, prenant en charge des transferts de données à grande échelle avec des tests d’intégration sur des jeux de données proches de la production.
Environnement de développement Claude Code (ralph-agent)
Projet personnel - Environnement de développement IA
Création d’un environnement de développement basé sur Docker, optimisé pour des tâches d’agents IA de longue durée avec Claude Code. Inclut une configuration en utilisateur non-root avec passthrough SSH et Git, la gestion automatique de version Node.js via NVM, et la compatibilité avec VS Code Remote Development.
Technologies clés : Docker, Ubuntu 24.04, Node.js, VS Code Remote
Résumé
Vaste expérience dans la construction de plateformes SaaS d’entreprise scalables et multi-tenant, avec une expertise sur l’ensemble de la stack technologique. Capacité démontrée à architecturer des microservices, à mettre en place des pipelines CI/CD robustes et à gérer des déploiements complexes d’infrastructures cloud. Solide expérience des systèmes d’authentification, des architectures event-driven et des frameworks frontend modernes, avec un focus sur des bases de code maintenables et bien testées.
Synthèse technologique
| Technology | Purpose |
|---|---|
| TypeScript | Langage principal pour les API (Fastify, Express), le frontend (Next.js, React), bibliothèque de types partagée (@cryoserver/types) |
| Node.js | Runtime backend pour plus de 10 microservices |
| Go | Service SMTP pour un transfert d’e-mails haute performance |
| React | Framework UI pour les tableaux de bord clients et l’administration interne |
| Next.js | Framework React pour les interfaces orientées client |
| MongoDB | Base de documents principale pour les données utilisateurs et de configuration |
| MySQL/Percona | Base relationnelle pour les données structurées, utilisée avec Prisma ORM |
| CouchDB | Base de documents en cluster pour les données distribuées |
| Redis | Mise en cache des sessions |
| Kafka/KafkaJS | Messagerie event-driven entre microservices |
| Kubernetes | Orchestration de conteneurs pour les déploiements en production |
| Helm | Gestionnaire de packages pour 50+ configurations de charts Kubernetes |
| Ansible | Provisioning d’infrastructure et gestion de configuration (AWS, Azure) |
| Docker | Conteneurisation de tous les services avec builds multi-étapes |
| AWS SDK | Intégration avec S3, IAM, Cognito et d’autres services AWS |
| OAuth2/JWT | Authentification et autorisation des API |
| Cypress | Tests end-to-end et de composants pour les applications frontend |
| Prisma | ORM de base de données typé pour les migrations MySQL |
| Zod | Validation à l’exécution des types TypeScript |
| MUI (Material UI) | Bibliothèque de composants UI pour les applications Next.js |
| Puppeteer | Génération de PDF |
| Node-RD Kafka | Client Kafka pour les services Node.js |
| Solr | Service d’indexation et de requêtage pour la recherche |
| Prometheus/Grafana | Collecte et visualisation de métriques |
| ELK Stack | Elasticsearch, Logstash, Kibana pour la centralisation des logs |
| Azure Pipelines | CI/CD pour les builds et déploiements automatisés |
| Playwright/MCP | Automatisation de navigateur pour des tests UI pilotés par IA |
| llama.cpp | Inférence LLM locale pour des outils CLI expérimentaux |
| Shibboleth SP | Module Apache pour la fédération SAML 2.0 |
| ZooKeeper | Service de coordination pour les clusters Kafka et Solr |
| MinIO | Stockage compatible S3 pour le développement local |
| Maven | Outil de build de projets Java avec tests Surefire |
| TurboRepo | Outil monorepo pour gérer plusieurs applications Next.js |
