docs(spec): add § Export d'engagement section (sprint 6)
Specifies the new export feature contract: - 3 formats : Markdown, CSV, PDF - Engagement header + all simulations RT + SOC - Endpoint unique GET /api/engagements/<id>/export?format=md|csv|pdf - RBAC admin + redteam (SOC zero access, cohérent avec Templates) - Filename normalisé engagement-<id>-<slug>-YYYYMMDD.<ext> Committed as commit #1 of sprint 6 — applies lesson learned in sprints 3/4/5 where the SPEC section sat as uncommitted M SPEC.md until sprint-close discovery. Per lessons.md §sprint-5 fix candidate "Stage SPEC.md as part of the FIRST sprint commit, not as a separate later commit."
This commit is contained in:
3
SPEC.md
3
SPEC.md
@@ -39,6 +39,9 @@ L'instanciation d'un template dans un engagement crée une **nouvelle simulation
|
|||||||
|
|
||||||
**RBAC templates = ressource Red Team uniquement** : admin et redteam les gèrent (CRUD). SOC n'a aucun accès (pas de nav link, tous endpoints templates retournent 403). Les nouveaux noms de templates sont uniques pour la clarté UX du dropdown d'instanciation.
|
**RBAC templates = ressource Red Team uniquement** : admin et redteam les gèrent (CRUD). SOC n'a aucun accès (pas de nav link, tous endpoints templates retournent 403). Les nouveaux noms de templates sont uniques pour la clarté UX du dropdown d'instanciation.
|
||||||
|
|
||||||
|
## Export d'engagement
|
||||||
|
Un engagement peut être exporté à tout moment dans 3 formats au choix : **Markdown** (handoff narratif), **CSV** (machine-readable, intégration tableurs), **PDF** (livrable client). L'export contient l'en-tête de l'engagement et toutes ses simulations avec les champs Red Team **et** SOC. Endpoint unique : `GET /api/engagements/<id>/export?format=md|csv|pdf`. Réservé aux rôles admin et redteam (livrable RedTeam, cohérent avec le RBAC Templates). Filename normalisé : `engagement-<id>-<slug>-YYYYMMDD.<ext>`.
|
||||||
|
|
||||||
Prévoir un module d'authentification : dans un premier temps local à la bdd.
|
Prévoir un module d'authentification : dans un premier temps local à la bdd.
|
||||||
|
|
||||||
Dans un premier temps, il s'agit juste de notifier manuellement de l'exécution et les résultats des tests.
|
Dans un premier temps, il s'agit juste de notifier manuellement de l'exécution et les résultats des tests.
|
||||||
|
|||||||
Reference in New Issue
Block a user