Expérience récente
Plateforme d’archivage des courriels
CTO et développeur full-stack senior
Responsable d’une plateforme complète d’archivage des courriels et de conformité de niveau entreprise, au service de plusieurs clients mondiaux. La plateforme traite des millions de courriels par jour, à la fois sur l’infrastructure infonuagique AWS et en déploiements sur site.
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 et DevOps
Déploiements Kubernetes: Créé 50+ configurations de chart Helm pour tous les services de la plateforme. Met en œuvre des politiques d’autoscaling, des budgets de perturbation de pods, et des politiques réseau pour une communication service-à-service sécurisée.
Infrastructure AWS: Mis en place des pipelines de déploiement automatisés à l’aide de modèles CloudFormation et de playbooks Ansible dans plusieurs régions AWS. Gère les passerelles VPN, les rôles IAM, les groupes de sécurité et la configuration DNS Route53.
CI/CD: Mis en œuvre Azure Pipelines pour les tests automatisés et les builds de conteneurs. Inclut l’exécution de tests en parallèle avec Jest et Mocha, les rapports de couverture de code et des pipelines de déploiement multi-étapes.
Surveillance: Intégré la collecte de métriques Prometheus, des tableaux de bord Grafana et la pile ELK pour l’agrégation des journaux. Mis en place des vérifications de l’état des services et des politiques d’alerte.
Environnements de développement Docker: Conçu des configurations docker-compose complètes pour le développement local, incluant :
- Ensembles de réplicas MongoDB avec vérifications de santé mongosh
- Bases de données MySQL/Percona avec des paramètres de collation personnalisés
- Clusters Kafka/Zookeeper avec initialisation des sujets
- Serveurs MinIO (compatibles S3) avec création de buckets
- Architectures multi-services avec orchestration des dépendances
- Outils de développement : kubectl proxy, mongo-express, kafdrop, clients MySQL
Images de conteneurs Docker: Construit et optimisé des images de conteneurs au moyen de builds multi-étapes pour :
- Services Node.js: Images basées sur Alpine avec compilation TypeScript,
node-prunepour l’optimisation de la taille, et exécuteurs 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: Construit et maintenu 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: Construit des conteneurs de base et d’outils Azure Cloud Shell avec PowerShell 7 et divers SDK Azure pour des flux de travail de gestion infonuagique Microsoft.
Conteneurs de développement VS Code: Configuré des environnements de conteneurs de développement pour plusieurs services avec prise en charge du développement à distance, passthrough SSH et gestion des extensions.
Base de données et gestion des données
MongoDB: Magasin de documents avec ensembles de réplicas pour une haute disponibilité. Met en œuvre des sauvegardes automatisées et des procédures de reprise après sinistre avec mongodump/mongorestore.
MySQL/Percona: Base de données relationnelle pour les données structurées, incluant des flux de travail de sauvegarde et de restauration Percona avec myloader/mydumper pour une migration de données efficace.
CouchDB: Magasin de documents en cluster pour le stockage de données distribuées avec des déploiements multi-nœuds.
Migration de bases de données: Développé des outils 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 de type production.
Environnement de développement Claude Code (ralph-agent)
Projet personnel - Environnement de développement IA
Créé un environnement de développement basé sur Docker, optimisé pour des tâches d’agent IA de longue durée avec Claude Code. Comprend une configuration d’utilisateur non root avec passthrough SSH et Git, la gestion automatique des versions de 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 création de plateformes SaaS d’entreprise évolutives et multi-locataires, avec une expertise sur l’ensemble de la pile technologique. Capacité démontrée à concevoir des microservices, à mettre en œuvre des pipelines CI/CD robustes et à gérer des déploiements complexes d’infrastructure infonuagique. Solide expérience des systèmes d’authentification, des architectures orientées événements et des frameworks frontend modernes, avec un accent sur des bases de code maintenables et bien testées.
Sommaire technologique
| Technology | Purpose |
|---|---|
| TypeScript | Langage principal pour les API (Fastify, Express), le frontend (Next.js, React), la bibliothèque de types partagée (@cryoserver/types) |
| Node.js | Runtime backend pour 10+ microservices |
| Go | Service SMTP pour le transfert de courriel haute performance |
| React | Framework UI pour les tableaux de bord destinés aux clients et l’administration interne |
| Next.js | Framework React pour les interfaces destinées aux clients |
| MongoDB | Magasin de documents principal pour les données utilisateur et de configuration |
| MySQL/Percona | Base de données relationnelle pour les données structurées, utilisée avec Prisma ORM |
| CouchDB | Magasin de documents en cluster pour les données distribuées |
| Redis | Mise en cache des sessions |
| Kafka/KafkaJS | Messagerie orientée événements entre microservices |
| Kubernetes | Orchestration de conteneurs pour les déploiements en production |
| Helm | Gestionnaire de paquets pour 50+ configurations de chart Kubernetes |
| Ansible | Provisionnement d’infrastructure et gestion de configuration (AWS, Azure) |
| Docker | Conteneurisation pour 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 pour les 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êtes de recherche |
| Prometheus/Grafana | Collecte et visualisation de métriques |
| ELK Stack | Elasticsearch, Logstash, Kibana pour la journalisation centralisée |
| 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 projet Java avec tests Surefire |
| TurboRepo | Outil monorepo pour gérer plusieurs applications Next.js |
