Table des matières

L'« albion »

Le cœur de ma thèse consiste à étudier les pratiques qui ont entouré, au cours du xive siècle, le Traité sur l'Albion, lequel décrit un instrument de calcul appelé « albion ».

L'albion, en tant qu'instrument, se compose de plusieurs parties :

La matrice
La matrice de l'albion est une plaque de laiton circulaire, qui comporte deux faces, sur lesquelles sont rivés les différents éléments.
Le limbe $ehi$
La bordure de la première face de la matrice est formée d'un anneau $ehi$, dont l'intérieur est délimité par le carré inscrit dans le disque que forme la matrice.
Le tympan $pgq$
L'espace disponible à l'intérieur de cette bordure sur la première face peut être rempli par un premier tympan amovible $pgq$, qui comporte lui-même un recto et un verso, et qui peut être mis en rotation par rapport au centre de la matrice. Le recto de ce tympan contient les graduations nécessaires au calcul de la position des planètes, tandis que le verso est plus spécifiquement dédié aux calculs d'éclipses.
Le limbe $lmn$
La bordure du revers de la matrice est marquée par un deuxième anneau, $lmn$, dont la largeur correspond au tiers de la largeur du premier limbe $ehi$.
Le tympan $ros$
L'espace disponible à l'intérieur de cette bordure peut également être rempli par un tympan amovible $ros$. Le recto de ce tympan contient une spirale qui permet de calculer des mouvements moyens, et le verso est utilisé pour des instruments d'astronomie sphérique (astrolabe, saphéa).
Accessoires
Enfin, différents éléments s'ajoutent pour permettre de maintenir l'ensemble et de le manipuler plus facilement (pinnules, anneaux, cordes, etc.).

Par ailleurs (comme c'est souvent le cas dans les astrolabes), l'espace central qui est disponible, sur chaque face de la matrice, lorsque les tympans sont enlevés, peut également être utilisé pour graver d'autres éléments, et augmenter ainsi les capacités de calcul de l'instrument.

Construire l'albion

Étudier le Traité sur l'Albion sans avoir accès à un albion n'est pas chose aisée. En effet, les pratiques associées à ce texte impliquent évidemment la manipulation de cet instrument. Heureusement, on peut trouver, dans la deuxième partie du texte, toutes les instructions nécessaires pour construire un exemplaire de cet instrument.

Changer la précision de l'instrument : 10° 15° 30°

Zodiaque 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 0 1 2 3 4 5 6 7 8 9 10 11 Saturne 1 2 3 4 5 6 7 8 9 10 11 Jupiter 1 2 3 4 5 6 7 8 9 10 11 Mars 1 2 3 4 5 6 7 8 9 10 11 Soleil 1 2 3 4 5 6 7 8 9 10 11 Mercure 1 2 3 4 5 6 7 8 9 10 11 Lune 1 2 3 4 5 6 7 8 9 10 11 Vraie lune 1 2 3 4 5 6 7 8 9 10 11 Zodiaque 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 Saturne 1 2 3 4 5 6 7 8 9 10 11 12 Jupiter 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Mars 1 2 3 4 5 6 Vénus 1 2 3 4 5 6 7 Dragon 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Élongation 1 2 3 4 5 6 7 8 9 10 11 Épacte 1 2 3 4 5 6 7 8 9 10 11 12
La matrice
Le limbe $ehi$
Zodiaque
Année solaire
Altitude
Arc des heures
Orbe de Saturne
Orbe de Jupiter
Orbe de Mars
Orbe du Soleil
Orbe de Mercure
Orbe de la Lune
Orbe de la vraie Lune
Équateur de Vénus
Équateur de Mars
Équateur de Mercure
Équateur de Jupiter
Équateur de la Lune
Équateur de Saturne
Le tympan $pgq$
Équation du temps
Moyen mouvement de Saturne
Moyen mouvement de Jupiter
Moyen mouvement de Mars
Moyen mouvement de Vénus
Nœuds lunaires
Élongation
Lunaisons
Syzygies
Animer

Édition

Limites de la reconstruction présentée ici

Le petit modèle présenté ici repose essentiellement sur une reconstruction « moderne » du texte. Or, dans les manuscrits, le texte est accompagné de diagrammes, lesquels ne correspondent souvent pas à la reconstruction proposée ici. Le texte lui-même présente également des variations propres à chaque copie, et s'agrémente par ailleurs d'un certain nombre de notes marginales, ratures, etc. Ces différentes variations nous permettent de savoir que tous les albions qui ont été construits n'étaient pas identiques. Documenter ces variations est essentiel pour comprendre quelles étaient les pratiques des acteurs et actrices.

Une approche historiquement plus robuste partirait des sources documentaires, et permettrait d'accoler un apparat critique à côté des reconstructions proposées afin de mieux comprendre quelle était la pratique des acteurs et actrices du xive siècle dans le travail autour de ce texte.

C'est la raison pour laquelle j'essaye de travailler à partir du format TEI, qui permet déjà d'enregistrer avec un grand niveau de finesse les informations relatives au texte, à ses variations entre les manuscrits, à sa disposition diplomatique, etc.

Principes d'édition

Le format XML est, par définition, un format « extensible ». Concrètement, cela signifie qu'il peut être utilisé pour encoder un grand nombre d'informations différentes, qui peuvent être exprimées dans des langages différents (TEI, HTML, SVG, MathML, XSLT, etc.), le tout dans un seul document.

Ce caractère « extensible » du langage XML permet de produire une édition du Traité sur l'Albion qui encode des données sur le texte de nature très différentes.

Niveau diplomatique
Un premier niveau d'information qui peut être encodé correspond à une description fine de chaque manuscrits : comment le texte est-il copié, quelles abbréviations sont utilisées, où se situent les retours à la ligne, quelles sont les dimensions de la page, etc.
Niveau « critique »
Une autre manière d'approcher l'édition du texte consiste à faire abstraction de toutes les informations propres à la graphie de chaque manuscrit, et de se concentrer sur la comparaison d'une version « normalisée » du texte (une fois les abbréviations développées, etc.). Il s'agit en particulier de produire un apparat critique qui document les variations « significatives » qui émergent de la comparison des différents manuscrits. L'attribut @type de l'élément <tei:app> permet par ailleurs de préciser en quoi une variation doit être considérée comme « significative ».
Niveau sémantique
Enfin, l'édition peut également intégrer des informations plus « analytiques » : quelles sont les structures syntaxiques qui sont employées dans le texte, comment les différents éléments lexicaux sont ils formés et intégrés dans ces structures, à quels objets mathématiques font-ils référence, etc.

Les diagrammes comme traces d'un programme

All the transformations by one document

Pour les diagrammes en particulier, mon approche consiste à considérer que chaque diagramme tracé dans un manuscrit est le résultat d'une exécution particulière d'une procédure de construction, dont on peut raisonnablement supposer qu'elle ait un lien plus-ou-moins direct avec le texte qu'il accompagne. Dans mon édition du texte en TEI, je cherche donc à identifier quels sont les objets auxquels le texte fait référence, comment ils sont définis ou caractérisés. De la même manière, j'essaye d'identifier si, dans les diagrammes, ces mêmes objets sont représentés, et comment ils le sont. Le problème de l'édition des diagrammes revient alors à retracer la procédure de construction de chacun des objets représentés dans le diagramme, puis à afficher le résultat dans un format adapté. L'objectif de BOA est de résoudre ce problème en utilisant le langage XSLT 1.0, qui permet la manipulation de documents XML (et donc, en particulier, TEI)

Pour ce faire, je décompose l'édition du diagramme en plusieurs étapes :

Charger le programme en mémoire
La première étape pour éditer un diagramme consiste à identifier, à partir du document TEI, chacun des éléments qui devront composer le diagramme final. Chaque élément correspond à une instruction principale dans le programme de construction de ce diagramme, qui prennent la forme de nœuds XML.
Exemple :
<tei:graphic uri="#II-1-circle-abcd">
  <one:arg param="radius" value="7.2" unit="cm" />
</tei:graphic>
<tei:graphic uri="#II-1-circle-pgq" definition="center-radius-circle">
  <one:arg param="center" value="#II-1-point-g" />
  <one:arg param="radius" value="???" unit="cm" />
</tei:graphic>
<tei:graphic uri="#II-1-ring-ehi">
  <bt:df feature="labels-values" value="h i" />
  <bt:df feature="labels-positions" value="edges-outside" />
  <bt:df feature="labels-positions-origin" value="315" value="deg" />
</tei:graphic>
<tei:graphic uri="#II-2-segment-agc">
  <bt:df feature="labels-positions" value="outside" />
</tei:graphic>
<tei:graphic uri="#II-2-margins-ehi" />

Décoder l'instruction du programme
L'exécution du programme commence par se positionner sur la première instruction. La première étape pour traiter cette instruction consiste à analyser les informations disponibles au niveau de l'instruction pour préparer l'exécution de l'opération, et à modifier l'état du processeur pour tenir compte de ces informations.
Résoudre les adresses et exécuter l'opération
En général, les informations nécessaires pour exécuter l'instruction ne sont pas entièrement contenues dans l'instruction elle-même. Certaines de ces informations peuvent avoir déjà été calculées lors de l'exécution d'instructions précédentes, auquel cas le processeur pourra rechercher l'emplacement auquel elles ont été enregistrées. D'autres doivent être recherchées ailleurs dans le texte. Le processeur doit donc localiser l'emplacement de ces informations, et essayer de les décoder. Finalement, le processeur vérifie que l'ensemble des paramètres recquis pour l'exécution de l'instruction sont bien disponibles (par exemple, tracer un segment entre deux points nécessite que le point de départ et le point d'arrivée soient bien indiqués), et il charge le sous-programme nécessaire pour cette instruction.
Lire les opérandes
Une fois que les différents paramètres de l'opération ont été identifiés, le processeur charge les objets correspondants à chacun de ces paramètres. Si nécessaire, le processeur exécuter les instructions nécessaires pour construire ces objets, puis les transmet au sous-programme chargé d'exécuter l'instruction principale.
Écrire le résultat
Le résultat du sous-programme est ensuite récupéré par le processeur, qui se charge de le stocker dans un emplacement adapté. Ce n'est qu'à la fin de l'ensemble de la procédure que les différents objets sont finalement traduits dans un format consommable, comme SVG, TikZ ou STL.
Répéter
Une fois qu'une instruction a été exécutée, et que ses résultats ont été stockés, le processeur prépare l'exécution de l'instruction suivante, jusqu'à ce que l'ensemble des instructions principales du programme aient été exécutées.