ade59b3dc4bd94543db179968e46db093c20cbdf
Deux bugs remontés sur l'écran référent (/mobile-referent), tous deux révélés par le repli documenté « décocher un poste ne rétrograde jamais le compte » (§2) : - Un compte LEAD qui ne référence plus aucun poste (ex. décoché) reste LEAD et atterrit donc sur /mobile-referent après son lien magique — qui affichait un écran référent vide au lieu de sa vue de bénévole classique. `MobileLeadPage` détecte maintenant ce cas et affiche, quand le compte est rattaché à une fiche bénévole, le même contenu que `/mobile-benevole` (planning : poste, jour, horaire, lieu, responsable, téléphone) — extrait dans un composant partagé `VolunteerHomeView`. - Un poste avec plusieurs créneaux n'en montrait qu'un seul (le plus proche de l'heure réelle) : le référent ne pouvait pas voir son équipe sur les autres créneaux. La carte de chaque poste liste maintenant tous ses créneaux, chacun avec sa propre équipe, avec un repère « MAINTENANT » (composant partagé `NowLine`, déjà utilisé côté bénévole) pour se situer parmi eux. Non inclus dans ce commit (édités en parallèle par l'utilisateur, laissés en l'état) : backend/app/seed.py, frontend/tailwind.config.js. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017uUsRg7XzopkCPWimwg9ZM
Gestion des bénévoles
Application web de gestion des bénévoles pour un festival associatif. Backend FastAPI + PostgreSQL, frontend React (à venir), déploiement Docker Compose auto-hébergé.
Voir CLAUDE.md pour le vocabulaire du domaine, l'arborescence
et les conventions.
Démarrage rapide
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 · Docs : http://localhost:8000/docs
make downarrête tout ·make logssuit les logs du backend
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.
make blank accepte des paramètres :
make blank EMAIL=moi@festival.fr PASSWORD=mon-mot-de-passe-solide \
NAME="Festival 2026" START=2026-07-01 END=2026-07-04
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
docker compose run --rm backend uv run pytest
La base de test (benevoles_test) est créée automatiquement au premier
démarrage du conteneur PostgreSQL.
Structure
| Dossier | Rôle |
|---|---|
backend/ |
API FastAPI, modèle SQLModel, migrations Alembic |
frontend/ |
Interface React + Vite + TS + Tailwind (service frontend) |
deploy/ |
Configuration de déploiement production (compose, Caddy, runbook) |
.gitlab-ci.yml |
Chaîne CI/CD (tests → build → SSH sur le VPS) |
Languages
Python
51.8%
TypeScript
47.6%
JavaScript
0.2%
Makefile
0.2%
Dockerfile
0.1%