Infra self-hosted
DevOps · Admin système
Linux · Docker + Traefik · en production
Infrastructure auto-hébergée que j'ai déployée et que j'administre : serveur mail complet (Postfix/Dovecot, DKIM/SPF/DMARC, webmail), Nextcloud, Vaultwarden, Dolibarr, OpenProject et Plane, chacun conteneurisé derrière Traefik avec TLS automatique.
→ Services critiques maîtrisés en interne, sans dépendance SaaS
DockerTraefikPostfixLinux
Déploiement scripté
Automatisation
Bash · déploiement par couches
Chaîne complète et rejouable : pré-check → déploiement → DNS → certificats Let's Encrypt → validation → intégration des apps → maintenance, pilotée par un fichier d'environnement unique. Sauvegardes automatiques planifiées, avec rotation et restauration réellement testée.
→ Un nouveau serveur passe en production sans étape manuelle
BashLet's EncryptBackup / restore
Durcissement & sécurité
DevSecOps
Check-list appliquée & revérifiée
Script de durcissement rejouable : SSH par clé uniquement, root non connectable, ufw, fail2ban, rotation des journaux. Bases de données jamais publiées (réseau interne), HSTS, secrets en 600 hors dépôt, et une validation d'environnement qui refuse de démarrer en production si un secret de développement subsiste.
→ Sécurité écrite, automatisée et vérifiable, pas seulement déclarative
Hardeningufwfail2banSecrets
CI/CD & qualité
Intégration continue
GitHub Actions · gates bloquants
Lint, typecheck et tests bloquants en intégration comme en pre-commit sur trois monorepos. Tests de contrat d'API versionnés (OpenAPI + alignement au niveau des types) pour empêcher toute divergence entre le front et le back, la panne la plus fréquente en multi-apps.
→ Une régression de contrat est arrêtée avant la revue
GitHub ActionsOpenAPITurborepo
Plateformes nationales
Systèmes d'État
DGTT · Caisse Unique · SIS
DGTT : digitalisation nationale des permis & cartes grises, inaugurée par le ministre des Transports ; j'ai porté tout le frontend, dont l'intégration du stockage S3/MinIO. Caisse Unique : règlement « zéro cash » des administrations, puis consultant auprès de l'ACSI. SIS : système de santé interconnectant plusieurs hôpitaux.
→ Contraintes de disponibilité, traçabilité et sécurité réelles
MinIO / S3Next.jsSymfony
Orchestra
Automatisation · Conception
n8n · Docker Compose · Traefik
Hub d'automatisation conçu autour d'une règle : n8n orchestre, il ne contient jamais de logique métier. Le « comment » vit dans une API découplée, la publication multi-réseaux passe par Postiz. Le tout en Docker Compose derrière Traefik, reconstructible pour un autre besoin.
→ Un socle d'automatisation réutilisable, pas un assemblage jetable
n8nDocker ComposeTraefik