[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"theme-db":3,"$fkQMrRSq6LpCYgbe-n86HS9wmixLZVNsWHIoKPREScd0":22,"$fSZLCo1QR_HtmzkXX1p0qB0iVFCAOR3tO3tZuX9j-seQ":61,"$fKnz2vuX4bZz1LbUTiuFsvSZ3e07l5_5fqNYp4Tzdhi8":76,"megamenu":157,"header-db":212,"footer-db":225},{"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":34,"psVersions":35,"content":39,"faq":40,"tldr":56,"readingTime":57,"generatedAt":58,"publishDate":58,"relatedArticles":59,"sourceCategory":60},"Activer le zoom produit au clic plutôt qu'au survol sur PrestaShop","activer-zoom-image-produit-clic-prestashop","Découvrez comment configurer le zoom des images produit pour s'activer au clic plutôt qu'au survol sur PrestaShop 1.6 et les alternatives modernes pour PS 8.x.","developpement",[28,29,30,31,32,33],"zoom produit","jqzoom","product.js","fiche produit","UX mobile","images produit","intermediaire",[36,37,38],"1.6","1.7","8.x","\u003Ch2>Pourquoi passer le zoom au clic plutôt qu'au survol\u003C\u002Fh2>\n\u003Cp>Sur PrestaShop 1.6, le comportement par défaut des images produit repose sur le survol : dès que le curseur passe sur une vignette, l'image principale change et le zoom (JQZoom) s'active. Ce fonctionnement pose plusieurs problèmes concrets :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>**Sur mobile et tablette**, le survol n'existe pas. L'utilisateur touche l'écran, ce qui déclenche simultanément le changement d'image et parfois une navigation non souhaitée.\u003C\u002Fli>\n\u003Cli>**Sur desktop**, un simple passage involontaire de la souris sur les vignettes provoque des changements d'image intempestifs, ce qui dégrade l'expérience utilisateur.\u003C\u002Fli>\n\u003Cli>**Pour l'accessibilité**, un déclenchement au clic est plus prévisible et respecte mieux les attentes de l'utilisateur.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>La bonne nouvelle : cette modification ne nécessite pas de toucher à la librairie JQZoom elle-même. Le déclenchement est géré côté thème, dans le fichier JavaScript de la fiche produit.\u003C\u002Fp>\n\u003Ch2>Identifier le bon fichier à modifier\u003C\u002Fh2>\n\u003Ch3>PrestaShop 1.6 (thème default-bootstrap)\u003C\u002Fh3>\n\u003Cp>Le fichier responsable du comportement des images sur la fiche produit est :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-\">\n\u002Fthemes\u002Fdefault-bootstrap\u002Fjs\u002Fproduct.js\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>C'est un point crucial : \u003Cstrong>ne modifiez jamais la librairie JQZoom directement\u003C\u002Fstrong> (située dans \u003Ccode>\u002Fjs\u002Fjquery\u002Fplugins\u002Fjqzoom\u002F\u003C\u002Fcode>). Le déclenchement de l'affichage des images est géré par le thème, pas par le plugin de zoom lui-même. Modifier le plugin créerait des effets de bord imprévisibles et compliquerait les futures mises à jour.\u003C\u002Fp>\n\u003Ch3>Localiser le code responsable\u003C\u002Fh3>\n\u003Cp>Aux alentours de la ligne 258 du fichier \u003Ccode>product.js\u003C\u002Fcode>, vous trouverez le gestionnaire d'événements qui contrôle le changement d'image au survol des vignettes :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-javascript\">\n\u002F\u002F hover 'other views' images management\n$(document).on('mouseover', '#views_block li a', function(){\n    displayImage($(this));\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>C'est ce bloc qui déclenche \u003Ccode>displayImage()\u003C\u002Fcode> — la fonction qui met à jour l'image principale et réinitialise le zoom — à chaque passage de souris sur une vignette.\u003C\u002Fp>\n\u003Ch2>Modifier le déclenchement : du survol au clic\u003C\u002Fh2>\n\u003Ch3>Étape 1 : Créer un thème enfant (recommandé)\u003C\u002Fh3>\n\u003Cp>Avant toute modification, travaillez dans un thème enfant pour ne pas perdre vos changements lors d'une mise à jour :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">\ncp -r themes\u002Fdefault-bootstrap\u002Fjs\u002Fproduct.js themes\u002Fmon-theme-enfant\u002Fjs\u002Fproduct.js\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Étape 2 : Remplacer l'événement\u003C\u002Fh3>\n\u003Cp>Dans votre copie de \u003Ccode>product.js\u003C\u002Fcode>, remplacez le bloc identifié précédemment :\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Avant (survol) :\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-javascript\">\n$(document).on('mouseover', '#views_block li a', function(){\n    displayImage($(this));\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Après (clic) :\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-javascript\">\n$(document).on('click', '#views_block li a', function(e){\n    e.preventDefault();\n    displayImage($(this));\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Deux modifications importantes ici :\u003C\u002Fp>\n\u003Col>\n\u003Cli>**`mouseover` → `click`** : l'événement ne se déclenche plus au survol mais uniquement au clic.\u003C\u002Fli>\n\u003Cli>**`e.preventDefault()`** : empêche le comportement par défaut du lien (qui pourrait provoquer une navigation ou un scroll indésirable).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Étape 3 : Gérer le zoom JQZoom lui-même\u003C\u002Fh3>\n\u003Cp>Le changement ci-dessus concerne uniquement le basculement entre vignettes. Si vous souhaitez également que le \u003Cstrong>zoom loupe\u003C\u002Fstrong> sur l'image principale s'active au clic plutôt qu'au survol, il faut modifier l'initialisation de JQZoom dans le même fichier.\u003C\u002Fp>\n\u003Cp>Recherchez l'appel d'initialisation de \u003Ccode>jqzoom\u003C\u002Fcode> (généralement dans la fonction \u003Ccode>zoomProduct()\u003C\u002Fcode>) :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-javascript\">\n\u002F\u002F Configuration par défaut (survol)\n$('#bigpic').jqzoom({\n    zoomType: 'standard',\n    lens: true,\n    preloadImages: true,\n    alwaysOn: false\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Modifiez le paramètre \u003Ccode>zoomType\u003C\u002Fcode> pour un comportement au clic :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-javascript\">\n$('#bigpic').jqzoom({\n    zoomType: 'standard',\n    lens: true,\n    preloadImages: true,\n    alwaysOn: false,\n    showEffect: 'show',\n    hideEffect: 'hide'\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Pour un contrôle total au clic, vous pouvez désactiver le zoom automatique et le gérer manuellement :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-javascript\">\n\u002F\u002F Désactiver le zoom auto au survol\n$('#bigpic').off('mouseenter mouseover');\n\n\u002F\u002F Activer le zoom au clic\n$('#bigpic').on('click', function() {\n    $(this).toggleClass('zoom-active');\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Étape 4 : Ajouter un retour visuel\u003C\u002Fh3>\n\u003Cp>Puisque le changement ne se fait plus automatiquement au survol, ajoutez un indicateur visuel pour guider l'utilisateur :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-css\">\n\u002F* Curseur pointer sur les vignettes *\u002F\n#views_block li a {\n    cursor: pointer;\n}\n\n\u002F* Bordure sur la vignette active *\u002F\n#views_block li a.active,\n#views_block li a:focus {\n    border: 2px solid #333;\n    outline: none;\n}\n\n\u002F* Icône de zoom sur l'image principale *\u002F\n#image-block {\n    position: relative;\n}\n#image-block::after {\n    content: '\\f00e'; \u002F* icône loupe Font Awesome *\u002F\n    font-family: 'FontAwesome';\n    position: absolute;\n    bottom: 10px;\n    right: 10px;\n    font-size: 1.2rem;\n    color: rgba(0,0,0,0.4);\n    pointer-events: none;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Approche moderne : PrestaShop 1.7 et 8.x\u003C\u002Fh2>\n\u003Cp>À partir de PrestaShop 1.7, l'architecture front-end a profondément changé. JQZoom a été abandonné au profit de solutions plus modernes.\u003C\u002Fp>\n\u003Ch3>PrestaShop 1.7\u003C\u002Fh3>\n\u003Cp>Le thème \u003Ccode>classic\u003C\u002Fcode> utilise une approche différente avec le fichier :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-\">\n\u002Fthemes\u002Fclassic\u002Fassets\u002Fjs\u002Fcustom.js\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Le zoom est géré via des événements JavaScript natifs ou des librairies comme \u003Cstrong>EasyZoom\u003C\u002Fstrong> ou \u003Cstrong>Drift\u003C\u002Fstrong>. Le changement de vignettes est déjà basé sur le clic par défaut dans la plupart des thèmes 1.7.\u003C\u002Fp>\n\u003Ch3>PrestaShop 8.x\u003C\u002Fh3>\n\u003Cp>Sur PS 8.x, le thème \u003Ccode>classic\u003C\u002Fcode> a encore évolué. Les images produit sont gérées par le composant \u003Ccode>product-images\u003C\u002Fcode> qui écoute nativement les événements \u003Ccode>click\u003C\u002Fcode>. Si vous utilisez un thème personnalisé, vérifiez le fichier :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-\">\n\u002Fthemes\u002Fvotre-theme\u002F_dev\u002Fjs\u002Fproduct.js\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>La configuration du zoom se fait souvent via des attributs \u003Ccode>data-*\u003C\u002Fcode> sur les éléments HTML :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-html\">\n&lt;div class=\"images-container\" \n     data-zoom-type=\"click\" \n     data-zoom-enabled=\"true\"&gt;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Si votre thème 8.x utilise encore un zoom au survol, la modification se fait dans le JavaScript compilé du thème. Après modification des sources dans \u003Ccode>_dev\u002Fjs\u002F\u003C\u002Fcode>, recompilez avec :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">\ncd themes\u002Fvotre-theme\u002F_dev\nnpm install\nnpm run build\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Bonnes pratiques et pièges à éviter\u003C\u002Fh2>\n\u003Ch3>Ne jamais modifier les fichiers core\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>**Pas de modification dans `\u002Fjs\u002Fjquery\u002Fplugins\u002F`** : ces fichiers sont écrasés à chaque mise à jour.\u003C\u002Fli>\n\u003Cli>**Pas de modification dans `\u002Fthemes\u002Fdefault-bootstrap\u002F`** si vous n'utilisez pas de thème enfant.\u003C\u002Fli>\n\u003Cli>Privilégiez toujours un override via le thème plutôt qu'un patch du core.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Tester sur tous les devices\u003C\u002Fh3>\n\u003Cp>Après modification, testez impérativement :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>**Desktop** : le clic fonctionne, le survol ne déclenche plus rien.\u003C\u002Fli>\n\u003Cli>**Tablette** : le tap change bien l'image, pas de double-tap nécessaire.\u003C\u002Fli>\n\u003Cli>**Mobile** : le comportement est fluide, pas de conflit avec le scroll tactile.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Performance\u003C\u002Fh3>\n\u003Cp>Si vous supprimez le survol au profit du clic, vous pouvez également désactiver le \u003Ccode>preloadImages\u003C\u002Fcode> de JQZoom pour les vignettes non consultées, ce qui améliore le temps de chargement initial :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-javascript\">\n$('#bigpic').jqzoom({\n    zoomType: 'standard',\n    preloadImages: false, \u002F\u002F charge uniquement au clic\n    lens: true\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Résumé des modifications\u003C\u002Fh2>\n\u003Ctr>\u003Cth>Version PS\u003C\u002Fth>\u003Cth>Fichier à modifier\u003C\u002Fth>\u003Cth>Événement à changer\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>1.6\u003C\u002Fth>\u003Cth>`\u002Fthemes\u002Fvotre-theme\u002Fjs\u002Fproduct.js` (ligne ~258)\u003C\u002Fth>\u003Cth>`mouseover` → `click`\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>1.7\u003C\u002Fth>\u003Cth>`\u002Fthemes\u002Fvotre-theme\u002Fassets\u002Fjs\u002Fcustom.js`\u003C\u002Fth>\u003Cth>Varie selon le thème\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>8.x\u003C\u002Fth>\u003Cth>`\u002Fthemes\u002Fvotre-theme\u002F_dev\u002Fjs\u002Fproduct.js`\u003C\u002Fth>\u003Cth>Recompilation nécessaire\u003C\u002Fth>\u003C\u002Ftr>",[41,44,47,50,53],{"q":42,"a":43},"Peut-on activer le zoom au clic sans modifier le fichier product.js directement ?","Oui, vous pouvez ajouter un script JavaScript personnalisé via un module ou dans le fichier custom.js de votre thème. L'idée est de supprimer le listener mouseover existant avec jQuery .off() puis de rebinder l'événement click sur le même sélecteur. Cette approche est moins invasive et survit mieux aux mises à jour du thème.",{"q":45,"a":46},"Le zoom au clic fonctionne-t-il correctement sur mobile et tablette ?","Oui, et c'est précisément l'un des avantages majeurs de cette modification. Sur les appareils tactiles, le tap est naturellement interprété comme un clic. En revanche, le survol (hover) sur mobile provoque souvent un comportement incohérent : le premier tap déclenche le hover, le second le clic. Passer au clic élimine ce problème et rend la navigation produit plus intuitive sur tous les devices.",{"q":48,"a":49},"Faut-il modifier la librairie JQZoom pour changer le déclenchement du zoom ?","Non, et c'est une erreur fréquente. La librairie JQZoom gère uniquement le rendu du zoom (loupe, fenêtre de zoom). Le déclenchement du changement d'image entre vignettes est géré par le thème PrestaShop dans le fichier product.js. Modifier directement les fichiers du plugin dans \u002Fjs\u002Fjquery\u002Fplugins\u002Fjqzoom\u002F risque de casser d'autres fonctionnalités et sera écrasé lors des mises à jour.",{"q":51,"a":52},"Comment revenir au comportement par défaut (zoom au survol) si le clic ne convient pas ?","Il suffit de restaurer le fichier product.js original de votre thème. Si vous travaillez avec un thème enfant, supprimez simplement votre copie modifiée de product.js : PrestaShop utilisera automatiquement le fichier du thème parent. Si vous avez modifié le fichier directement, utilisez git checkout pour restaurer la version d'origine ou réinstallez le thème.",{"q":54,"a":55},"Cette modification impacte-t-elle le SEO ou le référencement des images produit ?","Non, cette modification est purement côté client (JavaScript) et n'a aucun impact sur le SEO. Les images produit restent accessibles aux robots d'indexation via les balises img et les attributs alt. En revanche, une meilleure expérience utilisateur sur mobile peut indirectement améliorer vos Core Web Vitals, notamment le CLS (Cumulative Layout Shift) si le zoom au survol provoquait des décalages visuels non intentionnels.","Sur PrestaShop 1.6, le zoom et le changement d'image produit au survol se modifient dans le fichier product.js du thème (ligne ~258) en remplaçant l'événement mouseover par click — sans jamais toucher à la librairie JQZoom. Sur PS 1.7+ et 8.x, le clic est souvent le comportement par défaut.",6,"2026-03-21T15:36:03.000Z",[],"PrestaShop pour les développeurs",{"academy":62,"blog":63,"expertise":75},[],[64,69,72],{"title":65,"url":66,"score":67,"type":68},"PrestaShop headless avec Nuxt 3 : pourquoi séparer back et front","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-separation-front-back",1,"blog",{"title":70,"url":71,"score":67,"type":68},"PrestaShop headless : Nuxt 3, pas Next.js — le choix souverain","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-nextjs-souverainete",{"title":73,"url":74,"score":67,"type":68},"Sylius rachète PrestaShop : ce que ça change pour vous","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fsylius-rachat-prestashop-headless-souverainete",[],{"columns":77},[78,94,124,145],{"title":79,"links":80},"Plateforme",[81,85,88,91],{"label":82,"href":83,"external":84},"Offre Starter (2 500 €)","\u002Foffre-starter",false,{"label":86,"href":87,"external":84},"Devenir Ambassadeur","\u002Fambassadeur",{"label":89,"href":90,"external":84},"Modules PrestaShop","\u002Fmodules",{"label":92,"href":93,"external":20},"CodeMyShop.com","https:\u002F\u002Fcodemyshop.com",{"title":95,"links":96},"Le Synedre",[97,100,103,106,109,112,115,118,121],{"label":98,"href":99,"external":84},"L'histoire","\u002Fsynedre",{"label":101,"href":102,"external":84},"Constitution","\u002Fsynedre\u002Fconstitution",{"label":104,"href":105,"external":84},"L'équipe","\u002Fequipe",{"label":107,"href":108,"external":84},"Le réacteur en direct","\u002Freacteur",{"label":110,"href":111,"external":84},"Le Drill (entraînement)","\u002Fdrill",{"label":113,"href":114,"external":84},"Protocole de réunion","\u002Fsynedre\u002Freunion",{"label":116,"href":117,"external":84},"Les agents IA","\u002Fagents-ia",{"label":119,"href":120,"external":84},"La Conduite","\u002Fsynedre\u002Fconduite",{"label":122,"href":123,"external":84},"Charte plateforme","\u002Fsynedre\u002Fcharte",{"title":125,"links":126},"Ressources",[127,130,133,136,139,142],{"label":128,"href":129,"external":84},"Blog","\u002Fblog",{"label":131,"href":132,"external":84},"Academy","\u002Facademy",{"label":134,"href":135,"external":84},"Dictionnaire","\u002Fdictionnaire",{"label":137,"href":138,"external":84},"Expertise PrestaShop","\u002Fexpertise",{"label":140,"href":141,"external":84},"Flywheel","\u002Fflywheel",{"label":143,"href":144,"external":84},"Manifeste","\u002Fmanifeste",{"title":146,"links":147},"À propos",[148,151,154],{"label":149,"href":150,"external":84},"Alexandre Carette","\u002Fa-propos",{"label":152,"href":153,"external":84},"Dossier de presse","\u002Fpresse",{"label":155,"href":156,"external":84},"Contact","\u002Fcontact",{"items":158},[159,168,173,179,187,195,201,206],{"id":160,"type":161,"label":162,"href":138,"icon":164,"description":164,"badge":164,"groupTitle":164,"style":164,"gridColumns":164,"cssClass":164,"psCategoryId":164,"showPsChildren":84,"position":165,"children":166,"psChildren":167},41,"link",{"fr":163},"Expertise",null,0,[],[],{"id":169,"type":161,"label":170,"href":129,"icon":164,"description":164,"badge":164,"groupTitle":164,"style":164,"gridColumns":164,"cssClass":164,"psCategoryId":164,"showPsChildren":84,"position":67,"children":171,"psChildren":172},42,{"fr":128},[],[],{"id":174,"type":161,"label":175,"href":90,"icon":164,"description":164,"badge":164,"groupTitle":164,"style":164,"gridColumns":164,"cssClass":164,"psCategoryId":164,"showPsChildren":84,"position":176,"children":177,"psChildren":178},43,{"fr":89},2,[],[],{"id":180,"type":161,"label":181,"href":183,"icon":164,"description":164,"badge":164,"groupTitle":164,"style":164,"gridColumns":164,"cssClass":164,"psCategoryId":164,"showPsChildren":84,"position":184,"children":185,"psChildren":186},44,{"fr":182},"Outils IA","\u002Foutils-ia",3,[],[],{"id":188,"type":161,"label":189,"href":83,"icon":164,"description":164,"badge":164,"groupTitle":164,"style":191,"gridColumns":164,"cssClass":164,"psCategoryId":164,"showPsChildren":84,"position":192,"children":193,"psChildren":194},45,{"fr":190},"Offre Starter ✨",{"highlight":20},4,[],[],{"id":196,"type":161,"label":197,"href":132,"icon":164,"description":164,"badge":164,"groupTitle":164,"style":164,"gridColumns":164,"cssClass":164,"psCategoryId":164,"showPsChildren":84,"position":198,"children":199,"psChildren":200},46,{"fr":131},5,[],[],{"id":202,"type":161,"label":203,"href":150,"icon":164,"description":164,"badge":164,"groupTitle":164,"style":164,"gridColumns":164,"cssClass":164,"psCategoryId":164,"showPsChildren":84,"position":57,"children":204,"psChildren":205},47,{"fr":146},[],[],{"id":207,"type":161,"label":208,"href":156,"icon":164,"description":164,"badge":164,"groupTitle":164,"style":164,"gridColumns":164,"cssClass":164,"psCategoryId":164,"showPsChildren":84,"position":209,"children":210,"psChildren":211},48,{"fr":155},7,[],[],{"header":213},{"logo":214,"topBar":219,"contactEmail":222,"features":223,"navBar":164},{"src":215,"alt":216,"text":149,"href":217,"class":218},"\u002Flogo-ac.svg","Alexandre Carette — Architecte E-commerce Souverain","\u002F","h-10 w-10",{"message":164,"showLanguages":84,"align":220,"languages":221},"left",[],"contact@alexandrecarette.fr",{"showSearch":84,"showWishlist":84,"showLogin":20,"showContact":84,"showCart":84,"stickyHeader":20,"headerLayout":224},"inline",{"footer":226},{"theme":227,"description":164,"hours":164,"logo":228,"contact":229,"social":230,"bottomBar":240},"dark",{"src":215,"href":217,"alt":149},{"email":164,"phone":164,"address":164,"cta":164},[231,234,237],{"platform":232,"href":233,"label":232},"linkedin","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Falexandre-carette\u002F",{"platform":235,"href":236,"label":235},"malt","https:\u002F\u002Fwww.malt.fr\u002Fprofile\u002Falexandrecarette",{"platform":238,"href":239,"label":238},"github","https:\u002F\u002Fgithub.com\u002Fprest4cafe",{"copyright":164}]