Étape 6 : jeu de données de démonstration
- app/seed.py, exécutable via python -m app.seed, idempotent et déterministe (graine fixe), sans donnée nominative réelle - Édition « Festival des Lucioles » 2026 : 120 bénévoles, 15 postes, 4 jours (montage/festival/démontage), 3 demi-journées, 8 compétences, ~100 créneaux, ~280 affectations actives, disponibilités tri-état - ~12 créneaux volontairement sous l'effectif minimal (trous d'effectif) - 3 affectations à avertissement (compétence absente, hors disponibilité, repos insuffisant), 0 violation bloquante - Passe de vérification finale via le moteur de validation : le résumé imprime le décompte des avertissements par règle et le nombre de bloquantes - covered_slots rendue publique dans validation.engine (réutilisée par le seed) - 2 tests (dataset réaliste, déterminisme/idempotence) ; 106 tests au total Fin du premier incrément backend. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017uUsRg7XzopkCPWimwg9ZM
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
74e35f0195
commit
49ac6a4726
@@ -193,6 +193,7 @@ pointage sur site · fonctions d'IA.
|
||||
│ │ ├── importing/ # import CSV/Excel (parser, values, service)
|
||||
│ │ ├── models/ # tables SQLModel
|
||||
│ │ ├── validation/ # moteur pur (models, engine) + loader (base)
|
||||
│ │ ├── seed.py # jeu de démonstration (python -m app.seed)
|
||||
│ │ ├── i18n/
|
||||
│ │ │ ├── __init__.py # t(key, **params)
|
||||
│ │ │ └── locales/fr.json
|
||||
@@ -220,7 +221,7 @@ Aucune dépendance locale requise hors Docker.
|
||||
| Créer une migration | `docker compose run --rm backend uv run alembic revision --autogenerate -m "..."` |
|
||||
| Appliquer les migrations | `docker compose run --rm backend uv run alembic upgrade head` |
|
||||
| Vérifier migration ↔ modèle | `docker compose run --rm backend uv run alembic check` (après `upgrade head`) |
|
||||
| Charger le jeu de démo | *(étape ultérieure)* `docker compose run --rm backend uv run python -m app.seed` |
|
||||
| Charger le jeu de démo | `docker compose run --rm backend uv run python -m app.seed` (après `alembic upgrade head`) |
|
||||
|
||||
---
|
||||
|
||||
@@ -266,8 +267,11 @@ Aucune dépendance locale requise hors Docker.
|
||||
| 2 | Modèle de données complet + migration Alembic initiale | validée |
|
||||
| 3 | Import CSV/Excel (analyse + exécution, rapport, doublons, simulation) | validée |
|
||||
| 4 | Moteur de validation des affectations (pur, TDD, 5 règles) | validée |
|
||||
| 5 | API CRUD (Position, Shift, Volunteer, Assignment) + matrice + validation branchée | à valider |
|
||||
| 5 | API CRUD (Position, Shift, Volunteer, Assignment) + matrice + validation branchée | validée |
|
||||
| 6 | Jeu de données de démonstration (`app/seed.py`) | à valider |
|
||||
|
||||
> **En attente** : la couche d'authentification (lien magique, `Account`,
|
||||
> JWT, dépendances de rôle) fera l'objet d'une étape dédiée. Les endpoints
|
||||
> actuels ne sont pas encore protégés.
|
||||
Premier incrément backend terminé. **Reste hors périmètre** (modèle prêt à les
|
||||
accueillir) : authentification par lien magique (`Account` + `MagicLinkToken`
|
||||
existent, endpoints non encore protégés), solveur OR-Tools, envoi
|
||||
d'emails/SMS, constructeur de formulaire, pointage, IA. Le frontend
|
||||
(React/Vite/TS/Tailwind) reste à démarrer.
|
||||
|
||||
Reference in New Issue
Block a user