---
name: project-categories-secteurs-utilisateur
description: "Catégories/secteurs d'investissement en deux niveaux : globales admin (héritées) + privées utilisateur, avec associations plateformes et investissements"
metadata: 
  node_type: memory
  type: project
  originSessionId: 264d200a-fea4-4903-b7c5-20dcc9ebfbd2
---

Extension du système categories_inv / secteurs_inv pour permettre un modèle à deux niveaux.

**DB — nouvelles colonnes et tables :**
- `categories_inv.user_id` et `secteurs_inv.user_id` — NULL = global admin, sinon = privé utilisateur
- `plateforme_categories_inv (plateforme_id, categorie_id)` — associations plateforme↔catégorie utilisateur
- `plateforme_secteurs_inv (plateforme_id, secteur_id)`
- `investissement_categories_inv (investissement_id, categorie_id)`
- `investissement_secteurs_inv (investissement_id, secteur_id)`

**Backend :**
- `/api/categories-inv` et `/api/secteurs-inv` — CRUD user-facing (globales en lecture seule, privées éditables)
- `/api/plateformes/:id/categories-inv` et `secteurs-inv` — GET/PUT associations plateforme
- `/api/investissements/:id/categories-inv` et `secteurs-inv` — GET/PUT associations investissement
- GET `/api/investissements` et `/:id` enrichis : `categories_inv` et `secteurs_inv` arrays inline
- Push référentiel étendu : pousse aussi catégories/secteurs vers plateformes liées (mode doux = INSERT OR IGNORE, fort = DELETE+INSERT) avec sync en cascade sur investissements actifs

**Sync automatique investissements :**
Quand les catégories/secteurs d'une plateforme sont mis à jour (PUT ou push), les investissements `en_cours`/`en_retard`/`procedure` de cette plateforme sont resynchronisés automatiquement.

**Frontend :**
- Settings > "Catégories d'investissement" et "Secteurs d'investissement" : liste globales (badge Héritée, non éditables) + privées (CRUD inline)
- Settings > Plateformes : formulaire d'édition avec chips violet (catégories) et vert (secteurs) ; panneau détail affiche les associations
- Investissements : chips dans le formulaire (pré-remplis depuis la plateforme choisie), badges dans InvestissementDetail, filtres Catégorie et Secteur dans la liste (ET logique)

**Why:** Permettre à chaque utilisateur d'organiser ses investissements selon ses propres critères tout en héritant d'une taxonomie commune définie par l'admin.

**How to apply:** Pour toute nouvelle page affichant les investissements, charger `/api/categories-inv` et `/api/secteurs-inv` pour les filtres. Les données `categories_inv` et `secteurs_inv` sont déjà incluses dans les réponses GET investissements.
