{"id":28591,"date":"2021-09-03T16:21:00","date_gmt":"2021-09-03T14:21:00","guid":{"rendered":"http:\/\/mxajfmgl.preview.infomaniak.website\/?p=28591"},"modified":"2023-09-13T09:16:12","modified_gmt":"2023-09-13T07:16:12","slug":"jamstack","status":"publish","type":"post","link":"https:\/\/blog.socraft.io\/en\/blog\/jamstack\/","title":{"rendered":"Utiliser la JAMStack pour d\u00e9velopper un site web"},"content":{"rendered":"<h2 class=\"wp-block-heading\" id=\"mais-c%E2%80%99est-quoi-jamstack\">Mais c\u2019est quoi Jamstack ?<\/h2>\n\n\n\n<p>Jamstack est une architecture de d\u00e9veloppement pour les applications web. Son objectif est de s\u00e9parer le d\u00e9veloppement des interfaces graphiques de celui des back ends (c&rsquo;est-\u00e0-dire le traitement des donn\u00e9es).<\/p>\n\n\n\n<p>Dans JAM-Stack, JAM veut dire Javascript, API, Markup, les trois \u00e9l\u00e9ments essentiels de l\u2019architecture Jamstack.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>JavaScript<\/strong>&nbsp;pour cr\u00e9er des applications dynamiques.<\/li>\n\n\n\n<li><strong>API<\/strong>&nbsp;pour tout ce qui n\u2019est pas directement visible pour les utilisateurs finaux (requ\u00eates de donn\u00e9es, connexion avec les CMS-Headless, moteurs de recherche, \u2026).<br>Certaines APIs seront appel\u00e9es durant la compilation du site, d\u2019autres lorsque les utilisateurs naviguent entre les pages.<\/li>\n\n\n\n<li><strong>Markup<\/strong>, ou le code HTML qui est g\u00e9n\u00e9r\u00e9 par les g\u00e9n\u00e9rateurs statistiques de sites (SSG).<\/li>\n<\/ul>\n\n\n\n<p>En 2008 Jekyll a rendu populaire la g\u00e9n\u00e9ration statique de sites, mais c\u2019est en 2015 que le cofondateur de Netlify,&nbsp;<strong>Mathias Biilmann<\/strong>&nbsp;introduit l\u2019architecture Jamstack, qui n\u2019a eu de cesse de gagner en popularit\u00e9 depuis.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"pourquoi-pas-spa\">Pourquoi pas SPA ?<\/h3>\n\n\n\n<p>Beaucoup de sites aujourd\u2019hui utilisent l\u2019architecture Single Page Application (SPA), ce qui est en g\u00e9n\u00e9ral bien pour cr\u00e9er des WebApps, mais assez mauvais pour le r\u00e9f\u00e9rencement (SEO). Jamstack de son c\u00f4t\u00e9 utilise des pages statiques, ce qui est bien meilleur pour le r\u00e9f\u00e9rencement et comme les IHMs sont cr\u00e9\u00e9es au moment de la compilation, avant m\u00eame qu\u2019un utilisateur ait visit\u00e9 la page, les performances sont en g\u00e9n\u00e9ral meilleures et ne sont pas affect\u00e9es par l&rsquo;augmentation du trafic.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"pourquoi-utiliser-jamstack\">Pourquoi utiliser Jamstack ?<\/h2>\n\n\n\n<p><strong>Parce que c&rsquo;est plus relaxe<\/strong>&nbsp;: la s\u00e9paration des donn\u00e9es (back end) et leurs consommation (front end) permet une organisation plus cibl\u00e9e, plus simple et finalement moins stressante.<\/p>\n\n\n\n<p><strong>Pour gagner en performances<\/strong>&nbsp;: \u00e9tant donn\u00e9 que les pages sont statiques, et pr\u00eates \u00e0 \u00eatre servies aux utilisateurs, il est possible d\u2019avoir d\u2019excellentes performances. En utilisant des CDNs il est possible d\u2019avoir des sites tr\u00e8s rapides, o\u00f9 que se trouvent les utilisateurs.<\/p>\n\n\n\n<p><strong>Pour ne pas avoir \u00e0 se soucier de la s\u00e9curit\u00e9<\/strong>&nbsp;: votre site \u00e9tant compos\u00e9 uniquement de fichiers statiques, il n\u2019y a litt\u00e9ralement rien \u00e0 attaquer. \u00c9videmment il peut rester une vuln\u00e9rabilit\u00e9 sur les APIs si vous en utilisez, mais nous recommandons de ne d\u00e9velopper votre propre back end que quand vous faites quelque chose d\u2019unique, et que vous \u00eates capable d\u2019en assurer la s\u00e9curit\u00e9. En g\u00e9n\u00e9ral, il est plus s\u00fbr d&rsquo;utiliser des API tierces, reconnues et \u00e9prouv\u00e9es.<\/p>\n\n\n\n<p><strong>Pour le co\u00fbt<\/strong>&nbsp;: l\u2019h\u00e9bergement d\u2019un site statique est gratuit sur les plateformes tel que Vercel ou Netlify. Mais \u00e9tant donn\u00e9 qu\u2019il y a une s\u00e9gr\u00e9gation claire entre les contenus statiques et dynamiques, il est tr\u00e8s facile, et peu co\u00fbteux de changer d\u2019h\u00e9bergeur si besoin. Si le trafic sur le site augmente, il est \u00e9galement facile de d\u00e9cider d\u2019augmenter les capacit\u00e9s d\u2019une partie tr\u00e8s sp\u00e9cifique du site, ce qui sera en g\u00e9n\u00e9ral moins co\u00fbteux que de migrer tout un site avec ses serveurs et ses bases de donn\u00e9es.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"notre-exp%C3%A9rience-avec-le-site-socraftch\">Notre exp\u00e9rience avec le site socraft.ch<\/h2>\n\n\n\n<p>Pour l\u2019architecture de notre site internet nous avons d\u00e9cid\u00e9 d\u2019utiliser Jamstack, avec Gatsby comme SSG, Ghost pour nos articles de blog, et Contentful comme CMS (pour le contenu autre que le blog).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"gatsby-et-graphql\">Gatsby et GraphQL<\/h3>\n\n\n\n<p>J\u2019ai \u00e9prouv\u00e9 beaucoup de plaisir \u00e0 utiliser Gatsby car la librairie est tr\u00e8s bien document\u00e9e, et la majorit\u00e9 des d\u00e9veloppements sont autour de la librairie React qui est \u00e9galement tr\u00e8s bien document\u00e9e. J\u2019ai \u00e9galement eu acc\u00e8s \u00e0 des dizaines d\u2019exemples d\u2019apps pour \u00e0 peu pr\u00e8s tous les types de sites que j&rsquo;aurais pu vouloir d\u00e9velopper, j\u2019ai facilement trouv\u00e9 des r\u00e9ponses \u00e0 toutes nos questions.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"857\" src=\"https:\/\/new.socraft.ch\/wp-content\/uploads\/2023\/04\/Capture-decran-2023-04-06-a-14.03.00-1024x857.png\" alt=\"\" class=\"wp-image-87427\" srcset=\"https:\/\/blog.socraft.io\/wp-content\/uploads\/2023\/04\/Capture-decran-2023-04-06-a-14.03.00-1024x857.png 1024w, https:\/\/blog.socraft.io\/wp-content\/uploads\/2023\/04\/Capture-decran-2023-04-06-a-14.03.00-300x251.png 300w, https:\/\/blog.socraft.io\/wp-content\/uploads\/2023\/04\/Capture-decran-2023-04-06-a-14.03.00-768x643.png 768w, https:\/\/blog.socraft.io\/wp-content\/uploads\/2023\/04\/Capture-decran-2023-04-06-a-14.03.00.png 1424w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">L&rsquo;\u00e9cosyst\u00e8me Gatsby &#8211; https:\/\/www.gatsbyjs.com\/<\/figcaption><\/figure>\n\n\n\n<p>Ce qui m\u2019a le plus s\u00e9duit c\u2019est la facilit\u00e9 de trouver des plugins pour connecter nos CMS, am\u00e9liorer la SEO et avoir un site optimis\u00e9 pour les appareils mobiles.<\/p>\n\n\n\n<p><strong>React<\/strong>&nbsp;en lui-m\u00eame est une excellente librairie pour d\u00e9velopper des sites, nous pensons m\u00eame qu\u2019on tire son plein potentiel en l\u2019utilisant avec un SSG comme Gatsby ou Next.Js.<\/p>\n\n\n\n<p><strong>GraphQL<\/strong>&nbsp;est une alternative aux API REST, Gatsby l\u2019utilise \u00e0 la fois pour manipuler les fichiers locaux, mais aussi pour faire les requ\u00eates d\u2019APIs pour les CMS. Ce langage de requ\u00eates est tr\u00e8s puissant, et les plugins comme \u201cgatsby-plugin-sharp\u201d nous permettent d\u2019obtenir des images optimis\u00e9es pour toutes les tailles d\u2019\u00e9cran juste en \u00e9crivant une requ\u00eate GraphQL.<\/p>\n\n\n\n<p>Nous appr\u00e9cions \u00e9galement la facilit\u00e9 avec laquelle nous avons pu cr\u00e9er une PWA avec Gatsby.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"pas-que-jamstack-mais-aussi-la-librairie-tailwindcss\">Pas que Jamstack, mais aussi la librairie TailwindCSS<\/h3>\n\n\n\n<p>Nous avons choisi Jamstack pour les avantages cit\u00e9s pr\u00e9c\u00e9demment (co\u00fbt, s\u00e9curit\u00e9, performance, simplicit\u00e9), mais nous voulions \u00e9galement une simplicit\u00e9 dans la cr\u00e9ation des styles pour notre site, et c\u2019est exactement ce que propose TailwindCSS.<\/p>\n\n\n\n<p>TailwindCSS est une librairie CSS qui permet d\u2019\u00e9crire le style de son site internet en utilisant uniquement des classes CSS, directement dans le code HTML. Nous utilisons \u00e9galement Tailwind-Typography pour notre blog, ce plugin propose un style agr\u00e9able pour la lecture d\u2019articles.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"nos-d%C3%A9boires-avec-ghost\">Nos d\u00e9boires avec Ghost<\/h3>\n\n\n\n<p>Nous utilisons Ghost pour \u00e9crire nos articles, sa fonctionnalit\u00e9 headless nous permet d\u2019utiliser un style propre \u00e0 notre site. Mais Ghost-headless vient aussi avec quelques inconv\u00e9nients, dont :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>L&rsquo;aper\u00e7u des articles dans Ghost est diff\u00e9rent du rendu final.<\/li>\n\n\n\n<li>Nous aurions voulu cr\u00e9er toutes les pages de notre site dans Ghost, mais les \u201cpages\u201d de Ghost sont trop limit\u00e9es pour ce que nous voulions faire.<\/li>\n\n\n\n<li>Ghost est payant, mais l\u2019offre de base ne permet pas l\u2019utilisation des API headless<\/li>\n\n\n\n<li>Pour traduire nos articles nous devons passer par un syst\u00e8me de \u201ctag\u201d pas tr\u00e8s pratique<\/li>\n\n\n\n<li>Nous avons encore quelques probl\u00e8mes de CSS pour le contenu sur lequel Ghost ajoute ses propres styles<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"nos-d%C3%A9boires-avec-contentful\">Nos d\u00e9boires avec Contentful<\/h3>\n\n\n\n<p>Contentful permet de cr\u00e9er des \u201ccustom types\u201d pour les diff\u00e9rents composants de notre site, et la traduction de ces composants est assez intuitive. Toutefois il n\u2019est pas possible d\u2019avoir un aper\u00e7u du rendu final. De plus il est parfois difficile de savoir quel niveau de granularit\u00e9 est le mieux adapt\u00e9, car avoir trop de composants rend plus difficile la lecture d\u2019une page dans Contentful, alors que ne pas avoir assez de composant voudrait dire un d\u00e9coupage moins fin des composants dans React (Gatsby)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"n%E2%80%99aurait-on-pas-mieux-fait-d%E2%80%99utiliser-un-cms-classique-comme-wordpress\">N\u2019aurait-on pas mieux fait d\u2019utiliser un CMS classique comme WordPress ?<\/h3>\n\n\n\n<p>Pour \u00eatre honn\u00eate, nous aurions pu d\u00e9velopper notre site beaucoup plus vite en utilisant WordPress, car ce dernier propose des outils tr\u00e8s pouss\u00e9s pour \u00e0 la fois \u00e9crire des articles et cr\u00e9er des pages. De plus des centaines de th\u00e8mes et autres plugins permettent d\u2019avoir rapidement \u00e0 peut pr\u00eat toutes les fonctionnalit\u00e9s qu\u2019on pourrait attendre d\u2019un site internet ou d\u2019un blog, dont le multilangue, tout \u00e7a sans d\u00e9veloppements suppl\u00e9mentaires.<\/p>\n\n\n\n<p>Ces avantages viennent avec l\u2019inconv\u00e9nient qu\u2019en g\u00e9n\u00e9ral ces sites sont un peu plus lents, et gourmands en ressources, c\u2019est-\u00e0-dire bande passante, requ\u00eates de bases de donn\u00e9es, taille des images et d\u2019une mani\u00e8re g\u00e9n\u00e9rale en \u00e9lectricit\u00e9 consomm\u00e9e par visite. Certes, il existe des outils pour am\u00e9liorer les performances et la mise en cache, mais ils ne font pas partie int\u00e9grante de l&rsquo;architecture.<\/p>\n\n\n\n<p>Avec une architecture Jamstack on utilise un CMS Headless, donc des APIs pour r\u00e9cup\u00e9rer le contenu du CMS mais sans la mise en forme, ce qui est tr\u00e8s pertinent si le contenu doit \u00eatre affich\u00e9 d\u2019une mani\u00e8re diff\u00e9rente d&rsquo;un appareil \u00e0 l\u2019autre par exemple. Mais cette approche est contre-productive si le contenu est affich\u00e9 de la m\u00eame mani\u00e8re sur tous les appareils.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"les-bonnes-et-mauvaises-pratiques\">Les bonnes et mauvaises pratiques<\/h2>\n\n\n\n<p>Si comme nous, vous voulez vous lancer dans le d\u00e9veloppement d\u2019un site en utilisant l\u2019architecture Jamstack, nous vous conseillons d\u2019adopter ces quelques bonnes pratiques :<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"bonnes-pratiques\">Bonnes pratiques<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Utilisez Git et automatisez autant de choses que possible en utilisant GitHub Actions, GitLab CI, ou la CI de votre choix<\/li>\n\n\n\n<li>Profitez des offres d\u2019h\u00e9bergement gratuites de Vercel ou Netlify, ces offres incluent un CDN qui augmentera grandement la vitesse de chargement de votre site<\/li>\n\n\n\n<li>Faites-vous plaisir, il existe&nbsp;<a href=\"https:\/\/jamstack.org\/generators\/?ref=blog.socraft.ch\">plusieurs centaines d\u2019excellents SSG<\/a>, le meilleur choix est celui qui vous procurera le plus de fun.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"mauvaises-pratiques\">Mauvaises pratiques<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>G\u00e9n\u00e9rer du HTML au runtime, c\u2019est mauvais pour votre SEO, moins performant que du HTML statique et en g\u00e9n\u00e9ral c\u2019est une pratique des Single Page Applications (SPA) qui n\u2019est pas forc\u00e9ment compatible avec Jamstack<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"conclusion\">Conclusion<\/h2>\n\n\n\n<p>Nous sommes content d\u2019avoir fait le choix de Jamstack pour le d\u00e9veloppement du site socraft.ch. Nous pensons que ce choix est pertinent pour les sites qui ont un contenu qui ne change pas tr\u00e8s souvent, et la vari\u00e9t\u00e9 d\u2019outils permet de choisir des technologies funs et faciles d\u2019utilisation pour les d\u00e9veloppeurs.<\/p>\n\n\n\n<p>En plus de cela, j&rsquo;ai beaucoup appris en travaillant avec cette architecture, et dans une certaine mesure, j\u2019ai actualis\u00e9 mon appr\u00e9ciation de quelques aspects du SSR (Server Side Rendering).<\/p>\n\n\n\n<p>Nous mettons toutefois en garde les personnes qui veulent faire du Jamstack car si le contenu change souvent, alors le site aura souvent besoin d\u2019\u00eatre recompil\u00e9. M\u00eame si le processus est automatis\u00e9, ce d\u00e9lai n\u00e9cessaire pour red\u00e9ployer le site peut \u00eatre un probl\u00e8me. Nous dirons \u00e9galement que l\u2019utilisation d\u2019un CMS headless ne sera jamais aussi fluide qu\u2019un CMS directement int\u00e9gr\u00e9 dans votre site tel que WordPress.<\/p>","protected":false},"excerpt":{"rendered":"<p>Mais c\u2019est quoi Jamstack ? Jamstack est une architecture de d\u00e9veloppement pour les applications web. Son objectif est de s\u00e9parer le d\u00e9veloppement des interfaces graphiques de celui des back ends (c&rsquo;est-\u00e0-dire le traitement des donn\u00e9es). Dans JAM-Stack, JAM veut dire Javascript, API, Markup, les trois \u00e9l\u00e9ments essentiels de l\u2019architecture Jamstack. En 2008 Jekyll a rendu&hellip;<\/p>","protected":false},"author":22,"featured_media":87425,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"arc_restricted_post":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[257],"tags":[],"table_tags":[],"ppma_author":[324],"class_list":["post-28591","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech","category-257","description-off"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Utiliser la JAMStack pour d\u00e9velopper un site web - socraft - blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.socraft.io\/en\/blog\/jamstack\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Utiliser la JAMStack pour d\u00e9velopper un site web - socraft - blog\" \/>\n<meta property=\"og:description\" content=\"Mais c\u2019est quoi Jamstack ? Jamstack est une architecture de d\u00e9veloppement pour les applications web. Son objectif est de s\u00e9parer le d\u00e9veloppement des interfaces graphiques de celui des back ends (c&rsquo;est-\u00e0-dire le traitement des donn\u00e9es). Dans JAM-Stack, JAM veut dire Javascript, API, Markup, les trois \u00e9l\u00e9ments essentiels de l\u2019architecture Jamstack. En 2008 Jekyll a rendu&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.socraft.io\/en\/blog\/jamstack\/\" \/>\n<meta property=\"og:site_name\" content=\"socraft - blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/socraft.ch\" \/>\n<meta property=\"article:published_time\" content=\"2021-09-03T14:21:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-09-13T07:16:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.socraft.io\/wp-content\/uploads\/2017\/02\/Capture-decran-2023-04-06-a-14.01.16.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1496\" \/>\n\t<meta property=\"og:image:height\" content=\"1180\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Aktar Ibrahim\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@socraftch\" \/>\n<meta name=\"twitter:site\" content=\"@socraftch\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Aktar Ibrahim\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.socraft.io\/blog\/jamstack\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.socraft.io\/blog\/jamstack\/\"},\"author\":{\"name\":\"Aktar Ibrahim\",\"@id\":\"https:\/\/blog.socraft.io\/#\/schema\/person\/86e8f98020db95e1a98093ff82c5477c\"},\"headline\":\"Utiliser la JAMStack pour d\u00e9velopper un site web\",\"datePublished\":\"2021-09-03T14:21:00+00:00\",\"dateModified\":\"2023-09-13T07:16:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.socraft.io\/blog\/jamstack\/\"},\"wordCount\":1709,\"commentCount\":44,\"publisher\":{\"@id\":\"https:\/\/blog.socraft.io\/#organization\"},\"image\":{\"@id\":\"https:\/\/blog.socraft.io\/blog\/jamstack\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.socraft.io\/wp-content\/uploads\/2017\/02\/Capture-decran-2023-04-06-a-14.01.16.png\",\"articleSection\":[\"tech\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.socraft.io\/blog\/jamstack\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.socraft.io\/blog\/jamstack\/\",\"url\":\"https:\/\/blog.socraft.io\/blog\/jamstack\/\",\"name\":\"Utiliser la JAMStack pour d\u00e9velopper un site web - socraft - blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.socraft.io\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.socraft.io\/blog\/jamstack\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.socraft.io\/blog\/jamstack\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.socraft.io\/wp-content\/uploads\/2017\/02\/Capture-decran-2023-04-06-a-14.01.16.png\",\"datePublished\":\"2021-09-03T14:21:00+00:00\",\"dateModified\":\"2023-09-13T07:16:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.socraft.io\/blog\/jamstack\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.socraft.io\/blog\/jamstack\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/blog.socraft.io\/blog\/jamstack\/#primaryimage\",\"url\":\"https:\/\/blog.socraft.io\/wp-content\/uploads\/2017\/02\/Capture-decran-2023-04-06-a-14.01.16.png\",\"contentUrl\":\"https:\/\/blog.socraft.io\/wp-content\/uploads\/2017\/02\/Capture-decran-2023-04-06-a-14.01.16.png\",\"width\":1496,\"height\":1180},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.socraft.io\/blog\/jamstack\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/blog.socraft.io\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Utiliser la JAMStack pour d\u00e9velopper un site web\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.socraft.io\/#website\",\"url\":\"https:\/\/blog.socraft.io\/\",\"name\":\"socraft - blog\",\"description\":\"socraft - les artisans du num\u00e9rique\",\"publisher\":{\"@id\":\"https:\/\/blog.socraft.io\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.socraft.io\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/blog.socraft.io\/#organization\",\"name\":\"socraft\",\"url\":\"https:\/\/blog.socraft.io\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/blog.socraft.io\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.socraft.io\/wp-content\/uploads\/2024\/04\/socraft-logo-noir2.png\",\"contentUrl\":\"https:\/\/blog.socraft.io\/wp-content\/uploads\/2024\/04\/socraft-logo-noir2.png\",\"width\":400,\"height\":94,\"caption\":\"socraft\"},\"image\":{\"@id\":\"https:\/\/blog.socraft.io\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/socraft.ch\",\"https:\/\/x.com\/socraftch\",\"https:\/\/www.linkedin.com\/company\/socraft-ch\",\"https:\/\/www.instagram.com\/socraft.ch\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.socraft.io\/#\/schema\/person\/86e8f98020db95e1a98093ff82c5477c\",\"name\":\"Aktar Ibrahim\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/blog.socraft.io\/#\/schema\/person\/image\/876ad5e02e21964728850322cb64b53e\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/fcb90e39d93f22655f207e915da74e02?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/fcb90e39d93f22655f207e915da74e02?s=96&d=mm&r=g\",\"caption\":\"Aktar Ibrahim\"},\"url\":\"https:\/\/blog.socraft.io\/en\/blog\/author\/aktar-ibrahimsocraft-ch\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Utiliser la JAMStack pour d\u00e9velopper un site web - socraft - blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.socraft.io\/en\/blog\/jamstack\/","og_locale":"en_GB","og_type":"article","og_title":"Utiliser la JAMStack pour d\u00e9velopper un site web - socraft - blog","og_description":"Mais c\u2019est quoi Jamstack ? Jamstack est une architecture de d\u00e9veloppement pour les applications web. Son objectif est de s\u00e9parer le d\u00e9veloppement des interfaces graphiques de celui des back ends (c&rsquo;est-\u00e0-dire le traitement des donn\u00e9es). Dans JAM-Stack, JAM veut dire Javascript, API, Markup, les trois \u00e9l\u00e9ments essentiels de l\u2019architecture Jamstack. En 2008 Jekyll a rendu&hellip;","og_url":"https:\/\/blog.socraft.io\/en\/blog\/jamstack\/","og_site_name":"socraft - blog","article_publisher":"https:\/\/www.facebook.com\/socraft.ch","article_published_time":"2021-09-03T14:21:00+00:00","article_modified_time":"2023-09-13T07:16:12+00:00","og_image":[{"width":1496,"height":1180,"url":"https:\/\/blog.socraft.io\/wp-content\/uploads\/2017\/02\/Capture-decran-2023-04-06-a-14.01.16.png","type":"image\/png"}],"author":"Aktar Ibrahim","twitter_card":"summary_large_image","twitter_creator":"@socraftch","twitter_site":"@socraftch","twitter_misc":{"Written by":"Aktar Ibrahim","Estimated reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.socraft.io\/blog\/jamstack\/#article","isPartOf":{"@id":"https:\/\/blog.socraft.io\/blog\/jamstack\/"},"author":{"name":"Aktar Ibrahim","@id":"https:\/\/blog.socraft.io\/#\/schema\/person\/86e8f98020db95e1a98093ff82c5477c"},"headline":"Utiliser la JAMStack pour d\u00e9velopper un site web","datePublished":"2021-09-03T14:21:00+00:00","dateModified":"2023-09-13T07:16:12+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.socraft.io\/blog\/jamstack\/"},"wordCount":1709,"commentCount":44,"publisher":{"@id":"https:\/\/blog.socraft.io\/#organization"},"image":{"@id":"https:\/\/blog.socraft.io\/blog\/jamstack\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.socraft.io\/wp-content\/uploads\/2017\/02\/Capture-decran-2023-04-06-a-14.01.16.png","articleSection":["tech"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.socraft.io\/blog\/jamstack\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.socraft.io\/blog\/jamstack\/","url":"https:\/\/blog.socraft.io\/blog\/jamstack\/","name":"Utiliser la JAMStack pour d\u00e9velopper un site web - socraft - blog","isPartOf":{"@id":"https:\/\/blog.socraft.io\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.socraft.io\/blog\/jamstack\/#primaryimage"},"image":{"@id":"https:\/\/blog.socraft.io\/blog\/jamstack\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.socraft.io\/wp-content\/uploads\/2017\/02\/Capture-decran-2023-04-06-a-14.01.16.png","datePublished":"2021-09-03T14:21:00+00:00","dateModified":"2023-09-13T07:16:12+00:00","breadcrumb":{"@id":"https:\/\/blog.socraft.io\/blog\/jamstack\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.socraft.io\/blog\/jamstack\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/blog.socraft.io\/blog\/jamstack\/#primaryimage","url":"https:\/\/blog.socraft.io\/wp-content\/uploads\/2017\/02\/Capture-decran-2023-04-06-a-14.01.16.png","contentUrl":"https:\/\/blog.socraft.io\/wp-content\/uploads\/2017\/02\/Capture-decran-2023-04-06-a-14.01.16.png","width":1496,"height":1180},{"@type":"BreadcrumbList","@id":"https:\/\/blog.socraft.io\/blog\/jamstack\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/blog.socraft.io\/"},{"@type":"ListItem","position":2,"name":"Utiliser la JAMStack pour d\u00e9velopper un site web"}]},{"@type":"WebSite","@id":"https:\/\/blog.socraft.io\/#website","url":"https:\/\/blog.socraft.io\/","name":"socraft - blog","description":"socraft - les artisans du num\u00e9rique","publisher":{"@id":"https:\/\/blog.socraft.io\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.socraft.io\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/blog.socraft.io\/#organization","name":"socraft","url":"https:\/\/blog.socraft.io\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/blog.socraft.io\/#\/schema\/logo\/image\/","url":"https:\/\/blog.socraft.io\/wp-content\/uploads\/2024\/04\/socraft-logo-noir2.png","contentUrl":"https:\/\/blog.socraft.io\/wp-content\/uploads\/2024\/04\/socraft-logo-noir2.png","width":400,"height":94,"caption":"socraft"},"image":{"@id":"https:\/\/blog.socraft.io\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/socraft.ch","https:\/\/x.com\/socraftch","https:\/\/www.linkedin.com\/company\/socraft-ch","https:\/\/www.instagram.com\/socraft.ch"]},{"@type":"Person","@id":"https:\/\/blog.socraft.io\/#\/schema\/person\/86e8f98020db95e1a98093ff82c5477c","name":"Aktar Ibrahim","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/blog.socraft.io\/#\/schema\/person\/image\/876ad5e02e21964728850322cb64b53e","url":"https:\/\/secure.gravatar.com\/avatar\/fcb90e39d93f22655f207e915da74e02?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fcb90e39d93f22655f207e915da74e02?s=96&d=mm&r=g","caption":"Aktar Ibrahim"},"url":"https:\/\/blog.socraft.io\/en\/blog\/author\/aktar-ibrahimsocraft-ch\/"}]}},"authors":[{"term_id":324,"user_id":22,"is_guest":0,"slug":"aktar-ibrahimsocraft-ch","display_name":"Aktar Ibrahim","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/fcb90e39d93f22655f207e915da74e02?s=96&d=mm&r=g","first_name":"Aktar","last_name":"Ibrahim","user_url":"","job_title":"","job_title_2":"","description":""}],"_links":{"self":[{"href":"https:\/\/blog.socraft.io\/en\/wp-json\/wp\/v2\/posts\/28591","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.socraft.io\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.socraft.io\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.socraft.io\/en\/wp-json\/wp\/v2\/users\/22"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.socraft.io\/en\/wp-json\/wp\/v2\/comments?post=28591"}],"version-history":[{"count":3,"href":"https:\/\/blog.socraft.io\/en\/wp-json\/wp\/v2\/posts\/28591\/revisions"}],"predecessor-version":[{"id":89458,"href":"https:\/\/blog.socraft.io\/en\/wp-json\/wp\/v2\/posts\/28591\/revisions\/89458"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.socraft.io\/en\/wp-json\/wp\/v2\/media\/87425"}],"wp:attachment":[{"href":"https:\/\/blog.socraft.io\/en\/wp-json\/wp\/v2\/media?parent=28591"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.socraft.io\/en\/wp-json\/wp\/v2\/categories?post=28591"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.socraft.io\/en\/wp-json\/wp\/v2\/tags?post=28591"},{"taxonomy":"table_tags","embeddable":true,"href":"https:\/\/blog.socraft.io\/en\/wp-json\/wp\/v2\/table_tags?post=28591"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blog.socraft.io\/en\/wp-json\/wp\/v2\/ppma_author?post=28591"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}