Help:Templates/fr

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
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 " " (ou  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 :

sur n'importe quelle autre page, quand cette page est visualisée le texte "Bonjour ! Bienvenue sur le wiki." apparaitra à la place de. 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  à 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
Les modèles peuvent être utilisées dans d'autres pages de plusieurs manières :


 * 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.*  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).*   — ceci a été introduit pour tenir compte des substitutions qui ne rompent pas la transclusion. Voir w:en:Help:Substitution.*   inclut le modèle dans la syntaxe brute wiki, comme le ferait un.

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 :


 * inclut *   inclut  *   inclut  **   est remplacé par le contenu de

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


 * inclut

Paramètres
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 :

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. bises,

Notice the use of  and. This is the way to identify, within templates, the parameters that will be passed in when the template is used. Note that, within the template, each parameter is surrounded by three braces:. This is different from normal template name usage.

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 :

Anonymous parameters
To pass in anonymous parameters, list the values of those parameters sequentially:

In this case, the  template receives parameters   and , producing:

The order in which anonymous parameters are passed in is crucial to its behavior. Reversing the order of the parameters, like so:

would produce this result:

Note: identifying parameters by order (with, etc) works only with anonymous parameters. If your page identifies any parameter by number or name, as shown below, this method will no longer be available to the template which receives them.

Modèle avec des paramètres numérotés
To pass in parameters by number, identify each parameter when passing it:

This time, template  receives parameters   and , though they have been supplied in inverse order, and produces:

Avec des paramètres nommés
The third way of passing parameters is by name, instead of numbers. In this case, the template contents would be changed to:

A little thank you... for. hugs,

Within the template, we use  and   to identify each parameter, instead of a number. To pass these parameters by name, identify each parameter when passing it:

In this case, template  receives parameters   and   and produces:

The advantage of using named parameters in your template, besides also being flexible in the order parameters can be passed, is that it makes the template code much easier to understand if there are many parameters.

Default values
If you transclude a template that expects parameters, but do not provide them, in this way:

in the numbered parameters example above you would get the following:

Since no parameters were passed in, the template presents the parameters themselves, instead of their respective values. In these cases, it may be useful to define default values for the parameters, i.e. values that will be used if no value is passed in. For example, if the template contents are changed to:

A little thank you... for. hugs,

then  defines that if no parameter   is provided, then the value   will be used. Similarly,, defaults parameter   to value. Now, transcluding the template again without passing any parameter, results in the following:

Contrôler l'inclusion des modèles
Vous pouvez contrôler l'inclusion par l'utilisation des balises  et.

Tout ce qui est contenu entre  et   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. Tout ce qui est contenu entre  et   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.* Ensuring that the template's code is not executed when viewing the template page itself. Typically this is because it expects parameters, and its execution without parameters has an undesired result.

Everything outside  and   tags is processed and displayed normally; that is, both when the template page is being viewed directly and when the template is included in another page.

Organizing templates
For templates to be effective, users need to find them, and find out how to use them.

To find them, users can:
 * 1) Click Special Pages > All Pages
 * 2) In the Namespace list, choose Template and click Go.

To give usage information, include an example like this one on the template page:

Usage
Welcome users:

Then, an editor can simply copy and paste the example to use the template.

Copying from one wiki to another
Templates often require CSS or other templates, so users frequently have trouble copying templates from one wiki to another. The steps below should work for most templates.

MediaWiki code
If you have import rights on the new wiki:# Go to Special:Export on the original wiki, and download an .xml file with the complete history of all necessary templates, as follows:#* Enter the name of the template in the big text box, e.g. "Template:Welcome". Pay special attention to capitalization and special characters — if the template name isn't exactly correct, the export may still occur but the .xml file will not have the expected data.#* Check the box "Include templates".#* Uncheck the box "Include only the current revision".#* Click Export.# Go to Special:Import on the new wiki and upload the .xml file.

If you don't have import rights on the new wiki:# Go to Special:Export on the original wiki, and download an .xml file with the latest version only of all necessary templates, as follows:#* Enter the name of the template in the big text box.#* Check the box "Include templates".#* Check the box "Include only the current revision".#* Click Export.#* Open the file in a text editor and replace certain XML entities with the corresponding characters: &amp;lt; → <, &amp;gt; → >, &amp;quot; → " and &amp;amp; → &. Because of XML syntax rules, these entities appear in the XML file, but they should not appear in the edit box of the MediaWiki instance.#* Manually copy the text inside the  tag of each listed template into a similarly named template in your wiki. In the edit summary of each template, link to the original page for attribution.

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

Extensions
An extension often used in templates is ParserFunctions. Visit page and check if any of the functions listed there are used in the templates you've copied. If so, you have to install the. To install it, you'll need system admin access to the server of your MediaWiki installation.

Another dependency that may be used in templates, especially those on Wikipedia, is Lua. Having  in template code is a good sign for it. In case it's used, you need to install the and system admin access is required too. See that page for more instructions about installing and using the extension.

CSS and JavaScript code
Besides MediaWiki code, many templates make use of CSS and some rely on JavaScript to work fully. If the copied templates are not behaving as expected, this may be the cause. To copy the required CSS and JavaScript to your wiki you'll normally need to have admin priviledges, because you'll be editing system messages in the "MediaWiki:" namespace.


 * 1) Look for the use of CSS classes (text like  ) in the template text. If those classes appear in "MediaWiki:Common.css" or "MediaWiki:Monobook.css" on the original wiki, copy them to "MediaWiki:Common.css" on the new wiki and check if the template is now fine.# If the copied template is still not working as expected, check if there is code in "MediaWiki:Common.js" or "MediaWiki:Monobook.js" on the original wiki. If so, you can try copying it to "MediaWiki:Common.js" on the new wiki. Normally, it is a good idea to only copy code from trusted sources, and first browsing the code to identify and select the parts that are relevant. You may find comments that can serve as clues to identify the functionality of each part.

Voir aussi

 * Special:MyLanguage/Help:External searches – a template special use case example
 * Special:MyLanguage/Help:Magic words – fancy stuff you may find in some templates
 * Special:MyLanguage/Help:Parser functions in templates
 * – contains a much more thorough manual on how exactly templates function
 * – describes even more advanced techniques such as dynamic template calls and variable variables
 * – embedding pages from namespaces other than.