« Aide:Transclusion » : différence entre les versions

Contenu supprimé Contenu ajouté
ajout du modèle d'entête d'aide + en bref
réorganisation + changement du niveau de certains titres + ajout entête aide + mise du code dans la balise code + positionnement des paramètres dans un templatedata
Ligne 6 :
| ariane2 =
| voiravant = [[Aide:Espace « Page »]] et [[Aide:Espace « Livre »]]
| descriptif = Cette page d’aide expose le principe général de la transclusion et sa mise en œuvre pratique au moyen de la balise <code><nowiki><pages/></nowiki></code>.
| voiraussi = [[Aide:Transcription]]
| techno =
| technolien =
| statut =
| difficulté = débutantavancé
| avertissement =
| raccourci =
}}
 
{{En bref|La transclusion permet d’inclure une page dans une autre. <br/>Pour transclure, il faut utiliser la balise <code><nowiki><pages/></nowiki></code> dans l'espace principal.<br/>On La Wikisource francophone nommeappelle « page(s)-source(s) » la (ou les) page(s) à inclure et nomme « page-feuille » la page qui reçoit la (ou les) « page(s)-source(s) ».}}
 
{{Menu de navigation aide|état groupe3 = affiché}}
 
La transclusion (voir [[wikt:transclusion|définitiontransclusion]]) est, dans le domaine informatique, l’action d’inclure une page dans une autre de façon dynamique. La transclusion est différente de la copie : en effet, toute modification de la page incluse sera automatiquement et immédiatement répercutée sur la page hôte.
 
Sur Wikisource, la transclusion est utilisée principalement pour inclure des pages de [[Aide:Espace « Page »|l’espace page]] dans l’espace principal. La transclusion est donc le plus souvent effectuée [[Aide:Qualité des pages|après relecture]] dans [[Aide:Espace « Page »|l’espace page]],. etIl permet de présenter aux lecteurs un texte suivant sa structure logique : par parties, par chapitres, par poèmes… et non suivant le découpage physique des pages-papier.
 
Cette transclusion s’effectue à l’aide de la balise {{vert|<code><nowiki><pages /></nowiki>}}</code>.
 
== Fonctionnement de la balise <nowiki><pages /></nowiki> ==
La balise <code><nowiki><pages /></nowiki></code> permet de transclure à l’endroit où elle est utilisée,. dans laLa page-feuille, unetransclue sérieentièrement deou partiellement des pages-sources, entières ou partielles, issues d’un livre dont(qui on connaît la page d’indexest dans [[Aide:Espace « Livre »|l’espace livre]] (attention :appelé leespace numéro''Index'' deen page d’index du fichier, djvu ou pdf, est souvent différent du numéro de page du livre-papieranglais).) Les attributs que l’on peut préciser à l’intérieur de la balise sont :
{{début encart coloré}}[[File:OOjs UI icon alert-progressive.svg|20px]] Le numéro de page d’index du fichier, djvu ou pdf, est souvent différent du numéro de page du livre-papier.{{fin encart}}
Les attributs que l’on peut préciser à l’intérieur de la balise sont les suivantes :
 
<templatedata>
* '''index''' (''obligatoire'') : le nom de la page d’index du livre, sans {{vert|Livre:}} au début du nom ;
{
* '''from''' (''optionnel'') : la page du début de l’intervalle de pages à transclure. Omettre cet attribut et l’attribut {{vert|to}} pour transclure le sommaire ;
"params": {
* '''fromsection''' (''optionnel'') : pour la page {{vert|from}}, transclure à partir de la section indiquée (section incluse);
"index": {
* '''to''' (''optionnel'') : la page de fin de l’intervalle de pages à transclure ;
"label": "Nom dans l'espace « Livre: »",
* '''tosection''' (''optionnel'') : pour la page {{vert|to}}, transclure jusqu'à la section indiquée (section incluse);
"description": "Nom de la page d’index du livre, sans le préfixe « Livre: » au début du nom",
* '''onlysection''' (''optionnel'') : transclure uniquement la section indiquée pour toutes les pages ;
"example": "Baudelaire - Les Fleurs du mal 1857.djvu",
* '''header''' (''optionnel'') : voir [[#Header|Header]] ;
"type": "wiki-file-name",
* '''header_type''' (''optionnel'') : voir [[#Header|Header]] ;
"required": true
* '''step''' (''optionnel'') : permet de ne transclure qu’une page sur ''k'', en comptant à partir de la première ;
},
* '''exclude''' (''optionnel'') : permet d’indiquer « d’oublier » de transclure une série de pages comprises entre from et to ;
"from": {
* '''include''' (''optionnel'') : permet de transclure une série de pages en utilisant la même syntaxe que exclude.
"label": "Page de début",
"description": "Page du début de l’intervalle de pages à transclure. Omettre cet attribut et l’attribut « to » pour transclure le sommaire ;",
"example": "5",
"type": "number",
"default": "1"
},
"fromsection": {
"label": "Début section à transcrire",
"description": "Pour la page indiqué dans « from » commence la transclusion à partir de la section indiquée (section incluse)",
"example": "chap2",
"type": "content"
},
"to": {
"label": "Page de fin",
"description": "Dernière page de fin de l’intervalle de pages à transclure",
"example": "38",
"type": "number"
},
"tosection": {
"label": "Fin section à transcrire",
"description": "Pour la page indiqué dans « to » transclure jusqu'à la section indiquée (section incluse)",
"example": "chap2",
"type": "content"
},
"onlysection": {
"label": "Seulement la section",
"description": "Transclure uniquement la section indiquée pour toutes les pages",
"example": "schéma",
"type": "content"
},
"header": {
"label": "Header",
"description": "voir la section [[#Header]]"
},
"header_type": {
"label": "Header type",
"description": "voir la section [[#Header]]"
},
"step": {
"label": "Pas",
"description": "Permet de ne transclure qu’une page sur ''x'', en comptant à partir de la première",
"example": "2",
"type": "number"
},
"exclude": {
"label": "Exclure",
"description": "Permet d’indiquer « d’oublier » de transclure une série de pages comprises entre « from » et « to »",
"example": "10-15",
"type": "content"
},
"include": {
"label": "Inclure",
"description": "Permet de transclure une série de pages en utilisant la même syntaxe que « exclude ».",
"example": "10-15",
"type": "content"
}
},
"description": "",
"paramOrder": [
"index",
"from",
"to",
"fromsection",
"tosection",
"onlysection",
"header",
"header_type",
"step",
"exclude",
"include"
],
"format": "inline"
}
</templatedata>
 
=== Exemples de wikicode ===
 
{|width="100%" class="wikitable" style="table-layout:fixed"
Exemples :
|-<!--bgcolor="#CCCCCC"-->
{| class="wikitable"
!scope="col" width="50%"| Code wiki
! code !! effet produit
!scope="col" width="50%"| Description du rendu
|-
|{{vert|<code><nowiki><pages index="Baudelaire - Les Fleurs du mal 1857.djvu" from="106" to="107" /></nowiki>}}</code>
|Transclure les pages 106 à 107 du livre [[Index:Baudelaire - Les Fleurs du mal 1857.djvu|Baudelaire - Les Fleurs du mal 1857.djvu]].
|-
|{{vert|<code><nowiki><pages index="Dickens - La Petite Dorrit - Tome 2.djvu" from="16" fromsection="chap2" to="20" tosection="chap2" /></nowiki>}}</code>
|Transclure les pages 16 à 20 du livre [[Index:Dickens - La Petite Dorrit - Tome 2.djvu|Dickens - La Petite Dorrit - Tome 2.djvu]]. Pour la page 16, transclure uniquement la section {{vert|« chap2}} », pour la page 20 transclure uniquement la section {{vert|« chap2}} ».
|-
|{{vert|<code><nowiki><pages index="" from="1" to="10" step=2 /></nowiki>}}</code>
|Affiche les pages 1, 3, 5, 7 et 9.
|-
|{{vert|<code><nowiki><pages index="" from="1" to="10" exclude="2-5,9" /></nowiki>}}</code>
|Affiche les pages 1, 6, 7, 8 et 10.
|-
|{{vert|<code><nowiki><pages index="" include="2-5,9" /></nowiki>}}</code>
|Affiche les pages 2, 3, 4, 5 et 9.
|}
 
Les numéros de page affichés sur le côté des pages transcluses sont les numéros attribués à ces pages sur la page d’index du livre. Voir [[Aide:Espace_Espace «_Livre_ Livre »#Liste_des_pagesListe des pages|l’aide de l’espace « Livre »]] pour corriger éventuellement des décalages dans la numérotation.
 
Si l’attribut {{vert|« <code>from}}</code> » est présent sans l’attribut {{vert|« <code>to}}</code> », alors ce dernier est fixé par défaut à la dernière page du livre : les pages sont transcluses jusqu’à la fin du livre.
 
Si ni {{vert|« <code>from}}</code> » ni {{vert|« <code>to}}</code> » ne sont présents, alors on obtient une transclusion du sommaire du livre tel qu’il apparaît sur la page d’index de l’espace Livre, précédé d’une boîte de titre reprenant les informations de cette page (voir [[#Header|Header]]).
 
== Header ==
L’attribut <code>header</code> permet d’afficher une boîte de titre au-dessus des pages transcluses. Cette boîte de titre reprend les informations présentes sur la page d’index du livre d’où proviennent les pages transcluses : titre, auteur, édition… Les valeurs possibles pour l’attribut <code>header</code> sont :
 
* <code>'''header=1'''</code> : boîte de titre avec navigateur. On obtient en dessous de la boîte de titre un ''navigateur'' comportant un lien vers le texte précédent et un lien vers le texte qui suit le texte courant. Ces liens sont obtenus automatiquement depuis les liens figurant dans le sommaire présent sur la page d’index de l’espace Livre.
L’attribut {{vert|header}} permet d’afficher une boîte de titre au-dessus des pages transcluses. Cette boîte de titre reprend les informations présentes sur la page d’index du livre d’où proviennent les pages transcluses : titre, auteur, édition… Les valeurs possibles pour l’attribut {{vert|header}} sont :
* <code>'''header=Sommaire'''</code> : boîte de titre sans navigateur, seules les informations présentes sur la page d’index sont reprises. Il n’y a pas de liens vers les textes précédant et suivant le texte courant. Les numéros des pages transcluses ne sont pas non plus indiqués.
* <code>'''header_type=empty'''</code> : permet d'éviter la génération de la boîte de titre, utile pour les sommaires sur plusieurs volumes, où à partir du second volume on veut le sommaire sans la boîte de titre. Voir par exemple sur la page [[Barnabé Rudge]] la transclusion du sommaire du tome II.
 
Comme mentionné plus haut, lorsque ni <code>from</code> ni <code>to</code> ne sont spécifiés dans la balise <code><nowiki><pages /></nowiki></code>, on obtient une transclusion du sommaire du livre. La boîte de titre a alors la même apparence qu’avec <code><nowiki>header=Sommaire</nowiki></code>.
* '''header=1''' : boîte de titre avec navigateur. On obtient en dessous de la boîte de titre un ''navigateur'' comportant un lien vers le texte précédent et un lien vers le texte qui suit le texte courant. Ces liens sont obtenus automatiquement depuis les liens figurant dans le sommaire présent sur la page d’index de l’espace Livre.
* '''header=Sommaire''' : boîte de titre sans navigateur, seules les informations présentes sur la page d’index sont reprises. Il n’y a pas de liens vers les textes précédant et suivant le texte courant. Les numéros des pages transcluses ne sont pas non plus indiqués.
* '''header_type=empty''' : permet d'éviter la génération de la boîte de titre, utile pour les sommaires sur plusieurs volumes, où à partir du second volume on veut le sommaire sans la boîte de titre. Voir par exemple sur la page [[Barnabé Rudge]] la transclusion du sommaire du tome II.
 
=== Exemples de header ===
Comme mentionné plus haut, lorsque ni {{vert|from}} ni {{vert|to}} ne sont spécifiés dans la balise {{vert|<nowiki><pages /></nowiki>}}, on obtient une transclusion du sommaire du livre. La boîte de titre a alors la même apparence qu’avec {{vert|<nowiki>header=Sommaire</nowiki>}}.
{|width="100%" class="wikitable" style="table-layout:fixed"
 
|-<!--bgcolor="#CCCCCC"-->
Exemples :
!scope="col" width="50%"| Code wiki
{| class="wikitable"
!scope="col" width="50%"| Description du rendu
! code !! effet produit
|-
|{{vert|<code><nowiki><pages index="Dickens - La Petite Dorrit - Tome 2.djvu" from="16" to="20" header=1/></nowiki>}}</code>
|Transclure les pages 16 à 20 du livre [[Index:Dickens - La Petite Dorrit - Tome 2.djvu|Dickens - La Petite Dorrit - Tome 2.djvu]], boîte de titre avec navigateur. [[La Petite Dorrit/Tome 2/Chapitre 2|Résultat]]. Noter que les liens vers le texte suivant et le texte précédent sont ceux qui apparaissent autour du texte dans le sommaire sur la [[Livre:Dickens - La Petite Dorrit - Tome 2.djvu|page d’index]] du Livre.
|-
|{{vert|<code><nowiki><pages index="Verlaine - Œuvres complètes, Vanier, I.djvu" from="440" fromsection="s2" to="442" header=Sommaire /></nowiki>}}</code>
|Transclure les pages 440 à 442 du livre [[Index:Verlaine - Œuvres complètes, Vanier, I.djvu|Verlaine - Œuvres complètes, Vanier, I.djvu]]. Boîte de titre sans navigateur. [[Jadis et naguère (1902)|Résultat]].
|-
|{{vert|<code><nowiki><pages index="Bloy - Les Dernières Colonnes de l’Église, Mercure de France, 1903.djvu"/></nowiki>}}</code>
|Transclure le sommaire du livre [[Index:Bloy - Les Dernières Colonnes de l’Église, Mercure de France, 1903.djvu|Bloy - Les Dernières Colonnes de l’Église, Mercure de France, 1903.djvu]]. [[Les Dernières Colonnes de l’Église|Résultat]].
|}
Ligne 97 ⟶ 175 :
* '''Autre''' : auteur, titre, traducteur, éditeur, année, volume, intervalle de pages.
 
Il est possible de définir les informations utilisées ci-dessus à l’intérieur de la balise {{vert|<code><nowiki><pages /></nowiki>}}</code> pour outrepasser la valeur définie dans la page d’index du livre. Cela peut être utile dans le cas d’un recueil d’ouvrages de différents auteurs : chaque texte du recueil doit redéfinir son propre auteur.
 
Exemple :
{|width="100%" class="wikitable" style="table-layout:fixed"
|-<!--bgcolor="#CCCCCC"-->
! code !! effet produit
!scope="col" width="50%"| Code wiki
!scope="col" width="50%"| Description du rendu
|-
|{{vert|<code><nowiki><pages header=1 auteur="[[Auteur:Victor Cousin|Victor Cousin]]" index="Journal des économistes, 1846, T16.djvu" from="147" to="152" /></nowiki>}}</code>
|Transclure les pages 147 à 152, l’auteur affiché sera [[Auteur:Victor Cousin|Victor Cousin]] qui est différent de l’auteur indiqué dans la [[Index:Journal des économistes, 1846, T16.djvu|page d’index]] (non renseigné). [[Adam Smith et ses ouvrages|Résultat]].
|}
Ligne 142 ⟶ 222 :
; next
:Lien vers le chapitre suivant
; recueil
:Titre du recueil
 
Ligne 151 ⟶ 231 :
Deux syntaxes possibles :
 
{{vert|<code><nowiki>## chap2 ##</nowiki>}}</code>
 
Le robot saura reconnaître ce qu’il faut délimiter, car la fin de la section sera signalée soit par le début d’une nouvelle section indiquée de la même manière (dans ce cas le robot ajoutera une fin de section avant de commencer la deuxième), soit par la syntaxe ci-dessous :
 
{{vert|<code><nowiki>####</nowiki>}}</code>
 
qui lui indiquera que c’est la fin de la section.
Ligne 161 ⟶ 241 :
Il rétablira à partir de cette syntaxe abrégée la syntaxe complète de la délimitation des sections (mais vous pouvez si vous le préférez utiliser directement celle-ci sans passer par la syntaxe abrégée). Voici cette syntaxe :
 
{{vert|<code><nowiki><section begin=chap2 /></nowiki>}}</code>Voici en exemple un chapitre{{vert| <code><nowiki><section end=chap2 /></nowiki>}}<br/code>

À la place de « Voici en exemple un chapitre », vous pouvez mettre bien sûr toute la section de texte à marquer.<br>
 
=== Comment inclure plusieurs pages dans un même tableau lors de la transclusion ? ===
Ligne 181 ⟶ 263 :
! Contenu de la page de premier niveau !! Résultat obtenu à l’intérieur du Ebook
|-
|width=65%| {{vert|<code><nowiki><pages index="Verne - Kéraban-le-Têtu, Hetzel, 1883, tome 1.djvu" volume="Tomes 1 & 2" header=sommaire /></nowiki>}}</code> || Tous les liens du sommaire seront convertis en chapitres car aucune page n’est précisée lors de l’utilisation de [[Modèle:Proofreadpage header template]] soit avec from=, to= ou encore include=. Le modèle ajoutera de lui-même l’étiquette ws-summary.
|-
| {{vert|<code><nowiki><pages index="Verne - Kéraban-le-Têtu, Hetzel, 1883, tome 1.djvu" volume="Tomes 1 & 2" header=sommaire /></nowiki><br /> <nowiki><pages index="Verne - Kéraban-le-Têtu, Hetzel, 1883, tome 2.djvu" include="321" onlysection="s1" /></nowiki><br /> <nowiki><pages index="Verne - Kéraban-le-Têtu, Hetzel, 1883, tome 2.djvu" include="322" /></nowiki>}}</code>|| Seuls les liens contenus dans le premier tome seront considérés et convertis en chapitres.
|-
| {{vert|<code><nowiki><div class="ws-summary"></nowiki><br /><nowiki><pages index="Verne - Kéraban-le-Têtu, Hetzel, 1883, tome 1.djvu" volume="Tomes 1 & 2" header=sommaire /></nowiki><br /> <nowiki><pages index="Verne - Kéraban-le-Têtu, Hetzel, 1883, tome 2.djvu" include="321" onlysection="s1" /></nowiki><br /> <nowiki><pages index="Verne - Kéraban-le-Têtu, Hetzel, 1883, tome 2.djvu" include="322" /></div></nowiki>}}</code> || Tous les liens à des sous-pages seront convertis en chapitres dans le Ebook car ils portent tous l’étiquette ws-summary. N-B : Cette étiquette peut aussi être apposée dans l’espace livre lors de la création de la TDM et n’affecter, par exemple, que les liens de premier niveau.
|}