Aide:Modèle

Un article de Wikipédia, l'encyclopédie libre.

Page d'aide sur l'homonymie Cette page présente une aide générale sur les modèles. Pour une liste de modèles en fonction de leur rôle, voir Wikipédia:Modèles.

Un modèle est un motif créé dans le but d’être reproduit de manière identique sur plusieurs pages. C’est un outil à la syntaxe simple qui permet d’utiliser un ensemble plus ou moins complexe voire très complexe de lignes de code d’une part sans avoir à saisir ces lignes à chaque fois et d’autre part en codant à chaque utilisation de manière identique.
Mais attention, un modèle de Wikipédia est plus précisément une page de l’espace de noms « Modèle: » (ou une page méta, par abus de langage) utilisable en inclusion. Il faut donc plutôt parler de patron lorsqu’il s’agit d’un motif à copier-coller (en savoir plus).

Les modèles sont accessibles à l’édition par tous les contributeurs. Il faut toutefois les modifier avec prudence car le résultat apparaît sur de nombreuses pages et provoque des mises à jour de cache en cascade. Ils peuvent être utilisés pour insérer :

  • un message standard (tel que {{À wikifier}}) qui indique qu’un article est à mettre en forme.
  • un tableau commun à plusieurs pages d’un même domaine, tel que le tableau biographique des Chefs d’États {{Infobox Chef d'État}} ; ce modèle est paramétrable, c’est-à-dire qu’il y a un fond de tableau commun et des variables qui permettent de définir un contenu.

Sommaire

[modifier] Comment utiliser un modèle ?

Pour insérer un modèle, il faut effectuer un appel par des doubles accolades en suivant la syntaxe : {{Nom du modèle}}.

Par exemple, en saisissant {{Merci}}, le contenu du Modèle:Merci est affiché sur une page : « Clin d’œil Merci ». Les modifications de Modèle:Merci s’appliquent sur les diverses pages où est inséré le modèle.

Les modèles sont indifférents à la casse : {{Nom du modèle}} et équivalent à {{nom du modèle}}.

Les modèles sont regroupés dans un espace de noms « Modèle: » (en voici une liste alphabétique).

[modifier] Paramètres

Certains modèles ont besoin de paramètres (comme par exemple {{Article détaillé}}) pour adapter leur comportement. Ces paramètres, obligatoires ou facultatifs, sont séparés par des barres verticales (| : combinaison Alt Gr + 6) et sont renseignés les uns à la suite des autres : {{Nom du modèle | <Paramètre 1> | <Paramètre 2>…}}.

Les paramètres peuvent être nommés ; ils sont alors renseignés par un couple paramètre=valeur de cette manière : {{Boîte| titre = <titre voulu> | couleur = <couleur choisie> }}.

Pour plus détails sur les paramètres, se reporter au chapitre Modèles à paramètres.

[modifier] Substitution

La substitution permet de remplacer l’appel au modèle {{Nom du modèle}} par le code du modèle (c’est-à-dire le patron du modèle). Elle s’effectue par la syntaxe {{subst:Nom du modèle}}. Il n’est généralement pas nécessaire de substituer un modèle car, si le modèle d’origine est modifié, les substitutions ne le sont pas. La substitution n’a pas vocation à être utilisée dans les articles. À noter qu’il n’existe aucune norme sur l’usage du subst: et que son utilisation doit donc être réfléchie.

Un modèle contenant un lien temporaire ou susceptible de changer devrait être ajouté par {{subst:Nom du modèle}}. Un exemple d’utilisation de la substitution est lors de l’ajout de {{Bienvenue nouveau}} sur la page de discussion d’un nouvel utilisateur ; ce dernier pourra alors, en modifiant sa page, prendre pleinement conscience de la syntaxe utilisée sur le site.

[modifier] Deux catégories de modèles particuliers : les palettes et les infobox

Article détaillé : Aide:Palettes de navigation.

Les palettes de navigations sont des tableaux déroulant qui se placent en bas d’un article.


Article détaillé : Aide:Infobox.

Les infobox sont des tableaux qui se placent en haut à droite d’un article.

[modifier] Modèles spéciaux

Article détaillé : Aide:Liste des modèles spéciaux.

Certains modèles permettent d’avoir la date, l’heure, etc.

Note : Pour les modèles déclarés par des utilisateurs, voir la liste complète des modèles.

[modifier] Comment créer un modèle ?

Avant de créer un nouveau modèle, il faut s’assurer qu’un modèle équivalent n’existe pas sous un titre différent. La méthode de création d’un modèle est similaire à celle de la création d’une page. Le nom de la nouvelle page doit commencer par « Modèle: » (Modèle:<Nom du modèle>) et peut contenir des espaces.

Le plus simple est d’insérer un appel au modèle dans une page, puis de cliquer sur le lien qui apparaîtra en rouge ; l’appel s’effectue en tapant le code {{Nom du modèle}}. Le code du modèle peut être créé par modification d’un copier-coller d’un modèle existant.

Les modèles peuvent prendre des arguments (ou paramètres ; se reporter au chapitre Modèles à paramètres).

Un modèle peut inclure un ou plusieurs autres modèles, mais ne peut pas être lui-même paramètre d’un autre modèle. Les redirections entre modèles fonctionnent.

NB : Tout changement d’un modèle efface automatiquement le cache de toutes les pages utilisant ce modèle.

[modifier] Nécessité de la documentation

Un modèle est un outil communautaire destiné à tous ceux qui souhaitent l’utiliser (il n’est pas réservé à son auteur). Il est donc impératif de faire une documentation expliquant : à quel besoin le modèle répond, dans quels cas il est adapté/inadapté, ce qu’il fait et comment il doit être utilisé.

Se reporter au chapitre Comment documenter un modèle ? qui explique comment procéder.

[modifier] Demander la fabrication d'un nouveau modèle

  Se rendre sur le Projet:Modèle

Si vous avez besoin de l’aide d’utilisateurs expérimentés pour fabriquer un nouveau modèle, vous pouvez déposer une requête sur la page Projet:Modèle/Demandes.

[modifier] Modèles à paramètres

Un modèle peut être écrit afin d’accepter des paramètres (ou arguments). Cela permet de créer des tableaux pré-formatés dont seules certaines valeurs changent selon la page invoquant le modèle.

Dans un appel, les paramètres suivent le nom du modèle et sont séparés par des tubes « | » : {{Nom du modèle|<paramètre1>|<paramètre2>…}}. Dans la page Modèle:, ils sont désignés par une triple accolades : {{{paramètre 1}}}.

Prenons par exemple la page fictive Modèle:Modèle de chose qui contiendrait :

La '''{{{objet}}}''' est un {{{type}}}.

Si vous effectuez l’appel :

{{modèle de chose
| objet = pomme
| type = fruit
}}

Alors les paramètres seront « remplacés » par leur valeur (la valeur pomme sera attribuée au paramètre objet) et le modèle affichera :

La pomme est un fruit.

Il ne doit pas y avoir de retour à la ligne dans une valeur, mais <br /> est permis. Une valeur peut-être un lien externe ou interne. On remarquera que la syntaxe habituelle des liens wiki est possible (c’est-à-dire [[page visée|texte qui apparaîtra]]).

Afin d’améliorer la lisibilité lors de l’édition, des retours à la ligne peuvent apparaître dans le modèle, à la façon des tableaux. Idéalement, comme on le constate ci-haut, il peut y avoir un retour à la ligne avant chaque « | » sauf le premier.

[modifier] Nom de paramètre implicite

Par défaut, les paramètres sont désignés par leur nombre ordinal (ils sont numérotés dans l’ordre d’apparition à partir de 1), ce qui forme une suite dont chaque élément correspond au rang des valeurs attendues lors de l’emploi du modèle : le paramètre 3, exprimé par le code {{{3}}}, fait référence à la troisième valeur exigée par le modèle.

Par exemple, le modèle {{Annonce}} utilise un paramètre 1 et un paramètre 6 de cette manière : [[Image:{{{1}}}|20px|{{{6}}}]] qui s’interprète « afficher l’image de nom "valeur du 1er paramètre", dans une taille de 20 pixels, avec comme nom "la valeur du 6e paramètre" ».

Sans nom explicite, une aide est certainement nécessaire pour faciliter l’utilisation du modèle par d’autres utilisateurs.

[modifier] Nom de paramètre explicite : les paramètres nommés

L’usage de modèles complexes peut être facilité par des paramètres nommés ; cette pratique est aussi recommandée pour faciliter le contrôle par des robots.

Pour nommer un paramètre, il suffit d’utiliser un nom représentatif de son rôle au lieu des noms par défaut (1, 2, 3 …) en précisant un couple paramètre=valeur. Par exemple, en renommant {{{3}}} par {{{Avancement}}} dans le code [[Image:{{#switch:{{{Avancement}}}|0=00|1=25|2=50|3=75|4=100}}%.svg]] (si les valeurs 0 à 100 expriment les degrés d’avancement d’une opération). Ce qui donnerait l’appel : {{Nom du modèle|Avancement=25}}.

Une discordance entre le nom du paramètre donné et le nom donné dans le modèle génère une erreur. On peut noter que l’on peut appeler les paramètres nommés dans n’importe quel ordre.

[modifier] Valeur par défaut d'un paramètre

Si un paramètre n’est pas défini, sa valeur est lui-même ({{{1}}} sera « remplacé » par {{{1}}}).

Le concepteur peut définir une valeur par défaut qui sera utilisé si le paramètre n’est pas défini, en suivant la syntaxe : {{{<paramètre>|123}}} (c’est-à-dire, « s’il n’y a pas de 3e paramètre, on utilise la valeur "123" à la place »). Un tel paramètre est alors dit facultatif.

Il est possible de ne rien écrire par défaut (valeur vide / NULL) en n’écrivant rien après la barre verticale, pas même un espace : {{{<paramètre>|}}}.

[modifier] Les balises d’inclusion sélective

Ce sont des balises XML permettant de sélectionner un partie du code source d’une page.

[modifier] Balisage <noinclude>...</noinclude>

Note : Cette balise est recommandée dans les modèles.

Il est utile de pouvoir placer certains éléments du code source du modèle, comme les liens interlangues, la catégorisation ou la documentation, sans que ces éléments n’apparaissent sur la page où le modèle est inséré. Pour cela, on place les éléments à exclure entre les balises <noinclude> et </noinclude>.

Il est recommandé, lorsqu’on place une séquence <noinclude></noinclude>, de ne faire précéder ou suivre la séquence d’AUCUN saut de ligne ou espace supplémentaire car ils seraient conservés à l’inclusion du modèle et pourraient nuire à la présentation de son contenu. Par contre, on peut mettre des blancs et sauts de lignes à volonté à l’intérieur pour améliorer la lisibilité. Par exemple, un Modèle:Exemple contenant :

''(contenu ''{{{1|}}}'' à compléter…)''

et qui affiche ceci dans l’article qui l’inclut :

(contenu à compléter…)

peut être complété d’une catégorie et d’un lien interwiki destinés à sa propre classification, mais non destinés aux articles qui incluent ce modèle :

''(contenu ''{{{1|}}}'' à compléter…)''<noinclude>

[[Catégorie:Espace Modèle]]
[[Catégorie:Exemple]]

[[en:Template:Sample]]
</noinclude>

Notez ci-dessus l’absence de tout saut de ligne entre le contenu et le début de la section <noinclude>.

Ainsi :

  • Sur la page du modèle, les catégories et liens interwikis apparaîtront, exactement comme si les deux balises <noinclude> et </noinclude> n’agissaient pas.
  • Lorsque le modèle est inclus dans un article par le code {{Exemple}}, seul la ligne « ''(contenu ''{{{1|}}}'' à compléter…)'' » sera utilisée (ce qui est en dehors des <noinclude></noinclude>) sans les interwikis, ni les catégories.

[modifier] Balisage <includeonly>...</includeonly>

Note : Cette balise n’est pas recommandée dans les modèles.

Les éléments qu’on veut voir apparaître en insertion, mais qu’on veut voir disparaître lors de la visualisation du modèle seul sont placés entre les balises <includeonly> et </includeonly>.

Il est recommandé de laisser au moins un saut de ligne ou espace entre le dernier signe « = » d’une ligne de titre et une balise <includeonly>.

Par exemple, il peut être parfois nécessaire de montrer plusieurs exemples d’un modèle lui-même, en fournissant des paramètres différents. Dans ce cas, le code du modèle sera préférablement placé en tête mais caché dans la page de description :

<includeonly>''(contenu ''{{{1|}}'' à compléter…)''</includeonly><noinclude>
{{Documentation modèle}}
;Utilisation: Ce modèle n’est qu’un exemple à compléter. Aucun paramètre obligatoire n’est ici nécessaire dans un article.

;Syntaxe : <code>{{Exemple|1}}</code>
:* <code>1</code> : permet d’ajouter du texte au milieu du contenu affiché par ce modèle (facultatif, vierge par défaut).

;Exemple : « <code>{{Exemple|de cette section}}</code> » donne <!--
-->« ''(contenu ''de cette section'' à compléter…)'' »

;Voir aussi :
:* [[Aide:Modèle]]

[[Catégorie:Exemple]]

[[en:Template:Sample]]
</noinclude>

Notez ci-dessus la récursion du modèle : il est possible, lors de l’édition d’un modèle déjà existant, qu’il faille le publier deux fois pour que l’auto-inclusion dans sa page de description soit pris en compte.

Notez également comment sont disposés les balises </includeonly><noinclude>, sans aucun saut de ligne intermédiaire qui tomberait en surplus et qui risquerait d’interrompre une liste à numérotation automatique ou provoquerait une rupture de paragraphe indésirable ou des sauts blancs verticaux.

L’utilisation du balisage <includeonly></includeonly> doit donc rester exceptionnel et doit être utilisé avec précaution. Le placement d’un titre dans une section <includeonly> peut désorganiser la numérotation du sommaire et des liens « modifier » qui apparaissent à droite des titres de section.

[modifier] Balise d’inclusion sélective et substitution

Lors d’une insertion par substitution (avec la syntaxe spéciale {{subst:<modèle>}}) les balises <noinclude></noinclude> et leur contenu ne sont pas reproduites.

[modifier] Les parser functions

Les parser functions sont des modèles « analyseurs » (en anglais parser) qui permettent d’effectuer certaines fonctions paramétrables. Les plus courantes sont les branchements conditionnels #if et #switch.

Un exemple où les valeurs possibles d’un paramètre sont en nombre limitées et connues : si l’utilisateur donne la valeur 4 au 3e paramètre du modèle contenant le code suivant [[Image:{{#switch:{{{3}}}|0=00|1=25|2=50|3=75|4=100}}%.svg]], l’image affichée sera l’icône Image:100%.svg, soit Image:100%.svg.

Pour plus de détails, voir sur le site de MediaWiki :   Parser Functions

[modifier] Modèles utilisateur

Pour créer un modèle non encyclopédique (destiné à être appelé par une page utilisateur ou pour faire des tests), nul besoin de « polluer » l’espace des modèles. Cela peut se faire sur une sous-page utilisateur de manière toute à fait similaire.

Par exemple, si Utilisateur:Quidam veut tester un modèle appelé « Article fastidieux », il procède comme suit :

  • il crée une sous-page utilisateur Utilisateur:Quidam/Article fastidieux dans laquelle il écrit le modèle :
<div style="border:1px solid black; background:rgb(80%,100%,80%); text-align:center; padding=0.4ex;">
 ''Ceci est un article fastidieux. Le taux d’ennui est estimé à {{{ennui}}} %.''</div>
  • il l’utilise ensuite en tapant :
{{Utilisateur:Quidam/Article fastidieux|ennui=55}}

ce qui donne :

Ceci est un article fastidieux. Le taux d’ennui est estimé à 55 %.

D’une façon générale, la syntaxe d’appel d’un modèle {{<espace de noms>:<nom de page>|<paramètre1>=valeur1}} reconnaît la présence de l’espace de noms qui, ici, ne prend pas la valeur par défaut Modèle:. Les paramètres peuvent aussi être nommés explicitement, ou implicitement.

[modifier] Comment documenter un modèle ?

[modifier] Où documenter ?

La documentation d’un modèle peut-être faite :

En apposant {{Doc modèle}} dans un modèle à documenter, vous serez assistés dans la création de sa sous-page de documentation.

[modifier] Quand doit-on placer la documentation en sous-page ?

Il faut documenter en sous-page dans les cas suivants :

  • le modèle est très employé et utilise des paramètres qui prennent de multiples valeurs (il faut alors réduire au minimum le contenu des balises <noinclude></noinclude> et surtout, ne pas inclure la documentation).
  • le modèle et/ou sa documentation sont particulièrement longs.
  • on souhaite rependre (i.e., inclure) la documentation dans une page d’aide.
  • avant de protéger un modèle, il faut déplacer sa documentation en sous-page.

[modifier] Comment documenter en-dessous du modèle ?

Pour documenter un modèle déjà existant, copier-coller et adaptez l’un des codes ci-dessous à la fin de la source d’un modèle (c’est-à-dire juste avant son dernier saut de ligne existant, et sans aucun autre saut de ligne inutile ajouté après).

[modifier] Documenter un modèle simple

Pour un « petit » modèle, sans paramètres nommés, « sur une ligne » :

<noinclude>{{Documentation modèle}}

; Utilisation :
: <!--indiquez quand utiliser ce modèle-->.

; Syntaxe : <code><nowiki>{{</nowiki>{{PAGENAME}}|1|2|etc.}}</code>
:* <code>1</code> : description1 (obligatoire).
:* <code>2</code> : description2 (facultatif, ''défaut2'' par défaut).
:* etc.

; Exemple : « <code><nowiki>{{</nowiki>{{PAGENAME}}|<!-- à compléter -->}}</code> » donne <!--
-->« {{{{PAGENAME}}|<!-- à compléter à l’identique -->}} »<!--pour un modèle simple (sur un ligne) -->

; Variante
:* {{M|<!--nom de modèle connexe-->}}

; Voir aussi
:* [[<!--nom de page à voir-->]]

[[Catégorie:Nom de la catégorie du modèle|{{PAGENAME}}]]

[[de:Template:Nom du modèle germanophone équivalent]]
</noinclude>

[modifier] Documenter un modèle plus complexe

Pour un modèle plus complexe, avec arguments nommés :

<noinclude>{{Documentation modèle}}

; Utilisation :
: <!--indiquez quand utiliser ce modèle-->.

; Syntaxe :
 <nowiki>{{</nowiki>{{PAGENAME}}
 |paramètre1=valeur1
 |paramètre2=valeur2
 |paramètre3=valeur3
 |etc.
 }}

; Paramètres :
:* <code>paramètre1</code> : description1 (obligatoire).
:* <code>paramètre2</code> : description2 (facultatif, ''défaut2'' par défaut).
:* <code>paramètre3</code> : description3 (optionnel, lorsque <code>paramètre2</code> est fourni, ''défaut3'' par défaut).
:* etc.

; Exemple :
{{Entête tableau "Code Rendu"}}
|-
|<pre><!-- le même code --></pre>
|<!-- le même code -->
|}

; Variante
:* {{M|<!--nom de modèle connexe-->}}

; Voir aussi
:* [[<!--nom de page à voir-->]]

[[Catégorie:Nom de la catégorie du modèle|{{PAGENAME}}]]

[[en:Template:Nom du modèle anglophone équivalent]]
</noinclude>

[modifier] Formulaire de documentation préchargé

Pour disposer d’un formulaire de documentation préchargé lors de la création d’un nouveau modèle, mettez le nom de modèle de votre choix dans la boîte suivante et cliquez sur le bouton « Créer le modèle » :


[modifier] Exemples de modèles bien documentés

[modifier] Comment documenter dans la sous-page du modèle ?

Copier-coller et adaptez le code ci-dessous directement sous la source du modèle :

<noinclude>
{{/Documentation}}<!-- Métadonnées (catégories, interwikis, …) en sous-page de documentation -->
</noinclude>

Puis cliquez sur le lien rouge pour éditer la page. La documentation demeure globalement semblable.

[modifier] Documenter un modèle simple

{{Documentation modèle en sous-page}}

; Utilisation :
: <!--indiquez quand utiliser ce modèle-->.

; Syntaxe : <code><nowiki>{{</nowiki>{{PAGENAME}}|1|2|etc.}}</code>
:* <code>1</code> : description1 (obligatoire).
:* <code>2</code> : description2 (facultatif, ''défaut2'' par défaut).
:* etc.

; Exemple : « <code><nowiki>{{</nowiki>{{PAGENAME}}|<!-- à compléter -->}}</code> » donne <!--
-->« {{ {{PAGENAME}}|<!-- à compléter à l’identique -->}} »<!--pour un modèle simple (sur un ligne) -->

; Variante
:* {{M|<!--nom de modèle connexe-->}}

; Voir aussi
:* [[<!--nom de page à voir-->]]

<includeonly>
<!-- Catégories et interwikis du modèle -->
[[Catégorie:Nom de la catégorie du modèle|{{PAGENAME}}]]

[[it:Template:Nom du modèle italophone équivalent]]
</includeonly>

[modifier] Documenter un modèle plus complexe

Pour un modèle plus complexe, avec arguments nommés :

{{Documentation modèle compliqué en sous-page}}

; Utilisation
: <!--indiquez quand utiliser ce modèle-->.

; Syntaxe
 <nowiki>{{</nowiki><!-- nom du modèle -->
 |paramètre1={{Param|valeur1}}
 |paramètre2={{Param|valeur2}}
 |paramètre3={{Param|valeur3}}
 |etc.
 }}

; Paramètres
:* <code>paramètre1</code> : description1 (obligatoire).
:* <code>paramètre2</code> : description2 (facultatif, ''défaut2'' par défaut).
:* <code>paramètre3</code> : description3 (optionnel, lorsque <code>paramètre2</code> est fourni, ''défaut3'' par défaut).
:* etc.

; Exemple :
{{Entête tableau "Code Rendu"}}
|-
|<pre><!-- le même code --></pre>
|<!-- le même code -->
|}

; Variante
:* {{M|<!--nom de modèle connexe-->}}

; Voir aussi
:* [[<!--nom de page à voir-->]]

<includeonly>
<!-- Catégories et interwikis du modèle -->
[[Catégorie:Nom de la catégorie du modèle|{{PAGENAME}}]]

[[es:Template:Nom du modèle hispanophone équivalent]]
</includeonly>

[modifier] Exemples de modèles bien documentés

[modifier] Remarques et astuces

Sur la page du modèle, avant modification, on peut cliquer sur l’hyperlien « Pages liées » du menu de gauche pour consulter les pages utilisant le modèle et vérifier qu’elles ne seront pas perturbées.

Les noms de modèles utilisant des mots abrégés ou collés sont difficiles à retenir car aucune convention ne s’est imposée. Il n’y a pas de raison technique pour ne pas s’inspirer des conventions sur les titres aussi dans les noms de modèle.

Dans un modèle, des liens de type externe menant à des pages internes sont parfois utilisés afin d’éviter qu’on aboutisse sur la page en mode d’édition même si cette page existe.

[modifier] Inter-langues

Si le modèle contient un lien inter-langue, alors ce lien est inclus dans toutes les pages utilisant le modèle, ce qui n’est généralement pas le résultat voulu. Si deux liens inter-langue vers une même autre langue se trouvent dans une page, le résultat est imprévisible. On évitera ces conflits en utilisant les balises d’inclusion sélective.

[modifier] Catégorisation

Si le modèle appartient à une catégorie (c’est-à-dire que la page du modèle contient un libellé de la forme [[Catégorie:Nom d'une catégorie]]) et si l’on ne fait pas simultanément usage de la balise d’inclusion sélective <noinclude>, tous les articles contenant le modèle appartiendront à cette catégorie. On peut utiliser cette astuce, par exemple, pour obtenir la liste de tous les articles ébauche d’un domaine donné. Il faut toutefois une mise à jour du cache de chaque page.

[modifier] Problème de rafraîchissement

Pour rafraîchir (« forcer la mise à jour ») une page restée inchangée alors que les modèles qu’elle contient ont été modifiés, il faut :

  • soit créez un lien du type : [http://fr.wikipedia.org/w/index.php?title=nom de la page&action=purge rafraîchir la page] et cliquer dessus,
  • soit utilisez {{purger le cache}}
  • soit cliquez sur 'Modifier' puis dans la barre d'adresse URL, remplacez 'action=edit' par 'action=purge'.

[modifier] Voir aussi

Ce document provient de « http://fr.wikipedia.org/wiki/Aide:Mod%C3%A8le ».
Créer un livre