La JAMstack pour Javascript/Api/Markup est une méthode de génération de site statique. L'ensemble des pages du site est construit au déploiement de celui-ci et il n'y a donc plus besoin de serveur dynamique pour l'héberger. Cette stack permet de générer un site très simple, mais permet aussi de faire des sites bien plus complexes.
Vous imaginez aller au resto et attendre pour commander que le serveur écrive la carte à chaque fois devant vous avant de vous la donner ? C'est ce qu'il se passe sur votre site quand vous n'utilisez pas la JAMstack...
Le concept a été posé par Mathias Biilmann (le PDG de Netlify) en 2015 et son entreprise est d'ailleurs une solution idéale pour héberger vos sites JAMstack.
On retrouve maintenant la possibilité de générer statiquement un site dans la plupart des framework frontend JavaScript, un petit npm run generate avec Nuxt par exemple.
Vous générez vos pages lors du déploiement, le site en production est statique :
Mais bien sûr, il y a quelques contraintes :
De très nombreux outils permettent maintenant de générer statiquement votre site, vous en trouverez une liste ici, parmis eux citons :
Mais pour générer un site, il faut bien des données en entrée ? Ici deux camps se distinguent :
Vous trouverez donc une nouvelle liste ici et mes propositions :
Pour héberger votre site, votre prestataire habituel a forcément une offre d'hébergement de fichiers statiques, cherchez une offre "bucket like" comme Amazon S3, et je citerai :
Et si vous voulez partir sur un CMS API-driven :
La JAMstack mérite de se retrouver partout sur le web, énormément de cas d'usage s'y prêtent. Pour certains, cela est évident, pour d'autres, il faut mettre en place des spécificités, mais dans tous les cas, on y gagne en résilience !
Imaginez un site de vente en ligne JAMstack et une API tombée... Avec un site dynamique, tout le site serait hors ligne, en JAMstack, il resterait tout de même le catalogue produit. Et dans tous les cas, l'API est bien moins sollicitée, car pour afficher la page d'un produit, il n'y a qu'à demander à l'API si le produit est en stock vu que tout le reste est déjà généré.
Bref, vive la JAMstack !