janvier 2023

Prestashop : Ajouter une règle de validation sur un champ du formulaire de création de compte

Ça fait quelques temps que je n’avais pas publié de tutoriel générique sur Prestashop, mais celui-ci est parti du besoin suivant :

Sur ma boutique sur laquelle je propose des modules ( gratuit ) en téléchargement , j’ai pas mal d’emails fantaisistes pour les clients qui s’inscrivent.
Hors comme les modules sont ensuite envoyés par email, si celui du client ne correspond à rien aucune chance qu’il arrive au destinataire :/
Je souhaitais donc rajouter une règle de validation supplémentaire, pour ne pas autoriser les domaines emails  : test.com, example.com …

Attention ce tutoriel s’applique si vous souhaitez ajouter des règles de validation sur les champs standards du formulaire de création de compte :

  • Civilité
  • Prénom
  • Nom
  • Email
  • Mot de passe
  • Date de naissance

Pour l’ajout de vos propres champs vous pouvez regarder le tutoriel ici : https://www.h-hennes.fr/blog/2017/10/10/prestashop-1-7-ajouter-des-champs-clients/

Champs standards du formulaire de création de compte

Analyse et identification de la procédure

Pour ajouter cette validation on va faire un module qui va utiliser le hook additionalCustomerFormFields
Qui contrairement à ce que son nom laisse penser, permets également de modifier les champs actuels du formulaire.…

Prestashop : Ajouter une règle de validation sur un champ du formulaire de création de compte Lire la suite »

Utilisation d’une google cloud function avec authorisation en php

Petit tutoriel qui sors un peu de mes sujets habituels mais qui reste dans le cadre du développement php.
Nous allons voir comment appeler une google cloud fonction, qui nécessite une authentification.

La difficulté pour moi a vraiment été l’authentification et c’est un sujet qui m’a fait perdre un temps fou car la documentation de Google n’était absolument pas
claire sur le sujet.
L’authentification est réalisée via un fichier json reprenant les informations d’un compte de service. ( Cf. exemple ci-dessous )

Comme vous pouvez le juger sur la page suivante :  https://cloud.google.com/functions/docs/securing/authenticating 

Des exemples sont donnés en NodeJs, Go , Python et Java, mais en Php nous sommes invités à utiliser des bibliothèques tiers pour générer des jetons d’authentification, sans explications détaillées.

Voici un exemple de contenu du fichier d’authentification json

{
  "type": "service_account",
  "project_id": "PROJECT-ID",
  "private_key_id": "PRIVATE-KEY-ID",
  "private_key": "PRIVATE-KEY",
  "client_email": "[email protected]",
  "client_id": "CLIENT-ID",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/CUSTOMER-URL"
}

Utilisation d’une google cloud function avec authorisation en php Lire la suite »

Développez en local avec des domaines .localhost

Petite note rapide pour présenter une fonctionnalité qui doit exister depuis des années mais que je n’avait jamais utilisé.
Ceci s’applique uniquement si vous développez en local sous linux ( testé sur les versions 18 à 22 de Ubuntu )

Historiquement pour mes urls de développement j’ai utilisé les extensions suivantes :

  • .dev
  • .local

Pour chaque domaine il faut ensuite ajouter une entrée dans le fichier /ect/hosts
Si vous utilisez l’extension .localhost cela ne sera plus nécessaire car elle est automatiquement associée à votre poste de développement 🙂

Dorénavant tous mes projets sont donc sous la forme : https://www.mon-url-de-site.com.localhost
Plus besoin de toucher à ce fichier hosts !…

Développez en local avec des domaines .localhost Lire la suite »