Expliqué

CMS headless avec Astro : gérer le contenu sans sacrifier la vitesse

Comment gérer le contenu d'un site Astro ? Content Collections, un CMS headless ou WordPress headless comparés, avec les options officielles d'Astro.

Connecter un CMS headless à Astro pour une gestion de contenu flexible.

Vous voulez un site rapide, mais vos rédacteurs veulent gérer le contenu sans toucher au code. Ce n’est pas forcément contradictoire. Un CMS headless sépare la rédaction du contenu de sa présentation, et Astro prend cette présentation en charge. Le résultat : un éditeur familier pour votre équipe et un site léger et rapide pour vos visiteurs. Dans ce guide, vous découvrez ce qu’est un CMS headless, comment il collabore avec Astro, et laquelle des trois approches convient le mieux à votre projet.

Qu’est-ce qu’un CMS headless ?

Un CMS headless gère votre contenu indépendamment de la façon dont il est affiché, et livre ce contenu via une API. Contrairement à un CMS traditionnel et couplé (comme une installation WordPress classique), un CMS headless ne génère pas de site lui-même. Comme l’indique la documentation d’Astro : le CMS vous aide à rédiger du contenu, mais ne l’affiche pas lui-même ; vous récupérez les données de contenu et les utilisez dans votre projet.

Le mot “headless” renvoie à ce découplage : le “body” (la gestion) est séparé de la “head” (la présentation). C’est vous qui choisissez la head, et c’est là qu’Astro intervient.

Pourquoi un CMS headless s’accorde-t-il bien avec Astro ?

Astro est conçu pour assurer la présentation et n’envoie par défaut aucun JavaScript côté client vers le navigateur. Cette philosophie s’accorde parfaitement avec un CMS headless : le CMS fournit les données, Astro en construit une page rapide.

We are taking an alternative approach which is to treat the website not as a JavaScript application but as a collection of HTML pages. Fred Schott, créateur d’Astro

Vos rédacteurs disposent d’un éditeur visuel, de types de contenu standardisés et de la collaboration, tandis que les visiteurs bénéficient de la vitesse d’un frontend statique ou rendu en edge. Vous n’avez donc pas à choisir entre confort de gestion et performance.

Les trois manières de gérer le contenu dans Astro

Avant d’opter pour un CMS, il vaut la peine de comparer les trois options. Tous les projets n’ont pas les mêmes besoins.

Approche Idéale pour Rédaction Exemple
Content Collections (Markdown ou Git) Développeurs, petites équipes, docs et blogs Dans des fichiers, via Git Fichiers .md locaux
CMS headless visuel Rédacteurs non techniques Dans un éditeur visuel Storyblok, Sanity, Contentful
WordPress headless Équipes qui connaissent déjà WordPress Dans l’éditeur WordPress WordPress comme source

1. Content Collections (Markdown ou Git)

Astro dispose de Content Collections intégrées. Vous définissez un schéma et Astro vérifie déjà votre contenu pendant le build, avec une sécurité de typage TypeScript automatique. Les loaders intégrés récupèrent le contenu depuis des dossiers de Markdown, MDX, Markdoc, JSON, YAML ou TOML. Pour un blog ou un site de documentation géré par des développeurs, c’est souvent le choix le plus simple et le plus rapide, sans dépendance externe.

2. Un CMS headless visuel

Si des rédacteurs non techniques participent, un CMS headless visuel offre un éditeur familier avec prévisualisations et rôles. Astro récupère le contenu depuis le CMS, et vous gardez le contrôle de la présentation.

3. WordPress headless

Si vous avez déjà un site WordPress, vous pouvez le conserver comme source de contenu et construire le site public avec Astro. Votre équipe continue de travailler dans l’éditeur WordPress, les visiteurs obtiennent un site plus rapide.

Comment Astro récupère-t-il le contenu d’un CMS headless ?

Astro propose plusieurs voies pour cela, selon le CMS :

  • Une intégration Astro. Certains CMS, comme Storyblok, proposent une intégration qui récupère spécifiquement le contenu pour un site Astro.
  • Un SDK JavaScript. D’autres fournissent un SDK que vous installez pour récupérer votre contenu distant.
  • La Content Loader API. Vous pouvez construire votre propre loader pour récupérer du contenu depuis n’importe quelle source : un CMS, une base de données ou un endpoint d’API.

Il existe par ailleurs une distinction importante de timing. Un loader au moment du build récupère les données pendant le build et les stocke dans un data store. Un live loader récupère les données fraîches à chaque requête, sans data store, et peut filtrer les données entrantes et les vérifier avec une sécurité de typage. Pour du contenu qui change rarement, vous optez pour le build-time ; pour du contenu qui doit être frais, pour un live loader ou un rendu à la demande.

Quels CMS headless fonctionnent avec Astro ?

Astro propose des guides officiels pour un grand nombre de CMS. Un apercu des plus connus :

  • Storyblok, avec une intégration Astro officielle ;
  • Sanity, axé sur le contenu structuré ;
  • Contentful, via le SDK contentful.js ;
  • Strapi, un CMS headless open source et personnalisable ;
  • Hygraph, avec un endpoint GraphQL ;
  • Directus, un backend-as-a-service ;
  • WordPress headless.

Il existe en outre des guides pour des dizaines d’autres (de Ghost et Prismic à Decap et Payload). Astro n’en désigne volontairement aucun comme “le meilleur” : le bon choix dépend de votre équipe, de votre budget et de votre workflow.

WordPress headless avec Astro

WordPress mérite une mention à part, car tant de sites tournent déjà dessus. WordPress est livré avec une API REST intégrée pour connecter vos données à Astro ; en option, vous installez WPGraphQL ou Gato GraphQL pour GraphQL. Vous conservez ainsi l’éditeur WordPress familier comme source de contenu et construisez le frontend avec Astro. Si vous envisagez justement de passer depuis WordPress, lisez migrer de WordPress vers Astro, où WordPress headless est abordé comme étape intermédiaire.

À quoi devez-vous faire attention ?

Quelques points d’attention honnêtes :

  • Le temps de build sur les grands sites. Récupérer tout au moment du build peut entraîner de longs builds avec un très grand nombre de pages. Le rendu à la demande ou en direct constitue alors une issue.
  • Les prévisualisations. Si vous voulez que les rédacteurs voient leurs modifications en direct avant publication, il vous faut une configuration de prévisualisation (souvent via des live loaders ou un rendu à la demande).
  • Les coûts. Les CMS hébergés proposent des formules variées, des paliers gratuits aux abonnements payants. Consultez la page de tarifs actuelle du CMS ; n’inventez rien.
  • La dépendance. Un CMS externe est un service supplémentaire à gérer et à payer. Pour les petits sites, c’est parfois superflu.

Quand n’avez-vous pas besoin d’un CMS séparé ?

Tous les sites n’ont pas besoin d’un CMS headless. Si ce sont surtout des développeurs qui gèrent le contenu, ou s’il s’agit d’un blog ou d’une documentation qui vit en Markdown, les Content Collections suffisent largement. Vous évitez ainsi un service supplémentaire, un coût supplémentaire et une intégration supplémentaire. Commencez simple, et ne passez à un CMS que lorsque des rédacteurs non techniques doivent pouvoir publier eux-mêmes.

Conclusion

Un CMS headless avec Astro vous offre le meilleur des deux mondes : une gestion de contenu confortable et un frontend rapide et léger. Le choix tourne autour de votre équipe. Si des développeurs gèrent le contenu, les Content Collections suffisent souvent. Si des rédacteurs non techniques participent, un CMS headless visuel ou WordPress headless offre l’éditeur familier, tandis qu’Astro assure la vitesse. Vous voulez d’abord l’arbitrage plus large entre Astro et WordPress ? Lisez alors Astro vs WordPress, ou commencez par ce qu’est Astro.

FAQ

Questions fréquentes

Qu'est-ce qu'un CMS headless ?

Un CMS headless gère votre contenu indépendamment de la présentation et le livre via une API. Il vous aide à rédiger du contenu, mais ne génère pas de site lui-même. Un framework comme Astro récupère ce contenu et l'affiche.

Pourquoi combiner un CMS headless avec Astro ?

Parce qu'Astro se charge de la présentation et n'envoie par défaut aucun JavaScript côté client. Vos rédacteurs travaillent dans un éditeur familier, et les visiteurs obtiennent un site rapide et léger. Vous ne perdez pas le confort de gestion et gagnez en performance.

Ai-je toujours besoin d'un CMS headless ?

Non. Pour beaucoup de sites, les Content Collections d'Astro suffisent : vous gérez le contenu en Markdown ou via Git avec une sécurité de typage automatique. Un CMS séparé est surtout utile lorsque des rédacteurs non techniques doivent publier eux-mêmes.

Quels systèmes de CMS headless fonctionnent avec Astro ?

Astro propose des guides officiels pour Storyblok, Sanity, Contentful, Strapi, Hygraph, Directus et WordPress headless, parmi des dizaines d'autres. Certains disposent d'une intégration Astro, d'autres d'un SDK JavaScript.

WordPress peut-il servir de CMS headless pour Astro ?

Oui. WordPress a son propre frontend, mais peut aussi fournir du contenu à Astro en tant que CMS headless via son API REST intégrée. En option, vous installez WPGraphQL ou Gato GraphQL pour GraphQL.

Un CMS headless affiche-t-il toujours du contenu frais ?

Cela dépend de votre approche. Avec un loader au moment du build, le contenu est récupéré pendant le build ; avec un live loader ou un rendu à la demande, il est récupéré frais à chaque requête, sans reconstruire l'ensemble du site.

Sources et références

Astro (officiel)

Contexte

CMS headlessAstroContent CollectionsWordPressCMS

Retour au blog