175 lines
7.2 KiB
Markdown
175 lines
7.2 KiB
Markdown
# N — Session : Taxonomie v2 + Carte unifiée AEP
|
|
|
|
> **À lancer APRÈS déploiement prod V2 stable.**
|
|
> Bundle : refonte taxonomie + refonte zone carte + hiérarchie racine/antennes.
|
|
> Modèle : Opus pilote + délégation Sonnet.
|
|
> Durée estimée : 6-8h.
|
|
|
|
## Mission
|
|
|
|
Refonte de l'architecture navigation + taxonomie AEP pour supporter :
|
|
1. 2 modes d'usage (Entraide / Pratiques inspirantes) + prévoir 3ème futur (Bibliothèque RAG)
|
|
2. Hiérarchie racine/antennes (CNOA/CROA, CAUE, syndicats…)
|
|
3. Affichage unifié Métropole + DOM-TOM (plus d'onglet territoire)
|
|
|
|
## Contexte
|
|
|
|
- Racine : `nav-carte/`
|
|
- Spec Session 2 : `V2-cadrage/H-prompt-session-2-front.md` (bloc État d'avancement)
|
|
- Journal : `JOURNAL-V2.md`
|
|
- Session 2 livre le front complet (desktop + mobile), déployé en prod
|
|
|
|
## 3 chantiers
|
|
|
|
### CHANTIER 1 — Onglets top : modes d'usage
|
|
|
|
Remplacer les onglets `Métropole | Outre-mer` par :
|
|
|
|
```
|
|
[ 🤝 Entraide ] [ ✨ Pratiques inspirantes ] [ 📚 Bibliothèque RAG ]
|
|
actif actif (MVP) disabled (S4+)
|
|
```
|
|
|
|
**Mode Entraide (défaut)** :
|
|
- Sidebar : échelle + fonctions (10 actuelles) + territoires
|
|
- Types affichés : Institution, Association, Syndicat, Formation, Média
|
|
- Logique : "J'ai besoin d'aide, où je trouve ?"
|
|
|
|
**Mode Pratiques inspirantes** :
|
|
- Sidebar : postures (multi-tag) + régions + fonctions secondaires
|
|
- Types affichés : Agence, Entreprise
|
|
- Logique : "Qui fait des choses qui m'inspirent ?"
|
|
|
|
**Mode Bibliothèque RAG** :
|
|
- Onglet visible mais désactivé (tooltip "à venir")
|
|
- Placeholder pour future intégration LightRAG/QMD
|
|
|
|
URL sync : `?mode=entraide|pratiques|rag`
|
|
|
|
### CHANTIER 2 — Nouvelle taxonomie
|
|
|
|
#### Dimension "Type d'organisation" (nouveau, required)
|
|
|
|
Ajout colonne NocoDB `type_organisation` (enum) :
|
|
- `institution` — CNOA, CAUE, ordres
|
|
- `association` — UNSFA, CNAJEP, assos thématiques
|
|
- `syndicat` — syndicats pro
|
|
- `agence` — agences d'archi / entreprises privées
|
|
- `formation` — ENSA, écoles
|
|
- `media` — AOC, magazines spécialisés
|
|
- `autre` — catch-all
|
|
|
|
Migration : assigner manuellement aux 96 fiches seed (mapping ~30 min, faire en script Python ou UI NocoDB).
|
|
|
|
#### Dimension "Postures" (nouveau, optional, multi)
|
|
|
|
Ajout colonne NocoDB `postures` (multi-select) :
|
|
- `regenerative` — Pratique régénérative
|
|
- `bas-carbone` — Bas carbone
|
|
- `cooperative` — SCOP / Coopérative
|
|
- `patrimoine` — Patrimoine / réhabilitation
|
|
- `ecoconstruction` — Écoconstruction
|
|
- `low-tech` — Low-tech
|
|
- `participatif` — Habitat participatif
|
|
- (liste évolutive — documenter le vocabulaire dans JOURNAL)
|
|
|
|
**Critères de sélection** (à définir avec Jules) : viser le **vérifiable** (signature charte X, labellisation Y, mention dans source Z) plutôt que le subjectif. Piste pour éviter la "guéguerre" politique.
|
|
|
|
#### Hiérarchie racine/antennes (cf. prompt L existant)
|
|
|
|
Ajout `parent_id` (FK nullable) + `is_root` (bool). Mapping CROA→CNOA, CAUE→Réseau CAUE.
|
|
|
|
### CHANTIER 3 — Carte unifiée (remplace tabs Métropole/Outre-mer)
|
|
|
|
Layout zone carte :
|
|
|
|
```
|
|
┌─────────────────────────────────┬──────────────┐
|
|
│ │ Guadeloupe │
|
|
│ │ mini-Leaflet│
|
|
│ ├──────────────┤
|
|
│ FRANCE MÉTROPOLE │ Martinique │
|
|
│ (Leaflet principal) │ mini-Leaflet│
|
|
│ ~2/3 largeur zone carte ├──────────────┤
|
|
│ │ Guyane │
|
|
│ │ mini-Leaflet│
|
|
│ ├──────────────┤
|
|
│ │ La Réunion │
|
|
│ │ mini-Leaflet│
|
|
│ ├──────────────┤
|
|
│ │ Mayotte │ ← à confirmer Jules (4 ou 5 ?)
|
|
│ │ mini-Leaflet│
|
|
└─────────────────────────────────┴──────────────┘
|
|
```
|
|
|
|
- Sidebar DOM-TOM à droite : colonne scrollable avec mini-cartes Leaflet (~160-180px hauteur chacune)
|
|
- Chaque mini-carte = vue centrée + zoomée sur son territoire avec ses pins propres
|
|
- Click sur pin OU card fiche (sidebar gauche) → centre la carte pertinente (principale ou mini)
|
|
- Titre au-dessus de chaque mini : "Guadeloupe", etc.
|
|
- Responsive mobile :
|
|
- Métropole en haut pleine largeur
|
|
- Mini-cartes DOM-TOM empilées dessous, scroll vertical
|
|
|
|
Suppression de `TerritoireTabs.vue` + `OutremerMap.vue` refactoré.
|
|
|
|
## Livrables
|
|
|
|
- [ ] Migration schéma NocoDB : `type_organisation`, `postures`, `parent_id`, `is_root`
|
|
- [ ] Mapping seed 96 fiches (script ou UI)
|
|
- [ ] Composants :
|
|
- `ModeTabs.vue` (3 onglets top, RAG disabled)
|
|
- `TypeFilter.vue` (selon mode actif)
|
|
- `PostureFilter.vue` (mode Pratiques)
|
|
- `DomTomSidebar.vue` (mini-cartes droite)
|
|
- `FicheRacineHeader.vue`, `BreadcrumbReseau.vue` (hiérarchie, cf. L)
|
|
- [ ] Adaptation sidebar selon mode (filtres différents)
|
|
- [ ] Adaptation NavMap : layout 2/3 + 1/3 DOM-TOM
|
|
- [ ] Pin racine (safran) vs antenne (bleu) sur carte
|
|
- [ ] Backward compat : fiches sans type/postures continuent à fonctionner (fallback "autre")
|
|
- [ ] Tests manuels : changement mode, filtrage par type/posture, hiérarchie CNOA→CROA, affichage DOM-TOM unifié
|
|
|
|
## Règles
|
|
|
|
- Accents français
|
|
- Palette stricte (`palette-nav-v2.md`)
|
|
- Mobile-first
|
|
- Pas de régression S2
|
|
- Commits atomiques par chantier (T1, T2, T3)
|
|
- Update `JOURNAL-V2.md`
|
|
|
|
## Délégation (Opus pilote)
|
|
|
|
| Sous-agent | Tâche | Modèle |
|
|
|-----------|-------|--------|
|
|
| Sonnet 1 | Migration schéma + mapping seed | Sonnet |
|
|
| Sonnet 2 | Onglets top + adaptation sidebar selon mode | Sonnet |
|
|
| Sonnet 3 | Carte unifiée (layout + DomTomSidebar) | Sonnet |
|
|
| Sonnet 4 (optionnel) | Hiérarchie UI (breadcrumb, bandeau racine) | Sonnet |
|
|
|
|
Parallélisation : Sonnet 1 d'abord (schéma), puis Sonnet 2+3+4 en parallèle.
|
|
|
|
## Critère de fin
|
|
|
|
- 3 onglets visibles, Entraide et Pratiques commutent la logique filtres+types
|
|
- Type et Postures filtrables, fiches seed migrées
|
|
- Carte unifiée : Métropole + 5 (ou 4) DOM-TOM visibles simultanément
|
|
- Hiérarchie fonctionnelle (CNOA → CROA-IDF → retour CNOA)
|
|
- Aucune régression S2 (recherche, filtres existants, /fiche, /contribuer)
|
|
- `npm run build` clean
|
|
- Commits poussés
|
|
- JOURNAL V2 à jour
|
|
|
|
## Questions à trancher avec Jules AVANT dispatch
|
|
|
|
1. **4 ou 5 DOM-TOM** ? (Guadeloupe, Martinique, Guyane, La Réunion, Mayotte = 5 ; Jules a mentionné 4)
|
|
2. **Critères Postures vérifiables** : liste des labels/chartes/sources faisant foi ?
|
|
3. **Fonctions du mode Pratiques** : garde-t-on les 10 fonctions ou on simplifie ?
|
|
4. **Modération** : fiches type "agence" passent-elles par le même workflow `pending` ou filtre plus strict ?
|
|
|
|
## Hors scope (Session 3)
|
|
|
|
- Worker IA enrichissement (parse URL + Mistral)
|
|
- Chatbot live
|
|
- Bibliothèque RAG (vectorisation + interface query)
|
|
- Déploiement final prod post-taxonomie
|