Aller au contenu

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 _headers comme 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)