En étant un activiste du site « Biotechno pour les Profs », je suis confronté quotidiennement à l’incompréhension de futurs collègues ou de jeunes collègues devant certains sigles et acronymes utilisés dans nos textes.
Jean-Luc NAIL a développé de son côté un dictionnaire assez complet et en constante évolution sur son site
Depuis plusieurs années je repousse sans cesse la réalisation d’un script pour permettre un réaiguillage automatique des sigles écrits dans les textes vers leurs définitions sur le site Acro.Ecole.
Or, il y a quelques semaines, j’ai découverts que le fait d’encadrer un mot ou une expression par deux crochets et un point d’interrogation transformait ce mot en lien vers la page Wikipedia correspondante.
Voici ce que j’ai saisi dans le texte de cet article pour obtenir le lien ci-dessus :
[?wikipedia]
Je précise que Acro-école est basé sur un ensemble de scripts PHP intitulé acro-dico qui permet à quiconque de réaliser son propre dico de sigle.
Pour arriver au même résultat, j’ai détaillé 2 méthodes différentes. Chacune possède ses avantages et ses inconvénients.
- Conception d’un filtre dans mes_fonctions.php3 ;
- Configuration du fichier mes_options.php3 pour remplacer le raccourci wikipédia par le raccourci acro-ecole ;
Un exemple de fonctionnement !
Bon, d’accord, pour vous mettre un peu dans le bain, allez voir les sigles de cette brève de Biotechno pour les Profs.
Un simple filtre dans le fichier mes_fonctions.php3
Après avoir posé la question sur la liste de SPIP, Mathieu Lecarme a immédiatement posté une solution hyper simple.
Voyez le code suivant qui est à intégrer à votre fichier mes_fonctions.php3 situé à la racine de votre site. Jean-Luc Nail nous as même gratifié d’une page dédiée à notre filtre ! Il s’agit du filtre dénommé « mon_dico » :
function mon_dico($tartine){
return preg_replace('/\[#(.*)\]/U','<a href="http://acro.ecole.free.fr/spip.php?rech=$1" class="dico">$1</a>',$tartine);
}
NB : évidemment ce filtre est à ajouter à votre fichier mes_fonctions.php3 entre les balises php qui conviennent (<?php et ?>
). Mais si votre fichier mes_fonctions.php3 existe déjà, ces balises de début et de fin de fichier doivent déjà être présentes.
Faire utiliser le filtre par le squelette
Maintenant il faut dire à SPIP quand utiliser ce filtre et où. Ce qui nous intéresse c’est que les sigles présents dans le texte des articles soient liés à Acro.Ecole.
Il faut donc ajouter le filtre comme ceci :
[(#TEXTE|mon_dico)]
On peux également l’ajouter au Post-Scriptum de l’article, ce qui donne, pour une boucle article du fichier article.html :
<BOUCLE_article_principal(ARTICLES) {id_article}>
[(#LOGO_ARTICLE|left)]
[(#SURTITRE)]
[<h1>(#TITRE|supprimer_numero)</h1>]
[(#SOUSTITRE)]
[(#DATE|nom_jour)] [(#DATE|affdate).]
[Site internet : <a href="#URL_SITE">(#NOM_SITE)</a>]
[(#CHAPO)]
[(#TEXTE|mon_dico)]
[(#PS|mon_dico)]
[(#NOTES)]
</BOUCLE_article_principal>
Bien évidemment, ce filtre est à ajouter partout où l’on en a besoin (comme dans breves.html...).
Quel raccourci utiliser
Si on regarde bien le code ci-dessus, nous avons :
[#(.*)\]
ce qui signifie en bref que le sigle sera redirigé vers Acro.Ecole s’il est formatté de la sorte par le rédacteur de l’article ou de la brève :
[#SIGLE]
Personnaliser l’affichage des sigles liés
Dans le filtre est défini une class=« dico ». Ceci fait référence à la feuille de style du site (CSS). Nous pouvons donc aisément lui ajouter ceci :
/* ---------------------------------------- */
/* Feuille de style pour le lien acro.ecole */
/* ---------------------------------------- */
a.dico {
text-decoration: underline;
color: green;
}
a:hover.dico {
text-decoration: overline;
}
Seconde possibilité : configurer le fichier mes_options.php3
Parmis les nombreuses fonctionnalités du fichier /ecrire/mes_options.php3 il y a la possibilité de réaiguiller le raccourci de wikipédia vers une autre adresse.
Nous allons donc créer un fichier /ecrire/mes_options.php3 contenant le code suivant :
<?php
// url utilisée pour le glossaire
// lien vers le glossaire, raccourcis [?mot]
// $GLOBALS['url_glossaire_externe'] = ;
$GLOBALS['url_glossaire_externe'] = "http://acro.ecole.free.fr/spip.php?rech=" ;
?>
Dans ce cas de figure, vous n’avez besoin de rien faire d’autre. Vous saisissez simplement dans votre texte le code de wikipédia :
[?mot]
pour chaque sigle que vous voulez réaiguiller vers acro-école.
Le désavantage, c’est que vous perdez la possibilité de renvoyer des mots vers leur définition sur wikipédia.
Discussions par date d’activité
2 discussions
L’idéal évidemment, ce serait d’avoir un dico par défaut, et de pouvoir en spécifier un à la volée
[?terme->mondico]
mondico étant un nom symbolique défini dans la config ou une url complete.Le nom symbolique a l’avantage de pouvoir changer une URL globalement.
Voilà une sorte de filtre qui permet de gérer ce dico à la volée (on suppose que « la volée » signifie avoir recensé quelques dico et autres lexiques au prélable, ici Wikipedia francophone, Wikipedia anglophone et un lexique par défaut) :
============================ Texte Article test ============================
============================ /Texte Article test ============================
Dans le squelette, j’ai (#INTRODUCTION|x_dico) ou (#TEXTE|x_dico)
Merci pour cette contribution. L’article devient enfin vraiment intéressant avec ce filtre pluriel.
Bon, comme ça plait, j’améliore un peu le code ! ;-)
Ca ne change pas les fonctionnalités, mais c’est plus générique, comme solution.
Pour ajouter un nouveau dico, il faut lui choisir un sigle qui sera utilisé dans la balise de l’article et lui associer l’URL du dico/lexique où %s sera remplacé par ce qui sera entre les crochets.
Un exemple vaut mille discours :
Je veux pouvoir mettre des liens vers Google-News avec un raccourci de la forme
[#ggn Logiciel libre]
.Ooups, j’ai confirmé au lieu de continuer à modifier...
J’en étais à Un exemple vaut mille discours : Je veux pouvoir mettre des liens vers Google-News avec un raccourci de la forme [#ggn Logiciel libre].
Si je vais avec mon butineur favori sur Google-News pour trouver les nouvelles relatives au Logiciel Libre (au hasard), je me rends compte que l’URL est : http://news.google.fr/news?hl=fr&q=logiciel+libre&ie=ISO-8859-1 (bon, j’ai un peu ôté de l’URL quelques paramètres peu importants).
Si je veux ajouter ce « dico » à mes raccourcis possible, je modifie mon filtre de la sorte :
Devient
Et à partir de maintenant, je peux faire des liens vers la page d’actualités de Google avec [#ggn les termes que je veux] !
Note aux auteurs : les liens ne sont pas visibles dans l’interface privée, qui ne fait pas appel aux filtres, ne vous inquiétez pas, c’est normal !
A quand l’intégration dans les raccourcis standards de SPIP ?
Répondre à ce message
On peux certainement même également ajouter un javascript du genre :
Ce qui donnerait le script suivant (non testé) :
Répondre à ce message
Ajouter un commentaire
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.
Suivre les commentaires : |