Utilisateur:SyB~Anicium/Efferella

L’expérience « Efferella » : un Modèle pour transclusion bilingue
(sections alignées sur 2 colonnes)
modifier

  Avant-propos que vous pouvez survoler modifier

Il existe un certain nombre de livres sur Wikisource qui sont des éditions bilingues français/latin. Présentant sur une même page les deux langues de façon suivie, l’intérêt de leur mise en page était multiple : philologique (pouvoir juger du travail du traducteur), pédagogique (comparer deux langues en simultanée est un excellent moyen d’apprendre !), etc.

L’une des bases de Wikisource FR est que l’on ne retranscrit que la langue française ici, sauf courts passages ou cas exceptionnels. Si l’on veut corriger le texte latin d’une page, cela se fait sur Vicifons, l’équivalent en langue latine. Ici dans le mode Page, on corrige ainsi le texte français, afin qu’il puisse être transclus plus tard sur une page numérique avec une navigation aisée : cette page numérique réunira les pages papier (encore accessibles via des repères discrets sur la gauche) pour en offrir une lecture continue et désormais verticale.

Cette transformation offre de grands avantages, notamment en permettant des allers/retours dans les notes, une recherche plein texte sur tout un chapitre voire tout un livre, etc. Mais cette mutation présente aussi l’inconvénient, dans le cas des éditions bilingues, de « perdre » la mise en page d’origine qui permettait de suivre les deux langues.

Ainsi, des expériences variées ont été tentées sur ce type d’ouvrage, avec plus ou moins de réussite : en 2023, certains liens conduisent même vers des Textes annoncés comme bilingues, mais qui ne fonctionnent plus :

  • transclusion manuelle sur deux colonnes le plus souvent, en « dur » parfois (donc, avec un copier/coller qui empêche toute mise à jour automatique des corrections !), systèmes de cadres avec ascenseurs…
  • mais le plus souvent, la transclusion n’exploite pas le texte latin : manque de temps, de possibilités techniques simples, sans oublier que ce n’est pas le cœur de la « mission » de Wikisource FR.

Des solutions d’intégration au mode Page existent déjà, grâce aux modèles Interwiki {{iwpage}}, {{iwpages}}, qui permettent d’afficher (sans copier/coller !) le texte latin sur la Page de correction française. On voit ce modèle à l’œuvre ici notamment (remarquez l’avertissement qui s’affiche automatiquement avec le modèle {{iwpage}} : « Le texte de cette page a été corrigé et est conforme au fac-similé. Son texte vient de la.wikisource.org. » : on peut ainsi cliquer sur le lien et retrouver la correction latine de la même page sur Vicifons). On peut également employer le modèle {{EntêteBilingue}} développé avec Hsarrazin, qui offre le même service mais pour des pages bilingues sur deux colonnes (pour voir son utilité).

Mais peut-on proposer une transclusion simultanée et correctement alignée de tout un chapitre, ou de tout un livre, sur Wikisource FR ? Peut-on proposer au lecteur numérique d’aujourd’hui un service de la même qualité que l’édition bilingue originale, voire… encore meilleure ? C’est ce que j’ai expérimenté sur un ouvrage bilingue français/latin : l’Histoire naturelle de Pline l’Ancien, traduite par Émile Littré (éd. Dubochet, Le Chevalier et Cie, Paris, 1848 pour le Tome 1).

Je vous propose de suivre pas-à-pas ma démarche, pour la comprendre, en débattre, et pourquoi pas l’appliquer à votre manière et l’améliorer !

  Chapitre 1 — Où l’on fait ce qu’on a toujours fait : relire et corriger modifier

Eh oui. Tout commence par le téléversement d’un Livre, s’il n’existait pas encore sur Wikimedia Commons ! Pourquoi ce rappel ? Tout simplement car en téléversant un livre sur Commons, vous le mettez à disposition de tous les sites Wikisource, quelle que soit leur langue ! Voilà comment on corrige en parallèle une même page sur deux domaines linguistiques différents ;) Le même Livre doit donc disposer d’une page d’Index sur deux domaines avant toute chose, comme vous le constatez ici sur Wikisource FR et là sur Vicifons. Même Livre, même fichier accessible depuis les deux sites, et même pagelist qui a été copié/collé sans trop de difficultés.

Sur Wikisource, on peut ainsi corriger le texte français de la page 99, et supprimer sans crainte ce que l’OCR a lu pour le latin de bas de page : on le retrouvera plus tard !

Et en effet, une fois la page corrigée sur Wikisource, on peut aller corriger la page latine correspondante, en supprimant cette fois tout le texte français : il existe désormais ailleurs, et sans faute on l’espère !

  Chapitre 2 — Où l’on balise des sections de part et d’autre du fleuve linguistique modifier

Cette étape n’est probablement pas celle que chacun préfère, et j’imagine qu’un robot bien entraîné pourrait sans peine l’alléger (j’en profite pour lancer une invitation maladroite aux spécialistes). Bref, nous sommes ici dans le Livre II de ce bon vieux Pline, et il est question d’indiquer à chacun des deux domaines où commence et où termine chaque section, ou paragraphe, avec des paires de caractères ##Dièse##, afin de pouvoir les aligner correctement lorsqu’on construira le Pont sur la rivière Transclusion.

Ainsi, la page 99 que vous commencez à connaître présente le wikicode suivant (je me suis permis d’abréger le texte, qu’Émile Littré et Pline me pardonnent) :

  la page 99 sur Wikisource
  la page 99 sur Vicifons

## Titre ##
{{T2|'''LIVRE {{rom-maj|II|2}}.'''}}

{{sep4}}
## 1 ##
{{t3|{{rom-maj|I|1}}.}}
{{nlg|1}}({{rom|I|1}}.) Le monde, ou, ce que l’on est convenu d’appeler d’un autre nom, le ciel, (…)
## 2 ##
{{t3|{{rom-maj|II|2}}.}}
{{nlg|1}}({{rom|II|2}}.) Le monde a la forme d’un globe parfait, (…)
## 3 ##
{{t3|{{rom-maj|III|3}}.}}

{{nlg|1}}({{rom|III|3}}.) Cette figure, animée d’un mouvement éternel et sans repos (…)

## Titre ##

{{t2|'''LIBER II.'''}}

{{Regula4}}

## 1 ##
{{t3|'''I.'''}}
{{left sidenote|1}}({{sc|i}}.) Mundum, et hoc quod nomine alio cælum appellare libuit, (…)
## 2 ##
{{t3|'''II.'''}}
{{left sidenote|1}}({{sc|ii}}.) Formam ejus in speciem orbis absoluti globatam esse, (…)
## 3 ##
{{t3|'''III.'''}}

{{left sidenote|1}}({{sc|iii}}.) Hanc ergo formam ejus æterno et irrequieto ambitu, (…)
Je profite de cette comparaison pour vous faire remarquer les quelques différences de mise en forme sur les deux domaines, dues à la disparité des modèles (mais on peut y importer, si l’on veut, des modèles venant d’ici). C’est à vous de voir et de tester à la fin !

  Chapitre 3 — Où l’on crée un Texte par section, pour pouvoir les associer plus tard modifier

C’est balisé ? Chaque section pourra ainsi devenir un Texte transclus dans l’espace principal, numérique cette fois-ci : le texte français de la section 1 sera ainsi repris (« transclus ») sur une page de Wikisource FR, et la même section en latin sera présentée sur Vicifons. Chaque correction apportée sur la page de correction sera instantanément visible sur la transclusion voilà pourquoi on préfère transclure que copier/coller !

  Mais attention à l’adresse donnée à chacune de ces deux pages lorsque vous les créerez.

En effet, dans cette démarche d’édition simultanée, l’objectif sera de réconcilier le plus facilement et automatiquement possible les deux langues : le nommage va donc être primordial pour faciliter la suite.

Ainsi la section 1, qui fait partie du Livre II, qui fait lui-même partie de l’œuvre Histoire naturelle, aura comme chemin Histoire naturelle (trad. Littré)/II/1, et si possible la même structure sur Vicifons, mise à part la différence de titre (aucune importance si ce dernier est différent de son homologue FR) : Naturalis Historiæ (trad. Littré)/II/1.
Et bien entendu, on donnera à chacun de ces textes de section un header convenablement rempli : celui-ci permettra d’afficher une navigation bien utile, tout en rappelant d’où sort ce texte, qu’il soit en français ou en latin. Sans oublier que le header permet également d’afficher en marge le lien vers la ou les pages correspondantes, pour pouvoir à tout moment aller corriger une coquille parvenue jusqu’à la transclusion. On écrira par exemple :


  la section II/1 sur Wikisource
  la section II/1 sur Vicifons
<pages index="Pline l'ancien - Histoire naturelle, Littré, T1 - 1848.djvu" from=123 to=123 fromsection=1 tosection=1 header=1 prev="[[../|Livre II]] — [[../Titre|Titre]]" current="'''[[../|Livre II]] — §{{lié}}1'''" next="[[../|Livre II]] — [[../2|§{{lié}}2]]" />
<pages index="Pline l'ancien - Histoire naturelle, Littré, T1 - 1848.djvu" from=123 to=123 fromsection=1 tosection=1 header=1 prev="[[../|Liber II]] — [[../Titre|Capitulum]]" current="'''[[../|Liber II]] — § 1'''" next="[[../|Liber II]] — [[../2|§ 2]]" />

Ces sections fonctionnent bien, là où elles sont. Mais pourra-t-on facilement les réunir ? Pas tout à fait. Cela fonctionnerait, mais le résultat ne serait pas exceptionnel. En cause ? Le header qui n’est pas conçu pour voyager.

  Chapitre 4 — Où l’on apprend à cacher des chapeaux ! modifier

À cette étape, s’il me prenait la fantaisie d’appeler ici même le texte latin de la section 1 du Livre II de l’Histoire naturelle de Pline l’Ancien, par la magie du modèle {{iwtrans}}, j’aurais le texte, mais j’aurais aussi le chapeau (header) de la section, avec sa navigation et tout le reste… Et si je chargeais plusieurs sections à la suite, elles se trouveraient à la suite les unes des autres, entrecoupées de chapeaux. Nous allons donc demander à la section latine de bien vouloir ôter son chapeau en entrant ici, mais en continuant à le porter si elle reste sur Vicifons.  

Rassurez-vous, pour le chapeau magique qui apparaît ou disparaît selon le lieu, ce n’est pas très wikisorcier.

  • 1) On fait un copier/coller de toute la commande.
  • 2) Ensuite, on modifie header=1 en header_type=empty dans ce 2e <pages index>.
  • 3) Enfin, on encadre le 1er par des balises <noinclude>, et le 2e par des balises <includeonly>.

On obtient ce résultat :

  Double chapeau pour la section II/1 sur Wikisource
  Double chapeau pour la section II/1 sur Vicifons
<noinclude><pages index="Pline l'ancien - Histoire naturelle, Littré, T1 - 1848.djvu" from=123 to=123 fromsection=1 tosection=1 header=1 prev="[[../|Livre II]] — [[../Titre|Titre]]" current="'''[[../|Livre II]] — § 1'''" next="[[../|Livre II]] — [[../2|§ 2]]" /></noinclude>
<includeonly><pages index="Pline l'ancien - Histoire naturelle, Littré, T1 - 1848.djvu" from=123 to=123 fromsection=1 tosection=1 header_type=empty prev="[[../|Livre II]] — [[../Titre|Titre]]" current="'''[[../|Livre II]] — § 1'''" next="[[../|Livre II]] — [[../2|§ 2]]" /></includeonly>
<noinclude><pages index="Pline l'ancien - Histoire naturelle, Littré, T1 - 1848.djvu" from=123 to=123 fromsection=1 tosection=1 header=1 prev="[[../|Liber II]] — [[../Titre|Capitulum]]" current="'''[[../|Liber II]] — § 1'''" next="[[../|Liber II]] — [[../2|§ 2]]" /></noinclude>
<includeonly><pages index="Pline l'ancien - Histoire naturelle, Littré, T1 - 1848.djvu" from=123 to=123 fromsection=1 tosection=1 header_type=empty prev="[[../|Liber II]] — [[../Capitulum|Capitulum]]" current="'''[[../|Liber II]] — § 1'''" next="[[../|Liber II]] — [[../2|§ 2]]" /></includeonly>

Remarquez au passage l’utilisation d’adresses relatives (sous la forme [[../x|blabla]], qui allègent le tout et permettent à ces pages de continuer de fonctionner normalement, si jamais une action de renommage était faite sur le livre lui-même (par exemple, dans notre exemple ici, l’ouvrage a été renommé en cours de route en Histoire naturelle (trad. Littré)/ pour anticiper d’autres éditions).

POINT EFFICACITÉ
En admettant que le texte a été corrigé dans les 2 langues, les sections peuvent être créées (jamais l’inverse !). Quand le texte est bien corrigé, bien balisé, que l’on s’est assuré qu’on partait du bon titre pour l’œuvre, on peut entamer la création des sections et de leur header. Je trouve bien de le faire en une seule fois, quand on a bien corrigé, balisé, etc. Car on va pouvoir optimiser cette étape-là. Une fois que ma démarche est expliquée, voilà l’astuce pour les utilisateurs paresseux efficaces : on peut créer des sections à la chaîne, en semi-automatique, sans tout retaper, notamment dans notre cas du double chapeau. Cela n’empêchera pas d’être vigilants, car on a toujours des surprises : une balise de section oubliée, c’est classique.
Voilà mon astuce qui épargnera votre clavier :

1 — On réalise avec soin la première et/ou la deuxième section, à la main, en comprenant bien comment ça marche, et en approuvant suffisamment le résultat pour le juger digne d’être reproduit sur une bonne centaine de sections (le perfectionnisme vous évitera de devoir reprendre une centaine de pages comme j’ai dû le faire au cours de cette expérience…).
2 — On adapte une page de Tableur, de façon à ce que quelques champs seulement doivent être entrés (n° de la section, page de début, page de fin, etc.) pour obtenir le wikicode complet.
3 — Après avoir copié tout ce bloc de cellules, on le colle dans un outil de suppression d’espaces insécables ; ils sont produits lors du copier/coller, et perturberaient la transclusion si on les laissait.

4 — On colle le résultat lors de la création de la section.
Je vous propose ici deux feuilles de tableur en ligne que vous pouvez enregistrer sous différents formats pour pouvoir les modifier chez vous : [pour les sections latines] ; [pour les sections françaises].

  Chapitre 5 — Où l’on fait enfin la connaissance d’Efferella, princesse polyglotte modifier

Nous avons corrigé, sectionné, créé, il s’agit à présent de réunir le fruit de ces actions pour obtenir le fameux Texte bilingue aligné par paragraphes dans l’espace principal. Et c’est là qu’entre en jeu le modèle que j’ai nommé {{FRLA}} (et éventuellement sa variante {{FRLA0}}). Nous allons grâce à ce modèle appeler les sections française et latine deux par deux, gentiment alignées dans les lignes d’un tableau invisible au lecteur.

On commence par inclure le modèle {{TransclusionBilingue}} qui forcera un affichage occupant toute la largeur quelles que soient les options de l’utilisateur.

Puis vient le chapeau contenant un <pages index> bien particulier : en effet, il doit couvrir toute la largeur du tableau, qui comporte deux colonnes. Il apparaît donc dans une ligne fusionnée avec le code colspan=2. On ne souhaite pas qu’il appelle des pages ! Donc, autant le faire pointer vers une page sans texte de l’ouvrage, ici j’ai choisi la magnifique page 6. Comme on souhaite que l’en-tête présente tout de même une information exacte, on demande à ce qu’il indique que nous sommes entre les pages 99 à 107, grâce à ces paramètres : displayed_from=99 displayed_to=107.

Ce chapeau doit enfin présenter une navigation que l’on renseignera avec soin (texte précédent et texte suivant, avec ou sans lien, titre du texte actuel, etc.), pour le confort du lecteur et selon la logique de l’ouvrage.

Voilà pour le <pages index>.

Dernière étape, pour la transclusion des sections 1 à 10 du Livre II de l’Histoire naturelle de Pline l’Ancien, il suffira de suivre attentivement les consignes du modèle {{FRLA}}, et nous obtenons ceci à l’adresse Histoire naturelle/II/Bilingue/II. Notez que je préfère ranger cette transclusion dans un dossier bilingue, lui-même à l’intérieur du chapitre transclus : cela a une incidence sur le fonctionnement du modèle, et je trouve ça logique pour bien catégoriser les articles créés.

À la fin de la page que vous créez, juste après les modèles {{FRLA}} ou {{FRLA0}}, n’oubliez pas de fermer le tableau avec |}, et vous obtenez quelque chose de similaire à ceci :

{{TransclusionBilingue}}
{|
|colspan="2"|<pages index="Pline l'ancien - Histoire naturelle, Littré, T1 - 1848.djvu" from=6 to=6 displayed_from=99 displayed_to=107 header=1 prev="[[Histoire_naturelle/I/Bilingue/I|Livre I (bilingue)]]" current="'''Livre II (bilingue)'''" next="[[Histoire_naturelle/III/Bilingue/III|Livre III (bilingue)]]" />
{{FRLA|II|Titre|Naturalis Historiæ (trad. Littré)}}
{{FRLA|II|1|Naturalis Historiæ (trad. Littré)}}
{{FRLA|II|2|Naturalis Historiæ (trad. Littré)}}
{{FRLA|II|3|Naturalis Historiæ (trad. Littré)}}
{{FRLA|II|4|Naturalis Historiæ (trad. Littré)}}
{{FRLA|II|5|Naturalis Historiæ (trad. Littré)}}
{{FRLA|II|6|Naturalis Historiæ (trad. Littré)}}
{{FRLA|II|7|Naturalis Historiæ (trad. Littré)}}
{{FRLA|II|8|Naturalis Historiæ (trad. Littré)}}
{{FRLA|II|9|Naturalis Historiæ (trad. Littré)}}
{{FRLA|II|10|Naturalis Historiæ (trad. Littré)}}
|}
POINT EFFICACITÉ
À noter que pour créer toute une série de sections bilingues individuelles (et non pas simplement la transclusion bilingue de tout un chapitre ou livre), je propose [cette feuille de Tableur] que vous pouvez enregistrer sous différents formats pour pouvoir la modifier chez vous : une fois qu’on a bien compris les différentes variables à entrer, c’est très efficace ; bien qu’il soit nécessaire, comme toujours, de prévisualiser avant de créer des sections ratées !



Pour les notes de bas de page : afin qu’elles s’affichent correctement en bas de ce chapitre, j’ai simplement ajouté une ligne fusionnant les deux colonnes, et j’y ai intégré la section transcluse de notes en français. Le code avant de refermer le tableau est ainsi le suivant :
|-
| colspan="2" | {{iwtrans|fr|Histoire naturelle (trad. Littré)/II/Notes}}
|}

  Épilogue : quelques pistes de recherche et un bouton facultatif modifier

Merci   de m’avoir lu : nous arrivons à la fin de ce conte cette expérience, et j’espère que cela vous a intéressé, voire que cela vous aura donné des idées pour les textes que vous souhaitez éditer ! D’instinct, je dirais que ce Modèle peut facilement être adapté à d’autres objectifs : transclusion de deux langues autres que français/latin (changez un seul paramètre et c’est opérationnel), comparaison parfois demandée entre différentes traductions ou textes originaux (comme demandé ici, « Besoin n°6 » et en bas, « Comparaison de textes »), etc.

Certains outils peuvent parfois se révéler étonnants dans une toute autre direction que celle de départ, et je compte sur les universitaires qui nous lisent pour en tirer parti  .

Enfin, après l’établissement du modèle {{FRLA}}, je me suis préoccupé de navigation. Comment passer de l’édition française à l’édition bilingue, voire à l’édition latine du texte ? Me mettant à la place de n’importe quel utilisateur poursuivant un intérêt bien à lui (comparaison ? étude ? apprentissage du latin ? allers-retours entre les pages, entre les sections, entre les textes ? etc.), j’ai voulu proposer une navigation pratique et qui puisse s’adapter un peu à l’objectif du lecteur.

D’un côté, je pense que ce genre de solution viendra un jour d’un usage de Wikidata ; sans que nous le sachions toujours, l’outil Wikidata est déjà un facilitateur au sein de Wikisource : il remplit notamment la page d’Auteur, et… dans quelques cas déjà signalés (mais très rares), il offre une passerelle interwiki d’une langue à l’autre. Mais, d’une part cela me semble encore prématuré de baser la navigation seulement sur Wikidata, d’autre part je n’ai pas l’expertise pour expérimenter cela sur les textes (chapitres ou sections) créés ici. En renseignant correctement Wikidata pour chaque texte créé (donc chaque section !), on pourrait naviguer au moins du texte français au texte latin en un clic sur l’outil Langues qui est intégré à l’interface ( ). Mais autre obstacle : il n’existe pas de domaine « multilangues », donc on échouerait à basculer sur la transclusion bilingue, que je vois mal comment renseigner dans Wikidata.

J’ignore absolument si cela conviendra aux habitué(e)s, c’est peut-être trop visible en haut à droite du chapeau, ou cela risque d’être pris comme une « interface bis » (tout cela est à débattre si besoin), mais toujours est-il que ça fonctionne assez bien : voilà un bouton de navigation bilingue, à insérer ici ou sur Vicifons pour passer de l’une à l’autre langue. Cela respecte l’usage d’une langue par domaine, en tout cas.

Ce triple bouton, sous la forme du Modèle {{NavigationBilingue}}, le voici dans ses trois apparences.

Bien sûr il faut lui donner quelques paramètres expliqués dans les consignes : il n’est pas 100% automatique mais il simplifie la tâche ! Il faut surtout, si jamais l’on se trouve dans un sous-dossier, indiquer ce dernier (par exemple : adresseBI=Bilingue/2 si l’on est sur une section bilingue dans un sous-dossier par rapport à la même section en français, ou encore adresseFR=II/2 si l’on est dans une section française placée sous un chapitre de l’œuvre…). Quant à une page placée immédiatement après l’œuvre (typiquement, la transclusion d’un chapitre complet), c’est un cas particulier où il faudra utiliser la variante {{NavigationBilingue0}}, comme sur cette page.

C’est assez subtil mais on s’y fait ; il suffit de tester et voir le résultat en Prévisualisation. Cette particularité est due à l’utilisation d’une adresse relative, pour éviter du code en plus… On n’a rien sans rien !

1) lorsqu’on se trouve sur le Texte dans sa version française :
Langue sélectionnée : FrançaisBilingueLatin
2) lorsqu’on se trouve sur le Texte dans sa version bilingue :
Langue sélectionnée : FrançaisBilingueLatin
3) lorsqu’on se trouve sur le Texte dans sa version latine (donc sur Vicifons) :
Le modèle y est traduit (NavigatioBilinguis).
Langue sélectionnée : FrançaisBilingueLatin