[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"theme-db":3,"$f3BuuDauavQyjpoTEQ5rpXJ_OpkbqrH1j0XfPEO3ptKE":22,"$fKnz2vuX4bZz1LbUTiuFsvSZ3e07l5_5fqNYp4Tzdhi8":67,"megamenu":148,"$fphG-8aSAyj8KchHtmgYO99dHBz3xh50Ff_0kJtgZu6g":204,"header-db":218,"footer-db":231},{"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":62,"readingTime":63,"generatedAt":64,"publishDate":64,"relatedArticles":65,"sourceCategory":66},"Afficher l'ancien prix unitaire dans PrestaShop avec Smarty","afficher-ancien-prix-unitaire-prestashop-smarty","Comment afficher le prix unitaire avant réduction dans PrestaShop : calcul Smarty, ratio unit_price_ratio et bonnes pratiques pour les fiches produit.","developpement",[28,29,30,31,32,33],"smarty","prix-unitaire","template","unit-price-ratio","fiche-produit","reduction","intermediaire",[36,37,38],"1.6","1.7","8.x","\u003Ch2>Comprendre le prix unitaire et le ratio dans PrestaShop\u003C\u002Fh2>\n\u003Cp>Le prix unitaire est une obligation légale pour de nombreux produits vendus au poids, au litre ou à la pièce. PrestaShop gère cette notion via le champ \u003Ccode>unit_price_ratio\u003C\u002Fcode>, qui représente le rapport entre le prix du produit et le prix à l'unité de référence.\u003C\u002Fp>\n\u003Cp>Concrètement, si vous vendez un lot de 6 bouteilles à 30 €, le \u003Ccode>unit_price_ratio\u003C\u002Fcode> sera de 6, et le prix unitaire affiché sera de 5 € la bouteille.\u003C\u002Fp>\n\u003Cp>Le problème survient lorsqu'une réduction est appliquée au produit : PrestaShop affiche bien le nouveau prix unitaire réduit, mais \u003Cstrong>n'affiche pas par défaut l'ancien prix unitaire barré\u003C\u002Fstrong>. Pour les marchands soumis à la réglementation sur l'affichage des prix (directive Omnibus notamment), c'est un manque qu'il faut combler.\u003C\u002Fp>\n\u003Ch2>Vérifier que le ratio est bien disponible dans le template\u003C\u002Fh2>\n\u003Cp>Avant toute modification de template, la première étape est de s'assurer que la variable \u003Ccode>unit_price_ratio\u003C\u002Fcode> est bien assignée et accessible dans Smarty.\u003C\u002Fp>\n\u003Ch3>Activer le mode debug Smarty\u003C\u002Fh3>\n\u003Cp>Dans le back-office PrestaShop, activez le mode debug pour inspecter les variables disponibles :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>**PrestaShop 1.6\u002F1.7** : Préférences avancées → Performance → Mode debug\u003C\u002Fli>\n\u003Cli>**PrestaShop 8.x** : Paramètres avancés → Performances → Mode debug\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Vous pouvez aussi ajouter temporairement dans votre template :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-smarty\">\n{* Debug : afficher toutes les variables produit disponibles *}\n{$product|print_r}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Vérifiez que \u003Ccode>unit_price_ratio\u003C\u002Fcode> contient bien une valeur numérique supérieure à 0. Si ce n'est pas le cas, le prix unitaire n'a pas été configuré dans la fiche produit (onglet Prix → Prix par unité).\u003C\u002Fp>\n\u003Ch2>Calculer et afficher l'ancien prix unitaire (PrestaShop 1.6)\u003C\u002Fh2>\n\u003Cp>Dans PrestaShop 1.6, les templates utilisent Smarty. Le calcul de l'ancien prix unitaire se fait avec le plugin \u003Ccode>{math}\u003C\u002Fcode> de Smarty.\u003C\u002Fp>\n\u003Ch3>Le principe du calcul\u003C\u002Fh3>\n\u003Cp>Le prix unitaire avant réduction se calcule ainsi :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-\">\nancien_prix_unitaire = prix_sans_réduction \u002F unit_price_ratio\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Où :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>`prix_sans_réduction` correspond à `$product.price_without_reduction` (prix TTC avant réduction)\u003C\u002Fli>\n\u003Cli>`unit_price_ratio` correspond à `$product.unit_price_ratio`\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Implémentation Smarty\u003C\u002Fh3>\n\u003Cp>Voici le code à intégrer dans votre template \u003Ccode>product.tpl\u003C\u002Fcode> (ou le fichier correspondant de votre thème), à l'endroit où vous souhaitez afficher l'ancien prix unitaire :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-smarty\">\n{if $product.unit_price_ratio|intval && $product.reduction|intval}\n  {* Calcul de l'ancien prix unitaire avant réduction *}\n  {math equation=\"price \u002F ratio\"\n        price=$product.price_without_reduction\n        ratio=$product.unit_price_ratio\n        assign=oldUnitPrice}\n\n  &lt;span class=\"old-unit-price\" style=\"text-decoration: line-through;\"&gt;\n    {convertPrice price=$oldUnitPrice}\n  &lt;\u002Fspan&gt;\n{\u002Fif}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Points importants :\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Col>\n\u003Cli>**Déclarez toujours vos variables avant l'équation** dans le tag `{math}`. Passer directement les variables Smarty dans l'attribut `equation` sans les déclarer via des paramètres nommés provoque des erreurs de calcul silencieuses.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Col>\n\u003Cli>**Le filtre `|intval`** sur `unit_price_ratio` permet de vérifier que la valeur est un entier non nul, évitant ainsi une division par zéro.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Col>\n\u003Cli>**`{convertPrice}`** formate automatiquement le montant selon la devise active de la boutique.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Variante avec prix HT et TTC\u003C\u002Fh3>\n\u003Cp>Si vous devez gérer les deux affichages (HT et TTC), déclarez les variables séparément :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-smarty\">\n{if $product.unit_price_ratio|intval && $product.reduction|intval}\n  {* Ancien prix unitaire TTC *}\n  {math equation=\"price \u002F ratio\"\n        price=$product.price_without_reduction\n        ratio=$product.unit_price_ratio\n        assign=oldUnitPriceTTC}\n\n  {* Ancien prix unitaire HT *}\n  {math equation=\"price \u002F ratio\"\n        price=$product.price_without_reduction_without_tax\n        ratio=$product.unit_price_ratio\n        assign=oldUnitPriceHT}\n\n  &lt;span class=\"old-unit-price\"&gt;\n    &lt;del&gt;{convertPrice price=$oldUnitPriceTTC}&lt;\u002Fdel&gt;\n    &lt;small&gt;TTC&lt;\u002Fsmall&gt;\n  &lt;\u002Fspan&gt;\n{\u002Fif}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Adaptation pour PrestaShop 1.7 et 8.x\u003C\u002Fh2>\n\u003Cp>À partir de PrestaShop 1.7, le moteur de template reste Smarty mais la structure des données produit a changé. Les variables sont accessibles différemment.\u003C\u002Fp>\n\u003Ch3>PrestaShop 1.7\u003C\u002Fh3>\n\u003Cp>Dans les templates 1.7, le prix unitaire est accessible via le tableau \u003Ccode>$product.unit_price_full\u003C\u002Fcode> :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-smarty\">\n{if $product.has_discount && $product.unit_price_ratio &gt; 0}\n  {math equation=\"price \u002F ratio\"\n        price=$product.price_without_reduction\n        ratio=$product.unit_price_ratio\n        assign=oldUnitPrice}\n\n  &lt;span class=\"regular-price\"&gt;\n    {convertPrice price=$oldUnitPrice}\n    {if $product.unity}\n      \u002F {$product.unity}\n    {\u002Fif}\n  &lt;\u002Fspan&gt;\n{\u002Fif}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>PrestaShop 8.x\u003C\u002Fh3>\n\u003Cp>PrestaShop 8.x conserve la compatibilité Smarty mais encourage la migration vers des approches plus modernes. Le calcul reste identique, mais vérifiez la structure de données dans votre version spécifique :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-smarty\">\n{* Compatible PrestaShop 8.x *}\n{if isset($product.unit_price_ratio) && $product.unit_price_ratio &gt; 1 && $product.has_discount}\n  {math equation=\"price \u002F ratio\"\n        price=$product.price_without_reduction\n        ratio=$product.unit_price_ratio\n        assign=oldUnitPrice}\n\n  &lt;div class=\"old-unit-price\"&gt;\n    &lt;del&gt;{convertPrice price=$oldUnitPrice}&lt;\u002Fdel&gt;\n    {if isset($product.unity) && $product.unity}\n      &lt;span class=\"unity\"&gt;\u002F {$product.unity}&lt;\u002Fspan&gt;\n    {\u002Fif}\n  &lt;\u002Fdiv&gt;\n{\u002Fif}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Bonnes pratiques et pièges à éviter\u003C\u002Fh2>\n\u003Ch3>1. Division par zéro\u003C\u002Fh3>\n\u003Cp>Toujours vérifier que \u003Ccode>unit_price_ratio\u003C\u002Fcode> est supérieur à 0 avant de l'utiliser comme diviseur. Un ratio à 0 signifie que le prix unitaire n'est pas configuré.\u003C\u002Fp>\n\u003Ch3>2. Déclaration des variables dans `{math}`\u003C\u002Fh3>\n\u003Cp>Le plugin Smarty \u003Ccode>{math}\u003C\u002Fcode> exige que les variables soient passées comme paramètres nommés, pas directement dans l'équation. Cette syntaxe est \u003Cstrong>incorrecte\u003C\u002Fstrong> :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-smarty\">\n{* ❌ NE PAS FAIRE *}\n{math equation=\"$product.price_without_reduction \u002F $product.unit_price_ratio\"}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Utilisez toujours des alias :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-smarty\">\n{* ✅ CORRECT *}\n{math equation=\"a \u002F b\" a=$product.price_without_reduction b=$product.unit_price_ratio assign=result}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>3. Cache et recalcul\u003C\u002Fh3>\n\u003Cp>Si vous modifiez un template lié aux prix, pensez à :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Vider le cache Smarty (Paramètres avancés → Performances → Vider le cache)\u003C\u002Fli>\n\u003Cli>Désactiver temporairement le cache pendant le développement\u003C\u002Fli>\n\u003Cli>Vérifier en navigation privée pour éviter le cache navigateur\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4. Conformité directive Omnibus (UE)\u003C\u002Fh3>\n\u003Cp>Depuis janvier 2022, la directive Omnibus impose d'afficher le prix le plus bas pratiqué dans les 30 derniers jours avant toute annonce de réduction. Le prix unitaire barré doit refléter cette règle. PrestaShop 8.x intègre nativement un module de gestion Omnibus — vérifiez sa configuration si vous êtes concerné.\u003C\u002Fp>\n\u003Ch2>Approche alternative : override du ProductPresenter\u003C\u002Fh2>\n\u003Cp>Pour une solution plus propre et maintenable, notamment sur PrestaShop 1.7+, vous pouvez créer un override du \u003Ccode>ProductPresenter\u003C\u002Fcode> pour ajouter l'ancien prix unitaire directement dans les données du produit :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-php\">\n&lt;?php\n\u002F\u002F override\u002Fclasses\u002FProductPresenterFactory.php\n\u002F\u002F ou via un module custom\n\nuse PrestaShop\\PrestaShop\\Adapter\\Presenter\\Product\\ProductPresenter;\n\nclass ProductPresenterOverride extends ProductPresenter\n{\n    public function present($product)\n    {\n        $presented = parent::present($product);\n\n        if (isset($presented['unit_price_ratio'])\n            && $presented['unit_price_ratio'] &gt; 0\n            && isset($presented['has_discount'])\n            && $presented['has_discount']) {\n\n            $presented['old_unit_price'] =\n                $presented['price_without_reduction']\n                \u002F $presented['unit_price_ratio'];\n        }\n\n        return $presented;\n    }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Cette approche sépare la logique métier du template et facilite la maintenance lors des mises à jour de PrestaShop.\u003C\u002Fp>",[41,44,47,50,53,56,59],{"q":42,"a":43},"Comment calculer le prix unitaire avant réduction dans PrestaShop ?","Le prix unitaire avant réduction se calcule en divisant le prix du produit sans réduction (price_without_reduction) par le ratio de prix unitaire (unit_price_ratio). En Smarty, utilisez le plugin {math} avec l'équation equation=\"price \u002F ratio\" en déclarant chaque variable comme paramètre nommé, puis affichez le résultat avec {convertPrice}.",{"q":45,"a":46},"Pourquoi le prix unitaire barré ne s'affiche pas dans mon thème PrestaShop ?","Par défaut, la plupart des thèmes PrestaShop n'affichent pas l'ancien prix unitaire quand une réduction est appliquée. Vous devez modifier le template product.tpl de votre thème pour ajouter le calcul manuellement. Vérifiez aussi que le prix unitaire est bien configuré dans la fiche produit (onglet Prix → Prix par unité) et que unit_price_ratio contient une valeur supérieure à 0.",{"q":48,"a":49},"Quelle est la syntaxe correcte du plugin {math} en Smarty pour PrestaShop ?","Le plugin {math} de Smarty nécessite de déclarer chaque variable comme paramètre nommé, pas directement dans l'équation. La syntaxe correcte est : {math equation=\"a \u002F b\" a=$product.price_without_reduction b=$product.unit_price_ratio assign=resultat}. Passer des variables Smarty directement dans l'attribut equation provoque des erreurs de calcul silencieuses.",{"q":51,"a":52},"Le prix unitaire est-il obligatoire sur une boutique PrestaShop en France ?","Oui, l'affichage du prix unitaire est obligatoire en France pour les produits vendus en quantité (poids, volume, longueur). Le Code de la consommation (article L112-1) impose d'afficher le prix à l'unité de mesure. De plus, depuis la directive Omnibus (2022), toute annonce de réduction doit afficher le prix le plus bas pratiqué dans les 30 jours précédents, y compris le prix unitaire.",{"q":54,"a":55},"Comment afficher le prix unitaire en HT et TTC dans PrestaShop ?","Utilisez deux calculs {math} séparés : un avec price_without_reduction pour le TTC et un avec price_without_reduction_without_tax pour le HT, chacun divisé par unit_price_ratio. Assignez les résultats à deux variables distinctes (oldUnitPriceTTC et oldUnitPriceHT) puis affichez-les avec {convertPrice} selon le contexte de votre boutique (B2B ou B2C).",{"q":57,"a":58},"Comment vérifier que unit_price_ratio est bien disponible dans mon template Smarty ?","Activez le mode debug de Smarty dans Paramètres avancés → Performances, puis ajoutez {$product|print_r} dans votre template pour inspecter toutes les variables disponibles. Vous pouvez aussi utiliser {$product.unit_price_ratio|var_dump} pour vérifier spécifiquement la valeur du ratio. Si la valeur est 0 ou absente, configurez le prix unitaire dans l'onglet Prix de la fiche produit.",{"q":60,"a":61},"La modification du prix unitaire fonctionne-t-elle avec PrestaShop 8 ?","Oui, le calcul via {math} en Smarty reste compatible avec PrestaShop 8.x. Cependant, vérifiez la structure des données produit car certaines variables ont évolué. PrestaShop 8 intègre aussi nativement la gestion de la directive Omnibus via un module dédié, ce qui peut simplifier l'affichage des anciens prix unitaires sans modification de template.","Pour afficher l'ancien prix unitaire barré dans PrestaShop, divisez le prix sans réduction par le unit_price_ratio via le plugin Smarty {math}, en déclarant toujours les variables comme paramètres nommés pour éviter les erreurs de calcul silencieuses.",5,"2026-03-21T14:11:44.000Z",[],"PrestaShop pour les développeurs",{"columns":68},[69,85,115,136],{"title":70,"links":71},"Plateforme",[72,76,79,82],{"label":73,"href":74,"external":75},"Offre Starter (2 500 €)","\u002Foffre-starter",false,{"label":77,"href":78,"external":75},"Devenir Ambassadeur","\u002Fambassadeur",{"label":80,"href":81,"external":75},"Modules PrestaShop","\u002Fmodules",{"label":83,"href":84,"external":20},"CodeMyShop.com","https:\u002F\u002Fcodemyshop.com",{"title":86,"links":87},"Le Synedre",[88,91,94,97,100,103,106,109,112],{"label":89,"href":90,"external":75},"L'histoire","\u002Fsynedre",{"label":92,"href":93,"external":75},"Constitution","\u002Fsynedre\u002Fconstitution",{"label":95,"href":96,"external":75},"L'équipe","\u002Fequipe",{"label":98,"href":99,"external":75},"Le réacteur en direct","\u002Freacteur",{"label":101,"href":102,"external":75},"Le Drill (entraînement)","\u002Fdrill",{"label":104,"href":105,"external":75},"Protocole de réunion","\u002Fsynedre\u002Freunion",{"label":107,"href":108,"external":75},"Les agents IA","\u002Fagents-ia",{"label":110,"href":111,"external":75},"La Conduite","\u002Fsynedre\u002Fconduite",{"label":113,"href":114,"external":75},"Charte plateforme","\u002Fsynedre\u002Fcharte",{"title":116,"links":117},"Ressources",[118,121,124,127,130,133],{"label":119,"href":120,"external":75},"Blog","\u002Fblog",{"label":122,"href":123,"external":75},"Academy","\u002Facademy",{"label":125,"href":126,"external":75},"Dictionnaire","\u002Fdictionnaire",{"label":128,"href":129,"external":75},"Expertise PrestaShop","\u002Fexpertise",{"label":131,"href":132,"external":75},"Flywheel","\u002Fflywheel",{"label":134,"href":135,"external":75},"Manifeste","\u002Fmanifeste",{"title":137,"links":138},"À propos",[139,142,145],{"label":140,"href":141,"external":75},"Alexandre Carette","\u002Fa-propos",{"label":143,"href":144,"external":75},"Dossier de presse","\u002Fpresse",{"label":146,"href":147,"external":75},"Contact","\u002Fcontact",{"items":149},[150,159,165,171,179,187,192,198],{"id":151,"type":152,"label":153,"href":129,"icon":155,"description":155,"badge":155,"groupTitle":155,"style":155,"gridColumns":155,"cssClass":155,"psCategoryId":155,"showPsChildren":75,"position":156,"children":157,"psChildren":158},41,"link",{"fr":154},"Expertise",null,0,[],[],{"id":160,"type":152,"label":161,"href":120,"icon":155,"description":155,"badge":155,"groupTitle":155,"style":155,"gridColumns":155,"cssClass":155,"psCategoryId":155,"showPsChildren":75,"position":162,"children":163,"psChildren":164},42,{"fr":119},1,[],[],{"id":166,"type":152,"label":167,"href":81,"icon":155,"description":155,"badge":155,"groupTitle":155,"style":155,"gridColumns":155,"cssClass":155,"psCategoryId":155,"showPsChildren":75,"position":168,"children":169,"psChildren":170},43,{"fr":80},2,[],[],{"id":172,"type":152,"label":173,"href":175,"icon":155,"description":155,"badge":155,"groupTitle":155,"style":155,"gridColumns":155,"cssClass":155,"psCategoryId":155,"showPsChildren":75,"position":176,"children":177,"psChildren":178},44,{"fr":174},"Outils IA","\u002Foutils-ia",3,[],[],{"id":180,"type":152,"label":181,"href":74,"icon":155,"description":155,"badge":155,"groupTitle":155,"style":183,"gridColumns":155,"cssClass":155,"psCategoryId":155,"showPsChildren":75,"position":184,"children":185,"psChildren":186},45,{"fr":182},"Offre Starter ✨",{"highlight":20},4,[],[],{"id":188,"type":152,"label":189,"href":123,"icon":155,"description":155,"badge":155,"groupTitle":155,"style":155,"gridColumns":155,"cssClass":155,"psCategoryId":155,"showPsChildren":75,"position":63,"children":190,"psChildren":191},46,{"fr":122},[],[],{"id":193,"type":152,"label":194,"href":141,"icon":155,"description":155,"badge":155,"groupTitle":155,"style":155,"gridColumns":155,"cssClass":155,"psCategoryId":155,"showPsChildren":75,"position":195,"children":196,"psChildren":197},47,{"fr":137},6,[],[],{"id":199,"type":152,"label":200,"href":147,"icon":155,"description":155,"badge":155,"groupTitle":155,"style":155,"gridColumns":155,"cssClass":155,"psCategoryId":155,"showPsChildren":75,"position":201,"children":202,"psChildren":203},48,{"fr":146},7,[],[],{"academy":205,"blog":206,"expertise":217},[],[207,211,214],{"title":208,"url":209,"score":162,"type":210},"PrestaShop headless avec Nuxt 3 : pourquoi séparer back et front","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-separation-front-back","blog",{"title":212,"url":213,"score":162,"type":210},"PrestaShop headless : Nuxt 3, pas Next.js — le choix souverain","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-nextjs-souverainete",{"title":215,"url":216,"score":162,"type":210},"Sylius rachète PrestaShop : ce que ça change pour vous","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fsylius-rachat-prestashop-headless-souverainete",[],{"header":219},{"logo":220,"topBar":225,"contactEmail":228,"features":229,"navBar":155},{"src":221,"alt":222,"text":140,"href":223,"class":224},"\u002Flogo-ac.svg","Alexandre Carette — Architecte E-commerce Souverain","\u002F","h-10 w-10",{"message":155,"showLanguages":75,"align":226,"languages":227},"left",[],"contact@alexandrecarette.fr",{"showSearch":75,"showWishlist":75,"showLogin":20,"showContact":75,"showCart":75,"stickyHeader":20,"headerLayout":230},"inline",{"footer":232},{"theme":233,"description":155,"hours":155,"logo":234,"contact":235,"social":236,"bottomBar":246},"dark",{"src":221,"href":223,"alt":140},{"email":155,"phone":155,"address":155,"cta":155},[237,240,243],{"platform":238,"href":239,"label":238},"linkedin","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Falexandre-carette\u002F",{"platform":241,"href":242,"label":241},"malt","https:\u002F\u002Fwww.malt.fr\u002Fprofile\u002Falexandrecarette",{"platform":244,"href":245,"label":244},"github","https:\u002F\u002Fgithub.com\u002Fprest4cafe",{"copyright":155}]