Headless CMS et Jamstack, une architecture de dernière génération pour créer son site web
Si les CMS en général et plus particulièrement les solutions de gestion de contenu open-source font les beaux jours des agences web et de leurs clients depuis maintenant plus de deux décennies, l’essor du cloud et l’évolution des métiers du web vers toujours plus de flexibilité ont ouvert la voie à d’autres manières de penser les architectures web. La JAMStack est au cœur de cette révolution. Quel CMS choisir pour créer son site web ? Il s’agit d’une question à laquelle JAMStack et headless CMS tentent d’apporter un tout nouveau prisme !
Que signifie JAMStack ?
JAMStack est un mot composé. Une stack est un assemblage de plusieurs technologies. JAM est un acronyme qui signifie : Javascript, API, Markup. Les plus avertis d’entre vous n’auront pas manqué de noter le clin d’œil à la stack LAMP qui a fait et fait encore les beaux jours des CMS et plus particulièrement des CMS open source. JAMStack est donc l’assemblage des technologies Javascript, d’APIs et de Markup (qui n’est pas vraiment une technologie comme nous le verrons juste après). Le terme a vu le jour vers 2015. On doit ce nouvel acronyme aux deux cofondateurs de Netlify, Mathias Biilman et son acolyte Chris Back, respectivement CEO et CSO.
Statique, vous avez dit statique ? Pourquoi les sites statiques n’auraient pas le droit d’être …dynamiques ? C’est là, tout le génie de la JAMStack !
Carl-Stéphan Parent CTO / Ikomobi.
JAMStack : de quoi parle-t-on ?
À l’instar des CMS headless et par opposition à l’architecture monolithique des CMS à l’ancienne, la JAMStack repose tout d’abord sur un principe de découplage entre les composants back-end et front-end qui composent traditionnellement un site web. Via cette architecture, on vise comme objectif d’atteindre des performances supérieures à trois niveaux : affichage plus rapide, sécurité augmentée, scalabilité facilitée. En effet, contrairement aux CMS classiques qui servent les pages web à la demande, avec la JAMStack elles sont assemblées au cours de la phase de développement puis déposées sur un serveur.
Javascript et pre-rendering avec la JAMStack
Au sein d’un projet JAMStack, Javascript, le langage de programmation phare du web est employé pour générer les pages web qui vont constituer le front-end du site Internet. Contrairement à l’usage traditionnellement répandu en matière d’intégration CMS, les sites qui entrent dans la catégorie JAMStack ont la particularité d’être générés via des pages pré-assemblées. Ces dernières sont ensuite stockées sur un serveur traditionnel ou de plus en plus communément sur un CDN. C’est un point clef de la JAMStack et une différence majeure avec la façon dont les solutions de gestion de contenus sont traditionnellement employées (génération des pages du site à la volée). De nombreuses librairies ou bibliothèques Javascript sont aujourd’hui disponibles pour générer les pages.
Markup, légereté et performance : au coeur de la philosophie JAMStack
Le markup est le balisage généré par la JAMStack. Il s’agit du HTML qui est interprété par le navigateur Internet. En remettant en avant le HTML, la JAMStack met l’accent sur la simplicité et la performance. Les pages stockées sur le serveur ou le CDN sont moins lourdes et réclament moins de ressources. Un avantage qui peut s’avérer déterminant du point de vue budgétaire et du point de vue SEO !
Surface d'exposition réduite et sécurité accrue avec la JAMStack
En réduisant les sites à des pages statiques déposées sur un serveur ou un CDN, l’architecture JAMStack réduit d’autant les risques d’attaques sur la base de données.
JAMStack vs CMS : quelle option faut-il retenir ?
En complément de la JAMStack, le CMS Headless offre l'opportunité de profiter du meilleur de deux mondes.
Si l’essence même d’un projet JAMStack est de réaliser un site web statique, il ne faut pas pour autant opposer CMS et JAMStack. En effet, rien de tel qu’un CMS Headless pour compléter une pile JAMStack et offrir la possibilité à des rédacteurs tiers d’administrer des contenus comme ils le feraient avec un CMS classique. CQFD !
Comment ça marche ?
Via le CMS Headless de votre choix, les contenus sont mis au point par les rédacteurs exactement comme ils le feraient avec un CMS conventionnel. Chaque publication est répercutée vers le générateur de site statique via l’API du CMS headless. Le serveur de développement pré-assemble les pages HTML puis les dépose sur le serveur web ou le CDN. À ce stade, le site web et les nouveaux contenus diffusés (ou modifiés !) sont consultables sur Internet !
Quid des contenus dynamiques et services interactifs avec la JAMStack ?
Via des requêtes client ou serveur, la JAMStack offre la possibilité de créer des sites dynamiques comme par exemple des boutiques en ligne. Le fonctionnement est globalement le même que celui des sites statiques sauf en ce qui concerne les données dynamiques comme le tarif, la quantité etc.
Est-ce que la JAMStack convient à tous les projets de site web ?
Comme nous l'avons vu ci-avant, il ne faut pas faire d'amalgame entre contenus statiques et JAMStack.
Pour autant, il convient d’avoir à l’esprit que cette architecture se prête assez mal à la mise au point de sites web d’envergure dès lors qu’ils promettent un haut niveau d’interactivité et/ou des sommes de contenus volumineuses. Il faut en effet avoir à l’esprit que chaque publication entraîne un nouveau build. Le processus de compilation de l’ensemble du site est donc relancé à chaque modification (et surtout publication).
Vous avez un projet web ou CMS et vous souhaitez profiter de l'éclairage d'une agence web ?
N’hésitez plus et prenez contact avec notre agence web. Les experts de nos pôles Conseil et Technologies web se feront un plaisir d’étudier votre projet et de répondre à toutes vos questions !
Agence de Lille
Parc europe - Espace Tertiaire
340 B avenue de la Marne
59700 Marcq-en-Barœul