Stop au Spam : Le trio indispensable (SPF, DKIM, DMARC)

Stop au Spam : Le trio indispensable (SPF, DKIM, DMARC)

Tu as peaufiné ton contenu, soigné le design et tu es prêt à lancer ta newsletter (Brevo pour moi). Mais ça ne suffit pas ! As-tu pensé aux réglages SPF, DKIM, DMARC indispensables pour que ton beau travail arrive bien dans la boîte des destinataires ?

Dans le monde numérique actuel, envoyer un email ne suffit plus : il faut prouver que tu es bien l’expéditeur légitime. SPF, DKIM, DMARC : derrière ces acronymes techniques se joue la réputation de ton domaine. Sans eux, tes emails sont comme des lettres sans adresse de retour envoyées avec une fausse signature : les filtres de Gmail et Outlook les bloqueront immédiatement.

Cet article explique simplement pourquoi ces réglages sont cruciaux pour votre performance et comment les mettre en place pour garantir que vos messages arrivent bien dans la boîte de réception principale, et non dans les indésirables.

Étape 1 : Récupérer les clés chez Brevo

J’ai écrit cet article alors que je créai une nouvelle newsletter, chez Brevo (en mode gratuit). Je décris donc ici le moyen d’obtenir les informations chez Brevo.

  • Dans ton compte Brevo, va dans le menu (paramètres, en haut à droite) > Expéditeurs et IP.
  • Cliquer sur Domaines > Ajouter un domaine. Entrer le nom du domaine (parcours-performance.com pour moi) et valide.
  • Ensuite choisis de faire à la main. Je ne veux pas laisser la main à un automate dans mon compte OVH…

On arrive alors sur une page qui contient tous les réglages à faire. Garde la ouverte dans un onglet.

Dans un autre onglet, va dans les réglages « zone DNS » de ton nom de domaine (chez OVH pour moi).

Etape 2 configurer le DKIM

C’est ce qui permet de signer numériquement tes mails. Brevo dit « DKIM (DomainKeys Identified Mail) vous permet de signer vos emails avec votre propre domaine, de la même manière que vous signez une lettre. »

  1. Toujours dans la Zone DNS d’OVH, clique sur le bouton Ajouter une entrée.
  2. Crée deux champs de type CNAME
Enregistrement DKIM 1CNAMEbrevo1._domainkeyb1.parcours-performance-com.dkim.brevo.com
Enregistrement DKIM 2CNAMEbrevo2._domainkeyb2.parcours-performance-com.dkim.brevo.com

Etape 3 configurer le DMARC

Brevo dit « DMARC (Domain-based Message Authentication, Reporting, and Conformance) est un protocole qui protège votre domaine contre toute utilisation non autorisée, telle que la phishing ou l’usurpation d’identité. Vous pouvez configurer une politique DMARC pour déterminer ce qu’il advient des emails qui échouent aux vérifications d’authentification DMARC. »

  1. Toujours dans la Zone DNS d’OVH, clique sur le bouton Ajouter une entrée.
  2. Crée un champs de type TXT
Enregistrement DMARCTXT_dmarcv=DMARC1; p=none; rua=mailto:rua@dmarc.brevo.com

Etape 4 Configurer le code BREVO

 Cet enregistrement sert à indiquer à Brevo que tu est bien propriétaire du domaine.

  1. Toujours dans la Zone DNS d’OVH, clique sur le bouton Ajouter une entrée.
  2. Crée un champs de type TXT
Code BrevoTXT brevo-code:afe0eda50XXXXXXXXXXXX29d969c8

Etape 5 configurer le SPF

Attention : Modification, pas création ! C’est l’erreur n°1 : il ne faut jamais avoir deux lignes SPF. j’avais déjà une ligne SPF, je l’ai donc modifiée. pour y inclure Brevo.

  1. Toujours dans la Zone DNS d’OVH, cherche la ligne de type TXT qui ressemble à : v=spf1 include:_spf.google.com ~all
  2. Cliquez sur le crayon (modifier) à droite.
  3. Changez la valeur pour insérer Brevo avant le ~all. La nouvelle ligne doit ressembler à ceci : v=spf1 include:_spf.google.com include:spf.brevo.com ~all

Etape 6 validation finale par Brevo

Dans les éléments de mon domaine sur OVH j’ai modifié le SPF et ajouté les autres éléments comme suit :

Retourne sur la page Brevo ouverte précédemment et clique sur le bouton « Vérifier et Authentifier ».

Si cela reste rouge, attend 10 à 20 minutes (la propagation DNS chez OVH peut prendre un petit délai) et réessaie.

Ca a fonctionné immédiatement pour moi.

Me voici prête à communiquer avec ma base de contacts !

Voici l’image créée par Gemini pour illustrer cet article : SPF, DKIM et DMARC, tout ceci permet de dire aux contrôleurs de spam que mon message est légitime !

Affiche les limites officielles d’une commune sur ta Google Map

Affiche les limites officielles d’une commune sur ta Google Map

Tu as créé une carte interactive mais il manque un truc essentiel : les vraies frontières de la ville ? Pas besoin de dessiner ça à la main (et de façon approximative). Dans ce tuto, on te montre comment récupérer le tracé officiel en Open Data et l’injecter dans ta carte. Démo pratique avec la commune de Plonéour-Lanvern.

Le contexte

Le problème : une carte un peu « floue »

Quand tu crées une carte sur Google My Maps pour un projet, c’est super pour placer des points. Mais si tu veux montrer une zone d’intervention ou un territoire précis, le fond de carte par défaut est un peu léger. On ne sait jamais exactement où s’arrête la commune.

Regarde l’exemple ci-dessous : c’est centré sur la ville, mais ça manque de contexte.

carte Google My Maps sans informations sur les limites administratives de la commune.
carte Google My Maps standard.

Étape 1 : Va chercher la donnée officielle (c’est gratuit)

On ne va pas s’embêter à tracer des lignes approximatives. On va prendre les données officielles de la région.

  1. File sur le site data.bretagne.bzh.
  2. Dans la barre de recherche, tape tout simplement Plonéour-Lanvern.
  3. Tu vas trouver une ligne ou un tableau correspondant à la commune. Clique dessus.
  4. Cherche l’onglet Export.
  5. Le point clé est ici : Télécharge le fichier au format KML. C’est le langage que Google Maps comprend le mieux.

Étape 2 : L’import magique

Retourne sur ta carte My Maps :

  1. Dans le menu de gauche, clique sur « Ajouter un calque ».
  2. Juste en dessous, clique sur le lien bleu « Importer ».
  3. Glisse le fichier KML que tu viens de télécharger.

Et voilà ! Le contour exact de la commune se plaque direct sur ta carte. C’est précis au mètre près.

carte Google My Maps sans informations sur les limites administratives de la commune.
carte Google My Maps sans informations sur les limites administratives de la commune.

Le petit conseil en plus

Par défaut, Google va peut-être te mettre une couleur opaque un peu moche. Clique sur le petit « pot de peinture » à côté du nom de ton calque pour :

  • Changer la couleur (pour coller à ta charte graphique).
  • Jouer sur la transparence (le slider en bas) pour qu’on voie toujours les routes en dessous.

Tu peux voir le résultat final en live sur cette carte exemple : Voir la carte interactive.


Crédits Ce tutoriel a été rédigé avec la complicité de Gemini, l’IA de Google, qui a guidé la méthode technique et la rédaction.

Pas possible d’utiliser des emojis 💊!

Pas possible d’utiliser des emojis 💊!

J’ai écrit un article contenant des émojis récemment et il était impossible de l’enregistrer. Il y avait un message disant « impossible de mettre à jour la publication dans la base de données ». A force de supprimer des éléments de l’article pour déterminer ce qui bloquait, j’ai compris que mon site, et celui-ci, ne supportaient pas les émojis. J’y ai perdu beaucoup de temps 😠. Alors je documente la solution pour me permettre de la retrouver si nécessaire, et pour aider d’autres internautes si nécessaire.

Pour déterminer la solution, je me suis appuyée sur cet excellent article, dont j’ai validé le processus par un bref echange avec Gemini 2.5 Flash.

Un InterClassement trop ancien !

Comme on le voit dans cette copie d’écran, certaines de mes tables utilisent utf8mb3_general_ci et d’autres utf8mb4_unicode_520_ci. Selon Gemini, « L’interclassement, ou « collation » en anglais, est un ensemble de règles qui définit comment les chaînes de caractères sont triées et comparées dans une base de données. Il détermine l’ordre alphabétique des caractères, la sensibilité à la casse (majuscules/minuscules) et aux accents, ce qui est crucial pour le tri des résultats de recherche ou le filtrage de données. »

Tous les interclassements que j’utilise sont basés sur UTF-8, encodage bien adapté. Mais utf8mb3 n’utilise que 3 octets par caractères et ne convient pas pour certains caractères spéciaux comme les emojis. Et il traite aussi les caractères accentués comme s’ils ne l’étaient pas, ce qui le rend moins précis.

utf8mb4_unicode_ci semble être le standard recommandé actuellement. Il convient à une gamme très large de caractères, y compris les emojis et caractères asiatiques.  Il respecte les règles de tri d’Unicode, ce qui le rend bien adapté à la plupart des langues. utf8mb4_unicode_520_ci est encore plus récent.

Quelles solutions ?

Après analyse de l’article et consultation de Gemini, j’ai décidé de procéder en trois étapes :

Etape 1 : sauvegarder la base de données

Ca se fait dans l’interface de l’hébergeur (Infomaniak par exemple) ou avec l’interface phpMyAdmin.

Etape 2 : Modifier wp-config.php

Il vaut mieux en télécharger la version actuelle au cas où avant de le modifier. Dans ce fichier je vois :

define('DB_CHARSET', 'utf8');

Je me modifie en :

define('DB_CHARSET', 'utf8mb4');

Et je vois qu’il n’y a pas besoin de changer la ligne

define('DB_COLLATE', '');

Et je sauvegarde le fichier wp-config.php ainsi modifié.

Etape 3 : migrer la base de données

Je vais migrer l’ensemble de la base de données vers utf8mb4_unicode_ci.

  1. Dans phpMyAdmin, sélectionnez votre base de données.
  2. Cliquez sur l’onglet « Opérations » en haut.
  3. Dans la section « Interclassement », sélectionnez utf8mb4_unicode_ci dans la liste déroulante.
  4. Cochez la case « Changer l’interclassement de toutes les tables » puis la case « Changer les interclassements de toutes les colonnes de toutes les tables »
  5. cliquer sur « Exécuter » :

Une fois l’opération terminée, vous verrez un message de succès.

Notez Que  si on clique sur « information schema » ça reste toujours le vieil interclassement ; mais ce schéma ne sert à rien (pour le site lui-même). Donc pas de problème !

Et maintenant ?

Je peux mettre autant d’emojis que je veux dans mes articles. Est-ce que c’est mieux ou pas, je ne sais pas !

🤪🚀💊

utiliser les pages GitHub

utiliser les pages GitHub

GitHub est très bien pour stocker du code dans ses versions successives. J’ai découvert récemment qu’il est aussi très bien pour mettre à disposition le rendu de ce code dans un navigateur, par l’intermédiaire des « pages » GitHub.

Rendons à César…

J’ai fait cette découverte en regardant de près cette publication sur LinkedIn de Lionel Miszka . Il y exposait comment le modèle o3-mini-high de chatGPT lui avait permis de créer un outil pédagogique intéractif sans coder. L’article est très intéressant lorsqu’on s’intéresse à l’IA. Mais il est également intéressant lorsqu’on aime un peu coder et qu’on a envie d’utiliser mieux GitHub. En effet Lionel Miszka a choisi d’héberger son outil pédagogique sur github, ici.

Et pour créer une page j’ai tout simplement demandé à Mistral AI de me dire comment Lionel avait pu faire ça…

Question n°1 : Peux-tu regarder et commenter le dépôt https://github.com/lionelmyszka2/ ?

Question n°2 : Je vois que Lionel Myszka a également des url où ces projets en html sont visibles. Par exemple le projet ‘lentille » est visible sur https://lionelmyszka2.github.io/lentille/. Comment puis-je faire quelque chose de semblable à partir de mon propre compte github ?

Mistral m’a expliqué l’essentiel de ce qui suit !

Si vous n’avez pas de compte GitHub

  1. Créer un dépôt sur GitHub :
    • Connectez-vous à votre compte GitHub.
    • Créez un nouveau dépôt (repository) pour votre projet. Vous pouvez le nommer comme vous le souhaitez, par exemple mon-projet.
  2. Ajouter vos fichiers HTML :
    • Clonez le dépôt sur votre machine locale ou téléchargez-le.
    • Ajoutez vos fichiers HTML, CSS, JavaScript, et autres ressources nécessaires à votre projet dans le répertoire du dépôt.

Dans mon cas j’avais déjà un compte GitHub, j’ai simplement créé un « fork » du dépôt de Lionel. Il est visible ici : https://github.com/aldelpech/lentille. J’y ai apporté deux modifications mineures :

  1. ajout d’un lien en MarkDown dans le README pour aller plus facilement vers la démo
  2. Ajout du lien vers la démo originelle de Lionel Myszka, pour ne pas le plagier, dans le fichier html.

Comment créer des pages GitHub ?

  1. Configurer GitHub Pages :
    • Allez dans les paramètres (Settings) de votre dépôt sur GitHub.
    • Dans la section « Pages » (ou « GitHub Pages »), sélectionnez la branche que vous souhaitez utiliser pour le site (souvent main ou master).
    • Choisissez le dossier racine (/) ou un dossier spécifique (comme /docs) où se trouvent vos fichiers HTML.
    • Cliquez sur « Save » pour enregistrer vos modifications.

Dans le curseur « deploy from a branch » j’ai choisi « main ». Puis cliqué sur le bouton Save qui apparaît alors :

et maintenant si je vais visiter https://aldelpech.github.io/lentille/, le « fork » du projet de Lionel est visible, et interactif.

Est-il possible d’intégrer ces pages ailleurs ?

Mistral me dit que oui, en intégrant le code suivant dans cette page WordPress :

<iframe src= »URL_DE_VOTRE_PAGE_GITHUB » width= »100% » height= »600px » style= »border:none; »></iframe>

Pour ce faire, avec l’éditeur WordPress classique, je choisis un bloc « HTML personnalisé et j’y colle le code ci-dessus :

Qu’est-ce que je peux faire de ça ?

C’est un avantage énorme puisque je peux venir placer ici des démos « vivantes », sans avoir besoin de passer par l’éditeur p5.js. Et l’intégration dans un site wordPress fonctionne. C’est aussi probablement le cas dans une newsletter Substack.

Créer des gif d’un script p5js

Créer des gif d’un script p5js

Lorsqu’on crée un script p5js on apprécie de pouvoir partager le résultat sans obliger les gens à sortir du site où ils sont. C’est là que les GIF sont fantastiques. Comme dans l’image ci-dessous, ce sont des images que l’on peut voir comme une mini vidéo.

Il suffit d’ajouter la fonction suivante à la fin de sketch.js.

// Save a 5-second gif when the user presses the 's' key.
function keyPressed() {
  if ( (key === 's') || (key === 'S') ) {
    saveGif('mySketch', 5);
  }
}

Et voilà, maintenant j’appuie sur la touche s et j’obtiens un fichier GIF.

Coder en p5.js avec Mistral AI ?

Coder en p5.js avec Mistral AI ?

Il y a du buzz, des cocoricos autour de Mistral, l’AI française. Je viens de regarder ce qu’elle sait faire en matière de code javascript avec la librairie p5.js. Et je suis scotchée ! Mistral AI répond à une vitesse stupéfiante à des instructions assez imprécises et propose à chaque fois une solution juste. C’est vraiment impressionnant, regardez !

Si vous préférez, vous pouvez voir la séquence de prompts et de réponses ici sur Mistral AI.

En dessous je vous décris l’échange avec Mistral AI et je vous montre le résultat une fois mis dans un éditeur de code.

Euh, tu sais faire ça Mistral ?

Il me répond que oui. Alors je lui pose une première question.

Je colle le code proposé dans un éditeur p5.js (https://editor.p5js.org/) et je vois qu’Il dessine ce que je demande mais avec les 5 cercles sur un même axe y. Ca ne me plaît pas, il faut que je précise ma question.

Des résultats époustouflants !

Et là c’est exactement ce que je voulais !

Vous pouvez le voir en plein écran (https://editor.p5js.org/Anne-Laure/full/KPsrqnwCZ) ou avec le code visible (https://editor.p5js.org/Anne-Laure/sketches/KPsrqnwCZ)

Et j’ai envie que ce soit un peu plus « chouette ». Mais je ne sais pas trop ce qui serait « chouette ». Alors je lui propose deux déclinaisons, très imprécises :

Pour l’option 1 (plus joli) il propose d’ajouter des couleurs. c’est intéressant qu’il fasse le lien entre « joli » et multicolore. C’est certainement une interprétation juste de « joli ». En plein ecran ici, avec le code visible ici.

Et l’option 2 est effectivement plus hypnotique. Là aussi je suis surprise de la finesse de traduction d’un qualificatif. En plein ecran ici, avec le code visible ici.

Une révolution…

En quelques secondes je produis un résultat vraiment crédible. C’est bluffant !

Alors l’AI peut-elle révolutionner nos pratiques quotidiennes ? Certainement oui !

p5.js : récupérer des images avec l’API Pixabay

p5.js : récupérer des images avec l’API Pixabay

Je réalise ce projet dans l’environnement VSCodium que j’ai décrit dans un précédent article (Un environnement local pour p5.js). Je ne peux pas le réaliser avec l’éditeur p5.js car je ne peux pas communiquer ma clé d’accès à l’API de Pixabay.

Créer un compte (gratuit) sur Pixabay

J’utilise Pixabay car il autorise à copier les images, et à les modifier, sans obligations d’attribution.Et Pixabay, à la différence d’UNSPLASH, ne rend pas le « hotlinking » obligatoire.

Je suis évidemment pour l’attribution, et le respect du travail de chacun. Mais parfois c’est très très compliqué d’utiliser des images lorsque les règles en sont contraignantes. Je crois que je fais de mon mieux.

On se crée un compte sur le site https://pixabay.com/fr/accounts/register/.

Il faut maintenant avoir une « clé API »

La clé API de Pixabay. Il faut être connecté pour qu'elle s'affiche.

Une fois qu’on a un compte, on se connecte à Pixabay ET https://pixabay.com/api/docs/ me donne ma clé API et m’explique comment créer une requête. Pour la suite, cette clé API sera CLE-API. Dans la réalité elle est composée de plus de 30 caractères en hexadécimal (0 à 9 et les lettres a à f).

Se connecter à l’API Pixabay en p5.js

La fonction preload() va receuillir toutes les réponses de Pixabay qui correspondent à la requête. Ici ce sont des photos de bâtiments.

La fonction loadJSON est ici utilisée avec une « callback function », ici useData(), dont voici le contenu :

Ici je lis simplement nbMax url renvoyées par Pixabay. et chaque url est intégrée à un array imgUrl.

Ce n’est pas toujours évident de savoir comment décrypter un fichier JSON. On peut par exemple se demander comment j’ai su qu’il fallait lire « myData.hits[i].largeImageURL ». Le plus simple je pense (en plus de lire soigneusement la documentation de l’API) , c’est d’ajouter un   print(myData) ; à la fin de la fonction preload. On trouve alors dans la console un mystérieux {} !

Si je met ma souris sur les {} indiqués par la flèche orange, l’inspecteur (de Chrome) me propose de « copier l’objet« . Et si je colle cet objet dans un éditeur de texte (ou même un nouveau fichier texte de vscodium) j’obtiens des informations plus ou moins lisibles. On peut si nécessaire utiliser https://jsonformatter.curiousconcept.com/ si le JSON qu’on a est trop difficile à formater. Dans mon cas j’obtiens un fichier qui contient comme un array, intitulé myData.hits[] et donc chaque élément contient des informations telles que l’id, la pageURL, etc…

Lire une image de pixabay et l’afficher

Dans le script créé (cf les fichiers zippés correspondants), il faudra que vous mettiez votre propre clé API), j’affiche les fichiers sous la forme fr ‘graphics », des sortes de canevas virtuels, ou peut-être plutôt comme des calques. J’en avais déjà utilisé dans l’article « p5.js Brique 2 : utilisation des “GRAPHICS”« . Ici je me suis beaucoup inspirée de https://editor.p5js.org/creativecoding/sketches/-Ut0EeXZj.

J’utilise les filtres POSTERIZE et INVERT pour modifier les images.

Paysage, image Pixabay

Cette image se trouve ici sur Pixabay. Elle devient comme ça après passage dans le sketch.

Et maintenant ?

Il faut que je voies si la solution évoquée dans l’article « p5.js : la solution pour charger les images » pourrait fonctionner avec ce script dans lequel la fonction preload est dédiée à la constitution d’un fichier JSON.

Je veux créer un array d’images qui pourront être affichées simultanément sur l’écran.

 

Un environnement local pour p5.js

Un environnement local pour p5.js

Je peux maintenant écrire mes projets p5.js sur mon ordinateur (windows 10) et visualiser le résultat dans un navigateur même s’il y a des accès à des fichiers (images par exemple) ! J’utilise VSCodium, une version open source de VS Code, de Microsoft.

Jusqu’à présent j’utilisais l’éditeur en ligne p5js, très bien, pour démarrer mes projets p5.js. J’avais testé des solutions pour créer un environnement local mais rien ne fonctionnait ou me convenait. Mais aujourd’hui, ça y est, j’ai trouvé une solution ! Merci à Pierre des Portes Logiques de m’avoir proposé cette voie !

scripts p5js localement

Si je veux tester localement un projet p5js, je peux mettre dans un répertoire un fichier index.html (qui chargera un fichier css et les librairies p5js dont on a besoin). Et si je double clique sur ce fichier index.html, il s’ouvre dans mon navigateur par défaut et s’exécute. Mais si le sketch charge d’autres fichiers, par exemple des images, on a une erreur « cross-origin », « COR ». La seule solution pour l’éviter, selon la documentation des créateurs de p5.js, c’est d’avoir un serveur local.

Sur un raspberry Pi 3 sous Linux, j’ai installé node.js et fait tourner son serveur http-server. J’en ai parlé dans ces deux articles : ici et .

VSCodium, pour coder

VSCodium est une version Libre et Open Source de VS Code de Microsoft. C’est plus ou moins un clone de VS code, sans les customisations de Microsoft. Et cerise sur le gâteau, VSCodium a accès à de nombreuses extensions de VS Code !

Pour installer VSCodium sur mon PC (windows 10), j’ai cliqué sur le bouton « Download latest release » puis choisi l’option « User Installer » pour Windows en x86 64bits. J’ai exécuté le fichier .exe, accepté les termes du contrat de licence (MIT). J’ai coché toutes les tâches supplémentaires et cliqué sur SUIVANT puis INSTALLER.

Ensuite il suffit de lancer VSCodium. On peut faire quelques réglages si on le souhaite pour les couleurs et autres.

Un serveur local avec VSCodium

Dans VSCodium, sur le côté gauche, il y a une barre avec des icones. L’une des icones correspond à « Extensions« . Je clique dessus puis je tape Live Server. Je choisis celle de Ritwickdey. C’est l’extension recommandée pour utilisation avec VS Code dans leur document sur les serveurs locaux). Attention à bien prendre celle de Ritwickdey. Lorsqu’on clique dessus on voit ça :

Cliquer sur le bouton Install. L’extension s’installe.

Maintenant dans le menu File > Open Directory, j’ouvre le répertoire d’un projet p5js de mon ordi.

Et tout en bas à droite de la fenêtre VSCodium », je trouve « Go Live ».

Je clique dessus et mon navigateur par défaut (chrome pour moi) ouvre un onglet à l’adresse http://127.0.0.1:5500/.

Pour en savoir plus

Pour plus d’informations sur le fonctionnement de Live Server, on peut aller voir le dépôt sur Github.

L’ensemble des extensions disponibles pour VSCodium est visible sur ce site : https://open-vsx.org/

 

p5.js : la solution pour charger les images

p5.js : la solution pour charger les images

Lorsqu’on charge des images dans un script p5.js, ça se passe de façon asynchrone. C’est souvent une bonne chose car ça évite d’attendre. Mais parfois ça pose beaucoup de problèmes. Alors je cherchais depuis longtemps un moyen efficace d’être certaine que les images seraient entièrement chargées avant que la suite du script ne les utilise.

J’ai trouvé la solution grace à Perplexity, le moteur de recherche avec AI. Je lui ai demandé « what are the solutions which work for loading a lot of images in an array using p5js? », il m’a répondu avec des solutions banales (qui ne fonctionnent pas lorsque les images mettent du temps à charger). J’ai insisté en « lui disant » : « this doesn’t ensure that all images in the array are fully loaded. are there more robust solutions? ». Et là il m’a apporté la réponse que je ne trouvais pas ! Merci Perplexity !

J’utilise loadImage et une fonction « call back » qui incrémente un compteur (imagesLoaded) à chaque fois qu’une image est correctement chargée.
Lorsque le compteur imagesLoaded contient la valeur indiquée au début dans imagesToLoad, c’est qu’on a chargé autant d’images qu’on en avait prévu. On est donc prêts à la suite !

Et ça fonctionne, comme on peut le voir dans cet exemple.

Les 22 photos de cet exemples sont toutes chargées avant d’être affichées !

Le code complet est accessible ici, en fichier zippé.

C’est ce que je voulais !

Site Kit, les services de Google sur WordPress

Site Kit, les services de Google sur WordPress

La nouvelle extension Site Kit, de Google, permet enfin de connecter, rapidement et facilement, un site WordPress et les services Google tels que Google Analytics, Google Search Console, Speed Test. Elle intégre également Google Optimize, Google Tag Manager et Google Ads que je n’utilises pas.

Pour un webmaster, c’est merveilleusement simple. J’installe l’extension Site Kit de Google en suivant ce tutoriel du site « Pour pas un rond » : WordPress : Site kit simplifie l’accès aux services de Google.