> ⚠️ **GAB SENSIBLE — VALIDATION BOSS OBLIGATOIRE avant tout usage.** (child-safety / RGPD / orientation / career). Contenu extrait sans invention ; à relire par un humain.

# GAB-364 · OrientationLearningPathwayOverview — « Comparer des voies »

**Archétype / renderer_key :** `compare_grid` (cartographie) · **module :** EdTechOrientationLearning
**Critère validé :** changer le JSON change la comparaison sans modifier le HTML. ✅ check.py 12/12.

> 🚨 **GAB SENSIBLE (orientation / career / RGPD / child-safety)** — **REVUE BOSS OBLIGATOIRE avant tout usage prod.**
> Extraction ULTRA-prudente : tout le contenu provient STRICTEMENT de l'écran source. AUCUNE invention pédagogique.

## Pack (structure officielle par-GAB)
```
GAB-364/
  renderer.html            ← moteur comparaison de voies (ne pas modifier par instance)
  instance.example.json    ← SOURCE DE VÉRITÉ (contenu réel, à plat)
  schema.contract.json     ← contrat de validation
  README-contract.md       ← ce fichier
```

## Champs requis (instance, à plat)
`gab_id` · `pathway_overview_id` · `neutrality` · `no_superior_path` (= true) · `pathways[]{kind,body}`
Optionnels : `title`, `levels`, `prerequisites`, `bridges{label,message}`, `sources{label,message}`, `region_note`, `child_safety{...}`.

## Ce qui vient du JSON vs HTML
- **JSON** : titre, phrase de neutralité, chaque voie comparée (kind + body), libellés et messages des 2 boutons (passerelles + sources), note région.
- **HTML** : grille de comparaison 2 colonnes, boutons structurels, panneaux note/ok/warn, layout, responsive.

## Garde-fous (child_safety / orientation neutre)
- **Neutralité absolue** : aucune voie présentée comme « supérieure ». `no_superior_path` DOIT valoir `true` sinon BLOCKED.
- **Sources citées** : référentiels officiels (type ONISEP / Éducation nationale) + avertissement « à vérifier pour ta région et l'année en cours ».
- **Anti-invention** : niveaux et prérequis détaillés ne figurent PAS dans l'écran source → laissés en `_TODO`, jamais hallucinés.
- **BLOCKED** si `neutrality` absent / moins de 2 `pathways` / `no_superior_path != true`.

## ⚠️ Flag de revue Boss (GAB SENSIBLE)
Ce gabarit touche à l'orientation scolaire / professionnelle de mineurs. Avant tout déploiement :
1. Faire valider par Boss le wording de neutralité et la mention des sources.
2. Compléter les `_TODO` (`levels`, `prerequisites`) UNIQUEMENT avec du contenu sourcé et validé — JAMAIS d'estimation libre.
3. Vérifier que la date/région d'application est exacte et à jour.

## _TODO (contenus absents de l'écran source — à compléter après validation)
- `levels` : niveaux détaillés par voie — absent du HTML source.
- `prerequisites` : prérequis détaillés par voie — absent du HTML source.

## QA à vérifier
1. Modifier une `body`/`message` → rendu change sans toucher au HTML (critère d'or). 2. `pathways:[]` → BLOCKED propre. 3. `no_superior_path:false` → BLOCKED neutralité. 4. CTA « D'où viennent ces infos ? » → affiche sources + avertissement région/année. 5. Responsive 375/768/1024.

## renderer_key
`compare_grid` — **renderer à concevoir (pas de moteur kit de référence)**. Le moteur a été dérivé directement de l'écran source GAB-364 (grille `.cmp` 2 colonnes `.doc-paper` + 2 CTAs `d364Compare` / `d364Source`).

## external_refs / dependencies
Aucune dépendance hors-lot. Les boutons référencent des notions internes au gabarit (passerelles, sources) ; aucun renvoi vers un autre GAB n'est consommé par le renderer (le HTML source mentionnait GAB-365 « fiche métier » uniquement dans `do_not_use_when`, hors périmètre de rendu).

## Source
`INDEX-300-orientationlearning-GAB-361-365-PLAYABLE.html` (stage `data-tpl="364"`, handlers `d364Compare` / `d364Source`).
