[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"theme-db":3,"$fKRyK3iSrCiVKizT0gNGgIWK7RwTQEdvzLcrLw8MKUk4":22,"megamenu":70,"$fKnz2vuX4bZz1LbUTiuFsvSZ3e07l5_5fqNYp4Tzdhi8":139,"header-db":207,"$fvCDrB4qEijNXzsp8tIE3QdLJMVA5Ko8Qe5JMO8hWHWo":220,"footer-db":234},{"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":65,"readingTime":66,"generatedAt":67,"publishDate":67,"relatedArticles":68,"sourceCategory":69},"Supprimer ou désactiver l'opt-in partenaires sur PrestaShop","supprimer-desactiver-optin-partenaires-prestashop","Comment supprimer la case opt-in partenaires sur PrestaShop 1.6, 1.7 et 8.x : configuration back-office, modification template et bonnes pratiques RGPD.","configuration",[28,29,30,31,32,33],"opt-in","RGPD","inscription","formulaire client","vie privée","template Smarty","debutant",[36,37,38],"1.6","1.7","8.x","\u003Ch2>Comprendre l'opt-in partenaires dans PrestaShop\u003C\u002Fh2>\n\u003Cp>PrestaShop intègre nativement une case à cocher « Recevoir les offres spéciales de nos partenaires » sur les formulaires d'inscription et de gestion de compte client. Cette option, appelée \u003Cstrong>opt-in partenaires\u003C\u002Fstrong>, permet au marchand de collecter le consentement des clients pour l'envoi de communications commerciales tierces.\u003C\u002Fp>\n\u003Cp>Dans la pratique, de nombreux e-commerçants souhaitent supprimer cette case : soit parce qu'ils n'ont aucun partenaire commercial, soit pour simplifier le tunnel d'inscription, soit — et c'est la raison la plus fréquente depuis 2018 — pour se conformer au RGPD en limitant la collecte de consentements inutiles.\u003C\u002Fp>\n\u003Ch2>Méthode 1 : désactiver l'opt-in depuis le back-office\u003C\u002Fh2>\n\u003Cp>Avant toute modification de code, vérifiez que l'option n'est pas simplement activable\u002Fdésactivable dans la configuration.\u003C\u002Fp>\n\u003Ch3>PrestaShop 1.7 et 8.x\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Rendez-vous dans **Paramètres de la boutique → Clients**\u003C\u002Fli>\n\u003Cli>Dans la section « Inscription », cherchez l'option **« Activer les offres partenaires »**\u003C\u002Fli>\n\u003Cli>Passez-la sur **Non**\u003C\u002Fli>\n\u003Cli>Enregistrez\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Cette manipulation suffit dans la majorité des cas. Le template natif conditionne l'affichage de la case via la variable \u003Ccode>$optin\u003C\u002Fcode> : si l'option est désactivée, la case disparaît automatiquement.\u003C\u002Fp>\n\u003Ch3>PrestaShop 1.6\u003C\u002Fh3>\n\u003Cp>Sur les versions 1.6, le réglage se trouve dans \u003Cstrong>Préférences → Clients → Activer l'opt-in partenaires\u003C\u002Fstrong>. Le principe est identique.\u003C\u002Fp>\n\u003Ch2>Méthode 2 : corriger un affichage persistant malgré la désactivation\u003C\u002Fh2>\n\u003Cp>Il arrive que la case reste visible même après désactivation dans le back-office. Ce comportement est généralement causé par l'une de ces situations :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>**Un thème personnalisé** qui ne respecte pas la condition `{if isset($optin) && $optin}` dans ses templates\u003C\u002Fli>\n\u003Cli>**Un override** du contrôleur ou de la classe `Customer` qui force la variable à `true`\u003C\u002Fli>\n\u003Cli>**Un cache Smarty non vidé** qui affiche encore l'ancienne version du template\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Étape 1 : vider les caches\u003C\u002Fh3>\n\u003Cp>Commencez par vider le cache Smarty :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">\n# Supprimer le cache des templates compilés\nrm -rf var\u002Fcache\u002Fprod\u002Fsmarty\u002Fcompile\u002F*\nrm -rf var\u002Fcache\u002Fprod\u002Fsmarty\u002Fcache\u002F*\n\n# Sur PrestaShop 1.6\nrm -rf cache\u002Fsmarty\u002Fcompile\u002F*\nrm -rf cache\u002Fsmarty\u002Fcache\u002F*\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Rechargez la page. Si la case a disparu, le problème était simplement un cache obsolète.\u003C\u002Fp>\n\u003Ch3>Étape 2 : vérifier les overrides\u003C\u002Fh3>\n\u003Cp>Si le problème persiste, inspectez le dossier \u003Ccode>override\u002F\u003C\u002Fcode> à la racine de votre boutique :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-\">\noverride\u002F\n├── classes\u002F\n│   └── Customer.php       ← vérifier ici\n└── controllers\u002F\n    └── front\u002F\n        ├── AuthController.php\n        └── IdentityController.php\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Un override de la classe \u003Ccode>Customer.php\u003C\u002Fcode> ou des contrôleurs \u003Ccode>AuthController\u003C\u002Fcode> \u002F \u003Ccode>IdentityController\u003C\u002Fcode> peut forcer l'affichage de l'opt-in indépendamment du réglage back-office. Examinez ces fichiers et supprimez ou corrigez toute logique qui assigne \u003Ccode>$optin = true\u003C\u002Fcode> de manière inconditionnelle.\u003C\u002Fp>\n\u003Cp>Après modification d'un override, supprimez le fichier d'index des classes :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">\n# PrestaShop 1.7 \u002F 8.x\nrm var\u002Fcache\u002Fprod\u002Fclass_index.php\n\n# PrestaShop 1.6\nrm cache\u002Fclass_index.php\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Étape 3 : modifier le template du thème\u003C\u002Fh3>\n\u003Cp>Si aucun override n'est en cause, le thème lui-même peut être responsable. Localisez le template d'inscription ou de gestion de compte :\u003C\u002Fp>\n\u003Cp>\u003Cstrong>PrestaShop 1.6 :\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-\">\nthemes\u002Fvotre-theme\u002Fidentity.tpl\nthemes\u002Fvotre-theme\u002Fauthentication.tpl\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>PrestaShop 1.7 \u002F 8.x :\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-\">\nthemes\u002Fvotre-theme\u002Ftemplates\u002Fcustomer\u002Fregistration.tpl\nthemes\u002Fvotre-theme\u002Ftemplates\u002Fcustomer\u002F_partials\u002Fcustomer-form.tpl\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Recherchez le bloc opt-in. Sur PrestaShop 1.6, il ressemble à ceci :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-smarty\">\n{if isset($optin) && $optin}\n    &lt;div class=\"checkbox\"&gt;\n        &lt;label for=\"optin\"&gt;\n            &lt;input type=\"checkbox\" name=\"optin\" id=\"optin\" value=\"1\"\n                {if isset($smarty.post.optin) && $smarty.post.optin == 1}\n                    checked=\"checked\"\n                {\u002Fif}\u002F&gt;\n            {l s='Receive special offers from our partners!'}\n        &lt;\u002Flabel&gt;\n    &lt;\u002Fdiv&gt;\n{\u002Fif}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Si la condition \u003Ccode>{if isset($optin) && $optin}\u003C\u002Fcode> est absente ou mal écrite, la case s'affiche systématiquement. Vous avez deux options :\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Option A — Commenter le bloc avec la syntaxe Smarty :\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-smarty\">\n{* Opt-in partenaires désactivé\n{if isset($optin) && $optin}\n    &lt;div class=\"checkbox\"&gt;\n        ...\n    &lt;\u002Fdiv&gt;\n{\u002Fif}\n*}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Option B — Supprimer entièrement le bloc\u003C\u002Fstrong> (recommandé si vous n'utiliserez jamais cette fonctionnalité).\u003C\u002Fp>\n\u003Cblockquote>\u003Cp>\u003Cstrong>Bonne pratique :\u003C\u002Fstrong> travaillez toujours dans un \u003Cstrong>thème enfant\u003C\u002Fstrong> pour que vos modifications survivent aux mises à jour.\u003C\u002Fp>\u003C\u002Fblockquote>\n\u003Ch2>Méthode 3 : approche moderne sur PrestaShop 8.x\u003C\u002Fh2>\n\u003Cp>Sur PrestaShop 8.x, le système de formulaires client a été modernisé avec le composant Symfony Form. L'opt-in partenaires est géré par le \u003Ccode>CustomerFormBuilder\u003C\u002Fcode> et le \u003Ccode>CustomerType\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Si la configuration back-office ne suffit pas, vous pouvez créer un module qui utilise le hook \u003Ccode>actionCustomerFormBuilderModifier\u003C\u002Fcode> pour retirer le champ :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-php\">\n&lt;?php\n\u002F\u002F Dans votre module\npublic function hookActionCustomerFormBuilderModifier(array $params): void\n{\n    \u002F** @var \\Symfony\\Component\\Form\\FormBuilderInterface $formBuilder *\u002F\n    $formBuilder = $params['form_builder'];\n\n    if ($formBuilder-&gt;has('optin')) {\n        $formBuilder-&gt;remove('optin');\n    }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Cette approche est plus propre qu'une modification de template et résiste aux mises à jour du thème.\u003C\u002Fp>\n\u003Ch2>Implications RGPD à connaître\u003C\u002Fh2>\n\u003Cp>Depuis le 25 mai 2018, le RGPD impose des règles strictes sur le consentement marketing :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>**Pas de case pré-cochée :** le consentement doit être un acte positif et volontaire\u003C\u002Fli>\n\u003Cli>**Finalité explicite :** l'intitulé doit préciser clairement à quoi le client consent\u003C\u002Fli>\n\u003Cli>**Preuve du consentement :** PrestaShop stocke la valeur dans `ps_customer.optin`, ce qui constitue une preuve exploitable\u003C\u002Fli>\n\u003Cli>**Droit de retrait :** le client doit pouvoir retirer son consentement facilement depuis son espace\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Si vous n'envoyez pas d'offres partenaires, \u003Cstrong>désactivez l'opt-in\u003C\u002Fstrong>. Collecter un consentement sans finalité réelle est contraire au principe de minimisation des données du RGPD.\u003C\u002Fp>\n\u003Ch2>Vérifier que la modification fonctionne\u003C\u002Fh2>\n\u003Cp>Après vos changements :\u003C\u002Fp>\n\u003Col>\n\u003Cli>Videz tous les caches (Smarty + OPcache + éventuel Varnish)\u003C\u002Fli>\n\u003Cli>Ouvrez la page d'inscription en navigation privée\u003C\u002Fli>\n\u003Cli>Vérifiez que la case n'apparaît plus\u003C\u002Fli>\n\u003Cli>Créez un compte test et contrôlez dans le back-office que le champ `optin` est bien à `0` dans la fiche client\u003C\u002Fli>\n\u003Cli>Vérifiez également la page **Mon compte → Mes informations personnelles**\u003C\u002Fli>\n\u003C\u002Ful>",[41,44,47,50,53,56,59,62],{"q":42,"a":43},"Où se trouve le réglage opt-in partenaires dans PrestaShop 8 ?","Dans le back-office, allez dans Paramètres de la boutique → Clients. L'option « Activer les offres partenaires » se trouve dans la section Inscription. Passez-la sur Non pour masquer la case à cocher sur le formulaire d'inscription.",{"q":45,"a":46},"La case opt-in reste visible malgré la désactivation, que faire ?","Trois causes possibles : un cache Smarty obsolète (videz var\u002Fcache\u002Fprod\u002Fsmarty\u002F), un override de la classe Customer ou d'un contrôleur front qui force la variable, ou un thème qui n'intègre pas la condition d'affichage. Vérifiez dans cet ordre et n'oubliez pas de supprimer class_index.php après modification d'un override.",{"q":48,"a":49},"Est-il légal d'afficher une case opt-in pré-cochée sur PrestaShop ?","Non. Depuis l'entrée en vigueur du RGPD en mai 2018, toute case de consentement marketing doit être décochée par défaut. PrestaShop respecte cette règle nativement : la case opt-in n'est jamais pré-cochée. Si votre thème la pré-coche, corrigez-le immédiatement pour éviter tout risque juridique.",{"q":51,"a":52},"Quelle est la différence entre opt-in et newsletter dans PrestaShop ?","PrestaShop gère deux consentements distincts : la newsletter (offres de votre boutique, champ ps_customer.newsletter) et l'opt-in partenaires (offres de tiers, champ ps_customer.optin). Chacun a sa propre case à cocher et son propre réglage dans le back-office. Vous pouvez désactiver l'un sans toucher à l'autre.",{"q":54,"a":55},"Comment supprimer l'opt-in par un module plutôt qu'en modifiant le thème ?","Sur PrestaShop 8.x, créez un module qui s'accroche au hook actionCustomerFormBuilderModifier. Dans ce hook, récupérez le FormBuilder et appelez la méthode remove('optin') pour retirer le champ du formulaire. Cette approche est plus maintenable qu'une modification de template et survit aux mises à jour du thème.",{"q":57,"a":58},"La suppression de l'opt-in affecte-t-elle les clients déjà inscrits ?","Non. Désactiver ou supprimer la case opt-in n'affecte que l'affichage du formulaire pour les nouvelles inscriptions et les modifications de compte. Les clients ayant déjà coché la case conservent leur consentement en base de données (ps_customer.optin = 1). Pour réinitialiser ces consentements, une requête SQL UPDATE sur la table ps_customer est nécessaire.",{"q":60,"a":61},"Comment exporter la liste des clients ayant accepté l'opt-in partenaires ?","Dans le back-office, allez dans Clients → Clients, puis utilisez le filtre sur la colonne Opt-in. Vous pouvez aussi exécuter une requête SQL : SELECT email, firstname, lastname FROM ps_customer WHERE optin = 1 AND active = 1. Cette liste peut servir de base pour vos campagnes partenaires, à condition que le consentement ait été collecté conformément au RGPD.",{"q":63,"a":64},"Faut-il utiliser un thème enfant pour modifier le template opt-in ?","Oui, c'est fortement recommandé. Modifier directement les fichiers du thème parent signifie perdre vos changements à chaque mise à jour du thème. Créez un thème enfant, copiez-y uniquement le template concerné (identity.tpl ou customer-form.tpl selon votre version) et effectuez votre modification dans cette copie.","L'opt-in partenaires se désactive dans Paramètres de la boutique → Clients. Si la case persiste malgré la désactivation, vérifiez le cache Smarty, les overrides et le template du thème — sur PrestaShop 8.x, un hook Symfony permet aussi de retirer le champ proprement via un module.",5,"2026-03-21T13:40:09.000Z",[],"Utilisation de PrestaShop : configuration et difficultés",{"items":71},[72,83,91,99,107,116,123,131],{"id":73,"type":74,"label":75,"href":77,"icon":78,"description":78,"badge":78,"groupTitle":78,"style":78,"gridColumns":78,"cssClass":78,"psCategoryId":78,"showPsChildren":79,"position":80,"children":81,"psChildren":82},41,"link",{"fr":76},"Expertise","\u002Fexpertise",null,false,0,[],[],{"id":84,"type":74,"label":85,"href":87,"icon":78,"description":78,"badge":78,"groupTitle":78,"style":78,"gridColumns":78,"cssClass":78,"psCategoryId":78,"showPsChildren":79,"position":88,"children":89,"psChildren":90},42,{"fr":86},"Blog","\u002Fblog",1,[],[],{"id":92,"type":74,"label":93,"href":95,"icon":78,"description":78,"badge":78,"groupTitle":78,"style":78,"gridColumns":78,"cssClass":78,"psCategoryId":78,"showPsChildren":79,"position":96,"children":97,"psChildren":98},43,{"fr":94},"Modules PrestaShop","\u002Fmodules",2,[],[],{"id":100,"type":74,"label":101,"href":103,"icon":78,"description":78,"badge":78,"groupTitle":78,"style":78,"gridColumns":78,"cssClass":78,"psCategoryId":78,"showPsChildren":79,"position":104,"children":105,"psChildren":106},44,{"fr":102},"Outils IA","\u002Foutils-ia",3,[],[],{"id":108,"type":74,"label":109,"href":111,"icon":78,"description":78,"badge":78,"groupTitle":78,"style":112,"gridColumns":78,"cssClass":78,"psCategoryId":78,"showPsChildren":79,"position":113,"children":114,"psChildren":115},45,{"fr":110},"Offre Starter ✨","\u002Foffre-starter",{"highlight":20},4,[],[],{"id":117,"type":74,"label":118,"href":120,"icon":78,"description":78,"badge":78,"groupTitle":78,"style":78,"gridColumns":78,"cssClass":78,"psCategoryId":78,"showPsChildren":79,"position":66,"children":121,"psChildren":122},46,{"fr":119},"Academy","\u002Facademy",[],[],{"id":124,"type":74,"label":125,"href":127,"icon":78,"description":78,"badge":78,"groupTitle":78,"style":78,"gridColumns":78,"cssClass":78,"psCategoryId":78,"showPsChildren":79,"position":128,"children":129,"psChildren":130},47,{"fr":126},"À propos","\u002Fa-propos",6,[],[],{"id":132,"type":74,"label":133,"href":135,"icon":78,"description":78,"badge":78,"groupTitle":78,"style":78,"gridColumns":78,"cssClass":78,"psCategoryId":78,"showPsChildren":79,"position":136,"children":137,"psChildren":138},48,{"fr":134},"Contact","\u002Fcontact",7,[],[],{"columns":140},[141,153,183,199],{"title":142,"links":143},"Plateforme",[144,146,149,150],{"label":145,"href":111,"external":79},"Offre Starter (2 500 €)",{"label":147,"href":148,"external":79},"Devenir Ambassadeur","\u002Fambassadeur",{"label":94,"href":95,"external":79},{"label":151,"href":152,"external":20},"CodeMyShop.com","https:\u002F\u002Fcodemyshop.com",{"title":154,"links":155},"Le Synedre",[156,159,162,165,168,171,174,177,180],{"label":157,"href":158,"external":79},"L'histoire","\u002Fsynedre",{"label":160,"href":161,"external":79},"Constitution","\u002Fsynedre\u002Fconstitution",{"label":163,"href":164,"external":79},"L'équipe","\u002Fequipe",{"label":166,"href":167,"external":79},"Le réacteur en direct","\u002Freacteur",{"label":169,"href":170,"external":79},"Le Drill (entraînement)","\u002Fdrill",{"label":172,"href":173,"external":79},"Protocole de réunion","\u002Fsynedre\u002Freunion",{"label":175,"href":176,"external":79},"Les agents IA","\u002Fagents-ia",{"label":178,"href":179,"external":79},"La Conduite","\u002Fsynedre\u002Fconduite",{"label":181,"href":182,"external":79},"Charte plateforme","\u002Fsynedre\u002Fcharte",{"title":184,"links":185},"Ressources",[186,187,188,191,193,196],{"label":86,"href":87,"external":79},{"label":119,"href":120,"external":79},{"label":189,"href":190,"external":79},"Dictionnaire","\u002Fdictionnaire",{"label":192,"href":77,"external":79},"Expertise PrestaShop",{"label":194,"href":195,"external":79},"Flywheel","\u002Fflywheel",{"label":197,"href":198,"external":79},"Manifeste","\u002Fmanifeste",{"title":126,"links":200},[201,203,206],{"label":202,"href":127,"external":79},"Alexandre Carette",{"label":204,"href":205,"external":79},"Dossier de presse","\u002Fpresse",{"label":134,"href":135,"external":79},{"header":208},{"logo":209,"topBar":214,"contactEmail":217,"features":218,"navBar":78},{"src":210,"alt":211,"text":202,"href":212,"class":213},"\u002Flogo-ac.svg","Alexandre Carette — Architecte E-commerce Souverain","\u002F","h-10 w-10",{"message":78,"showLanguages":79,"align":215,"languages":216},"left",[],"contact@alexandrecarette.fr",{"showSearch":79,"showWishlist":79,"showLogin":20,"showContact":79,"showCart":79,"stickyHeader":20,"headerLayout":219},"inline",{"academy":221,"blog":222,"expertise":233},[],[223,227,230],{"title":224,"url":225,"score":88,"type":226},"PrestaShop headless avec Nuxt 3 : pourquoi séparer back et front","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-separation-front-back","blog",{"title":228,"url":229,"score":88,"type":226},"PrestaShop headless : Nuxt 3, pas Next.js — le choix souverain","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-nextjs-souverainete",{"title":231,"url":232,"score":88,"type":226},"Sylius rachète PrestaShop : ce que ça change pour vous","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fsylius-rachat-prestashop-headless-souverainete",[],{"footer":235},{"theme":236,"description":78,"hours":78,"logo":237,"contact":238,"social":239,"bottomBar":249},"dark",{"src":210,"href":212,"alt":202},{"email":78,"phone":78,"address":78,"cta":78},[240,243,246],{"platform":241,"href":242,"label":241},"linkedin","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Falexandre-carette\u002F",{"platform":244,"href":245,"label":244},"malt","https:\u002F\u002Fwww.malt.fr\u002Fprofile\u002Falexandrecarette",{"platform":247,"href":248,"label":247},"github","https:\u002F\u002Fgithub.com\u002Fprest4cafe",{"copyright":78}]