Ma stack standardisée pour coder et déployer mes projets avec Claude Code

Depuis l’arrivée de Claude Code, j’ai créé un tas de petits projets personnels en quelques jours.

Mais la génération de code n’étant plus un souci, il restait deux problèmes :

• vérifier que l’IA n’a pas fait n’importe quoi
• pouvoir déployer chaque projet très vite sans repasser des heures à re-coder une CI/CD ou (pire!) tout faire à la main.

J’ai donc mis en place une stack standardisée avec laquelle je code tous mes projets.

Je vous en partage un aperçu ici :

Backend : Python (flask ou fastapi, uv, pytest, Celery…), SQLite

Frontend : React/Next selon besoins

Packaging :

• chaque service est dans Docker avec deux stages : dev (mode debug pour dev local) et prod (pour… la prod)
• 2 fichiers Docker Compose : docker-compose.dev.yml et docker-compose.yml (prod)
• just pour gérer toutes les commandes de dev local et recettes spéciales: just up, just test…

Production :

• un domaine perso hébergé sur Cloudflare, tous mes projets sont sur <project>.mydomain.com sauf besoin spécifique
• des VMs achetées une par unes sur Digitalocean (peu importe le provider en réalité)
• un repository unique pour l’infrastructure, contenant : • un module Terraform pour gérer les sous domaines par projet
• un playbook Ansible pour déployer n’importe quel projet avec la stack décrite ci-dessus sur la VM que je veux
• un seul fichier qui répertorie la config de tous mes projets, et une commande just deploy <project>
• chaque VM héberge un reverse proxy traefik deployé dans Docker, de cette façon la config de routage est défini par projet (via des tags Docker) et non au niveau du reverse proxy

Trois avantages à ça :

• Claude Code hallucine beaucoup moins car le cadre est unique et très défini sur l’ensemble de mes projets
• C’est beaucoup plus facile pour moi de garder un œil sur le code à mesure qu’il grossit
• Déployer un nouveau projet prend 2 minutes, en supprimer un prend la même durée

Un système plus que suffisant pour la plupart de mes projets perso.