SPIP - Contrib

[ar] [en] [es] [fr] [it]



Accueil du site > Navigation > Liens > Archives Liens

Réaiguiller un "SIGLE" vers sa définition

vendredi 10 décembre 2004, par Bionet. Dernier ajout vendredi 10 décembre 2004


Avec un raccourci typographique simple, voici comment faire pointer vos SIGLES obscurs vers leur définition sur Acro.Ecole. C’est évidemment adaptable à d’autres sites comme le wiktionnaire...


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 Acro.Ecole.

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.

  1. Conception d’un filtre dans mes_fonctions.php3 ;
  2. 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" :

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 :

On peux également l’ajouter au Post-Scriptum de l’article, ce qui donne, pour une boucle article du fichier article.html :

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 :

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 :

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 :

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.

P.-S.

Ce filtre est facilement adaptable et vous permettra de mettre en place des raccourcis typographiques pour des fonctionnalités propres à votre site (comme acro.ecole qui est destiné avant tout pour les sites d’établissements scolaires...).

Note : on peux même créer une page du site dédiée à l’exploitation du résultat de la recherche renvoyé par acroécole. Comme ça on ne sort plus du site pour aller chercher la définition des sigles, mais ils s’affichent à l’intérieur même du site. Ce sera certainement le sujet d’un prochain article sur spip-contrib :-)


Répondre à cet article

  • > Réaiguiller un "SIGLE" vers sa définition

    10 décembre 2004 18:00, par François Le Ralle

    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.

    Répondre à ce message

    • Dico à la volée 7 mai 2005 01:06, par Raphaël Rousseau

      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) :

      function x_dico($tartine){
      $dicos = array(
             'fwp' => 'http://fr.wikipedia.org/wiki/',
             'wp' => 'http://www.wikipedia.org/wiki/',
             'lexique' => '/spip.php?rech=' );
      return preg_replace('/\[#(\S+)\s+(.*)\]/Ue',"sprintf('<a href=\"%s$2\" class=\"dico\">$2</a>', \$dicos[\"$1\"]);",$tartine);
      }

      ============================ Texte Article test ============================

      Voici un article qui parle de [#fwp GNU] et pas d'[#wp Emacs], dommage !

      Par contre, il parle  d'[#lexique écologie numérique].

      ============================ /Texte Article test ============================

      Dans le squelette, j’ai (#INTRODUCTION|x_dico) ou (#TEXTE|x_dico)

      Répondre à ce message

      • > Dico à la volée 7 mai 2005 09:26, par Bionet

        Merci pour cette contribution. L’article devient enfin vraiment intéressant avec ce filtre pluriel.

        Répondre à ce message

        • > Dico à la volée 7 mai 2005 11:54

          Bon, comme ça plait, j’améliore un peu le code ! ;-)

          function x_dico($tartine){
                 $dicos = array(
                                 'fwp' => 'http://fr.wikipedia.org/wiki/%s',
                                 'wp' => 'http://www.wikipedia.org/wiki/%s',
                                 'lexique' => '/spip.php?rech=%s' );
                 return preg_replace('/\[#(\S+)\s+(.*)\]/Ue',
                         "sprintf('<a href=\"'.\$dicos['$1'].'\" class=\"dico\">%s</a>', urlencode('$2'),'$2');",$tartine);
          }

          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].

          Répondre à ce message

          • > Dico à la volée 7 mai 2005 12:15, par Raphaël Rousseau

            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 :

                   $dicos = array(
                                  'fwp' => 'http://fr.wikipedia.org/wiki/%s',
                                  'wp' => 'http://www.wikipedia.org/wiki/%s',
                                  'lexique' => '/spip.php?rech=%s' );

            Devient

                   $dicos = array(
                                  'fwp' => 'http://fr.wikipedia.org/wiki/%s',
                                  'wp' => 'http://www.wikipedia.org/wiki/%s',
                                  'ggn'=> 'http://news.google.fr/news?hl=fr&q=%s&ie=ISO-8859-1', # Ajout ici
                                  'lexique' => '/spip.php?rech=%s' );

            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

    Retour au début des forums

  • Afficher le SIGLE dans un POP-UP

    11 décembre 2004 01:41, par Bionet

    On peux certainement même également ajouter un javascript du genre :

    Ce qui donnerait le script suivant (non testé) :

    Répondre à ce message

    Retour au début des forums



Suivre la vie du site RSS 2.0 | Plan du site | Espace privé | Charte et vie SPIP-Contrib | SPIP | L'autre.net