PD-226 — Acceptabilité¶
📚 Navigation User Story
| Document | | | ---------- | -- | | 📋 [Spécification](PD-226-specification.md) | | | 🛠️ [Plan d'implémentation](PD-226-plan.md) | | | ✅ **Critères d'acceptation** | *(ce document)* | | 📝 [Retour d'expérience](PD-226-rex.md) | | [← Retour à site-vitrine](../PD-225-epic.md) · [↑ Index User Story](index.md)Objectif¶
Vérifier que l’implémentation est conforme à la spécification, respecte l’ensemble des invariants ProbatioVault et ne présente aucune incohérence ou oubli critique.
Périmètre de vérification¶
La revue d’acceptabilité vérifie explicitement :
- la conformité stricte à la spécification fonctionnelle
- le respect de tous les invariants applicables
- la couverture des scénarios de test définis
- l’absence d’incohérences, oublis ou régressions
Écarts identifiés¶
Classification des écarts¶
| Niveau | Définition |
|---|---|
| BLOQUANT | Violation d’un invariant, faille de sécurité, non-conformité majeure à la spec |
| MAJEUR | Fonction incomplète, comportement non conforme mais sans rupture de sécurité |
| MINEUR | Détail, dette acceptable, amélioration non critique |
Détail des écarts¶
| ID | Description | Référence | Gravité |
|---|---|---|---|
| E-01 | Static/SSG non verrouillé : astro.config.mjs ne force pas output: 'static', ni les contrôles prévus (pas de script validate-static.sh, pas de astro check mentionné), alors que la spec exige un site entièrement statique et un test astro check dédié. | Spec §Invariants (site entièrement statique, testable/offlinable) ; Plan §Configuration Astro/Validation ; astro.config.mjs | MAJEUR |
| E-02 | Headers de sécurité et CSP absents : aucun fichier public/_headers ni configuration équivalente pour la whitelist (self + GA + Brevo) et COOP/COEP, alors que la spec impose CSP/headers pour limiter les dépendances externes et garantir l’offline. | Spec §Invariants (ressources locales, dépendances externes limitées) ; Plan §Headers de sécurité ; repo (fichier manquant) | MAJEUR |
Conclusion d'acceptabilité¶
✅ ACCEPTÉ — Écarts E-01 (SSG verrouillé) et E-02 (headers/CSP) résolus.
Suivi des écarts (append-only)¶
[2025-12-20] — Suivi E-01¶
- Statut précédent : OUVERT
- Statut actuel : RÉSOLU
- Justification factuelle :
astro.config.mjsforceoutput: 'static', garantissant le mode SSG.- La CI exécute
astro check(jobcheck) pour empêcher l’introduction de SSR. - Référence vérification :
astro.config.mjs.gitlab-ci.yml(jobcheck)
[2025-12-20] — Suivi E-02¶
- Statut précédent : OUVERT
- Statut actuel : RÉSOLU
- Justification factuelle :
- Présence du fichier
public/_headersavec CSP et headers de sécurité (X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy). - Référence vérification :
public/_headers
Verdict d’acceptabilité (courant)¶
- ✅ ACCEPTÉ
- Date : 2025-12-20
- Motif synthétique : E-01 (SSG verrouillé) et E-02 (headers/CSP) résolus.
Historique des verdicts¶
| Date | Verdict | Version | Commentaire |
|---|---|---|---|
| 2025-12-18 | ⚠️ ACCEPTÉ AVEC RÉSERVES | n/a | Verdict initial avec E-01 et E-02 ouverts |
| 2025-12-20 | ✅ ACCEPTÉ | n/a | E-01 et E-02 résolus (SSG + headers/CSP) |