Métadonnées et Dublin Core

  • Profil : Expert
  • Technologie : (X)HTML
  • Thème : Structure
  • Auteur : Christophe Jacquet
  • Mise à jour : 21/05/2008

En bref

Les métadonnées du Dublin Core permettent de donner des informations à propos de pages Web. Dans cet article, nous voyons la forme de ces descriptions, ainsi que la façon de les intégrer dans des pages Web.


Introduction

Depuis toujours, les bibliothécaires ont rédigé des notices, ou des index, pour décrire les documents disponibles. Pour reprendre le vocabulaire utilisé en informatique, ces notices constituent des données, qui servent à décrire d'autres données (le contenu des livres) : on parle alors de métadonnées.

Ces données à propos de données s'appliquent particulièrement bien aux pages Web. On peut ainsi vouloir coder de façon claire certains renseignements essentiels des pages : le titre, l'auteur, la date, les mots-clefs, etc.

Avec ces métadonnées, le travail des moteurs d'indexation et de recherche est grandement facilité car ils peuvent extraire automatiquement de nombreuses informations sur le document, ainsi que reconstituer les relations qui existent entre documents (par exemple, on peut savoir qu'une page est la cinquième d'un ensemble cohérent de quinze pages chaînées les unes aux autres).

Cependant, il est nécessaire que tous les acteurs (publicateurs, éditeurs de logiciels clients, etc.) partagent une définition et une nomenclature communes des métadonnées. Par exemple, aucun échange ne serait possible si la liste des mots-clefs était parfois nommée « keywords », d'autres fois « key-words », ou parfois « mots-clefs » !

Partant de ce constat, un certain nombre d'équipes impliquées dans la sémantique sur le Web organisèrent un atelier à Dublin (Ohio) en 1995. Ils définirent une liste précise de quelques métadonnées liées aux pages Web. Ce jeu de métadonnées fut surnommé « Dublin Core metadata ».

Principes

Le Dublin Core définit un certain nombre de champs de métadonnées utilisables pour les pages Web. Mais il ne décrit en aucun cas la façon de représenter ces métadonnées en pratique. Ainsi, il existe plusieurs représentations utilisées, et d'autres sont envisageables. Dans la suite, nous utiliserons la présentation qui intéresse plus particulièrement les concepteurs de sites Web : l'inclusion des métadonnées dans les pages HTML.

Les champs de métadonnées du Dublin Core sont appelés éléments ; la signification de certains d'entre eux peut être précisée à l'aide de raffinements. Un raffinement restreint la signification d'un élément, mais sans la changer fondamentalement. L'utilisation des raffinements est facultative.

Dans une description utilisant le Dublin Core, des valeurs sont donc associées aux champs de métadonnées. Ces valeurs peuvent être données dans un format libre (chaînes de caractères interprétables par des humains, mais sans signification particulières pour les machines), mais elles peuvent aussi se conformer à des formats de données bien définis. Le Dublin Core référence un certain nombre de formats de données officiels.

Champs de métadonnées

Nous allons tout d'abord voir la liste exhaustive des champs de métadonnées du Dublin Core (éléments et raffinements), puis nous apprendrons comment les utiliser en pratique avec HTML. Dans cette liste, nous décrivons chaque élément, et nous donnons par élément la liste des raffinements possibles.

Liste des éléments du Dublin Core
Élément Description et liste des raffinements
title Titre du document : il s'agit a priori du titre principal du document. Pour indiquer un autre type, on peut utiliser le raffinement suivant :
  • alternative : alternative pour le titre, par exemple une abréviation ou une traduction.
creator Créateur du document : nom de la personne, de l'organisation ou du service à l'origine de la rédaction du document.
subject Sujet et mots-clefs : mots-clefs, phrases de résumé, ou codes de classement. Il est préférable d'utiliser des mots-clefs choisis dans le cadre d'une politique de classement. Par exemple, il est recommandé d'utiliser les codages de la bibliothèque du congrès (LCSH et LCC), le vocabulaire médical (MESH), ou les notations décimales des bibliothécaires (DDC et UDC).
description Description du document : résumé, table des matières, ou texte libre. Le type de description peut être précisé à l'aide des raffinements suivants :
  • tableOfContents : table des matières ;
  • abstract : résumé.
publisher Publicateur du document : nom de la personne, de l'organisation ou du service à l'origine de la publication du document.
contributor Contributeur au document : nom d'une personne, d'une organisation ou d'un service qui contribue ou a contribué à l'élaboration du document.
date Date d'un évènement dans le cycle de vie du document : il peut s'agir par exemple de la date de création ou de la date de mise à disposition. Il est recommandé de spécifier la date au format W3CDTF (AAAA-MM-JJ). Pour préciser de quelle date il s'agit, on utilise les raffinements suivants :
  • created : date de création ;
  • valid : date ou période de validité ;
  • available : date ou période de mise à disposition ;
  • issued : date de publication ;
  • modified : date de modification ;
  • dateAccepted : date d'acceptation (par exemple, acceptation d'une thèse par une université, d'un article par un journal, etc.) ;
  • dateCopyrighted : date du copyright ;
  • dateSubmitted : date où le document a été soumis (par exemple, soumis à un comité de lecture s'il s'agit d'un article).
type Nature ou genre du contenu : grandes catégories de document. Il est recommandé d'utiliser des termes clairement définis au sein de son organisation. Par exemple, le Dublin Core définit quelques types dans le vocabulaire DCMITypes.
format Format du document : format physique ou électronique du document. Par exemple, type de média ou dimensions (taille, durée). On peut spécifier le matériel et le logiciel nécessaires pour accéder au document. Il est recommandé d'utiliser des termes clairement définis, par exemple les types MIME ou IMT . Les raffinements suivants sont disponibles :
  • extent : taille ou durée ;
  • medium : support physique.
identifier Identificateur non ambigu : il est recommandé d'utiliser un système de référencement précis, par exemple les URI ou les numéros ISBN.
source Ressource dont dérive le document : le document peut découler en totalité ou en partie de la ressource en question. Il est recommandé d'utiliser une dénomination formelle des ressources, par exemple leur URI.
language Langue du document : il est recommandé d'utiliser un code de langue conforme au format RFC3066.
relation Lien vers une ressource liée : il est recommandé d'utiliser une dénomination formelle des ressources, par exemple leur URI. On précise le type de lien avec des raffinements :
  • isVersionOf : on a affaire à une nouvelle version, une modification ou une adaptation du document lié. Les changements concernent le contenu et pas seulement la forme ;
  • hasVersion : réciproque d'isVersionOf. Le document lié est une version modifiée du présent document ;
  • isReplacedBy : le présent document a été remplacé par le document lié ;
  • replaces : réciproque de isReplacedBy. Le présent document remplace le document lié ;
  • isRequiredBy : on a besoin du présent document pour interpréter correctement le document lié ;
  • requires : réciproque d'isRequiredBy. Le présent document a besoin du document lié pour être correctement présenté, transmis, ou pour assurer sa cohérence ;
  • isPartOf : le document est une partie (physique ou logique) d'un autre document ;
  • hasPart : réciproque d'isPartOf : le document inclut le document lié, physiquement ou logiquement ;
  • isReferencedBy : le document courant est référencé, cité, ou lié par le document indiqué ;
  • references : réciproque d'isReferencedBy : le document courant référence, cite ou pointe vers le document indiqué ;
  • isFormatOf : le présent document a le même fond que le document indiqué, mais présenté sous une forme différente ;
  • hasFormat : réciproque d'isFormatOf : le présent document possède une variante sous une forme différente ;
  • conformsTo : référence à un standard établi auquel se conforme le présent document.
coverage Portée du document : la portée inclut un domaine géographique, un laps de temps, ou une juridiction (nom d'une entité administrative). Il est recommandé d'utiliser des représentations normalisées de ces types de données. Le type de couverture peut être précisé :
  • spatial : couverture spatiale. On peut utiliser les codages Point (point géographique), ISO3166 (codes de pays à deux lettres), Box (régions géographiques), ou TGN (dictionnaire de noms de lieux) ;
  • temporal : couverture temporelle. On peut utiliser les codages Period (intervalle de temps) ou W3CDTF (dates).
rights Droits relatifs à la ressource : permet de donner des informations sur le statut des droits du document, par exemple la présence d'un copyright, ou un lien vers le détenteur des droits. L'absence de cet élément ne présume pas que le document est libre de droits.
audience Audience du document : l'audience représente le groupe de personnes à qui le document est destiné. L'audience est déterminée par l'auteur, le publicateur, ou un tiers. On peut utiliser les raffinements suivants :
  • mediator : entité qui sert d'intermédiaire pour l'accès au document ;
  • educationLevel : position du niveau de l'audience par rapport à un contexte d'éducation ou de formation.

Formats de données

Au cours de la description, nous avons présenté de façon informelle les formats de données utilisables dans les descriptions.

Dans le tableau suivant, nous présentons en résumé la liste des formats de données « officiels » du Dublin Core, ainsi que leurs noms formels.

Nom formel Description Éléments concernés
LCSH En-tête de la bibliothèque du Congrès (Library of Congress Subject Heading). subject
MESH Vocabulaire médical MeSH (Medical Subject Headings). subject
DDC Notation décimale de bibliothèque Dewey Decimal Classification. subject
LCC Classification de la bibliothèque du Congrès (Library of Congress Classification). subject
UDC Notation décimale de bibliothèque Universal Decimal Classification. subject
DCMIType Type du document parmi une série de types définis par le Dublin Core : Collection (agrégation de documents formant un tout), Dataset (structure appropriée au traitement par ordinateur), Event (évènement, par définition éphémère. Par exemple : exposition, conférence, bataille, procès, mariage, etc.), Image (photographie, peinture, dessin, animation, film, diagramme, carte, notation musicale, etc.), InteractiveResource (objet qui demande une interaction de l'utilisateur, par exemple une page Web, une applet, un service de chat, etc.), Service (entité qui rend des services à l'utilisateur, comme un service de photocopie ou un serveur Web), Software (logiciel d'ordinateur), Sound (son, par exemple voix ou musique), Text (texte au sens large : livre, magazine, journal, poème, message d'une liste de diffusion, etc.), PhysicalObject (tout objet physique : ordinateur, sculpture, bâtiment, etc.) type
IMT Internet Media Types, nomenclature de types de données très proche MIME (exemple : image/jpeg) format
ISO639-2 Code de langue à trois lettres ISO-639-2 (du type fre). language
RFC1766 Code de langue RFC 1766. Il est composé d'un code de langue sur deux lettres, éventuellement suivi d'un suffixe de pays pour indiquer la variante de la langue (par exemple, fr-CA pour la Français du Canada, fr-FR pour le Français de France, en pour l'Anglais en général). language
RFC3066 Code de langue RFC 3066, nouvelle version de RFC1766 (le code de langue peut être sur trois lettres). language
URI Un URI, selon la RFC 2396. identifier, source, relation
Point Point de l'espace repéré par ses coordonnées géographiques. coverage.spatial
ISO3166 Codes ISO-3166 de représentation des noms de pays sous forme de chaîne de deux caractères (exemples : FR, DE). coverage.spatial
Box Représentation des régions géographiques du Dublin Core. coverage.spatial
TGN Noms issus du Getty Thesaurus of Geographic Names. coverage.spatial
Period Représentation des intervalles de temps du Dublin Core. coverage.temporal, date
W3CDTF Codage des dates et heures du W3C . Pour référencer un jour, on utilise le format AAAA-MM-JJ. coverage.temporal, date

En pratique : utilisation avec (X)HTML

Il est possible d'inclure les métadonnées relatives à un document HTML directement à l'intérieur de ce document. Elles prennent place dans des balises <meta>, à l'intérieur de l'en-tête (section <head>).

Si vous n'utilisez pas de raffinement, la syntaxe à utiliser est la suivante :

<meta name="DC.Nom d'élément" content="valeur de la métadonnée" />
    

On écrit le nom d'élément avec une majuscule initiale.

Lorsqu'on utilise un raffinement, on utilise très logiquement la syntaxe suivante :

<meta name="DC.Nom d'élément.nom de raffinement" content="valeur de la métadonnée" />
    

Les noms de raffinements doivent toujours commencer par une lettre minuscule.

La barre oblique à la fin de la balise <meta> est nécessaire en XHTML.

Les balises meta peuvent éventuellement être dotées des attributs supplémentaires suivants :

lang
Permet de spécifier la langue du contenu.
scheme
Permet de spécifier le format normalisé utilisé pour le contenu. Cet attribut prend ses valeurs dans la première colonne du tableau « formats de données ».

Voici en pratique un extrait de document d'exemple dans lequel on a inséré des métadonnées. Cet extrait de code contient une déclaration de type de document pour le XHTML 1.0 Strict. En pratique, remplacez-la par la déclaration de votre choix.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html>
  <head>
    <title>Un document en HTML</title>
    <meta http-equiv="Content-type"
      content="text/html; charset=iso-8859-1" />

    <link rel="schema.DC"
      href="http://purl.org/dc/elements/1.1/" />
    <meta name="DC.Title" lang="fr" content="Un document en HTML" />
    <meta name="DC.Date.created" scheme="W3CDTF" content="2003-04-03" />
    <meta name="DC.Date.modified" scheme="W3CDTF" content="2003-04-27" />  
    <meta name="DC.Subject" lang="fr" content="HTML, document, Dublin Core" />
    <meta name="DC.Language" scheme="RFC3066" content="fr-FR" />

    <meta name="DC.Description" lang="fr"
      content="Mon premier document HTML avec métadonnées" />
  </head>
  <body>
    …
  </body>
</html>
    

La balise <link …> référence la liste officielle des éléments et des raffinements du Dublin Core. Elle permet aux logiciel de savoir à quoi exactement correspond le préfixe DC, en spécifiant son schéma.

Conclusion

Nous avons présenté la méthode de codage de métadonnées la plus répandue sur le Web : l'utilisation du Dublin Core. Comme le montre l'exemple précédent, vous pouvez sans peine inclure de telles métadonnées dans vos propres pages : il suffit de faire figurer les quelques lignes idoines dans l'en-tête HTML. Grâce à ces informations, des systèmes automatiques peuvent réellement tirer parti de vos pages, car elles contiennent leur propre descriptif synthétique.

Par exemple, le système de publication d'OpenWeb est basé sur l'utilisation du Dublin Core : les articles sont automatiquement classés par notre système de gestion de contenu en fonction des informations contenues dans leur en-tête. Pour voir ce que cela donne en pratique, demandez à votre navigateur d'afficher la source d'une page du site et repérez les balises <meta …> qui correspondent aux métadonnées du Dublin Core.

Références


Une question, une remarque ? Écrivez à editorial@openweb.eu.org.

Page valide XHTML 1 Strict, CSS2 et accessible AA.
Ce site s'affiche mieux dans un navigateur conforme aux standards, voici pourquoi.
Site hébergé par l'APINC et propulsé par SPIP.