[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"theme-db":3,"$fGJQv_QZqX3Ti_3rpNbVauuD1iBHk7-iSQSwhttoExBI":22,"$fKnz2vuX4bZz1LbUTiuFsvSZ3e07l5_5fqNYp4Tzdhi8":58,"megamenu":139,"$fxCILbKdn6q5Zlbbrbtv8SbK8NxIzarKRtsSbBM7e7XQ":195,"footer-db":209,"header-db":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",{"title":23,"slug":24,"metaDescription":25,"category":26,"tags":27,"difficulty":32,"psVersions":33,"content":36,"faq":37,"tldr":53,"readingTime":54,"generatedAt":55,"publishDate":55,"relatedArticles":56,"sourceCategory":57},"Produits dématérialisés PrestaShop : corriger les erreurs de téléchargement","produits-dematerialises-prestashop-erreur-telechargement","Résolvez les erreurs d'ouverture de fichiers téléchargeables dans PrestaShop. Guide complet : ZIP corrompus, configuration serveur et bonnes pratiques.","debug",[28,29,30,31,26],"produits virtuels","téléchargement","ZIP corrompu","produits dématérialisés","intermediaire",[34,35],"1.7","8.x","\u003Ch2>Produits dématérialisés PrestaShop : diagnostiquer et corriger les erreurs après téléchargement\u003C\u002Fh2>\n\u003Cp>La vente de produits dématérialisés (ebooks, templates, fichiers ZIP, licences logicielles) est un levier de marge important pour les e-commerçants PrestaShop. Mais quand un client télécharge son fichier et obtient une erreur à l'ouverture, c'est la crédibilité de la boutique qui en prend un coup.\u003C\u002Fp>\n\u003Cp>Ce problème revient régulièrement, et les causes sont multiples. Voici une méthodologie complète pour identifier et corriger l'origine du problème.\u003C\u002Fp>\n\u003Ch2>Comprendre le circuit de téléchargement dans PrestaShop\u003C\u002Fh2>\n\u003Cp>Avant de debugger, il faut comprendre comment PrestaShop gère les produits virtuels :\u003C\u002Fp>\n\u003Col>\n\u003Cli>**Upload** : le fichier est stocké dans le dossier `\u002Fdownload\u002F` à la racine de PrestaShop\u003C\u002Fli>\n\u003Cli>**Association** : le fichier est lié au produit via la table `ps_product_download`\u003C\u002Fli>\n\u003Cli>**Achat** : à la validation de commande, PrestaShop génère un hash unique de téléchargement\u003C\u002Fli>\n\u003Cli>**Livraison** : le client reçoit un lien avec ce hash, qui pointe vers `index.php?controller=get-file&key=HASH`\u003C\u002Fli>\n\u003Cli>**Streaming** : le contrôleur `GetFileController` lit le fichier et l'envoie au navigateur via `readfile()`\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Chacune de ces étapes peut être la source du problème.\u003C\u002Fp>\n\u003Ch2>Étape 1 : activer le mode debug\u003C\u002Fh2>\n\u003Cp>Premier réflexe indispensable — activer le mode debug pour voir si PrestaShop remonte des erreurs PHP silencieuses :\u003C\u002Fp>\n\u003Ch3>PrestaShop 1.7\u003C\u002Fh3>\n\u003Cp>Éditez 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\u003Ch3>PrestaShop 8.x\u003C\u002Fh3>\n\u003Cp>Modifiez le fichier \u003Ccode>.env\u003C\u002Fcode> à la racine du projet :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">\nAPP_DEBUG=1\nAPP_ENV=dev\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Une fois le debug activé, tentez à nouveau le téléchargement. Si une erreur PHP apparaît (memory limit, permission denied, file not found), vous avez votre piste.\u003C\u002Fp>\n\u003Ch2>Étape 2 : vérifier l'intégrité du fichier sur le serveur\u003C\u002Fh2>\n\u003Cp>Un fichier ZIP peut être corrompu à plusieurs moments : pendant l'upload, lors du transfert FTP, ou à cause d'un disque défectueux.\u003C\u002Fp>\n\u003Ch3>Vérifier que le fichier existe\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\">\nls -la \u002Fvar\u002Fwww\u002Fprestashop\u002Fdownload\u002F\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Repérez votre fichier. Son nom dans le dossier \u003Ccode>\u002Fdownload\u002F\u003C\u002Fcode> est hashé par PrestaShop. Pour retrouver la correspondance :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-sql\">\nSELECT id_product, display_filename, filename, nb_downloadable, date_add\nFROM ps_product_download\nWHERE active = 1\nORDER BY date_add DESC;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>La colonne \u003Ccode>filename\u003C\u002Fcode> correspond au nom hashé dans \u003Ccode>\u002Fdownload\u002F\u003C\u002Fcode>, tandis que \u003Ccode>display_filename\u003C\u002Fcode> est le nom original affiché au client.\u003C\u002Fp>\n\u003Ch3>Tester l'intégrité du ZIP côté serveur\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\">\n# Tester l'intégrité de l'archive\nunzip -t \u002Fvar\u002Fwww\u002Fprestashop\u002Fdownload\u002FHASH_DU_FICHIER\n\n# Vérifier la taille (comparer avec l'original)\nls -lh \u002Fvar\u002Fwww\u002Fprestashop\u002Fdownload\u002FHASH_DU_FICHIER\nmd5sum \u002Fvar\u002Fwww\u002Fprestashop\u002Fdownload\u002FHASH_DU_FICHIER\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Si \u003Ccode>unzip -t\u003C\u002Fcode> remonte des erreurs, le fichier est corrompu sur le serveur. Il faut le réuploader.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Point important\u003C\u002Fstrong> : testez toujours l'intégrité \u003Cstrong>côté serveur\u003C\u002Fstrong> avant de conclure. Si le fichier s'ouvre correctement sur le serveur mais pas après téléchargement, le problème vient du processus de streaming.\u003C\u002Fp>\n\u003Ch2>Étape 3 : le piège du output buffering\u003C\u002Fh2>\n\u003Cp>C'est la cause la plus fréquente et la plus sournoise. Si du contenu (même un espace ou un BOM UTF-8) est envoyé avant le fichier, il sera concaténé au début du flux binaire et corrompra le fichier.\u003C\u002Fp>\n\u003Ch3>Diagnostiquer\u003C\u002Fh3>\n\u003Cp>Téléchargez le fichier problématique et ouvrez-le dans un éditeur hexadécimal. Un fichier ZIP valide commence toujours par les octets \u003Ccode>50 4B 03 04\u003C\u002Fcode> (la signature \"PK\"). Si vous voyez des caractères avant cette signature, du contenu parasite est injecté.\u003C\u002Fp>\n\u003Ch3>Corriger\u003C\u002Fh3>\n\u003Cp>Dans le contrôleur de téléchargement, ou dans un override, assurez-vous de nettoyer le buffer avant l'envoi :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-php\">\n\u002F\u002F Nettoyer tout output buffer existant\nwhile (ob_get_level()) {\n    ob_end_clean();\n}\n\n\u002F\u002F Headers corrects pour un téléchargement binaire\nheader('Content-Type: application\u002Foctet-stream');\nheader('Content-Disposition: attachment; filename=\"' . $display_filename . '\"');\nheader('Content-Length: ' . filesize($file_path));\nheader('Content-Transfer-Encoding: binary');\nheader('Cache-Control: must-revalidate');\nheader('Pragma: public');\n\n\u002F\u002F Envoi du fichier\nreadfile($file_path);\nexit;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>PrestaShop 8.x : la méthode Symfony\u003C\u002Fh3>\n\u003Cp>Sur PrestaShop 8.x, privilégiez la réponse Symfony qui gère proprement le streaming :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-php\">\nuse Symfony\\Component\\HttpFoundation\\BinaryFileResponse;\nuse Symfony\\Component\\HttpFoundation\\ResponseHeaderBag;\n\n$response = new BinaryFileResponse($filePath);\n$response-&gt;setContentDisposition(\n    ResponseHeaderBag::DISPOSITION_ATTACHMENT,\n    $displayFilename\n);\n\nreturn $response;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Étape 4 : les limites serveur\u003C\u002Fh2>\n\u003Cp>Pour les fichiers volumineux, plusieurs paramètres PHP et serveur peuvent tronquer le téléchargement :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-ini\">\n; php.ini — valeurs recommandées pour des fichiers jusqu'à 256 Mo\nupload_max_filesize = 256M\npost_max_size = 256M\nmemory_limit = 512M\nmax_execution_time = 300\nmax_input_time = 300\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Pour Nginx, ajoutez dans votre bloc server :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-nginx\">\nclient_max_body_size 256M;\nproxy_read_timeout 300;\nsend_timeout 300;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Pour Apache, dans votre \u003Ccode>.htaccess\u003C\u002Fcode> ou VirtualHost :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-apache\">\nLimitRequestBody 268435456\nTimeOut 300\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Attention\u003C\u002Fstrong> : si vous utilisez un CDN (Cloudflare, etc.), vérifiez aussi les limites de taille de réponse côté CDN. Cloudflare Free limite les réponses à 100 Mo par défaut.\u003C\u002Fp>\n\u003Ch2>Étape 5 : le problème côté client\u003C\u002Fh2>\n\u003Cp>Avant de tout remettre en question côté serveur, il est pertinent de vérifier si le problème est côté client :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>**Tester sur un autre navigateur** : certains navigateurs peuvent interférer avec le téléchargement (extensions de sécurité, antivirus intégré)\u003C\u002Fli>\n\u003Cli>**Tester sur une autre machine** : un utilitaire de décompression défaillant ou obsolète peut être en cause\u003C\u002Fli>\n\u003Cli>**Vérifier la taille du fichier téléchargé** : comparez-la avec la taille attendue. Si elle diffère, le téléchargement a été tronqué\u003C\u002Fli>\n\u003Cli>**Logiciel de décompression** : l'utilitaire Windows natif est limité. Recommandez 7-Zip ou WinRAR à vos clients\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Étape 6 : sécuriser la configuration des produits virtuels\u003C\u002Fh2>\n\u003Cp>Dans le back-office, vérifiez ces paramètres essentiels :\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Préférences > Produits > Produits dématérialisés\u003C\u002Fstrong> (PS 1.7) ou \u003Cstrong>Paramètres de la boutique > Produits\u003C\u002Fstrong> (PS 8.x) :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>**Nombre de téléchargements autorisés** : ne mettez pas 0 (illimité) en production, limitez à 3-5 pour éviter les abus\u003C\u002Fli>\n\u003Cli>**Nombre de jours** : délai d'expiration du lien (30 jours recommandé)\u003C\u002Fli>\n\u003Cli>**Envoyer un e-mail avec le lien** : activez cette option pour que le client ait toujours accès au lien même s'il ferme son navigateur\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Checklist de diagnostic rapide\u003C\u002Fh2>\n\u003Cp>Voici l'ordre de vérification recommandé quand un client signale un fichier corrompu :\u003C\u002Fp>\n\u003Col>\n\u003Cli>**Mode debug activé** → erreur PHP visible ?\u003C\u002Fli>\n\u003Cli>**Fichier présent dans `\u002Fdownload\u002F`** → taille cohérente ?\u003C\u002Fli>\n\u003Cli>**`unzip -t` sur le serveur** → fichier intègre ?\u003C\u002Fli>\n\u003Cli>**Éditeur hexadécimal sur le fichier téléchargé** → octets parasites avant `PK` ?\u003C\u002Fli>\n\u003Cli>**Taille fichier serveur vs fichier téléchargé** → identique ?\u003C\u002Fli>\n\u003Cli>**Test sur autre navigateur\u002Fmachine** → reproductible ?\u003C\u002Fli>\n\u003Cli>**Logs serveur** (`error.log`) → timeout ou erreur ?\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Si le fichier est intact sur le serveur mais corrompu après téléchargement, le problème est presque toujours lié à l'output buffering ou aux headers HTTP.\u003C\u002Fp>",[38,41,44,47,50],{"q":39,"a":40},"Pourquoi mon fichier ZIP téléchargé depuis PrestaShop est-il corrompu ?","La cause la plus fréquente est un problème d'output buffering : du contenu PHP (espace, BOM UTF-8, message d'erreur) est injecté avant le flux binaire du fichier, ce qui corrompt l'archive. Ouvrez le fichier dans un éditeur hexadécimal : s'il ne commence pas par les octets 50 4B 03 04 (signature ZIP), du contenu parasite est présent. La solution consiste à nettoyer le buffer avec ob_end_clean() avant l'envoi du fichier.",{"q":42,"a":43},"Comment vérifier l'intégrité d'un fichier dématérialisé directement sur le serveur PrestaShop ?","Connectez-vous en SSH à votre serveur et exécutez la commande unzip -t suivie du chemin vers le fichier dans le dossier \u002Fdownload\u002F de PrestaShop. Le nom du fichier est hashé : pour retrouver la correspondance, consultez la table ps_product_download en base de données. Si le test d'intégrité échoue côté serveur, le fichier a été corrompu lors de l'upload et doit être réimporté.",{"q":45,"a":46},"Quelle taille maximale de fichier peut-on proposer en téléchargement sur PrestaShop ?","Il n'y a pas de limite côté PrestaShop, mais plusieurs paramètres serveur conditionnent la taille effective : upload_max_filesize et post_max_size dans php.ini pour l'upload, memory_limit pour le streaming, et client_max_body_size pour Nginx. Pour les fichiers volumineux (plus de 100 Mo), vérifiez aussi les limites de votre CDN éventuel. Configurez ces valeurs de façon cohérente et prévoyez un max_execution_time suffisant.",{"q":48,"a":49},"Comment configurer correctement les produits virtuels dans PrestaShop 8 ?","Dans Paramètres de la boutique > Produits, configurez un nombre limité de téléchargements (3 à 5), un délai d'expiration raisonnable (30 jours), et activez l'envoi d'e-mail avec le lien de téléchargement. Sur la fiche produit, assurez-vous que le fichier est bien associé dans l'onglet Produit virtuel et que la case 'Produit dématérialisé' est cochée. PrestaShop 8.x gère nativement le streaming via Symfony BinaryFileResponse, ce qui réduit les problèmes de corruption.",{"q":51,"a":52},"Le client peut télécharger mais le fichier ne s'ouvre pas : que faire ?","Demandez d'abord au client de vérifier la taille du fichier téléchargé et de la comparer avec la taille attendue. S'il y a un écart, le téléchargement a été interrompu. Ensuite, faites tester avec un logiciel de décompression tiers comme 7-Zip, car l'extracteur natif de Windows est parfois limité. Enfin, faites tester depuis un autre navigateur ou un autre appareil pour éliminer une cause locale (extension, antivirus, proxy d'entreprise).","Les erreurs d'ouverture de fichiers téléchargeables dans PrestaShop viennent le plus souvent d'un output buffering parasite qui corrompt le flux binaire, d'un fichier corrompu sur le serveur, ou de limites PHP\u002Fserveur trop restrictives. Activez le mode debug, testez l'intégrité du ZIP côté serveur avec unzip -t, et vérifiez les headers HTTP envoyés avant le fichier.",6,"2026-03-21T14:15:07.000Z",[],"PrestaShop pour les développeurs",{"columns":59},[60,76,106,127],{"title":61,"links":62},"Plateforme",[63,67,70,73],{"label":64,"href":65,"external":66},"Offre Starter (2 500 €)","\u002Foffre-starter",false,{"label":68,"href":69,"external":66},"Devenir Ambassadeur","\u002Fambassadeur",{"label":71,"href":72,"external":66},"Modules PrestaShop","\u002Fmodules",{"label":74,"href":75,"external":20},"CodeMyShop.com","https:\u002F\u002Fcodemyshop.com",{"title":77,"links":78},"Le Synedre",[79,82,85,88,91,94,97,100,103],{"label":80,"href":81,"external":66},"L'histoire","\u002Fsynedre",{"label":83,"href":84,"external":66},"Constitution","\u002Fsynedre\u002Fconstitution",{"label":86,"href":87,"external":66},"L'équipe","\u002Fequipe",{"label":89,"href":90,"external":66},"Le réacteur en direct","\u002Freacteur",{"label":92,"href":93,"external":66},"Le Drill (entraînement)","\u002Fdrill",{"label":95,"href":96,"external":66},"Protocole de réunion","\u002Fsynedre\u002Freunion",{"label":98,"href":99,"external":66},"Les agents IA","\u002Fagents-ia",{"label":101,"href":102,"external":66},"La Conduite","\u002Fsynedre\u002Fconduite",{"label":104,"href":105,"external":66},"Charte plateforme","\u002Fsynedre\u002Fcharte",{"title":107,"links":108},"Ressources",[109,112,115,118,121,124],{"label":110,"href":111,"external":66},"Blog","\u002Fblog",{"label":113,"href":114,"external":66},"Academy","\u002Facademy",{"label":116,"href":117,"external":66},"Dictionnaire","\u002Fdictionnaire",{"label":119,"href":120,"external":66},"Expertise PrestaShop","\u002Fexpertise",{"label":122,"href":123,"external":66},"Flywheel","\u002Fflywheel",{"label":125,"href":126,"external":66},"Manifeste","\u002Fmanifeste",{"title":128,"links":129},"À propos",[130,133,136],{"label":131,"href":132,"external":66},"Alexandre Carette","\u002Fa-propos",{"label":134,"href":135,"external":66},"Dossier de presse","\u002Fpresse",{"label":137,"href":138,"external":66},"Contact","\u002Fcontact",{"items":140},[141,150,156,162,170,178,184,189],{"id":142,"type":143,"label":144,"href":120,"icon":146,"description":146,"badge":146,"groupTitle":146,"style":146,"gridColumns":146,"cssClass":146,"psCategoryId":146,"showPsChildren":66,"position":147,"children":148,"psChildren":149},41,"link",{"fr":145},"Expertise",null,0,[],[],{"id":151,"type":143,"label":152,"href":111,"icon":146,"description":146,"badge":146,"groupTitle":146,"style":146,"gridColumns":146,"cssClass":146,"psCategoryId":146,"showPsChildren":66,"position":153,"children":154,"psChildren":155},42,{"fr":110},1,[],[],{"id":157,"type":143,"label":158,"href":72,"icon":146,"description":146,"badge":146,"groupTitle":146,"style":146,"gridColumns":146,"cssClass":146,"psCategoryId":146,"showPsChildren":66,"position":159,"children":160,"psChildren":161},43,{"fr":71},2,[],[],{"id":163,"type":143,"label":164,"href":166,"icon":146,"description":146,"badge":146,"groupTitle":146,"style":146,"gridColumns":146,"cssClass":146,"psCategoryId":146,"showPsChildren":66,"position":167,"children":168,"psChildren":169},44,{"fr":165},"Outils IA","\u002Foutils-ia",3,[],[],{"id":171,"type":143,"label":172,"href":65,"icon":146,"description":146,"badge":146,"groupTitle":146,"style":174,"gridColumns":146,"cssClass":146,"psCategoryId":146,"showPsChildren":66,"position":175,"children":176,"psChildren":177},45,{"fr":173},"Offre Starter ✨",{"highlight":20},4,[],[],{"id":179,"type":143,"label":180,"href":114,"icon":146,"description":146,"badge":146,"groupTitle":146,"style":146,"gridColumns":146,"cssClass":146,"psCategoryId":146,"showPsChildren":66,"position":181,"children":182,"psChildren":183},46,{"fr":113},5,[],[],{"id":185,"type":143,"label":186,"href":132,"icon":146,"description":146,"badge":146,"groupTitle":146,"style":146,"gridColumns":146,"cssClass":146,"psCategoryId":146,"showPsChildren":66,"position":54,"children":187,"psChildren":188},47,{"fr":128},[],[],{"id":190,"type":143,"label":191,"href":138,"icon":146,"description":146,"badge":146,"groupTitle":146,"style":146,"gridColumns":146,"cssClass":146,"psCategoryId":146,"showPsChildren":66,"position":192,"children":193,"psChildren":194},48,{"fr":137},7,[],[],{"academy":196,"blog":197,"expertise":208},[],[198,202,205],{"title":199,"url":200,"score":153,"type":201},"PrestaShop headless avec Nuxt 3 : pourquoi séparer back et front","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-separation-front-back","blog",{"title":203,"url":204,"score":153,"type":201},"PrestaShop headless : Nuxt 3, pas Next.js — le choix souverain","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-nextjs-souverainete",{"title":206,"url":207,"score":153,"type":201},"Sylius rachète PrestaShop : ce que ça change pour vous","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fsylius-rachat-prestashop-headless-souverainete",[],{"footer":210},{"theme":211,"description":146,"hours":146,"logo":212,"contact":215,"social":216,"bottomBar":226},"dark",{"src":213,"href":214,"alt":131},"\u002Flogo-ac.svg","\u002F",{"email":146,"phone":146,"address":146,"cta":146},[217,220,223],{"platform":218,"href":219,"label":218},"linkedin","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Falexandre-carette\u002F",{"platform":221,"href":222,"label":221},"malt","https:\u002F\u002Fwww.malt.fr\u002Fprofile\u002Falexandrecarette",{"platform":224,"href":225,"label":224},"github","https:\u002F\u002Fgithub.com\u002Fprest4cafe",{"copyright":146},{"header":228},{"logo":229,"topBar":232,"contactEmail":235,"features":236,"navBar":146},{"src":213,"alt":230,"text":131,"href":214,"class":231},"Alexandre Carette — Architecte E-commerce Souverain","h-10 w-10",{"message":146,"showLanguages":66,"align":233,"languages":234},"left",[],"contact@alexandrecarette.fr",{"showSearch":66,"showWishlist":66,"showLogin":20,"showContact":66,"showCart":66,"stickyHeader":20,"headerLayout":237},"inline"]