[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"theme-db":3,"$fKnz2vuX4bZz1LbUTiuFsvSZ3e07l5_5fqNYp4Tzdhi8":22,"$fQ7M21WNXCg7-BmyGCUxLSmVOi4wQ5qF8jEJUjHtug4Y":103,"megamenu":142,"footer-db":198,"header-db":216,"$fzYZXTPRzROD_Dn9xr9zAOj7pzwOTtwX5cDGQ8F0nY5M":227},{"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",{"columns":23},[24,40,70,91],{"title":25,"links":26},"Plateforme",[27,31,34,37],{"label":28,"href":29,"external":30},"Offre Starter (2 500 €)","\u002Foffre-starter",false,{"label":32,"href":33,"external":30},"Devenir Ambassadeur","\u002Fambassadeur",{"label":35,"href":36,"external":30},"Modules PrestaShop","\u002Fmodules",{"label":38,"href":39,"external":20},"CodeMyShop.com","https:\u002F\u002Fcodemyshop.com",{"title":41,"links":42},"Le Synedre",[43,46,49,52,55,58,61,64,67],{"label":44,"href":45,"external":30},"L'histoire","\u002Fsynedre",{"label":47,"href":48,"external":30},"Constitution","\u002Fsynedre\u002Fconstitution",{"label":50,"href":51,"external":30},"L'équipe","\u002Fequipe",{"label":53,"href":54,"external":30},"Le réacteur en direct","\u002Freacteur",{"label":56,"href":57,"external":30},"Le Drill (entraînement)","\u002Fdrill",{"label":59,"href":60,"external":30},"Protocole de réunion","\u002Fsynedre\u002Freunion",{"label":62,"href":63,"external":30},"Les agents IA","\u002Fagents-ia",{"label":65,"href":66,"external":30},"La Conduite","\u002Fsynedre\u002Fconduite",{"label":68,"href":69,"external":30},"Charte plateforme","\u002Fsynedre\u002Fcharte",{"title":71,"links":72},"Ressources",[73,76,79,82,85,88],{"label":74,"href":75,"external":30},"Blog","\u002Fblog",{"label":77,"href":78,"external":30},"Academy","\u002Facademy",{"label":80,"href":81,"external":30},"Dictionnaire","\u002Fdictionnaire",{"label":83,"href":84,"external":30},"Expertise PrestaShop","\u002Fexpertise",{"label":86,"href":87,"external":30},"Flywheel","\u002Fflywheel",{"label":89,"href":90,"external":30},"Manifeste","\u002Fmanifeste",{"title":92,"links":93},"À propos",[94,97,100],{"label":95,"href":96,"external":30},"Alexandre Carette","\u002Fa-propos",{"label":98,"href":99,"external":30},"Dossier de presse","\u002Fpresse",{"label":101,"href":102,"external":30},"Contact","\u002Fcontact",{"title":104,"slug":105,"metaDescription":106,"category":107,"tags":108,"difficulty":115,"psVersions":116,"content":120,"faq":121,"tldr":137,"readingTime":138,"generatedAt":139,"publishDate":139,"relatedArticles":140,"sourceCategory":141},"Gérer les traductions vides dans PrestaShop : guide complet","gerer-traductions-vides-prestashop-modules-themes","Découvrez comment corriger et prévenir les traductions vides dans PrestaShop 1.7 et 8.x : fichiers de langue, back-office, scripts d'automatisation et bonnes pratiques.","developpement",[109,110,111,112,113,114],"traductions","modules","internationalisation","i18n","back-office","multilingue","intermediaire",[117,118,119],"1.6","1.7","8.x","\u003Ch2>Le problème des traductions vides dans PrestaShop\u003C\u002Fh2>\n\u003Cp>Lorsqu'on installe un module ou un thème dont la langue d'origine ne correspond pas à celle de la boutique, on se retrouve fréquemment avec des chaînes de traduction vides. Le résultat côté front-office est immédiat : des libellés manquants, des boutons sans texte, voire des blocs entiers qui disparaissent visuellement.\u003C\u002Fp>\n\u003Cp>Ce problème touche particulièrement les modules téléchargés sur des marketplaces internationales (modules russes, espagnols, polonais…) qui ne fournissent pas systématiquement les traductions françaises ou anglaises.\u003C\u002Fp>\n\u003Cp>Comprendre comment fonctionne le système de traduction de PrestaShop permet de résoudre ce problème efficacement et de manière pérenne.\u003C\u002Fp>\n\u003Ch2>Architecture du système de traduction PrestaShop\u003C\u002Fh2>\n\u003Ch3>PrestaShop 1.6 : le système `$_MODULE`\u003C\u002Fh3>\n\u003Cp>Dans PrestaShop 1.6, les traductions reposent sur des fichiers PHP contenant un tableau associatif global \u003Ccode>$_MODULE\u003C\u002Fcode>. Chaque entrée associe une clé de hachage MD5 à la chaîne traduite.\u003C\u002Fp>\n\u003Cp>Ces fichiers se trouvent dans deux emplacements :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>**Modules :** `\u002Fmodules\u002Fnom_module\u002Ftranslations\u002Ffr.php`\u003C\u002Fli>\n\u003Cli>**Thèmes :** `\u002Fthemes\u002Fnom_theme\u002Fmodules\u002Fnom_module\u002Ftranslations\u002Ffr.php`\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Exemple de structure d'un fichier de traduction :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-php\">\n&lt;?php\n\nglobal $_MODULE;\n$_MODULE = array();\n\n$_MODULE['&lt;{monmodule}prestashop&gt;monmodule_7b4cc4f79be9aae43efd53b4ae5cba4d'] = 'Paiement par chèque';\n$_MODULE['&lt;{monmodule}prestashop&gt;monmodule_c888438d14855d7d96a2724ee9c306bd'] = 'Vos paramètres ont été mis à jour.';\n$_MODULE['&lt;{monmodule}prestashop&gt;monmodule_5dd532f0a63d89c5af0243b74732f63c'] = 'Coordonnées';\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>La clé est composée du nom du module, du nom du fichier template d'origine et du hash MD5 de la chaîne originale en anglais.\u003C\u002Fp>\n\u003Ch3>PrestaShop 1.7 et 8.x : le système de catalogue\u003C\u002Fh3>\n\u003Cp>À partir de la version 1.7, PrestaShop a progressivement migré vers un système basé sur des catalogues de traduction au format XLIFF, stockés dans \u003Ccode>\u002Fapp\u002FResources\u002Ftranslations\u002F\u003C\u002Fcode>. Cependant, de nombreux modules continuent d'utiliser l'ancien système \u003Ccode>$_MODULE\u003C\u002Fcode>, ce qui fait coexister les deux mécanismes.\u003C\u002Fp>\n\u003Cp>En PrestaShop 8.x, le système de traduction moderne utilise des domaines de traduction :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-php\">\n\u002F\u002F Dans un module moderne (PS 8.x)\n$this-&gt;trans('Payment by check', [], 'Modules.Monmodule.Admin');\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Les fichiers XLIFF correspondants se trouvent dans :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-\">\n\u002Fapp\u002FResources\u002Ftranslations\u002Ffr-FR\u002FModulesMonmoduleAdmin.fr-FR.xlf\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Méthode 1 : édition directe des fichiers de traduction\u003C\u002Fh2>\n\u003Cp>C'est la méthode la plus fiable et la plus rapide pour les modules utilisant l'ancien système.\u003C\u002Fp>\n\u003Ch3>Étape 1 : identifier le fichier source\u003C\u002Fh3>\n\u003Cp>Repérez le fichier de traduction existant dans la langue d'origine du module. Par exemple, pour un module russe :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-\">\n\u002Fmodules\u002Fnom_module\u002Ftranslations\u002Fru.php\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Étape 2 : dupliquer et adapter\u003C\u002Fh3>\n\u003Cp>Copiez ce fichier vers la langue cible :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">\ncp modules\u002Fnom_module\u002Ftranslations\u002Fru.php modules\u002Fnom_module\u002Ftranslations\u002Ffr.php\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Étape 3 : traduire les chaînes\u003C\u002Fh3>\n\u003Cp>Ouvrez le fichier \u003Ccode>fr.php\u003C\u002Fcode> et remplacez chaque valeur par sa traduction française. La structure des clés reste strictement identique — seule la valeur (la chaîne après le \u003Ccode>=\u003C\u002Fcode>) doit être modifiée.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-php\">\n\u002F\u002F Avant (russe)\n$_MODULE['&lt;{monmodule}prestashop&gt;monmodule_abc123'] = 'Оплата чеком';\n\n\u002F\u002F Après (français)\n$_MODULE['&lt;{monmodule}prestashop&gt;monmodule_abc123'] = 'Paiement par chèque';\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Important :\u003C\u002Fstrong> ne modifiez jamais les clés du tableau. Le hash MD5 est calculé sur la chaîne originale anglaise, pas sur la traduction.\u003C\u002Fp>\n\u003Ch2>Méthode 2 : traduction en masse via tableur\u003C\u002Fh2>\n\u003Cp>Pour les modules comportant des centaines de chaînes, une approche semi-automatisée est bien plus efficace.\u003C\u002Fp>\n\u003Ch3>Étape 1 : exporter en format exploitable\u003C\u002Fh3>\n\u003Cp>Les fichiers de traduction PrestaShop utilisent le séparateur \u003Ccode>=\u003C\u002Fcode> entre la clé et la valeur. On peut les exploiter directement dans un tableur.\u003C\u002Fp>\n\u003Col>\n\u003Cli>Renommez temporairement le fichier `.php` en `.csv`\u003C\u002Fli>\n\u003Cli>Ouvrez-le avec LibreOffice Calc ou Excel\u003C\u002Fli>\n\u003Cli>Choisissez `=` comme séparateur de colonnes\u003C\u002Fli>\n\u003Cli>La colonne A contient les clés, la colonne B les valeurs à traduire\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Étape 2 : traduire la colonne des valeurs\u003C\u002Fh3>\n\u003Cp>Sélectionnez l'intégralité de la colonne B (les chaînes à traduire) et utilisez un service de traduction. Pour un grand volume, des outils comme DeepL API ou Google Cloud Translation permettent de traiter le lot automatiquement.\u003C\u002Fp>\n\u003Ch3>Étape 3 : réassembler le fichier\u003C\u002Fh3>\n\u003Cp>Réexportez en CSV avec le séparateur \u003Ccode>=\u003C\u002Fcode>, renommez en \u003Ccode>.php\u003C\u002Fcode>, et vérifiez que la syntaxe PHP est intacte :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">\nphp -l modules\u002Fnom_module\u002Ftranslations\u002Ffr.php\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Cette commande vérifie la syntaxe sans exécuter le fichier. Si elle renvoie \u003Ccode>No syntax errors detected\u003C\u002Fcode>, le fichier est valide.\u003C\u002Fp>\n\u003Ch2>Méthode 3 : le back-office PrestaShop\u003C\u002Fh2>\n\u003Cp>PrestaShop propose un outil intégré pour gérer les traductions.\u003C\u002Fp>\n\u003Ch3>PrestaShop 1.6\u003C\u002Fh3>\n\u003Cp>Accédez à \u003Cstrong>Localisation > Traductions\u003C\u002Fstrong>, sélectionnez le type de traduction (modules, thèmes, back-office…), la langue cible, puis le module concerné. L'interface affiche toutes les chaînes avec les traductions existantes et les champs vides à compléter.\u003C\u002Fp>\n\u003Ch3>PrestaShop 1.7 \u002F 8.x\u003C\u002Fh3>\n\u003Cp>Naviguez vers \u003Cstrong>International > Traductions\u003C\u002Fstrong>. L'interface a évolué mais le principe reste le même. Utilisez le filtre par module pour isoler les chaînes manquantes.\u003C\u002Fp>\n\u003Cp>En PrestaShop 8.x, l'outil de traduction affiche directement les chaînes non traduites avec un indicateur visuel, ce qui facilite l'identification des lacunes.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Limite :\u003C\u002Fstrong> le back-office ne gère que les chaînes déjà référencées. Si un module utilise des chaînes non enregistrées dans le catalogue, elles n'apparaîtront pas.\u003C\u002Fp>\n\u003Ch2>Méthode 4 : script automatisé de détection des traductions vides\u003C\u002Fh2>\n\u003Cp>Pour industrialiser la détection, voici un script PHP qui identifie toutes les traductions vides ou manquantes dans un module donné :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-php\">\n&lt;?php\n\u002F**\n * Détecte les traductions vides dans les modules PrestaShop\n * Usage : php detect_empty_translations.php nom_module fr\n *\u002F\n\n$moduleName = $argv[1] ?? null;\n$targetLang = $argv[2] ?? 'fr';\n\nif (!$moduleName) {\n    die(\"Usage : php detect_empty_translations.php &lt;nom_module&gt; &lt;langue&gt;\\n\");\n}\n\n$translationFile = __DIR__ . \"\u002Fmodules\u002F{$moduleName}\u002Ftranslations\u002F{$targetLang}.php\";\n\nif (!file_exists($translationFile)) {\n    echo \"Fichier de traduction absent : {$translationFile}\\n\";\n    echo \"Créez-le à partir d'un fichier de langue existant.\\n\";\n    exit(1);\n}\n\nrequire $translationFile;\n\n$emptyCount = 0;\nforeach ($_MODULE as $key =&gt; $value) {\n    if (empty(trim($value))) {\n        echo \"VIDE : {$key}\\n\";\n        $emptyCount++;\n    }\n}\n\necho \"\\nTotal chaînes vides : {$emptyCount} \u002F \" . count($_MODULE) . \"\\n\";\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Bonnes pratiques pour éviter les traductions vides\u003C\u002Fh2>\n\u003Ch3>1. Vérifier les traductions avant l'installation\u003C\u002Fh3>\n\u003Cp>Avant d'installer un module, inspectez le dossier \u003Ccode>translations\u002F\u003C\u002Fcode> pour vérifier que votre langue est présente. Un module professionnel inclut au minimum \u003Ccode>en.php\u003C\u002Fcode> et \u003Ccode>fr.php\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch3>2. Utiliser le fallback linguistique\u003C\u002Fh3>\n\u003Cp>PrestaShop applique un mécanisme de repli : si une traduction n'existe pas dans la langue demandée, il affiche la clé originale (généralement en anglais). Assurez-vous que le fichier \u003Ccode>en.php\u003C\u002Fcode> est toujours complet — il sert de filet de sécurité.\u003C\u002Fp>\n\u003Ch3>3. Purger le cache après modification\u003C\u002Fh3>\n\u003Cp>Après avoir modifié un fichier de traduction, videz systématiquement le cache :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">\n# PrestaShop 1.7 \u002F 8.x\nphp bin\u002Fconsole cache:clear\n\n# Ou manuellement\nrm -rf var\u002Fcache\u002F*\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>4. Surcharger plutôt que modifier\u003C\u002Fh3>\n\u003Cp>Pour un thème, placez vos traductions dans le dossier du thème plutôt que dans le module directement :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-\">\n\u002Fthemes\u002Fvotre_theme\u002Fmodules\u002Fnom_module\u002Ftranslations\u002Ffr.php\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Cette approche survit aux mises à jour du module.\u003C\u002Fp>\n\u003Ch3>5. Automatiser avec les packs de langue\u003C\u002Fh3>\n\u003Cp>En PrestaShop 8.x, les packs de langue communautaires couvrent de plus en plus de modules tiers. Vérifiez dans \u003Cstrong>International > Traductions > Ajouter \u002F Mettre à jour une langue\u003C\u002Fstrong> si des traductions sont disponibles avant de tout refaire manuellement.\u003C\u002Fp>\n\u003Ch2>Cas particulier : modules avec XLIFF (PrestaShop 8.x)\u003C\u002Fh2>\n\u003Cp>Pour les modules modernes utilisant le nouveau système, les traductions se gèrent via des fichiers \u003Ccode>.xlf\u003C\u002Fcode> :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-xml\">\n&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\n&lt;xliff xmlns=\"urn:oasis:names:tc:xliff:document:1.2\" version=\"1.2\"&gt;\n  &lt;file source-language=\"en\" target-language=\"fr\" datatype=\"plaintext\"&gt;\n    &lt;body&gt;\n      &lt;trans-unit id=\"abc123\"&gt;\n        &lt;source&gt;Payment by check&lt;\u002Fsource&gt;\n        &lt;target&gt;Paiement par chèque&lt;\u002Ftarget&gt;\n      &lt;\u002Ftrans-unit&gt;\n    &lt;\u002Fbody&gt;\n  &lt;\u002Ffile&gt;\n&lt;\u002Fxliff&gt;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>L'avantage du format XLIFF est sa compatibilité native avec les outils de traduction professionnels (POEdit, Crowdin, Lokalise), ce qui simplifie considérablement la gestion multilingue à grande échelle.\u003C\u002Fp>",[122,125,128,131,134],{"q":123,"a":124},"Pourquoi certaines traductions de mon module PrestaShop sont vides alors que j'ai installé le pack de langue français ?","Les packs de langue officiels couvrent le cœur de PrestaShop et les modules natifs, mais pas les modules tiers. Chaque module doit fournir ses propres fichiers de traduction. Si le développeur du module n'a pas inclus de fichier fr.php (ou .xlf en PS 8.x), les chaînes resteront vides. Vous devez les traduire manuellement via le back-office (International > Traductions) ou en éditant directement les fichiers de traduction du module.",{"q":126,"a":127},"Comment traduire rapidement un module PrestaShop qui est dans une langue que je ne comprends pas ?","La méthode la plus efficace consiste à copier le fichier de traduction existant (par exemple ru.php) vers fr.php, puis à ouvrir ce fichier dans un tableur en utilisant le signe égal comme séparateur. La colonne des valeurs peut ensuite être traduite en masse via DeepL ou un autre service de traduction. Réassemblez le fichier, vérifiez la syntaxe avec php -l, puis videz le cache PrestaShop.",{"q":129,"a":130},"Les traductions que j'ai ajoutées disparaissent après une mise à jour du module, comment les conserver ?","Placez vos fichiers de traduction dans le dossier de surcharge du thème plutôt que directement dans le module : \u002Fthemes\u002Fvotre_theme\u002Fmodules\u002Fnom_module\u002Ftranslations\u002Ffr.php. PrestaShop priorise les traductions du thème sur celles du module. Ainsi, une mise à jour du module n'écrasera pas vos traductions personnalisées.",{"q":132,"a":133},"Quelle est la différence entre les fichiers de traduction .php et .xlf dans PrestaShop 8 ?","Les fichiers .php utilisent l'ancien système $_MODULE hérité de PrestaShop 1.5\u002F1.6, encore supporté par rétrocompatibilité. Les fichiers .xlf (XLIFF) sont le nouveau standard introduit en 1.7 et recommandé en 8.x. Le format XLIFF est un standard industriel compatible avec les outils de traduction professionnels et offre une meilleure gestion des domaines de traduction. Les nouveaux modules devraient utiliser exclusivement le format XLIFF.",{"q":135,"a":136},"Comment détecter automatiquement toutes les traductions manquantes sur ma boutique PrestaShop ?","Vous pouvez parcourir les fichiers de traduction de chaque module avec un script PHP qui charge le tableau $_MODULE et identifie les valeurs vides. Pour les modules XLIFF, analysez les fichiers .xlf en recherchant les balises \u003Ctarget> vides. Le back-office PrestaShop (International > Traductions) permet également de filtrer les chaînes non traduites module par module, mais ne détecte pas les chaînes non enregistrées dans le catalogue.","Les traductions vides dans PrestaShop surviennent quand un module ne fournit pas de fichier de langue pour votre boutique. La solution la plus fiable est de dupliquer un fichier de traduction existant, de traduire les chaînes (manuellement ou en masse via tableur), puis de placer le résultat dans le dossier de surcharge du thème pour survivre aux mises à jour.",6,"2026-03-21T15:42:10.000Z",[],"PrestaShop pour les développeurs",{"items":143},[144,153,159,165,173,181,187,192],{"id":145,"type":146,"label":147,"href":84,"icon":149,"description":149,"badge":149,"groupTitle":149,"style":149,"gridColumns":149,"cssClass":149,"psCategoryId":149,"showPsChildren":30,"position":150,"children":151,"psChildren":152},41,"link",{"fr":148},"Expertise",null,0,[],[],{"id":154,"type":146,"label":155,"href":75,"icon":149,"description":149,"badge":149,"groupTitle":149,"style":149,"gridColumns":149,"cssClass":149,"psCategoryId":149,"showPsChildren":30,"position":156,"children":157,"psChildren":158},42,{"fr":74},1,[],[],{"id":160,"type":146,"label":161,"href":36,"icon":149,"description":149,"badge":149,"groupTitle":149,"style":149,"gridColumns":149,"cssClass":149,"psCategoryId":149,"showPsChildren":30,"position":162,"children":163,"psChildren":164},43,{"fr":35},2,[],[],{"id":166,"type":146,"label":167,"href":169,"icon":149,"description":149,"badge":149,"groupTitle":149,"style":149,"gridColumns":149,"cssClass":149,"psCategoryId":149,"showPsChildren":30,"position":170,"children":171,"psChildren":172},44,{"fr":168},"Outils IA","\u002Foutils-ia",3,[],[],{"id":174,"type":146,"label":175,"href":29,"icon":149,"description":149,"badge":149,"groupTitle":149,"style":177,"gridColumns":149,"cssClass":149,"psCategoryId":149,"showPsChildren":30,"position":178,"children":179,"psChildren":180},45,{"fr":176},"Offre Starter ✨",{"highlight":20},4,[],[],{"id":182,"type":146,"label":183,"href":78,"icon":149,"description":149,"badge":149,"groupTitle":149,"style":149,"gridColumns":149,"cssClass":149,"psCategoryId":149,"showPsChildren":30,"position":184,"children":185,"psChildren":186},46,{"fr":77},5,[],[],{"id":188,"type":146,"label":189,"href":96,"icon":149,"description":149,"badge":149,"groupTitle":149,"style":149,"gridColumns":149,"cssClass":149,"psCategoryId":149,"showPsChildren":30,"position":138,"children":190,"psChildren":191},47,{"fr":92},[],[],{"id":193,"type":146,"label":194,"href":102,"icon":149,"description":149,"badge":149,"groupTitle":149,"style":149,"gridColumns":149,"cssClass":149,"psCategoryId":149,"showPsChildren":30,"position":195,"children":196,"psChildren":197},48,{"fr":101},7,[],[],{"footer":199},{"theme":200,"description":149,"hours":149,"logo":201,"contact":204,"social":205,"bottomBar":215},"dark",{"src":202,"href":203,"alt":95},"\u002Flogo-ac.svg","\u002F",{"email":149,"phone":149,"address":149,"cta":149},[206,209,212],{"platform":207,"href":208,"label":207},"linkedin","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Falexandre-carette\u002F",{"platform":210,"href":211,"label":210},"malt","https:\u002F\u002Fwww.malt.fr\u002Fprofile\u002Falexandrecarette",{"platform":213,"href":214,"label":213},"github","https:\u002F\u002Fgithub.com\u002Fprest4cafe",{"copyright":149},{"header":217},{"logo":218,"topBar":221,"contactEmail":224,"features":225,"navBar":149},{"src":202,"alt":219,"text":95,"href":203,"class":220},"Alexandre Carette — Architecte E-commerce Souverain","h-10 w-10",{"message":149,"showLanguages":30,"align":222,"languages":223},"left",[],"contact@alexandrecarette.fr",{"showSearch":30,"showWishlist":30,"showLogin":20,"showContact":30,"showCart":30,"stickyHeader":20,"headerLayout":226},"inline",{"academy":228,"blog":229,"expertise":240},[],[230,234,237],{"title":231,"url":232,"score":156,"type":233},"PrestaShop headless avec Nuxt 3 : pourquoi séparer back et front","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-separation-front-back","blog",{"title":235,"url":236,"score":156,"type":233},"PrestaShop headless : Nuxt 3, pas Next.js — le choix souverain","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-nextjs-souverainete",{"title":238,"url":239,"score":156,"type":233},"Sylius rachète PrestaShop : ce que ça change pour vous","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fsylius-rachat-prestashop-headless-souverainete",[]]