[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"theme-db":3,"$f3UoMVbO6KXlxXQtQE4v82M15AuekVJyUAdI9QkL3OKU":22,"$fKnz2vuX4bZz1LbUTiuFsvSZ3e07l5_5fqNYp4Tzdhi8":60,"$f_G5K7x3aeKcGC1ZQWLBdSFaFLdpoF5BIt7eNFDf3VJY":141,"megamenu":156,"footer-db":211,"header-db":229},{"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":55,"readingTime":56,"generatedAt":57,"publishDate":57,"relatedArticles":58,"sourceCategory":59},"Changer l'ordre des champs du formulaire d'adresse PrestaShop","changer-ordre-champs-formulaire-adresse-prestashop","Guide complet pour réorganiser les champs du formulaire d'adresse client dans PrestaShop 1.7 et 8.x : templates Smarty, FormFields et bonnes pratiques.","developpement",[28,29,30,31,32],"formulaire adresse","template smarty","personnalisation front-office","FormFields","thème PrestaShop","intermediaire",[35,36,37],"1.6","1.7","8.x","\u003Ch2>Introduction\u003C\u002Fh2>\n\u003Cp>Le formulaire d'adresse client est l'un des éléments les plus sensibles d'une boutique PrestaShop. Son organisation impacte directement le taux de complétion des commandes. Pourtant, l'ordre par défaut des champs (nom, prénom, adresse, code postal, ville, pays) ne correspond pas toujours aux conventions locales ni aux attentes UX de votre cible.\u003C\u002Fp>\n\u003Cp>Réorganiser ces champs semble simple en théorie — il suffit de déplacer des blocs dans un template — mais en pratique, plusieurs pièges classiques empêchent les modifications de s'afficher. Voici un guide complet pour y parvenir proprement, de PrestaShop 1.6 à 8.x.\u003C\u002Fp>\n\u003Ch2>Comprendre l'architecture du formulaire d'adresse\u003C\u002Fh2>\n\u003Ch3>PrestaShop 1.6 : templates Smarty directs\u003C\u002Fh3>\n\u003Cp>Sur PrestaShop 1.6, le formulaire d'adresse est rendu par le template \u003Ccode>address.tpl\u003C\u002Fcode> situé dans le dossier de votre thème :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-\">\nthemes\u002Fvotre-theme\u002Faddress.tpl\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Chaque champ est un bloc HTML classique avec des conditions Smarty \u003Ccode>{if}\u003C\u002Fcode> qui contrôlent l'affichage selon la configuration du pays sélectionné. L'ordre des champs correspond directement à l'ordre des blocs dans le fichier \u003Ccode>.tpl\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch3>PrestaShop 1.7 et 8.x : le système FormFields\u003C\u002Fh3>\n\u003Cp>À partir de la version 1.7, PrestaShop a introduit un système plus structuré. Le formulaire d'adresse est géré par la classe \u003Ccode>CustomerAddressFormatter\u003C\u002Fcode> (située dans \u003Ccode>src\u002FCore\u002FForm\u002FIdentityConstraint\u002F\u003C\u002Fcode>) qui retourne un objet \u003Ccode>FormFields\u003C\u002Fcode> contenant la liste ordonnée des champs.\u003C\u002Fp>\n\u003Cp>Le template concerné est désormais :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-\">\nthemes\u002Fvotre-theme\u002Ftemplates\u002Fcustomer\u002F_partials\u002Faddress-form.tpl\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Le rendu des champs se fait via une boucle Smarty :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-smarty\">\n{foreach from=$formFields item=\"field\"}\n  {form_field field=$field}\n{\u002Fforeach}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Ce changement architectural signifie que \u003Cstrong>déplacer des blocs HTML dans le template ne suffit plus\u003C\u002Fstrong> sur 1.7+. Il faut intervenir en amont, au niveau du \u003Ccode>Formatter\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch2>Méthode 1 : réorganisation dans le template (PrestaShop 1.6)\u003C\u002Fh2>\n\u003Cp>Sur PrestaShop 1.6, la manipulation est directe :\u003C\u002Fp>\n\u003Col>\n\u003Cli>Localisez le fichier `address.tpl` **dans votre thème actif** (pas dans le thème par défaut)\u003C\u002Fli>\n\u003Cli>Identifiez les blocs de champs (chacun est généralement encapsulé dans une `\u003Cdiv class=\"form-group\">`)\u003C\u002Fli>\n\u003Cli>Déplacez les blocs dans l'ordre souhaité\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cpre>\u003Ccode class=\"language-smarty\">\n{* Exemple : placer le code postal avant la ville *}\n&lt;div class=\"form-group\"&gt;\n    &lt;label for=\"postcode\"&gt;{l s='Zip\u002FPostal Code'}&lt;\u002Flabel&gt;\n    &lt;input type=\"text\" id=\"postcode\" name=\"postcode\" value=\"{$address-&gt;postcode}\" \u002F&gt;\n&lt;\u002Fdiv&gt;\n&lt;div class=\"form-group\"&gt;\n    &lt;label for=\"city\"&gt;{l s='City'}&lt;\u002Flabel&gt;\n    &lt;input type=\"text\" id=\"city\" name=\"city\" value=\"{$address-&gt;city}\" \u002F&gt;\n&lt;\u002Fdiv&gt;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Attention aux conditions `{if}`\u003C\u002Fh3>\n\u003Cp>Certains champs sont encapsulés dans des conditions Smarty qui dépendent de la configuration du pays :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-smarty\">\n{if $field_is_required}\n    {* bloc du champ *}\n{\u002Fif}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Si vous déplacez un champ \u003Cstrong>sans conserver son bloc conditionnel englobant\u003C\u002Fstrong>, vous risquez soit de casser l'affichage, soit de rendre un champ toujours visible alors qu'il devrait être masqué pour certains pays. Veillez à toujours déplacer le bloc \u003Ccode>{if}...{\u002Fif}\u003C\u002Fcode> complet.\u003C\u002Fp>\n\u003Ch2>Méthode 2 : override du Formatter (PrestaShop 1.7 \u002F 8.x)\u003C\u002Fh2>\n\u003Cp>Sur les versions modernes, la méthode recommandée consiste à créer un override ou un module qui modifie l'ordre des champs retournés par le \u003Ccode>CustomerAddressFormatter\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch3>Via un module (méthode recommandée)\u003C\u002Fh3>\n\u003Cp>Créez un module qui se greffe sur le hook \u003Ccode>actionValidateCustomerAddressForm\u003C\u002Fcode> ou qui utilise le système de décoration de service :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-php\">\n&lt;?php\n\u002F\u002F modules\u002Fmonmodule\u002Fmonmodule.php\n\nuse PrestaShop\\PrestaShop\\Core\\Form\\FormField;\n\npublic function hookAdditionalCustomerAddressFields($params)\n{\n    \u002F\u002F Récupérer les champs existants\n    $formFields = $params['fields'];\n    \n    \u002F\u002F Définir l'ordre souhaité\n    $order = [\n        'company',\n        'firstname',\n        'lastname',\n        'address1',\n        'address2',\n        'postcode',\n        'city',\n        'Country:name',\n        'phone',\n    ];\n    \n    $sorted = [];\n    foreach ($order as $fieldName) {\n        if (isset($formFields[$fieldName])) {\n            $sorted[$fieldName] = $formFields[$fieldName];\n        }\n    }\n    \n    \u002F\u002F Ajouter les champs non listés à la fin\n    foreach ($formFields as $key =&gt; $field) {\n        if (!isset($sorted[$key])) {\n            $sorted[$key] = $field;\n        }\n    }\n    \n    $params['fields'] = $sorted;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Via un override du Formatter\u003C\u002Fh3>\n\u003Cp>Pour un contrôle total, vous pouvez surcharger \u003Ccode>CustomerAddressFormatter\u003C\u002Fcode> :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-php\">\n&lt;?php\n\u002F\u002F override\u002Fclasses\u002Fform\u002FCustomerAddressFormatter.php\n\u002F\u002F PrestaShop 8.x\n\nuse PrestaShop\\PrestaShop\\Core\\Form\\IdentityConstraint\\CustomerAddressFormatter \n    as BaseFormatter;\n\nclass CustomerAddressFormatterOverride extends BaseFormatter\n{\n    public function getFormat(): array\n    {\n        $fields = parent::getFormat();\n        \n        \u002F\u002F Réorganiser selon vos besoins\n        $desiredOrder = [\n            'firstname', 'lastname', 'company', 'vat_number',\n            'address1', 'address2', 'postcode', 'city',\n            'Country:name', 'State:name', 'phone', 'phone_mobile',\n        ];\n        \n        $sorted = [];\n        foreach ($desiredOrder as $name) {\n            if (isset($fields[$name])) {\n                $sorted[$name] = $fields[$name];\n            }\n        }\n        \n        return $sorted + $fields;\n    }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>N'oubliez pas de supprimer le fichier cache après création de l'override :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">\nrm -rf var\u002Fcache\u002Fprod var\u002Fcache\u002Fdev\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Les 4 pièges classiques qui bloquent vos modifications\u003C\u002Fh2>\n\u003Ch3>1. Le cache Smarty non vidé\u003C\u002Fh3>\n\u003Cp>C'est le piège numéro un. PrestaShop compile les templates Smarty et les met en cache. Si vous modifiez un fichier \u003Ccode>.tpl\u003C\u002Fcode> sans vider le cache, vos modifications seront purement ignorées.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Solution :\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Back-office → Paramètres avancés → Performances → Vider le cache\u003C\u002Fli>\n\u003Cli>Ou en ligne de commande :\u003C\u002Fli>\n\u003C\u002Ful>\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\u003Cp>\u003Cstrong>Conseil :\u003C\u002Fstrong> pendant le développement, désactivez la compilation Smarty via le back-office (Paramètres avancés → Performances → Forcer la compilation → Oui, Mettre en cache → Non).\u003C\u002Fp>\n\u003Ch3>2. Modifier le mauvais template\u003C\u002Fh3>\n\u003Cp>PrestaShop utilise un système de thème enfant\u002Fparent. Le template effectivement rendu peut provenir de :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Votre thème actif\u003C\u002Fli>\n\u003Cli>Le thème parent (si votre thème est un child theme)\u003C\u002Fli>\n\u003Cli>Le thème `classic` (fallback par défaut)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Si vous modifiez un template dans le mauvais dossier, rien ne changera.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Vérification :\u003C\u002Fstrong> consultez le fichier \u003Ccode>theme.yml\u003C\u002Fcode> de votre thème pour identifier le parent, puis assurez-vous de modifier le template au bon endroit dans la hiérarchie.\u003C\u002Fp>\n\u003Ch3>3. Les conditions `{if}` qui masquent vos champs\u003C\u002Fh3>\n\u003Cp>Sur PrestaShop 1.6, certains champs sont conditionnels (DNI, State, etc.). Si vous déplacez un champ en dehors de sa condition \u003Ccode>{if}\u003C\u002Fcode>, il peut disparaître ou s'afficher à tort.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Règle d'or :\u003C\u002Fstrong> toujours déplacer le bloc conditionnel complet, pas juste le HTML du champ.\u003C\u002Fp>\n\u003Ch3>4. Le format d'adresse par pays\u003C\u002Fh3>\n\u003Cp>PrestaShop possède un système de format d'adresse défini par pays (Back-office → International → Zones → Pays → modifier un pays → Format d'adresse). Ce format détermine quels champs sont affichés et dans quel ordre \u003Cstrong>pour le rendu de l'adresse\u003C\u002Fstrong> (pas le formulaire en 1.6, mais il influence le formulaire en 1.7+).\u003C\u002Fp>\n\u003Cp>Si vous ne comprenez pas pourquoi un champ apparaît ou disparaît, vérifiez ce paramètre.\u003C\u002Fp>\n\u003Ch2>Bonnes pratiques UX pour l'ordre des champs\u003C\u002Fh2>\n\u003Cp>L'ordre optimal des champs d'adresse dépend du pays cible :\u003C\u002Fp>\n\u003Ctr>\u003Cth>Convention\u003C\u002Fth>\u003Cth>Pays\u003C\u002Fth>\u003Cth>Ordre recommandé\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>Européenne\u003C\u002Fth>\u003Cth>France, Belgique, Suisse\u003C\u002Fth>\u003Cth>Prénom → Nom → Adresse → CP → Ville → Pays\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>Anglo-saxonne\u003C\u002Fth>\u003Cth>UK, US\u003C\u002Fth>\u003Cth>Prénom → Nom → Adresse → Ville → État → CP → Pays\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>Japonaise\u003C\u002Fth>\u003Cth>Japon\u003C\u002Fth>\u003Cth>Pays → CP → Ville → Adresse → Nom → Prénom\u003C\u002Fth>\u003C\u002Ftr>\n\u003Cp>Pour une boutique multi-pays, envisagez d'utiliser le format d'adresse par pays de PrestaShop combiné avec un module qui réorganise dynamiquement les champs selon le pays sélectionné.\u003C\u002Fp>\n\u003Ch2>Résumé des étapes\u003C\u002Fh2>\n\u003Col>\n\u003Cli>**Identifier la version** de PrestaShop et la méthode appropriée (template direct vs Formatter)\u003C\u002Fli>\n\u003Cli>**Localiser le bon template** dans la hiérarchie de votre thème\u003C\u002Fli>\n\u003Cli>**Réorganiser les champs** en conservant les blocs conditionnels intacts\u003C\u002Fli>\n\u003Cli>**Vider systématiquement le cache** après chaque modification\u003C\u002Fli>\n\u003Cli>**Tester sur plusieurs pays** pour vérifier que les champs conditionnels fonctionnent correctement\u003C\u002Fli>\n\u003Cli>**Désactiver le cache Smarty** pendant la phase de développement pour itérer rapidement\u003C\u002Fli>\n\u003C\u002Ful>",[40,43,46,49,52],{"q":41,"a":42},"Pourquoi mes modifications du template d'adresse ne s'affichent pas dans PrestaShop ?","Dans 90 % des cas, le problème vient du cache Smarty qui n'a pas été vidé. PrestaShop compile les templates et utilise la version en cache tant qu'elle existe. Rendez-vous dans Paramètres avancés → Performances → Vider le cache, ou exécutez `php bin\u002Fconsole cache:clear`. Pendant le développement, activez l'option 'Forcer la compilation' pour que chaque modification soit prise en compte immédiatement.",{"q":44,"a":45},"Comment réorganiser les champs d'adresse dans PrestaShop 8 sans modifier le thème ?","Sur PrestaShop 8.x, la méthode recommandée est de créer un module qui surcharge le CustomerAddressFormatter via le système de services Symfony. Vous pouvez décorer le service original pour modifier l'ordre des champs retournés par la méthode getFormat(). Cette approche est compatible avec les mises à jour du thème et du core, contrairement à une modification directe du template.",{"q":47,"a":48},"Peut-on avoir un ordre de champs différent selon le pays sélectionné dans PrestaShop ?","Oui, PrestaShop gère un format d'adresse par pays (International → Zones → Pays → Format d'adresse). Sur PrestaShop 1.7 et 8.x, ce format influence directement les champs affichés dans le formulaire via le CustomerAddressFormatter. Vous pouvez personnaliser ce format par pays dans le back-office pour adapter l'ordre et la visibilité des champs à chaque convention nationale.",{"q":50,"a":51},"Quel est le fichier template du formulaire d'adresse dans PrestaShop ?","Sur PrestaShop 1.6, le template est `themes\u002Fvotre-theme\u002Faddress.tpl`. Sur PrestaShop 1.7 et 8.x, il se trouve dans `themes\u002Fvotre-theme\u002Ftemplates\u002Fcustomer\u002F_partials\u002Faddress-form.tpl`. Attention à bien vérifier la hiérarchie parent\u002Fenfant de votre thème : le template effectivement utilisé peut provenir du thème parent si votre thème actif ne le surcharge pas.",{"q":53,"a":54},"Faut-il modifier le contrôleur PHP pour changer l'ordre des champs d'adresse ?","Sur PrestaShop 1.6, non : l'ordre est entièrement géré dans le template Smarty. Sur PrestaShop 1.7 et 8.x, modifier uniquement le template ne suffit pas si les champs sont rendus via une boucle `{foreach}`. Il faut intervenir au niveau du Formatter PHP (soit par override, soit par module) pour réordonner les champs avant leur passage au template.","Pour réorganiser les champs du formulaire d'adresse PrestaShop, modifiez le template Smarty (1.6) ou surchargez le CustomerAddressFormatter via un module (1.7\u002F8.x). Pensez impérativement à vider le cache Smarty et à vérifier que vous éditez le bon template dans la hiérarchie de votre thème.",6,"2026-03-21T15:52:59.000Z",[],"PrestaShop pour les développeurs",{"columns":61},[62,78,108,129],{"title":63,"links":64},"Plateforme",[65,69,72,75],{"label":66,"href":67,"external":68},"Offre Starter (2 500 €)","\u002Foffre-starter",false,{"label":70,"href":71,"external":68},"Devenir Ambassadeur","\u002Fambassadeur",{"label":73,"href":74,"external":68},"Modules PrestaShop","\u002Fmodules",{"label":76,"href":77,"external":20},"CodeMyShop.com","https:\u002F\u002Fcodemyshop.com",{"title":79,"links":80},"Le Synedre",[81,84,87,90,93,96,99,102,105],{"label":82,"href":83,"external":68},"L'histoire","\u002Fsynedre",{"label":85,"href":86,"external":68},"Constitution","\u002Fsynedre\u002Fconstitution",{"label":88,"href":89,"external":68},"L'équipe","\u002Fequipe",{"label":91,"href":92,"external":68},"Le réacteur en direct","\u002Freacteur",{"label":94,"href":95,"external":68},"Le Drill (entraînement)","\u002Fdrill",{"label":97,"href":98,"external":68},"Protocole de réunion","\u002Fsynedre\u002Freunion",{"label":100,"href":101,"external":68},"Les agents IA","\u002Fagents-ia",{"label":103,"href":104,"external":68},"La Conduite","\u002Fsynedre\u002Fconduite",{"label":106,"href":107,"external":68},"Charte plateforme","\u002Fsynedre\u002Fcharte",{"title":109,"links":110},"Ressources",[111,114,117,120,123,126],{"label":112,"href":113,"external":68},"Blog","\u002Fblog",{"label":115,"href":116,"external":68},"Academy","\u002Facademy",{"label":118,"href":119,"external":68},"Dictionnaire","\u002Fdictionnaire",{"label":121,"href":122,"external":68},"Expertise PrestaShop","\u002Fexpertise",{"label":124,"href":125,"external":68},"Flywheel","\u002Fflywheel",{"label":127,"href":128,"external":68},"Manifeste","\u002Fmanifeste",{"title":130,"links":131},"À propos",[132,135,138],{"label":133,"href":134,"external":68},"Alexandre Carette","\u002Fa-propos",{"label":136,"href":137,"external":68},"Dossier de presse","\u002Fpresse",{"label":139,"href":140,"external":68},"Contact","\u002Fcontact",{"academy":142,"blog":143,"expertise":155},[],[144,149,152],{"title":145,"url":146,"score":147,"type":148},"PrestaShop headless avec Nuxt 3 : pourquoi séparer back et front","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-separation-front-back",1,"blog",{"title":150,"url":151,"score":147,"type":148},"PrestaShop headless : Nuxt 3, pas Next.js — le choix souverain","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-nextjs-souverainete",{"title":153,"url":154,"score":147,"type":148},"Sylius rachète PrestaShop : ce que ça change pour vous","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fsylius-rachat-prestashop-headless-souverainete",[],{"items":157},[158,167,172,178,186,194,200,205],{"id":159,"type":160,"label":161,"href":122,"icon":163,"description":163,"badge":163,"groupTitle":163,"style":163,"gridColumns":163,"cssClass":163,"psCategoryId":163,"showPsChildren":68,"position":164,"children":165,"psChildren":166},41,"link",{"fr":162},"Expertise",null,0,[],[],{"id":168,"type":160,"label":169,"href":113,"icon":163,"description":163,"badge":163,"groupTitle":163,"style":163,"gridColumns":163,"cssClass":163,"psCategoryId":163,"showPsChildren":68,"position":147,"children":170,"psChildren":171},42,{"fr":112},[],[],{"id":173,"type":160,"label":174,"href":74,"icon":163,"description":163,"badge":163,"groupTitle":163,"style":163,"gridColumns":163,"cssClass":163,"psCategoryId":163,"showPsChildren":68,"position":175,"children":176,"psChildren":177},43,{"fr":73},2,[],[],{"id":179,"type":160,"label":180,"href":182,"icon":163,"description":163,"badge":163,"groupTitle":163,"style":163,"gridColumns":163,"cssClass":163,"psCategoryId":163,"showPsChildren":68,"position":183,"children":184,"psChildren":185},44,{"fr":181},"Outils IA","\u002Foutils-ia",3,[],[],{"id":187,"type":160,"label":188,"href":67,"icon":163,"description":163,"badge":163,"groupTitle":163,"style":190,"gridColumns":163,"cssClass":163,"psCategoryId":163,"showPsChildren":68,"position":191,"children":192,"psChildren":193},45,{"fr":189},"Offre Starter ✨",{"highlight":20},4,[],[],{"id":195,"type":160,"label":196,"href":116,"icon":163,"description":163,"badge":163,"groupTitle":163,"style":163,"gridColumns":163,"cssClass":163,"psCategoryId":163,"showPsChildren":68,"position":197,"children":198,"psChildren":199},46,{"fr":115},5,[],[],{"id":201,"type":160,"label":202,"href":134,"icon":163,"description":163,"badge":163,"groupTitle":163,"style":163,"gridColumns":163,"cssClass":163,"psCategoryId":163,"showPsChildren":68,"position":56,"children":203,"psChildren":204},47,{"fr":130},[],[],{"id":206,"type":160,"label":207,"href":140,"icon":163,"description":163,"badge":163,"groupTitle":163,"style":163,"gridColumns":163,"cssClass":163,"psCategoryId":163,"showPsChildren":68,"position":208,"children":209,"psChildren":210},48,{"fr":139},7,[],[],{"footer":212},{"theme":213,"description":163,"hours":163,"logo":214,"contact":217,"social":218,"bottomBar":228},"dark",{"src":215,"href":216,"alt":133},"\u002Flogo-ac.svg","\u002F",{"email":163,"phone":163,"address":163,"cta":163},[219,222,225],{"platform":220,"href":221,"label":220},"linkedin","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Falexandre-carette\u002F",{"platform":223,"href":224,"label":223},"malt","https:\u002F\u002Fwww.malt.fr\u002Fprofile\u002Falexandrecarette",{"platform":226,"href":227,"label":226},"github","https:\u002F\u002Fgithub.com\u002Fprest4cafe",{"copyright":163},{"header":230},{"logo":231,"topBar":234,"contactEmail":237,"features":238,"navBar":163},{"src":215,"alt":232,"text":133,"href":216,"class":233},"Alexandre Carette — Architecte E-commerce Souverain","h-10 w-10",{"message":163,"showLanguages":68,"align":235,"languages":236},"left",[],"contact@alexandrecarette.fr",{"showSearch":68,"showWishlist":68,"showLogin":20,"showContact":68,"showCart":68,"stickyHeader":20,"headerLayout":239},"inline"]