SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 229 visiteurs en ce moment

Accueil > Outils pour plugins > Le Couteau Suisse > De beaux liens hypertexte

De beaux liens hypertexte

...vus par le Couteau Suisse

26 septembre 2007 – par paolo, Patrice Vanneufville – 84 commentaires

25 votes

Les outils décrits ici sont des fonctionnalités du plugin Le Couteau Suisse. « Liens orphelins » rend cliquable les liens bruts. « MailCrypt » protège les mails présents sur votre site contre les crawlers. « SPIP et les liens... » configure les liens externes et le glossaire externe. « Liens en clair » affiche les liens cachés en vue d’une impression.

Présentation

Les outils décrits ici sont des fonctionnalités du plugin Le Couteau Suisse que vous pouvez trouver ici : Le Couteau Suisse. Pour avoir accès aux nouvelles fonctions agissant sur les liens hypertexte de votre site, il vous faut donc avoir préalablement installé ce plugin.

Ensuite, une fois ces outils activés sur la page d’administration du plugin en espace privé, vous avez donc gestion étendue de tous les liens trouvés dans le corps des textes, aussi bien pour les articles, les brèves, les forums, etc. Bref, tous les textes de SPIP, car de façon plus technique, ces outils utilisent les pipelines de SPIP « pre_propre » ou « post_propre ».

Dépendances

-  La librairie jQuery est requise pour le fonctionnement des Liens externes, ainsi que pour l’outil MailCrypt dans la réalisation de la deuxième étape d’encodage. Ce jeu de fonctions JavaScript très utile a été intégré au core dès la version 1.9.2 de SPIP. Pour les versions inférieures, il vous faut installer et activer le plugin Jquery que vous pouvez télécharger ici : http://zone.spip.org/files/spip-zon....
-  Les styles CSS et les fonctions JavaScript du plugin sont insérés grâce à la balise #INSERT_HEAD qui doit absolument être présente (en un seul exemplaire) dans le header de vos squelettes (entre les balises <head> et </head> des fichiers HTML). Si vous ne trouvez pas cette balise dans vos codes et que les liens n’ont pas l’apparence voulue, alors l’outil "Balise #INSERT_HEAD" permet d’insérer automatiquement cette balise sans manipulation de votre part.

Apparté

Le mot hypertexte a été créé et publié pour la première fois en 1965, par Théodore Nelson. Il explique ainsi son idée :

"Elle m’est venue en octobre-novembre 1960, alors que je suivais un cours d’initiation à l’informatique qui, au début, devait m’aider à écrire mes livres de philosophie. Je cherchais un moyen de créer sans contrainte un document à partir d’un vaste ensemble d’idées de tous types, non-structurées, non-séquentielles, exprimées sur des supports aussi divers qu’un film, une bande magnétique ou un morceau de papier." (entretien accordé à A. Baritault, SVM n°77 p. 190)

Rappel : les liens hypertextes de SPIP

Les liens sous SPIP sont facilement générés grâce à un raccourci [1] : mettre le texte et l’URL entre crochets, séparés par une flèche (comme ceci : [texte -> URL]). Le texte devient une zone cliquable, et renverra le lecteur sur la page
web indiquée par « URL ». Ex : [le site national de l'AITF->http://www.aivf.asso.fr] qui devient : le site national de l’AITF. Il existe plusieurs types de liens :

-  les liens à l’intérieur de votre propre site. Par exemple :
Le raccourci [->article2166] génère un lien interne, vers l’article 2166 de votre site, ainsi : Le Couteau Suisse.

-  les liens vers l’extérieur de votre site. Par exemple :
Le raccourci [uZine->http://www.uzine.net] affiche le lien externe suivant : uZine.

-  les adresses URL transformées en lien hypertexte. Par exemple :
Le raccourci [->http://www.uzine.net] affiche directement l’URL, avec un lien hypertexte vers cette adresse, ainsi : http://www.uzine.net.

-  les liens vers le glossaire externe (en l’occurrence l’encyclopédie en ligne Wikipédia). Par exemple :
Le raccourci [?SPIP] génére le lien suivant : SPIP.

L’outil « Belles URLs »

Les "liens corrects"

SPIP a pour habitude d’insérer un espace avant les points d’interrogation ou d’exclamation, typographie française oblige. Voici une option qui protège le point d’interrogation dans les URLs (cliquables ou non) de vos textes. Exemples :
-  http://www.spip-contrib.net/?article2166 au lieu de : http://www.spip-contrib.net/?article2166
-  http://www.spip-contrib.net/?article2166 au lieu de : http://www.spip-contrib.net/?article2166

Les "liens orphelins"

Cet outil remplace systématiquement tous les liens laissés en texte par les utilisateurs (notamment dans les forums) et qui ne sont donc pas cliquables, par des liens hypertexte au format SPIP. Par exemple : www.spip.net est remplacé par www.spip.net.

Sur la page de configuration des outils, vous pouvez choisir le type de remplacement :

-  Basique : sont remplacés les liens du type http://spip.net (tout protocole) ou www.spip.net.
-  Étendu : sont remplacés en plus les liens du type moi@spip.net, mailto:monmail ou news:mesnews.

Techniquement, les textes sont examinés selon cette procédure :
-  Protection 1 : toutes les balises html, code, cadre, frame, script, acronym et cite.
-  Protection 2 : toutes les balises <a></a> pour éviter les doublons
-  Protection 3 : tous les raccourcis de liens SPIP, au cas où...
-  Protection 4 : toutes les balises contenant des points, histoire de voir plus clair

Les caractères reconnus comme faisant partie des liens (chiffres, lettres et 20 caractères spéciaux) :

@define('_liens_orphelins_AUTORISE',
 '\!\#\$\%\&\'\*\+\-\/\=\?\^\_\`\.\{\|\}\~a-zA-Z0-9');

Les caractères reconnus comme pouvant terminer un lien :

@define('_liens_orphelins_AUTORISE_FIN',
 '\#\$\&\'\*\+\-\/\=\^\_\`\|\~a-zA-Z0-9');

Attention : la balise #EMAIL, qui renvoie un texte brut par défaut, renvoie un lien cliquable en bonne est due forme lorsque l’outil Liens orphelins est activé avec un type de remplacement étendu. Vérifiez bien le code HTML de vos squelettes.

L’outil « MailCrypt »

Cet outil est inspiré du plugin créé par paolo, dont l’article de documentation est ici.

Un raccourci e-mail [->quelquun@autre.part.org] est d’habitude converti en HTML de la façon suivante :

<a href="mailto:quelquun@autre.part.org" class="spip_out">quelquun@autre.part.org</span>autre.part.org</a>

— ce qui laisse le champ ouvert pour les robots spam.

Première étape :

Intercepté par "MailCrypt", ce lien va être réécrit pour devenir : <a class="spip_url spip_out" onclick="location.href=lancerlien('quelquun','autre.part.org'); return false;" title="quelquun..ât..autre.part.org" href="#">quelquun<span class="mcrypt"></span>autre.part.org</a>

Il n’y a plus d’arobase ni de « mailto» pour orienter les robots. Le style "mcrypt" affiche l’image de l’arobase :

Seconde étape :

Si Javascript est activé, alors la librairie jQuery pourra changer le span-image, dont le principal défaut est d’être de taille et de couleur fixe, par un span-arobase tout simple : <span>@</span>. La protection des mails est donc transparente à l’écran et le lien ressemblera à :

<a class="spip_url spip_out" onclick="location.href=lancerlien('quelquun','autre.part.org'); return false;" title="quelquun..ât..autre.part.org" href="#">quelquun<span>@</span>autre.part.org</a>

.

Voici le code jQuery utilisé pour le remplacement :

Lorsque le visiteur clique sur le lien c’est la fonction JavaScript lancerlien qui est exécutée, et ce script reconstitue le lien. Voici le code de la fonction :

function lancerlien(a,b){ return 'ma'+'ilto'+':'+a+'@'+b; }

Et si le visiteur n’a pas JavaScript ? (Il s’agit vraiment de très peu de personnes). C’est certain : ils ne pourront pas utiliser le lien. Ils peuvent pourtant lire l’adresse en survolant le lien avec la souris. Pour aider ceux qui ont ce problème, il vous est possible de mettre un mot explicatif sur la page « technique » du site qui ressemble à :

Parce que le spam est devenu un problème grandissant, nous sommes très prudents dans la manière de mettre publiquement à disposition des adresses e-mail. Celles-ci ne figurent pas sur les pages de ce site, mais sont créées uniquement au moment où le visiteur clique sur un lien. Les visiteurs qui n’ont pas Javascript ou un programme e-mail ne pourront pas utiliser le lien. Cependant, quand le curseur passe sur le lien, un « infobulle » apparaît avec l’adresse e-mail (sous une forme difficile à lire pour les robots spam, mais dont la plupart des visiteurs pourront faire usage).

Attention : la balise #EMAIL, qui renvoie un texte brut par défaut, renvoie un texte où l’arobase est remplacée par un span lorsque l’outil MailCrypt est activé. Vérifiez bien le code HTML de vos squelettes (voir le dernier paragraphe de cet article).

Protéger des mails placés directement dans les squelettes

L’outil "Mailcrypt" ne touche pas aux mails entrés en dur dans les squelettes (fichiers .html) : seules certaines balises SPIP sont traitées. Deux raisons à cela :
-  on fait confiance aux webmestres pour éviter d’offrir des proies si faciles aux robots de SPAM,
-  une vérification de la page finale à chaque hit serait un peu trop coûteux en temps serveur.

Le plugin est donc surtout destiné à protéger les mails stockés dans les textes de la base de données et introduits par les rédacteurs d’articles ou de messages de forum.

Plusieurs solutions s’offrent à vous

-  utiliser directement le filtre "cs_lien" du Couteau Suisse :
        #EVAL**{'cs_lien("moi@toto.com")'}
ou encore :
        #EVAL**{'cs_lien("moi@toto.com", "courriel")'}
-  utiliser la lourde fonction "propre" de SPIP :
        #EVAL**{'propre("moi@toto.com")'}
(attention : le paragraphage automatique de SPIP risque de désorganiser la mise en page et il faut configurer le Couteau Suisse pour que les liens deviennent cliquables avec "Liens orphelins"...)
-  Depuis SPIP 1.93, la balise #VAL permet facilement d’utiliser des filtres en simplifiant un peu le code :
        [(#VAL{moi@toto.com}|cs_lien)]
ou :
        [(#VAL{moi@toto.com}|cs_lien{courriel})]

Autres balises SPIP

L’outil "Mailcrypt" agit sur le pipeline post_propre de SPIP et sur le traitement de la balise #EMAIL. Par conséquent, toute balise nouvellement créée (par vous-même, par un champ de base de données ou par un autre plugin) ne sera pas protégée si son traitement n’est pas explicité dans mes_options.php, intégrant les fonctions mailcrypt() du Couteau Suisse OU propre() de SPIP.

A titre d’exemple, voici comment le Couteau Suisse compile le traitement de la balise #EMAIL, non concernée par la fonction propre() :

        $GLOBALS['table_des_traitements']['EMAIL'][]='mailcrypt(%s)';

Prenons par exemple un champ lesvaleurs présent dans une table de votre base de données. Si ce champ contient une adresse email, alors n’utilisez surtout pas directement dans vos squelettes l’expression suivante :
<a href="mailto:#LESVALEURS">#LESVALEURS</a>

Mais plutôt :
[(#LESVALEURS|cs_lien{#LESVALEURS})]

L’email brut non protégé sera alors transformé en un lien SPIP [->email] par le filtre cs_lien, puis traitée par MailCrypt.

L’outil « SPIP et les liens... »

Utiliser des liens externes :

Tous les liens du site s’ouvrent par défaut dans la fenêtre de navigation en cours. Mais il peut être utile d’ouvrir les liens externes au site dans une nouvelle fenêtre extérieure — cela revient à ajouter target="_blank" à toutes les balises <a> dotées par SPIP des classes spip_out, spip_url ou spip_glossaire.

Note : cette fonctionnalité utilise la librairie jQuery et voici son code :

Lien vers le glossaire :

SPIP permet de relier des mots à leur définition grâce au raccourci typographique [?mot]. Par défaut (ou si vous laissez vide la case de configuration), le glossaire externe renvoie vers l’encyclopédie libre wikipedia.org : http://@lang@.wikipedia.org/wiki/ (pour le français, SPIP remplacera @lang@ par "fr"). À vous donc, de choisir l’adresse à utiliser.

Lien de test : SPIP

L’outil « Liens en clair »

Cet outil met à votre disposition le filtre : liens_en_clair.

Votre texte contient probablement des liens hypertexte qui ne sont pas visibles lors d’une impression, cachés dans un lien cliquable.... Ce filtre ajoute entre crochets la destination de chaque lien cliquable (liens externes ou mails). Voici un exemple de syntaxe SPIP : [(#TEXTE|liens_en_clair)].

Attention : en mode impression, cette fonctionnalité est appliquée automatiquement, sans filtre obligatoire.

Exemple : le lien caché "Un mail" est remplacé par : "Un mail [quelquun@autre.part.org]".

Précisions sur le mode impression du Couteau Suisse :

Le Couteau Suisse offre un mode utile pour l’impression en plaçant le paramètre « cs=print » dans le lien d’appel de la page. Ce mode est automatiquement activé si le squelette « print.html » est utilisé (donc ici : « page=print »).

Exemples d’appel :
-  Dans un navigateur : www.monsite.ici/spip?article999&cs=print
-  Dans un squelette : [(#SELF|parametre_url{cs,print})]
-  En PHP : parametre_url(self(), 'cs', 'print')

Cas de la balise #EMAIL

La balise #EMAIL, généralement utilisée dans une boucle AUTEURS, est complètement absente des squelettes d’origine, car il est déconseillé d’exposer des emails bruts à l’écran. Un crawler pourrait les utiliser à des fins mal intentionnées.

Voici donc un code à éviter : [<A HREF="mailto:#EMAIL">(#NOM)</A>].

Attention : bien qu’il soit valide, le code précédent est incompatible avec les outils MailCrypt et Liens orphelins qui agissent sur la balise #EMAIL.

A la base, cette balise renvoie un email brut, sans aucune protection. Mais :
-  MailCrypt remplace l’arobase du mail par un span, rendant donc impossible l’utilisation de cette balise dans un href !
-  Liens orphelins remplace l’email brut par un lien sur l’email, rendant également impossible l’utilisation de cette balise dans un href.

Bon, pour empêcher les traitements sur cette balise, vous pouvez toujours utiliser l’étoile : [<A HREF="mailto:#EMAIL*">(#NOM)</A>]. Mais aucune protection ne préservera alors vos auteurs face à la collecte des robots. Pour remédier à ce problème, et permettre quand même aux visiteurs d’envoyer directement des mails aux différents auteurs de votre site, le Couteau Suisse offre un filtre bien utile : cs_lien. Ce filtre très simple permet de créer un lien sur un texte.

La syntaxe à utiliser dans un squelette est donc désormais : [(#EMAIL*|cs_lien{#NOM})].

Ici, l’email brut non protégé est transformé en un lien SPIP [nom->email] par le filtre cs_lien, puis traitée par MailCrypt et éventuellement expansée par Liens en clair pour l’impression.

Eh oui, les outils du Couteau Suisse interagissent ensemble, en toute harmonie !

Notes

[1Si vous le souhaitez, vous pouvez naturellement utiliser du code HTML directement dans vos textes. Mais nous vous conseillons d’utiliser de préférence ces raccourcis, d’une part parce qu’ils sont plus simples à mémoriser, d’autre part parce qu’il font l’objet d’un traitement automatisé avantageux : SPIP les remplace par le code HTML approprié et valide, les dotant de plus de styles facilitant leur habillage graphique par le webmestre.

Dernière modification de cette page le 11 mai 2013

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 15 février 2015 à 17:18, par bruno31 En réponse à : De beaux liens hypertexte

    Bonjour

    J’ai activé la lame mais les liens externes qui devraient s’ouvrir vers une nouvelle fenêtre n’embarquent pas le « target=_blank ».

    Le lien de test dans l’espace privé ne fonctionne pas non plus.

    J’ai analysé le js généré par le couteau suisse et intégré dans le header, il ne ne semble rien avoir concernant les liens externes. Or ol y a bien quelque chose sur les mailto.

    Merci pour votre aide.

    • Le 21 mai 2015 à 16:10, par inaden En réponse à : De beaux liens hypertexte

      Bonjour
      J’ai le même problème. Activation des liens externes dans le couteau suisses… et rien ne se passe !
      Vous avez trouvé une solution entre temps ?

    Répondre à ce message

  • Le 8 décembre 2011 à 19:41, par Guillaume En réponse à : De beaux liens hypertexte

    Bonjour

    En activant l’outil Belles URLs du Couteau Suisse, cela génère des problèmes dans la configuration des outils du Couteau Suisse.

    Dans la partie dédiée à la configuration de chaque outil, je me retrouve avec ceci :

    Belles URLs
    Par défaut | Désactiver
    http://localhost/spip/ecrire/?exec=... onsubmit=« return AjaxSqueeze(this,’description_outil-420’,’’,event) » method=’post’ style=’margin : 0px ; border : 0px’>
    Cet outil a deux fonctions [...]

    Notez la présence de http://localhost/spip/ecrire/?exec=... onsubmit=« return AjaxSqueeze(this,’description_outil-420’,’’,event) » method=’post’ style=’margin : 0px ; border : 0px’> en haut de chaque bloc de configuration.

    Ceci ne serait pas trop grave (et encore, je n’ai pas vérifié ce que ça donnait sur le site) mais le deuxième effet Kiss cool, c’est que je ne peux plus valider la configuration des blocs de configuration des outils du Couteau Suisse. Si je clique sur le bouton Modifier ces paramètres, j’obtiens la page 403 (Forbidden) suivante :

    Forbidden

    You don’t have permission to access /spip/ecrire/<a href="http://localhost/spip/ecrire/ on this server.

    Ce comportement disparaît si je désactive l’outil Belles URLs.
    J’utilise la dernière version de SPIP (SPIP 2.1.12 [18732]) avec un WAMP (sous Windows donc).

    SPIPement

    Guillaume

    • Le 8 décembre 2011 à 22:05, par ? En réponse à : De beaux liens hypertexte

      Merci de retour. Quels autres plugins et outils utilises-tu ?

    • Le 8 décembre 2011 à 23:27, par Guillaume En réponse à : De beaux liens hypertexte

      J’ai uniquement Thickbox v2 (v0.3.0) comme plugin activé.

      Je viens de faire le test et même en laissant uniquement Le Couteau Suisse activé, je reproduis le problème. Il s’agit d’un serveur de dev donc je peux faire des tests à volonté.

    • Le 9 décembre 2011 à 01:27, par Patrice Vanneufville En réponse à : De beaux liens hypertexte

      Comment as-tu configuré les « Belles URLs » ? Et quels sont les autres outils actifs du couteau suisse ? Je ne reproduis pas ton problème... D’après le code que tu reproduis, il semble qu’un morceau du code source de la page est « mangé » ...

    • Le 27 mars 2013 à 16:09, par Florence En réponse à : De beaux liens hypertexte

      J’ai le même problème. Il vient du fait que le formulaire de description d’un outil du couteau-suisse utilise la fonction propre qui est modifiée par le pipeline post_propre de « Belles Urls ».

      Ce pipeline entoure toutes les urls d’une balise <a href> ; il semble qu’il le fait même sur celles qui sont déjà dans une balise <form action="http://...">
      ce qui donne <form action="<a href="http://....>http://...</a>" et le formulaire ne fonctionne plus.

      C’est ce que j’ai diagnostiqué avec le couteau-suisse Version locale : 1.8.114
      Révision : 71036

    • Le 28 mars 2013 à 03:40, par Pat En réponse à : De beaux liens hypertexte

      Merci du retour Florence.

      Je n’ai pas réussi à reproduire ton problème (tu en local ? avec quel SPIP ?), mais j’ai renforcé le protection des formulaires dans la version .116 du plugin.

      Tu me diras si c’est OK à présent...

    • Le 28 mars 2013 à 14:36, par Florence En réponse à : De beaux liens hypertexte

      Merci c’est OK maintenant.

      J’utilisais « Belles Urls » sur un site spip 1.9.2 et le bug est apparu quand j’ai voulu migrer en 2.0.22.
      L’outil semble moins utile avec la version 2.0 mais merci tout de même de l’avoir renforcé.

    • Le 29 mars 2013 à 06:05, par Pat En réponse à : De beaux liens hypertexte

      Oh non, il peut être tout aussi utile car son paramétrage reste pertinent.

    Répondre à ce message

  • Le 21 janvier 2011 à 16:07, par yannick-lee En réponse à : De beaux liens hypertexte

    Comment interdire un traitement automatique spécifique ?

    Bonjour.

    Je cherche à empêcher SPIP d’effectuer un traitement automatique précis. Dans mon cas, il s’agit de désactiver MailCrypt (du Couteau suisse) dans le contenu des newsletters que je génère par un squelette.

    Je sais que je pourrais utiliser un truc du genre [(#BALISE*|tous|les|traitements|normalement|appliques|sauf|mailcrypt)] mais ça ne me branche pas (d’ailleurs, comment en avoir la liste ?)

    N’y a-t-il pas une solution simple, du genre [(#BALISE|pas_mailcrypt)] ?

    Merci d’avance.

    • Le 22 janvier 2011 à 03:56, par Patrice Vanneufville En réponse à : De beaux liens hypertexte

      Salut.

      Mailcrypt n’est pas un outil agissant au niveau du traitement d’une balise particulière, mais au niveau du pipeline post_propre. Il est donc ponctuellement plus difficile d’empêcher son action... Le glossaire par exemple est lui, bien un traitement des balises #TEXTE, #CHAPO et #TITRE.

      Cependant, 3 pistes me viennent à l’esprit...

      1. Simplement à l’aide des balises <code/>, <cadre/> ou <html/> à l’intérieur desquelles Mailcrypt n’agit pas.

      2. Un peu plus lourdement en effet grâce à une function pas_mailcrypt{ on revert tout ! }.

      3. Enfin, en y allant franco, du genre : [(#TEXTE*|replace{@,_AROB_}|cs_traitements{TEXTE,articles}|replace{_AROB_,@})]

      Explications : l’étoile de la balise empêche tout traitement SPIP et renvoie le texte brut stocké en base de données, le premier filtre ’|replace’ leure d’abord mailcrypt, le filtre ’|cs_traitement’ du Couteau Suisse rétablit les traitements originaux de SPIP correspondant à la balise ’#TEXTE’ et aux objets ’articles’ (dont ’|propre’ qui appelle le pipeline ’post_propre’), puis le second filtre ’|replace’ rétablit le tout.

      Pour revenir aux traitements et pour en inhiber un ou plusieurs ponctuellement, je m’apprête à corriger le filtre |cs_traitements pour lui ajouter un paramêtre d’exclusion. A voir si cela va t’intéresser.
      Alors, que choisis-tu finalement ?

    • Le 22 janvier 2011 à 04:15, par Patrice Vanneufville En réponse à : De beaux liens hypertexte

      Finalement, voila la fameuse possibilité d’exclusion : http://zone.spip.org/trac/spip-zone...

      Cela rend notamment caduque la notation :
      [(#TEXTE*|concat{#EVAL{_CS_SANS_GLOSSAIRE}}|cs_traitements{TEXTE,articles})]
      au profit de :
      [(#TEXTE*|cs_traitements{TEXTE,articles,cs_glossaire})]

    • Le 22 janvier 2011 à 09:25, par paolo En réponse à : De beaux liens hypertexte

      voila la fameuse possibilité d’exclusion

      Magnifique ! J’ai été confronté avec exactement la même question que yannick il y a quelques mois. La solution que j’avais trouvée était de demander les rédacteurs/traducteurs d’écrire les liens email autrement dans les articles « newsletter ». Mais cette nouvelle possibilité est plus propre.

      Pour les lents (moi), où est-il possible de trouver une liste des traitements sur lesquels cs_traitements() peut agir ?

    • Le 1er février 2011 à 00:07, par Patrice Vanneufville En réponse à : De beaux liens hypertexte

      En regardant dans le fichier tmp/couteau-suisse/mes_options.php, il y a (tout à la fin) la liste compilée des traitements actifs. Par exemple :

      1. $GLOBALS['table_des_traitements']['TITRE'][]='typo(supprimer_numero(%s),"TYPO",$connect)';
      2. $GLOBALS['table_des_traitements']['TITRE']['mots']='cs_glossaire_titres(typo(supprimer_numero(%s),"TYPO",$connect))';
      3. $GLOBALS['table_des_traitements']['NOM'][]='typo(supprimer_numero(%s),"TYPO",$connect)';
      4. $GLOBALS['table_des_traitements']['TYPE']['mots']='typo(supprimer_numero(%s),"TYPO",$connect)';
      5. $GLOBALS['table_des_traitements']['TEXTE'][]='cs_nettoie(cs_decoupe(cs_glossaire(propre(cs_onglets(%s),$connect))))';

      Télécharger

      On peut voir dans cet exemple les traitements généraux sur une balise donnée (par ex. : [’TITRE’][]) et les traitements particuliers sur une balise et un objets donnés (par ex. : [’TITRE’][’mots’])

    • Le 1er février 2011 à 00:31, par paolo En réponse à : De beaux liens hypertexte

      OK. Merci bcp !

    • Le 15 février 2011 à 22:38, par paolo En réponse à : De beaux liens hypertexte

      Mais non - je n’y arrive pas. Sur une page similaire à celle que décrit Yannick (contenu des newsletters que je génère par un squelette) je veux le texte de l’article avec les traitements habituels de SPIP, mais sans mailcrypt, qui est activé pour le site.

      Dans tmp/couteau-suisse/mes_options.php je vois $GLOBALS['table_des_traitements']['EMAIL'][]='mailcrypt(%s)';

      Dans le squelette j’essaie donc :
      [(#TEXTE*|propre|typo|cs_traitements{EMAIL,,mailcrypt})]

      qui ne marche pas du tout. L’un ou l’autre vous voyez ou je m’égare ?

      merci bcp.

    • Le 15 février 2011 à 23:15, par Pat En réponse à : De beaux liens hypertexte

      Oh là, non !! Il y a trop de filtres...

      les filtres propre et typo ne doivent surtout pas être employés ensemble, sachant que cs_traitement applique lui-même les traitements appropriés. Dans une boucle ARTICLES, ce dernier doit être utilisé comme suit :

      [(#TEXTE*|cs_traitements{TEXTE,articles,mailcrypt})] (non testé...)

      Note : le 1er paramètre est le nom de la balise, le 2e est le type d’objet concerné, le 3e est le filtre à exclure.

      La ligne PHP que tu mentionnes indique que le traitement appliqué à la balise #EMAIL passe par mailcrypt. Rien à voir avec ce qui se passe pour la balise #TEXTE...

    • Le 16 février 2011 à 00:03, par paolo En réponse à : De beaux liens hypertexte

      Merci de ta réponse, Pat. Mais non, cela ne fait pas l’affaire.
      mailcrypt embrouille l’adresse email (inséré dans le texte avec un raccourci type
      [->monemail.com], que j’utilise
      [(#TEXTE*|cs_traitements{TEXTE,articles,mailcrypt})]
      ou simplement : [(#TEXTE)]

    • Le 16 février 2011 à 12:46, par Pat En réponse à : De beaux liens hypertexte

      Ah oui, toutes mes excuses... En fait mailcrypt utilise les traitements uniquement pour la balise #EMAIL.

      En ce qui concerne #TEXTE, cette lame passe par le pipeline post_propre qui est donc utilisé sur toutes les balises bénéficiant du traitement |propre. Du coup il faut ruser un peu. Vu que le texte entre les balises <html|code|cadre|frame|script/>, je propose qqchose du style (code non testé) :

      [(#TEXTE*|replace{@,<html>@</html>}|cs_traitements{TEXTE,articles})]

      En principe, toutes les adresses mail du texte ne seront pas touchées car protégées par un échappement avant d’envoyer tous les traitements de la balise #TEXTE/articles.

      C’est vrai que SPIP offre deux mécanismes disctincts (pipelines de typo et traitement de balises) qu’il n’est pas toujours facile de dissocier et de comprendre exactement ce qui fait quoi... Si cette astuce fonctionne, ça serait bien de l’ajouter à l’article ;-)

    • Le 16 février 2011 à 14:27, par ? En réponse à : De beaux liens hypertexte

      Mailcrypt trouve quand même ces <html>@</html> et les transforme aussi — exactement comme avant.

    • Le 25 mai 2011 à 08:51, par Benoît Vrins En réponse à : De beaux liens hypertexte

      Pour le même problème rencontré dans un patron du plugin Spip-list, au final j’ai appliqué la solution 3 donnée par Patrick à savoir

      [(#TEXTE*|replace{@,_AROB_}|cs_traitements{TEXTE,articles}|replace{_AROB_,@})]

      Et ca marche !

    • Le 9 décembre 2011 à 02:16, par Patrice Vanneufville En réponse à : De beaux liens hypertexte

      Bonjour à tous. A titre d’info, un nouveau filtre a été créé : |maildecrypt

      Utilisation :
      -  #FILTRE{maildecrypt} sur le fond entier
      -  |maildecrypt sur une balise en particulier : [(#TEXTE|maildecrypt)]

      Commit en question : http://zone.spip.org/trac/spip-zone...

    Répondre à ce message

  • Le 12 août 2010 à 17:12, par goetsu En réponse à : De beaux liens hypertexte

    bonjour,

    Une petite suggestion pour la lame qui permet l’ouverture des liens dans une nouvelle fenêtre.
    En terme d’accessibilité et notamment vis à vis du respect du RGAA il est nécessaire d’indiquer l’ouverture dans les nouvelles fenêtres.

    Alors certes le rédacteur peut le faire à la main mais on pourrait lui faciliter la tache en allant récupérer le texte de chacun des liens avec le pipeline pre_liens et ajoutant un title (sauf si y en a déjà un de défini) = texte du lien - nouvelle fenêtre (et si besoin créer la chaine de langue).

    Répondre à ce message

  • Le 11 juin 2010 à 14:15, par Barbs En réponse à : De beaux liens hypertexte

    Bonjour,

    Je cherche à différencier dans mon squelette les liens externes des liens internes, c’est à dire avoir une 2 blocs :
    Liens internes
    -  Lien interne 1
    -  Lien interne 2

    Liens externes
    -  Lien externe 1
    -  Lien externe 2

    Quelqu’un a-t-il déjà fait des choses comme ça ? Couteau Suisse peut-il m’y aider ?

    Merci pour vos retours

    • Le 11 juin 2010 à 14:44, par Patrice Vanneufville En réponse à : De beaux liens hypertexte

      Si tu regardes le code de ta page, tu devrais trouver des classes différentes car SPIP différencie déjà les liens internes des liens externes. Le vérifies-tu ?

      Si c’est bien le cas, un petit style sur ces classes et le tour est joué !

    • Le 11 juin 2010 à 15:46, par Barbs En réponse à : De beaux liens hypertexte

      Thx pour le tuyau, je suis bien court en CSS !

    Répondre à ce message

  • Le 27 septembre 2009 à 12:42, par Carlos En réponse à : Les liens hypertexte

    Bonjour et désolé par avance de poser une question aussi naïve...
    Comment dois-je procéder pour arriver à personnaliser les liens hypertexte qui sont dans le corps de l’article ? Je travaille sous Spip 2.08 et The Morning After. Idéalement, j’aimerai bien que mes liens ressemblent à ceux de ce site avec la petite image en fin de lien.
    J’imagine que la question a déjà été posée 100 fois, mais je n’arrive pas à trouver d’article ou de site qui traite la question. La seule piste que j’ai trouvée est de modifier spip_out, mais je n’arrive pas à trouver où il se trouve dans ma configuration...

    Répondre à ce message

  • Le 24 septembre 2009 à 08:41, par Johan En réponse à : Les liens hypertexte

    Bonjour,

    Je travaille actuellement sur un site en français (une seule langue) pour des enseignants d’anglais.

    Lien vers le glossaire :
    SPIP permet de relier des mots à leur définition grâce au raccourci typographique mot. Par défaut (ou si vous laissez vide la case de configuration), le glossaire externe renvoie vers l’encyclopédie libre wikipedia.org : http://@lang@.wikipedia.org/wiki/ (pour le français, SPIP remplacera @lang@ par « fr »). À vous donc, de choisir l’adresse à utiliser.

    Savez-vous comment faire pour que nos liens vers wikipedia renvoie vers les pages anglaises ?
    un filtre dans le lien ?
    un réglage particulier ?

    Merci

    • Le 24 septembre 2009 à 13:25, par ? En réponse à : Les liens hypertexte

      Configurer http://en.wikipedia.org/wiki/ ne convient-il pas ?

    • Le 24 septembre 2009 à 13:57, par Johan En réponse à : Les liens hypertexte

      En effet, j’avais mal compris. merci !

    Répondre à ce message

  • Le 18 mars 2009 à 00:10, par pepperberry En réponse à : Les liens hypertexte

    Ça marche ! génial, merci.

    Je suis toujours passé à côté de ces balises (une bonne partie de SPIP m’échappe encore)...

    Répondre à ce message

  • Le 17 mars 2009 à 23:53, par pepperberry En réponse à : Les liens hypertexte

    Oui, il s’agit du site suivant.

    • Le 18 mars 2009 à 00:07, par Patrice Vanneufville En réponse à : Les liens hypertexte

      Il semble que tu aies oublié la balise #INSERT_HEAD dans ton squelette... Ou alors, active l’outil correspondant du Couteau Suisse : « Balise #INSERT_HEAD ».

    Répondre à ce message

  • Le 17 mars 2009 à 23:01, par pepperberry En réponse à : SPIP et les liens externes

    Bonsoir,
    la fonctionnalité du Couteau Suisse gérant les liens externes ne fonctionne plus du tout depuis mon passage à Spip 2.0 (cad que les liens externes ne s’ouvrent plus dans de nouvelles fenêtres : tant mieux me direz-vous, sauf que non justement, pas dans mon cas...) : comment régler ce problème svp ?

    • Le 17 mars 2009 à 23:15, par Patrice Vanneufville En réponse à : SPIP et les liens externes

      Pourtant, je viens de faire le test, tout fonctionne très bien. Il s’agit d’un fonctionnalité JavaScript, ta page comporte peut-être une erreur bloquante... Tu as un lien public à donner ?

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Mailsubscribers

    16 janvier 2013 – 274 commentaires

    Ce plugin permet de gérer les inscriptions (ou abonnements) à la diffusion de contenu par email. Mailsubscribers permet de gérer les inscriptions par Opt-in simple ou double et la désinscription par URL. Ce plugin gère également plusieurs listes (...)

  • noiZetier v2

    9 novembre 2012 – 36 commentaires

    Le noiZetier offre une interface d’administration permettant d’insérer au choix des éléments modulaires de squelettes (noisettes) et de les ajouter ainsi à ses squelettes. Compatibilité La version 2 du noizetier fonctionne sous SPIP 3. Elle est (...)

  • cirr : plugin « rédacteur restreint »

    29 octobre 2010 – 60 commentaires

    Ce plugin « cirr : rédacteur restreint » permet d’affecter des rubriques aux rédacteurs et modifie les droits afin qu’un rédacteur restreint (ou un administrateur restreint) voit dans l’espace privé uniquement les rubriques qui lui sont affectées (et leur (...)

  • Un retour d’expérience d’utilisation de Formidable

    26 octobre – commentaires

    Il s’agissait de créer un formulaire d’inscription à un évènement modérer les inscriptions dans le privé publier les inscriptions dans le public Nous avons discuté de cette présentation lors de l’apéro SPIP du 15 février 2016 à la Cantine (...)

  • Métas +

    3 décembre – 14 commentaires

    Améliorez l’indexation de vos articles dans les moteurs et leur affichage sur les réseaux sociaux grâce aux métadonnées Dublin Core, Open Graph et Twitter Card. Installation Activer le plugin dans le menu dédié. Dans le panel de configuration, (...)

Ça spipe par là