482
edits
mNo edit summary |
(Fin de la traduction) |
||
| Line 10: | Line 10: | ||
=== '''Qu'est-ce qu'un modèle ?''' === | === '''Qu'est-ce qu'un modèle ?''' === | ||
En termes simples, lorsque vous utilisez un modèle, vous ajoutez une autre page, ou plutôt son contenu, dans la page que vous modifiez. C'est ce qu'on appelle la transclusion. Bien que le wiki ait un espace de noms de modèle spécial, indiqué par un préfixe ''Template'': dans le titre de la page, n'importe quelle page peut être utilisée comme modèle. | En termes simples, lorsque vous utilisez un modèle, vous ajoutez une autre page, ou plutôt son contenu, dans la page que vous modifiez. C'est ce qu'on appelle la [https://fr.wikipedia.org/wiki/Transclusion transclusion]. Bien que le wiki ait un espace de noms de modèle spécial, indiqué par un préfixe ''Template'': dans le titre de la page, n'importe quelle page peut être utilisée comme modèle. | ||
Si un modèle par exemple s'appelle Template:Bonjour et contient : | Si un modèle par exemple s'appelle Template:Bonjour et contient : | ||
| Line 93: | Line 93: | ||
== Modification d'un modèle== | == Modification d'un modèle== | ||
L'édition d'un modèle est aussi simple que l'édition d'une page wiki normale. | L'édition d'un modèle est aussi simple que l'édition d'une page wiki normale. Sopposons que vous vouliez modifier un modèle avec le nom ''ce que vous avez toujours voulu savoir''. Recherchez le modèle à l'aide du mot-clé '''modèle''' tel que ''Modèle : ce que vous avez toujours voulu savoir'' puis cliquez sur un lien pour vous y rendre. | ||
Si le code du modèle est très complexe, il peut être judicieux de ne pas le modifier sous peine de le corrompre, même si les modifications peuvent facilement être annulées. | Si le code du modèle est très complexe, il peut être judicieux de ne pas le modifier sous peine de le corrompre, même si les modifications peuvent facilement être annulées. | ||
Essayez toujours d'ajouter de la documentation aux modèles manquants, de préférence en utilisant {{modèle informatif}}. | Essayez toujours d'ajouter de la documentation aux modèles manquants, de préférence en utilisant {{modèle informatif}}. | ||
===Passer des paramètres sans nom=== | ===Passer des paramètres sans nom à un modèle=== | ||
Passer des paramètres aux modèles les rend beaucoup plus | Passer des paramètres aux modèles les rend beaucoup plus souples à utiliser. Les paramètres sans nom peuvent être utilisés dans l'ordre dans lequel ils sont passés, essentiellement {{{1}}}, {{{2}}} etc. Considérez le modèle suivant, ''Template:Hello'' : | ||
<pre>Hello, {{{1|}}}{{{2|stranger}}}!</pre> | <pre>Hello, {{{1|}}}{{{2|stranger}}}!</pre> | ||
| Line 115: | Line 115: | ||
</pre> | </pre> | ||
===Les valeurs par défaut === | ===Les valeurs par défaut des paramètres === | ||
Vous vous demandez peut-être ce que fait ce trait vertical et le texte qui suit, ''stranger'', dans ''Template:Hello''. La plupart d'entre vous auront déjà deviné qu'il s'agit de '''valeurs par défaut'''. Avoir au moins une valeur par défaut vide est une bonne pratique, sinon les modèles se plantent lorsqu'un paramètre vide leur est passé. Voici ce qui arrive lorsque le modèle ci-dessus est utilisé sans paramètres : | Vous vous demandez peut-être ce que fait ce trait vertical et le texte qui suit, ''stranger'', dans ''Template:Hello''. La plupart d'entre vous auront déjà deviné qu'il s'agit de '''valeurs par défaut'''. Avoir au moins une valeur par défaut vide est une bonne pratique, sinon les modèles se plantent lorsqu'un paramètre vide leur est passé. Voici ce qui arrive lorsque le modèle ci-dessus est utilisé sans paramètres : | ||
<pre>{{hello}}</pre> | <pre>{{hello}}</pre> | ||
| Line 123: | Line 123: | ||
<nowiki>Hello, {{{1}}}{{{2}}}!</nowiki> | <nowiki>Hello, {{{1}}}{{{2}}}!</nowiki> | ||
===Passer des paramètres nommés=== | ===Passer des paramètres nommés ç un modèle=== | ||
Bien que l'utilisation d'un modèle avec des paramètres nommés nécessite un peu plus de saisie, ils ne sont pas beaucoup plus complexes lors de la modification. Ils sont réellement très pratiques car ils peuvent être passés à un modèle dans n'importe quel ordre et, plus important encore, ils sont nommés (c'est-à-dire non numérotés). Cette dernière chose les rend immensément plus utiles dans les modèles complexes. | Bien que l'utilisation d'un modèle avec des paramètres nommés nécessite un peu plus de saisie, ils ne sont pas beaucoup plus complexes lors de la modification. Ils sont réellement très pratiques car ils peuvent être passés à un modèle dans n'importe quel ordre et, plus important encore, ils sont nommés (c'est-à-dire non numérotés). Cette dernière chose les rend immensément plus utiles dans les modèles complexes. | ||
| Line 136: | Line 136: | ||
Hello, Dr. Falken! | Hello, Dr. Falken! | ||
=== | ===Inclure ou ne pas inclure ?=== | ||
Parfois, vous avez du contenu dans un modèle que vous ne souhaitez pas [https://fr.wikipedia.org/wiki/Transclusion transclure] ou que vous souhaitez transclure mais pas inclure dans le modèle. Considérez, par exemple, la documentation du modèle, bien entendu,vous ne souhaitez pas qu'elle soit présente sur chaque page pour laquelle le modèle est utilisé. Par contre, parfois, vous voulez qu'un modèle ajoute une catégorie à la page pour laquelle il est utilisé, mais pas au modèle lui-même . Cela peut être fait en employant les balises <''noinclude''> et <''includeonly''>. | |||
Pour revenir au modèle ''Template:Hello'', l'exemple ci-dessous montre comment ''Category:Pages qui disent bonjour'' est ajouté à la page qui utilise le modèle mais pas au modèle lui-même, et comment la documentation et les modèles ''Category:Hello'' sont ajoutés au modèle, mais pas la page pour laquelle il sera utilisé. Notez que les deux balises <tt><nowiki><includeonly></nowiki></tt> et <tt><nowiki><noinclude></nowiki></tt> sont juste derrière le texte du modèle, car un saut de ligne entraînerait un saut de ligne lorsque le modèle est utilisé. | |||
Voici le modèle complet : ''Template:Hello''<nowiki>. Ne vous souciez pas de taper tout ce texte, {{</nowiki>[[Template:Informative template|informative template]]<nowiki>}} est l'un des modèles avec des exemples pré-remplis que vous pouvez copier et coller dans le modèle que vous modifiez.</nowiki> | |||
<nowiki>Hello, {{{1|}}}{{{2|stranger}}}!<includeonly>[[Category:Pages that says hello]]</includeonly><noinclude> | <nowiki>Hello, {{{1|}}}{{{2|stranger}}}!<includeonly>[[Category:Pages that says hello]]</includeonly><noinclude> | ||
| Line 170: | Line 170: | ||
</noinclude></nowiki> | </noinclude></nowiki> | ||
=== | ===Suppression de categorie=== | ||
Parfois, il est utile qu'un modèle supprime la catégorisation et ne catégorise que certaines des pages pour lesquelles il est utilisé. Il existe quelques modèles qui peuvent être utilisés pour cela dans [[:Category:Namespace templates]]. La plupart d'entre eux utilisent l'espace de noms de la page pour laquelle le modèle est appliqué. Par exemple, '''''Help talk:'''Templates'' se trouve dans l'espace de noms ''Help talk''. | |||
L'un de ces modèles est {{tl|main other}}. | |||
<nowiki>{{</nowiki>'''main other'''<nowiki>|</nowiki>''text if main''<nowiki>|</nowiki>''text if other'' <nowiki>|</nowiki>''demospace=''<nowiki>}}</nowiki> | <nowiki>{{</nowiki>'''main other'''<nowiki>|</nowiki>''text if main''<nowiki>|</nowiki>''text if other'' <nowiki>|</nowiki>''demospace=''<nowiki>}}</nowiki> | ||
Si le modèle est appliqué sur une page dans l'espace de noms principal, l'espace de noms dans lequel se trouvent les articles, '''text if main''' est utilisé. Sinon '''text if other''' est utilisé. Les deux peuvent être remplacés si '''demospace''' est défini comme '''demospace = other''' lorsqu'il se trouve dans l'espace de noms principal et '''demospace = main''' lorsqu'il se trouve dans n'importe quel autre. | |||
Si un lien de catégorie est utilisé dans le '''text if main''' comme ci-dessous, la page ne sera catégorisée que si le modèle est placé dans l'espace de noms principal. Notez que tous les paramètres sont facultatifs. | |||
<nowiki> | <nowiki> | ||
... | ... | ||
| Line 187: | Line 186: | ||
</noinclude></nowiki> | </noinclude></nowiki> | ||
En dehors de '''demospace''', certains modèles auront un paramètre '''nocat''' qui, lorsqu'il n'est pas vide ou défini comme '''nocat = yes''', supprimera complètement la catégorisation. | |||
== Traduire un modèle== | == Traduire un modèle== | ||
Les modèles sont traduits d'une manière différente des [[Fr/Help:Traduire|articles normaux]]. Au lieu de créer une autre page pour chaque traduction, toutes les traductions sont écrites dans un modèle. Pour ce faire, on peut utiliser le modèle {{tl|LangSwitch}}, par exemple comme ci-dessous : | |||
<nowiki>[http://{{LangSwitch | <nowiki>[http://{{LangSwitch | ||
| Line 202: | Line 201: | ||
<nowiki>{{LangSwitch | <nowiki>{{LangSwitch | ||
| en = <!-- English --> | |||
{{ The template with English contents }} | |||
| de = <!-- German --> | |||
{{ Die Vorlage mit deutschen Inhalten }} | |||
| fr = <!-- French --> | |||
{{ Le modèle avec le contenu en Français }} | |||
}}</nowiki> | |||
{{note|Many templates use tables and have to start from the beginning of the line, like in the above example.}} | {{note|Many templates use tables and have to start from the beginning of the line, like in the above example.}} | ||
{{note|Inserting blank lines or spaces will usually cause unintended changes to the way the template are rendered.}} | {{note|Inserting blank lines or spaces will usually cause unintended changes to the way the template are rendered.}} | ||
Le modèle {{tl|LangSwitch}} utilise le code de langue à deux lettres présent dans tous les titres de page sauf en anglais. Si aucune des langues traduites n'est trouvée, un modèle n'a pas encore été traduit dans cette langue et le texte anglais sera utilisé par défaut, à condition qu'il soit disponible. | |||
Lorsque vous vérifiez que les versions linguistiques s'affichent comme elles le devraient, vous pouvez ajouter un paramètre '''lang''' au modèle à des fins de débogage. N'oubliez pas de le supprimer avant d'enregistrer ou le modèle ne sera affiché que dans cette langue. L'exemple ci-dessous montrerait la version française (fr) du modèle : | |||
<nowiki>{{LangSwitch | <nowiki>{{LangSwitch | ||
... | ... | ||
| Line 222: | Line 219: | ||
== Edition avancée d'un modèle== | == Edition avancée d'un modèle== | ||
Les modèles peuvent contenir du code très avancé et souvent complexe, mais un code encore plus simple peut faire de grandes choses pour vous faciliter la vie en tant qu'éditeur, avec de perspectives de réutilisation. | |||
; | Bien que cette page ne rentre pas dans les détails, il existe quelques secrets pour les modèles plus avancés : | ||
; Tableaux:Les tableaux wiki sont difficiles à comprendre, mais ils peuvent faire beaucoup pour tout type de modèle ou de boîtes de dialogue, ainsi que pour de petites mises en page. | |||
; | ;Mots magiques ou réservés:Les mots magiques sont , la plupart du temps,en majuscules et beaucoup d'entre eux ressemblent à première vue à des modèles. Certains d'entre eux sont par exemple <tt><nowiki>{{CURRENTMONTHNAME}}</nowiki></tt> and <tt><nowiki>__NOTOC__</nowiki></tt>. | ||
; | ;Fonctions d'analyseur:Les fonctions d'analyseur permettent une programmation plus ou moins régulière avec des conditions, des commutateurs, un formatage de chaîne, etc. L'une d'elles est <tt>#if</tt>, <tt><nowiki>{{</nowiki>'''#if:''' ''string'' | ''passed if non-empty'' | ''passed if empty'' <nowiki>}}</nowiki></tt>. | ||
; | ;HTML:Cela peut sembler un peu drôle de le mentionner, mais parfois vous oubliez que vous pouvez utiliser (certaines) balises HTML dans un wiki MediaWiki. | ||
;Cascading style sheets (CSS):Comme les mots magiques et les fonctions d'analyseur peuvent faire de la magie pour la fonctionnalité d'un modèle CSS peut faire de la magie pour son apparence.: | |||
Une bonne astuce pour obtenir un code source de modèle plus lisible est que des commentaires HTML bien placés (<!-- Comment -->) aideront beaucoup à la compréhension. | |||
==Liens connexes== | ==Liens connexes== | ||
edits