Qu'est-ce que la JAMStack ?

Blog article image cover
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 :
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 :
Vous souhaitez être accompagné pour lancer votre projet digital ?
Déposez votre projet dès maintenant
Article presentation image
Comment changer de version de Node.js avec NVM ?
Vous voulez changer rapidement de version de `node` ? nvm est l’outil qu’il vous faut. Pourquoi nvm ? `node` est un exécutable. ...
Florian Yusuf Ali
Florian Yusuf Ali
Full-Stack Developer @ Galadrim
Article presentation image
Next.js App Router : le cache et ses dangers
“Il y a seulement 2 problèmes compliqués en informatique : nommer les choses, et l’invalidation de cache”. Phil Karlton. Avec ...
Valentin Gerest
Valentin Gerest
Full-Stack Developer @ Galadrim
Article presentation image
Qu'est-ce que le SMS pumping et comment s'en protéger ?
La fraude appelée SMS pumping survient lorsque des fraudeurs exploitent un champ de saisie de numéro de téléphone de votre ...
Arnaud Albalat
Arnaud Albalat
CTO @ Galadrim