# GAB-006 · SessionResumePrompt — « Reprendre ou recommencer »

**Archétype / renderer_key :** `text_cta` (cartographie) · **module :** EdTechPlayEngine
**Critère validé :** changer le JSON change l'affichage sans modifier le HTML.

## Pack (structure officielle par-GAB)
```
GAB-006/
  renderer.html            ← moteur reprise de session (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
```

## Archétype

GAB-006 est une **invite de reprise de session** : l'élève revient sur une session entamée et doit choisir entre reprendre au point d'arrêt ou tout recommencer. Palette dominante violet (signature EdTechPlayEngine).

## Champs requis (instance, à plat)
`gab_id` · `resume_prompt_id` · `session_title` · `body` · `primary_cta{label,action}` · `secondary_cta{label,action}`

Optionnels : `progress{current_step,total_steps,pct}` · `icon` · `estimated_duration` · `feedback_resume` · `feedback_restart` · `accessibility{aria_label_primary,aria_label_secondary}`

## Ce qui vient du JSON vs HTML
- **JSON** : titre de session, sous-titre contextuel, libellés des deux boutons, progression (étape, pourcentage), icône, messages de feedback post-clic, aria-labels.
- **HTML** : card résumé, barre de progression, layout deux boutons, moteur d'état feedback, slots panel.

## Garde-fous

- **BLOCKED** si `session_title`, `body`, `primary_cta` ou `secondary_cta` sont absents.
- **progress masqué** (`hidden`) si le champ `progress` n'est pas fourni dans l'instance — aucune erreur.
- **Anti-duplication** : ne PAS utiliser quand c'est la première fois (→ GAB-002) ou quand la session est terminée (→ KIT-048 replay).
- **Palette** : violet (#7B61FF) exclusivement — aucun rgba(0,0,0,...) en box-shadow.

## Quand utiliser ce gabarit
- L'élève revient sur une session entamée.
- Une progression antérieure existe (checkpoint enregistré).

## Quand NE PAS utiliser
- Première fois sur la session → GAB-002.
- Session terminée → KIT-048 replay.
- Config de session changée → GAB-014.

## QA à vérifier
1. Modifier `session_title` ou `body` → rendu change sans toucher au HTML (critère d'or).
2. `session_title` absent → BLOCKED propre avec message lisible.
3. `progress` absent → boîte de progression masquée, rendu sans erreur.
4. Clic bouton primary → feedback en vert (mint-deep) ; clic secondary → feedback en rouge (coral-deep).
5. `init(monInstanceExterne)` → le rendu change (injection data-driven).
6. Responsive 375 / 768 / 1024 : aucun débordement.

## Source
`INDEX-300-playengine-GAB-006-010-PLAYABLE.html` (stage `data-tpl="6"`, handlers `resumeAction`, `resumeReset`).

## Références hors-lot (external_refs / dependencies)

| Référence | Usage |
|---|---|
| GAB-002 | Première session (pas de progression antérieure) |
| GAB-007 | SessionPauseOverlay (même lot) |
| GAB-008 | SessionCheckpointSave (même lot) |
| KIT-048 | Replay session terminée |
| GAB-014 | Config session changée |
