[Nom de la Collection de Contenu]
Type de ressource : Astro Content Collection (Markdown/MDX)
Fichier source :src/content/[collection-name]/ousrc/content/config.ts
Statut : [Actif / Déprécié / En développement]
Slice : [Numéro de la tranche verticale]
Version : 1.0
1. Vue dâensemble (DOC)
Section titled â1. Vue dâensemble (DOC)â1.1. Description
Section titled â1.1. Descriptionâ[Description concise de cette collection de contenu et son rĂŽle dans lâarchitecture du site]
1.2. Objectif
Section titled â1.2. Objectifâ- [Objectif principal : ex. fournir une documentation technique pour les dĂ©veloppeurs]
- [BĂ©nĂ©fice pour lâutilisateur final]
1.3. PérimÚtre concerné
Section titled â1.3. PĂ©rimĂštre concernĂ©â| Type de contenu | Statut |
|---|---|
| Documentation technique | [â /â] |
| Blog | [â /â] |
| Portfolio | [â /â] |
| Pages statiques | [â /â] |
| Format | Statut |
|---|---|
| Markdown (.md) | [â /â] |
| MDX (.mdx) | [â /â] |
| Les deux | [â /â] |
| Consommateur | Statut |
|---|---|
| Starlight | [â /â] |
| Astro SSG | [â /â] |
| Les deux | [â /â] |
| Indexation | Statut |
|---|---|
| Pagefind | [â /â] |
2. Architecture et structure (DOC)
Section titled â2. Architecture et structure (DOC)â2.1. Arborescence des fichiers
Section titled â2.1. Arborescence des fichiersâsrc/content/âââ config.ts # DĂ©finition des schĂ©mas Zodâââ [collection-name]/ âââ index.mdx # Page d'accueil de la collection âââ [section-1]/ â âââ page-1.md â âââ page-2.mdx âââ [section-2]/ âââ page-3.md2.2. Composants impliquĂ©s
Section titled â2.2. Composants impliquĂ©sâ| Composant | RĂŽle | Couche |
|---|---|---|
src/content/config.ts |
Définition des schémas de validation (Zod) | L2 (Astro) |
| Fichiers MD/MDX | Contenu source | L1 (Contenu) |
| Starlight | Rendu de la documentation | L2 (Astro) |
| Pagefind | Indexation pour la recherche | L2 (Astro) |
| Git | Versioning et workflow de publication | Infrastructure |
3. Configuration de la collection (CODE)
Section titled â3. Configuration de la collection (CODE)â3.1. DĂ©finition dans src/content/config.ts
Section titled â3.1. DĂ©finition dans src/content/config.tsâimport { z, defineCollection } from 'astro:content';
const [collectionName]Collection = defineCollection({ type: 'content', // ou 'data' si JSON/YAML schema: ({ image }) => z.object({ title: z.string(), description: z.string().optional(), publishedAt: z.date().optional(), updated: z.date().optional(), order: z.number().optional(), draft: z.boolean().optional().default(false), // Métadonnées spécifiques à Starlight sidebar: z.object({ label: z.string(), order: z.number().optional(), badge: z.object({ text: z.string(), variant: z.enum(['note', 'tip', 'caution', 'danger']).optional(), }).optional(), }).optional(), // Métadonnées SEO head: z.array(z.object({ tag: z.enum(['title', 'meta', 'link']), attrs: z.record(z.string()).optional(), content: z.string().optional(), })).optional(), // Image de couverture (si applicable) cover: image().optional(), }),});
export const collections = { [collectionName]: [collectionName]Collection,};3.2. Variables dâenvironnement (si applicable)
Section titled â3.2. Variables dâenvironnement (si applicable)â| Variable | Description | Obligatoire | Valeur par dĂ©faut |
|---|---|---|---|
| [Variable] | [Description] | [â /â] | [Valeur] |
4. Structure des fichiers Markdown/MDX (CODE)
Section titled â4. Structure des fichiers Markdown/MDX (CODE)â4.1. Frontmatter requis
Section titled â4.1. Frontmatter requisâ---title: "Titre de la page"description: "Description de la page"publishedAt: 2026-09-04draft: falsesidebar: label: "Label dans la sidebar" order: 1---4.2. Exemple de fichier Markdown
Section titled â4.2. Exemple de fichier Markdownâ---title: "Introduction"description: "Introduction Ă la documentation"sidebar: label: "Introduction" order: 1---
# Introduction
Contenu de la documentation...4.3. Exemple de fichier MDX
Section titled â4.3. Exemple de fichier MDXâ---title: "Composants Interactifs"description: "Utilisation des composants MDX"sidebar: label: "Composants" order: 2---
import { Counter } from '../components/Counter';
# Composants Interactifs
<Counter />
Contenu de la documentation...5. Contrats dâEntrĂ©e/Sortie (SPEC)
Section titled â5. Contrats dâEntrĂ©e/Sortie (SPEC)â5.1. Inputs (Frontmatter)
Section titled â5.1. Inputs (Frontmatter)â| Champ | Type | Obligatoire | Validation |
|---|---|---|---|
title |
string |
â | Non vide |
description |
string |
â | Valeur par dĂ©faut |
publishedAt |
date |
â | Date valide |
draft |
boolean |
â | Valeur par dĂ©faut |
5.2. Outputs (Contenu)
Section titled â5.2. Outputs (Contenu)â| ĂlĂ©ment | Type | Description |
|---|---|---|
frontmatter |
object |
Métadonnées validées |
body |
string |
Contenu Markdown/MDX |
6. Tests attendus (TEST)
Section titled â6. Tests attendus (TEST)â6.1. Tests unitaires
Section titled â6.1. Tests unitairesâ| ScĂ©nario | Description | RĂ©sultat attendu |
|---|---|---|
| Validation Zod | Frontmatter valide | Validation réussie |
| Validation Zod | Frontmatter invalide | Erreur de validation |
6.2. Tests dâintĂ©gration
Section titled â6.2. Tests dâintĂ©grationâ| ScĂ©nario | DĂ©pendances | Description | RĂ©sultat attendu |
|---|---|---|---|
| Build complet | Starlight + Astro | Build de la documentation | Build réussi |
6.3. Tests E2E
Section titled â6.3. Tests E2Eâ| ScĂ©nario | Parcours utilisateur | Description | RĂ©sultat attendu |
|---|---|---|---|
| Navigation | Utilisateur â Documentation | Navigation dans la docs | Pages affichĂ©es correctement |
7. IntĂ©gration (INTĂG)
Section titled â7. IntĂ©gration (INTĂG)â7.1. IntĂ©gration avec les composants
Section titled â7.1. IntĂ©gration avec les composantsâ| Composant | Type | RĂŽle | MĂ©thode dâintĂ©gration |
|---|---|---|---|
| Starlight | Rendu | Rendu de la documentation | Configuration dans astro.config.mjs |
| Pagefind | Indexation | Indexation du contenu | Build script |
| Git | Versioning | Workflow de publication | Git workflow |
7.2. Points dâattention
Section titled â7.2. Points dâattentionâ- Les schĂ©mas Zod doivent ĂȘtre valides
- Le frontmatter doit respecter le schéma
- Les fichiers doivent ĂȘtre organisĂ©s correctement
7.3. Vérification de cohérence
Section titled â7.3. VĂ©rification de cohĂ©renceâ- Les schĂ©mas Zod sont valides
- Le build réussit
- La documentation est indexée par Pagefind
- Les tests E2E passent
8. Sécurité
Section titled â8. SĂ©curitĂ©â8.1. MĂ©canismes de sĂ©curitĂ©
Section titled â8.1. MĂ©canismes de sĂ©curitĂ©â- â Validation Zod des frontmatter
- â Pas dâexĂ©cution de code non sĂ©curisĂ©
- â Git workflow sĂ©curisĂ©
8.2. RÚgles de sécurité
Section titled â8.2. RĂšgles de sĂ©curitĂ©â- â Ne jamais inclure de donnĂ©es sensibles dans les fichiers
- â Valider tous les inputs utilisateur
- â Utiliser les permissions Git appropriĂ©es
9. Performance et limites
Section titled â9. Performance et limitesâ9.1. Optimisations
Section titled â9.1. Optimisationsâ| Optimisation | Description |
|---|---|
| SSG | Génération statique au build |
| Lazy loading | Chargement différé des composants |
| Image Optimization | Optimisation des images |
9.2. Limitations
Section titled â9.2. Limitationsâ- â Les fichiers MDX augmentent le build time
- â Les composants MDX nĂ©cessitent une hydratation
10. Débogage et troubleshooting
Section titled â10. DĂ©bogage et troubleshootingâ10.1. ProblĂšmes courants
Section titled â10.1. ProblĂšmes courantsâ| SymptĂŽme | Cause probable | Solution |
|---|---|---|
| Validation échoue | Frontmatter invalide | Vérifier le schéma Zod |
| Build échoue | Erreur MDX | Vérifier la syntaxe MDX |
| Indexation échoue | Pagefind configuration | Vérifier la configuration Pagefind |
10.2. Commandes de debug
Section titled â10.2. Commandes de debugâ# Build localnpm run build
# Preview du buildnpm run preview11. Bonnes pratiques
Section titled â11. Bonnes pratiquesâ11.1. Architecture
Section titled â11.1. Architectureâ- â SchĂ©mas Zod typĂ©s
- â Organisation hiĂ©rarchique des fichiers
- â Frontmatter documentĂ©
11.2. Code
Section titled â11.2. Codeâ- â Utiliser des composants MDX rĂ©utilisables
- â Optimiser les images
- â Documenter les changements
11.3. Maintenance
Section titled â11.3. Maintenanceâ- â Mettre Ă jour les schĂ©mas rĂ©guliĂšrement
- â Documenter les changements dans ce fichier
12. Ăvolutions et roadmap
Section titled â12. Ăvolutions et roadmapâ12.1. AmĂ©liorations planifiĂ©es
Section titled â12.1. AmĂ©liorations planifiĂ©esâ- [Ăvolution 1]
- [Ăvolution 2]
12.2. Limitations connues
Section titled â12.2. Limitations connuesâ- â [Limitation 1]
- â [Limitation 2]
13. Ressources liées
Section titled â13. Ressources liĂ©esâ- Documentation Astro : Content Collections
- Documentation Starlight : Starlight Docs
- DAT L2 : §5.5 - Content Collections
14. Historique des modifications
Section titled â14. Historique des modificationsâ| Date | Version | Description | Auteur |
|---|---|---|---|
| YYYY-MM-DD | 1.0 | Création initiale | [Nom] |