[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"theme-db":3,"$f0ciCkBRCYTpY527pkG-5-fP96c9CJgOoL_S2hbgU88w":22,"$fKnz2vuX4bZz1LbUTiuFsvSZ3e07l5_5fqNYp4Tzdhi8":63,"megamenu":144,"footer-db":200,"$f0h2X1kRNJbTBHb24tnMbiyN_DwgBZfHs-bwmmKN80Rg":218,"header-db":232},{"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":58,"readingTime":59,"generatedAt":60,"publishDate":60,"relatedArticles":61,"sourceCategory":62},"Masquer des commandes dans le back-office PrestaShop sans les supprimer","masquer-commandes-back-office-prestashop-override-adminorders","Apprenez à filtrer et masquer certaines commandes dans le back-office PrestaShop grâce à un champ active et un override propre du contrôleur AdminOrders.","commandes",[26,28,29,30,31,32],"back-office","override","AdminOrdersController","SQL","performances","intermediaire",[35,36,37],"1.6","1.7","8.x","\u003Ch2>Le problème : un back-office saturé par des milliers de commandes\u003C\u002Fh2>\n\u003Cp>Après plusieurs années d'activité, la liste des commandes dans le back-office PrestaShop peut devenir difficile à gérer. Entre les commandes abandonnées, les tests, les annulations anciennes et les commandes archivées depuis longtemps, le listing devient un frein à la productivité quotidienne des équipes.\u003C\u002Fp>\n\u003Cp>La tentation initiale serait de supprimer directement les lignes dans la table \u003Ccode>ps_orders\u003C\u002Fcode>. \u003Cstrong>C'est une très mauvaise idée dans la majorité des cas\u003C\u002Fstrong> : les commandes sont liées à de nombreuses tables (détails produits, historique de statuts, factures, avoirs, paiements) et leur suppression brutale peut créer des incohérences en base de données, voire des obligations légales non respectées.\u003C\u002Fp>\n\u003Cp>La solution propre consiste à ajouter un mécanisme de masquage réversible, sans toucher aux données réelles.\u003C\u002Fp>\n\u003Ch2>La solution : un champ `active` et un override du contrôleur\u003C\u002Fh2>\n\u003Cp>Le principe est simple et éprouvé :\u003C\u002Fp>\n\u003Col>\n\u003Cli>Ajouter une colonne `active` à la table `ps_orders`\u003C\u002Fli>\n\u003Cli>Créer un override de `AdminOrdersController` qui filtre sur ce champ\u003C\u002Fli>\n\u003Cli>Les commandes marquées `active = 0` disparaissent du listing, mais restent intactes en base\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Étape 1 : Ajouter la colonne en base de données\u003C\u002Fh3>\n\u003Cp>Exécutez cette requête SQL via phpMyAdmin ou en ligne de commande :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-sql\">\nALTER TABLE `ps_orders`\nADD COLUMN `active` TINYINT(1) UNSIGNED NOT NULL DEFAULT 1\nAFTER `date_upd`;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Points importants :\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>`DEFAULT 1` garantit que toutes les commandes existantes et futures restent visibles par défaut\u003C\u002Fli>\n\u003Cli>`TINYINT(1) UNSIGNED` est le type standard pour un booléen dans PrestaShop\u003C\u002Fli>\n\u003Cli>Adaptez le préfixe `ps_` si vous utilisez un préfixe personnalisé\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cblockquote>\u003Cp>\u003Cstrong>Conseil :\u003C\u002Fstrong> Sur une boutique avec un volume important de commandes (> 100 000 lignes), ajoutez également un index sur cette colonne pour optimiser les performances du filtre :\u003C\u002Fp>\u003C\u002Fblockquote>\n\u003Cpre>\u003Ccode class=\"language-sql\">\nALTER TABLE `ps_orders`\nADD INDEX `idx_active` (`active`);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Étape 2 : Déclarer la propriété dans la classe Order\u003C\u002Fh3>\n\u003Cp>Pour que PrestaShop reconnaisse ce nouveau champ, il faut étendre la définition de l'objet \u003Ccode>Order\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>PrestaShop 1.6 \u002F 1.7 :\u003C\u002Fstrong> Créez le fichier \u003Ccode>override\u002Fclasses\u002FOrder.php\u003C\u002Fcode> :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-php\">\n&lt;?php\n\u002F**\n * @author Alexandre Carette &lt;contact@alexandrecarette.fr&gt;\n * @copyright 2026 Alexandre Carette\n * @license Propriétaire et Confidentiel\n *\u002F\n\nclass Order extends OrderCore\n{\n    \u002F** @var bool Commande active (visible dans le BO) *\u002F\n    public $active = 1;\n\n    public static $definition = null;\n\n    public function __construct($id = null, $id_lang = null)\n    {\n        \u002F\u002F Copie la définition parente et ajoute le champ\n        if (self::$definition === null) {\n            self::$definition = OrderCore::$definition;\n            self::$definition['fields']['active'] = [\n                'type' =&gt; self::TYPE_BOOL,\n                'validate' =&gt; 'isBool',\n            ];\n        }\n        parent::__construct($id, $id_lang);\n    }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>PrestaShop 8.x :\u003C\u002Fstrong> Le mécanisme d'override reste identique, mais pensez à vider le cache des classes après création :\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>Étape 3 : Override du contrôleur AdminOrdersController\u003C\u002Fh3>\n\u003Cp>Créez le fichier \u003Ccode>override\u002Fcontrollers\u002Fadmin\u002FAdminOrdersController.php\u003C\u002Fcode> :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-php\">\n&lt;?php\n\u002F**\n * @author Alexandre Carette &lt;contact@alexandrecarette.fr&gt;\n * @copyright 2026 Alexandre Carette\n * @license Propriétaire et Confidentiel\n *\u002F\n\nclass AdminOrdersController extends AdminOrdersControllerCore\n{\n    public function __construct()\n    {\n        parent::__construct();\n\n        \u002F\u002F Filtrer uniquement les commandes actives\n        $this-&gt;_where .= ' AND a.`active` = 1';\n\n        \u002F\u002F Ajouter la colonne \"active\" dans la liste pour pouvoir filtrer manuellement\n        $this-&gt;fields_list['active'] = [\n            'title' =&gt; $this-&gt;trans('Visible', [], 'Admin.Global'),\n            'align' =&gt; 'text-center',\n            'active' =&gt; 'status',\n            'type' =&gt; 'bool',\n            'orderby' =&gt; false,\n            'filter_key' =&gt; 'a!active',\n        ];\n    }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Ce que fait cet override :\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>`$this->_where .= ' AND a.active = 1'` : ajoute une clause WHERE à la requête SQL du listing, excluant les commandes inactives\u003C\u002Fli>\n\u003Cli>`$this->fields_list['active']` : ajoute une colonne dans le tableau avec un toggle booléen, permettant de réactiver une commande directement depuis le listing si besoin\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cblockquote>\u003Cp>\u003Cstrong>Important :\u003C\u002Fstrong> Utilisez \u003Ccode>$this->_where .=\u003C\u002Fcode> (concaténation) et non \u003Ccode>$this->_where =\u003C\u002Fcode> (affectation) pour ne pas écraser d'éventuels filtres existants.\u003C\u002Fp>\u003C\u002Fblockquote>\n\u003Ch3>Étape 4 : Masquer les commandes souhaitées\u003C\u002Fh3>\n\u003Cp>Pour masquer un lot de commandes (par exemple toutes celles antérieures à 2020 et en statut annulé) :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-sql\">\nUPDATE `ps_orders`\nSET `active` = 0\nWHERE `date_add` &lt; '2020-01-01'\nAND `current_state` IN (6, 7, 8);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Les statuts 6 (annulé), 7 (remboursé) et 8 (erreur de paiement) sont les candidats typiques au masquage. Vérifiez les ID de vos statuts dans la table \u003Ccode>ps_order_state\u003C\u002Fcode> avant d'exécuter.\u003C\u002Fp>\n\u003Ch3>Étape 5 : Vider le cache\u003C\u002Fh3>\n\u003Cp>Après tout override, videz le cache PrestaShop :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">\n# PrestaShop 1.6\nrm -rf cache\u002Fclass_index.php\n\n# PrestaShop 1.7 \u002F 8.x\nrm -rf var\u002Fcache\u002F*\n# ou depuis le back-office : Paramètres avancés &gt; Performances &gt; Vider le cache\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Approche alternative : la suppression en base (à éviter)\u003C\u002Fh2>\n\u003Cp>Il est techniquement possible de supprimer des commandes directement en base de données. \u003Cstrong>Cette approche est fortement déconseillée\u003C\u002Fstrong> pour plusieurs raisons :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>**Intégrité référentielle** : une commande est liée à `ps_order_detail`, `ps_order_history`, `ps_order_payment`, `ps_order_invoice`, `ps_order_cart_rule`, etc. Supprimer uniquement dans `ps_orders` laisse des orphelins\u003C\u002Fli>\n\u003Cli>**Obligations comptables** : en France, les factures émises doivent être conservées 10 ans. Supprimer une commande facturée est potentiellement illégal\u003C\u002Fli>\n\u003Cli>**Irréversibilité** : contrairement au champ `active`, une suppression est définitive\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Si malgré tout vous devez nettoyer la base (environnement de test, commandes de test pré-production), voici l'ordre de suppression sécurisé :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-sql\">\n-- UNIQUEMENT en environnement de test !\n-- Sauvegardez TOUJOURS votre base avant\nSET @order_id = 12345;\n\nDELETE FROM `ps_order_detail` WHERE `id_order` = @order_id;\nDELETE FROM `ps_order_history` WHERE `id_order` = @order_id;\nDELETE FROM `ps_order_payment` WHERE `order_reference` = (\n    SELECT `reference` FROM `ps_orders` WHERE `id_order` = @order_id\n);\nDELETE FROM `ps_order_invoice` WHERE `id_order` = @order_id;\nDELETE FROM `ps_order_cart_rule` WHERE `id_order` = @order_id;\nDELETE FROM `ps_orders` WHERE `id_order` = @order_id;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Variante avancée : archivage avec date\u003C\u002Fh2>\n\u003Cp>Pour aller plus loin, vous pouvez remplacer le simple booléen par une date d'archivage, ce qui permet de tracer quand et pourquoi une commande a été masquée :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-sql\">\nALTER TABLE `ps_orders`\nADD COLUMN `archived_at` DATETIME DEFAULT NULL\nAFTER `date_upd`;\n\nALTER TABLE `ps_orders`\nADD INDEX `idx_archived` (`archived_at`);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Et dans l'override du contrôleur :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-php\">\n$this-&gt;_where .= ' AND a.`archived_at` IS NULL';\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Cette approche est plus riche car elle conserve l'historique d'archivage et permet des requêtes du type « commandes archivées ce mois-ci ».\u003C\u002Fp>\n\u003Ch2>Récapitulatif\u003C\u002Fh2>\n\u003Ctr>\u003Cth>Méthode\u003C\u002Fth>\u003Cth>Réversible\u003C\u002Fth>\u003Cth>Sûre\u003C\u002Fth>\u003Cth>Effort\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>Champ `active` + override\u003C\u002Fth>\u003Cth>Oui\u003C\u002Fth>\u003Cth>Oui\u003C\u002Fth>\u003Cth>Moyen\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>Archivage avec date\u003C\u002Fth>\u003Cth>Oui\u003C\u002Fth>\u003Cth>Oui\u003C\u002Fth>\u003Cth>Moyen+\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>Suppression SQL directe\u003C\u002Fth>\u003Cth>Non\u003C\u002Fth>\u003Cth>Non\u003C\u002Fth>\u003Cth>Faible mais risqué\u003C\u002Fth>\u003C\u002Ftr>\n\u003Cp>La méthode par override est celle que je recommande systématiquement en production. Elle respecte l'intégrité des données, reste compatible avec les mises à jour PrestaShop, et offre une flexibilité totale pour réactiver des commandes si nécessaire.\u003C\u002Fp>",[40,43,46,49,52,55],{"q":41,"a":42},"Peut-on masquer des commandes dans le back-office PrestaShop sans les supprimer ?","Oui, en ajoutant un champ booléen `active` à la table `ps_orders` et en créant un override de `AdminOrdersController` qui filtre avec `$this->_where .= ' AND a.active = 1'`. Les commandes marquées à 0 disparaissent du listing mais restent intactes en base de données.",{"q":44,"a":45},"Est-il légal de supprimer des commandes dans PrestaShop ?","En France, les factures et documents comptables doivent être conservés pendant 10 ans (article L123-22 du Code de commerce). Supprimer une commande facturée peut constituer une infraction. Privilégiez toujours le masquage plutôt que la suppression.",{"q":47,"a":48},"Comment supprimer proprement une commande de test en base de données PrestaShop ?","Il faut supprimer les enregistrements dans toutes les tables liées dans le bon ordre : `ps_order_detail`, `ps_order_history`, `ps_order_payment`, `ps_order_invoice`, `ps_order_cart_rule`, puis `ps_orders`. Faites toujours un backup complet avant et ne faites cela que sur des commandes de test, jamais sur des commandes réelles facturées.",{"q":50,"a":51},"L'override AdminOrdersController est-il compatible avec PrestaShop 8 ?","Oui, le système d'overrides de contrôleurs admin fonctionne toujours dans PrestaShop 8.x. Pensez à supprimer le fichier `var\u002Fcache\u002Fprod\u002Fclass_index.php` après avoir créé l'override pour qu'il soit pris en compte. À noter que Symfony migre progressivement ces contrôleurs, mais la page commandes utilise encore le système legacy.",{"q":53,"a":54},"Comment archiver en masse les anciennes commandes annulées dans PrestaShop ?","Après avoir mis en place le champ `active`, exécutez une requête UPDATE ciblée : `UPDATE ps_orders SET active = 0 WHERE date_add \u003C '2023-01-01' AND current_state IN (6, 7, 8)`. Vérifiez d'abord les ID de vos statuts dans `ps_order_state` et adaptez la date selon vos besoins.",{"q":56,"a":57},"Le masquage de commandes améliore-t-il les performances du back-office ?","Oui, significativement. En ajoutant un index sur la colonne `active` et en filtrant les commandes inactives, la requête SQL du listing traite moins de lignes. Sur une boutique avec plus de 100 000 commandes, le gain de temps de chargement peut atteindre 30 à 50 % sur la page des commandes.","Pour masquer des commandes dans le back-office PrestaShop sans les supprimer, ajoutez un champ `active` à la table `ps_orders` et filtrez-le via un override de `AdminOrdersController`. Cette méthode préserve l'intégrité des données et reste réversible à tout moment.",6,"2026-03-21T15:43:23.000Z",[],"Utilisation de PrestaShop : configuration et difficultés",{"columns":64},[65,81,111,132],{"title":66,"links":67},"Plateforme",[68,72,75,78],{"label":69,"href":70,"external":71},"Offre Starter (2 500 €)","\u002Foffre-starter",false,{"label":73,"href":74,"external":71},"Devenir Ambassadeur","\u002Fambassadeur",{"label":76,"href":77,"external":71},"Modules PrestaShop","\u002Fmodules",{"label":79,"href":80,"external":20},"CodeMyShop.com","https:\u002F\u002Fcodemyshop.com",{"title":82,"links":83},"Le Synedre",[84,87,90,93,96,99,102,105,108],{"label":85,"href":86,"external":71},"L'histoire","\u002Fsynedre",{"label":88,"href":89,"external":71},"Constitution","\u002Fsynedre\u002Fconstitution",{"label":91,"href":92,"external":71},"L'équipe","\u002Fequipe",{"label":94,"href":95,"external":71},"Le réacteur en direct","\u002Freacteur",{"label":97,"href":98,"external":71},"Le Drill (entraînement)","\u002Fdrill",{"label":100,"href":101,"external":71},"Protocole de réunion","\u002Fsynedre\u002Freunion",{"label":103,"href":104,"external":71},"Les agents IA","\u002Fagents-ia",{"label":106,"href":107,"external":71},"La Conduite","\u002Fsynedre\u002Fconduite",{"label":109,"href":110,"external":71},"Charte plateforme","\u002Fsynedre\u002Fcharte",{"title":112,"links":113},"Ressources",[114,117,120,123,126,129],{"label":115,"href":116,"external":71},"Blog","\u002Fblog",{"label":118,"href":119,"external":71},"Academy","\u002Facademy",{"label":121,"href":122,"external":71},"Dictionnaire","\u002Fdictionnaire",{"label":124,"href":125,"external":71},"Expertise PrestaShop","\u002Fexpertise",{"label":127,"href":128,"external":71},"Flywheel","\u002Fflywheel",{"label":130,"href":131,"external":71},"Manifeste","\u002Fmanifeste",{"title":133,"links":134},"À propos",[135,138,141],{"label":136,"href":137,"external":71},"Alexandre Carette","\u002Fa-propos",{"label":139,"href":140,"external":71},"Dossier de presse","\u002Fpresse",{"label":142,"href":143,"external":71},"Contact","\u002Fcontact",{"items":145},[146,155,161,167,175,183,189,194],{"id":147,"type":148,"label":149,"href":125,"icon":151,"description":151,"badge":151,"groupTitle":151,"style":151,"gridColumns":151,"cssClass":151,"psCategoryId":151,"showPsChildren":71,"position":152,"children":153,"psChildren":154},41,"link",{"fr":150},"Expertise",null,0,[],[],{"id":156,"type":148,"label":157,"href":116,"icon":151,"description":151,"badge":151,"groupTitle":151,"style":151,"gridColumns":151,"cssClass":151,"psCategoryId":151,"showPsChildren":71,"position":158,"children":159,"psChildren":160},42,{"fr":115},1,[],[],{"id":162,"type":148,"label":163,"href":77,"icon":151,"description":151,"badge":151,"groupTitle":151,"style":151,"gridColumns":151,"cssClass":151,"psCategoryId":151,"showPsChildren":71,"position":164,"children":165,"psChildren":166},43,{"fr":76},2,[],[],{"id":168,"type":148,"label":169,"href":171,"icon":151,"description":151,"badge":151,"groupTitle":151,"style":151,"gridColumns":151,"cssClass":151,"psCategoryId":151,"showPsChildren":71,"position":172,"children":173,"psChildren":174},44,{"fr":170},"Outils IA","\u002Foutils-ia",3,[],[],{"id":176,"type":148,"label":177,"href":70,"icon":151,"description":151,"badge":151,"groupTitle":151,"style":179,"gridColumns":151,"cssClass":151,"psCategoryId":151,"showPsChildren":71,"position":180,"children":181,"psChildren":182},45,{"fr":178},"Offre Starter ✨",{"highlight":20},4,[],[],{"id":184,"type":148,"label":185,"href":119,"icon":151,"description":151,"badge":151,"groupTitle":151,"style":151,"gridColumns":151,"cssClass":151,"psCategoryId":151,"showPsChildren":71,"position":186,"children":187,"psChildren":188},46,{"fr":118},5,[],[],{"id":190,"type":148,"label":191,"href":137,"icon":151,"description":151,"badge":151,"groupTitle":151,"style":151,"gridColumns":151,"cssClass":151,"psCategoryId":151,"showPsChildren":71,"position":59,"children":192,"psChildren":193},47,{"fr":133},[],[],{"id":195,"type":148,"label":196,"href":143,"icon":151,"description":151,"badge":151,"groupTitle":151,"style":151,"gridColumns":151,"cssClass":151,"psCategoryId":151,"showPsChildren":71,"position":197,"children":198,"psChildren":199},48,{"fr":142},7,[],[],{"footer":201},{"theme":202,"description":151,"hours":151,"logo":203,"contact":206,"social":207,"bottomBar":217},"dark",{"src":204,"href":205,"alt":136},"\u002Flogo-ac.svg","\u002F",{"email":151,"phone":151,"address":151,"cta":151},[208,211,214],{"platform":209,"href":210,"label":209},"linkedin","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Falexandre-carette\u002F",{"platform":212,"href":213,"label":212},"malt","https:\u002F\u002Fwww.malt.fr\u002Fprofile\u002Falexandrecarette",{"platform":215,"href":216,"label":215},"github","https:\u002F\u002Fgithub.com\u002Fprest4cafe",{"copyright":151},{"academy":219,"blog":220,"expertise":231},[],[221,225,228],{"title":222,"url":223,"score":164,"type":224},"PrestaShop headless avec Nuxt 3 : pourquoi séparer back et front","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-separation-front-back","blog",{"title":226,"url":227,"score":158,"type":224},"PrestaShop headless : Nuxt 3, pas Next.js — le choix souverain","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-nextjs-souverainete",{"title":229,"url":230,"score":158,"type":224},"Sylius rachète PrestaShop : ce que ça change pour vous","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fsylius-rachat-prestashop-headless-souverainete",[],{"header":233},{"logo":234,"topBar":237,"contactEmail":240,"features":241,"navBar":151},{"src":204,"alt":235,"text":136,"href":205,"class":236},"Alexandre Carette — Architecte E-commerce Souverain","h-10 w-10",{"message":151,"showLanguages":71,"align":238,"languages":239},"left",[],"contact@alexandrecarette.fr",{"showSearch":71,"showWishlist":71,"showLogin":20,"showContact":71,"showCart":71,"stickyHeader":20,"headerLayout":242},"inline"]