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

# GAB-363 · OrientationLearningSkillStrengthMap — « Cartographier ses forces »

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

> ⚠️ **GAB SENSIBLE — REVUE BOSS REQUISE.** Ce gabarit touche à l'orientation / l'auto-évaluation d'un mineur (child-safety + RGPD orientation/career). Tout contenu a été extrait **strictement** du HTML source, **aucune invention**. Une revue Boss est demandée avant toute mise en production (libellés des forces, distinction goût/niveau, formulations « à confirmer », garde-fous anti-étiquette).

## Pack (structure officielle par-GAB)
```
GAB-363/
  renderer.html            ← moteur carte des forces (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` · `skill_map_id` · `strengths[]{label,kind,icon,why}` · `primary_cta{label,action}`
Optionnels : `title`, `intro`, `pick_hint`, `right_to_progress_notice`, `child_safety{...}`.

## Ce qui vient du JSON vs HTML
- **JSON** : chaque force (label, nature `kind`, icône, `why` au clic), le libellé du bouton, l'intro, le hint, la notice « droit de progresser ».
- **HTML** : liste des forces, panneaux ok/warn/note (couleur pilotée par `kind`), bouton structurel, layout.

## Nature des forces (`kind`)
- `proof` (mint) → niveau **étayé par une preuve** (ex : « bon en logique » → 8/10 aux exercices). Panneau `ok`.
- `taste` (gold) → **goût/intérêt sans note** (ex : « j'aime dessiner »). Panneau `note`. Goût ≠ niveau.
- `low` (coral) → **peu de données** → « à confirmer », jamais « faible »/« nul ». Panneau `warn`.

## Garde-fous (child_safety)
- **Anti-étiquette** : aucune force figée. « tu peux progresser » affiché — droit de progresser garanti.
- **Goût ≠ niveau** : un intérêt n'est jamais présenté comme une mesure de niveau.
- **Prudence si peu de données** : « à confirmer », jamais d'étiquette dévalorisante (« nul », « faible »).
- **Aucune voie/orientation présentée ici** (cela relève de GAB-364).
- **BLOCKED** si `strengths` vide / `primary_cta` absent.

## QA à vérifier
1. Modifier un `label`/`why` → rendu change sans toucher au HTML (critère d'or). 2. `strengths:[]` → BLOCKED propre. 3. Clic force `low` → message « à confirmer », jamais « faible ». 4. Clic force `taste` → message goût ≠ niveau. 5. CTA → notice droit de progresser. 6. Responsive 375/768/1024.

## external_refs / dependencies
- **GAB-364** (hors lot ici, dans le même set 361-365) : présentation des voies/passerelles d'orientation. Le bloc source `do_not_use_when` de GAB-363 précise « présenter des voies (→ GAB-364) » — GAB-363 ne fait QUE cartographier les forces, pas proposer des voies.

## Source
`INDEX-300-orientationlearning-GAB-361-365-PLAYABLE.html` (stage `data-tpl="363"`, handler `d363Pick`).
