[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"theme-db":3,"$fsZgHQWMRjly9naH6gzQUwEblttrpz4MaHNzB8F0AVFw":22,"megamenu":36,"$fP0FV7zZkQhZStJelKMQF2vnI2nbZQB210etjzdyGslw":106,"header-db":174,"footer-db":187,"$fB8MxDCIr3bc54vEsBdvgtqtM7ApjcfwGe1VJDFVWvVg":204,"$fe_W93_o5kKXn6_pKwqje65L35QiyDZnIcSFM-AH3qtE":262,"$ftCgiCQ1Qyz6eieo83he29D_FsSw74NeCmklcXAHGAsA":263},{"theme":4},{"colors":5,"typography":13,"ui":17,"defaultColorMode":21},{"primary":6,"secondary":7,"background":8,"foreground":9,"muted":10,"headerBg":11,"footerBg":12,"topBarBg":9,"topBarText":11},"#4F46E5","#0D9488","#F9FAFB","#111827","#6B7280","#ffffff","#020617",{"fontFamily":14,"fontUrl":15,"baseFontSize":16},"Inter, system-ui, sans-serif","https:\u002F\u002Ffonts.googleapis.com\u002Fcss2?family=Inter:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,700;0,800;0,900;1,400;1,700&display=swap","16px",{"borderRadius":18,"contentWidth":19,"shadow":20},"lg","7xl",true,"light",{"academy":23,"blog":24,"expertise":35},[],[25,29,32],{"title":26,"url":27,"type":28},"Coulisses : propulser un Hub Pro avec PrestaShop Headless et Nuxt","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fhub-pro-headless-nuxt-docker","blog",{"title":30,"url":31,"type":28},"PrestaShop headless avec Nuxt 3 : pourquoi séparer back et front","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-separation-front-back",{"title":33,"url":34,"type":28},"PrestaShop WebServices + Nuxt 3 — intégration headless complète","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fwebservices-nuxt-integration-headless",[],{"items":37},[38,49,57,65,73,82,90,98],{"id":39,"type":40,"label":41,"href":43,"icon":44,"description":44,"badge":44,"groupTitle":44,"style":44,"gridColumns":44,"cssClass":44,"psCategoryId":44,"showPsChildren":45,"position":46,"children":47,"psChildren":48},41,"link",{"fr":42},"Expertise","\u002Fexpertise",null,false,0,[],[],{"id":50,"type":40,"label":51,"href":53,"icon":44,"description":44,"badge":44,"groupTitle":44,"style":44,"gridColumns":44,"cssClass":44,"psCategoryId":44,"showPsChildren":45,"position":54,"children":55,"psChildren":56},42,{"fr":52},"Blog","\u002Fblog",1,[],[],{"id":58,"type":40,"label":59,"href":61,"icon":44,"description":44,"badge":44,"groupTitle":44,"style":44,"gridColumns":44,"cssClass":44,"psCategoryId":44,"showPsChildren":45,"position":62,"children":63,"psChildren":64},43,{"fr":60},"Modules PrestaShop","\u002Fmodules",2,[],[],{"id":66,"type":40,"label":67,"href":69,"icon":44,"description":44,"badge":44,"groupTitle":44,"style":44,"gridColumns":44,"cssClass":44,"psCategoryId":44,"showPsChildren":45,"position":70,"children":71,"psChildren":72},44,{"fr":68},"Outils IA","\u002Foutils-ia",3,[],[],{"id":74,"type":40,"label":75,"href":77,"icon":44,"description":44,"badge":44,"groupTitle":44,"style":78,"gridColumns":44,"cssClass":44,"psCategoryId":44,"showPsChildren":45,"position":79,"children":80,"psChildren":81},45,{"fr":76},"Offre Starter ✨","\u002Foffre-starter",{"highlight":20},4,[],[],{"id":83,"type":40,"label":84,"href":86,"icon":44,"description":44,"badge":44,"groupTitle":44,"style":44,"gridColumns":44,"cssClass":44,"psCategoryId":44,"showPsChildren":45,"position":87,"children":88,"psChildren":89},46,{"fr":85},"Academy","\u002Facademy",5,[],[],{"id":91,"type":40,"label":92,"href":94,"icon":44,"description":44,"badge":44,"groupTitle":44,"style":44,"gridColumns":44,"cssClass":44,"psCategoryId":44,"showPsChildren":45,"position":95,"children":96,"psChildren":97},47,{"fr":93},"À propos","\u002Fa-propos",6,[],[],{"id":99,"type":40,"label":100,"href":102,"icon":44,"description":44,"badge":44,"groupTitle":44,"style":44,"gridColumns":44,"cssClass":44,"psCategoryId":44,"showPsChildren":45,"position":103,"children":104,"psChildren":105},48,{"fr":101},"Contact","\u002Fcontact",7,[],[],{"columns":107},[108,120,150,166],{"title":109,"links":110},"Plateforme",[111,113,116,117],{"label":112,"href":77,"external":45},"Offre Starter (2 500 €)",{"label":114,"href":115,"external":45},"Devenir Ambassadeur","\u002Fambassadeur",{"label":60,"href":61,"external":45},{"label":118,"href":119,"external":20},"CodeMyShop.com","https:\u002F\u002Fcodemyshop.com",{"title":121,"links":122},"Le Synedre",[123,126,129,132,135,138,141,144,147],{"label":124,"href":125,"external":45},"L'histoire","\u002Fsynedre",{"label":127,"href":128,"external":45},"Constitution","\u002Fsynedre\u002Fconstitution",{"label":130,"href":131,"external":45},"L'équipe","\u002Fequipe",{"label":133,"href":134,"external":45},"Le réacteur en direct","\u002Freacteur",{"label":136,"href":137,"external":45},"Le Drill (entraînement)","\u002Fdrill",{"label":139,"href":140,"external":45},"Protocole de réunion","\u002Fsynedre\u002Freunion",{"label":142,"href":143,"external":45},"Les agents IA","\u002Fagents-ia",{"label":145,"href":146,"external":45},"La Conduite","\u002Fsynedre\u002Fconduite",{"label":148,"href":149,"external":45},"Charte plateforme","\u002Fsynedre\u002Fcharte",{"title":151,"links":152},"Ressources",[153,154,155,158,160,163],{"label":52,"href":53,"external":45},{"label":85,"href":86,"external":45},{"label":156,"href":157,"external":45},"Dictionnaire","\u002Fdictionnaire",{"label":159,"href":43,"external":45},"Expertise PrestaShop",{"label":161,"href":162,"external":45},"Flywheel","\u002Fflywheel",{"label":164,"href":165,"external":45},"Manifeste","\u002Fmanifeste",{"title":93,"links":167},[168,170,173],{"label":169,"href":94,"external":45},"Alexandre Carette",{"label":171,"href":172,"external":45},"Dossier de presse","\u002Fpresse",{"label":101,"href":102,"external":45},{"header":175},{"logo":176,"topBar":181,"contactEmail":184,"features":185,"navBar":44},{"src":177,"alt":178,"text":169,"href":179,"class":180},"\u002Flogo-ac.svg","Alexandre Carette — Architecte E-commerce Souverain","\u002F","h-10 w-10",{"message":44,"messageMobile":44,"showLanguages":45,"align":182,"languages":183},"left",[],"contact@alexandrecarette.fr",{"showSearch":45,"showWishlist":45,"showLogin":20,"showContact":45,"showCart":45,"showBlogLink":45,"showContactLink":45,"showGiftcardLink":45,"showStoresLink":45,"stickyHeader":20,"headerLayout":186},"inline",{"footer":188},{"theme":189,"description":44,"hours":44,"logo":190,"contact":191,"social":192,"bottomBar":202,"newsletter":203},"dark",{"src":177,"href":179,"alt":169},{"email":44,"phone":44,"address":44,"cta":44},[193,196,199],{"platform":194,"href":195,"label":194},"linkedin","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Falexandre-carette\u002F",{"platform":197,"href":198,"label":197},"malt","https:\u002F\u002Fwww.malt.fr\u002Fprofile\u002Falexandrecarette",{"platform":200,"href":201,"label":200},"github","https:\u002F\u002Fgithub.com\u002Fprest4cafe",{"copyright":44},{"show":45,"title":44,"description":44,"placeholder":44,"ctaLabel":44,"consentText":44},{"id":205,"title":206,"category":207,"subcategory":208,"slug":209,"coverImage":210,"thumbnailImage":211,"content":212,"faq":213,"metaDescription":259,"active":20,"datePublished":260,"dateUpdated":260,"readingTime":261,"mentor":44,"audioEnabled":45,"audioUrl":260,"author":44},64,"PrestaShop headless : Nuxt 3, pas Next.js — le choix souverain","prestashop","architecture","architecture--prestashop-headless-nuxt-nextjs-souverainete","\u002Fblog-covers\u002Fcover-architecture--prestashop-headl-1775041733.webp","\u002Fblog-covers\u002Fthumb-architecture--prestashop-headl-1775041733.webp","\u003Cp class=\"lead\">  Un article récent explique comment connecter PrestaShop à Next.js via l'API Webservice pour obtenir un front headless. L'approche est techniquement correcte. Mais elle omet trois réalités que seul un praticien qui a livré des boutiques headless en production peut voir : \u003Cstrong>la souveraineté de l'hébergement, la fraîcheur des données en SSR, et le tunnel de conversion complet\u003C\u002Fstrong>. Après 193 projets PrestaShop et 12 mois de production headless avec Nuxt 3, voici pourquoi je ne recommande pas Next.js pour un e-commerce souverain — et ce que ça change concrètement pour le commerçant.\u003C\u002Fp>\u003Ch2>Le vrai problème du headless e-commerce : qui contrôle le front ?\u003C\u002Fh2>\u003Cp class=\"article-nav-context\" style=\"font-size:0.9em;color:#64748b;margin:0.5em 0 1.5em;\">Cet article fait partie de notre dossier \u003Ca href=\"\u002Fblog\u002Fprestashop\u002F\" title=\"Tous nos articles PrestaShop Headless\">PrestaShop Headless\u003C\u002Fa> &rsaquo; \u003Ca href=\"\u002Fblog\u002Fprestashop\u002Farchitecture\u002F\" title=\"Articles architecture\">architecture\u003C\u002Fa>.\u003C\u002Fp>\u003Cp>  Quand une agence propose Next.js pour un PrestaShop headless, elle propose en réalité \u003Cstrong>deux dépendances\u003C\u002Fstrong> : le framework (Next.js, maintenu par Vercel) et la plateforme de déploiement (Vercel, hébergeur américain). Ce n'est pas un détail technique — c'est une décision stratégique. Vos données de navigation, vos logs d'accès, vos analytics côté serveur transitent par des serveurs américains soumis au \u003Ca href=\"https:\u002F\u002Fwww.cnil.fr\u002Ffr\u002Fla-cnil-publie-une-nouvelle-version-de-son-guide-rgpd-pour-les-developpeurs\" style=\"text-decoration:underline;\">Cloud Act\u003C\u002Fa>. Pour un commerçant français qui vend à d'autres professionnels français, c'est un non-sens réglementaire.\u003C\u002Fp>\u003Cp>  Nuxt 3 s'auto-héberge sur n'importe quel VPS. Le nôtre tourne sur un serveur OVH à Gravelines, à 200 km de nos clients. Pas de CDN tiers, pas de vendor lock-in, pas de facture Vercel qui grimpe avec le trafic. \u003Cstrong>Le commerçant possède son front comme il possède son back-office\u003C\u002Fstrong> — c'est la même philosophie que PrestaShop lui-même.\u003C\u002Fp>\u003Ctable class=\"article-table\" style=\"width:100%; border-collapse:collapse; margin:1.5em 0;\">  \u003Cthead>    \u003Ctr style=\"background:#f8fafc;\">      \u003Cth style=\"padding:12px 16px; text-align:left; border-bottom:2px solid #e2e8f0; font-weight:700;\">Critère\u003C\u002Fth>      \u003Cth style=\"padding:12px 16px; text-align:left; border-bottom:2px solid #e2e8f0; font-weight:700;\">Next.js + Vercel\u003C\u002Fth>      \u003Cth style=\"padding:12px 16px; text-align:left; border-bottom:2px solid #e2e8f0; font-weight:700;\">Nuxt 3 auto-hébergé\u003C\u002Fth>    \u003C\u002Ftr>  \u003C\u002Fthead>  \u003Ctbody>    \u003Ctr>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">Hébergement\u003C\u002Ftd>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">Vercel (USA, Cloud Act)\u003C\u002Ftd>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">VPS OVH France (RGPD natif)\u003C\u002Ftd>    \u003C\u002Ftr>    \u003Ctr>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">Rendu serveur\u003C\u002Ftd>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">ISR (cache, données potentiellement périmées)\u003C\u002Ftd>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">SSR temps réel (stock et prix à jour)\u003C\u002Ftd>    \u003C\u002Ftr>    \u003Ctr>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">Coût à 50 000 pages vues\u002Fmois\u003C\u002Ftd>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">~75 $\u002Fmois (Pro plan Vercel)\u003C\u002Ftd>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">~15 €\u002Fmois (VPS OVH)\u003C\u002Ftd>    \u003C\u002Ftr>    \u003Ctr>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">Vendor lock-in\u003C\u002Ftd>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">Fort (optimisé Vercel, middleware propriétaire)\u003C\u002Ftd>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">Zéro (Nitro déployable partout)\u003C\u002Ftd>    \u003C\u002Ftr>    \u003Ctr>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">Tunnel de conversion\u003C\u002Ftd>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">Partiel (panier\u002Fcheckout souvent délégué à PS)\u003C\u002Ftd>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">Complet (homepage → checkout en Nuxt)\u003C\u002Ftd>    \u003C\u002Ftr>    \u003Ctr>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">Écosystème Vue.js \u002F React\u003C\u002Ftd>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">React (Facebook)\u003C\u002Ftd>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">Vue.js (indépendant, Evan You)\u003C\u002Ftd>    \u003C\u002Ftr>  \u003C\u002Ftbody>\u003C\u002Ftable>\u003Ch2>ISR vs SSR : le stock affiché est-il le stock réel ?\u003C\u002Fh2>\u003Cp>  L'ISR (Incremental Static Regeneration) est l'argument massue de Next.js : on génère les pages en avance, on les cache, et on les régénère périodiquement. Pour un blog, c'est parfait. Pour un \u003Cstrong>catalogue e-commerce avec des stocks qui bougent\u003C\u002Fstrong>, c'est un piège. Un client voit « 3 en stock », ajoute au panier, et découvre au checkout que le produit est épuisé. La page ISR affichait un cache de 60 secondes — et en 60 secondes, les 3 dernières unités sont parties.\u003C\u002Fp>\u003Cp>  Avec Nuxt 3 en SSR, chaque page produit est rendue côté serveur \u003Cstrong>à la volée\u003C\u002Fstrong>. Le stock affiché est le stock réel à la milliseconde. Le prix TTC affiché intègre la dernière règle de remise. L'état de la promotion est à jour. Pour un B2B où les quantités commandées sont élevées et les ruptures coûteuses, la différence entre un cache de 60 secondes et le temps réel n'est pas un détail — c'est de l'argent perdu ou un client frustré.\u003C\u002Fp>\u003Cp>  L'argument classique contre le SSR est la performance. Nos mesures de production le démentent : \u003Cstrong>0.15 seconde pour la homepage, 0.32 seconde pour une catégorie de 1 105 produits\u003C\u002Fstrong>. Avec un Redis local et un Nginx bien configuré, le SSR Nuxt 3 bat l'ISR Next.js sur les métriques Core Web Vitals — sans jamais montrer un prix périmé.\u003C\u002Fp>\u003Ch2>Le demi-headless : le piège le plus répandu\u003C\u002Fh2>\u003Cp>  La plupart des implémentations headless PrestaShop s'arrêtent à la page produit. Le catalogue est en Next.js ou Nuxt, mais dès que le client clique sur « Ajouter au panier », il bascule sur le thème PrestaShop classique pour le checkout. \u003Cstrong>Deux designs, deux vitesses, deux expériences\u003C\u002Fstrong> — et un taux de conversion qui s'effondre à la transition.\u003C\u002Fp>\u003Cp>  Notre approche avec \u003Ca href=\"\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-separation-front-back\" style=\"text-decoration:underline;\">Nuxt 3 headless\u003C\u002Fa> couvre le tunnel complet : homepage, listing catégorie, fiche produit, panier, checkout, confirmation. Le thème PrestaShop est désactivé. Le front Nuxt parle directement à l'API PrestaShop pour chaque action (ajout panier, calcul livraison, paiement). Le client ne quitte jamais l'interface rapide. C'est ce que nous appelons un \u003Cstrong>tunnel complet headless\u003C\u002Fstrong>, par opposition au « demi-headless » qui ne fait que le catalogue.\u003C\u002Fp>\u003Ch2>L'API Webservice legacy vs les modules ac_ sur mesure\u003C\u002Fh2>\u003Cp>  L'API Webservice de \u003Ca href=\"\u002Fdictionnaire\u002Fprestashop\" title=\"Définition : PrestaShop\" class=\"dict-link\">PrestaShop\u003C\u002Fa> existe depuis la version 1.5. Elle fonctionne — mais elle a été conçue pour de la synchronisation ERP, pas pour un front e-commerce moderne. Pas de filtrage avancé, pas de tri multi-critères, pas d'agrégation. Pour afficher un méga-menu avec les sous-catégories et le nombre de produits par catégorie, il faut 12 appels API. Pour un filtre par attribut combiné avec un tri par prix, il faut bricoler côté client.\u003C\u002Fp>\u003Cp>  Notre stack utilise des \u003Cstrong>modules PrestaShop sur mesure\u003C\u002Fstrong> (préfixe \u003Ccode>ac_\u003C\u002Fcode>) qui exposent exactement les données dont le front a besoin, dans le bon format, en un seul appel. Un module \u003Ccode>ac_smartproducts\u003C\u002Fcode> renvoie le catalogue filtré, trié, paginé, avec les images optimisées et les variantes — en 80 ms. Un module \u003Ccode>ac_base\u003C\u002Fcode> gère l'authentification et les sessions. Le front ne bricole pas avec une API des années 2010 — il consomme une \u003Ca href=\"\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fhub-pro-headless-nuxt-docker\" style=\"text-decoration:underline;\">API conçue pour le headless\u003C\u002Fa>.\u003C\u002Fp>\u003Ctable class=\"article-table\" style=\"width:100%; border-collapse:collapse; margin:1.5em 0;\">  \u003Cthead>    \u003Ctr style=\"background:#f8fafc;\">      \u003Cth style=\"padding:12px 16px; text-align:left; border-bottom:2px solid #e2e8f0; font-weight:700;\">Besoin front\u003C\u002Fth>      \u003Cth style=\"padding:12px 16px; text-align:left; border-bottom:2px solid #e2e8f0; font-weight:700;\">API Webservice legacy\u003C\u002Fth>      \u003Cth style=\"padding:12px 16px; text-align:left; border-bottom:2px solid #e2e8f0; font-weight:700;\">Modules ac_ sur mesure\u003C\u002Fth>    \u003C\u002Ftr>  \u003C\u002Fthead>  \u003Ctbody>    \u003Ctr>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">Catalogue filtré + trié\u003C\u002Ftd>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">Multiples appels, tri côté client\u003C\u002Ftd>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">1 appel, 80 ms, résultat prêt\u003C\u002Ftd>    \u003C\u002Ftr>    \u003Ctr>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">Méga-menu catégories\u003C\u002Ftd>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">12+ appels récursifs\u003C\u002Ftd>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">1 appel arborescent\u003C\u002Ftd>    \u003C\u002Ftr>    \u003Ctr>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">Authentification\u003C\u002Ftd>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">Pas de gestion session native\u003C\u002Ftd>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">Module ac_base avec session cookie\u003C\u002Ftd>    \u003C\u002Ftr>    \u003Ctr>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">Panier + checkout\u003C\u002Ftd>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">Non supporté (redirect thème)\u003C\u002Ftd>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">API complète (ajout, livraison, paiement)\u003C\u002Ftd>    \u003C\u002Ftr>    \u003Ctr>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">SEO (meta, JSON-LD)\u003C\u002Ftd>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">Données brutes à transformer\u003C\u002Ftd>      \u003Ctd style=\"padding:10px 16px; border-bottom:1px solid #e2e8f0;\">JSON-LD Product prêt à injecter\u003C\u002Ftd>    \u003C\u002Ftr>  \u003C\u002Ftbody>\u003C\u002Ftable>\u003Ch2>La souveraineté n'est pas un argument marketing\u003C\u002Fh2>\u003Cp>  Quand votre front tourne sur Vercel, vos logs d'accès, vos données de session et vos analytics côté serveur sont stockés aux États-Unis. Le RGPD l'interdit sauf transfert encadré — et depuis l'arrêt Schrems II, les clauses contractuelles standard ne suffisent plus pour la CNIL. Ce n'est pas de la théorie juridique : \u003Cstrong>c'est le quotidien des PME qui vendent à des collectivités ou à des grands comptes avec des clauses de localisation des données\u003C\u002Fstrong>.\u003C\u002Fp>\u003Cp>  Avec \u003Ca href=\"\u002Fdictionnaire\u002Fnuxt\" title=\"Définition : Nuxt 3\" class=\"dict-link\">Nuxt 3\u003C\u002Fa> sur un VPS OVH, les données restent en France. Le commerçant peut montrer à son client B2B que toute la chaîne — base de données, back-office, front-end, analytics — tourne sur un serveur français. C'est un argument commercial concret, pas un label vide. Nos clients B2B l'utilisent dans leurs réponses à appels d'offres.\u003C\u002Fp>\u003Ch2>Ce que les articles « Next.js headless » ne montrent jamais\u003C\u002Fh2>\u003Col>  \u003Cli>\u003Cstrong>Le coût réel de Vercel à l'échelle.\u003C\u002Fstrong> Le plan gratuit plafonne à 100 GB de bande passante. Un catalogue de 5 000 fiches produit avec des images optimisées dépasse ce seuil en deux semaines. Le plan Pro démarre à 20 $\u002Fmois\u002Fmembre d'équipe — et les fonctions serverless sont facturées à l'exécution.\u003C\u002Fli>  \u003Cli>\u003Cstrong>Le middleware propriétaire.\u003C\u002Fstrong> Les Edge Functions de Vercel ne tournent que sur Vercel. Si vous migrez vers AWS, Cloudflare ou un VPS, votre middleware est à réécrire. Nuxt 3, via Nitro, \u003Cstrong>se déploie partout\u003C\u002Fstrong> : Node.js, Deno, Cloudflare Workers, ou un simple PM2 sur VPS.\u003C\u002Fli>  \u003Cli>\u003Cstrong>L'absence de tunnel complet.\u003C\u002Fstrong> Montrer un listing produit en Next.js est facile. Gérer le checkout complet (adresses, transporteurs, paiement, confirmation) sans revenir au thème PS demande des mois de développement spécifique. La plupart des démos s'arrêtent à la page produit.\u003C\u002Fli>  \u003Cli>\u003Cstrong>La maintenance du Webservice API.\u003C\u002Fstrong> L'API Webservice n'est plus activement développée par PrestaShop. Les modules sur mesure permettent de \u003Cstrong>contourner les limitations\u003C\u002Fstrong> sans attendre une mise à jour officielle qui ne viendra peut-être jamais.\u003C\u002Fli>\u003C\u002Fol>\u003Cdiv style=\"background:linear-gradient(135deg,#f0f9ff,#e0f2fe); border-left:4px solid #0284c7; padding:1.5em; margin:2em 0; border-radius:0 8px 8px 0;\">  \u003Cp style=\"margin:0 0 0.5em; font-weight:700; color:#0c4a6e;\">Source d'autorité — Vue.js & Nuxt 3\u003C\u002Fp>  \u003Cp style=\"margin:0; color:#334155;\">    Nuxt 3 est construit sur \u003Ca href=\"https:\u002F\u002Fvuejs.org\u002F\" style=\"text-decoration:underline;\">Vue.js\u003C\u002Fa>, le framework front-end indépendant créé par Evan You. Contrairement à React (Facebook\u002FMeta) et Angular (Google), Vue.js n'appartient à aucune entreprise. Son moteur de rendu universel, \u003Ca href=\"https:\u002F\u002Fnitro.unjs.io\u002F\" style=\"text-decoration:underline;\">Nitro\u003C\u002Fa>, est conçu pour fonctionner sur n'importe quelle infrastructure — une garantie d'indépendance technique totale.  \u003C\u002Fp>\u003C\u002Fdiv>\u003Ch2>Conclusion : le headless souverain existe, il tourne en production\u003C\u002Fh2>\u003Cp>  Le débat Next.js vs Nuxt 3 pour PrestaShop n'est pas un débat de préférence de framework. C'est un choix d'architecture qui détermine \u003Cstrong>qui contrôle les données de vos clients, combien coûte votre hébergement front, et si votre tunnel de conversion est complet ou tronqué\u003C\u002Fstrong>. Next.js est un excellent framework — mais l'écosystème Vercel qui l'accompagne est incompatible avec un e-commerce souverain français.\u003C\u002Fp>\u003Cp>  Nuxt 3 auto-hébergé, couplé à des modules PrestaShop sur mesure et un SSR temps réel, offre ce que les architectures ISR\u002FVercel ne peuvent pas : la propriété totale du commerçant sur son front, ses données et ses coûts. C'est ce que nous livrons en production depuis 12 mois, avec des \u003Ca href=\"\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-separation-front-back\" style=\"text-decoration:underline;\">résultats mesurables\u003C\u002Fa>.\u003C\u002Fp>\u003Cp>  \u003Cstrong>Vous envisagez un headless pour votre PrestaShop ?\u003C\u002Fstrong> Discutons de votre projet en 30 minutes — je vous montre une boutique en production, pas une démo.  \u003Cbr>\u003Ca href=\"https:\u002F\u002Fcalendly.com\u002Fcontact-alexandrecarette\u002F30min\" style=\"text-decoration:underline; font-weight:700;\">Réserver un créneau →\u003C\u002Fa>\u003C\u002Fp>\u003Cdiv class=\"article-sources\" style=\"margin-top:3em; padding-top:1.5em; border-top:1px solid #e2e8f0;\">  \u003Ch3 style=\"font-size:0.875rem; text-transform:uppercase; letter-spacing:0.05em; color:#64748b; margin-bottom:1em;\">Sources\u003C\u002Fh3>  \u003Cul style=\"font-size:0.9em; color:#475569;\">    \u003Cli>CNIL — Guide RGPD pour les développeurs : \u003Ca href=\"https:\u002F\u002Fwww.cnil.fr\u002Ffr\u002Fla-cnil-publie-une-nouvelle-version-de-son-guide-rgpd-pour-les-developpeurs\" style=\"text-decoration:underline;\">cnil.fr\u003C\u002Fa>\u003C\u002Fli>    \u003Cli>Nitro — Universal deployment engine : \u003Ca href=\"https:\u002F\u002Fnitro.unjs.io\u002F\" style=\"text-decoration:underline;\">nitro.unjs.io\u003C\u002Fa>\u003C\u002Fli>    \u003Cli>Vue.js — Framework indépendant : \u003Ca href=\"https:\u002F\u002Fvuejs.org\u002F\" style=\"text-decoration:underline;\">vuejs.org\u003C\u002Fa>\u003C\u002Fli>    \u003Cli>Vercel Pricing — Plans et limites : \u003Ca href=\"https:\u002F\u002Fvercel.com\u002Fpricing\" style=\"text-decoration:underline;\">vercel.com\u002Fpricing\u003C\u002Fa>\u003C\u002Fli>    \u003Cli>PrestaShop Webservice API — Documentation officielle : \u003Ca href=\"https:\u002F\u002Fdevdocs.prestashop-project.org\u002F8\u002Fwebservice\u002F\" style=\"text-decoration:underline;\">devdocs.prestashop-project.org\u003C\u002Fa>\u003C\u002Fli>  \u003C\u002Ful>\u003C\u002Fdiv>\n\u003Cdiv style=\"background:#f8fafc;border-left:4px solid #4F46E5;padding:16px 20px;margin:24px 0;border-radius:0 8px 8px 0;\">\u003Cp style=\"margin:0;font-size:14px;\">\u003Cstrong>Approfondir dans l'Academy\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp style=\"margin:4px 0 0;font-size:13px;\">\u003Ca href=\"\u002Facademy\u002Farchitecture-headless\" style=\"text-decoration:underline;color:#4F46E5;\">Module : Architecture Headless de A à Z &rarr;\u003C\u002Fa>\u003C\u002Fp>\u003C\u002Fdiv>\n\n\u003Cdiv class=\"articles-lies\" style=\"margin:2em 0;padding:1.5em;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;\">\n\u003Ch3 style=\"margin:0 0 0.8em 0;font-size:1em;color:#334155;\">Articles dans le même univers\u003C\u002Fh3>\n\u003Cul style=\"margin:0;padding-left:1.2em;list-style:disc;\">\n\u003Cli>\u003Ca href=\"\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fhub-pro-headless-nuxt-docker\">Coulisses : propulser un Hub Pro avec PrestaShop Headless et Nuxt\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-separation-front-back\">PrestaShop headless avec Nuxt 3 : pourquoi séparer back et front\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fwebservices-nuxt-integration-headless\">PrestaShop WebServices + Nuxt 3 — intégration headless complète\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"\u002Fblog\u002Fprestashop\u002Fdeveloppement\u002Fheadless-vs-shopify-comparatif\">PrestaShop Headless ou Shopify : pourquoi bâtir son propre Hub\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fdiv>",[214,217,220,223,226,229,232,235,238,241,244,247,250,253,256],{"q":215,"a":216},"Qu'est-ce qu'un e-commerce headless PrestaShop ?","Un e-commerce headless sépare PrestaShop (le back-end qui gère produits, commandes, stock) du front-end (Nuxt 3, Next.js, React). Le commerce converge via l'API Webservice de PrestaShop : le front affiche les données, le client commande, puis le back-end traite. C'est l'inverse d'un PrestaShop traditionnel où front et back sont couplés.",{"q":218,"a":219},"Pourquoi choisir Nuxt 3 plutôt que Next.js pour PrestaShop ?","Nuxt 3 offre un SSR natif et simplifié, idéal pour synergiser PrestaShop avec un front français\u002Fsouverain. Next.js impose une infrastructure Vercel ou auto-managée plus coûteuse. Sur 12 mois en production, Nuxt 3 a montré 40% moins de latence SSR et une intégration API PrestaShop plus fluide.",{"q":221,"a":222},"Headless PrestaShop c'est compatible avec l'API Webservice ?","Oui, totalement. L'API Webservice de PrestaShop (REST) expose produits, catégories, commandes, clients. Nuxt 3 les consomme via $fetch, authentifie avec la clé API, et affiche côté client. Aucune modification de PrestaShop n'est requise — c'est son usage prévu depuis 2012.",{"q":224,"a":225},"Quel est l'avantage de la souveraineté d'hébergement avec Nuxt 3 ?","Nuxt 3 se déploie sur ton serveur (VPS, dédié, cloud français). Zéro dépendance Vercel ou AWS, zéro lock-in. Les données restent sous ton contrôle complet. Pour un commerçant européen ou une PME, c'est critique : une cloud US peut appliquer sanctions, géoblocking ou terminer le service sans raison. Souverain = résilient.",{"q":227,"a":228},"Est-ce que Next.js permet aussi la souveraineté ?","Techniquement oui, mais Next.js pousse vers Vercel (CDN propriétaire, intégration directe). S'auto-héberger Next.js en France coûte 30-40% plus cher qu'un VPS Nuxt 3 : Node.js seul + Redis + database + Vercel API calls. Vercel offre 'facilité', pas souveraineté — tu pales surtout la convenience, pas l'infra.",{"q":230,"a":231},"Comment fonctionne le SSR côté PrestaShop headless ?","Le serveur Nuxt 3 rend les pages HTML côté serveur avant envoi au navigateur : la connexion API précommande, appel l'API PrestaShop pour produits\u002Fprix actuels, puis insère les données fraîches dans le HTML. Le client reçoit une page complète, pas du vide qui charge via JavaScript. Meilleur SEO, meilleur temps d'affichage.",{"q":233,"a":234},"Pourquoi la fraîcheur des données est-elle critique en SSR ?","Une page doit afficher les prix\u002Fstocks actuels. En SPA pur (client-side), on charge le HTML vide, puis on appelle l'API — retard de 0,5-2 sec. En SSR Nuxt 3, l'API s'exécute côté serveur, le prix frais est injecté dans le HTML initial. Le client voit immédiatement le bon prix, zéro flash de prix ancien.",{"q":236,"a":237},"Est-ce que Next.js a aussi un SSR complet pour e-commerce ?","Oui, Next.js supporte App Router (SSR native). Mais son SSR nécessite Edge Runtime (Vercel), qui a des contraintes : pas d'accès disque direct, timeouts 10-30 sec, pas de Redis local. Pour appels API PrestaShop multiples (produits + stocks + panier), ça ralentit. Nuxt 3 sur VPS France + Redis local : appels séquentiels \u003C200ms.",{"q":239,"a":240},"Quel impact sur le tunnel de conversion Nuxt 3 vs Next.js ?","Le tunnel AIDA (Attention→Intérêt→Désir→Action) dépend de la rapidité de charge et la confiance. Nuxt 3 SSR + souveraineté = pages 20-30% plus rapides, zéro timeout API, données cohérentes. Next.js + Vercel ajoute 200-400ms de latence Edge, et des frictions de routage qui cassent l'intention d'achat. Nos taux de conversion : +15% avec Nuxt.",{"q":242,"a":243},"Comment sécuriser les clés API PrestaShop en headless ?","Les clés Webservice se gèrent côté serveur Nuxt (fichier .env, jamais en JavaScript client). Nuxt exécute les appels API en SSR (côté serveur) ou via une route serveur ($fetch interne). Le front jamais ne connaît la clé, jamais ne l'expose. Zéro risque d'injection, zéro usurpation d'API.",{"q":245,"a":246},"PrestaShop headless c'est plus complexe à maintenir qu'un PS classique ?","Non : un PS headless est plus simple. Le back-end reste un PrestaShop standard (zéro module custom lourd). Le front est du Nuxt 3 moderne et versionnné en Git. Pas de mélange code\u002Fdata comme un PS couplé. Maintenance : 3 dépôts nets (PrestaShop, Nuxt, Infrastructure) au lieu d'un monstre monolithique.",{"q":248,"a":249},"Quel est le coût hébergement d'une boutique headless Nuxt 3 + PrestaShop ?","Un VPS France (OVH, Scaleway) : 20-50€\u002Fmois pour une boutique moyenne (10k produits, 100 cmdes\u002Fjour). PrestaShop sur MariaDB : 5-15€ supplémentaires. Nuxt 3 + PM2 : inclus dans le VPS. Total : 25-65€\u002Fmois. Next.js + Vercel + Edge functions : 100-500€\u002Fmois selon scale. Nuxt 3 = 5-10x moins cher.",{"q":251,"a":252},"Est-ce qu'un CMS headless (Prismic, Contentful) améliore PrestaShop headless ?","Non pour un pur e-commerce. CMS headless = surcoût (+200€\u002Fmois), latence supplémentaire, pipeline édito complexe. PrestaShop est déjà ton CMS : catégories, attributs, SEO, URL, descriptions. Nuxt consomme l'API PrestaShop — c'est suffisant. CMS headless utile seulement si besoin contenu editorial massif découpé de l'e-commerce.",{"q":254,"a":255},"Peut-on migrer une boutique PrestaShop classique en headless sans pertes ?","Oui, zéro perte : les données restent dans PrestaShop (produits, clients, commandes). Le front change en Nuxt 3, le back-end ne touche à rien. URL peuvent rediriger automatiquement (Nginx). Les vieux clients reçoivent une 301, landing sur la nouvelle page Nuxt. Zéro perte SEO si slugs et redirections bien faites.",{"q":257,"a":258},"Nuxt 3 headless fonctionne avec tous les modules PrestaShop ?","Les modules 'back' (gestion stock, paiement, email) restent en PrestaShop, exécutent normalement. Les modules 'front' (affichage, panier, checkout) remplacés par Nuxt. Les modules GraphQL ou API custom : compatible à 100%, il faut juste qu'ils exposent une route REST\u002FGraphQL. Aucun module n'est perdu, juste redéployé en architecture.","PrestaShop headless avec Nuxt 3 ou Next.js ? SSR temps réel vs ISR périmé, auto-hébergement vs Vercel, tunnel complet vs demi-headless. Comparatif terrain.","",8,[],[264,277,290,303],{"id":265,"title":266,"category":207,"subcategory":208,"slug":267,"linkRewrite":268,"excerpt":269,"coverImage":270,"thumbnailImage":271,"nuxtUrl":272,"datePublished":273,"dateUpdated":274,"readingTime":275,"faqCount":276},106,"Master Data Management grossiste food PrestaShop : table souveraine","architecture--mdm-grossiste-food-prestashop","prestashop--architecture--mdm-grossiste-food-prestashop","Comment une table MDM unique remplace 4 features PrestaShop natives pour gérer DLC, lots, calibres et allergènes. Retour Palimex 1082 produits.","https:\u002F\u002Falexandrecarette.fr\u002Fblog-covers\u002Fcover-master-data-management-1776574808.webp","https:\u002F\u002Falexandrecarette.fr\u002Fblog-covers\u002Fthumb-master-data-management-1776574808.webp","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fmdm-grossiste-food-prestashop","2026-04-19T05:03:33.000Z","2026-04-20T05:03:59.000Z",11,15,{"id":278,"title":279,"category":207,"subcategory":280,"slug":281,"linkRewrite":282,"excerpt":283,"coverImage":284,"thumbnailImage":285,"nuxtUrl":286,"datePublished":287,"dateUpdated":288,"readingTime":289,"faqCount":276},89,"Core Web Vitals PrestaShop : passer de 30 à 95 sur PageSpeed","performance","performance--core-web-vitals-prestashop-pagespeed-95","prestashop--performance--core-web-vitals-prestashop-pagespeed-95","Core Web Vitals PrestaShop : méthode complète pour passer de 30 à 95 sur PageSpeed. LCP, INP, CLS, cache, images, JS — guide expert 2026.","https:\u002F\u002Falexandrecarette.fr\u002Fblog-covers\u002Fcover-core-web-vitals-1775555697.webp","https:\u002F\u002Falexandrecarette.fr\u002Fblog-covers\u002Fthumb-core-web-vitals-1775555697.webp","\u002Fblog\u002Fprestashop\u002Fperformance\u002Fcore-web-vitals-prestashop-pagespeed-95","2026-04-07T09:56:51.000Z","2026-04-12T11:33:47.000Z",10,{"id":291,"title":292,"category":207,"subcategory":293,"slug":294,"linkRewrite":295,"excerpt":296,"coverImage":297,"thumbnailImage":298,"nuxtUrl":299,"datePublished":300,"dateUpdated":301,"readingTime":302,"faqCount":276},85,"API WebService PrestaShop : guide complet pour l'intégrer en 2026","developpement","developpement--api-webservice-prestashop-guide-complet","prestashop--developpement--api-webservice-prestashop-guide-complet","API WebService PrestaShop : activez, sécurisez et interrogez l'API REST native. Guide complet avec exemples curl, PHP, Python et erreurs courantes.","https:\u002F\u002Falexandrecarette.fr\u002Fblog-covers\u002Fcover-api-webservice-prestashop-1775284236.webp","https:\u002F\u002Falexandrecarette.fr\u002Fblog-covers\u002Fthumb-api-webservice-prestashop-1775284236.webp","\u002Fblog\u002Fprestashop\u002Fdeveloppement\u002Fapi-webservice-prestashop-guide-complet","2026-04-04T06:32:35.000Z","2026-04-08T07:50:50.000Z",12,{"id":304,"title":33,"category":207,"subcategory":208,"slug":305,"linkRewrite":306,"excerpt":307,"coverImage":308,"thumbnailImage":309,"nuxtUrl":34,"datePublished":310,"dateUpdated":311,"readingTime":312,"faqCount":276},84,"architecture--webservices-nuxt-integration-headless","prestashop--architecture--webservices-nuxt-integration-headless","PrestaShop WebServices et Nuxt 3 : guide technique pas-à-pas pour une intégration headless performante. Clé API, composables, SSR, cache Redis et SEO.","https:\u002F\u002Falexandrecarette.fr\u002Fblog-covers\u002Fcover-prestashop-webservices-nuxt-1775283999.webp","https:\u002F\u002Falexandrecarette.fr\u002Fblog-covers\u002Fthumb-prestashop-webservices-nuxt-1775283999.webp","2026-04-04T06:28:50.000Z","2026-04-09T05:02:18.000Z",13]