Skip to content
Retour au journal1 min de lecture

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.

SymfonyDockerTraefikCI/CDInfrastructure

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.