PD-226 — Rétrospective¶
1. Contexte¶
| Champ | Valeur |
|---|---|
| Story ID | PD-226 |
| Titre | Configuration initiale Astro |
| Domaine | site-vitrine |
| Projet | site |
| Date complétion | 2025-12-20 |
| Verdict | ACCEPTÉ |
2. Métriques¶
| Métrique | Valeur |
|---|---|
| Écarts majeurs résolus | 2 (E-01 SSG, E-02 Headers) |
| Points fluides | 7 |
| Dette technique initiale | 4 items |
3. Learnings clés¶
-
Valeurs par défaut ne sont pas des garanties :
output: 'static'est implicite dans Astro mais peut être écrasé. L'explicite est toujours préférable pour les invariants critiques. -
Headers HTTP dépendent de l'infrastructure : GitLab Pages ne supporte pas
_headerscomme Netlify. Vérifier la documentation de la plateforme cible avant implémentation. -
Validation automatisée doit précéder le code : Sans script de validation en CI, les invariants ne sont que des promesses.
-
Plan d'implémentation = contrat : Tous les fichiers listés dans le plan doivent être créés, pas seulement ceux "essentiels".
4. Patterns applicables¶
Nouveau pattern : Configuration SSG explicite Astro¶
// astro.config.mjs
export default defineConfig({
output: 'static', // OBLIGATOIRE - ne pas s'appuyer sur le défaut
// ...
});
Nouveau pattern : Headers sécurité GitLab Pages¶
# public/_headers
/*
Content-Security-Policy: default-src 'self'; script-src 'self'
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: camera=(), microphone=(), geolocation=()
5. Signal CLAUDE.md¶
Priorité moyenne : Vérifier la compatibilité plateforme cible.
### Hébergement Statique — Vérification plateforme (2026-02-XX)
Avant d'implémenter des fonctionnalités dépendantes de la plateforme :
1. Vérifier la documentation officielle (GitLab Pages, Netlify, Cloudflare)
2. Tester localement avec un serveur statique similaire
3. Documenter les limitations découvertes
**Exemples** : `_headers` supporté par Netlify/CF mais pas par tous, middleware statique = meta refresh
6. Conclusion¶
PD-226 a établi la configuration initiale Astro avec SSG strict et polices locales. Les écarts E-01 (SSG non verrouillé) et E-02 (headers absents) ont révélé l'importance de rendre explicites les valeurs par défaut et de vérifier la compatibilité plateforme. Les patterns établis sont réutilisés dans toutes les US suivantes de l'EPIC.
Rétrospective générée 2026-02-19 (Étape 10 batch site-vitrine)