PS PrestaShop Débutant

Boutique Privée PrestaShop : guide complet

Installer et configurer DataFirefly Boutique Privée : modes d'accès, page de connexion, connexion Google, Facebook, Apple et Instagram, validation des comptes et prix réservés aux membres.

Mis à jour Version du module 1.2.1

<p>DataFirefly Boutique Privée réserve tout ou partie de votre boutique PrestaShop 8 et 9 aux clients que vous avez validés. Ce guide couvre l’installation, les trois modes d’accès, la mise en page de la page privée, la connexion sociale, le traitement des demandes et le mode prix réservés aux membres.</p>

<h2>Installation</h2>
<p>Depuis le back-office, allez dans Modules > Gestionnaire de modules > Installer un module et déposez le fichier ZIP. À l’installation, le module crée ses tables, ajoute l’onglet Clients > Demandes d’accès et enregistre la page privée (URL de type /module/dfprivateshop/private, réécrite en /acces-prive/ si les URL simplifiées sont actives).</p>
<p>Ouvrez ensuite la configuration du module. Un bandeau en haut de page rappelle l’état actuel, votre adresse IP, l’URI de redirection à déclarer chez les fournisseurs de connexion sociale, et signale les points bloquants : extension cURL absente, dossier img/dfprivateshop non accessible en écriture, module de cache de pages installé.</p>
<div class= »df-callout note »><p>Le module est livré désactivé. Rien ne change sur votre boutique tant que vous n’avez pas choisi un mode dans l’onglet Accès.</p></div>

<h2>Choisir un mode d’accès</h2>
<h3>Toute la boutique est privée</h3>
<p>Chaque page demande un compte. Restent accessibles : la page de connexion du module, la page contact si vous l’autorisez, les pages CMS que vous listez comme publiques, la page de réinitialisation du mot de passe et les contrôleurs des modules de paiement. C’est le mode d’un grossiste, d’un club ou d’une boutique en préparation.</p>
<h3>Seules les parties sélectionnées sont privées</h3>
<p>Vous désignez les catégories (leurs sous-catégories suivent automatiquement), des produits par ID, des marques, des fournisseurs, des pages CMS, la page d’accueil et des motifs d’URL avec le caractère <code>*</code>. Les produits concernés disparaissent aussi des listes, de la recherche, de l’autocomplétion, des filtres à facettes et des blocs produits des autres modules, pour qu’aucun nom, visuel ou prix ne transparaisse.</p>
<h3>Prix réservés aux membres</h3>
<p>Interrupteur séparé, utilisable avec le mode désactivé ou avec les parties sélectionnées. Le catalogue reste public et indexable, mais les visiteurs sans accès ne voient ni les prix, ni le bouton d’ajout au panier, ni le filtre ou le tri par prix. Le module active le mode catalogue natif de PrestaShop pour la requête en cours seulement, sans rien écrire en base.</p>

<h2>Qui a accès</h2>
<ul>
<li><strong>Les clients connectés et actifs.</strong> Si vous activez la restriction par groupe, seuls les comptes appartenant aux groupes choisis entrent ; les autres voient le message d’accès refusé.</li>
<li><strong>Les codes d’invitation.</strong> Un code par ligne, avec une durée de validité en jours. Retirer un code de la liste le révoque immédiatement, y compris pour ceux qui l’ont déjà saisi.</li>
<li><strong>Les adresses IP en liste blanche.</strong> Une IP ou une plage CIDR par ligne, IPv4 et IPv6. Pratique pour un bureau, un prestataire ou un poste de test.</li>
<li><strong>Les robots des moteurs de recherche</strong>, si vous activez l’option. Googlebot, Bingbot, Applebot et DuckDuckBot sont vérifiés par DNS inverse puis direct : un faux user agent ne passe pas.</li>
</ul>

<h2>Personnaliser la page privée</h2>
<p>L’onglet Design contrôle l’apparence. Deux mises en page : plein écran, avec la carte du formulaire à gauche, au centre ou à droite du média, ou partagée, avec le média d’un côté et le formulaire de l’autre, largeur réglable entre 35 et 70 %.</p>
<p>Le fond accepte une image, un diaporama de deux ou trois images avec effet de zoom lent, une vidéo, ou une vidéo et une image. Pour la vidéo : un fichier MP4 ou WebM téléversé (boucle muette de 10 à 30 secondes, moins de 8 Mo recommandés), une URL YouTube intégrée en mode confidentialité renforcée, ou une URL Vimeo. Une image spécifique peut être définie pour le mobile, et le média peut y devenir un bandeau au-dessus du formulaire, un arrière-plan, ou disparaître.</p>
<p>Les médias sont stockés dans <code>img/dfprivateshop/</code>, en dehors du dossier du module, donc conservés lors des mises à jour. Réglez ensuite le voile, la couleur d’accent, l’arrondi, le style de carte (clair, sombre ou verre dépoli), le logo et le sélecteur de langue. Le bouton Aperçu du bandeau affiche la page telle que la voient les visiteurs, sans fermer la boutique.</p>
<div class= »df-callout tip »><p>La vidéo ne se charge pas sur mobile par défaut, ni quand le visiteur a activé l’économiseur de données ou demandé moins d’animations. Prévoyez donc toujours une image, qui sert aussi d’affiche pendant le chargement.</p></div>

<h2>Demandes d’accès et validation des comptes</h2>
<p>Dans l’onglet Inscription, décidez si l’onglet de demande d’accès apparaît sur la page privée, quels champs sont proposés (société, identifiant société ou TVA, date de naissance, message, newsletter, offres partenaires) et lesquels sont obligatoires. Une case de consentement RGPD peut pointer vers une page CMS ; la date d’acceptation est enregistrée avec la demande.</p>
<p>Avec la validation manuelle, chaque inscription crée un compte inactif et une ligne dans Clients > Demandes d’accès. Vous y filtrez par statut, origine ou société, puis validez ou refusez, à l’unité ou en masse. Le client reçoit l’e-mail correspondant, dans sa langue. Les adresses appartenant aux domaines que vous listez peuvent être validées automatiquement, et votre équipe peut recevoir une notification à chaque nouvelle demande.</p>
<p>La fiche client affiche la demande et les comptes sociaux liés. Activer un client depuis sa fiche vaut validation : le statut de la demande suit et l’e-mail part.</p>

<h2>Connexion Google, Facebook, Apple et Instagram</h2>
<p>Chaque fournisseur s’active indépendamment dans l’onglet Connexion sociale. Copiez l’URI de redirection affichée dans le bandeau : elle doit être déclarée telle quelle chez le fournisseur.</p>
<ul>
<li><strong>Google</strong> : créez un identifiant OAuth de type application Web dans Google Cloud Console, puis reportez l’ID client et la clé secrète.</li>
<li><strong>Facebook</strong> : créez une application dans Meta for Developers, ajoutez le produit Facebook Login, puis reportez l’ID et la clé secrète de l’application.</li>
<li><strong>Apple</strong> : créez un Services ID dans votre compte développeur Apple, puis une clé Sign in with Apple. Il vous faut le Services ID, le Team ID, le Key ID et le contenu du fichier .p8, collé en entier, lignes BEGIN et END comprises.</li>
<li><strong>Instagram</strong> : Instagram Business Login n’authentifie que les comptes professionnels et ne transmet jamais d’adresse e-mail. Le client la saisit dans un court formulaire après la connexion.</li>
</ul>
<p>Si l’adresse e-mail renvoyée correspond déjà à un compte client, le module demande une fois le mot de passe de ce compte avant de lier les deux, sauf si vous avez choisi de lier automatiquement les adresses certifiées par le fournisseur. Les boutons peuvent aussi être affichés sur la page de connexion native du thème.</p>
<div class= »df-callout warn »><p>La connexion sociale exige l’extension PHP cURL et une URI de redirection en HTTPS. Le bandeau de configuration signale l’absence de cURL et l’état des URL simplifiées.</p></div>

<h2>Cache de pages</h2>
<p>Les pages rendues pour un visiteur ayant accès sont envoyées avec des en-têtes qui interdisent leur mise en cache, y compris pour LiteSpeed, Varnish et les CDN. Si vous utilisez un module de cache de pages, désactivez le cache pour les clients connectés dans ses réglages : sinon, un membre risque de recevoir la version anonyme d’une page, sans les produits ou les prix réservés. Le cache Smarty est vidé à chaque enregistrement des réglages du module.</p>

<h2>Dépannage</h2>
<ul>
<li><strong>Vous ne pouvez plus accéder à votre propre boutique</strong> : ajoutez votre adresse IP, affichée dans le bandeau de configuration, à la liste blanche.</li>
<li><strong>Le bouton d’un fournisseur n’apparaît pas</strong> : il est activé mais ses identifiants sont incomplets. Le bandeau de configuration le signale.</li>
<li><strong>Une connexion sociale renvoie une erreur</strong> : vérifiez que l’URI de redirection déclarée chez le fournisseur est exactement celle du bandeau, protocole et sous-domaine compris.</li>
<li><strong>Les prix restent visibles</strong> : vérifiez que le visiteur n’est pas couvert par la liste blanche d’IP ou un code d’invitation, et videz le cache de pages.</li>
<li><strong>Un produit privé apparaît encore dans un bloc</strong> : le thème utilisé n’emploie probablement pas la classe product-miniature attendue. Contactez-nous avec le nom du thème.</li>
</ul>

Cette page vous a-t-elle été utile ?

Toujours bloqué ? Contactez le support