---
name: project-categories-secteurs-inv
description: "Tables categories_inv et secteurs_inv, gestion admin dans AdminPlateformes, fusion, filtre référentiel"
metadata: 
  node_type: memory
  type: project
  originSessionId: 2fef7a75-e0f3-4f7d-9c80-79c3be16af03
---

Fusion de `type_investissement` (champ enum mono-valeur) et des catégories référentiel en deux tables multi-valeurs gérées globalement par l'admin.

**Tables DB :**
- `categories_inv (id, nom, created_at)` — liste globale des catégories d'investissement
- `referentiel_categories_inv (referentiel_id, categorie_id)` — junction many-to-many
- `secteurs_inv (id, nom, created_at)` — liste globale des secteurs d'investissement
- `referentiel_secteurs_inv (referentiel_id, secteur_id)` — junction many-to-many

**Backend :**
- `/api/ref-categories` (GET/POST/PUT/:id/DELETE/:id/POST/:id/merge) — protégé requireAdmin
- `/api/ref-secteurs` (GET/POST/PUT/:id/DELETE/:id/POST/:id/merge) — protégé requireAdmin
- `referentiel.js` : helpers `attachCatsInv` + `attachSecteursInv`, `categories_inv_ids` et `secteurs_inv_ids` dans saveRelations
- Seeding au démarrage depuis `type_investissement` et `secteur` existants

**Frontend — AdminPlateformes (/admin/plateformes) :**
- Section "Catégories d'investissement" : RefListSection avec apiPath="/ref-categories"
- Section "Secteurs d'investissement" : RefListSection avec apiPath="/ref-secteurs"
- Menu ⋮ par ligne : Renommer / Fusionner avec… / Supprimer
- Fusion : POST /:id/merge → ajoute cible aux référentiels qui n'ont pas déjà la cible, supprime source
- Clic sur un nom de catégorie → navigue vers referentiel avec `?filterCat=<nom>` pré-rempli

**Frontend — PlatformeProfile.jsx :**
- Sélecteurs chips violet (categories_inv) et vert (secteurs_inv) en mode édition
- Vue : badges par catégorie/secteur
- Prompt IA : `{{CATEGORIES_INV_LIST}}` et `{{SECTEURS_INV_LIST}}` interpolés depuis les listes chargées
- `type_investissement` et `secteur` envoyés à null au save (dépréciation)

**Frontend — AdminPlateformes — RefModal (création/édition référentiel) :**
- Charge `/ref-categories` et `/ref-secteurs` au montage
- Chips toggle violet/vert pour sélectionner les catégories et secteurs
- Envoie `categories_inv_ids` et `secteurs_inv_ids` dans le payload

**Why:** Permettre plusieurs catégories et secteurs par plateforme, gérés centralement par l'admin avec propagation automatique via renommage.
