Makefile : make demo et make blank en une commande

- make demo  : db + backend + frontend + jeu de démonstration
- make blank : idem mais édition vierge + 1er compte coordination (params
  surchargeables : EMAIL, PASSWORD, NAME, START, END)
Chaque cible applique les migrations, prépare les données et bascule le
frontend sur l'API réelle (VITE_* dans .env). `make down` / `make logs`.

app/bootstrap.py : commande sous-jacente de `make blank`.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017uUsRg7XzopkCPWimwg9ZM
This commit is contained in:
AdamThomas
2026-09-10 21:14:00 +02:00
co-authored by Claude Sonnet 5
parent 6c4297b5fc
commit b894b1d270
2 changed files with 76 additions and 31 deletions
+12 -31
View File
@@ -10,46 +10,27 @@ et les conventions.
## Démarrage rapide
```bash
cp .env.example .env
docker compose up --build
make demo # base + backend + frontend, jeu de démonstration chargé
make blank # idem, mais édition vierge + 1er compte coordination
```
- Frontend : http://localhost:5173
- API : http://localhost:8000
- Documentation interactive : http://localhost:8000/docs
- API : http://localhost:8000 · Docs : http://localhost:8000/docs
- `make down` arrête tout · `make logs` suit les logs du backend
Le frontend démarre en mode `mock` (jeu de démonstration en mémoire, aucun
backend requis).
Chaque commande construit les images, applique les migrations, prépare les
données, bascule le frontend sur l'API réelle (`.env`) et affiche les
identifiants de connexion.
### Vraie instance, sans jeu de démo
**`make blank`** accepte des paramètres :
```bash
docker compose up -d db backend
docker compose run --rm backend uv run alembic upgrade head
docker compose run --rm backend uv run python -m app.bootstrap \
--name "Festival 2026" --start 2026-07-01 --end 2026-07-04 \
--email coordination@monfestival.fr --password "un-mot-de-passe-solide"
make blank EMAIL=moi@festival.fr PASSWORD=mon-mot-de-passe-solide \
NAME="Festival 2026" START=2026-07-01 END=2026-07-04
```
La commande crée une édition vierge, le premier compte coordination (connexion
par mot de passe) et 3 créneaux types par défaut, puis affiche l'UUID de
l'édition. Renseigner alors dans `.env` :
```
VITE_API_MODE=http
VITE_EDITION_ID=<uuid affiché>
```
puis `docker compose up frontend`.
### Jeu de démonstration (optionnel)
```bash
docker compose run --rm backend uv run python -m app.seed
```
120 bénévoles fictifs, 15 postes, 4 jours. Identifiants affichés en fin de
commande.
Le jeu de démo : 120 bénévoles fictifs, 15 postes, 4 jours. L'édition vierge :
une édition + un compte coordination (mot de passe) + 3 créneaux types.
## Tests