Open main menu
This page is a translated version of the page Transclusion and the translation is 100% complete.

Other languages:
English • ‎français • ‎中文 • ‎日本語

La transclusion consiste généralement en l'inclusion par référence, du contenu d'un document dans un autre document. Dans le contexte d'un wiki, il s'agit de l'utilisation de la fonction modèle de MediaWiki pour inclure le même contenu dans de multiples documents sans avoir à éditer chacun de ces documents séparément.

Contents

Comment fonctionne la transclusion

Pour transclure n'importe quelle page source (au sein d'un même projet MediaWiki, tel que Wikipédia) à l'intérieur d'une autre page cible, incluez le code suivant : {{SOMEPAGE}}

Lorsque la page cible A est affichée, tout le contenu de la page source B (dans ce cas, SOMEPAGE), sera affiché à l'endroit où la transclusion a été demandée.

Par exemple, vous pouvez décidez de placer un message de bienvenue sur la page de discussion de chaque nouvel inscrit. La transclusion créera un lien « en direct » entre la page du modèle et les pages cible sur lesquelles le message doit apparaitre. Lorsque le modèle sera modifié, toutes les pages cibles seront modifiées également.

Vous pouvez aussi décider de créer une page (de modèle) avec votre adresse courriel et inclure ce modèle pas seulement sur votre page mais également sur toutes les pages de vos amis. Lorsque vous déplacez votre téléviseur et votre canapé dans un autre appartement, vous pouvez modifier le modèle de votre adresse et ces nouvelles informations seront automatiquement mises à jour sur les pages de tous vos amis.

Étymologie

Ted Nelson inventa le terme "transclusion", ainsi qu'"hypertexte" et "hypermedia" dans son livre de 1982 Literary Machines.

Transclusion partielle

En utilisant les balises « noinclude », « onlyinclude » et «  includeonly », il est possible de ne transclure qu'une partie d'une page au lieu de son ensemble. De telles transclusions partielles peuvent aussi être mises en œuvre à partir d'autres pages sources telles les sous-pages. Il est généralement préférable de ne pas transclure certaines informations, telles que la documentation du modèle et les catégories.

Balises de transclusion

  • noinclude. Le marquage <noinclude>...</noinclude> signifie que le texte entre les balises ne sera pas transclus dans une autre page, mais apparaitra uniquement sur la page elle-même. C'est notamment utile pour la documentation du modèle et pour les catégories.
  • includeonly. Le marquage <includeonly>...</includeonly> signifie que le texte entre le balises « sera uniquement utilisé lorsque la page est transclue depuis une autre page, et n'apparaîtra pas sur la page elle-même ». Cela peut être utile, par exemple, pour ajouter des catégories aux pages utilisant un modèle, sans ajouter le modèle lui-même à ces catégories.
  • onlyinclude. Le marquage <onlyinclude>...</onlyinclude> indique que « seul le texte entouré par les balises "onlyinclude" doit être transclus vers une autre page, mais il apparaîtra sur la page elle-même » s'il n'est pas accompagné également des balises onlyinclude. Il s'agit de la partie la plus subtile des balises de transclusion partielle, car elle ne tiens en général pas compte des autres. Si il y a au moins un paire de balises "onlyinclude" sur une page, alors lorsque la page est transclue, seul le contenu situé entre les balises "onlyinclude" sera transclu. Il peut y avoir plusieurs sections de ce type, et dans chaque section, une partie du contenu peut également être exclu à l'aide de balises "noinclude", et peut également être entouré be balises "includeonly" pour ne pas apparaître dans la page source. Mais le contenu en dehors des balises "onlyinclude" sera ignoré lorsque la page sera transclue dans une page cible. Cela peut être utile, par exemple, pour répérer une petite partie d'une page dans une autre page. Notez que contrairement à <noinclude> et <includeonly>, <onlyinclude> sera prioritaire lorsqu'il est contenu dans des balises <nowiki>. En d'autres mots, <nowiki><onlyinclude>Mon contenu</onlyinclude></nowiki> produit seulement "Mon contenu" lorsque transclu.

Sous-pages

Vous pouvez copier et coller le texte à transclure dans une sous-page, et utiliser le nom de la sous-page dans le modèle de transclusion. Cette approche peut être utilisée seulement si les sous-pages sont activées; par exemple, sur la Wikipedia en anglais, les sous-pages peuvent être utilisées seulement à partir des pages utilisateur, discussion ou des pages Wikipedia; actuellement, les sous-pages ne peuvent pas être créées à partir des pages principales d'articles.

Exemple: vous voulez discuter de la supression et de la redirection de Pussycat vers Cat. D'abord, créez la sous-page Talk:Pussycat/Let's delete Pussycat!, et mettez-y vos commentaires, ensuite faites la transclusion de cette page dans Talk:Pussycat et Talk:Cat en utilisant le modèle {{Talk:Pussycat/Let's delete Pussycat!}}. Les commentaires postés sur l'une ou l'autre des pages de discussion apparaîtront dans les deux.

Pages spéciales

Voir aussi : w:Wikipedia:Transclusion#Special pages et Manual:$wgAllowSpecialInclusion

Certaines pages sur Special:Specialpages peuvent être transcluses, comme Special:AllPages, Special:PrefixIndex, Special:NewFiles, Special:NewPages, Special:RecentChanges et Special:RecentChangesLinked.

Exemple: {{Special:Newpages/3}} donne 3 nouvelles pages.

Les paramètres d'URL peuvent être passés comme des paramètres de modèle, par exemple : {{Special:RecentChanges|namespace=10|limit=5}}.

Alternatives à la transclusion de modèles

Occasionnellement, vous pourriez vouloir utiliser un modèle, mais pour une raison ou pour une autre, sans passer par une transclusion. La copie automatique en une passe du code/texte d'un modèle vers la destination d'une balise de modèle est appelée substitution de modèle ou subclusion (substitution + transclusion). Pour subclure le code/texte d'un modèle, la balise du modèle est modifiée à partir de la balise standard de transclusion en une balise de substitution, simplement en ajoutant subst:, ce qui crée une balise de la forme: {{subst:nom du modèle}}.

Sections de transclusion nommées

Une extension appelée Transclusion de sections avec étiquettes permet la transclusion de sections de texte marquées. Une extension avec une fonction quelque peu similaire est PageVariableExtension.

Semantic MediaWiki

L'extension Semantic MediaWiki utilise les requêtes en ligne pour demander et afficher les données sémantiques. Il existe actuellement deux manières de réaliser la transclusion ou quelque chose qui s'y rapporte :

  1. La transclusion proprement dite. Le format d'affichage « en ligne » assure que les pages sélectionnées (les articles de l'espace principal, les modèles, etc.) sont incluses. Comme pour les modèles, les sections placées entre les balises noinclude sont omises.
  2. Une propriété de type 'Text' peut être assignée aux passages sélectionnés d'une page. Ces sélections peuvent être demandées en exécutant une requête en ligne pour ce type de propriété.

Voir les requêtes en ligne pour d'autres informations.

Pages relatives à la transclusion de MediaWiki

Modèles

Voir aussi