SPIP - Contrib

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



Accueil du site > Rédaction > Glossaires > Modèle mots dans le texte

Un raccourci <motxx>, pour des mots-clés dans le texte

jeudi 8 mars 2007, par Aurélie. Dernier ajout mardi 3 avril 2007


Le but du jeu est d’inclure des mots-clés et leur définition directement dans le texte d’un article, ou d’une rubrique... bref, dans un contenu quelconque de votre site Spip.

Pour cela, nous allons nous servir des modèles de Spip. Par exemple, les rédacteurs pourront inclure un raccourci <mot15> dans leur texte pour afficher la définition du mot n°15.


Cette contribution peut être rapprochée de Afficher les définitions de mots clefs à l’intérieur du texte. Sauf qu’elle laisse aux rédactrices de placer manuellement des raccourcis vers les mots-clés ad hoc dans leur texte et qu’elle ne demande l’installation d’aucun plugin.

1. Des définitions de mots-clés au survol d’une puce dans le texte

Exemple : Analyse d’une séquence de Matrix

L’effet recherché ici est le suivant :
- une puce apparaît là où le rédacteur a placé le raccourci <mot15> (a priori, juste après le mot à définir) [1], où 15 est le numéro du mot bien sûr [2].
- Lorsque le visiteur survole la puce, la définition du mot apparaît dans la colonne de gauche, par dessus les autres contenus (ça, c’est défini par une feuille de styles .css et donc, modifiable à souhait).
- S’il clique sur le lien, il est redirigé sur la page du mot (ex. spip.php?mot15). Ici aussi, on peut choisir de l’orienter ailleurs.

Pour que le modèle s’applique, nous devons créer un squelette mot.html et le placer dans un sous-dossier de notre dossier de squelettes nommé modeles/. En général, on aura donc /squelettes/modeles/mot.html :

Notez que rien ne s’affiche si le mot-clé n’a ni descriptif, ni texte (voir les crochets de part et d’autre de <a>).

L’effet de survol est obtenu grâce aux propriétés css display :

J’ai choisi de placer le cadre à 20px du bord gauche de la fenêtre parce que ça collait bien avec mon squelette général. Vous pouvez bien sûr supprimer ou modifier la directive left: 20px;.

Une feuille de style plus complète est fournie dans l’archive.

2. Des définitions de mots-clés directement incluses dans le texte

Exemple : Glossaire Cinéma

Ici, on veut carrément inclure le mot-clé et sa définition dans le corps du texte, comme un contenu à part entière de l’article [3].

Ici, le squelette s’appelera mot_definition.html, et les rédactrices devront donc utiliser le raccourci <mot23|definition> pour inclure le mot n°23. Si vous ne voulez utiliser que cette partie de la contrib, et donc, n’avoir qu’un seul modèle, vous pouvez renommer ce squelette en mot.html et les rédacteurs utiliseront simplement le raccourci <mot23>.

/squelettes/modeles/mot_definition.html :

Ici aussi, rien ne s’affiche si le mot n’a ni texte, ni descriptif.

J’ai prévu une petite subtilité : la possibilité pour les rédactrices d’imbriquer les définitions, à la façon d’une liste imbriquée, pour montrer des liens de dépendance entre elles. On peut utiliser le raccourci <mot23|definition|liste=1> pour indenter la définition d’un niveau ; et <mot23|definition|liste=2> pour indenter de deux niveaux.

Dans la feuille de styles :

Installation

L’archive contient :

- Un dossier modeles/, qui comprend les deux modèles de la contrib : mot.html et mot_definition.html. Vous devez placer ces deux fichiers dans votre propre dossier squelettes/modeles/.

- La feuille de styles mots_dans_le_texte.css peut être renommée. Vous avez le choix entre trois méthodes pour qu’elle s’applique :

  • copier/coller son contenu dans votre propre fichier .css
  • la placer dans votre dossier squelettes/ et ajouter un appel dans l’en-tête (<head></head>) des pages qui doivent l’utiliser (soit dans un inc-head.html qui serait inclu dans chaque page, comme dans les squelettes par défaut ; soit dans le squelette directement, par exemple article.html) :
  • la placer dans votre dossier squelettes/ et ajouter un appel dans votre propre fichier .css (ligne à insérer au tout début du fichier .css) :

- Une image puce_mot.png pour faire joli.

Je suis donc partie du principe que les feuilles de styles et les images se situaient directement dans le dossier squelettes/. Libre à vous de les placer ailleurs et de corriger les chemins en conséquence.

Documents joints

  • Mots-clés dans le texte Mots-clés dans le texte (Zip - 2.2 ko)

    modeles/mot.html
    modeles/mot_definition.html
    mots_dans_le_texte.css
    puce_mot.png

Notes

[1] Je vous laisse définir les conventions d’usage pour l’inclusion des raccourcis. Par exemple, chez moi, on a convenu de mettre {le mot en italique puis le raccourci}<mot21>. On pourrait imaginer de mettre le lien vers la page du mot comme ceci : [le mot à définir<mot43>->mot43].

[2] Notez que les rédacteurs n’ont pas accès à la page des mots-clés dans l’interface privée, contrairement aux administratrices. Si votre site utilise ces statuts, ou d’une manière générale, il faudra veiller à mettre un squelette à disposition qui reprenne les mots utilisables et leur numéro (plus pratique que de se rendre sur la page de chaque mot pour en décoder l’url...).

[3] Dans mon cas, l’idée était de fournir une vue "intelligente" du glossaire : plutôt qu’un squelette construisant automatiquement une liste alphabétique des mots-clés (ou en plus de ce squelette), je voulais que les rédactrices puissent organiser les mots dans un article (sans dédoubler l’encodage ou la correction des mots : une fois pour l’article, une fois pour le mot-clé).


Répondre à cet article

  • Bonjour

    merci pour la contribe. quand je veux insérer le titre d’un mot clé dans un article, j’écris dans le texte de l’article "". S’affiche alors dans le texte de mon article, le titre du mot et un lien vers ce mot.

    As tu une idée de ce que je dois écrire pour afficher non plus le titre du mot mais son descriptif ou le texte du mot ?

    Merci

    Répondre à ce message

    • Un raccourci <motxx>, pour des mots-clés dans le texte 7 janvier 2008 20:39, par Aurélie

      Ce que tu décris ressemble au modèle par défaut livré avec Spip. As-tu bien uploadé les fichiers mot.html et/ou mot_definition.html dans un dossier /squelettes/modeles/ ?

      En modifiant ces fichiers de modèles, tu peux utiliser les balises classiques de Spip à ta guise : #TITRE, #TEXTE, etc. -> la boucle MOTS. Ces balises sont utilisées dans les exemples, et tu peux les supprimer/modifier pour obtenir le résultat voulu.

      Il est possible que le rendu ne soit pas correct dans microsoft internet explorer ou ce genre de navigateurs obsolètes.

      Si tu notais le lien vers la page où tu fais ce test, je pourrais mieux t’aider.

      Répondre à ce message

      • bonsoir merci de ta réponse. En te lisant, je déduis qu’il faut modifier le code des fichiers modèles. Je me trompe ? Or je voudrais un raccourcis qui me permette directement dans l’édition d’un article d’insérer le champ texte ou descriptif d’un mot clé choisi... Une piste ?

        Répondre à ce message

        • Un raccourci <motxx>, pour des mots-clés dans le texte 9 janvier 2008 10:07, par Aurélie

          En te lisant, je déduis qu’il faut modifier le code des fichiers modèles.

          Juste.

          Je te conseille de lire Utiliser les modèles pour une explication plus détaillée. Mais en deux mots :

          - créer un fichier pour chacun des deux modèles : /squelettes/modeles/mot_texte.html et /squelettes/modeles/mot_descriptif.html qui contiennent tous deux la boucle <BOUCLE_mot(MOTS){id_mot}> </BOUCLE_mot>

          - dans mot_texte.html, la boucle contient la balise #TEXTE ; dans mot_descriptif.html, elle contient la balise #DESCRIPTIF.

          - les modèles sont accessibles dans les articles avec les raccourcis <motxx|texte> et <motxx|descriptif>.

          Explication : le raccourci "mot" va chercher un modèle dont le nom du fichier commence par "mot", "xx" indique l’id_mot qui sert dans la boucle ; le premier "filtre", "texte" ou "descriptif", complète le nom du modèle recherché : mot_texte.html ou mot_descriptif.html. Ce qui signifie que tu nommes le modèle comme tu veux : <mot3|banane> va chercher le modèle /squelettes/modeles/mot_banane.html.

          - Quand tu vois ce que ça donne, tu peux adapter le code html et css pour donner l’aspect voulu.

          Répondre à ce message

    Retour au début des forums

  • Franchement, merci beaucoup pour cette contribution ! ^_^

    Ce système peut aussi être très utile pour gérer les balises abbr et acronym sur le site (accessibilité), sans ajouter de plugin.

    Répondre à ce message

    Retour au début des forums

  • Alors cet exemple ? On peut le voir ?

    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