Checkpoint: Implémentation complète de la fonctionnalité "Gestion des plans de formations" :

- Schéma DB : 3 nouvelles tables (catalogueFormation, planFormation, planFormationItem)
- Backend tRPC : routers catalogue et planFormation (CRUD, import bulk CSV, suggestions, toggle validée Itinova)
- Frontend : page Plans de formation (liste par établissement/année, CRUD, soumission/validation)
- Frontend : page Détail plan (items, liaison catalogue, suggestions automatiques)
- Frontend : page Catalogue de formation (liste, filtres thème/Itinova/OPCO, import CSV, badges)
- Menu sidebar : nouvelle section "Plans de formations" avec sous-menus
- Tests unitaires : 13 tests (scoring suggestions, validation données, parsing CSV)
This commit is contained in:
Manus
2026-05-27 16:39:18 +00:00
parent 54159fd872
commit 6952ae6907
14 changed files with 5295 additions and 2 deletions

45
todo.md
View File

@@ -1724,3 +1724,48 @@
- [x] Résolution 500x160px pour équilibre qualité/taille (< 1 Mo par PDF)
- [x] Tester sur TEST
- [x] Déployer sur PROD
## Fonctionnalité - Gestion des plans de formations
### Schéma DB
- [ ] Ajouter la table catalogueFormation (intitulé, thème, mots-clés, durée, prestataire, description, validateeItinova, opcoEligible, budgetOpco, referenceOpco, source)
- [ ] Ajouter la table planFormation (etablissementId, annee, statut, notes)
- [ ] Ajouter la table planFormationItem (planId, intitule, duree, prestataire, publicConcerne, description, statut, catalogueFormationId optionnel)
- [ ] Migrer le schéma avec pnpm db:push
### Backend tRPC
- [ ] Procédures catalogue : list, create, update, delete, importCSV, importExcel
- [ ] Procédures planFormation : list, create, update, delete, valider
- [ ] Procédures planFormationItem : list, create, update, delete
- [ ] Logique de suggestion automatique (formations "validée Itinova" par thème/mot-clé, sinon catalogue général)
### Frontend - Menu & Navigation
- [x] Ajouter la section "Gestion des plans de formations" dans DashboardLayout.tsx
- [x] Ajouter les routes dans App.tsx
### Frontend - Page Plans de formation
- [x] Créer la page PlanFormation.tsx (liste des plans par établissement/année)
- [x] Formulaire de création/édition d'un plan (établissement + année)
- [x] Gestion des items du plan (intitulé, durée, prestataire, public concerné, description)
- [x] Statut du plan (brouillon, soumis, validé)
- [x] Vue détail d'un plan avec ses items
- [x] Bouton "Soumettre pour validation" (rôle établissement)
- [x] Bouton "Valider le plan" avec suggestion automatique (rôle admin/Itinova)
### Frontend - Page Catalogue de formation
- [x] Créer la page CatalogueFormation.tsx (liste des formations du catalogue)
- [x] Formulaire d'ajout/édition d'une formation du catalogue
- [x] Badge "Validée Itinova" (qualification par admin)
- [x] Champs OPCO (éligibilité, budget, référence)
- [x] Import CSV/Excel de formations
- [x] Filtres par thème, validée Itinova, OPCO
### Frontend - Suggestion automatique
- [x] Modal de suggestion lors de la validation d'un plan
- [x] Afficher en priorité les formations "validée Itinova" correspondant par thème/mot-clé
- [x] Sinon afficher les formations du catalogue général
- [x] Permettre d'associer une formation du catalogue à un item du plan
### Déploiement
- [ ] Tester sur TEST
- [ ] Déployer sur PROD