Skip to content

Donner la becquée aux moteurs de recherches

12/07/2011

[traduction de Spoonfeeding Library Data to Search Engines de Eric Hellman, 12/07/2011]

Quand vous parlez à un moteur de recherche, vous devez comprendre que vous avez un bébé en face de vous. Vous ne pouvez pas vous attendre à ce qu’il comprenne des choses compliquées. Vous n’essayeriez jamais d’apprendre à parler à un bébé en lui lisant du Nietzsche, et vous ne devez pas vous attendre à ce que le bébé Google apprennent les métadonnées bibliographiques en avalant du Marc (ou du RDA, ou du METS, ou du MODS, ou même du ONIX).

Quand un bébé vous dit « ga-ga », vous ne critiquez pas son utilisation abusive du subjonctif. Vous lui répondez « ga-ga ». Quand Google vous dit qu’il veut entendre des microdatas en « schema.org« , n’essayez pas de lui parler du premier indicateur du sous-champ 856$u. Vous lui donnez du schema.org, même si ça vous semble puéril.
[soit dit en passant, parler d’indicateur pour un sous-champ est assez curieux, même pour un non-catalogueur comme moi. NdT]

Il est important d’aider un bébé à prendre confiance en soi. Quand le bébé Google manifeste de l’intérêt pour le nombre de pages d’un ouvrages, vous ne devriez pas précisez qu’il y a IX pages en chiffres romains suivis de 153 pages numérotés en chiffres arabes. Quand le bébé Google vous demande si un livre est « pour un public familial », ne lui répondez pas en valeurs codées autorisées par le champ 521 : dites -lui juste si c’est du porno ou non.

Si vous n’avez pas encore regardé le modèle de schema.org pour les livres, c’est le moment. Ne vous attendez pas à trouver un superbe modèle de métadonnées pour les ouvrages, mais plutôt comment pense une machine qui n’y connaît rien en formats bibliographiques, et qui est utilisé plusieurs milliards de fois chaque jour. Schema.org a été conçu par les développeurs de Google, Yahoo et Bing. Il faut se souvenir que leur objectif dans cette conception n’était pas de bien décrire les choses, mais de rendre leurs résultats de recherche meilleurs, et plus faciles à utiliser.

Le fait est que ce n’est pas difficile d’inclure ce genre de données dans une page qui vient d’un catalogue de bibliothèque.

Un opac qui publie des données HTML non structurées  ressemble à ceci :

<div>
<h1>Avatar (Mysteries of Septagram, #2)</h1>
 <span>Author: Paul Bryers (born 1945)</span>
 <span>Science fiction</span>
 <img src="http://coverart.oclc.org/ImageWebSvc/oclc/+-+703315758_140.jpg">
</div>

La première étape est de marquer un élément comme étant la racine, en ajoutant l’attribut itemscope.

<div itemscope>
<h1>Avatar</h1>
 <span>Author: Paul Bryers (born 1945)</span>
 <span>Science fiction</span>
 <img src="http://coverart.oclc.org/ImageWebSvc/oclc/+-+703315758_140.jpg">
</div>

Un moteur de recherche sensible aux microdonnées commencera à construire un modèle ressemblant à ceci :
itemscope - boîte rouge

La seconde étape consiste, en utilisant des microdonnées et schema.org, à préciser un type à cet objet, en utilisant l’attribut itemtype :

<div itemscope itemtype="http://schema.org/Book">
<h1>Avatar (Mysteries of Septagram, #2)</h1>
 <span>Author: Paul Bryers (born 1945)</span>
 <span>Science fiction</span>
 <img src="http://coverart.oclc.org/ImageWebSvc/oclc/+-+703315758_140.jpg">
</div>

Ce qui permet d’attribuer à l’objet le type « Livre » (ou plus exactement le type http://schema.org/Book)

Objet - type Livre (carré bleu)

Ensuite, on donne des propriétés à cet objet Livre :

<div itemscope itemtype="http://schema.org/Book">
<h1 itemprop="name">Avatar (Mysteries of Septagram, #2)</h1>
 <span>Author: 
<span itemprop="author">Paul Bryers (born 1945)</span></span>
 <span itemprop="genre">Science fiction</span>
 <img src="http://coverart.oclc.org/ImageWebSvc/oclc/+-+703315758_140.jpg">
</div>

Notez que la notice bibliographique de la bibliothèque s’efforce de rendre compte la complexité du titre : 245 10 $aAvatar /$cPaul Bryers.$. Le moteur de recherche s’en moque.
Le livre est un élément de la collection 490 1 $aThe mysteries of the Septagram$, et le moteur de recherche s’en moque également. Peut-être l’apprendra-t-il un jour.

Le modèle construit par le moteur de recherche ressemble à ceci :

Structure des informations - schéma

[Les informations indiquées jusque-là sont des chaînes de caractères]

On peut aussi donner des propriétés qui sont des liens [comme la page de couverture : URL de l’image]

<div itemscope itemtype="http://schema.org/Book">
<h1 itemprop="name">Avatar (Mysteries of Septagram, #2)</h1>
 <span>Author: 
<span itemprop="author">Paul Bryers (born 1945)</span></span>
 <span itemprop="genre">Science fiction</span>
 <img src="http://coverart.oclc.org/ImageWebSvc/oclc/+-+703315758_140.jpg" 
itemprop="image">
</div>

Et le modèle grandit :

Et finalement, nous voulons préciser que l’auteur, Paul Bryers, est lui-même un objet. En fait on est obligé de le faire parce que la valeur d’une propriété Auteur doit être une Personne ou une Organisation dans schema.org. Donc il faut ajouter un autre itemscope et lui donner quelques propriétés :

<div itemscope itemtype="http://schema.org/Book">
<h1 itemprop="name">Avatar (Mysteries of Septagram, #2)</h1>
 <div itemprop="author" itemscope itemtype="http://schema.org.Person">
Author:  <span itemprop="name">Paul Bryers</span> 
(born <span itemprop="birthDate">1945</span>)
 </div>
 <span itemprop="genre">Science fiction</span>
 <img src="http://coverart.oclc.org/ImageWebSvc/oclc/+-+703315758_140.jpg" 
itemprop="image">
</div>

Le bébé a donc cette vision dans sa petite tête tyrannique :

Ce qui peut aisément devenir ceci dans une liste de résultats :

[Et je je ne traduits pas la fin du billet, qui liste les différentes propriétés possibles pour les livres dans schema.org]

5 commentaires
  1. 12/07/2011 20:21

    J’ai gardé la version anglaise ouverte dans un onglet toute la journée en me disant qu’il fallait que je la lise, demain j’aurai le même en français, parfait, merci Étienne !

  2. 13/07/2011 08:42

    Est-ce à dire qu’il suffit de baliser nos fichiers de résultats correctement pour que les moteurs indexent nos catalogues ?

  3. 13/07/2011 08:55

    @Raphaële : presque, mais en fait non.
    Il faut encore que les moteurs arrivent jusqu’à la notice. Pour cela, le plus sûr est de leur fournir un sitemap (ou une autre manière de leur permettre d’arriver jusqu’aux notices), donc un fichier XML qui donne la liste des URL profondes de ton catalogue.
    Ensuite, tu stockes ce fichier sur un serveur, et tu indiques l’adresse du fichier aux moteurs de recherche.
    Sauf si tu constates par ailleurs que Google & consorts ont déjà réussi à entrer dans ton catalogue en utilisant des mots clés dans le formulaire de recherche pour obtenir des listes de résultats, et naviguer ensuite par rebonds.
    Ca arrive aussi.

Trackbacks

  1. Mettre du schema.org dans nos catalogues : pas si simple « Bibliothèques [reloaded]
  2. Donner la becquée aux moteurs de recherches | Bibliodata | Scoop.it

Les commentaires sont fermés.

%d blogueurs aiment cette page :