Calames est un catalogue de catalogues. Une collection de collections.
Il ne décrit pas des documents, mais des ensembles de documents, des collections, des fonds, des séries … C’est là une différence fondamentale entre Calames et le Sudoc, par exemple, entre un catalogue de manuscrits et un catalogue bibliographique. Si Calames ne décrivait que des manuscrits isolés, il n’existerait pas : on aurait choisi le Sudoc pour y cataloguer ces manuscrits, au côté des monographies et des périodiques.
Je ne m’étendrai pas sur la nature spécifique des manuscrits et des archives ; ce n’est pas mon métier. J’évoquerai plutôt les conséquences de cette spécificité sur le format des données et sur la conception de Calames, qu’il s’agisse de la recherche ou de l’affichage.
Les données. EAD est la structure XML qui permet d’encoder ces hiérarchies de données, de décrire ces emboîtements de fonds, de sous-fonds, de manuscrits, de folios… On parlera de structure arborescente. Chaque bibliothèque est un arbre. Calames est une forêt.
Logique d’héritage. Dans une arborescence EAD, certaines informations se propagent d’un niveau à l’autre – plus précisément, du niveau supérieur vers ses niveaux inférieurs – en d’autres termes, du parent vers ses enfants. Ce n’est pas vrai pour toutes les informations. Ainsi, la dimension ou le titre ne se propagent pas. En effet, un manuscrit ne peut hériter du titre ou de la dimension du fonds auquel il appartient. Par contre, le sujet ou l’auteur sont des notions qui peuvent s’hériter. C’est le cas dans Calames, ainsi que la date ou la langue ou d’autres notions encore.
La recherche. L’héritage a un impact très fort sur le moteur de recherche de Calames. En appliquant trop simplement la notion d’héritage, on s’expose au bruit. En effet, si le fonds des manuscrits de Christine de Suède a pour auteur “Christine (reine de Suède ; 1626-1689)“, tous ses composants ont ce même auteur. Si donc je cherche [Personne physique = "Christine (reine de Suède ; 1626-1689)" et rôle = Auteur], tous ces composants devraient figurer parmi les résultats. Pour éviter ce bruit, le système de Calames effectue des traitements intermédiaires qui élaguent, écrèment la liste brute des résultats. Le principe est le suivant : si un composant et son parent font tous deux partie de la liste des résultats, on n’affiche que le parent. Dans le cas de Christine, par transitivité, cela élimine tous les composants sauf la notice du fonds lui-même, ce qui est l’effet recherché. Entre nous, on appelle ce traitement l’infanticide. Héritage et infanticide sont complémentaires. L’héritage sans infanticide génère de la redondance, du bruit.
A noter que des traitements comme l’héritage et l’infanticide sont coûteux d’un point de vue système. L’héritage pèse sur le processus d’indexation. L’infanticide pèse sur le processus de recherche. Disposer d’un système ayant de bonnes perfomances brutes donne de la marge pour effectuer ces traitements supplémentaires. La performance n’est pas qu’une question de confort ; c’est aussi une condition pour ajouter des fonctionnalités gourmandes.
La navigation. Dans la plupart des cas, une “notice” de Calames ne se suffit pas à elle-même. L’affichage d’une notice doit rendre visible et accessible le contexte de cette notice. Pour le dire dans le langage familier/familial des structures arborescentes, ce contexte, c’est à la fois :
- les parents et ancêtres : les ensembles auxquels appartient le manuscrit décrit pas notre notice ;
- les frères, aînés et cadets : les manuscrits qui ont le même parent ;
- les enfants : les éléments qui “composent” notre manuscrits (par exemple, les folios).
Rendre son contexte à une notice peut prendre trois formes :
- montrer ce contexte (= lister les enfants, les parents) ;
- rendre ce contexte accessible (= pouvoir cliquer sur un parent ou un enfant pour l’afficher à la place de la notice de départ) ;
- pouvoir afficher la notice et son contexte dans le même écran (= dans Calames, développer la notice des enfants sans quitter la notice en cours avec
). On peut voir ainsi différents niveaux à la fois. Cette possibilité permet à l’utilisateur de composer lui-même sa page, de définir librement la vue qu’il souhaite avoir sur les données d’une bibliothèque et de l’imprimer en l’état.
Enfin, ce contexte peut être proche ou lointain :
- Le contexte proche, ce sont les parents, le frère qui suit ou qui précède, les quelques enfants … C’est ce que l’affichage d’une notice dans Calames rend à la fois lisible et accessible.
- Le contexte global, c’est l’ensemble de l’arbre, la famille éloignée, les oncles, les centaines d’enfants quand une notice est prolifique…. Pour cela, Calames propose un lien “Sommaire” (sur fond vert, en bas à droite), qui donne accès à une vue arborescente de l’ensemble des manuscrits d’une bibliothèque. Cette vue plus globale permet de faire défiler toutes les notices d’une bibliothèque, soit une à une, soit de cinq en cinq. On peut aussi prendre un raccourci vers le premier ou le dernier élément d’une série de notices de même niveau. Il y a sans doute encore de la marge pour améliorer la gestion du “contexte global”. La question demeure : comment visualiser et naviguer dans un arbre pouvant contenir des milliers de branches, ayant elles-mêmes parfois des centaines de rameaux, ramilles… ? La méthode des treemap est sans doute une bonne piste. Nous avons fait quelques essais. Nous en reparlerons.
[...] accède à une notice de Calames composée d’un nombre important d’enfants (voir l’article sur l’arboriculture raisonnée), l’affichage doit rester rapide. Seules les informations nécessaires pour comprendre [...]
Ping par Calames = XHTML + CSS + Javascript + Web Services « Calames - le blog — janvier 9, 2008 @ 11:10 |