« Aide:Créer un modèle » : différence entre les versions

Contenu supprimé Contenu ajouté
m Révocation des modifications de Daayvs212 (retour à la dernière version de CommonsDelinker)
→‎Les balises d’inclusion sélective : Nettoyage ; mise en forme gras/rouge code ; clarifications selon les usages actuels ; suppression mention interwikis ; suppression mention déconseillant les balises includeonly (elles étaient déconseillées pour les débutants, car à l'époque les modèles étaient rarement documentés, mais maintenant, la plupart des modèles hors-palettes les utilisent) ; suppression sous-section subst:/transclusion (sans intérêt pour un débutant) ; simplification 2e exemple
Ligne 122 :
 
== Les balises d’inclusion sélective ==
Ce sont des balises [[Extensible Markup Language|XML]] propres au wikicode permettant de sélectionner une partie du [[code source]] d’une page.
 
==== Balisage <syntaxhighlight lang="xml" inline><noinclude>...</noinclude></syntaxhighlight> ====
Ce sont des balises [[Extensible Markup Language|XML]] permettant de sélectionner une partie du [[code source]] d’une page.
Il est utile de pouvoir placer certains éléments du code source du modèle, comme la documentation ou la catégorisation du modèle, sans que ces éléments apparaissent sur lales pagepages où le modèle est inséré. Pour cela, on place les éléments à exclure entre lesdes balises {{Balise|<syntaxhighlight lang="xml" inline><noinclude}}></syntaxhighlight> et {{Balise|<syntaxhighlight lang="xml" inline></noinclude}}></syntaxhighlight>.
 
Par exemple, un <code>Modèle:Exemple</code>modèle contenant :
==== Balisage {{Balise|noinclude}}...{{Balise|/noinclude}} ====
 
* ''Note :'' Ces balises sont recommandées dans les modèles.
 
Il est utile de pouvoir placer certains éléments du code source du modèle, comme la documentation ou la catégorisation du modèle, sans que ces éléments apparaissent sur la page où le modèle est inséré. Pour cela, on place les éléments à exclure entre les balises {{Balise|noinclude}} et {{Balise|/noinclude}}.
 
Par exemple, un <code>Modèle:Exemple</code> contenant :
<pre>''(contenu {{{1|}}} à compléter…)''</pre>
et qui affiche ceci dans l’article qui l’inclut :
<div style="margin: 0.5em; border: 1px solid #AAAAAA; background: white; color: black; padding: 0.5em;">
''(contenu à compléter…)''
</div>
peutDoit (au minimum) être complété d’une catégorie destinés à la catégorisation des modèles et d’und'une liendocumentation interwiki(directement destinésou àen sasous-page). propreMais classification,tout maiscela nonn'est destinéspas destiné aux articles qui incluent ce modèle :.
<pre>''(contenu {{{1|}}} à compléter…)''<noinclude>
[[Catégorie:Espace Modèle]]
[[Catégorie:Exemple]]
</noinclude></pre>
 
On ajoute donc des balises <syntaxhighlight lang="xml" inline><noinclude></syntaxhighlight> et <syntaxhighlight lang="xml" inline></noinclude></syntaxhighlight> autour de ce genre de contenu :
Notez ci-avant l’'''absence''' de tout saut de ligne entre le contenu et le début de la section {{Balise|noinclude}}. Il est recommandé de ne faire précéder ou suivre la séquence {{Balise|noinclude}}…{{Balise|/noinclude}} par 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é <u>à l’intérieur</u> pour améliorer la lisibilité.
<prenowiki>''(contenu {{{1|}}} à compléter…)''</nowiki>'''{{rouge|<nowiki><noinclude></nowiki>}}'''<nowiki>
{{Documentation|contenu=}}
[[Catégorie:Espace Modèle de formatage]]
</nowiki>'''{{rouge|<nowiki></noinclude></nowiki>}}'''
 
Notez ci-avant l’'''absence''' de tout saut de ligne entre le contenucode etdu lemodèle début deet la sectionbalise {{Balise|<syntaxhighlight lang="xml" inline><noinclude}}></syntaxhighlight>. <u>Il estne recommandéfaut dejamais neajouter faire précéderd'espace ou suivrede laligne séquence {{Balise|noinclude}}…{{Balise|vide</noinclude}}u> paravant AUCUNla SAUTséquence de<syntaxhighlight LIGNElang="xml" ou ESPACE supplémentaireinline><noinclude></syntaxhighlight>, car ils seraient conservés à l’inclusion du modèle et pourraient nuire à la présentation de son contenu (par exemple un créant un paragraphe vide). Par contre, on peut mettre des blancs et sauts de lignes à volonté <u>à l’intérieur</u> des balises pour améliorer la lisibilité.
 
Ainsi :
* sur la page du modèle, les catégories et liens interwikis apparaîtront, exactement comme si les deux balises {{Balisenobr|1=<syntaxhighlight lang="xml" inline><noinclude}}></syntaxhighlight> et {{Balise|<syntaxhighlight lang="xml" inline></noinclude></syntaxhighlight>}} n’agissaient pas ;
* lorsque le modèle est inclus dans un article par le code <code><nowiki>{{Exemple}}</nowiki></code>, seule la ligne « {{citation|<code><nowiki>''(contenu {{{1|}}} à compléter…)''</nowiki></code> »}} sera utiliséeincluse, (car cette ligne est située en dehors des {{nobr|{{Balise|<syntaxhighlight lang="xml" inline><noinclude}}…{{Balise|>...</noinclude}}}}) sans les liens interwikis, ni les catégories></syntaxhighlight>.
 
==== Balisage {{Balise|includeonly}}...{{Balise|/includeonly}} ====
 
* ''Note :'' Ces balises ne sont pas recommandées 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 {{Balise|includeonly}} et {{Balise|/includeonly}}.
 
Il est recommandé de laisser AU MOINS un SAUT de LIGNE ou ESPACE entre le dernier signe « <code><nowiki>=</nowiki></code> » d’une ligne de titre et une balise {{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 :
 
<pre><includeonly>''(contenu {{{1|}}} à compléter…)''</includeonly><noinclude>
{{Documentation|contenu=
 
== 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><nowiki>{{Exemple|1}}</nowiki></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><nowiki>{{Exemple|de cette section}}</nowiki></code> » donne « {{Exemple|de cette section}} »
 
== Voir aussi ==
* [[Aide:Modèle]]
}}
[[Catégorie:Exemple]]
</noinclude></pre>
 
==== Balisage {{Balise|<syntaxhighlight lang="xml" inline><includeonly}}>...{{Balise|</includeonly}}></syntaxhighlight> ====
Notez ci-avant la [[récursivité|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.
Pour les modèles produisant un contenu à partir de paramètres, il est généralement souhaitable d'empêcher l'affichage automatique du modèle quand on consulte la page du modèle, car cela produit souvent un résultat non pertinent, incompréhensible ou affiche un message d'erreur. Cela est typiquement utilisé par des modèles comme les infobox.
 
On peut donc placer le code du modèle (sans la documentation et la catégorisation du modèle) entre des balises {{nobr|1=<syntaxhighlight lang="xml" inline><includeonly></syntaxhighlight> et <syntaxhighlight lang="xml" inline></includeonly></syntaxhighlight>}}.
Notez également comment sont disposées les balises {{nobr|{{Balise|/includeonly}}{{Balise|noinclude}}}}, SANS AUCUN SAUT de LIGNE intermédiaire en plus risquant d’interrompre une liste à numérotation automatique ou de provoquer une rupture de paragraphe indésirable ou de créer des sauts blancs verticaux.
 
Il est alors impératif de documenter le modèle avec au moins un exemple de ce qu'affiche le modèle quand utilisé avec ses paramètres habituels. Dans le cas contraire, il n'y a alors aucun moyen de voir ce qu'il affiche.
Le balisage {{Balise|includeonly}}…{{Balise|/includeonly}} doit donc rester exceptionnel et être utilisé avec précaution. Le placement d’un titre dans une section {{Balise|includeonly}} peut désorganiser la numérotation du sommaire et des liens « modifier » qui apparaissent à droite des titres de section.
'''{{rouge|<prenowiki><includeonly></nowiki>}}'''<nowiki>''(contenu {{{1|}}} à compléter…)''</nowiki>'''{{rouge|<nowiki></includeonly></nowiki>}}'''<nowiki><noinclude>
{{Documentation}}
[[Catégorie:ExempleModèle de formatage]]
</noinclude></pre>
</nowiki>
 
Notez également comment sont disposées les balises <syntaxhighlight lang="xml" inline></includeonly></syntaxhighlight> et <syntaxhighlight lang="xml" inline></noinclude></syntaxhighlight>, à savoir '''sans aucun saut de ligne ou espace intermédiaire''', pouvant interrompre une liste à puces, provoquer une rupture de paragraphe ou créer des vides indésirables.
=== Balises d’inclusion sélective et substitution ===
Lors d’une insertion par [[Aide:Modèle#Substitution|substitution]], les balises {{nobr|{{Balise|noinclude}}…{{Balise|/noinclude}}}} et leur contenu ne sont pas reproduites.
 
== Les {{lang|en|''parser functions''}} ==