Les formulaire de contacts sont de plus en plus soumis aux spams, ce qui devient assez agaçant…, malheureusement le formulaire de contact de Prestashop ne fait pas exception à la règle.
Voici donc un module qui vous permettra d’ajouter l’excellent « Recaptcha » de Google à votre formulaire de contact Prestashop, ainsi que sur le formulaire de création de compte.

Ce module faisant l’objet de nombreuses modifications, comme je ne souhaite pas écrire un nouvel article à chaque fois celles-ci seront listées sur cette page.

Version 1.7

Depuis la sortie de prestashop 1.7 , le module a été complétement réécrit et des fonctionnalités ont été supprimées.
L’ensemble du code est disponible sur github sur la branche 17 , et les releases à télécharger sont les versions 2.x
Pour plus de détails vous pouvez consulter la page : Captcha Prestashop 1.7

L’ancienne version du module fonctionne toujours pour les versions de prestashop  1.5.x et 1.6.x ( Le support de la version 1.5 sera abandonné prochainement )
Vous trouverez ici le détails des derniers changements.

Installation du module :

Pour installer le module, il faut télécharger la dernière release depuis github :
https://github.com/nenes25/eicaptcha/releases

Les version pour prestashop < 1.7 sont taguées 0.x.x ( La dernière version à date est la 0.4.11 )

Ei captcha releases

 

Télécharger le fichier eicaptcha.zip

Vous pouvez ensuite au choix :

  • installer directement le module depuis l’administration en envoyant le fichier eicaptcha.zip
  • extraire l’archive et envoyer son contenu via ftp dans le dossier “modules” de votre site.

Configuration du module :

Il faut ensuite installer le module dans Prestashop et le configurer :

Configuration eicaptcha
Pour cela il faut saisir les clés recaptcha , et activer le captcha aux endroits souhaités.
Vous avez également la possibilité de forcer une langue, et un thème.

Informations additionnelles :

Le module  permets également de mettre un captcha sur les formulaire “Commentaires produits” et “Envoyer à un ami” de la fiche produit.
Cependant pour ne pas modifier le design de vos boutiques, il est nécessaire de l’installer manuellement.
Les processus sont détaillés ici :
Prestashop : Mettre en place un captcha sur les commentaires produits
Prestashop : Captcha sur le formulaire Envoyer à un ami

La dernière version du module compatible avec Prestashop inférieur à  1.5 est  la version 0.3.1 ( 2015-01-22 ) :

Télécharger le module pour Prestashop < 1.5

Problèmes fréquents :

  • Captcha non visible sur le formulaire de contact :

Le module ajoute dynamiquement une balise html <div id=”captcha-box”></div> à la fin du formulaire de contact, le captcha est ensuite ajouté automatiquement dans cette balise par le script recaptcha.

Sur certains thèmes spécifiques l’ajout de cette balise ne fonctionne pas correctement.
Le plus simple pour le corriger est d’ajouter manuellement le code

<div id="captcha-box"></div>

dans le template du formulaire de contact qui est situé dans themes/votretheme/contact-form.tpl avant la fin de la balise </form> ( libre à vous d’adapter ensuite son affichage )

Une prochaine version permettra de configurer ce point dans l’administration ,v ous pouvez consulter l’article suivant pour plus de détails :
https://www.h-hennes.fr/blog/2018/02/23/eicaptcha-ajout-dune-configuration-avancees-des-selecteurs/

Pour les autres problèmes non listés ici , merci de les remonter directement sur github :
https://github.com/nenes25/eicaptcha/issues

Historique des changements

/**
 * Module Captcha
 * Mise en place d'un (re)captcha sur le formulaire de contact et de création de compte
 * © h-hennes 2013-2018
 * http://www.h-hennes.fr/blog/
 */

 - v 0.1.0 - 2013-11-09 : Version initiale du module ( compatible uniquement prestashop 1.4 ) // Inital version of the module ( only compatible with prestashop 1.4)
 - v 0.1.0 - 2013-11-11 : Compatibilité prestashop 1.5 // Prestashop 1.5 compatibility
 - v 0.1.1 - 2013-12-24 : Modification de la vérification du code qui se fait en ajax // Modification of code verification now done with ajax
 - V 0.1.2 - 2014-01-17 : Correction d'un bug lors de l'affichage du formulaire de contact avec le protocole https // Display bug correction with https protocol
 - V 0.1.3 - 2014-05-05 : Correction d'un bug https + création fichier avec les instructions d'installation // Bug correction with https + add file with installations instructions
 - V 0.1.4 - 2014-05-15 : Compatibilité Prestashop 1.6 // Prestashop 1.6 Compatibility
 - V 0.1.5 - 2014-07-28 : Correction d'un bug d'affichage avec l'option "PS_JS_DEFER" // Display correction with option "PS_JS_DEFER"

 - V 0.2.0 - 2014-08-21 : Nouvelle version qui permets également de mettre en place le captcha dans le formulaire de création de compte (configurable ) // New version which allows to use the captcha on the account creation form (configurable)
 - V 0.2.1 - 2014-09-11 : Correction appel Ajax et constante DS // Ajax Call correction with DS constant
 - V 0.2.2 - 2014-10-06 : Correction désactivation captcha sur le formulaire de création de compte // Correction of captcha activation on create account form
 - V 0.3.0 - 2015-01-20 : Option pour passer sur l'API V2 sur le formulaire de contact // Possibility to use API V2 for the contact form
 - V 0.3.1 - 2015-01-22 : Gestion de l'API V2 pour le formulaire de création de compte // API V2 for account creation
 - V 0.4.0 - 2015-02-12 : /!\ Compatible Prestashop > 1.5., API (Re)Captcha V2
 - V 0.4.1 - 2015-05-21 : Suppression fichier inutile + ligne debug  // Optimisation
 - V 0.4.2 - 2015-05-22 : Ajout du code pour mettre en place le captcha sur le formulaire envoyer à un ami // Add code to display captcha on the send to friend form
 - V 0.4.3 - 2015-06-17 : Ajout du code pour mettre en place le captcha sur les commentaires produits // Add code to display captcha on the product comments form
 - V 0.4.4 - 2015-07-07 : Correctif lorsque le captcha est activé à la fois sur le module sendtoafriend et productcomments  // Correction when the captcha is enable on both productcomments and sendtoafriend module
 - V 0.4.5 - 2015-08-12 : Possibilité d'activer / désactiver le captcha sur le formulaire de contact // Add possibilty to enable/disable the captcha on the contact form
 - V 0.4.6 - 2016-03-31 : Configuration du thème et de la langue du captcha // Configuration of theme and lang of captcha ==>  BY PasiC
 - V 0.4.7 - 2016-08-06 : Optimisations code et sécurité // Code optimisations and security
 - V 0.4.8 - 2016-10-11 : Fix js on account form
 - V 0.4.9 - 2017-06-14 : Fix PR #7 issues
 - V 0.4.10 - 2017-09-28 : Détection automatique de la langue // Automatic Language detection  + romanian translations | Thank to igPetru
 - V 0.4.11 - 2018-01-05 : Message d'erreur si le dossier composer n'est pas présent // Warning message if composer directory is not present
 - V 0.4.12 - 2018-01-26 : Verification de la version de prestashop pour ne pas l'installer si supérieur à 1.7 //  Check if PS version is under 1.7 to allow install
 - V 0.4.13 - 2018-02-23 : - Fix with PHP < 5.5 ( #14 )
                           - PS 1.5 fixes ( thanks to Nobodaddy ) 
                           - German translations  ( thanks to Nobodaddy )
                           - Add advanced configuration for captcha placeholder and contact form submit button
 - V 0.4.14 - 2018-03-10 : - Add tool to check if module is well installed in back office
 - V 0.4.15 - 2018-08-13 : - Fix messed up override code injection when the controller is already overrided (thanks Bm-services)
                           - Fix error message display
                           - Add it translations thanks to Michele Zucal
 

 

Aperçus :

Voici l’aperçu du module sous les différentes versions de prestashop avec les thèmes de bases.
Il est ensuite tout à fait possible de placer ce code à des endroit différents du formulaire.

Prestashop 1.6

Ei captcha prestashop 1.6

Prestashop 1.5

Captcha Prestashop 1.5

Prestashop 1.4

Captcha Prestashop 1.4

2018-02-12 : Mise à jour complète de la page
2018-02-22 : Ajout de problèmes fréquents

Lire la suite...