Aller au contenu

PD-232 — Rétrospective

1. Contexte

Champ Valeur
Story ID PD-232
Titre FAQ Content Collections
Domaine site-vitrine
Projet site
Date complétion 2025-12-21
Verdict ACCEPTÉ

2. Métriques

Métrique Valeur
Fichiers FAQ créés 54 (27 FR + 27 EN)
Catégories 8
Écarts mineurs résolus 2 (E-01, E-02)
Lignes dupliquées éliminées 190

3. Learnings clés

  • Content Collections sont puissantes : La validation Zod intégrée et le typage automatique éliminent beaucoup d'erreurs potentielles.

  • Enum Zod est un garde-fou efficace : Impossible de créer une FAQ avec une catégorie inexistante, le build échoue immédiatement.

  • <details> suffisant pour les accordéons : Pas besoin de JavaScript custom pour un comportement d'accordéon accessible et fonctionnel.

  • Factorisation peut attendre : Avoir du code inline dupliqué est acceptable pour un MVP si le résultat fonctionne. Le refactoring viendra plus tard.

  • JSON-LD FAQPage améliore le SEO : Générer dynamiquement le schéma à partir des données garantit qu'il est toujours à jour avec le contenu.

4. Patterns applicables

Nouveau pattern : Content Collection FAQ avec Zod

// src/content/config.ts
const faqCollection = defineCollection({
  type: 'content',
  schema: z.object({
    question: z.string().min(10),
    category: z.enum(['security', 'legal', 'usage', 'apps']),
    order: z.number().int().positive(),
    lang: z.enum(['fr', 'en']),
    translationKey: z.string().optional(),
  }),
});

Nouveau pattern : Accordéon HTML natif accessible

<details>
  <summary>{question}</summary>
  <div class="faq-answer">
    <Content />
  </div>
</details>

5. Signal CLAUDE.md

Priorité basse : Zod min() pour validation.

### Content Collections — Validation Zod stricte (2026-02-XX)

Pour les Content Collections Astro, utiliser des contraintes Zod strictes :
- `z.string().min(10)` pour les champs texte (évite les valeurs vides)
- `z.enum([...])` pour les catégories (empêche les typos)
- `z.number().int().positive()` pour les ordres

Le build Astro échoue si la validation ne passe pas.

6. Conclusion

PD-232 est la US la plus réussie de l'EPIC site-vitrine. Les Content Collections Astro avec validation Zod ont éliminé les erreurs de contenu. Les écarts mineurs (validation minimale, duplication) ont été rapidement corrigés. Le pattern FAQ avec schéma JSON-LD dynamique est réutilisable pour d'autres contenus structurés.


Rétrospective générée 2026-02-19 (Étape 10 batch site-vitrine)