# 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
