User:Adaz: Difference between revisions

Jump to navigation Jump to search
1,059 bytes added ,  12 November 2022
Fin de la traduction
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. Disons que vous voulez 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.
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 utiles. 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'' :
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!


===To include or not include===
===Inclure ou ne pas inclure ?===
Sometimes you have content in a template that you do not want to be transcluded or that you want to have transcluded but not included in the template. Consider for example the template documentation, of course you would not want it to be on every page the template is used on, also, sometimes you want a template to add a category to the page it is used on, but not to the template itself. This can be done using the <tt><nowiki><noinclude></nowiki></tt> and <tt><nowiki><includeonly></nowiki></tt> tags.
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''>.


To go back to the ''Template:Hello'' template, the below example shows how ''Category:Pages that says hello'' is added to the page that uses the template but not to the template and how the documentation and ''Category:Hello templates'' is added to the template, but not the page it will be used onNote that both the <tt><nowiki><includeonly></nowiki></tt> and <tt><nowiki><noinclude></nowiki></tt> tags are right behind the text of the template, as a having a line break would cause a line break when the template is used.
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é.


Here is the full ''Template:Hello''. Do not worry about typing all that text, {{tl|informative template}} is one of the templates with pre-filled examples you can copy and paste into the template you are editing.
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>


===Category suppression===
===Suppression de categorie===
Sometimes it is helpful if a template suppresses categorisation and only categorizes some of the pages it is put onThere is a few templates that can be used for that in [[:Category:Namespace templates]]. Most of them uses the namespace of the page the template is put on. For example '''''Help talk:'''Templates'' is in the ''Help talk'' namespace.
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''.


One of those templates is {{tl|main other}}:
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>


If the template is put on a page in the main namespace, the the namespace that articles are in, '''text if main''' text is used. Otherwise '''text if other''' is used. Both can be overridden if '''demospace''' is set as '''demospace = other''' when in the main namespace and '''demospace = main''' when in any other.
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.
 
If a category link is used in '''text if main''' like below the page will only be categorized if the template is put in the main namespace. Note that all the parameters are optional.


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>


Apart from '''demospace''' some templates will have a '''nocat''' parameter that when not empty or set as '''nocat = yes''' will suppress categorisation altogether.
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==
Templates are translated in a different way than [[Help:Translate|normal articles]]. Instead of creating another page for each translation, all translations are written within one templateTo do that one can use the {{tl|LangSwitch}} template, for example like below.
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 -->
  | en =  <!-- English -->
  {{ The template with English contents }}
  {{ The template with English contents }}
  | de =  <!-- German -->
  | de =  <!-- German -->
  {{ The template with German contents }}
  {{ Die Vorlage mit deutschen Inhalten }}
  | fr =  <!-- French -->
  | fr =  <!-- French -->
  {{ The template with French contents }}
  {{ Le modèle avec le contenu en Français }}
  }}</nowiki>
  }}</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.


The {{tl|LangSwitch}} template uses the two letter language code present in all but the English page titles.  If none of the languages that have been translated to is found, a template have not yet been translated to that language and the English text will be used instead, provided it is available.
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 :
 
When checking out that the language versions render as they should you can add a '''lang''' parameter to the template for debugging purposes. Remember to remove it before saving or the template will only be showed in that language. The below example would show the French (fr) version of the template:
 
  <nowiki>{{LangSwitch
  <nowiki>{{LangSwitch
   ...
   ...
Line 222: Line 219:


== Edition avancée d'un modèle==
== Edition avancée d'un modèle==
The templates can contain some very advanced and often complex code, but even easier code can do great things to make life easier for you as an editor using it later.
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.
 
While this page will not go into details, there is a few secrets to more advanced templates:
; Tables:Wiki tables are tricky to understand, but can do a lot for any kind of box template and small layouts.


;Magic words:Magic words are mostly all uppercase and many of them at first look like templates.  Some of them are for example <tt><nowiki>{{CURRENTMONTHNAME}}</nowiki></tt> and <tt><nowiki>__NOTOC__</nowiki></tt>.
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.


;Parser functions:Parser functions allow more or less regular programming with conditionals, switches, string formatting etc. One of them is <tt>#if</tt>, <tt><nowiki>{{</nowiki>'''#if:''' ''string'' | ''passed if non-empty'' | ''passed if empty'' <nowiki>}}</nowiki></tt>.
;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>.


;HTML:It might seem a bit funny to mention it, but sometimes you forget that you can use (some) html tags in a MediaWiki wiki.
;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>.


;Cascading style sheets:Like magic words and parser functions can do magic for the functionality of a template CSS can do magic for its appearance.
;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.


A good hint on getting more readable template source is that well placed HTML comments (<tt>&lt;!-- Comment --&gt;</tt>) will help a lot.
;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==
482

edits

Navigation menu