La JAMStack est une architecture de développement web populaire depuis quelques années, qui consiste à compiler un site web dynamique sous forme de pages statiques, afin d'accélérer son rendu et donc d'améliorer l'expérience utilisateur.
Cette architecture permet notamment de simplifier la scalabilité des sites, puisque les pages statiques générées peuvent être hébergées par un
CDN, et ainsi être délivrées de manière scalable et rapide tout autour du monde. Sur le plan de la sécurité, elle offre moins de points d'entrée aux attaquants, et empêche par exemple les attaques DDoS. Enfin, le coût de l'hébergement est réduit par rapport à une application web standard, puisque le coût des serveurs est remplacé par le seul coût du CDN.
JAM est l’acronyme de "JavaScript, APIs, Markup", qui correspond aux trois composantes clés d'un site en JAMStack : des pages HTML statiques ("Markup"), du code JavaScript pour l’aspect dynamique, et des APIs.
La Toolbox d'un site en JAMStack
Pour mettre en place un site en architecture JAMStack, vous avez généralement besoin de 4 ingrédients :
un
CMS headless pour éditer et servir le contenu dynamique (ex. :
Contentful,
Strapi...)
un
générateur de sites statiques, pour générer vos pages à partir du contenu dynamique (ex. :
Gatsby,
Gridsome...)
une
pipeline qui compile votre site à chaque changement de contenu ou modification de code (ex. :
Gitlab CI/CD,
Netlify Build...)
Fonctionnement de la JAMStack
Exemple
Le blog que vous êtes en train de lire est construit sur les principes de la JAMStack :
les articles sont rédigés et hébergés sur
Contentful ;
à chaque publication ou modification d’un article, Contentful appelle un webhook sur notre serveur de développement ;
notre serveur compile le site : en récupérant les articles via l’API de Contentful, les pages HTML sont générées ;
le site est uploadé sur Amazon S3 et Amazon CloudFront pour être servi aux lecteurs.
Liens utiles
Si la JAMStack vous intéresse et que vous souhaitez poursuivre vos recherches à son sujet, voici quelques liens qui pourront vous intéresser :