Publié le 18 mars 2025
Du code à l'infrastructure : opérer soi-même son monolithe Symfony
Pourquoi je déploie mes applications sur un VPS avec Docker, Traefik et GitHub Actions plutôt que sur une plateforme managée - et ce que ça change.
Quand j'ai migré la plateforme d'Alivaon d'un template statique vers un monolithe Symfony 7, la vraie question n'était pas « quel framework ? » mais « comment je l'opère ? ». Un logiciel qui ne tourne pas en production n'existe pas.
Le choix du VPS
Une plateforme managée cache l'infrastructure - pratique, jusqu'au jour où un besoin sort du cadre. Sur un VPS Hetzner, je paie un coût fixe et je contrôle toute la chaîne : réseau, TLS, base de données, sauvegardes.
Docker + Traefik comme colonne vertébrale
Chaque service tourne dans un conteneur. Traefik sert de reverse proxy et gère le TLS automatiquement via Let's Encrypt :
labels:
- "traefik.enable=true"
- "traefik.http.routers.app.rule=Host(`alivaon.com`)"
- "traefik.http.routers.app.tls.certresolver=le"
Ajouter un nouveau service revient à ajouter quelques labels - pas à reconfigurer un serveur web à la main.
Staging avant production
Le pipeline GitHub Actions construit l'image, lance les tests, puis déploie d'abord sur un environnement de staging identique à la production. Rien n'atteint les utilisateurs sans avoir tourné ailleurs d'abord.
Ce que ça change
Maîtriser l'infrastructure change la façon d'écrire le code : on pense aux migrations, aux logs, à la reprise sur incident dès la conception. C'est cette continuité - du code jusqu'à la machine qui l'exécute - qui définit ma façon de travailler.
/ Contact
Un logiciel à concevoir, déployer, opérer ?
Écrivez-moi. Je réponds sous 48 h.