Comment ajouter reCaptcha à Prestatshop en 3 étapes

Rédigé par chris - - Aucun commentaire

Prestashop est un des logiciel ecommerce les plus utilisé mais le formulaire de contact ne contient pas de protection contre le spam. Vous pouvez bien sûr ajouter un plugin souvent payant. Mais ici je vais vous donner une façon de faire gratuite en 3 étapes et 30 minutes maximum. Ce tuto a été fait avec prestashop 1.6 si vous avez une version 1.7 j'aimerais avoir vos retours sur ce qui change.


1 Créer votre compte reCAPTCHA si vous n'en avez pas

https://www.google.com/recaptcha/intro/index.html

J'ai choisis reCaptcha2 Notez bien la clé et ajouter votre domaine voir aussi votre domaine de test

2  Changer le formulaire contact-form.tpl

C'est le formulaire de contact. Il devrait se trouver dans le thème.

Cherchez la fin du formulaire le code suivant (c'est le bouton principal)
 <div class="submit"> 
<button type="submit" name="submitMessage" id="submitMessage" class="button"><span>
{l s='Send'}
<i class="icon-chevron-right right"></i></span>
</button>
</div>
</form>
Juste avant copier les lignes suivantes et changer le mot key par votre clé
 <script src='https://www.google.com/recaptcha/api.js'></script>
<div class="g-recaptcha" data-sitekey="key"></div>
Cela devrait ressembler à cela
<div> <script src='https://www.google.com/recaptcha/api.js'></script>
 <div class="g-recaptcha" data-sitekey="key"></div>
</div>
 <div class="submit">
 <button type="submit" name="submitMessage" id="submitMessage" class="button"><span>
{l s='Send'}<i class="icon-chevron-right right"></i></span>
</button>
 </div>
</form>

3 Modifier le controleur ContactControler.php

Ce source devrait se trouver dans \override\controllers\front si ce n'est pas le cas copier le depuis \controllers\front.
Cherchez la deuxième fonction  postProcess() et ajoutez les lignes suivante. C'est le test si le captcha est bon ou non

  if (Tools::isSubmit('submitMessage')) {
 $extension = array('.txt', '.rtf', '.doc', '.docx', '.pdf', '.zip', '.png', '.jpeg', '.gif', '.jpg');
$file_attachment = Tools::fileAttachment('fileUpload');
$message = Tools::getValue('message');
// Html entities is not usefull, iscleanHtml check there is no bad html tags.
$id_order = (int)$this->getOrder();
if (!($from = trim(Tools::getValue('from'))) || !Validate::isEmail($from)) {
$this->errors[] = Tools::displayError('Invalid email address.');
// ajoutez ces deux lignes qui sont en gras 
} elseif (!($gcaptcha = (int)(Tools::getValue('g-recaptcha-response')))) {
$this->errors[] = Tools::displayError('Captcha error');
// jusqu'ici

Voila c'est fait. Vous testez et envoyez vos sources

Autres tutos

Nextcloud ou Hubzilla

Rédigé par chris - - Aucun commentaire
nextcloud ou hubzilla

Cela fait longtemps que j'utilise Hubzilla . Je pensais même l'utiliser pour une plateforme d'échange en entreprise. Sur le papier c'est l'outil idéal. Il permet de faire un réseau social, un cloud, d'avoir un calendrier etc... Bref ce pourrait être l'outil de choix.

Mais je suis devenu hésitant pour plusieurs raisons.
- Hubzilla est compliqué. Si on accepte que l'administrateur doit configurer l'application, Hubzilla demande souvent à l'utilisateur d'activer des plugins. Si il n'est trés doué, il n'arrivera pas. L'administrateur ne pourra pas le faire pour lui.
- Hubzilla est toujours peu populaire. La communauté de Hubzilla est toujours trés limité à une poignée de développeurs anglophone. Les utilisateurs francophones ne devraient pas dépasser le nombre des doigt d'une main.
- Je n'ai jamais vraiment réussi à utiliser le cloud de Hubzilla. Ma référence c'était dropbox ou même owncloud. On installe un programme sur l'ordinateur, on le configurer et on a un répertoire qu'on peut synchroniser. En théorie cela fonctionne mais je n'ai pas réussi. Je ne peux donc pas imaginer qu'un simple utilisateur réussisse.  Le partage d'un dossier n'est pas du tout ergonomique et .. en fait je n'ai pas réussi à le faire aussi bien qu'avec dropbox par exemple. Si hubzilla a les fonctionnalités de partage de fichier, son utilisation demande à être améliorer et simplifier.
- L'identité nomade n'est pas vraiment utile en entreprise. C'est le principal point fort de Hubzilla

En résumé Hubzilla est trop compliqué peu utilisable et peu populaire.

Et Nextcloud ? Nexcloud s'installe trés facilement. Vous téléchargez un petit fichier source installateur et vous allez sur votre site en lançant cette page. Cela installe nextcloud trés rapidement.
Nexcloud est à la base un outil de synchronisation et de partage de fichier. Donc cette fonctionnalité est le point fort. Le client installé sur l'ordinateur de bureau fonctionne à merveille. On a un répertoire qui est synchronisé. L'application mobile fonctionne à merveille. On peut depuis le mobile envoyer des fichiers par exemples des photos trés facilement.
L'administrateur peut créer des utilisateurs et les organiser dans des groupes. Il peut affecter facilement une place disque pour l'utilisateur. Cela se fait de façon beaucoup plus conviviale que pour Hubzilla.
La Calendrier est par défaut compatible caldav. Donc on peut le lier à outlook ou le synchroniser à une application mobile.
Chaque groupe peut avoir un dossier commun.
Un chat xmpp existe. Les utilisateurs internes peuvent donc discuter de façon instantané. Hubzilla a aussi un chat mais son usage est beaucoup moins conviviale.
Un chat vidéo existe mais je ne l'ai pas testé. Il y a même une application de conférence vidéo.
Un magasin d'application existe et on peut ajouter des applications simplement pour différents usages.
La seule chose qui manque à Nextcloud c'est un blog de discussion. Alors que Hubzilla est à la base un réseau social.

Ma conclusion de ce comparatif. Nextcloud est beaucoup plus convivial pour l'administrateur et pour l'utilisateur. Mais son point faible est le coté blog social. Cela manque sur nextcloud. C'est pour l'instant ma préférence pour un usage en entreprise.

Espérons que Hubzilla améliore la simplicité d'usage et soit plus orienté utilisateur car cet outil a un potentiel gigantesque à faire révolutionner internet avec son concept d'identité nomade. J'ai juste pas vraiment le sentiment que les développeurs ne sentent le besoin d'avoir une application orienté utilisateur et plus simple.

Je continue cependant à utiliser Hubzilla pour un usage personnel.

Site officiel de Nextcloud
Site du projet Hubzilla

Mot de passe mysql perdu

Rédigé par chris - - Aucun commentaire

Comment faire quand on a perdu son mot de passe root de mysql ? Voici un tuto pour vous sortir d'affaire à condition que d'avoir un accés en ligne de commande.

Il faut donc avoir un accés root. Si vous êtes sous ubunto ajouter sudo devant les commandes

/etc/init.d/mysql stop
mysqld_safe --skip-grant-tables &
mysql -u root

mysql> use mysql;
mysql> update user set password=PASSWORD(”votrenouveaumotdepasse”) where user=’root’;
mysql> flush privileges;
mysql> quit
voila, vous pouvez encore éventuellement arrêter et relancer mysql
/etc/init.d/mysql stop
/etc/init.d/mysql start
Autres tutos

Liberté sur internet : le site anti IVG simoneveil.com bloqué

Rédigé par chris - - Aucun commentaire
simoneveil.com
Le site simoneveil.com a été bloqué car il véhiculait des idées anti avortement. Bon c'est vrai qu'il y avait peut être un problème avec le nom de Simone Viel décédé il y a peu mais c'est la première fois que j'entends qu'un site internet est bloqué car il véhicule une pensé contraire à la bien pensance ambiante. Si on n'est pas d'accord avec l'IVG et qu'on s'exprime on peut être poursuivit.

Pas malin d'avoir choisit un bureau d'enregistrement et un hébergeur français (OVH). Prudence numéro 1 ne pas mettre le nom de domaine et l'hébergeur ensemble. Règle numéro 2 ne pas héberger en France.

Si vous êtes curieux archive.org a eu le temps de prendre deux images de ce site une le 7 juillet 2017 et une autre le 17 juin 2017

En France une loi de délit d'entrave à l'IVG a été voté. Ce texte, voté à main levée, prévoit d’étendre au numérique le délit d’entrave à l’interruption volontaire de grossesse, créé en 1993 et sanctionné par une peine pouvant aller jusqu’à deux ans d’emprisonnement et 30 000 euros d’amende.

Fil RSS des articles de cette catégorie