# 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