Publié le

Créer une liste déroulante multiselect dans Contact Form 7 où on peut cliquer plusieurs options sans utiliser Ctrl

Créer une liste déroulante multiselect dans Contact Form 7 où on peut cliquer plusieurs options sans utiliser Ctrl
Créer une liste déroulante multiselect dans Contact Form 7 où on peut cliquer plusieurs options sans utiliser Ctrl

Par défaut, Contact Form 7 permet les listes déroulantes avec sélection multiple, mais l’utilisateur doit maintenir Ctrl (ou Cmd sur Mac) pour sélectionner plusieurs éléments — ce qui n’est pas très ergonomique.

L’objectif de cet article est de créer une liste déroulante multiselect dans Contact Form 7 où on peut cliquer plusieurs options sans utiliser Ctrl (donc plus proche d’une checkbox stylisée ou d’un select amélioré).

Utiliser le plugin Select2 avec Contact Form 7

1. Créer le champ dans ton formulaire CF7

Voici un champ multiselect classique :

[select* my-multiselect multiple "Option 1" "Option 2" "Option 3"]

Le * signifie que le champ est requis, et multiple permet la sélection multiple.

Mais avec ce code, l’utilisateur devra utiliser Ctrl/Cmd. Donc, passons à la suite.

2. Activer Select2 sur ce champ

a. Ajouter un identifiant ou une classe à ton champ :

[select* my-multiselect class:cf7-select2 multiple "Option 1" "Option 2" "Option 3"]

b. Ajouter le script Select2

Tu dois charger Select2 JS + CSS dans ton thème. Voici comment faire :

Ajoute ce code dans le fichier functions.php de ton thème enfant :

function enqueue_select2_for_cf7() {
    if (is_page()) { // ou un autre test selon où se trouve ton formulaire
        wp_enqueue_style('select2-css', 'https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css');
        wp_enqueue_script('select2-js', 'https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js', array('jquery'), null, true);

        wp_add_inline_script('select2-js', "
            jQuery(document).ready(function($) {
                $('.cf7-select2').select2({
                    width: '100%',
                    placeholder: 'Faites votre sélection',
                    closeOnSelect: false
                });
            });
        ");
    }
}
add_action('wp_enqueue_scripts', 'enqueue_select2_for_cf7');

Ce script appelle Select2 JS+CSS puis une fois la page est chargée, il cherche la class .cf7-select2 et remplace le fonctionnement initial.

Résultat :

  • Ton champ multiselect dans Contact Form 7 est stylisé.
  • L’utilisateur peut sélectionner plusieurs options sans appuyer sur la touche Ctrl.
  • L’expérience est bien meilleure sur desktop et mobile.
Publié le

Protéger votre Nom de Domaine avec SPF, DKIM et DMARC : Un Trio Infaillible contre les Menaces d’Email

Une des principales menaces auxquelles les organisations sont confrontées est la compromission de leur identité en ligne à travers des emails frauduleux. C’est là que le trio SPF, DKIM et DMARC entre en jeu, offrant une défense robuste contre ces attaques sournoises.

SPF (Sender Policy Framework)

SPF est le premier rempart de défense dans la lutte contre la fraude par email. Il agit en spécifiant les serveurs de messagerie autorisés à envoyer des emails au nom d’un domaine spécifique. En configurant une politique SPF appropriée pour votre domaine, vous pouvez restreindre les adresses IP autorisées à envoyer des emails en votre nom, réduisant ainsi les risques d’usurpation d’identité.

Prenons un exemple concret : supposons que votre entreprise utilise un service de messagerie tiers pour envoyer des emails à vos clients. En configurant SPF correctement, vous pouvez indiquer explicitement que seuls les serveurs de messagerie de ce fournisseur tiers sont autorisés à envoyer des emails en votre nom. Ainsi, si un pirate tente d’envoyer des emails frauduleux en se faisant passer pour votre entreprise, la politique SPF aidera les destinataires à identifier ces emails comme des tentatives de ph

DKIM (DomainKeys Identified Mail)

Alors que SPF se concentre sur l’authentification des serveurs de messagerie, DKIM vise à garantir l’intégrité et l’authenticité des emails eux-mêmes. En apposant une signature numérique cryptographique à chaque email sortant, DKIM permet au destinataire de vérifier que le message provient bien du domaine indiqué et qu’il n’a pas été altéré en cours de route.

Imaginez que vous envoyiez un email important à un client potentiel. Grâce à DKIM, ce client peut vérifier que l’email qu’il reçoit est authentique et n’a pas été modifié par des tiers malveillants. Cela renforce la confiance dans votre communication et réduit les risques que vos emails soient falsifiés à des fins frauduleuses.

DMARC (Domain-based Message Authentication, Reporting, and Conformance)

DMARC agit comme un mécanisme de contrôle supplémentaire en combinant SPF et DKIM pour renforcer encore la sécurité des emails. En définissant des politiques DMARC, vous pouvez spécifier comment les destinataires doivent traiter les emails qui échouent à l’authentification SPF ou DKIM. De plus, DMARC fournit des rapports détaillés sur les tentatives d’utilisation frauduleuse de votre domaine, vous permettant de surveiller et de réagir aux activités suspectes.

Avec DMARC en place, vous pouvez mieux protéger votre marque et votre réputation en ligne. En recevant des rapports sur les tentatives de phishing et de spoofing utilisant votre domaine, vous pouvez prendre des mesures proactives pour contrer ces menaces et protéger vos clients contre les attaques malveillantes.

 

 

En investissant dans la sécurité de vos communications par email, vous investissez dans la pérennité et la fiabilité de votre entreprise dans le paysage numérique d’aujourd’hui.

Publié le

Comment migrer un site WordPress

La migration d’un site fait avec le CMS WordPress d’un serveur à un autre peut être un processus délicat, mais avec une bonne procédure, cela peut être fait en toute sécurité :

Avant de commencer :

Sauvegarde du site :

Assurez vous de sauvegarder tous les fichiers du site ainsi que la base de données à jour. Demander aux utilisateurs de l’administration de ne plus faire de modification avant la mise en ligne sur le nouveau server.

Migration des fichiers :

Exporter les fichiers : Téléchargez tous les fichiers du site depuis le serveur source vers votre ordinateur local via FTP.
Modifier les configurations : Si le chemin d’accès au site change, assurez-vous de mettre à jour les liens dans les fichiers de configuration (par exemple, wp-config.php) avec les nouvelles informations du serveur.

Migration de la base de données :

Exporter la base de données : Utilisez un outil comme phpMyAdmin pour exporter la base de données du site depuis le serveur source.
Modifier les liens dans la base de données : Si le nom de domaine ou le chemin d’accès au site change, modifiez ces informations dans la base de données. Vous pouvez utiliser un éditeur de texte ou un outil de recherche/remplacement dans le fichier SQL exporté.

Configuration sur le nouveau serveur :

Transférer les fichiers : Téléchargez les fichiers du site sur le nouveau serveur via FTP.
Configurer la base de données : Assurez-vous que les informations de la base de données dans le fichier wp-config.php correspondent à celles du nouveau serveur.

Mises à jour des liens dans WordPress :

Utiliser un outil de recherche et remplacement : Utilisez un plugin WordPress ou un script en ligne de commande pour mettre à jour les liens dans la base de données.

Test du site sur le nouveau serveur :

Vérification des liens et fonctionnalités : Assurez-vous que tous les liens fonctionnent correctement et que toutes les fonctionnalités du site sont opérationnelles.
Réglage des permaliens : Si vous utilisez des permaliens, assurez-vous qu’ils sont configurés correctement sur le nouveau serveur.

Mise à jour des DNS :

Modifier les enregistrements DNS : Mettez à jour les enregistrements DNS de votre nom de domaine pour pointer vers le nouveau serveur.

Publié le

Supprimer les balises Html dans des données

Éliminez toutes les balises HTML de vos chaînes de texte en utilisant la fonction Rechercher et Remplacer. L’utilisation astucieuse de Rechercher et Remplacer dans Excel peut résoudre ce problème. Suivez ces étapes simples :

Choisissez les cellules où vous souhaitez retirer les balises HTML.

Appuyez simultanément sur les touches Ctrl + H pour ouvrir la boîte de dialogue Rechercher et Remplacer. Dans cette boîte, saisissez <*> dans la zone « Trouver ce que » et laissez la zone « Remplacer par » vide. Consultez la capture d’écran pour plus de clarté.

Maintenant, parlons des applications concrètes de cette méthode :

Nettoyage des données web : Lorsque vous copiez des informations à partir d’une page web dans Excel, vous pouvez souvent vous retrouver avec des balises HTML indésirables. Utilisez Rechercher et Remplacer pour les éliminer rapidement.

Préparation de données pour l’analyse : Avant d’effectuer des analyses ou de créer des graphiques, il est essentiel d’avoir des données bien formatées. En retirant les balises HTML, vous garantissez une qualité de données optimale.

Création de rapports propres : Si vous exportez des données HTML dans Excel pour créer des rapports, cette méthode vous permet de présenter des informations nettes et professionnelles.

Traitement des données en vrac : Lorsque vous travaillez avec de grandes quantités de données, l’utilisation de Rechercher et Remplacer permet un nettoyage efficace et rapide des balises HTML, améliorant ainsi la lisibilité et la compréhension des données.

Migration de données : Si vous migrez des données d’un système à un autre, il est courant de rencontrer des balises HTML inutiles. Cette méthode garantit une transition sans heurts en éliminant ces éléments superflus.

En suivant ces étapes simples et en comprenant les applications pratiques, vous pouvez optimiser votre travail avec Excel et garantir la qualité de vos données.

Publié le Laisser un commentaire

Ajouter un champ dans une Table SQL sur phpMyAdmin

e-loou-ajouter-champ-table-phpmyadmin

Pour insérer une colonne dans une table donc un champ vous avez plusieurs méthodes possible. Voici 2 méthodes simples à mettre en œuvre en vous connectant à votre base de donnée avec phpMyAdmin.

I - Requête SQL

La première méthode consiste à exécuter une requête SQL dans la Table.
Pour ce faire, cliquez sur la table désirée, puis aller dans l’onglet SQL et exécutez le code suivant :

ALTER TABLE `nom_de_table` ADD `nom_nouvelle_colonne` VARCHAR(255) AFTER `nom_colonne_existante`

la commande ALTER TABLE permet de modifier la structure d’une Table

ADD sert à ajouter un champ

VARCHAR(255) est le type de champ. Il peut être  égal à INT, VARCHAR(xx), TEXT, DATE, etc …

AFTER indique que l’on souhaite insérer notre nouveau champ/nouvelle colonne après un champ existant.
Cette commande n’est pas nécessaire si vous souhaitez ajouter votre nouveau champ en fin de structure.

Attention à l’utilisation des ` et des ‘ lors de votre requête. ce sont 2 signes différents.

II - Fonction de phpMyAdmin

Si vous ne vous sentez pas à l’aise avec l’exécution de code SQL, vous pouvez également utiliser l’outil intégré de phpMyAdmin.

Cliquez sur la Table à modifier, puis aller à l’onglet Structure.

En bas de la liste de champs, vous trouverez l’outil permettant d’ajouter des colonnes.

Avant le bouton exécuter, vous avez la liste des champs déjà présents dans votre Table. Sélectionnez le champ ou vous souhaitez intégrer votre nouveau champ après.

e-loou-ajouter-champ-table-phpmyadmin

Complétez les données comme vous le souhaitez.

De manière générale, seules les colonnes nom, type et interclassement sont à remplir.

Avant de cliquer sur Enregistrer, vous pouvez demander à tester votre demande en cliquant sur Aperçu SQL et phpMyAdmin vous indiquera si votre demande est correctement remplie.

Publié le Laisser un commentaire

Protection d’un répertoire avec .htaccess

Créer votre fichier .htaccess

Pour protéger un répertoire sur votre serveur, il suffit de créer un fichier .htaccess et un fichier .htpasswd

Dans votre fichier .htaccess renseignez les lignes suivantes au début du fichier

AuthUserFile /xxx/chemin/xxx/.htpasswd
AuthName "Acc&eagrave;s Restreint"
AuthType Basic
require valid-user

Pour trouver le chemin de votre répertoire, vous pouvez-utiliser créer un fichier chemin.php à mettre à l’intérieur

le chemin réel vers un fichier pour htaccess / htpassd : <?php echo realpath('chemin.php'); ?>

et à appeler sur votre navigateur https://votre_site.fr/repertoire/chemin.php qui vous affichera la réponse.

Créer votre fichier .htpasswd

il faut ensuite créer un fichier .htpasswd à mettre dans le répertoire que vous aurez renseignez ici : AuthUserFil /xxx/chemin/repertoire/.htpasswd

Ce fichier .htpasswd ne contiendra que les noms d’utilisateurs et les mots de passe encryptés en MD5.
Allez à la ligne pour en ajouter plusieurs.

nom:motDePass
autrenom:autreMDP

Générer votre mot de passe en MD5

sous Windows : ouvrez une console, lancez openSSL et utlisez la commande passwd -apr1 votremdp

PS C:\Users\Utilisateur> openssl
OpenSSL> passwd -apr1 toto
$apr1$sjZMa0HY$mrsQ20GPo74NRGa5RHTiG.
htpasswd linux

sous Linux : utilisez la commande htpasswd -nbm

$ htpasswd -nbm monNom monMot-de-passe
monNom:$2y$05$c4WoMPo3SXsafkva.HHa6uXQZWr7oboPiC2bT/r7q1BB8I2s0BRqC      

Pour aller plus loin, référez-vous à la documentation Apache.

Publié le Laisser un commentaire

SQL : Mettre un champ à NULL

Suite à la création d’une table ou à l’importation d’une base de donnée, il se peut que vous souhaitiez paramétrer un champ d’une table à NULL.

Le plus simple, lors de l’import de la table est de mettre la valeur à NULL sans guillemets.

INSERT INTO eloou VALUES (1, 'Leleu', NULL);

Si toutefois votre base SQL n’avait pas bien interprété votre requête, il vous faudra mettre à jour ce champ.

Considérons une table de type :

-- create a table
CREATE TABLE eloou (id INT AUTO_INCREMENT PRIMARY KEY, Name varchar(255), First varchar(255));
-- insert some values
INSERT INTO eloou VALUES (1, 'Leleu', 'Marc');
INSERT INTO eloou VALUES (2, 'Goubard', 'Laura');
INSERT INTO eloou VALUES (3, 'Schmid', 'Robert');
INSERT INTO eloou VALUES (4, 'Evenas', 'JF');
Ou sur une seule ligne
INSERT INTO eloou VALUES 
(1, 'Leleu', 'Marc'),
(2, 'Goubard', 'Laura'),
(3, 'Schmid', 'Robert'),
(4, 'Evenas', 'JF');

Pour mettre à jour la table eloou, utilisez la commande UPDATE

 UPDATE TABLE eloou;

Pour changer la valeur d’un champ et le mettre à NULL, utilisez la commande SET

update TABLE 
set COLUMN_NAME = NULL 
where CRITERES;

Pour mettre le champ First à NULL à la place de Marc

update eloou set First = NULL where First='Marc';
ou
update eloou set First = NULL where id='1';
mysql-set-null

On peut également mettre toute la colonne à NULL, sans critère

update eloou set First = NULL;
Publié le Laisser un commentaire

Redirections .htaccess

Il existe différentes manières de faire des redirections via le fichier .htaccess.

Vous trouverez ci-dessous, certains cas de figures complexes.

Pour le SEO, il est préférable de régler vos problèmes de redirections autrement.
Soit directement dans votre sitemap et sur votre console (google search …), soit directement dans les fichiers de votre site ou votre CMS.

Redirection basique

RewriteEngine On 
RewriteRule .* page.extension

.* = toutes les pages vers une autre page

RewriteRule dossier /sous-dossier/page.extension 

Ici on redirige toutes les requêtes /dossier vers /sous-dossier/page

Redirection répertoire

Ici on va chercher à rediriger le répertoire /faq/1 et toutes les urls à l’intérieur :

/faq/1/ vers https://url/dossier1
/faq/1/page-de-test.php vers https://url/dossier1
/faq/1/sous-rep1/ vers https://url/dossier1
/faq/1/sous-rep1/page-de-test2.php vers https://url/dossier1

RedirectMatch 301 ^/faq/1/.* https://url/dossier1

^/faq/1 : Le « ^ » Permet de spécifier que seront prises en compte toutes les URL dont la partie hors domaine (www.url.test) commence par « /faq/1 »

faq/1/.* : Permet de spécifier « tout ». Cela permet d’englober tout ce qui peut se trouve dans le répertoire visé.
Explication :
le « . » signifie « n’importe quel caractère »
et le « * » spécifie « X fois ce qui précède ». Donc X fois n’importe quel caractère.

Redirections d’un dossier sans rediriger les pages contenues dans celui-ci :

RedirectMatch 301 /dossier/sous-dossier/?$ https://www.url.fr/dossier

Ici, on ne met pas de ^ avant l’url à rediriger et un / + ? + $ à la fin.

Exemple :
suppression du répertoire virtuel /rep-virtuel/
/nos-solutions/maison-individuelle/tuber/rep-virtuel vers /nos-solutions/maison-individuelle/tuber
en gardant le répertoire dans les url produits :
/nos-solutions/maison-individuelle/tuber/rep-virtuel/produit.page

RedirectMatch 301 /nos-solutions/maison-individuelle/tuber/rep-virtuel/?$ https://www.url.fr/nos-solutions/maison-individuelle/tuber

Redirections caractères spéciaux

Exemple :
http://www.url.fr/inhoud/321/38/1/Actualit%C3%A9s/Producten+en+diensten/combiflue-4-in-1-schoorsteen-voor-de-individuele-woning.html
Le problème ici sont les %C3%A9 (code html du é) et les +

Plusieurs méthodes (préférez la 1ère méthode):

RedirectMatch 301 ^/inhoud/321/38/1/A.*/P.*/combiflue-4-in-1-schoorsteen-voor-de-individuele-woning.html https://nouvelle_url
RedirectMatch 301 'http://www.url.fr/inhoud/321/38/1/Actualit%C3%A9s/Producten+en+diensten/combiflue-4-in-1-schoorsteen-voor-de-individuele-woning.html' https://nouvelle_url

Dans la première solution, on utilise la règle des . et des *, vu au début de l’article.

Dans la seconde solution, on entoure l’url à rediriger par des ‘ ‘.
Cette solution marche également pour les urls de destinations.

Redirect, Redirect Match, RedirectPermanent

Il est à noté qu’il existe différente manière selon le besoin de faire une redirection sur Apache.

Redirect : Envoie une redirection externe demandant au client d’effectuer une autre requête avec une URL différente

RedirectMatch : Envoie une redirection externe faisant appel aux expressions rationnelles pour la mise en correspondance de l’URL courante

RedirectPermanent : Envoie une redirection externe permanente demandant au client d’effectuer une nouvelle requête avec une URL différente.

Pour aller plus loin, référez-vous à la documentation d’Apache.