1. À quoi sert le module
Les robots envoient du spam par le formulaire de contact, créent de faux comptes, essaient des mots de passe sur le formulaire de connexion, demandent des e-mails de réinitialisation pour des adresses au hasard et remplissent votre liste de newsletter d’adresses inutiles. Le module protège ces cinq formulaires avec Google reCAPTCHA v3 : Google note chaque visite en arrière-plan, vos clients ne voient donc ni énigme ni case à cocher, et le module arrête les formulaires envoyés par des robots.
Formulaires protégés : formulaire de contact, connexion (aussi pendant la commande), inscription (aussi le formulaire invité et compte de la commande), demande de réinitialisation du mot de passe et inscription à la newsletter.
Compatible avec PrestaShop 1.7.8, 8.x et 9.x (PHP 7.2.5 ou plus récent), avec les thèmes Classic et Hummingbird et en multiboutique.
2. Installation
- Téléchargez le module depuis Mon compte → Historique des commandes sur addonspresta.com.
- Dans votre back-office, ouvrez Modules → Gestionnaire de modules et cliquez sur Installer un module.
- Déposez le fichier
ap_recaptcha_v1.0.0.zipet attendez la confirmation. - Cliquez sur Configurer sur la carte du module.
Si vous avez un accès au serveur en ligne de commande, vous pouvez aussi décompresser l’archive dans modules/ et
lancer php bin/console prestashop:module install ap_recaptcha depuis le dossier de la boutique.
Obtenir vos clés Google
- Ouvrez la console d’administration Google reCAPTCHA, https://www.google.com/recaptcha/admin, et connectez-vous avec un compte Google.
- Créez une clé : donnez-lui un nom, choisissez Basée sur un score (v3) et ajoutez tous les domaines de votre
boutique (par exemple
maboutique.fr; les sous-domaines sont inclus). - Google affiche deux clés : la clé du site et la clé secrète. Collez-les dans le module (section 4).
Google offre 10 000 vérifications gratuites par mois et par organisation Google Cloud, ce qui suffit à la plupart des boutiques ; au-delà, Google demande d’activer la facturation dans Google Cloud. Les clés créées auparavant ont été déplacées par Google dans des projets Google Cloud et fonctionnent toujours.
3. Fonctionnement
Le module ajoute un petit script aux pages de votre boutique. Quand le visiteur commence à remplir un formulaire protégé, le script charge reCAPTCHA de Google. À l’envoi, le script demande à Google un jeton à usage unique et l’ajoute au formulaire. Votre serveur demande alors à Google ce que vaut ce jeton : un score de 0.0 (sûrement un robot) à 1.0 (sûrement une personne). Sous votre seuil, le formulaire est arrêté et le visiteur voit : « Nous n’avons pas pu confirmer que vous n’êtes pas un robot. Veuillez réessayer. »
Ce que le visiteur garde quand un formulaire est arrêté :
- formulaire de contact et inscription — tout ce qui a été saisi reste dans le formulaire ;
- connexion et réinitialisation du mot de passe — la page se recharge avec le message, l’adresse e-mail est à saisir de nouveau ;
- newsletter — le message s’affiche à la place de la confirmation.
Le module vérifie aussi que le jeton a été créé pour ce formulaire et sur le domaine de votre boutique. Un jeton ne sert qu’une fois.
Si Google ne répond pas en 3 secondes, le formulaire passe par défaut (ou il est bloqué, si vous le choisissez) et le problème est inscrit dans Paramètres avancés → Logs.
Le navigateur du visiteur ne se connecte à Google que lorsqu’il utilise un formulaire protégé, pas sur chaque page. Le module n’envoie à Google que le jeton et votre clé secrète. Il ne se connecte pas à addonspresta.com.
4. Fonctionnalités et réglages
Ouvrez Modules → Gestionnaire de modules → reCAPTCHA v3 invisible → Configurer. Le cadre Aide en haut mène à ce manuel, à la page du module sur addonspresta.com et à notre adresse d’assistance.
Clés Google reCAPTCHA
Clé du site et Clé secrète — collez les clés de la console Google. La clé secrète n’est plus affichée après l’enregistrement : laissez le champ vide pour la conserver. Tant que les deux clés ne sont pas enregistrées, aucun formulaire n’est protégé.
À l’enregistrement, la page prend un jeton de test avec votre clé du site et demande à Google de le vérifier avec votre clé secrète. Vous voyez alors l’un de ces messages :
- Google a accepté les clés — tout fonctionne ;
- Google n’a pas accepté les clés — la clé secrète correspond à une autre clé du site, ou la clé n’est pas basée sur un score (v3) ;
- Les clés n’ont pas pu être testées — Google n’a donné aucun jeton sur cette page : vérifiez la clé du site et que votre domaine figure dans sa liste de domaines ;
- Google a accepté les clés, mais le test a eu lieu sur… — votre back-office utilise un autre domaine que la boutique : vérifiez que le domaine de la boutique figure aussi dans la liste de la clé.
Formulaires protégés
Formulaire de contact, Connexion, Inscription, Réinitialisation du mot de passe, Newsletter — désactivez un formulaire que vous ne voulez pas vérifier. Le formulaire de contact nécessite le module natif Formulaire de contact et la newsletter le module Inscription à la newsletter ; quand l’un d’eux est désactivé, son interrupteur est grisé.
Fonctionnement
Seuil de score — les formulaires avec un score plus bas sont arrêtés. Google recommande 0.5. Une valeur plus haute arrête plus de robots, mais aussi plus de vrais clients.
Quand Google ne répond pas — Laisser passer le formulaire (recommandé : vos clients peuvent toujours se connecter et vous écrire) ou Bloquer le formulaire.
Badge reCAPTCHA — Google affiche un petit badge en bas à droite des pages avec un formulaire protégé. Vous pouvez le masquer ; Google exige alors sa mention (« Ce site est protégé par reCAPTCHA, et les règles de confidentialité et les conditions d’utilisation de Google s’appliquent. ») sous chaque formulaire protégé, et le module l’ajoute.
Mode test — vérifie chaque formulaire sans jamais en arrêter un. Chaque formulaire qui aurait été arrêté est inscrit dans Paramètres avancés → Logs avec la raison et le score. Activez-le quelques jours pour choisir le seuil, puis désactivez-le.
Ne pas vérifier le formulaire de contact des clients connectés — les clients qui ont un compte vous écrivent sans vérification.
5. Multiboutique
Les clés et les réglages sont enregistrés pour la boutique ou le groupe de boutiques choisi dans l’en-tête du back-office. Choisissez Toutes les boutiques pour appliquer les mêmes valeurs partout, ou une seule boutique pour lui donner ses propres valeurs — par exemple ses propres clés quand elle a son propre domaine. Une licence couvre toutes les boutiques de l’installation.
6. Désinstallation
Gestionnaire de modules → reCAPTCHA v3 invisible → Désinstaller supprime les réglages du module, y compris vos clés Google. Pour les conserver, utilisez Désactiver. Les clés restent dans votre console Google.
7. Questions fréquentes et dépannage
Dois-je mentionner reCAPTCHA dans ma politique de confidentialité ? Oui. Quand un formulaire protégé est utilisé, Google reçoit l’adresse IP du visiteur et dépose ses propres cookies. Vous pouvez ajouter, en l’adaptant à votre politique : « Pour protéger nos formulaires contre le spam et les abus, nous utilisons Google reCAPTCHA (Google Ireland Limited). Quand vous utilisez un formulaire, Google traite des données sur votre appareil et votre utilisation de la page pour distinguer les personnes des robots. Les règles de confidentialité et les conditions d’utilisation de Google s’appliquent. » Demandez à votre conseiller si votre bandeau cookies doit aussi le mentionner.
Des clients voient « Nous n’avons pas pu confirmer que vous n’êtes pas un robot ». Activez le Mode test et regardez les scores dans Paramètres avancés → Logs. Si de vrais clients obtiennent des scores bas, baissez le Seuil de score (par exemple à 0.3). Les clients qui utilisent un VPN ou bloquent les scripts externes obtiennent des scores plus bas.
Le formulaire de contact affiche deux messages après un blocage. Le module Formulaire de contact ajoute son propre message « veuillez réessayer » quand le module arrête un message. C’est normal ; le client n’a qu’à renvoyer le formulaire.
Le spam arrive toujours. Vérifiez que les deux clés sont enregistrées et que le Mode test est désactivé. Montez ensuite un peu le Seuil de score, par exemple à 0.7. Le spam envoyé par le formulaire d’un autre module n’est pas arrêté.
La connexion dans une fenêtre de mon thème ne fonctionne plus. Certains thèmes connectent les clients dans leur propre fenêtre. Désactivez Connexion (ou Inscription), ou demandez à l’auteur du thème un formulaire de connexion standard.
Rien n’est vérifié et aucun badge n’apparaît. Enregistrez les deux clés, puis videz le cache dans Paramètres avancés → Performances. Le badge n’apparaît que sur les pages avec un formulaire protégé, quand le visiteur commence à le remplir.
J’ai masqué le badge, mais la mention de Google n’est pas sous les formulaires.
La mention est ajoutée par le hook displayBeforeBodyClosingTag, présent dans les thèmes Classic et Hummingbird. Un
thème personnalisé doit le contenir.
Des problèmes avec Google apparaissent dans les logs.
« Google check failed (service…) » signifie que votre serveur n’a pas pu joindre Google : vérifiez qu’il peut ouvrir des
connexions HTTPS vers www.google.com. « Google check failed (secret…) » signifie que la clé secrète est fausse :
collez-la de nouveau.
8. Mises à jour et assistance
Les mises à jour sont gratuites à vie : téléchargez les nouvelles versions depuis Mon compte → Historique des commandes sur addonspresta.com et installez-les comme un nouveau module. Vos réglages sont conservés.
L’assistance est incluse pendant 12 mois à compter de la commande : écrivez à mail@addonspresta.com ou utilisez le formulaire de contact d’addonspresta.com (du lundi au vendredi, 10 h – 16 h, heure de Paris ; réponse habituelle sous 2 jours ouvrés). Indiquez votre version de PrestaShop, la version du module et les étapes qui mènent au problème.