[SPIP Zone] couteau suisse / mailcrypt

Salut Patrick !

J'aimerais utiliser le couteau suisse au lieu de ce que j'avais fait dans le temps pour mailcrypt. Tu l'as, je pense, amélioré beaucoup.

Il y a un aspect du mailcrypt d'origine qui me manque pourtant. Et je me demande comment serait la meilleure façon de le réintroduire.

Cela a été discuté ici... http://thread.gmane.org/gmane.comp.web.spip.zone/3799/

La différence est visible lorsque clique sur le lien "Version imprimable" (en haut à gauche) sur les pages:

http://www.taize.fr/fr_article858.html (qui utilise le mailcrypt d'origine) et

http://svn.taize.fr/fr_article858.html (qui utilise le mailcrypt du couteau suisse)

Sur la première, on voit "Rencontres [rencontres@taize.fr]"
sur la deuxième, juste: "Rencontres" -- ce qui ne donne pas une page imprimée très utile.

Qu'en penses-tu ?

merci, Paolo

Paolo a écrit :

Salut Patrick !

Pat, ou Patrice :wink:

Il y a un aspect du mailcrypt d'origine qui me manque pourtant. Et je me demande comment serait la meilleure façon de le réintroduire.
Cela a été discuté ici... http://thread.gmane.org/gmane.comp.web.spip.zone/3799/

Vais y réfléchir. SPIP SVN bouscule un peu les liens, ça fait du mouvement ces temps_ci...

Introduire une image d'arobase dans un lien pour le masquer des robots, c'est une idée toute bête en effet. J'espère juste qu'ils n'ont pas encore repéré l'astuce!

Dans ton squelette, comment codes-tu #TEXTE en version impression?

Pat

Pat a écrit :

Paolo a écrit :

Salut Patrick !

Pat, ou Patrice :wink:

Il y a un aspect du mailcrypt d'origine qui me manque pourtant. Et je me demande comment serait la meilleure façon de le réintroduire.
Cela a été discuté ici... http://thread.gmane.org/gmane.comp.web.spip.zone/3799/

Vais y réfléchir. SPIP SVN bouscule un peu les liens, ça fait du mouvement ces temps_ci...

Introduire une image d'arobase dans un lien pour le masquer des robots, c'est une idée toute bête en effet. J'espère juste qu'ils n'ont pas encore repéré l'astuce!

une façon Spip, de remplacer l'arobase par une image c'est d'utilier Tex
encadrant @ par les deux balises math et $
<math>$@$</math>
on produit une image

Dans ton squelette, comment codes-tu #TEXTE en version impression?

Pat

Pat wrote:

Pat, ou Patrice :wink:

Pardon, Pat !

Dans ton squelette, comment codes-tu #TEXTE en version impression?

Il y a un squelette à part pour la version imprimable :
http://www.taize.fr/squelettes/print.html

Dans le plugin originel le travail pour décider si montrer ou pas l'arobase était fait par la fonction cryptm_cryptage() dans crypt.php -- selon la variable 'printver' passée par le lien.

Une faille du plugin originel est la taille fixe de l'image. Peut-être la suggestion de rpapa est un bon remède. Je pense que <math> stocke l'image en cache. Et ainsi même si le serveur qui sert à créer l'image n'est pas dispo, l'image ne fera pas défaut ?

Paolo

et generer l’image de @ via image typo dispense d’avoir un serveur math dispo ?

Le 21/09/07, Paolo <paolo2@taize.fr > a écrit :

Pat wrote:

Pat, ou Patrice :wink:

Pardon, Pat !

Dans ton squelette, comment codes-tu #TEXTE en version impression?

Il y a un squelette à part pour la version imprimable :
http://www.taize.fr/squelettes/print.html

Dans le plugin originel le travail pour décider si montrer ou pas l’arobase
était fait par la fonction cryptm_cryptage() dans crypt.php – selon la variable
‹ printver › passée par le lien.

Une faille du plugin originel est la taille fixe de l’image. Peut-être la
suggestion de rpapa est un bon remède. Je pense que stocke l’image en
cache. Et ainsi même si le serveur qui sert à créer l’image n’est pas dispo,
l’image ne fera pas défaut ?

Paolo


spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone


Arnaud

Arnaud Ventre a écrit :

et generer l'image de @ via image typo dispense d'avoir un serveur math dispo ?

Voire pkoi pas l'email entier.., mais est-ce que tous les sites disposent bien des librairies graphiques adéquates ?

Pat

Paolo a écrit :
(...)

Qu'en penses-tu ?

Voila, j'ai un peu bossé sur la question :
  Connexion · GitLab
  Connexion · GitLab
  Connexion · GitLab

Je veux bien les retours de fonctionnement !
Merci à tous.

Pat

Arnaud Ventre a écrit :

et generer l'image de @ via image typo dispense d'avoir un serveur math dispo ?

Finalement, j'ai plutot utilisé un span avec l'image de l'arobase dans le background...
C'est un bon leure, mais ça ne résout pas l'aspet taille. C'est un choix à faire...
C'est vrai que c'est un peu ennuyeux de dépendre d'un serveur...
image_typo quant à lui demande des librairies graphiques pas toujours installées...

Pat

Pat a écrit :

Paolo a écrit :
(...)

Qu'en penses-tu ?

Voila, j'ai un peu bossé sur la question :
  Connexion · GitLab
  Connexion · GitLab
  Connexion · GitLab

Je veux bien les retours de fonctionnement !

Merci beaucoup Pat pour ces modifs.
Personnellement je suis un peu à la rue pour tester tout de suite, d'autant qu'en local je n'ai pas -par rapport à MailCrypt- le même comportement qu'en prod.
J'essaierai de tester dans la semaine ou au pire le week-end prochain.

J'ai un petit souci supplémentaire, pour assurer la compatibilité avec un autre js (nicetitle.js) notre webmestre avait remplacé dans mailcrypt.php du couteau_suisse :
[...]lien(this.title)[...]
par
[...]lien(\'$1' . _mailcrypt_AROBASE . '$2\')[...]
Ca fonctionne mais :
1/ je ne maîtrise pas les conséquences en terme de sécurité de cette modif ? (s'il y en a )
2/ Je vois que le code a changé de place (dans mailcrypt_fonctions.php), j'ai l'impression qu'on peut toujours faire la manip ?
Si cette manip est sans danger est-il possible de la reporter dans le couteau suisse ?

Voilà, en tout cas merci !
Je teste le plus tôt possible.

Bonne soirée,
Jacques

jack a écrit :

Merci beaucoup Pat pour ces modifs.
Personnellement je suis un peu à la rue pour tester tout de suite, d'autant qu'en local je n'ai pas -par rapport à MailCrypt- le même comportement qu'en prod.
J'essaierai de tester dans la semaine ou au pire le week-end prochain.

OK, j'attendrai volontiers. Excuse-moi, je crois que je t'ai envoyé un mail privé !

J'ai un petit souci supplémentaire, pour assurer la compatibilité avec un autre js (nicetitle.js) notre webmestre avait remplacé dans mailcrypt.php du couteau_suisse :
[...]lien(this.title)[...]
par
[...]lien(\'$1' . _mailcrypt_AROBASE . '$2\')[...]
Ca fonctionne mais :
1/ je ne maîtrise pas les conséquences en terme de sécurité de cette modif ? (s'il y en a )
2/ Je vois que le code a changé de place (dans mailcrypt_fonctions.php), j'ai l'impression qu'on peut toujours faire la manip ?
Si cette manip est sans danger est-il possible de la reporter dans le couteau suisse ?

Le code est passé dans mailcrypt_fonctions.php pour donner un accès aux filtres et aux traitements sur les balises...
Le changement suggéré par ton webmestre est sans danger. je l'effectue (avec une améliration même..) donc de ce pas.
version du plugin : 1.7.7.02.

Le js est maintenant :
  function lancerlien(a,b){ return 'ma'+'ilto'+':'+a +'@'+b; }
L'appel php est maintenant :
  $lien = '$1' . _mailcrypt_AROBASE_JS . '$2';
  $texte = preg_replace(
    ",[\"\']mailto:([^@\"']+)@([^\"']+)[\"\'],",
    '"#" title="'. $lien .
    '"onclick="location.href=lancerlien(\'$1\',\'$2\');
      return false;"'
    , $texte);
Avec :
  @define('_mailcrypt_AROBASE',
    '<span style="background:transparent url('
    . find_in_path('img/mailcrypt/leure.gif')
    . ') no-repeat scroll left center; color:#000099;
      padding-left:12px; text-decoration:none;"></span>');

Pat

Pat wrote:

Qu'en penses-tu ?

Bonsoir ! Merci pour tout ce travail.

Pour l'arobase en gif au milieu des liens, peut-être c'est mieux -- je ne sais pas. En tout cas, il est facile de revenir à un texte en l'écrivant devant la flèche du raccourci. Le problème avec l'image est double : c'est la question de taille, et puis aussi que cela se place au milieu d'un lien qui change de couleur ou se souligne avec mouseover -- mais l'image ne change pas. C'est à cause de ces pensées que je n'ai pas utilisé une image à l'origine.

"Liens en clair" -- un tour de force ! Bravo !

Paolo

Paolo a écrit :

Pat wrote:

Qu'en penses-tu ?

Bonsoir ! Merci pour tout ce travail.

Pour l'arobase en gif au milieu des liens, peut-être c'est mieux -- je ne sais pas. En tout cas, il est facile de revenir à un texte en l'écrivant devant la flèche du raccourci. Le problème avec l'image est double : c'est la question de taille, et puis aussi que cela se place au milieu d'un lien qui change de couleur ou se souligne avec mouseover -- mais l'image ne change pas. C'est à cause de ces pensées que je n'ai pas utilisé une image à l'origine.

Justement, là il ne s'agit pas d'une image en dur... juste un <span> qui s'insère à peu près n'importe où, et dont le style background est utilisé pour y insérer l'arobase...

Pat

Pat a écrit :

Paolo a écrit :

Pat wrote:

Qu'en penses-tu ?

Bonsoir ! Merci pour tout ce travail.

Pour l'arobase en gif au milieu des liens, peut-être c'est mieux -- je ne sais pas. En tout cas, il est facile de revenir à un texte en l'écrivant devant la flèche du raccourci. Le problème avec l'image est double : c'est la question de taille, et puis aussi que cela se place au milieu d'un lien qui change de couleur ou se souligne avec mouseover -- mais l'image ne change pas. C'est à cause de ces pensées que je n'ai pas utilisé une image à l'origine.

Ignore mon msg précédent, j'avais mal lu... DSL !
Effectivement, suis bien d'acc avec toi.
Pat

Pat a écrit :

Le js est maintenant :
  function lancerlien(a,b){ return 'ma'+'ilto'+':'+a +'@'+b; }
L'appel php est maintenant :
  $lien = '$1' . _mailcrypt_AROBASE_JS . '$2';
  $texte = preg_replace(
    ",[\"\']mailto:([^@\"']+)@([^\"']+)[\"\'],",
    '"#" title="'. $lien .
    '"onclick="location.href=lancerlien(\'$1\',\'$2\');
      return false;"'
    , $texte);
Avec :
  @define('_mailcrypt_AROBASE',
    '<span style="background:transparent url('
    . find_in_path('img/mailcrypt/leure.gif')
    . ') no-repeat scroll left center; color:#000099;
      padding-left:12px; text-decoration:none;"></span>');

Pat

Bonjour, est-il possible de définir quelque chose comme cela :

  @define('_mailcrypt_AROBASE',
    '<span style="display: none;">..</span>'
    . '&#64;'
    . '<span style="display: none;">..</span>');

Ce qui entoure l'arobase de code qui feinte les robots mais à l'affichage est invisible.

donc plus de problèmes d'image !

ou alors (ce qui est équivalent), un <span class="mc_invisible"> avec évidemment le style span.mc_invisible { display: none; }

Aedrin

* aedrin tapuscrivait, le 24/09/2007 13:25:

ou alors (ce qui est équivalent), un <span class="mc_invisible"> avec évidemment le style span.mc_invisible { display: none; }

Au copier/coller, les caractères invisibles redeviennent visibles.

--
RealET

RealET a écrit :

Au copier/coller, les caractères invisibles redeviennent visibles.

ah oui j'avais pas remarqué...

je crois que c'est (peut-être) impossible d'avoir une solution parfaite : non récupérable par les spammeurs et utilisable facilement par les utilisateurs légitimes.

on a le choix entre :
- un texte visuellement identique à l'adresse mail, cliquable (grace au JS), mais où le copier-coller rajoute les ".." que je met autour de l'arobase
- un texte + image identique à l'adresse mail (sauf en cas de redimensionnement ou survol de la souris) et cliquable (grace au JS)

je pense que ma solution est meilleure du point de vue de l'utilisateur (il peut toujours cliquer pour écrire directement ou enlever manuellement les ..) mais en même temps je ne suis pas objectif :wink:

Aedrin

je crois que c'est (peut-être) impossible d'avoir une solution parfaite
: non récupérable par les spammeurs et utilisable facilement par les
utilisateurs légitimes.

tu peux remove() les ... avec un peu de javascript :

html :
<span class="meuh-non">...</span>

css :
.meuh-non {
display:none; after: @;
}

jquery :
$(function(){
   $('.meuh-non').after('@');
   $('.meuh-non').remove();
});

non ?

-- Fil

Fil a écrit :

je crois que c'est (peut-être) impossible d'avoir une solution parfaite
: non récupérable par les spammeurs et utilisable facilement par les
utilisateurs légitimes.
    
tu peux remove() les ... avec un peu de javascript :

html :
<span class="meuh-non">...</span>

css :
.meuh-non {
display:none; after: @;
}

jquery :
$(function(){
   $('.meuh-non').after('@');
   $('.meuh-non').remove();
});

non ?
  

presque, vu que after: n'est pas reconnu par IE ...
Cedric

aedrin a écrit :

RealET a écrit :

Au copier/coller, les caractères invisibles redeviennent visibles.

ah oui j'avais pas remarqué...

je crois que c'est (peut-être) impossible d'avoir une solution parfaite : non récupérable par les spammeurs et utilisable facilement par les utilisateurs légitimes.

on a le choix entre :
- un texte visuellement identique à l'adresse mail, cliquable (grace au JS), mais où le copier-coller rajoute les ".." que je met autour de l'arobase
- un texte + image identique à l'adresse mail (sauf en cas de redimensionnement ou survol de la souris) et cliquable (grace au JS)

je pense que ma solution est meilleure du point de vue de l'utilisateur (il peut toujours cliquer pour écrire directement ou enlever manuellement les ..) mais en même temps je ne suis pas objectif :wink:

Par expérience, ce n'est pas toujours le cas. Nombre d'utilisateurs ne font pas attention, ou ne savent pas reconnaitre une email cryptée... Je vois ça souvent chez les gens qui débutent !

Je pencherais plutôt vers une solution peut-être moins belle graphiquement, mais pratique pour l'utilisateur lambda : afficher un mail sert à envoyer le mail avant tout !

Je me méfie des robots qui, de toute façon, améliorent de jour en jour leurs techniques de pompage, et qui un jour seraient capables d'interpréter les faciles styles css, avec les fameux display:none.

Bon, pour aller plus loin, tout webmestre qui se respecte évitera tout mail à l'écran de toute façon. Un bon squelette ne doit faire apparaitre aucun mail. Il est facile avec SPIP d'utiliser les formulaires, et même si l'envoi des messages par formulaire interposé ne garantie pas la confidentialité (du point de vue de celui qui envoie le message), il ne s'agit que d'un étrier : la conversation peut ensuite se poursuivre par client mail habituel, de façon tout à fait privée.

Mailcrypt est donc destiné plutôt aux rédacteurs indélicats qui insèreraient des mails dans leurs articles (souvent les leurs d'ailleurs...) ou aux visiteurs qui font de même dans les messages de forum.

A suivre donc ?

Pat

Paolo a écrit :

"Liens en clair" -- un tour de force ! Bravo !

C'est sympa :wink: Tu me diras si tout est OK dans ton squelette.

En principe, ya besoin de rien, ni filtre, ni parametre d'url dans le squelette précisemment nommé "print.html" : les liens sont automatiquement ajoutés "en clair".
Sinon, le filtre |mailcrypt et le parametre cs=print restent dispo pour le reste du squelette...

Pat