Un bon point de départ pour répondre à cette question me semble être de définir le but premier des modèles : les modèles servent à répéter du contenu dans de nombreuses pages, et en même temps à pouvoir changer tout ce contenu d'un coup en ne modifiant que le modèle lui-même. Cela implique que les modèles soient transclus dans les pages.
Une bonne chose à savoir aussi pour mieux comprendre le fonctionnement et le but des modèles est qu'un modèle peut ne contenir aucune syntaxe particulière ou bizarre (type <noinclude>
, {{#if:
, {{{1|}}}
, etc.) : un modèle nommé "Modèle:gentilé" contenant "Ce mot est un gentilé." qu'on inclurait dans toutes les pages de gentilés ferait afficher exactement le même texte sans rien d'autre : la syntaxe {{gentilé}} présente dans le code source de la page Français afficherait "Ce mot est un gentilé." dans la page, au même endroit où est placé le modèle dans son code source. Cela veut dire notamment que quand on inclut un modèle dans une page, on ne fait rien d'autre que réutiliser le contenu du modèle : une sorte de copier-coller. Voir modèle:note-gentilé pour un modèle de ce type. (La boîte à outils à gauche permet de voir ses pages liées, et donc de faire le lien entre le code du modèle, celui d’une de ses pages liées, et le rendu de la page liée.)
Parce qu'il est rare cependant qu'on veuille répéter du contenu dans de nombreuses pages sans n'avoir rien à changer selon les pages, c'est avoir un contenu adaptable à chaque page qui nous intéresse le plus souvent. Vient alors l'idée de paramétrer le texte affiché par le modèle selon les besoins. Sachant cela, une nouvelle fonctionnalité essentielle va alors nous être utile : l'utilisation de paramètres.
Dans le code même du modèle, le premier paramètre est désigné par {{{1}}}. Si j'écris dans mon modèle:exemple le texte "a{{{1}}}", et que j'inclue mon modèle dans une page avec la syntaxe {{exemple|bcdef}}
, alors le rendu dans cette page sera : "abcdef", car le logiciel MediaWiki qui traite la syntaxe wiki va remplacer l'appel au modèle:exemple (donc la synatxe {{exemple|bcdef}}
) par sa valeur : "a" suivie de la valeur du premier paramètre passé au modèle (ici, bcdef
), donc abcdef
. Par contre, si j'écris simplement {{exemple}}
dans la page, alors le résultat sera "a{{{1}}}", car la syntaxe {{{1}}} n'a plus aucune valeur en l'absence de premier paramètre. De même, il serait possible d'ajouter d'autres paramètres : {{{2}}}, {{{3}}}, {{{17}}}, etc. Chaque valeur entre triple accolades est un paramètre : la paramètre 1 est la valeur qui est située juste après la première barre verticale dans l'appel au modèle (dans notre exemple "bcdef"), le paramètre 2 la valeur après la seconde barre verticale, etc. Donc si le code du modèle:exemple est a{{{1}}}{{{2}}}
, et que j'écris {{exemple|bcdef|ghijkl}}
dans la page oiseau, le rendu serait : abcdefghijkl
.
De même, il est possible d'utiliser des paramètres nommés. On écrira alors par exemple {{{nom}}} dans le code du modèle pour récupérer la valeur donné au paramètre nom
dans l'appel au modèle. Exemple : si le code du modèle:exemple est : a{{{nom}}}
, et que j'écris sur oiseau le code {{exemple|nom=bcdef}}
, le rendu dans oiseau serait "abcdef".
Remarque : il est strictement identique d'écrire {{exemple|bcdef}}
ou {{exemple|1=bcdef}}
: la numérotation est implicite quand aucun nom n'est donné. Remarque2 : Les paramètres nommés n'entrent pas en conflit à ce niveau-là avec les paramètres numérotés (dits aussi "anonymes") : si on écrit dans le modèle:exemple a{{{1}}}{{{2}}}{{{nom}}}
, et qu'on met dans la page oiseau la syntaxe {{exemple|nom=mnop|bcdef|ghijkl}}
, le résultat sera : abcdefghijklmnop
. Le paramètre nommé n'intervient pas dans le compte pour déterminer qui est le paramètre 1 ou le paramètre 2 : le 1 est le premier paramètre sans nom, le 2, le second paramètre sans nom, etc.
À priori tout cela devrait être d'une façon ou d'une autre dans Aide:Modèle, en guise d'introduction, mais je ne vais pas te cacher que cette aide mérite à la fois révision et approfondissement.
Tu peux tester le principe que j'ai décrit si tu as compris en utilisant n'importe quel page : n'importe quel page peut être transcluse, et puisque les modèles s'éditent comme toutes les pages et peuvent contenir la même syntaxe, les tests marcheront aussi sur des sous-pages personnelles. Par exemple, essaie de transclure cette page dans Wiktionnaire:Bac à sable, en écrivant {{Utilisateur:Titruffe/A propos des modèles}}
, puis en prévisualisant. Réessaie, en écrivant cette fois {{Utilisateur:Titruffe/A propos des modèles|TestParamètre1|TestParamètre2|nom=Paramètre"nom"}}
, puis en prévisualisant. Tu devrais y voir les valeur entrées en paramètres à la place de tous les {{{1}}}, {{{2}}} et {{{nom}}} que j'ai écris dans cette page, quand j’ai pris la liberté de les écrire sans balises 'nowiki'. Ça devrait t'aider à mieux comprendre comment sont exploités les paramètres des modèles. Note que quand on transclut une page qui n'est pas un modèle, on précise l'espace de noms (ici, Utilisateur:). Comme les modèles ont été fait exclusivement pour être transclus, il est possible de ne pas noter l'espace de noms pour eux, et tout le monde comprend que c'est un modèle (puisqu'il n'y a pas d'ambigüité).
Je ne suis pas sûr d’avoir été clair (je pense être rentré peut-être trop vite dans le sujet). Si tel n’était pas le cas, des questions plus précises pourraient peut-être permettre d’aiguiller la réponse. Automatik (discussion) 29 juillet 2013 à 04:02 (UTC)
Tout est dans le titre. Si oui, doit-il être créé différemment d’un modèle concernant l’ensemble du WT ? Mon idée est de mettre un texte commun sur certaines de mes sous-pages en ne créant le texte qu’une fois, de façon à ne pas avoir à modifier chaque sous-page dès que je veux modifier ce texte.--Titruffe (Apprends-moi) 30 juillet 2013 à 02:42 (UTC)