Aide:Créer et gérer les modèles
Le texte qui suit est écrit par un incompétent qui se bat quotidiennement avec la syntaxe de Mediawiki et essaie d'y comprendre quelque chose, ou au moins d'obtenir les bons résultats. Quand j'aurai fini, je serai probablement en mesure d'écrire un Mediawiki pour les nuls. Si vous êtes plus compétent que moi, vous êtes le bienvenu pour améliorer cette page. Mais essayez d'oublier que vous êtes compétent quand vous écrivez, pour que tous les incompétents comprennent quelque chose ! Michel Chauvet 11 juillet 2012 à 22:51 (CEST)
Sommaire
Introduction
Un modèle (template en anglais) est une page (analogue à une page normale) dont le titre est Modèle:titre du modèle. Il s'utilise en plaçant dans la page cible la mention : {{titre du modèle}}, donc entre deux paires d'accolades.
Un modèle sert à formater le texte ou des éléments de la page d'une certaine façon, ou entraîne une action donnée. L'avantage d'un modèle est qu'on ne l'écrit qu'une fois pour une utilisation multiple. Si on le modifie, la modification s'effectue automatiquement pour toutes les pages qui l'emploient.
Les modèles peuvent être simples ou complexes. Ils peuvent eux-mêmes faire appel à d'autres modèles, qui à leur tour peuvent faire appel à des modèles... C'est ce qu'on appelle des modèles en cascade ou modèles imbriqués. Cette architecture n'est compréhensible que par des spécialistes qui ont une vue d'ensemble. Dans Wikipedia, elle s'explique aussi par le nombre de personnes qui ont créé des modèles au fil du temps en s'appuyant sur d'autres modèles.
Un modèle peut se copier facilement d'un wiki à l'autre (dans une même version linguistique). Mais quand on copie un modèle depuis Wikipedia, on se rend souvent compte qu'il renvoit des messages d'erreur car il a besoin d'autres modèles manquants, qu'il faut également copier-coller. On finit par s'y perdre.
Dans Pl@ntUse, il nous paraît plus sage d'utiliser un nombre minimum de modèles, et de ne pas les imbriquer. Les modèles similaires (par exemple les taxobox) auront simplement un titre commençant par le même mot, et éventuellement, des explications seront données pour que les modèles similaires soient modifiés de la même façon le cas échéant.
Pour visualiser les modèles utilisés par une page, il faut passer en mode Modifier. Au-dessous de la fenêtre de la page, on trouve en liens bleus les titres des modèles. En cliquant sur l'un, on obtient la page du modèle, et en passant en mode Modifier, le contenu (ou le code) du modèle. C'est ce qu'il faut copier ou éditer.
Paramètres
Les modèles contiennent souvent des paramètres (en anglais tplarg). Dans le modèle, ces paramètres sont encadrés par des paires de triples accolades : {{{..}}}. Dans la page cible, il faut les écrire après une barre verticale |.
Modèles sans paramètre (variables)
Les variables font partie des fonctions de base de Mediawiki, et ne font pas l'objet de pages. Elles s'écrivent encadrées par deux paires d'accolades. On peut considérer que ce sont des modèles prédéfinis sans paramètres. Comme ils font partie de Mediawiki, on n'a pas besoin de les copier d'un wiki à l'autre.
DISPLAYTITLE
Les titres de pages dans Mediawiki sont par défaut en caractères romains non gras. Si l'on veut modifier ces attributs, par exemple pour mettre en italiques les noms scientifiques, il faut utiliser ce modèle, de la façon suivante :
{{DISPLAYTITLE:''Zea mays'' (Common names)}}
qui donnera Zea mays (Common names).
PAGENAME
Quand c'est le titre entier que l'on veut mettre en italiques, il faut insérer :
{{DISPLAYTITLE: ''{{PAGENAME}}''}}
{{PAGENAME}} renvoie le titre de la page. Cet exemple montre que l'on peut imbriquer les variables et les modèles.
Pour voir toutes les variables de Mediawiki, consultez Magic Words ou Variable.
Modèles à un seul paramètre
Exemple :
Pour écrire un texte aligné à droite, on utilise
{{droite|texte à droite}}
ce qui donne :
Le titre du modèle est : Modèle:Droite, et son contenu est
<div style="text-align: right; margin-right:5px;">{{{1}}}</div>
On y observe le paramètre {{{1}}}, qui représente le texte que l'on veut aligner à droite. On remarque aussi que Droite est simplement le titre du modèle ; on aurait tout aussi bien pu l'appeler Right ou n'importe quoi. Cela montre qu'on peut modifier le titre d'un modèle. Mais il faut alors anticiper les conséquences. Pour limiter les problèmes au minimum, le mieux est de garder ces éléments en anglais.
Modèles à plusieurs paramètres
Dans le modèle, les paramètres peuvent s'écrire soit par des nombres soit par des mots.
{{{1}}} ... {{{2}}}
{{{premier}}} ... {{{deuxième}}}
Dans la page qui utilise le modèle, on peut utiliser trois façons d'écrire le contenu des paramètres. Dans les exemples, un et deux représentent les contenus respectifs.
- paramètres anonymes
{{Nom du modèle|un|deux}}
Il faut impérativement les écrire dans l'ordre.
- paramètres numérotés
{{Nom du modèle|2=deux|1=un}}
On voit ici que l'ordre des paramètres est quelconque (le système sait que 2 est après 1 !).
- paramètres dénommés
{{Nom du modèle|deuxième=deux|premier=un}}
On peut aussi écrire, pour plus de clarté :
{{Nom du modèle |deuxième=deux |premier=un }}
Là aussi, l'ordre est quelconque. Mais ce n'est pas une raison pour les mettre dans le désordre, car cela sera incompréhensible par l'utilisateur. Pour guider ce dernier, il est bon de placer un exemple qu'il n'aura qu'à recoller, à savoir :
{{Nom du modèle |deuxième= |premier= }}
Cet exemple peut se placer dans la page du modèle (encadré par des <noinclude></noinclude> ), ou dans une page exemple (option favorisée par Pl@ntUse, où ces pages exemples se trouvent en tête des catégories qui font l'objet de modèles, car elles contiennent aussi des éléments qui ne font pas partie des modèles). Cette façon de procéder en dénommant les paramètres est à privilégier quand on en a plusieurs, car elle facilite la vie de l'utilisateur.
Fonctions d'analyse syntaxique
Il s'agit des parser functions en anglais. Leur syntaxe est la suivante :
{{#nom de la fonction: argument 1 | argument 2 | argument 3 ... }}
Ces fonctions lisent une chaîne de caractères (un mot par exemple), et en fonction du mot trouvé, déclenchent une action. Douze fonctions ont été intégrées dans une extension de Mediawiki.
Voir ParserFunctions.
Liens utiles
http://meta.wikimedia.org/wiki/Help:A_quick_guide_to_templates
http://meta.wikimedia.org/wiki/Help:Template
http://www.mediawiki.org/wiki/Templates#Parameters
Un modèle étoiles intéressant.