La mise en page
En-tête, barre latérale de navigation, table des matières à droite, liens « page précédente / suivante ».
Ce site est produit par deux briques empilées : Astro, un générateur de sites, et Starlight, un thème de documentation complet qui se branche sur Astro.
Astro prend des fichiers sources (Markdown, composants, images…) et les transforme une fois pour toutes, au moment du build, en fichiers HTML, CSS et JS.
Les points clés :
npm run dev) recharge instantanément
la page quand un fichier change.Starlight est une intégration Astro qui fournit, prêts à l’emploi :
La mise en page
En-tête, barre latérale de navigation, table des matières à droite, liens « page précédente / suivante ».
La recherche
Un index Pagefind généré au build : la recherche fonctionne sans serveur.
Le thème clair / sombre
Avec sélecteur, et respect des préférences du système.
L'internationalisation
Interface traduite (ici en français) et gestion de plusieurs langues de contenu.
Des composants
Onglets, encarts, cartes, étapes, arborescences… utilisables en MDX.
La validation du contenu
Chaque page est vérifiée (titre obligatoire, champs connus…) à la compilation.
| Vous écrivez… | Starlight fournit… | Astro fait… |
|---|---|---|
Le contenu (.md / .mdx) |
Les gabarits de page (layout, sidebar, TOC) | La compilation Markdown → HTML |
La configuration (astro.config.mjs) |
Le schéma de validation du frontmatter | Le routage (fichier → URL) |
| Éventuellement des images, du CSS | Les composants (<Tabs>, <Aside>…) |
L’optimisation des images, le bundling CSS/JS |
En pratique, pour rédiger de la documentation, on ne touche qu’au dossier src/content/docs/.
Tout le reste est de la configuration qu’on modifie rarement.
src/content/docs/guides/getting-started.md ← vous écrivez du Markdown │ │ 1. Astro lit le fichier via la « collection » docs │ 2. Starlight valide le frontmatter (title, description…) │ 3. Le Markdown est converti en HTML │ 4. Starlight l'insère dans son gabarit (en-tête, sidebar, TOC) ▼dist/guides/getting-started/index.html ← fichier statique final │ ▼https://mon-site/guides/getting-started/ ← servi tel quel par Nginx, Apache…