Il s’agit de la 3ème version du plugin Codeur d’adresses email (etat: test) qui ajoute la fonctionnalité «modèle», permettant d’encoder également des adresses email placées directement dans un squelette. Le plugin fonctionne sous SPIP 2.1 et 3.0, 3.1, 3.2. SPIP 2.0 est à tester. Il ne fonctionne pas sous SPIP 1.9.
Description
- Il encode, dans l’espace public comme dans l’espace privé, les raccourcis spip de ce type: [nom_lien->user@domain.tld?parametre1=parametre1¶metre2=parametre2]
ou[nom_lien->mailto:user@domain.tld?parametre1=parametre1¶metre2=parametre2]
Si “nom_lien” est vide ou contient un “@”, il sera remplacé “Ecrire à user” (voir “Résultat du codage” ci-dessous).
- Il encode les adresses email placées dans les squelettes, à l’aide du modèle: [(#MODELE{rspipcm}{email=user@domain.tld, title=Ecrire à User, param=subject:Hello User;cc:monami@domain.tld})]
ou encore[(#MODELE{rspipcm}{email=#EMAIL_WEBMASTER, title=Ecrire au webmaster, param=subject:A partir du site;body:Hello webmaster;cc:monami@domain.tld})]
Pour le modèle, les paramètres «email» et «title» sont obligatoires.
Remarquez également la manière d’écrire les paramètres de l’email: «param=param1:Quelque chose;param2:Autre chose;param3:Encore autre chose»
param égal le_nom_du_paramètre deux-points la valeur du paramètre. Etc. Si il y a plusieurs paramètres, ils sont séparés par des points-virgules. Pas de point-virgule après le dernier paramètre.
Pour le modèle comme pour les raccourcis spip, les paramètres doivent être alphanumériques. Ils peuvent aussi contenir l’espace, _ et -. Si l’encodage UTF-8 est disponible, les caractères accentués sont autorisés. Les doubles et simples quotes (même échappés), #, ?, &, @, !, : et les caractères html étendus sont à proscrire dans les paramètres.
Résultat du codage
Avec le code spip [Ecrire à User->user@domain.tld]
ou le modèle [(#MODELE{rspipcm}{email=user@domain.tld, title=Ecrire à User})]
, voici ce que sera le résultat sur le site public et ce que verrait le robot:<a href="javascript:mdecode('dlt.niamod:resu');">Ecrire à User</a>
Avec le code spip [->mailto:prenom.nom@domain.tld?cc=user@domain1.tld]
ou le modèle [(#MODELE{rspipcm}{email=prenom.nom@domain.tld, title=Ecrire à Prénom Nom, param=cc:user@domain1.tld})]
, voici ce que sera le résultat sur le site public et ce que verrait le robot:<a href="javascript:mdecode('dlt.1niamod:resu=cc!dlt.niamod:mon.monerp');">Ecrire à Prenom Nom</a>
Si le robot tente de suivre le lien et de le décoder via le DOM [3], il sera bloqué par un captcha arithmétique obligatoire pour le décodage.
Accessibilité
Si javascript est désactivé, le lien email est alors devenu inopérant. C’est pourquoi, si javascript est désactivé, une DIV apparaît sous le lien email avec (ici, en français) ces informations:
Ecrire à : user
dans le domaine : domain.tld
où user et domain.tld correspondent respectivement à ces éléments de l’adresse email: user@domain.tld.
Cette DIV sous le lien est de classe “rspipcm_noscript” qui peut être redéfinie dans une feuille de style en surcharge.
Installation
Nouvelle
- La balise spip #INSERT_HEAD
doit être présente entre les balises html <head> ... </head>
de vos squelettes.
- Dans l’espace privé, activer le plugin.
- (Eventuellement penser à vider le cache)
Langues actuelles disponibles
fr (en, nl à compléter).
Changements
- Version 1.3.2: correction d’un bug javascript avec les variables de langue de spip. Ce bug faisait dysfonctionner le plugin.
- Version 1.3.1: correction d’une erreur de syntaxe dans la description du plugin de la version 1.3.0 (Spip 3.0, 3.1). Ce bug empêchait le plugin de s’intaller.
- Les versions 1.2.0 (Spip 2.1) et 1.3.0 (Spip 3.0, 3.1) ajoutent la fonctionnalité «modèle», permettant d’encoder également des adresses email placées directement dans un squelette.
- Les versions 1.1.1 (Spip 2.1) et 1.2.2 (Spip 3.0, 3.1) corrigent le problème du captcha javascript: c’était le nom des variables de langue qui apparaissaient au lieu de leur contenu.
- La branche 1.2.0 (en test) a été abandonnée.
Un plugin de cryptage d’adreses email de plus ?
Il existe d’autres contrib qui permettent le cryptage d’adresses email, comme:
- mailcrypt
- ou le Plugin antispam
Alors, pourquoi un de plus? Au début, je pensais cela ou proposer une fusion de mon plugin avec un autre. Après réflexion, en ce qui concerne le cryptage d’adresses email, je conclus à l’intérêt de la multiplicité de ce type de plugin. En effet, plus il y a de codages divers, plus compliquée est la tâche des spambots.
Si vous gérez plusieurs sites, n’hésitez donc pas à diversifier vos modes de protection en choisissant des plugins différents. Attention tout de même à ceci: ne mélangez pas ces plugins sur un même site, ils ont de grandes chances de ne pas être compatibles, notamment que l’un prenne la précédence sur l’autre qui ne sert alors à rien.
Discussions by date of activity
4 discussions
Merci de votre réponse si rapide
Je me demandais s’il y avait un moyen assez similaire à ce que fait par exemple “mailcrypt” du qui, lui aussi, vise a priori les liens mails contenus dans le texte.
En effet, la doc du plugin sur contrib indique que, dans un squelette, si on insère un lien en “l’encapsulant” dans une balise #VAL, genre :
[(#VAL{<a href="mailto:#EMAIL?subject="#TITRE" (etc...)>nous écrire</a>}|mailcrypt)]
, alors, le cryptage est opérant.Peut-on obtenir un comportement similaire de possible avec votre plugin ? Quelle en serait la syntaxe ?
Oui, je pense que c’est possible en passant par les modèles spip. La fonction d’encodage de l’adresse n’est pas très compliquée, et le décodage est déjà en place via le plugin.
Dans ce cas, l’insertion dans le squelette serait du type:
Votre idée est intéressante. Bon, ici, laissez moi quelques jours ... ;)
Bonjour,
voilà, c’est fait. Versions 1.2.0 (Spip 2.1) et 1.3.0 (Spip 3.0, 3.1). Voyez la documentation ci dessus pour utilisation, elle a été mise à jour.
Cette version est en test, le temps de s’assurer que tout fonctionne bien. Si vous l’installez, je veux bien un retour d’avis (précisez alors votre version de spip). Merci à vous.
Ah, super ! Merci de cette adaptation.
Je ne suis toutefois pas sûr d’avoir bien compris la rédaction de l’appel au modèle depuis un squelette, en particulier comment il faut utiliser “param”.
Par exemple, si l’on veut avoir au final un lien mailto du style
<a href"=mailto:destinataire@domaine.tld?subject=patatitata&body=unautrepatatitata">nous écrire</a>
En supposant que l’on soit dans une boucle AUTEURS? comment faut-il rédiger l’appel au modèle dans le squelette appelant ?
ou plutôt
Mais peut-être ni l’une ni l’autre ne sont-elles correctes ?
Non, effectivement. Peut-être la doc n’était pas assez claire; j’ai corrigé vers : « param=param1:Quelque chose ;param2:Autre chose ;param3:Encore autre chose »
donc, ici:
Note: attention, on ne peut inclure qu’une seule fois un modèle par squelette.
Reply to this message
Bonjour,
Merci pour ce plugin car c’est, à ma connaissance, le meilleur encodage d’adresses emails disponible.
J’ai simplement un problème avec la table de traduction, elle n’est pas prise en compte. A l’affichage c’est le nom des variables qui apparait, exemple “$entrez_resultat_addition 3 + 3 ?”.
Quelqu’un d’autre rencontre ce soucis ?
Aymeric.
Bon, mieux vaut tard que jamais ;)
Effectivement, il y avait un bug. Merci de l’avoir signalé.
C’est corrigé: spip 3, version 1.2.2 - spip 2, version 1.1.1. La maj est maintenant disponible via la mise à jour dans l’espace privé.
Attention à préserver css/noscript.css avant la maj, si vous l’avez personnalisé.
Bien à vous,
Robert.
Reply to this message
Ah, le plugin ne prend en compte que les raccourcis insérés dans le contenu ou au fil du texte...
Y-a-t-il un moyen de s’en servir pour encoder les liens mis en place via les squelettes, par exmple :
<a href="mailto:#EMAIL/?subjet=#TITRE">(...)</a>
Tel que, le plugin ne semble pas avoir d’impact.
Merci d’avance de votre réponse
Effectivement, le plugin ne prend en que les raccourcis insérés dans le contenu, et seulement ceux-là.
Bien à vous.
Reply to this message
Bonjour. Apparemment le lien menant vers le paquet zip pour la version 3.0 est un lien mort.
Cordialement,
aliosha
Reply to this message
Add a comment
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Follow the comments: |