1.4 1.5 1.6 1.7 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 8.0 8.1 +
N'hésitez pas à me le signaler si nécessaire via le formulaire de contact.
Je viens enfin de rendre compatible mon module de captcha eicaptcha avec la version 1.7 de prestashop 🙂
En raison des nombreux changements sur l’infrastructure j’ai quasiment procédé à une réécriture complète du module.
Celui-ci permets d’ajouter un captcha sur le formulaire de contact, et sur le formulaire de création de compte.
( La possibilité de le rajouter sur le formulaire de commentaire produit, et envoyer à un ami est supprimée pour l’instant )
Aperçu :
Formulaire de contact
Formulaire de création de compte
Récupération du module :
Via ssh :
git clone https://github.com/nenes25/eicaptcha.git -b 17 cd eicaptcha composer install |
Télécharger une archive complète :
Pour être sûrs de récupérer la dernière version consultez la page https://github.com/nenes25/eicaptcha/releases
Téléchargez la dernière release taguée 2.0.x
Vous pourrez ensuite l’installer via l’administration ou par ftp
Attention ce module nécessite au préalable l’installation du module « contactform » de prestashop, il faut donc penser à l’installer avant 😉
( il est gratuit et disponible par défaut sur toutes les versions )
Changements techniques :
La gestion du formulaire de contact est géré dans prestashop 1.7 via un widget du module contactform.
Ce module surcharge donc le module contactform pour vérifier la complétion du captcha via un nouveau hook actionContactFormSubmitBefore.
context->controller->errors)) { parent::sendMessage(); } } |
Lors de la création de compte la gestion du hook natif actionSubmitAccountBefore a été changée.
De ce fait je n’ai pas pu l’utiliser et j’ai du surcharger également le fichier AuthController pour rajouter un nouveau hook personnalisé pour gérer la vérification du captcha.
Le module est fonctionnel, des changements et des optimisations sont encore possibles dans les prochains jours / semaines, n’hésitez pas donc pas à remonter des issues sur github.
https://github.com/nenes25/eicaptcha
Le code est disponible sur la branche 17 du dépôt.
Hi Herve,
For captcha FO laguage autodetection make this:
In function:
hookHeader
hookDisplayCustomerAccountForm
and
displayCaptchaContactForm
add as first function line:
$iso_code = $this->context->language->iso_code;
and replace
‘.Configuration::get(‘CAPTCHA_FORCE_LANG’).’
with
‘.$iso_code.’
This will set captcha language to front ofice language selected by visitors.
Hello,
Thanks for your feedback.
I’ll check how to implement this in addition to force language option 🙂
Regards,
Hervé
I tested and worked very well.
If you want I can give you the complete code.
Hello,
Yes thanks, can you make a pull request on github ?
Regards,
Bonjour, et merci pour ce billet. Je viens de tomber dessus. J’ai donc installer le module dans sa version v2.0.1 avec le patch v0.4.11. Le module fonctionne sur l’inscription au site, mais pas dans nous-contacter. Même en ajoutant le module contactform (formulaire de contact) en plus de celui déjà inclus de bas dans presta 1.7
Par contre, impossible de centré correctement dans l’alignement du reste dans l’inscription sur le site. Une petite aide serait la bienvenue 🙂 Merci par avance.
Cordialement
Bonjour,
Pour Prestashop 1.7 il faut uniquement installer la version v2.0.1.
Je vais rajouter une vérification à l’installation pour empêcher l’installation de la version 0.4.x sur PS 1.7
Cordialement,
Hervé
Super merci. En effet j’ai voulu devancé en pensant avoir un truc plus complet dès le départ et finalement, sa fonctionne au top de base sans ajout et centré 🙂 Encore merci
Cordialement,
Pascal
Bonjour,
d’abord merci pour ce module que j’ai installé.
Mais cela ne fonctionne pas sur ma page contact.
Je suppose que cela vient du fait que j’ai un thème personnalisé.
Pouvez-vous me dire ce qu’il faut configurer dans ce cas, je ne l’ai pas trouvé dans vos indications.
Merci d’avance.
Ben.
Bonjour Ben,
Dans le cas d’un design personnalisé, il faut au choix :
– adapter le fichier views/js/eicaptcha-contact-form.js dans votre thème pour faire matcher l’ajout de la div ( cf. https://github.com/nenes25/eicaptcha/blob/17/views/js/eicaptcha-contact-form.js
– créer une div avec l’id captcha-box à l’endroit ou vous souhaitez afficher le captcha dans votre formulaire de contact
Cordialement,
Hervé
Voici un extrait du contactform.tpl du thème,
mais je n’ai pas réussi à intégrer le captcha. Pouvez-vous m’aider sachant que je souhaite que le captcha s’ajoute avant le bouton Envoyer ?
Merci d’avance
{l s=’Message’ d=’Shop.Forms.Labels’}
{if $contact.message}{$contact.message}{/if}
Ben
{l s=’Message’ d=’Shop.Forms.Labels’}{if $contact.message}{$contact.message}{/if}
Bonjour,
Le contenu du formulaire de contact est géré par le module contactform
Vous pouvez voir sa version par défaut sur github : https://github.com/PrestaShop/contactform/blob/master/views/templates/widget/contactform.tpl
Il faut vérifier si il existe une surcharge dans votre thème et ajouter le code dans celui-ci
Hi.
I tried to install the latest version of the module in Prestashop 1.7.0.4 and it tells me that it is not compatible with this version. Thank you.
A greeting.
Hello,
For issues, please report them directly on github : https://github.com/nenes25/eicaptcha/issues
I haven’t tested the module on ps 1.7.0.x as in my opinion it’s not a stable version.
Regards,
Hi
after install module type keys and configure it from admin site I see recaptcha button- but even if i dont click it i can send the form.
https://automatyka.org/kontakt
Can somebody help me
Bonjour,
Tout d’abord merci pour votre tuto, il est très pratique pour réduire les invasions de robots russes sur les formulaires de contact.
Par contre nous avons aussi du spam de robots via le « bloc newsletter ». Est-ce qu’il y aurait une manipulation simple qui permettrait d’étendre le recaptcha aussi à la newsletter ?
merci
Bonjour,
Nativement le module ne permets pas cela.
Il est cependant possible de l’adapter si vous avez des connaissances en développement.
L’idée étant de surcharger la fonction postProcess de la classe Ps_EmailsubscriptionVerificationModuleFrontController de la même manière que le controller du formulaire de contact
https://github.com/nenes25/eicaptcha/blob/17/override/modules/contactform/contactform.php
Cordialement,
Hervé
Bonjour
Un grand merci pour votre module, que j’ai trouvé suite à l’envahissement de mon site prestashop 1.7. par des mails russes plus de 200/jours…..
J’ai installé par erreur la version 0.4.14, et le captcha ne fonctionnait pas sur contact (il était présent mais on pouvait envoyé le mail par le formulaire sans valider le captcha), après relecture de votre notice, j’ai donc désintallé via le back office le module et tenté de reinstaller la version pour 1.7 soit 2.04.Mais impossible de réinstaller via le back office, idem en essayant par ftp, on ne voit plus le module dans le back office.Il y a surement un fichier a supprimer quelque part pour obtenir une reinstall propre de votre module. Merci d’avance si vous pouvez m’éclairer. Bien cordialement. jean claude
Bonjour,
Le plus simple serait déjà de supprimer l’ensemble des fichiers du module.
Puis de télécharger l’archive depuis la page des releases sur github.
Et d’envoyer le fichier zip via l’administration de votre site.
Cordialement,
Hervé
Bonjour,
Merci pour ce module extrêmement pratique, car depuis peu je n’arrête pas de me faire spamer …
J’ai toute fois quelque soucis :
Quand j’essaie d’envoyer le formulaire de contact j’obtiens le message suivant :
« An error occurred while sending the message, please try again. » (message non traduit par la même occasion ;-))
Dans les paramètres avancés du module j’ai ceci en error :
« contacform.php override does not exists »
Et dans la log :
2018-04-06 13:13:05: Captcha soumis avec succès
2018-04-06 13:13:12: Merci de valider le captcha
2018-04-06 13:13:12: Réponse recaptcha Array
(
[0] => missing-input-response
)
2018-04-06 13:13:25: Captcha soumis avec succès
Pouvez-vous m’aider ? Merci
Bonjour Jean-Yves,
Afin de centraliser les problèmes de ce module pouvez-vous ouvrir un ticket sur github ? Et renseigner les informations demandées ?
https://github.com/nenes25/eicaptcha/issues/
Merci d’avance,
Cordialement,
Hervé
J’ai installé Ei Captcha sur prestashop 1.7.3.0, tout s’est bien passé et eicaptcha apparaît en « contact avec nous » et « crée un compte ». Mais quand je coche « Vérifier si le module est bien installé », j’ai cette erreur: contacform.php override n’existe pas. Est-ce que quelqu’un sait comment corriger l’erreur? Merci beaucoup d’avance.
Bonjour,
C’est un faux positif qui sera corrigé dans la prochaine version 😉
Bonjour,
Merci pour ce module,j’ai essayé de l’installer mais j’ai eu une erreur : le module contact form doit étre installé avant.
Malgré que ce module est installé.
Cordialement,
Bonjour,
j’ai installé le module et je peut envoyé un email à partir de contact page sans vérifier le captacha?
comment fixer cet bug?
merci
Cordialement,
Bonjour,
Quelle est votre version exacte de prestashop ?
Il est possible que votre problème puisse être lié à votre question précédente car le module contactform est nécessaire au bon fonctionnement de celui-ci.
Pensez à bien vider le cache également pour que les surcharges soient prises en compte.
Cordialement,
Bonjour,
petit retour j’ai eu le bug sur la page « Contactez-nous » prestashop 1.7.4.2 ou recaptcha ne s’affiché pas du coup j’ai desactiver tous les addons que j’avais installer et il y avait un conflit avec un autre « celui ci: http://prestacraft.com/age-verification-popup/ » après l’avoir désinstallé tout marche à 100%, j’espère que ça aidera un peu.
Merci pour l’addon il est top.
Bonne continuation.
Bonjour,
Merci pour votre retour d’expérience !
Ce module doit sans doute effectuer une surcharge qui rentre en conflit avec mon module.
Cordialement,
Hervé
bonjour
merci pour le module il est bien installer
mais pour le message le visiteur peu envoyer un message malgré le recapatcha est installer
j’ai eu c message la dans le module :
the module is not registered in hook actionContactFormSubmitCaptcha
the module is not registered in hook actionContactFormSubmitBefore
AuthController.php override does not exists
contacform.php override does not exists
Authcontroller override is not present in class_index.php
je n’arrive pas a savoir se que je dois faire
merci d ‘un coup de pousse
yeeeessssssssssss
Bonjour,
Le module semble mal installé.
Réinitialisez l’installation et vider le cache de Prestashop cela devrait permettre de corriger ce comportement.
Cordialement,
Hervé
Le module fonctionne sur l’inscription au site, mais pas dans nous-contacter.
Presta version 1.7.4.3
eicaptcha v0.4.15
Auriez vous la solution ? Merci de votre travail et aide.
Bonjour,
Merci d’ouvrir un ticket sur github avec les informations nécessaires 😉
https://github.com/nenes25/eicaptcha/issues
Cela permets de centraliser les problèmes.
Cordialement,
Hervé
je n’arrive pas à installer le module sur un prestashop 1.7.3.2. Que ce soit via ftp (en recherchant dans les modules et services, il n’est pas visible) ou en l’installant directement dans le BO via le zip j’ai un message d’erreur (Aïe… le chargement a échoué.
Que s’est-il passé ?
Ce fichier ne semble pas être un fichier .zip de module valide). Une idée?
Bonjour,
Avez-vous bien téléchargé le module depuis la page de releases sur github ?
https://github.com/nenes25/eicaptcha/releases ( version 2.0.4 pour prestashop 1.7 )
merci beaucoup pour votre travail et bonne continuation.
Hi! Thanks for the module, i take it and edit it for show the recaptcha for every form, but … i can’t show it in the index page jajaja ¿Are you make a restriction?
Greetings
Bonjour, sur presta 1.7 votre module fonctionne tres bien avec le captcha V2, mais pas avec la V3… Est ce normal ? 🙂 Merci
Bonjour,
Oui c’est normal le module ne gère que la version 2 de recaptcha 😉
Cordialement,
Hervé
Thank you for your great module! 🙂
Hi, I’m using your module in my PS 1.7.5.1, in the creation accounts form.
I would like to modify position and size of recaptcha. I tried modifying eicaptcha.css:
.account_eicaptcha div#captcha-box
{
position:absolute;
float: right;
bottom: 18px;
}
but it doesn’t work. How could I modify position and size properties?
Please, help me.
Hi,
I’ve asked on github, please use the right version of eicaptcha for ps 1.7 😉
Regards,
Hervé
Hello. Juste un petit merci pour ton travail.
Bonjour,
Tout d’abord félicitation pour votre module qui rend bien service !
Le module m’a installé le reCAPTCHA sur le formulaire permettant d’ajouter des commentaires sur les articles du blog de ma boutique Prestashop. Je pense qu’il prend ce formulaire pour un formulaire de contact.
Comment faire pour enlever le reCAPTCHA à cet endroit tout en le laissant sur le formulaire de contact ?
Merci
Bonjour Vincent,
L’idéal pour me permettre de voir cela en détails et d’ouvrir une issue sur github avec l’ensemble des informations demandées et une url du site concernée.
https://github.com/nenes25/eicaptcha/issues
C’est le premier retour de ce type que j’ai sur le module.
Cordialement,
Hervé
Bonjour Hervé, est ce que ton module est compatible avec la 1.7.6 ? Je l’ai installé mais il ne fonctionne pas sur le formulaire d’inscription. Même avec la case robot cochée, il ne se valide pas. Pas d’erreur affichée (ni sur la console JS) mais on revient sur la page. Par contre, sur ma console Google Admin, j’ai le message « Nous avons détecté que votre site ne vérifiait pas les solutions fournies aux tests reCAPTCHA. Vous devez les vérifier afin d’utiliser correctement la fonctionnalité reCAPTCHA sur votre site ». Tu peux m’aider ? D’avance merci. Renaud.
Bonjour Renaud,
De mon côté je ne rencontre pas de problème particuliers sur la dernière version 1.7.6.1
Cf. https://web.h-hennes.fr/dev/prestashop/prestashop_1-7-6-1/fr/ tout semble fonctionner correctement sur mon instance.
Cordialement,
Hervé
Merci Hervé, en effet ça fonctionne bien chez toi. Tu utilises bien la V 0.4.17 ? Je ne comprends pas que ça ne fonctionne pas sur mon formulaire de création de compte. Sans erreur nulle part affichée…
C’est rageant !
Bonjour Renaud,
Désolé ce message était passé en spam.
Je pense que l’erreur etait liée au fait que tu n’utilise pas la bonne version.
Pour la version 1.7 c’est la release 2.x ( 2.0.4 à date qu’il faut utiliser )
Il me semblait avoir bloqué l’installation de celle-ci sur les version 1.7 il faudra que je vérifie.
Cordialement,
Hervé
Cependant, dans le source de mon form inscription j’ai ce code JS juste au dessus du script normal d’appel du reCaptcha :
waiting_message = ‘Merci de patienter pendant la validation du captcha’;
checkCaptchaUrl = ‘/modules/eicaptcha/eicaptcha-ajax.php’;
errorSelector = ‘.alert’;
formSelector = ‘#account-creation_form’;
Peut-être un problème ici ? Je ne le vois pas dans ton source de démo…
Bonjour Hervé, juste un mot pour dire que tout est rentré dans l’ordre et que ton module est parfait ! Merci pour tes modules et tutos sympas.
Bon dimanche.
Bonjour,
Tout d’abord, merci pour ce précieux module ! 🙂
Y a-t-il moyen de le faire fonctionner (même en codant un peu) pour la newsletter afin d’éviter des inscriptions « foireuses » par des robots ?…
Merci par avance pour votre réponse ! 🙂
Bonjour,
Sans mettre les mains dans le code ce ne sera pas possible, cela nécessiterais de modifier pas mal le module ps_emailsubscription également.
Je pense que ca nécessite un temps de dev assez conséquent tout de même
La solution la plus pratique serait peut etre de regarder si il existe un module d’inscription newsletter tout fait avec un captcha imbriqué 🙂
Cordialement,
Hervé
Bonjour,
Merci beaucoup pour ce module très symple et fonctionnel 🙂
j’espère que les bot ne vont pas apprendre à cliquer automatiquement 😛
je reçoie autant de proposition de produits stupéfiants, proposition d’objets « hot » ou des menace de cryptage du site (sachant qu’il n’y a encore rien xD)
J’espère que ce sera un bon frein 🙂
Voilou, merci
Cordialement
Est-ce que ce module est bien compatible avec la version de PrestaShop : 1.7.6.5
Quand je transfère le module j’ai le message suivant :
L’installation du module eicaptcha a échoué. Ce module n’est pas compatible avec votre version de PrestaShop.
Merci
Bonjour,
Merci de télécharger la version 2.0.4 ( dernière version à date pour ps 1.7.x ) depuis cette page : https://github.com/nenes25/eicaptcha/releases/tag/2.0.4
Cordialement,
Hervé
Module installé, super.
Merci.
Bonjour et merci/bravo pour votre module qui fonctionne parfaitement sur mon site… à l’exception de la création de compte dans le processus de paiement.
A ce moment la validation peut se faire sans cocher le captcha. (version PS 1.7.6.3)
Le log n’affiche alors rien.
Une idée??
Bonjour,
Merci de votre retour.
C’est effectivement un bug connu sur le module
(cf. https://github.com/nenes25/eicaptcha/issues )
Il faut que je le corrige, mais je dispose d’assez peu de temps pour ce module en ce moment.
Cordialement,
Hervé
Merci pour votre réponse. Je vais donc fouiller un peu plus de mon côté! Bonne continuation!
Bonjour,
Je viens d’implémenter le module 2.0.4 sur une version PrestaShop 1.7.6.7, ça fonctionne au poil avec la configuration de Type de reCAPTCHA :v2 Case à cocher.
Par contre avec la version v3, j’ai eu un problème (pb avec les clés).
Donc je suis resté à la v2 et ça me convient.
Un grand merci !
bonjour, et merci pour ce code, par contre j’ai installé le module et le recaptcha n’apparaît pas. Je n’ai pourtant aucun override du formulaire de contact.
merci d’avance
Bonjour Caroline,
Concernant les problèmes de ce module, merci d’ouvrir une issue sur github 😉
https://github.com/nenes25/eicaptcha/issues
Cordialement,
Hervé
Gracias por el modulo funciona correctamente a la fecha de 12,27,2021 para prestashop version 1.7.7.4
Bonjour
y a t-il moyen d’afficher le captcha sur le formulaire « poser une question sur le produit » ?
Les spammeurs peuvent passer par là puisqu’avec l’installation du Eicaptcha ce formulaire n’est pas protégé
Merci 🙂
Bonjour,
Actuellement ce n’est pas possible.
Je réfléchis à une méthode de validation de captcha qui pourrait être utilisée par les autres modules.
(cf. https://github.com/nenes25/eicaptcha/issues/217 ) mais pour l’instant je n’ai pas encore avancé sur le sujet.
Cordialement,
Hervé
Buenos días.
Que versión se podría instalar sobre un Prestashop 1.6.1?? No sé si solamente sirven las v0 o también la v2 (veo que la v2.1.0 especifica solamente para Prestashop 1.7).
Actualmente tengo la versión v0.4.15 pero muchas veces al pulsar el check del captcha directamente lo marca como válido, sin solicitar la selección de objetos (y me siguen creando cuentas bots de forma continuada).
Un saludo.
Bonjour,
La version 0.4.15 qui est la seule encore compatible avec prestashop 1.6 n’est malheureusement plus maintenue.
Les autres versions sont compatibles uniquement avec prestashop 1.7 +
Il faudra sans doute que vous changiez de module.
Cordialement,
Hervé
IL faut le réactiver dans les modules ça semble ok avec PrestaShop 8.03