Aide:Modèle

Pour Wikipedia, un modèle est un bloc d'information qui peut être inclus dans les autres pages. Il peut servir à : Dans tous les cas le modèle est inséré dans un article en y ajoutant, à l'emplacement adéquat, le libellé
 * insérer un message standard, exemple : le message indiquant qu'un article est proposé à la suppression Modèle:Suppression
 * insérer un tableau commun à plusieurs pages d'un même domaine. Exemple : le tableau biographique utilisé pour les présidents des États-Unis Modèle:FichePresidentUS. Ce modèle est paramétrable, c'est-à-dire qu'il y a un fond de tableau commun et des variables dont le contenu change dans chaque article.
 * insérer une palette de navigation dans toutes les pages d'un même domaine. Exemple : la palette utilisée pour les articles du domaine aéronautique Modèle:Aéronautique.
 * etc.

Note : la notion de modèle de Wikipedia est différente de celle utilisée dans les logiciels de traitement de texte.

Les modèles sont gérés dans un espace de noms. Une page spéciale en donne ainsi une liste alphabétique. Voyez la liste des modèles principaux utilisés dans Wikipédia.

Les modèles sont des pages comme les autres et donc accessibles à l'édition par tous les contributeurs. Il faut toutefois les modifier avec prudence car le résultat apparaît sur de nombreuses pages. Lorsque la page correspondant au modèle est affichée, on peut cliquer sur l'hyperlien Pages liées du menu de gauche pour consulter les pages utilisant le modèle et vérifier, avant modification, que ces pages ne seront pas perturbées.

Création d'un modèle
La méthode est identique à celle de la création d'une page quelconque. Le plus simple est d'insérer un appel au modèle dans un article, puis de cliquer sur le lien (qui apparaîtra en rouge).

Trucs et astuces
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.

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 pour les noms de modèle.

Si le modèle appartient à une catégorie, c'est à dire que la page du modèle contient un libellé de la forme, 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é.

Documentation du modèle
À la suite du modèle, à même la page, il l'est recommandé de fournir toutes les explications nécessaires à son utilisation dans une zone de documentation qui ne sera pas visible de la page où il est inclu.

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

Modification
Dans notre exemple, rendez vous sur la page Modèle:En cours pour le modifier, autrement, remplacer le « En cours » par le nom de la palette souhaitée.

Utilisation
Pour inclure un modèle il faut utiliser la syntaxe Wikipédia suivante (la première lettre du nom du modèle n'est pas sensible à la casse) :
 *   pour que le modèle soit inclus à chaque chargement d'une page l'utilisant. Ainsi, dès que le modèle est modifié, la modification devient visible dans toutes les pages utilisant le modèle.
 *   pour que le modèle soit copié une fois pour toute dans la page l'utilisant. Dans ce cas-ci, une modification du modèle n'a aucune incidence sur la page.

Ainsi, un modèle bref et temporaire destiné à être rapidement supprimé devrait être copié avec subst:, dont l'avantage est qu'il apparaît directement dans la source de l'article. Une notice normale destinée à rester sur une page pour une longue durée ou bien à jamais devrait être incluse au moyen de  , de manière à ce que les mises à jour éventuelles soient plus aisées. Un modèle contenant un lien temporaire ou susceptible de changer ne devrait cependant pas être ajouté par  . Cette méthode, en effet, ne met pas à jour le lien Pages liées à moins que chaque article contenant le   soit effectivement modifié après la modification du lien dans le modèle en question.


 * Il est possible d'inclure du texte provenant d'autres espaces de nom ; comme par exemple  .
 * Tous les caractères sont acceptés, y compris les espaces.
 * Tout changement d'un modèle efface automatiquement le cache de toutes les pages utilisant ce modèle.
 * Les modèles peuvent prendre des arguments, référencés par position ou par nom (voir l'exemple plus élaboré ci-dessous). La syntaxe est la suivante:   avec des balises   </tt> dans le modèle, ou bien   </tt> avec   </tt>,   </tt>, etc. Notez que les balises de paramètres dans le modèle demandent trois accolades et non deux.
 * Un modèle peut inclure un ou plusieurs autres modèles,
 * Un modèle ne peut pas être lui-même paramètre d'un autre modèle.
 * Les redirections entre modèles fonctionnent.

Dans un modèle, pour faire un lien vers une page qui dépend d'un paramètre d'un modèle, les liens de type externe sont souvent utilisés même pour des liens internes afin d'éviter qu'on aboutisse sur la page en mode d'édition même si cette page existe.

Modèles à paramètres
Un modèle peut être écrit afin d'accepter des paramètres. Cela permet de créer, par exemple, des tableaux pré-formatés dont seules certaines valeurs changent selon la page invoquant le modèle.

(pour plus de détail voir Infobox

Par exemple, le modèle Modèle:Planète mineure se lit en partie :


 *  {| align="right" rules="all" cellpadding="4" cellspacing="0" style="margin: 0 0 1em 1em; border: 1px solid #999; border-right-width: 2px; border-bottom-width: 2px; background-color: #CEDAF2" </tt>


 * ...</tt>


 *  | style="background: #003399" align="center" width="100%" |  </tt>


 *  | padding=15px| </tt>


 *  |} </tt>


 *  |- </tt>


 *  ! bgcolor="#6295DA" colspan="2" align="center" | Découverte </tt>


 *  |- </tt>


 *  | Qui || </tt>


 *  |- </tt>


 *  | Quand || </tt>


 *  |- </tt>


 * <tt> | Désignation(s) provisoire(s) || </tt>


 * <tt> |- </tt>


 * <tt>...</tt>


 * <tt> | Température de surface || </tt>


 * <tt> |} </tt>

Le contenu de ce modèle est un tableau formaté, spécifiant couleurs, alignement, etc. Les parties apparaissant entre triple accolades sont les paramètres qui seront utilisés par la page invoquant le modèle. On voit ci-dessus (en gras) les paramètres nom, découvreur, date_découverte, désignations et température.

Sur la page 14 Irène, on trouve, en partie :


 * <tt> </tt>

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. Les valeurs des paramètres sont spécifiées en écrivant paramètre=valeur. Il ne doit pas y avoir de retour à la ligne dans la valeur, mais est permis. La valeur peut inclure un lien extérieur (par exemple, le paramètre dimensions) ou intérieur (par exemple, orbite). On remarquera que la syntaxe habituelle des liens wiki est possible (c'est-à-dire texte qui apparaîtra ).

Valeur par défaut d'un paramètre
Les paramètres peuvent prendre une valeur par défaut, c'est à dire une valeur utilisée automatiquement en l'absence de spécification sur la page d'inclusion, comme ceci (s'il n'y a pas de 3e paramètre, 123 sera utilisé à la place), ou comme cela.

Des exemples sont donnés sur la page Discussion Modèle:Qif.

Modèles spéciaux
Ces modèles sont prédéfinis et ne doivent pas être utilisé comme nom de modèles. (note: pour les modèles déclarés pas des utilisateurs, aller lire: la liste complète des modèles)

Les balises d'inclusion sélective
Il est parfois utile de placer certains éléments dans le code source du modèle (par exemple les liens interlangues) sans que ces éléments n'apparaissent sur la page où le modèle est inséré. Pour ce faire, on place les éléments à exclure de l'insertion entre les balises et.

Inversement, 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 et.

Placer un titre en balisage "includeonly" peut désorganiser la numérotation du sommaire et des liens "modifier" qui apparaissent à droite des titres.

Il est recommandé de laisser au moins une espace entre le dernier signe "=" d'un titre et une balise.

Il est également recommandé, lorsqu'on place une séquence &lt;noinclude>...&lt;/noinclude>, soit de la faire précéder d'une espace ou, mieux encore, compte tenu des risques d'effacement accidentel de cette espace, et donc d'effets secondaires indésirables (interwikis d'un modèle reproduits de manière non pertinente dans les pages qui utilisent le modèle), sur une ligne séparée, précédée par une autre ligne contenant le commentaire invisible &lt;!-- ne pas effacer cette ligne de commentaire -->.

Balise d'inclusion sélective et substitution
Lors d'une insertion par substitution les balises et ainsi que le texte qu'elles encadrent ne sont pas reproduites.

Modèles utilisateur
Afin de créer un modèle non encyclopédique (par ex. destiné à être appelé par une page utilisateur) ou pour faire des tests, nul n'est besoin de « polluer » l'espace des modèles. Cela peut se faire sur une sous-page utilisateur.

Par exemple, si <font style="text-decoration:underline;color:blue;">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é à %.''
 * il crée une sous-page utilisateur <font style="text-decoration:underline;color:blue;">Utilisateur:Quidam/Article fastidieux dans laquelle il écrit le modèle :


 * il l'utilise ensuite dans ses pages et sous-pages personnelles en tapant :

ce qui donne :

<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é à 55%.''

D’une façon générale, la syntaxe (entre doubles accolades) d’appel d'un modèle :

reconnait la présence de l’<tt style="margin:1px 1px 1px 1px;background:white;color:black;border:1px dotted blue;padding:1px 1px 1px 1px;">espace de nommage:</tt>, qui ne prend la valeur par défaut <tt style="margin:1px 1px 1px 1px;background:white;color:black;border:1px dotted blue;padding:1px 1px 1px 1px;">Modèle:</tt> que quand l'espace de nommage n'est pas indiqué explicitement. De même les paramètres peuvent être nommés explicitement, ou implicitement par leur rang d'apparition dans l'appel du modèle.

Problèmes fréquents sur les pages contenant des modèles
Rafraîchissement : Pour rafraîchir une page qui est restée inchangée, alors que les modèles qu'elle contient ont été modifiés, créer un lien du type :

de la page&action=purge rafraîchir la page et cliquer dessus, ou utiliser.

Mise à jour des tables : Quand une page contient une autre page, et que cette dernière est modifiée, la page principale est mise à jour mais pas la table des liens, ni les catégories. Même un &action=purge n'y change rien. Il y a deux moyens pour forcer la mise à jour des liens et des catégories :
 * 1) Si c'est un problème ponctuel, faire une modification vide sur la page (cliquer sur modifier puis sur sauvegarder sans rien changer : rien n'apparaît dans l'historique mais la table des liens est mise à jour)
 * 2) Si c'est un problème récurrent, ou si de nombreuses pages sont concernées : demander à un robot de passer  régulièrement sur la page concernée en utilisant le script touch.py. Déposez votre requête sur Wikipédia:Bot/Requêtes.

Les développeurs ont été mis au courant de tous ces problèmes sur la page Bugzilla N°939.

Voir aussi

 * Palettes de navigation
 * Wikipédia:Modèles
 * Wikipédia:Liste des modèles
 * Bac à sable (pour s'entraîner à l'utilisation des modèles)

en:Help:Template