IDREF : une application qui pourrait être encore plus puissante

Depuis quelques semaines, je tripote dans tous les sens Idref, l’application de l’ABES permettant de consulter les autorités du Sudoc (et des autres bases de l’ABES : Calames et STAR).

L’application est en ligne depuis octobre 2010, mais l’ABES a depuis quelques mois ajouté plusieurs fonctionnalités. En plus d’une précieuse documentation technique, l’ABES a mis en ligne une page de démonstration illustrant la possibilité d’établir des liens et d’échanger des données entre Idref et des applications externes.

Je voudrais faire une petite démonstration, et surtout évoquer une limitation d’IdRef que j’ai découvert à cette occasion.

Votre appli >IdRef > votre appli

Le fonctionnement du dispositif est expliqué dans ce billet du blog technique de l’ABES, qui renvoie à d’autres liens.

Précisons que la page de démonstration utilise une « base de test », donc les résultats ne sont pas forcément ceux qu’on aurait en interrogeant directement IdRef, mais cela ne change absolument rien au principe (pour interroger la base de production, si j’ai bien compris, il suffirait de remplacer dans le code de la page var remoteSrv="http://193.52.69.127:8080/autorites/remoteAutorites.html" par var remoteSrv="http://www.idref.fr/autorites/remoteAutorites.html")

Petite démonstration en images :

Remplissons les champs « nom » et « prénom » avec ceux de la personne recherchée.  Au hasard, un certain Yann Nicolas…

Page de test d'IDREF : recherche de Nicolas, Yann

Page de test d'IDREF : recherche de Nicolas, Yann

Après validation du formulaire, une nouvelle page s’ouvre, dans laquelle IdRef renvoie les trois notices correspondant à notre recherche :

Les 3 Yann Nicolas dans IDREF

Les 3 Yann Nicolas dans IDREF

Cliquons sur le Yann qui nous intéresse (le spécialiste des Maoris…) :

IdRef : notice de Yann Nicolas (1973)

IdRef : notice de Yann Nicolas (1973)

Et maintenant, laissons nous-tenter par cet alléchant bouton « lier la notice » en bas de la page. Son activation va automatiquement envoyer dans notre page « votre appli > IdRef > votre appli » les informations tirées de la notice en cours d’affichage.

Page de test d'IDREF : après récupération des données

Page de test d'IDREF : après récupération des données

Plutôt cool non?

Mais un détail me chiffonne néanmoins…

Une gestion des noms qui manque de finesse

Videz les formulaires, et refaites la même requête en inversant le nom et le prénom :

De Yann Nicolas à Nicolas Yann

De Yann Nicolas à Nicolas Yann

Surprise! Le formulaire renverra les même trois notices dans IdRef.

Autrement dit, tout se passe comme si nom et prénom étaient interchangeables…

J’ai d’abord cru à une petite erreur dans le code, mais après un bon moment passé à essayer de décortiquer tout cela (merci Firebug!), je pense qu’il s’agit d’une limitation plus fondamentale d’IdRef (et peut-être de Solr, sur lequel l’application est construite).

Voici les différentes étapes de la requête :

  1. Le formulaire concatène tous les paramètres de la recherche dans une chaîne et les envoie à une page externe.  Voici à quoi ressemble cette chaîne : « Index1=Nom%20de%20personne&Index1Value=yann%20nicolas&Index2=&Index2Value=&Index3=Langues&Index3Value=&Filtre1=Type%20de%20notice/Personne&z200_a=nicolas&z200_b=yann&z101_a=&z103_a=20100101&z810_a=une%20autre&AutoClick=true ». On y trouve à la fois le nom (index z200_a), le prénom (index z200_b) et une chaine nom+prénom.
  2. Cette chaîne est traitée par une page http://www.idref.fr/autorites/remoteAutorites.html qui ne s’affiche pas mais renvoie la requête vers une 3e page.
  3. La 3e page http://www.idref.fr/autorites/autorites.html est celle où les informations seront affichées, en fonction des réponses du serveur.
  4. Cette page interroge le serveur en envoyant la requête suivante : « http://www.idref.fr/Sru/Solr?q=persname_t:%20(nicolas%20AND%20yann)%20AND%20recordtype_z:a&sort=score%20desc&version=2.2&start=0&rows=30&indent=on&fl=id,ppn_z,recordtype_z,affcourt_z ». Dans les paramètres, on ne retrouve plus que « (nicolas AND yann) », sans distinction du nom et du prénom.

CQFD.

Dans la documentation technique, rien n’indique la possibilité d’interroger spécifiquement le nom, le prénom, la date de naissance, la date de mort, ou tout autre élément de ce genre. A tout hasard, j’ai essayer de bricoler l’url avec des requêtes du genre « http://www.idref.fr/Sru/Solr?z200_a=nicolas », mais tout ce que j’obtiens ce sont des messages d’erreur.

Est-ce si grave? Sans doute pas, mais c’est un peu agaçant tout de même, car les notices comportent des informations potentiellement intéressantes, qu’il est impossible d’interroger. Alors, certes, dans le Sudoc et dans WinIBW (notre outil de catalogage), il n’est pas non plus possible de faire ce genre de recherches, mais il est dommage qu’un nouvel outil comme IdRef ne le permette pas. Je ne sais pas si c’est une limitation due au fonctionnement même de l’outil, ou si l’ABES a choisi volontairement de restreindre le nombre d’index.

Peut-être quelqu’un de bien informé pourrait-il m’en dire plus?

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  

  

  

*