PD-231 — Rétrospective¶
1. Contexte¶
| Champ | Valeur |
|---|---|
| Story ID | PD-231 |
| Titre | GitLab CI/CD et Pages |
| Domaine | site-vitrine |
| Projet | site |
| Date complétion | 2025-12-21 |
| Verdict | ACCEPTÉ |
2. Métriques¶
| Métrique | Valeur |
|---|---|
| Écarts bloquants | 1 (E-01 preview MR absente) |
| Écarts majeurs | 2 |
| Écarts mineurs | 1 |
| Stages pipeline | 4 (build, validate, test, deploy) |
3. Learnings clés¶
-
Preview MR est un invariant critique : L'absence de preview a causé un rejet immédiat. La fonctionnalité doit être implémentée dès la première version.
-
pa11y-ci v4 ne supporte pas ESM : Utiliser
.pa11yci.json(JSON) ou.pa11ycircau lieu depa11y.config.jsavecexport default. -
when: manualessentiel pour la prod : Sans validation explicite, le déploiement automatique contredit les exigences de revue avant mise en production. -
Pipeline doit refléter le plan : Un pipeline à un seul stage
deployne correspond pas à une architecture build/test/deploy. Le refactoring post-revue est coûteux. -
GitLab Pages est fiable : Les headers
_headers, les environments, et les artefacts fonctionnent comme documenté.
4. Patterns applicables¶
Nouveau pattern : Pipeline GitLab Pages complet¶
stages:
- build
- validate
- test
- deploy
pages:preview:
stage: deploy
environment:
name: review/$CI_COMMIT_REF_SLUG
url: https://$CI_PROJECT_NAMESPACE.gitlab.io/-/$CI_PROJECT_NAME/-/jobs/$CI_JOB_ID/artifacts/public/
auto_stop_in: 7 days
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
pages:
stage: deploy
when: manual # OBLIGATOIRE pour production
rules:
- if: $CI_COMMIT_BRANCH == "main"
5. Signal CLAUDE.md¶
Priorité haute : Preview MR obligatoire.
### GitLab Pages — Preview MR obligatoire (2026-02-XX)
Tout pipeline GitLab Pages DOIT inclure :
1. **Job `pages:preview`** pour les MR avec environment `review/*`
2. **`auto_stop_in: 7 days`** pour nettoyage automatique
3. **`when: manual`** sur le job `pages` de production
4. **Stages séparés** : build → validate → test → deploy
La preview MR est un invariant critique, pas une fonctionnalité optionnelle.
6. Conclusion¶
PD-231 a automatisé le déploiement GitLab Pages après correction d'un écart bloquant (preview MR absente). La découverte de l'incompatibilité pa11y-ci ESM illustre l'importance de tester les outils localement avant intégration CI. L'architecture build/validate/test/deploy est désormais standard.
Rétrospective générée 2026-02-19 (Étape 10 batch site-vitrine)