[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"theme-db":3,"$f23wZDNMSNmdulKoiRN9QQV30z0fFp0bN_39oUXo7WkI":22,"$fKnz2vuX4bZz1LbUTiuFsvSZ3e07l5_5fqNYp4Tzdhi8":66,"footer-db":147,"megamenu":166,"$fuCaOJwPR1Ddwj9x6wcDjK9hcmMeotNq0ZnY41cgTCBs":221,"header-db":235},{"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",{"title":23,"slug":24,"metaDescription":25,"category":26,"tags":27,"difficulty":33,"psVersions":34,"content":38,"faq":39,"tldr":61,"readingTime":62,"generatedAt":63,"publishDate":63,"relatedArticles":64,"sourceCategory":65},"Supprimer le logo et le pied de page des factures PDF PrestaShop","supprimer-logo-pied-de-page-facture-pdf-prestashop","Comment personnaliser les factures PDF PrestaShop en supprimant le logo ou le pied de page via un override de HTMLTemplate. Guide complet PS 1.6 à 8.x.","developpement",[28,29,30,31,32],"facture PDF","override","HTMLTemplate","personnalisation facture","PDF PrestaShop","intermediaire",[35,36,37],"1.6","1.7","8.x","\u003Ch2>Pourquoi personnaliser les factures PDF PrestaShop\u003C\u002Fh2>\n\u003Cp>Les factures générées par PrestaShop incluent par défaut le logo de la boutique en en-tête et un pied de page contenant les informations légales. Dans certains contextes — facturation en marque blanche, intégration dans un ERP externe, ou simple volonté de sobriété — il est nécessaire de supprimer ces éléments.\u003C\u002Fp>\n\u003Cp>La bonne nouvelle : PrestaShop expose toute la génération PDF via des classes PHP facilement surchargeables. Pas besoin de modifier le cœur du CMS.\u003C\u002Fp>\n\u003Ch2>Comprendre l'architecture PDF de PrestaShop\u003C\u002Fh2>\n\u003Cp>Avant de toucher au code, il est essentiel de comprendre comment PrestaShop génère ses factures.\u003C\u002Fp>\n\u003Cp>La génération PDF repose sur la bibliothèque \u003Cstrong>TCPDF\u003C\u002Fstrong> (remplacée par un wrapper interne dans les versions récentes). Trois classes clés interviennent :\u003C\u002Fp>\n\u003Ctr>\u003Cth>Classe\u003C\u002Fth>\u003Cth>Rôle\u003C\u002Fth>\u003Cth>Fichier\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>`HTMLTemplate`\u003C\u002Fth>\u003Cth>Classe abstraite parente de tous les templates PDF\u003C\u002Fth>\u003Cth>`classes\u002Fpdf\u002FHTMLTemplate.php`\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>`HTMLTemplateInvoice`\u003C\u002Fth>\u003Cth>Template spécifique aux factures\u003C\u002Fth>\u003Cth>`classes\u002Fpdf\u002FHTMLTemplateInvoice.php`\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>`PDF`\u003C\u002Fth>\u003Cth>Orchestrateur qui appelle TCPDF\u003C\u002Fth>\u003Cth>`classes\u002Fpdf\u002FPDF.php`\u003C\u002Fth>\u003C\u002Ftr>\n\u003Cp>Les méthodes qui nous intéressent dans \u003Ccode>HTMLTemplate\u003C\u002Fcode> :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>**`getLogo()`** — Retourne le chemin du logo à afficher en en-tête\u003C\u002Fli>\n\u003Cli>**`getFooter()`** — Retourne le HTML du pied de page\u003C\u002Fli>\n\u003Cli>**`getHeader()`** — Retourne le HTML complet de l'en-tête (qui appelle `getLogo()`)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Méthode 1 : Supprimer le logo via un override\u003C\u002Fh2>\n\u003Cp>La technique la plus propre consiste à créer un override de la classe \u003Ccode>HTMLTemplate\u003C\u002Fcode> pour redéfinir la méthode \u003Ccode>getLogo()\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch3>Étape 1 : Créer le fichier d'override\u003C\u002Fh3>\n\u003Cp>Créez le fichier \u003Ccode>override\u002Fclasses\u002Fpdf\u002FHTMLTemplate.php\u003C\u002Fcode> :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-php\">\n&lt;?php\n\u002F**\n * Override HTMLTemplate — Suppression du logo sur les factures PDF\n *\u002F\nclass HTMLTemplate extends HTMLTemplateCore\n{\n    \u002F**\n     * Retourne une chaîne vide pour supprimer le logo des factures\n     *\n     * @return string\n     *\u002F\n    protected function getLogo()\n    {\n        return '';\n    }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Cette approche est radicale : elle supprime le logo de \u003Cstrong>tous\u003C\u002Fstrong> les documents PDF (factures, avoirs, bons de livraison).\u003C\u002Fp>\n\u003Ch3>Étape 2 : Supprimer le cache de classes\u003C\u002Fh3>\n\u003Cp>Après avoir créé l'override, supprimez le fichier de cache pour que PrestaShop le prenne en compte :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">\nrm -f var\u002Fcache\u002Fprod\u002Fclass_index.php\n# Sur PrestaShop 1.6 :\nrm -f cache\u002Fclass_index.php\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Étape 3 : Tester la génération\u003C\u002Fh3>\n\u003Cp>Rendez-vous dans \u003Cstrong>Commandes > Factures\u003C\u002Fstrong> et générez un PDF pour vérifier que le logo a bien disparu.\u003C\u002Fp>\n\u003Ch2>Méthode 2 : Supprimer le logo uniquement pour les clients\u003C\u002Fh2>\n\u003Cp>Un cas d'usage fréquent : conserver le logo quand un employé génère la facture depuis le back-office, mais le masquer quand le client la télécharge depuis son espace. Cette distinction s'appuie sur la détection du contexte employé.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-php\">\n&lt;?php\nclass HTMLTemplate extends HTMLTemplateCore\n{\n    \u002F**\n     * Affiche le logo uniquement quand un employé génère le PDF\n     * depuis le back-office. Côté front (client), pas de logo.\n     *\n     * @return string\n     *\u002F\n    protected function getLogo()\n    {\n        $context = Context::getContext();\n\n        \u002F\u002F Si pas d'employé connecté (= téléchargement client), pas de logo\n        if (!isset($context-&gt;employee) || !$context-&gt;employee-&gt;id) {\n            return '';\n        }\n\n        \u002F\u002F Sinon, comportement par défaut (logo affiché)\n        return parent::getLogo();\n    }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Cette variante est particulièrement utile pour les marchands qui envoient leurs factures via un canal externe (ERP, comptable) et ne veulent pas de branding sur la version client.\u003C\u002Fp>\n\u003Ch2>Méthode 3 : Supprimer le pied de page\u003C\u002Fh2>\n\u003Cp>Le pied de page des factures contient généralement les mentions légales, le numéro SIRET et les coordonnées. Pour le supprimer :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-php\">\n&lt;?php\nclass HTMLTemplate extends HTMLTemplateCore\n{\n    protected function getLogo()\n    {\n        return '';\n    }\n\n    \u002F**\n     * Retourne un footer vide pour supprimer le pied de page\n     *\n     * @return string\n     *\u002F\n    public function getFooter()\n    {\n        return '';\n    }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cblockquote>\u003Cp>\u003Cstrong>Attention légale\u003C\u002Fstrong> : En France, la facture doit obligatoirement contenir certaines mentions (SIRET, adresse, numéro TVA intracommunautaire). Si vous supprimez le footer, assurez-vous que ces informations figurent ailleurs dans le document.\u003C\u002Fp>\u003C\u002Fblockquote>\n\u003Ch2>Adaptation pour PrestaShop 8.x\u003C\u002Fh2>\n\u003Cp>Sur PrestaShop 8.x, l'architecture PDF a évolué mais le mécanisme d'override reste fonctionnel. Quelques différences notables :\u003C\u002Fp>\n\u003Ch3>Emplacement du cache\u003C\u002Fh3>\n\u003Cp>Le fichier de cache des classes se trouve désormais dans :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">\nrm -f var\u002Fcache\u002Fprod\u002Fclass_index.php\nrm -f var\u002Fcache\u002Fdev\u002Fclass_index.php\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Alternative recommandée : le module\u003C\u002Fh3>\n\u003Cp>Sur PrestaShop 8.x, la méthode recommandée pour ce type de personnalisation est de passer par un \u003Cstrong>module\u003C\u002Fstrong> plutôt qu'un override brut. Cela garantit la compatibilité lors des mises à jour :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-php\">\n&lt;?php\n\u002F\u002F modules\u002Fmonmodule\u002Foverride\u002Fclasses\u002Fpdf\u002FHTMLTemplate.php\nclass HTMLTemplate extends HTMLTemplateCore\n{\n    protected function getLogo()\n    {\n        return '';\n    }\n\n    public function getFooter()\n    {\n        return '';\n    }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>L'override embarqué dans un module est automatiquement installé\u002Fdésinstallé avec le module, ce qui est bien plus propre qu'un fichier posé manuellement.\u003C\u002Fp>\n\u003Ch3>Alternative moderne : personnaliser le template Twig\u003C\u002Fh3>\n\u003Cp>Depuis PrestaShop 1.7.7+, il est possible de personnaliser les templates de facture via des fichiers \u003Ccode>.html.twig\u003C\u002Fcode> dans le thème. Cette approche est plus flexible mais nécessite de maîtriser Twig :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-\">\n# Emplacement des templates PDF\nthemes\u002Fvotre-theme\u002Fpdf\u002Finvoice.html.twig\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Déboguer une facture PDF blanche\u003C\u002Fh2>\n\u003Cp>Si après votre override la facture affiche une page blanche, c'est presque toujours une erreur PHP silencieuse. Voici la marche à suivre :\u003C\u002Fp>\n\u003Ch3>1. Activer le mode debug\u003C\u002Fh3>\n\u003Cp>Modifiez le fichier \u003Ccode>config\u002Fdefines.inc.php\u003C\u002Fcode> :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-php\">\ndefine('_PS_MODE_DEV_', true);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Sur PrestaShop 8.x, utilisez plutôt le fichier \u003Ccode>.env\u003C\u002Fcode> :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-\">\nAPP_DEBUG=1\nAPP_ENV=dev\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>2. Vérifier les logs PHP\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\">\ntail -f var\u002Flogs\u002Fdev.log\n# Ou sur PS 1.6 :\ntail -f log\u002Ferror.log\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>3. Erreurs courantes\u003C\u002Fh3>\n\u003Ctr>\u003Cth>Symptôme\u003C\u002Fth>\u003Cth>Cause probable\u003C\u002Fth>\u003Cth>Solution\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>Page blanche\u003C\u002Fth>\u003Cth>Erreur fatale PHP dans l'override\u003C\u002Fth>\u003Cth>Activer le mode debug\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>Logo toujours visible\u003C\u002Fth>\u003Cth>Cache de classes non vidé\u003C\u002Fth>\u003Cth>Supprimer `class_index.php`\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>Erreur \"Class not found\"\u003C\u002Fth>\u003Cth>Mauvais héritage dans l'override\u003C\u002Fth>\u003Cth>Vérifier `extends HTMLTemplateCore`\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>PDF corrompu\u003C\u002Fth>\u003Cth>Caractères UTF-8 mal encodés\u003C\u002Fth>\u003Cth>Vérifier l'encodage du fichier PHP\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ch2>Bonnes pratiques pour les overrides PDF\u003C\u002Fh2>\n\u003Col>\n\u003Cli>**Toujours hériter de la classe Core** (`HTMLTemplateCore`, pas `HTMLTemplate`) pour éviter les conflits avec d'autres overrides\u003C\u002Fli>\n\u003Cli>**Vider le cache** après chaque modification d'override\u003C\u002Fli>\n\u003Cli>**Tester tous les types de documents** (facture, avoir, bon de livraison) car l'override sur `HTMLTemplate` impacte tous les PDF\u003C\u002Fli>\n\u003Cli>**Documenter l'override** dans un fichier README à la racine du projet pour les futurs développeurs\u003C\u002Fli>\n\u003Cli>**Préférer un module** sur PrestaShop 8.x pour faciliter la maintenance\u003C\u002Fli>\n\u003C\u002Ful>",[40,43,46,49,52,55,58],{"q":41,"a":42},"Comment supprimer uniquement le logo des factures sans affecter les bons de livraison ?","Plutôt que d'overrider HTMLTemplate (qui affecte tous les PDF), créez un override spécifique de HTMLTemplateInvoice dans override\u002Fclasses\u002Fpdf\u002FHTMLTemplateInvoice.php. Surchargez la méthode getHeader() pour retirer le bloc logo uniquement dans le template des factures. N'oubliez pas de vider le cache class_index.php après modification.",{"q":44,"a":45},"Mon override HTMLTemplate provoque une page blanche sur les factures, que faire ?","Une page blanche signifie une erreur PHP silencieuse. Activez le mode debug en passant _PS_MODE_DEV_ à true dans config\u002Fdefines.inc.php (ou APP_DEBUG=1 dans .env sur PS 8.x). Vérifiez que votre classe étend bien HTMLTemplateCore et non HTMLTemplate, que le fichier est encodé en UTF-8 sans BOM, et que le cache class_index.php a été supprimé.",{"q":47,"a":48},"Comment remplacer le logo par défaut par un logo différent sur les factures ?","Surchargez la méthode getLogo() dans votre override pour retourner le chemin vers votre image personnalisée : return _PS_IMG_DIR_.'mon-logo-facture.png'. Vous pouvez aussi conditionner le logo selon la boutique en multiboutique en utilisant $this->shop->id pour retourner un logo différent par boutique.",{"q":50,"a":51},"L'override PDF est-il compatible avec le multiboutique PrestaShop ?","Oui, les overrides PDF fonctionnent en multiboutique. La propriété $this->shop est disponible dans HTMLTemplate et permet de conditionner l'affichage du logo ou du footer selon l'identifiant de la boutique. Utilisez $this->shop->id pour appliquer des règles différentes par boutique.",{"q":53,"a":54},"Est-il légal de supprimer le pied de page des factures PrestaShop en France ?","En France, les factures doivent obligatoirement comporter certaines mentions légales : raison sociale, adresse du siège, numéro SIRET, numéro TVA intracommunautaire et capital social. Si vous supprimez le footer, vous devez impérativement intégrer ces informations ailleurs dans le document PDF pour rester conforme à la réglementation.",{"q":56,"a":57},"Comment personnaliser le template PDF des factures sur PrestaShop 8.x sans override ?","Depuis PrestaShop 1.7.7, vous pouvez personnaliser les factures via des templates Twig. Copiez le fichier src\u002FPrestaShopBundle\u002FResources\u002Fviews\u002Fpdf\u002Finvoice.html.twig dans votre thème et modifiez-le. Cette approche est plus maintenable que les overrides car elle survit mieux aux mises à jour du CMS.",{"q":59,"a":60},"Peut-on conditionner l'affichage du logo selon que la facture est générée depuis le back-office ou le front-office ?","Oui, en utilisant Context::getContext()->employee dans l'override de getLogo(). Si employee->id est défini, la facture est générée par un administrateur depuis le back-office. Sinon, c'est un téléchargement client. Cette technique permet par exemple de garder le branding en interne tout en envoyant des factures neutres aux clients.","Pour supprimer le logo et le pied de page des factures PrestaShop, créez un override de HTMLTemplate qui retourne une chaîne vide dans getLogo() et getFooter(). Sur PS 8.x, privilégiez un module embarquant l'override pour une meilleure maintenabilité.",5,"2026-03-21T13:45:50.000Z",[],"PrestaShop pour les développeurs",{"columns":67},[68,84,114,135],{"title":69,"links":70},"Plateforme",[71,75,78,81],{"label":72,"href":73,"external":74},"Offre Starter (2 500 €)","\u002Foffre-starter",false,{"label":76,"href":77,"external":74},"Devenir Ambassadeur","\u002Fambassadeur",{"label":79,"href":80,"external":74},"Modules PrestaShop","\u002Fmodules",{"label":82,"href":83,"external":20},"CodeMyShop.com","https:\u002F\u002Fcodemyshop.com",{"title":85,"links":86},"Le Synedre",[87,90,93,96,99,102,105,108,111],{"label":88,"href":89,"external":74},"L'histoire","\u002Fsynedre",{"label":91,"href":92,"external":74},"Constitution","\u002Fsynedre\u002Fconstitution",{"label":94,"href":95,"external":74},"L'équipe","\u002Fequipe",{"label":97,"href":98,"external":74},"Le réacteur en direct","\u002Freacteur",{"label":100,"href":101,"external":74},"Le Drill (entraînement)","\u002Fdrill",{"label":103,"href":104,"external":74},"Protocole de réunion","\u002Fsynedre\u002Freunion",{"label":106,"href":107,"external":74},"Les agents IA","\u002Fagents-ia",{"label":109,"href":110,"external":74},"La Conduite","\u002Fsynedre\u002Fconduite",{"label":112,"href":113,"external":74},"Charte plateforme","\u002Fsynedre\u002Fcharte",{"title":115,"links":116},"Ressources",[117,120,123,126,129,132],{"label":118,"href":119,"external":74},"Blog","\u002Fblog",{"label":121,"href":122,"external":74},"Academy","\u002Facademy",{"label":124,"href":125,"external":74},"Dictionnaire","\u002Fdictionnaire",{"label":127,"href":128,"external":74},"Expertise PrestaShop","\u002Fexpertise",{"label":130,"href":131,"external":74},"Flywheel","\u002Fflywheel",{"label":133,"href":134,"external":74},"Manifeste","\u002Fmanifeste",{"title":136,"links":137},"À propos",[138,141,144],{"label":139,"href":140,"external":74},"Alexandre Carette","\u002Fa-propos",{"label":142,"href":143,"external":74},"Dossier de presse","\u002Fpresse",{"label":145,"href":146,"external":74},"Contact","\u002Fcontact",{"footer":148},{"theme":149,"description":150,"hours":150,"logo":151,"contact":154,"social":155,"bottomBar":165},"dark",null,{"src":152,"href":153,"alt":139},"\u002Flogo-ac.svg","\u002F",{"email":150,"phone":150,"address":150,"cta":150},[156,159,162],{"platform":157,"href":158,"label":157},"linkedin","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Falexandre-carette\u002F",{"platform":160,"href":161,"label":160},"malt","https:\u002F\u002Fwww.malt.fr\u002Fprofile\u002Falexandrecarette",{"platform":163,"href":164,"label":163},"github","https:\u002F\u002Fgithub.com\u002Fprest4cafe",{"copyright":150},{"items":167},[168,176,182,188,196,204,209,215],{"id":169,"type":170,"label":171,"href":128,"icon":150,"description":150,"badge":150,"groupTitle":150,"style":150,"gridColumns":150,"cssClass":150,"psCategoryId":150,"showPsChildren":74,"position":173,"children":174,"psChildren":175},41,"link",{"fr":172},"Expertise",0,[],[],{"id":177,"type":170,"label":178,"href":119,"icon":150,"description":150,"badge":150,"groupTitle":150,"style":150,"gridColumns":150,"cssClass":150,"psCategoryId":150,"showPsChildren":74,"position":179,"children":180,"psChildren":181},42,{"fr":118},1,[],[],{"id":183,"type":170,"label":184,"href":80,"icon":150,"description":150,"badge":150,"groupTitle":150,"style":150,"gridColumns":150,"cssClass":150,"psCategoryId":150,"showPsChildren":74,"position":185,"children":186,"psChildren":187},43,{"fr":79},2,[],[],{"id":189,"type":170,"label":190,"href":192,"icon":150,"description":150,"badge":150,"groupTitle":150,"style":150,"gridColumns":150,"cssClass":150,"psCategoryId":150,"showPsChildren":74,"position":193,"children":194,"psChildren":195},44,{"fr":191},"Outils IA","\u002Foutils-ia",3,[],[],{"id":197,"type":170,"label":198,"href":73,"icon":150,"description":150,"badge":150,"groupTitle":150,"style":200,"gridColumns":150,"cssClass":150,"psCategoryId":150,"showPsChildren":74,"position":201,"children":202,"psChildren":203},45,{"fr":199},"Offre Starter ✨",{"highlight":20},4,[],[],{"id":205,"type":170,"label":206,"href":122,"icon":150,"description":150,"badge":150,"groupTitle":150,"style":150,"gridColumns":150,"cssClass":150,"psCategoryId":150,"showPsChildren":74,"position":62,"children":207,"psChildren":208},46,{"fr":121},[],[],{"id":210,"type":170,"label":211,"href":140,"icon":150,"description":150,"badge":150,"groupTitle":150,"style":150,"gridColumns":150,"cssClass":150,"psCategoryId":150,"showPsChildren":74,"position":212,"children":213,"psChildren":214},47,{"fr":136},6,[],[],{"id":216,"type":170,"label":217,"href":146,"icon":150,"description":150,"badge":150,"groupTitle":150,"style":150,"gridColumns":150,"cssClass":150,"psCategoryId":150,"showPsChildren":74,"position":218,"children":219,"psChildren":220},48,{"fr":145},7,[],[],{"academy":222,"blog":223,"expertise":234},[],[224,228,231],{"title":225,"url":226,"score":179,"type":227},"PrestaShop headless avec Nuxt 3 : pourquoi séparer back et front","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-separation-front-back","blog",{"title":229,"url":230,"score":179,"type":227},"PrestaShop headless : Nuxt 3, pas Next.js — le choix souverain","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-nextjs-souverainete",{"title":232,"url":233,"score":179,"type":227},"Sylius rachète PrestaShop : ce que ça change pour vous","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fsylius-rachat-prestashop-headless-souverainete",[],{"header":236},{"logo":237,"topBar":240,"contactEmail":243,"features":244,"navBar":150},{"src":152,"alt":238,"text":139,"href":153,"class":239},"Alexandre Carette — Architecte E-commerce Souverain","h-10 w-10",{"message":150,"showLanguages":74,"align":241,"languages":242},"left",[],"contact@alexandrecarette.fr",{"showSearch":74,"showWishlist":74,"showLogin":20,"showContact":74,"showCart":74,"stickyHeader":20,"headerLayout":245},"inline"]