Présentation
J’ai commencé à coder ce petit glossaire car je n’étais pas satisfait de ceux que j’avais pu trouver auparavant. Ce que je désirais :
- une reconnaissance des mots par expression régulière (ainsi insensibilité à la casse, permet de sélectionner une même définition pour des termes différents)
- la définition d’un mot s’affiche lorsque l’on passe la souris au dessus, ou en lien hypertexte si la définition est trop longue.
- pouvoir gérer plusieurs ensembles de définitions, avec des définitions différentes pour le même mot.
L’intérêt est de pouvoir utiliser un jeu de définitions ou un autre suivant le public auquel s’adresse l’article (langue, niveau technique, etc). Dans mon cas, le glossaire est utilisé sur un site de jeux de rôle, et nous avions donc besoin d’une définition pour les joueurs et une pour les maîtres, chacun ne devant lire que celle le concernant.
Il est intéressant de noter que le remplacement du terme n’a pas lieu si celui-ci se trouve dans un tag HTML, pour éviter par exemple de briser un lien hypertexte.
Pour un exemple d’article utilisant ce glossaire, consultez cet article.
Mise en place
- Créez tout d’abord une rubrique glossaire, et une sous rubrique par jeu de définitions (par exemple utilisateurs débutants, utilisateurs avancés, etc).
- Créez ensuite le groupe de mots clés Audience, et créez-y un mot-clé pour chaque sous rubrique créée auparavant.
- Créer les mots clés glossaire et glossaire_un : le premier indique que vous souhaitez afficher les définitions de tous les termes disponibles, le second indique de ne le faire que sur la première occurence de chaque terme.
- Rajouter enfin la fonction glossaire ci-dessous au contenu de votre fichier mes_fonction.php3.
Il vous suffit de reporter les numéros des mots clés dans la fonction glossaire, puis de remplacer dans votre squelette #TEXTE par [(#TEXTE|glossaire{#ID_ARTICLE})]
Utilisation
Pour ajouter un nouveau terme au glossaire, il suffit de publier un nouvel article dans la rubrique concernée ; le texte de cet article constitue la définition du terme.
Le sur-titre de l’article définit le terme à reconnaître. On y indiquera le code HTML des caractères spéciaux (è pour è, etc). Pour plus de détails sur l’utilisation d’expression régulières dans le surtitre, vous pouvez consulter cet article.
Le code
Voici la fonction à rajouter dans votre fichier mes_fonctions.php3, et à modifier.
la fonction glossaire :
- Pour gérer deux ensembles de définition, reportez les identifiants des mots-clés et des rubriques contenant les définitions dans le code de cette fonction.
- Pour ne gérer qu’un ensemble de définition, le plus simple est d’indiquer dans le code ci-dessus que le deuxième jeu de définition n’existe pas ; pour cela, modifier
en
- Pour au contraire en gérer plus de deux, rajouter des entrées du type
$motcléA3=xxdans les définitions, et des lignes du genrecase $motcleA3: $id_glossaire = $glossaireA3; break;au niveau de l’instruction switch. On aura par exemple, pour 3 ensembles d’entrées :
N’hésitez pas à proposer des améliorations ou à signaler des erreurs...










