Help:Templates

From MediaWiki.org
Jump to: navigation, search
This page is a translated version of the page Help:Templates and the translation is 97% complete.

Other languages:
العربية • ‎български • ‎català • ‎Deutsch • ‎Zazaki • ‎English • ‎British English • ‎español • ‎suomi • ‎français • ‎עברית • ‎Bahasa Indonesia • ‎italiano • ‎日本語 • ‎한국어 • ‎Lëtzebuergesch • ‎Nederlands • ‎polski • ‎پښتو • ‎português • ‎português do Brasil • ‎română • ‎русский • ‎slovenčina • ‎தமிழ் • ‎Türkçe • ‎Tiếng Việt • ‎中文 • ‎中文(台灣)‎
PD Note: When you edit this page, you agree to release your contribution under the CC0. See Public Domain Help Pages for more info.
PD

Si vous avez des textes ou présentations standards que vous voulez inclure dans plusieurs pages, les modèles de MediaWiki remplissent cette fonction (par exemple le bandeau d'avertissement ci-dessus qui se trouve sur toutes les pages d'aide).

Création[edit | edit source]

Les modèles sont des pages wiki standard dont leur contenu est conçu pour être transclus (inclus) dans d'autres pages. Les modèles doivent être créés avec le préfixe "Modèle:" (ou Template: dans les anciennes versions), vous pouvez les créer comme n'importe quelle autre page wiki.

L'utilisation la plus simple des modèles est la suivante. Si vous créez une page nommée "Modèle:Bienvenue" avec pour contenu :

Bonjour ! Bienvenue sur le wiki.

vous aurez créé votre premier modèle ! Si vous insérez ensuite le code :

{{Bienvenue}}

sur n'importe quelle autre page, quand cette page est visualisée le texte "Bonjour ! Bienvenue sur le wiki." apparaitra à la place de {{Bienvenue}}. Le contenu du modèle est "transclus" dans l'autre page, c.à.d qu'il est intégré dans la page.

Vous pouvez ensuite insérer {{Bienvenue}} à n'importe quel endroit de n'importe quelle page où vous voulez souhaiter la bienvenue à quelqu'un. Supposez qu'il soit utilisé dans 100 pages. Si vous changez ensuite le contenu du modèle par :

Salut ! Bienvenue sur ce merveilleux wiki.

et si vous revisitez n'importe laquelle des 100 pages où le modèle est utilisé, vous verrez le nouveau texte à la place de l'original. De cette façon, vous avez changé le contenu de 100 pages sans les avoir éditées, parce que le modèle est transclus dans ces pages.

Ceci est le mécanisme de base. Il y a plusieurs fonctionnalités supplémentaires de transclusion qui enrichissent ce mécanisme et rend les modèles très utiles.

Utilisation[edit | edit source]

Les modèles peuvent être utilisés dans d'autres pages de plusieurs manières :

  • {{Nom du modèle}} inclut le contenu actuel de la page "[[Modèle:Nom du modèle]]" et ce contenu sera mis à jour si on change le modèle.
  • {{subst:Nom du modèle}} insère le contenu de la page "[[Modèle:Nom du modèle]]" au moment où vous enregistrez votre texte, c'est le contenu du modèle qui est copié sur la page, il n'y a donc plus aucun appel au modèle (pas de mise à jour).
  • {{safesubst:Nom}} — ceci a été introduit pour tenir compte des substitutions qui ne rompent pas la transclusion. Voir w:en:Help:Substitution#The safesubst: modifier.
  • {{msgnw:Nom du modèle}} inclut le modèle dans la syntaxe brute wiki, comme le ferait un <nowiki>.

Dans les faits, une page ordinaire du wiki peut être utilisée comme un modèle, simplement en spécifiant l'espace de nom où elle se trouve, et donc :

  • {{Modèle:Nom de la page}} inclut [[Modèle:Nom de la page]]
  • {{Foo:Nom de la page}} inclut [[Foo:Nom de la page]]
  • {{:Nom de la page}} inclut [[Nom de la page]]
    • {{subst::Nom de la page}} est remplacé par le contenu de [[Nom de la page]]

Si un tel espace de nom n'existe pas, le titre complet est considéré comme étant un modèle :

  • {{Foo:Bar}} inclut [[Modèle:Foo:Bar]]

Paramètres[edit | edit source]

Pour enrichir le mécanisme de transclusion, Mediawiki permet de passer des paramètres à un modèle lorsqu'il est transclus. Les paramètres permettent au modèle d'afficher des contenus différents ou d'avoir des comportements différents.

Supposez que vous veuillez insérer une petite note de remerciement sur la page de discussion d'autres utilisateurs, comme ceci :

Exemple d'image (tournesols)
Un petit remerciement...
pour tous tes efforts.
bises, Moi


La note de remerciement aura une raison (dans ce cas, "tous tes efforts") et une signature ("Moi"). Votre objectif est que tout utilisateur soit capable de remercier tout autre utilisateur, quelle que soit la raison.

Pour que la note ait la même apparence où qu'elle soit utilisée, vous pouvez définir un modèle appelé Modèle:Merci, par exemple. Si la note devrait avoir la même apparence chaque fois qu'un utilisateur remercie un autre utilisateur, son contenu spécifique (c.à.d la raison et la signature) sera différent. Pour cette raison, vous devriez les passer en tant que paramètres. Si on omet les autres éléments de mise en forme de la boite et de l'image, le contenu principal du modèle sera celui-ci :

'''Un petit remerciement...''' pour {{{1}}}. bises, {{{2}}}

Notez l'utilisation de {{{1}}} et {{{2}}}. C'est la manière d'identifier, à l'intérieur du modèle, les paramètres qui lui seront passés lorsqu'il sera utilisé. Notez qu'à l'intérieur du modèle chaque paramètre est encadré par trois accolades : {{{ }}}. C'est différent de l'utilisation normale d'un nom de modèle.

Quand vous utilisez le modèle sur une page, vous complétez les valeurs des paramètres, séparés par un caractère "pipe" (|). MediaWiki permet la transmission des paramètres aux modèles selon trois manières : anonymement, numéroté, et nommé.

Paramètres anonymes[edit | edit source]

Pour passer des paramètres anonymes, listez les valeurs de ces paramètres de manière séquentielle :

{{Merci|pour tous tes efforts|Moi}}

Dans ce cas, le modèle {{Merci}} reçoit les paramètres {{{1}}}=tous tes efforts et {{{2}}}=Moi, ce qui produit :

Exemple d'image (tournesols)
Un petit remerciement...
pour tous tes efforts.
bises, Moi


L'ordre de passage des paramètres anonymes est crucial pour le comportement du modèle. Inverser l'ordre des paramètres, comme ceci :

{{Merci|Moi|tous tes efforts}}

produirait ce résultat :

Exemple d'image (tournesols)
Un petit remerciement...
pour Moi.
bises, tous tes efforts


Remarque : identifier les paramètres selon l'ordre (avec {{{1}}}, etc.) marche seulement avec des paramètres anonymes. Si votre page identifie n'importe quel paramètre par un numéro ou un nom, comme vu ci-dessous, cette méthode ne sera plus disponible pour le modèle qui les reçoit.

Paramètres numérotés[edit | edit source]

Pour passer des paramètres numérotés, identifiez chaque paramètre quand vous les passez :

{{Merci|2=Moi|1=ton amitié}}

Cette fois, le modèle {{Merci}} reçoit comme paramètres {{{1}}}=ton amitié et {{{2}}}=Moi, même s'ils ont été fournis en ordre inversé, et produit le résultat :

Exemple d'image (tournesols)
Un petit remerciement...
pour ton amitié.
bises, Moi


Paramètres nommés[edit | edit source]

La troisième façon de passer des paramètres est par des noms, à la place de nombres. Dans ce cas, le contenu du modèle changerait pour :

'''Un petit remerciement...''' pour {{{raison}}}. bises, {{{signature}}}

Dans le modèle, on utilise {{{raison}}} et {{{signature}}} pour identifier chaque paramètre, au lieu de numéros. Pour passer ces paramètres par leur nom, identifiez chaque paramètre lorsque vous le passez :

{{Merci|signature=Moi|raison=être toi-même}}

Dans ce cas, le modèle {{Merci}} reçoit les paramètres {{{raison}}}=être toi-même et {{{signature}}}=Moi et produit le résultat :

Exemple d'image (tournesols)
Un petit remerciement...
pour être toi-même.
bises, Moi

L'avantage d'utiliser des paramètres nommés dans votre modèle, en plus d'être flexible dans l'ordre de passage des paramètres, est que le code du modèle est beaucoup facile à comprendre s'il y a beaucoup de paramètres.

Valeurs par défaut[edit | edit source]

Si vous transcluez un modèle qui attend des paramètres, mais sans les lui fournir, de cette manière :

{{Merci}}

dans l'exemple des paramètres numérotés ci-dessus vous obtiendriez ce qui suit :

Exemple d'image (tournesols)
Un petit remerciement...
pour {{{1}}}.
bises, {{{2}}}


À partir du moment où aucun paramètre n'a été passé au modèle, ce dernier affiche les paramètres eux-mêmes, au lieu de leurs valeurs respectives. Dans ce cas, il serait plus utile de définir des valeurs "par défaut" pour les paramètres, c.à.d des valeurs qui seront utilisées si aucune valeur n'est fournie. Par exemple, si le contenu du modèle est changé pour :

'''Un petit remerciement...''' pour {{{raison|tout}}}. bises, {{{signature|Moi}}}

alors {{{raison|tout}}} définit que si aucun paramètre {{{raison}}} n'est fourni, la valeur toutsera utilisée. De même, {{{signature|Moi}}} paramètre par défaut la valeur de {{{signature}}} à Moi. Maintenant, transclure à nouveau le modèle sans passer aucun paramètre donne le résultat suivant :

Exemple d'image (tournesols)
Un petit remerciement...
pour tout.
bises, Moi


Contrôler l'inclusion des modèles[edit | edit source]

Vous pouvez contrôler l'inclusion par l'utilisation des balises <noinclude> et <includeonly>.

Tout ce qui est contenu entre <noinclude> et </noinclude> est affiché uniquement sur la page du modèle et ne sera pas inclus. Les applications possibles sont :

  • la catégorisation des modèles
  • des interwikis pour les modèles similaires dans d'autres langues
  • l'explication de l'utilisation du modèle (nom des paramètres...)

Le contraire est <includeonly>. Tout ce qui est contenu entre <includeonly> et </includeonly> sera affiché uniquement quand le modèle est inclus. Une application évidente est d'ajouter toutes les pages contenant un certain modèle dans une catégorie, sans vouloir mettre le modèle dans cette catégorie.

Notez qu'il y a des problèmes de mise à jour : si vous changez les catégories dans un modèle, les catégories dans les pages contenant celui-ci ne seront pas mises à jour tant que la page n'est pas éditée.

  • S'assurer que le code du modèle n'est pas exécuté lors de la lecture de la page même du modèle, pour éviter l'affichage d'un résultat non désiré lorsque le modèle attend des paramètres.

Tout ce qui est en dehors des balises <noinclude> et <includeonly> est affiché normalement, que ce soit sur la page du modèle même, ou sur une page où il est inclus.

Organiser les modèles[edit | edit source]

Pour que les modèles soient effectifs, les utilisateurs doivent les trouver et trouver comment les utiliser.

Pour les trouver, les utilisateurs peuvent :

  1. Cliquer sur Pages spéciales > Toutes les pages
  2. Dans la liste des Espaces de noms, choisir Modèle et cliquer sur Lister.

Pour donner des informations sur l'utilisation, incluez un exemple comme celui-ci sur la page du modèle :

 
<noinclude> 
== Utilisation == 
Remercier les utilisateurs :
{{Merci|raison=votre raison|signature=votre signature}} </noinclude>

Ensuite, l'utilisateur peut simplement copier et coller l'exemple pour utiliser le modèle.

Copier d'un wiki à un autre[edit | edit source]

Les modèles requièrent parfois du CSS ou d'autres modèles, les utilisateurs ont donc des problèmes lorsqu'ils copient des modèles d'un wiki à l'autre. La marche à suivre suivante devrait marcher pour la plupart des modèles :

Code MediaWiki[edit | edit source]

Si vous avez les droits d'import sur le nouveau wiki :

  1. Allez à Spécial:Exporter sur le wiki original, et téléchargez un fichier .XML avec l'historique complet de tous les modèles nécessaires, comme ceci :
    • Entrez le nom du modèle dans la grande zone de texte, par ex. "Modèle:Bienvenue". Faites très attention à la casse et aux caractères spéciaux - si le nom du modèle n'est pas correctement entré, l'export aura bien lieu mais le fichier .XML ne contiendra pas les données attendues.
    • Cochez la case "Inclure les modèles".
    • Décochez la case "Exporter uniquement la version courante".
    • Cliquez sur "Exporter".
  2. Allez à Spécial:Importer sur le nouveau wiki et téléversez le fichier XML.

Si vous n'avez pas les droits d'import sur le nouveau wiki :

  1. Go to the template you want to copy from the original wiki. Go to the edit page, and copy all the wikitext
  2. On the new wiki, go to the page with the same name as the template you copied. Hit create/edit and paste the wikitext you copied. In the edit summary of each template, link to the original page for attribution.
  3. Back in the original wiki at the edit window, below the edit box, look at the list of "Templates used on this page". For each template listed follow these instructions. Also do that for any template used by any of these templates, and so on.

This will copy the entire code necessary, and will suffice for some templates.

Extensions[edit | edit source]

ParserFunctions est une extension souvent utilisée dans les modèles. Visitez la page ParserFunctions et vérifiez si certaines des fonctions listées sont utilisées dans les modèles que vous avez copié. Si c'est le cas, vous devrez installer l'extension ParserFunctions. Pour cela vous aurez besoin des droits d'administrateur système pour accéder au serveur de votre installation MediaWiki.

Une autre dépendance utilisée dans les modèles, notamment ceux de Wikipédia, est Lua. La présence de balises {{#invoke: }} dans le code des modèles est un bon marqueur. S'il est utilisé, vous devrez installer l'extension Scribunto et les droits d'administrateur système seront aussi nécessaires. Voir la page de l'extension pour plus d'instructions sur son installation et son utilisation.

Code CSS et Javascript[edit | edit source]

En plus du code MediaWiki, beaucoup de modèles font usage du CSS et certains emploient le Javascript pour fonctionner. Si les modèles copiés n'ont pas le comportement attendu, cela pourrait en être la cause. Pour copier le CSS et Javascript requis sur votre wiki, vous devriez avoir besoin des droits d'administrateur, car vous devrez éditer les messages du système dans l'espace de nom "MediaWiki:".

  1. Look for the use of CSS classes (text like class="foobar") in the template text. If those classes appear in "MediaWiki:Common.css" or "MediaWiki:Monobook.css" on the original wiki, copy those classes to "MediaWiki:Common.css" on the new wiki and check if the template is now fine.
  1. Si le modèle copié ne marche toujours pas comme prévu, vérifier s'il y a du code dans "MediaWiki:Common.js" ou "MediaWiki:Monobook.js" sur le wiki d'origine. Si c'est le cas, vous pouvez essayer de le copier dans "MediaWiki:Common.js" sur le nouveau wiki. Normallement, le mieux serait de copier seulement le code issu de sources fiables, et de parcourir d'abord le code pour identifier et sélectionner les parties pertinentes. Vous devriez trouver des commentaires qui peuvent servir d'indice pour identifier la fonction de chaque partie.

Voir aussi[edit | edit source]