A la recherche d'informations sur Aide:Modèle ? Vous êtes ici : recherche >> Encyclopédie » Aide:Modèle
Un modèle est un code (càd plusieurs caractères), délimité par « {{ » et « }} » lié à une page de l'espace de nom « Modèle ».
Par exemple, le code « {{Article détaillé}} » inclut le modèle Modèle:Article détaillé.
Il sert à reproduire sur plusieurs pages le même message, ou la même mise en page, parfois en fonction de paramètres.
Les modèles sont accessibles en édition par tous les contributeurs, c'est pourquoi il est nécessaire de les documenter. Il faut aussi les retoucher avec prudence car une modification apparaît sur de nombreuses pages (parfois plusieurs milliers) et provoque sur les serveurs des mises à jour de cache en cascade.
Lorsqu’il s’agit d’un motif à copier-coller, il faut plutôt parler de patron.
Voir aussi: Wikipédia:Jargon/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 : «
Merci ». Les modifications de Modèle:Merci s’appliquent sur les diverses pages où est inséré le modèle.
Les modèles, comme tous les articles de Wikipédia, sont indifférents à la casse uniquement pour leur lettre initiale : {{Nom du modèle}} est équivalent à {{nom du modèle}} mais pas à {{NOM DU MODÈLE}} .
Les modèles sont regroupés dans un espace de noms « Modèle: » (en voici une liste alphabétique).
Certains modèles (comme par exemple {{Article détaillé}}) ont besoin de paramètres pour adapter leur comportement. Ces paramètres, obligatoires ou facultatifs, sont séparés par des barres verticales (| : combinaison Alt Gr + 6 — clavier AZERTY — ou Alt Gr + 7 — clavier QWERTY) et sont renseignés les uns à la suite des autres : {{Nom du modèle | <Paramètre 1> | <Paramètre 2>…}}.
Parfois, il peut s'agir de paramètres 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.
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.
Les palettes de navigations sont des tableaux déroulant qui se placent en bas d’un article.
Les infobox sont des tableaux qui se placent en haut à droite d’un article.
Certains modèles permettent d’avoir la date, l’heure, etc.
Pour donner un lien vers un modèle, il faut utiliser {{m}}.
Pour retrouver rapidement un modèle existant, écrivez « Modèle:<nom du modèle> » (sans les balises {{ }}) dans le champ de recherche.
La liste des modèles utilisés dans une page est présente, le cas échéant, sous le titre Modèles utilisés par cette page dans le bas de l'onglet "modifier" sous le bouton "publier". Des liens vers chaque modèle vous sont alors proposés.
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}}.
Un modèle peut inclure un ou plusieurs autres modèles. Les redirections entre modèles fonctionnent.
Un modèle est un outil partagé par tous ceux qui souhaitent l’utiliser. Il est donc indispensable de fournir 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.
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.
Un modèle peut dépendre de paramètres (ou arguments) extérieurs. Par exemple, le modèle {{Coord}} qui permet de placer des coordonnées géographiques, nécessite au moins deux paramètres : la latitude et la longitude.
Les paramétres sont spécifiés à l'inclusion, et suivent le nom du modèle ; ils sont isolés par des séparateurs « | » (la liste des paramètres se terminant donc par « }} ») : {{Nom du modèle|<paramètre1>|<paramètre2>…}}.
Sur la page du Modèle:, ils sont désignés entre triple accolade : {{{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}}
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 (la syntaxe des liens wiki est possible : [[page visée|texte qui apparaîtra]]).
Afin d’améliorer la lisibilité, des retours à la ligne peuvent apparaître dans l'appel au modèle (comme ci-avant).
Par défaut, les paramètres sont désignés par leur nombre ordinal (ou rang), ils sont numérotés à partir de 1 dans leur ordre d’apparition dans l'appel. Le paramètre 3, exprimé par le code {{{3}}}, fait référence à la valeur du troisième paramètre.
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 d'affichage "la valeur du 6e paramètre" ».
Une aide est certainement nécessaire pour expliquer la signification de ces paramètres.
Note : contrairement à ce qui se passe pour les paramètres nommés, les espaces, retours chariots, sauts de ligne, tabulations, … au début et à la fin des paramètres positionnels ne sont pas automatiquement enlevés. Pour les supprimer, il faut utiliser le modèle {{trim}}.
L’usage de modèles 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, le code {{Avancement|42}} n'est pas très explicite ; {{Avancement|pourcentage=42}} serait plus clair.
Dans le code source du modèle « Avancement », il suffit d'utiliser {{{pourcentage}}} en lieu et place de {{{1}}}.
On peut noter que l’on peut appeler les paramètres nommés dans n’importe quel ordre.
Note : les espaces, retours chariots, sauts de ligne, tabulations, … au début et à la fin des paramètres nommés sont automatiquement enlevés.
On a vu que le signe « = » permet d'associer un paramètre et une valeur. Mais il est possible que l'on veuille utiliser « = » dans une valeur (par exemple si on veut utiliser une URL).
{{MonModèle|paramètre=aaa=bbb}} associe bien la valeur "aaa=bbb".{{MonModèle|1=aaa=bbb}}, le paramètre implicite "1" est explicité.« | » dans la valeur d'un paramètreLe | permet de séparer les paramètres. Pour que la valeur d'un paramètre puisse contenir « | », il faut passer par le modèle {{!}} pour le remplacer, afin d'éviter la confusion.
Par exemple, {{Mon modèle|paramètre1=truc{{!}}machin…}}.
Si un paramètre n'a pas de valeur spécifiée, la valeur restituée est « lui-même » (le code {{{1}}} sera « remplacé » par le texte {{{1}}}).
Le concepteur peut définir une valeur par défaut qui sera utilisée dans ce cas, en suivant la syntaxe : {{{param|123}}} dans le modèle. (Que l'on peut lire : « Si le paramètre "param" n'a pas de valeur, utilise "123" à la place ».) Un tel paramètre est alors dit facultatif.
Il est possible de ne rien écrire pour la valeur par défaut en n’écrivant rien [sic] après la barre verticale : {{{param|}}}.
La valeur d'un paramètre peut aussi être vide (nulle). Il suffit de ne rien écrire après la barre verticale de position (paramètre implicite), ou bien rien après l'« = » (paramètre nommé). Exemple : {{Mon modèle|}} ou {{Mon modèle|monparamètre=}}.
En imbriquant les paramètres {{{paramètre1|{{{paramètre2|...}}} }}}, un modèle peut établir une séquence de sélection ordonnée des valeurs.
Par exemple, le modèle fictif Monmenu comporte l'imbrication {{{fromage|{{{dessert|ni fromage ni dessert}}} }}} :
{{monmenu|fromage=camembert}} retournera le texte « camembert », de même que {{monmenu|fromage=camembert|dessert=pomme}}.{{monmenu|dessert=pomme}} retournera le texte « pomme ».{{monmenu}} retournera le texte « ni fromage ni dessert ».Ce sont des balises XML permettant de sélectionner une partie du code source d’une page.
<noinclude>...</noinclude>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 du modèle, 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>.
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-avant l’absence de tout saut de ligne entre le contenu et le début de la section <noinclude>. Il est recommandé de ne faire précéder ou suivre la séquence <noinclude>…</noinclude> 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é.
Ainsi :
<noinclude> et </noinclude> n’agissaient pas.{{Exemple}}, seule la ligne « ''(contenu {{{1|}}} à compléter…)'' » sera utilisée (ce qui est en dehors des <noinclude>…</noinclude>) sans les interwikis, ni les catégories.<includeonly>...</includeonly>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 « {{Exemple|de cette section}} »
;Voir aussi :
:* [[Aide:Modèle]]
[[Catégorie:Exemple]]
[[en:Template:Sample]]
</noinclude>
Notez ci-avant 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 prise en compte.
Notez également comment sont disposées 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.
Lors d’une insertion par substitution, les balises <noinclude>…</noinclude> et leur contenu ne sont pas reproduites.
Les parser functions sont des modèles « analyseurs » en anglais : parser. Ils permettent d’effectuer certaines fonctions d'analyse sur les paramètres passés à l'utilisation du modèle. Les plus courantes sont les branchements conditionnels #if et #switch.
Un exemple où les valeurs possibles d’un paramètre sont connues et en nombre limité : 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
.
Pour plus de détails, voir sur le site de MediaWiki : Parser Functions .
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 tout à fait similaire.
Par exemple, si Utilisateur:Quidam veut tester un modèle appelé « Article fastidieux », il procède comme suit :
<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>
{{Utilisateur:Quidam/Article fastidieux|ennui=55}}
ce qui donne :
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.
subst: imbriquéPour obtenir automatiquement (à la sauvegarde « Publier ») une substitution dans la page appelant le modèle utilisateur (et seulement dans cette page), il faut « casser » le mécanisme classique de substitution du code mis dans l'espace propre au modèle utilisateur avec un <includeonly> </includeonly>. Par exemple, pour que l'opération soit l'ajout une fois pour toutes du mois en cours écrit en toutes lettres dans la page qui appelle avec {{subst:MonModèle}}, il faut mettre dans le modèle un :
{{<includeonly>subst:</includeonly>CURRENTMONTHNAME}}
qui ne modifiera pas le code propre du modèle à la valeur du mois courant à sa sauvegarde, mais mettra le mois dans la page d'appel.
La documentation d’un modèle peut être faite :
<noinclude>…</noinclude>. Se reporter au chapitre Comment documenter en dessous du modèle ?./Documentation : il faut alors placer {{Documentation modèle en sous-page}}, ou un autre, dans la sous-page, entre les bornes <noinclude>…</noinclude>. Se reporter au chapitre Comment documenter dans la sous-page du modèle ?.En apposant {{Documentation}} dans un modèle à documenter, vous serez assistés dans la création de sa sous-page de documentation.
Il faut documenter en sous-page dans les cas suivants :
<noinclude>…</noinclude> et surtout, ne pas inclure la documentation).Pour documenter un modèle déjà existant, copiez-collez 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).
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 une 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}}]]
[[en:Template:Nom du modèle anglophone équivalent]]
</noinclude>
Pour un modèle plus complexe, avec paramètres 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}}]]
[[de:Vorlage:Nom du modèle germanophone équivalent]]
</noinclude>
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 » :
Copiez-collez et adaptez le code ci-après directement sous la source du modèle :
<noinclude>
{{Documentation}}<!-- Catégories et interwikis en sous-page de documentation -->
</noinclude>
Puis cliquez sur le lien rouge pour éditer la page. La documentation demeure globalement semblable.
{{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 une 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>
{{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:Plantilla:Nom du modèle hispanophone équivalent]]
</includeonly>
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.
Si le modèle contient un lien interlangue, 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 interlangue 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.
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.
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 :
action=edit par action=purge.
Le contenu de cette page (Aide:Modèle) est un minuscule extrait de l'encyclopiédie gratuite en ligne WIKIPEDIA
le webmaster de ce site n'est pas l'auteur de cet article (Aide:Modèle). Vous pouvez retrouver l'original de cet article (Aide:Modèle) à cette adresse et la liste des auteurs
ici
Vous pouvez modifier ou compléter cet article mais également discuter de son contenu (Aide:Modèle) sur le site de WIKIPEDIA France - Contenu (Aide:Modèle) disponible sous GNU Free Documentation License.