Génération du site web de l'ULB - format xml
sommairesommaireindexindexpage précédentepage précédentepage suivantepage suivanteimprimerimprimerenvoyerenvoyermarquermarquer

L'attribut hypertexte docref

L'attribut docref permet d'établir un lien vers une autre page du site de l'ULB.

Il doit mentionner cette autre page à l'aide de son identificateur.


Exemple
<p>Lien vers l'<a docref="site:help:format-xml-ulb:xmlulb">aide en ligne</a>.</p>

Le lien hypertexte peut être un lien relatif ou un lien absolu (ou complet).

Un lien absolu utilise l'identificateur complet de la page, constitué de l'identificateur du projet suivi d'un deux-points et de l'identificateur local de la page au sein du projet.

Un lien relatif, lui, ne contient que l'identificateur local de la page.

Bien qu'il soit possible de faire un lien avec un attribut href (ou l'une de ses variantes rel-href ou top-href), il est fortement conseiller d'utiliser cet attribut docref.

L'utilisation de cet attribut docref facilite grandement la gestion du site web de l'ULB et en assure la cohérence.

Toutefois, cet attribut docref ne fonctionne que pour les pages web générées par Sitemanager. Pour les autres types de pages, c'est href (ou ses variantes rel-href ou top-href), qu'il faut utiliser.

Lien relatif

Les liens entre les pages d'un même projet se font de préférence à l'aide de liens relatifs.

Dans cet exemple, on fait référence à partir de cette page-ci vers la page sommaire de ce document (qui sont toutes les deux dans le même projet). On utilise alors un lien relatif qui ne mentionne que l'identificateur local de cette page sommaire. En l'occurence, cet identificateur s'appelle xmlulb.

Exemple
<p>Lien vers l'<a docref="xmlulb">aide en ligne</a>.</p>

Ce qui donne :

Lien vers l'aide en ligne.

Pour connaitre l'identificateur local d'une page, il suffit d'afficher la page en question et de regarder dans sa source HTML (pour cela, utilisez l'option view source ou afficher la source ou code source de la page de votre navigateur, grâce à un clic-droit ou en utilisant le menu intitulé View ou Affichage).

L'identificateur local se trouve mentionné sous le libellé page's local id: . On peut également le retrouver dans l'application de gestion du site dans la liste des pages générées ou tout simplement le déduire des attributs docref placés dans les éléments <document> et <page> de la source XML contenant la page (voir identificateur de la page).

Utiliser cet identificateur local plutôt que l'identificateur complet de la page présente l'avantage d'être indépendant de l'identificateur du projet. On peut ainsi modifier le projet et/ou les pages du projet (renommer, déplacer, découper le projet en différents sous-projets, déplacer les pages d'un projet à l'autre, etc.) sans devoir modifier les liens en conséquence. Ce qui ne serait pas le cas avec l'identificateur complet.

Lien absolu

Si la page visée dans le lien hypertexte ne se trouve pas dans le même projet que la page courante, il faut utiliser un lien absolu vers cette page. Celui-ci fait appel à l'identificateur complet de celle-ci (avec la mention de l'identificateur du projet).

Pour connaitre l'identificateur complet d'une page, il suffit d'afficher la page en question et de regarder dans sa source HTML (pour cela, utilisez l'option view source ou afficher la source ou code source de la page de votre navigateur, grâce à un clic-droit ou en utilisant le menu intitulé View ou Affichage).

L'identificateur complet se trouve mentionné sous le libellé page's full id: . On peut également le retrouver dans l'application de gestion du site dans la liste des pages générées d'un projet, ou faire une recherche pour la page en utilisant l'outil de recherche disponible (menu recherche, option recherche d'une page).

Exemple
<p>Lien vers l'<a docref="site:help:format-xml-ulb:xmlulb">aide en ligne</a>.</p>

Ce qui donne :

Lien vers l'aide en ligne.


Pourquoi utiliser un attribut docref plutôt que l'attribut classique href comme en HTML

Il est fortement conseillé d'utiliser l'attribut docref plutôt que l'attribut href. Cela n'est bien sûr possible que pour les pages qui sont créées en xml à l'ULB (ou pour les pages principales des sites non-xml dont les adresses sont stockées dans la configuration du site). Dans les autres cas, on utilisera l'attribut href; c'est le cas pour des sites extérieurs à l'université (ou pour une page secondaire d'un site de l'ULB qui aurait été écrite entièrement en HTML et pas en XML).

Exemple
<p>
Voici la <a docref="site:help:format-xml-ulb:xmlulb">bonne façon</a> d'appeler le sommaire de ce document
et voici la <a href="http://www.ulb.ac.be/demo/index.htm">mauvaise façon</a>.
</p>

Ce qui donne :

Voici la bonne façon d'appeler le sommaire de ce document et voici la mauvaise façon.

Pourquoi faut-il préférer docref à href ? Les identificateurs des pages utilisés par docref sont stockés dans une base de données, ce qui n'est pas le cas des adresses href. L'utilisation de cette base de données permet de contrôler à tout moment l'intégrité du site web, en s'assurant qu'aucun lien ne pointe vers une page qui n'existe pas.

Si une page est renommée ou si elle est déplacée, ce qui arrive fréquemment sur un site web bien géré, son identificateur permettra au système de mettre à jour l'ensemble des liens hypertextes qui y font référence. Cette mise à jour est automatique (elle a lieu toutes les nuits) et vous n'aurez rien à faire pour qu'elle se produise.

Ce n'est pas le cas si vous utilisez l'attribut href. Dans ce cas, il faudra mettre à jour manuellement tous les liens qui mentionnent l'ancienne adresse de la page, or ces liens peuvent se trouver dans n'importe quelle page et pas nécessairement dans des pages que vous gérez vous-même. Il faut alors repérer l'ensemble de ces pages -ce qui est souvent impossible- et contacter individuellement toutes les personnes qui en ont la charge.

Et si l'identificateur est renommé ou si la page est supprimée? Là aussi, l'utilisation de l'attribut docref via la base de données permettra de s'en rendre compte afin d'intervenir le plus rapidement possible (un message d'erreur particulier sera envoyé directement aux personnes qui gèrent les pages où se trouveraient des liens vers la page supprimée). Il est impossible de publier une partie du site web qui contiendrait un lien vers un page qui n'existe pas si elle est mentionné via l'attribut docref.

ULB - entreprise écodynamique