SPIP - Contrib

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



Accueil du site > Rédaction > Glossaires > Glossaire

Plugin glossaire

mercredi 25 octobre 2006, par fred. Dernier ajout lundi 1er octobre 2007



Ce plugin intègre le filtre lier_au_glossaire de François Schreuer pour les versions de SPIP supérieures ou égales à 1.9.1. Vous pouvez voir ce que ça donne par ici.

Caractéristiques

- le principe général est le même : le filtre parcourt le texte auquel il est appliqué et fait un lien des occurrences du glossaire vers leur définition ;
- le contenu du glossaire se place dans un groupe de mots-clés nommé "glossaire", chaque mot-clé représente une entrée, et le texte du mot-clé sa définition (au lieu du couple rubrique-brèves) ;
- seule la première occurrence du mot défini est gérée par le filtre (la contrib permettait de traiter toutes les occurences du même mot dans un même champ) ;
- un clic sur le mot défini affiche sa définition dans une fenêtre popup (ou renvoie vers le mot-clé correspondant si javascript est inactif ou absent).

Installation

- Assurez-vous de disposer de la balise #INSERT_HEAD dans les squelettes (livrée en standard dans les squelettes par défaut, cf. doc) ;
- Décompressez le contenu du zip ci-joint dans le répertoire ’plugins’ de votre site (s’il n’existe pas, créez-le), puis activez le plugin via l’espace privé (Configuration : Gestion des plugins) ;
- Appliquez le filtre lier_au_glossaire dans les squelettes appropriés — par exemple, [(#TEXTE|lier_au_glossaire)] dans le squelette article.

Recalculez un article contenant au moins une occurrence du glossaire (ou videz le cache). Si le résultat vous satisfait, vous pouvez en rester là. Sinon, option facultative, le dossier du plugin contient trois fichiers modifiables sans risque de tout casser, selon les goûts, les couleurs et les compétences de chacun. Détails et marche à suivre :

Surcharge de fichiers

Il suffit de placer dans votre dossier de squelettes des fichiers du même nom avec vos modifications ou vos ajouts :

- mot_glossaire.html est le squelette de la fenêtre popup. Elémentaire, il n’affiche que le titre et le texte du mot-clé appelé. Il applique également le filtre lier_au_glossaire au texte du mot-clé : on peut ainsi passer d’une définition à l’autre dans la même fenêtre ;
- glossaire.css définit les styles du squelette précédent et des liens vers le glossaire ;
- glossaire.js définit la taille et les éléments de la fenêtre. On peut se contenter d’en modifier les différents attributs, taille, position, ouverture dans la même popup, etc. en faisant attention toutefois de ne pas toucher au premier : ’page’, qui est renseigné par SPIP dans la fonction php.

Développement

Ce plugin est très rudimentaire et il y aurait beaucoup de choses à faire.
Un glossaire automatique n’est pas si simple à réaliser (homonymie, casse de caractère, radicaux, conjugaisons, etc.). Il faudrait aussi en améliorer l’affichage (une fenêtre pop-up c’est pas top), tout en respectant les règles d’accessibilité (séparation du contenu et de la forme).
Philippe Auriol avait déposé le code du plugin sur SPIP-ZONE, mais ce code n’est plus à jour. Si vous souhaitez développer ce plugin, merci de travailler à partir de l’archive en pièce jointe ci-dessous.

P.-S.

Il existe une autre version de plugin développée par Philippe Auriol à partir de la contrib de François Schreuer sur SPIP-Zone.
J’ai intégré le bout de code de Philippe qui évite de casser les liens hypertextes mais les deux plugins restent sensiblement différents.

Documents joints


Répondre à cet article

  • Plugin glossaire

    30 juin 2007 01:59, par naomed

    tout bien installé le plugin + patch et ... ca marche pas ! mais j’ai peut etre pas tout compris.

    Une fois installé il suffit de rafraichir la page et le lien se fait ? sinon j’ai un doute sur l’endroit ou mettre le lier_au_glossaire . Je fais les essais avec le squelette dit et il y a des quantites de TEXT. C’est dans lequel.

    Help please. merci

    Voir en ligne : senegal politique

    Répondre à ce message

    • Plugin glossaire 30 juin 2007 12:24, par fred

      Bonjour,

      à questions précises réponses précises :

      - il ne suffit pas de rafraîchir la page de ton navigateur, il faut surtout la recalculer sur le serveur pour qu’il prenne en compte ta modification. Ou bien encore vider le cache pour que ta modification fasse effet sur l’ensemble des squelettes modifiés sur ton site.
      - le filtre lier_au_glossaire s’applique à n’importe quelle balise de texte. Tu peux regarder le code source du squelette du site-exemple (modif du squelette de base de la dist), http://burof.free.fr/squelettes/article.html, où j’ai appliqué le filtre à

      [<div class="#EDIT{texte} texte">(#TEXTE|lier_au_glossaire|image_reduire{520,0})</div>]

      et à

      [<div class="notes"><h2><:info_notes:></h2>
      #DEBUT_SURLIGNE(#NOTES|lier_au_glossaire)#FIN_SURLIGNE</div>]

      Voilà, j’espère que ça t’aidera.

      Si tu ne t’en sors pas je te conseille le couteau suisse de Patrice Vanneufville (cf. ci-dessous), où tout est prémâché : tu n’as qu’à l’installer, ça marche tout seul et la fonction est plus puissante. Bémols : c’est moins modulable par des newbies et le texte du glossaire est chargé au milieu du texte de l’article. Et tu n’installes pas seulement le plugin qu’il te faut (même si tu n’es pas obligé de tous les activer).

      Répondre à ce message

    Retour au début des forums

  • Plugin glossaire

    27 mai 2007 20:44, par Patrice Vanneufville

    Bonjour,

    Un glossaire analogue a été pris en charge par le Couteau Suisse.
    Pour plus d’infos, c’est ici : Un glossaire interne pour vos sites.

    Entre autres :
    - L’idée du groupe de mots-clés « glossaire » a été conservée.
    - De nombreuses balises HTML sont préservées
    - Le survol de la souris affiche directement la définition du mot.
    - Le cadre de définition est configurable par css
    - Pas de nouvelle fenêtre ouverte (popup)
    - La recherche est insensible à la casse.
    - Tout est automatique : aucun filtre à ajouter dans votre squelette

    Répondre à ce message

    Retour au début des forums

  • Plugin glossaire

    8 mars 2007 14:59, par Zzz.

    Hello

    Je viens de me craquer en beauté visiblement.

    Je viens d’upgrader en 1.9.2 et mon site me dit que le filtre lier_au_glossaire n’est pas définis.

    Pourtant mon plugin est activé et ne pose en lui même pas de problèmes dans l’interface privée.

    J’avoue que je ne comprends pas trsè bien là. Si quelqu’un a une idée.

    Merci beaucoup et bonne journée à tous

    Zzz.

    Voir en ligne : http://www.loiseau2nuit.net

    Répondre à ce message

    • Plugin glossaire 9 mars 2007 21:02

      j’ai le même problème et en plus ..j’ai aussi un message pour le filtre "Agenda_affdate_debut_fin " du plugin agenda et barre typo est HS.

      Il semble que les filtres définis dans les plugins ne fonctionnent plus ..

      je pense que le plugins glossaire est récupérable en l’enlevant des plugins et en posant les squelettes avec les squelettes, les fonctions dans mes_fonctions .php, etc.. en attendant mieux .. pour l’agenda c’est autre chose

      ps : il faut toujours tester les migrations en local avant de migrer ton site

      Répondre à ce message

    • Plugin glossaire 9 mars 2007 21:04, par jojo

      en attendant une solution, si tu peux te passer du glossaire, désactive le pluging et en lève le filtre dans tes articles..

      Répondre à ce message

      • Plugin glossaire 10 mars 2007 13:54, par oseille

        Dolce, dolce... ce plugin est vraiment basique, il y a peu de chance que ce soit lui qui pose problème. En tout cas il tourne toujours avec la dist de SPIP 1.8.2 (cf. burof.free.fr).

        Difficile de te proposer une solution comme ça. As-tu refait une install propre de SPIP ? As-tu essayé de désactiver tous les autres plugins sauf celui-là, puis de les réactiver un par un pour voir où ça cloche ? etc ...

        Par ailleurs, le test en local n’est parfois pas suffisant, on peut avoir des surprises avec des config de serveur différentes.

        Répondre à ce message

        • Plugin glossaire 10 mars 2007 13:57, par oseille

          Non, ce plugin ne tournera jamais avec SPIP 1.8.2 :-)

          Je voulais évidemment écrire 1.9.2., arf

          Répondre à ce message

          • Plugin glossaire 10 mars 2007 14:16

            Le plugin est effectivement "basique" ( mais bien fait et très utile) et si je récupère les éléments que je les places "hors plugin" ils fonctionnent.

            J’ai plusieurs erreurs de FILTRE non défini pour des filtres de plugin : WALMA : régler_langue_navigation ( un recalculer lève le pb et il revient à la prochaine connexion ??) , AGENDA ( Erreur : filtre « Agenda_affdate_debut_fin » non défini.. ) et lier_au glossaire ..

            Tout fonctionne sauf les filtres des plugins..

            Qu’est ce qui ne va pas ?

            Répondre à ce message

          • Plugin glossaire 10 mars 2007 21:55

            J’ai retélécharger le plugin et je l’ai installé en desactivant les autres plugins et cela marche.

            Répondre à ce message

            • Plugin glossaire 13 avril 2007 14:49, par L’oiseau2nuit (not Zzz. anymore)

              Sorry les gens, j’avais pas enregistré le fil de messages. Je vais tester vos soluces et je vous enverrai un feedback porochainement ;)

              Merci pour vos idées en tout cas.

              Bonne journée.

              Voir en ligne : http://www.loiseau2nuit.net

              Répondre à ce message

    Retour au début des forums

  • Plugin glossaire

    5 février 2007 10:19, par Yann974

    Merci Fred pour ce merveilleux Plugin.

    Juste une chose, il m’a semblé intéressant d’écrire une page de squelette "glossaire" permettant d’afficher l’ensemble des définitions sur une seule page. Cela permettant bien sûr de l’imprimer (ou de l’exporter en PDF). Seulement voilà, le problème de la navigation au sein de cette page se pose. En effet, comment se rendre facilement à une définition ?

    J’avais pensé que le plus simple pourrait être de proposer un menu déroulant contenant les entrées et que celui-ci, à la différence d’un "menu déroulant pour présenter une liste d’articles", pourrait chercher à atteindre une ancre interne (l’ID du mot-clef par exemple).

    Voici le code :

    <FORM ACTION="spip.php" METHOD="get">       
            <SELECT NAME="page">
                    <BOUCLE_mot_principal1(MOTS) {type==glossaire} {par titre}>
                        <OPTION VALUE="glossaire#[(#ID_MOT)]">[(#TITRE)]</OPTION>
                    </BOUCLE_mot_principal1>
            </SELECT>
            <INPUT TYPE="submit" NAME="Valider" VALUE="Afficher">
    </FORM>

    Lorsque je sélectionne une entrée via ce menu déroulant et que je valide cette sélection, l’URL obtenue est alors :

    spip.php?page=glossaire%2310&Valider=Afficher

    soit fausse et me retournant la page 404.

    Une idée ?

    Cordialement,

    Yann974

    Répondre à ce message

    • Plugin glossaire 24 février 2007 17:54, par jojo
              <FORM NAME="choix" METHOD="post"   >      
             <SELECT NAME="page"   >
                     <BOUCLE_mot_principal1(MOTS) {type==glossaire} {par titre}>
                         <OPTION VALUE="[(#ID_MOT)]" >[(#TITRE)]</OPTION>
                     </BOUCLE_mot_principal1>
             </SELECT>
                       <INPUT TYPE="submit" NAME="Valider" VALUE="Afficher" onclick="javascrip:document.choix.action='spip.php?page=glossaire#'+document.choix.page.value;">
          </FORM>

      si ta page s’appelle glossaire cela marche..

      Répondre à ce message

    Retour au début des forums

  • Plugin glossaire

    2 janvier 2007 05:23, par Zzz.

    Merci Fred ! :)

    Le pire c’est que sur mon spip en localhost, j’avais déjà pondu un groupe de mot clés Glossaire en prévision de l’élaboration future d’un tel système. Tu m’as coiffé au poteau là :D

    Petite bidouille si vous utilisez les "NiceTitle"

    dans le fichier glossaire_fonctions.php , Ligne 22 (version non modifiée préalablement)

    remplacer

    par

    et ligne 27 (tjs dans une version non modifiée préalablement) remplacer

    $texte = first_replace("$o[titre]","<a href=\"spip.php?mot".$o[id_mot]."\" class=\"affgloss\" title=\"Glossaire\" onclick=\"popupGloss('spip.php?page=mot_glossaire&id_mot=$o[id_mot]'); return false;\">$o[titre]</a>",$texte);

    par

    $texte = first_replace("$o[titre]","<a href=\"spip.php?mot".$o[id_mot]."\" class=\"affgloss\" title=\"$o[texte]\" onclick=\"popupGloss('spip.php?page=mot_glossaire&id_mot=$o[id_mot]'); return false;\">$o[titre]</a>",$texte);

    et votre définition s’affichera au survol du mot par la souris. Le popUp reste d’actualité si l’internaute clique malgré tout sur le mot ;)

    Wouali woualou wouala ! :D

    Bon Code et Bonne 2007ème à vous ;)

    Répondre à ce message

    • Plugin glossaire 2 janvier 2007 05:28, par Zzz.

      Bon... je ne sais pas ce qu’il s’est passé, je n’ai pas eu le temps de reconvertir mes dernière balise code en balise cadre, je lançais une prévisu de mon message pour voir quand mon post s’est validé tout seul malgré tout. en même temps, au vue des changements intervenus sur la page, quelqu’un a du "recalculer" le squelette du forum pendant que je tapais mon message :P

      Répondre à ce message

    • Plugin glossaire 4 janvier 2007 00:28, par Zzz.

      Je me rend compte en me relisant que mon 2ème bloc de code contient une magistrale boulette :

      au lieu de

      Il fallait en fait lire

      J’avais voulu "hilighter" la modif effectuée pour que tout le monde la voit en la mettant en gras dans le code sans penser que < cadre > traduirait TOUT le code en texte brut, et donc le raccourcis typo de SPIP également. Désolé beaucoup !

      Répondre à ce message

    Retour au début des forums

  • Plugin glossaire

    23 novembre 2006 17:41, par jalila22

    Bonjour

    j’utilise ce plugins mais en utilisant des articles à la place des mots clés tout ceci fonctionne très bien sauf pour les images et les documents ou la il remplace les occurences des mots contenu dans le alt des images ou le title des liens ce qui les empeche de s’afficher correctement

    est ce qu’il y a un moyen de résoudre ce probleme ??

    merci

    Répondre à ce message

    • Plugin glossaire 29 novembre 2006 13:26, par oseille

      La variante du glossaire de François Schreuer par Philippe Auriol, cf. http://zone.spip.org/trac/spip-zone..., tente de résoudre le problème avec les liens.
      Tu peux essayer de l’adapter aussi aux images et d’intégrer les deux versions.

      Répondre à ce message

      • Plugin glossaire 7 décembre 2006 15:41, par jalila22

        Merci c’est tout à fait ce que je cherchais !!!

        J’ai modifié un petit un peu cette version en intégrant les images et ca marche bien pour l’instant ;)

        Voici l’expression réguliaire que j’utilise si jamais ca peut servir : au lieu du $search= '@<a[^>]*?>.*?</a>@msi'; je mets $search = '@<img[^>]*/>|<a[^>]*?>.*?</a>@msi';

        Répondre à ce message

    Retour au début des forums

  • Problème pour télécharger

    23 novembre 2006 11:58, par Akra

    Bonjour,

    Sur chaque tentative de téléchargement d’un greffon, voici le message qui s’affiche :

    Not Found The requested URL /files/spip-zone/ was not found on this server.

    Cordialement.

    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