Utiliser le CMS de Contentful avec des générateurs de sites statiques

KB1

« J’ai laissé tomber mon ancien système de gestion de contenu Web il y a quelque temps, j’ai pris en main un générateur de site statique, et j’adore la simplicité, la légèreté et l’absence totale de maintenance que cela procure...Mais pourquoi diable voudrais-je utiliser un CMS avec un générateur de site statique ? »Eh bien, c’est la première réaction que nous recevons lorsque nous suggérons d’ajouter l’API Contentful dans l’équation. Mais écoutez-nous :

  • Vous en avez besoin afin que les utilisateurs non techniques puissent elles aussi créer du contenu pour des générateurs de sites statiques.

  • Vous en avez besoin pour pouvoir utiliser des générateurs de sites statiques dans davantage de projets clients.

  • Vous en avez besoin pour pouvoir vous passer d’un développeur pour mettre à jour le dépôt de code et exécuter le site.

De plus en plus de développeurs montent à bord du « train du statique », et à juste titre. Les pages statiques sont rapides, légères, et elles évoluent bien. Elles sont plus sûres et plus simples en termes de maintenance, ce qui vous permet de concentrer tout votre temps et vos efforts sur l’interface utilisateur. Bien souvent, cet engagement se voit vraiment. Il se trouve simplement que les générateurs de sites statiques sont surtout appréciés des développeurs, mais pas de l’utilisateur lambda. Ils n’offrent pas de fonction What-You-See-Is-What-You-Get (WYSIWYG), de sorte que l’aperçu du contenu sur des sites de démonstration peut nécessiter un cycle de mise à jour ; ils reposent souvent sur des fichiers texte en Markdown et exigent une certaine connaissance des dépôts modernes. De plus, lorsque des équipes collaborent, les choses peuvent rapidement se compliquer. Cet article a-t-il déjà été relu ou révisé ? Cette entrée est-elle valide ? Les autorisations utilisateur sont-elles disponibles, par exemple pour administrer, ajouter et supprimer des membres de l’équipe ? Cet article peut-il être publié à une date ultérieure ? Comment un vaste dépôt de contenu peut-il être classé, organisé et recherché ? Toutes ces exigences ont déjà été plus ou moins résolues dans la zone d’administration de votre CMS. Mais bien sûr, avec tout le fardeau qui vous avait poussé à abandonner la pile ’serveur d’applications+application+base de données en un seul gros bloc (blob)’ dès le départ.

Une alternative consiste à découpler l’aspect de gestion de contenu du système. Et ensuite remplacer le serveur sujet à la maintenance par une offre de service Web basée sur le cloud. Concrètement, au lieu de votre ancien CMS, vous passez dans un univers d’infrastructure de contenu, avec des API de contenu pour diffuser l’ensemble de vos contenus. De cette façon, vous bénéficiez de tous les avantages des fonctionnalités de gestion de contenu tout en restant fidèle au mantra des générateurs de sites statiques. Il se trouve que notre infrastructure de contenu propose justement ce type d’API de contenu. Nous proposons un service qui :

  • dès sa conception, elle a été pensée pour être rapide, évolutive, sécurisée et offrir une haute disponibilité, afin que vous n’ayez plus jamais à vous soucier de la maintenance.

  • offre un éditeur puissant et une grande flexibilité dans la création de modèles pour vos documents, que vos éditeurs peuvent réutiliser et combiner, de sorte qu’aucune ressource de développement ne soit nécessaire dans les tâches quotidiennes de rédaction et de mise à jour.

  • sépare le contenu de la présentation, afin que vous puissiez réutiliser votre référentiel de contenu pour n’importe quelle plateforme d’appareil que vous souhaitez. De cette façon, vous pouvez appliquer le principe COPE (Create Once, Publish Everywhere – créer une seule fois, publier partout).

  • propose des webhooks que vous pouvez utiliser pour reconstruire votre site statique de manière entièrement automatisée chaque fois que votre contenu est modifié.

Avec un peu d’effort, quelques requêtes d’API et des transformations JSON, vous pouvez intégrer Contentful dans n’importe quel générateur de site statique (SSG). En pratique, notre équipe écosystème et certains développeurs de la communauté très appréciés ont déjà créé des intégrations avec les générateurs de sites statiques populaires suivants :

Afin de vous libérer complètement de la gestion et de la maintenance quotidiennes du site, nous vous suggérons de suivre l’approche de Carrot Creative. En plus de Contentful, vous aurez besoin d’un hébergeur qui prend en charge les webhooks et qui est capable de démarrer des compilations et de déployer des sites/applications.

  1. Sur votre hôte : créez un point de terminaison de webhook qui démarre une nouvelle version et déploie un projet chaque fois qu’il reçoit une requête POST.

  2. Sur Contentful : créez un webhook avec le point de terminaison de l’hôte comme URL de destination.

De cette façon, chaque fois qu’un rédacteur crée ou met à jour du contenu, l’hôte recevra un webhook et le déploiera. De cette façon, quelques minutes après la publication, le nouveau contenu est en ligne.

Nous vous suggérons fortement de disposer d’un site/une application de test. Comme les générateurs de sites statiques n’offrent pas les avantages du WYSIWYG, le déploiement sur un domaine séparé, connu uniquement de vos éditeurs, leur donnera la possibilité de prévisualiser le site et de vérifier qu’il correspond exactement à ce qu’ils souhaitent. À cette fin spécifique, Contentful propose également une API d’aperçu. N’oubliez pas non plus de restreindre les moteurs de recherche sur ce domaine d’aperçu (par exemple en excluant tous les robots via un fichier robots.txt, ou en définissant une restriction htaccess).Pour le déploiement, utilisez un service de stockage qui permette une configuration basique des en-têtes HTTP. Au fil du temps, vous voudrez peut-être éliminer certains éléments de contenu ou refactoriser le contenu, et ce faisant, vous pouvez supprimer d’anciennes URL et en créer de nouvelles. Soyez attentif lors de la mise en place de redirections 301, afin de ne pas perdre les visiteurs référents ni l’autorité des liens qui vous a rendu visible dans les moteurs de recherche.

Créez dès maintenant un compte Contentful! Une formule de test gratuite est disponible et suffira très probablement pour la plupart des petits projets. Pour les projets plus importants, les formules payantes proposent une période d’essai de 30 jours.

Consultez notre guide sur la reconstruction et le déploiement automatisés avec CircleCI et Webhooks pour un exemple concret à l’aide de Jekyll ou Middleman.