# Taxonomie cible : nature vs sujet — décision produit du 19/08

> **Enguerran, 19/08.** Correction de fond qui **invalide l'approche du mapping**
> initial (`20_MAPPING_CATEGORIES_BASCULE.md`, qui mappait ancienne catégorie →
> nouvelle en 1:1). Le vrai problème est structurel : le modèle actuel confond
> deux axes dans la seule dimension « catégorie ». Alimente le chantier modèle de
> données #517.

## Le défaut actuel

`categories` mélange deux natures d'information :
- des **natures d'objet** promues en catégories : `Parcours` (cat 26), `Tutoriels`
  (cat 27) — ce ne sont PAS des sujets ;
- des **sujets** rangés en sous-catégories : Assurance construction, Management,
  Contentieux, Gsicass, Process courrier, GED… — ceux-là sont légitimes.

Conséquence : un « tuto Gsicass » vit sous la catégorie `Tutoriels` › `Gsicass`,
alors que sa nature (tuto) et son sujet (Gsicass) sont deux choses distinctes.

## La cible — DEUX AXES SÉPARÉS

| Axe | Porté par | Valeurs | Rôle |
|---|---|---|---|
| **Nature** | **l'objet lui-même** (champ `type`) | Cours · Tuto · Parcours · *(futur : Module, Programme)* | ce QU'EST l'objet |
| **Taxonomie** | catégorie / sous-catégorie | Expertises, métiers, matières, spécialités, processus (Assurance, Management, Contentieux, Gsicass…) | de QUOI ça PARLE |

**Filtrage** : dans une catégorie de sujet, on filtre **par nature**. (« Montre-moi
tout sur l'Assurance construction » → cours + tutos + parcours de ce sujet.)

## Le référentiel de SUJETS qui émerge des données prod

Extrait de `e-learning-prod` (19/08, lecture seule), une fois les natures retirées :

Assurance (auto · construction · grands risques) · Conformité · Contentieux ·
Sécurité · Management · Intégration · Gsicass · Process courrier · GED · Archie ·
RIO · Outils informatiques · Magic *(à qualifier)*.

Les « catégories » `Parcours` et `Tutoriels` **disparaissent** en tant que
catégories : elles deviennent des valeurs de l'axe **nature**. Leurs
sous-catégories-sujets (Gsicass, GED, Process courrier…) **remontent** comme
catégories de sujet à part entière.

## Ce que ça change pour la bascule prod

`20_MAPPING_CATEGORIES_BASCULE.md` est **caduc dans son principe** : le mapping
n'est plus « ancienne cat → nouvelle cat » mais **« reclasser chaque objet sur les
deux axes »** — lui donner sa nature (type) et son sujet (catégorie). À refaire
sur la base de cette décision. Le rétro-remplissage `courses.category_id` (#137
§7.1) doit viser la catégorie de **sujet**, pas la nature.

## Décisions à prendre (suite)
- La liste exacte et la hiérarchie des sujets (catégorie ↔ sous-catégorie) — atelier référentiel.
- Le champ `type` : enum figée, ou administrable (pour absorber Module/Programme sans migration) ?
- Migration : les objets existants reçoivent nature + sujet à partir de leur ancienne (cat, sous-cat).
