Bonjour à tous.

J'ai récemment constaté que pour moi l'utilité et le support par les différents navigateurs de la balise link n'étaient pas clairs. Je me suis donc mis en quête de réponses et je propose d'en faire un résumé ici.

----------------------

Dans une série de documents comme les spécifications du W3C il y a des liens entre les pages. La 4ème page est la suite de la 3ème mais également celle qui précède la 5ème. Ces relations peuvent être définies par les attributs rel et rev des balises <a> et <link>.

Ce que disent les spécifications du W3C

La balise link apparaît dans la spécification du HTML 4.01 où elle est définie comme servant à créer des relations entre différentes pages d'un site. 15 relations basiques y sont définies et d'autres peuvent être définies dans un profil. Il est également suggéré aux navigateurs d'afficher ces liens dans une barre de menu.

Mais qu'est-ce donc que ces profils ?
Un profil est un fichier ( dont l'URI est placée dans l'attribut profile de la balise head ) régi par la spécification RDF-Primer et qui donne plus d'information au navigateur sur la nature de la metadonnée que vous lui procurez. Cependant comme je n'ai aucune connaissance dans ce domaine et que ce n'est pas le sujet de ce billet je n'en dirais pas plus.

L'implémentation réelle dans les navigateurs

La plupart d'entre vous ont sûrement déjà utilisé la balise link sans connaître les profils donc vous vous en doutez les navigateurs reconnaissent certaines valeurs des attributs rel et rev.

Voici les valeurs de ces deux attributs qui sont reconnues par les navigateurs :
tout d'abord les 15 définies dans la spécification HTML 4.01 :
- alternate
- appendix
- bookmarks
- chapter
- contents
- copyright
- glossary :
Un glossaire rencense certains mots qui sont considérés comme techniques ou anciens.
- help
- index :
L'index recense les mots-clés d'un ensemble de documents pour faciliter la recherche.
- next
- prev :
S'écrit parfois aussi previous mais prev est standard.
- section
- start :
Cette valeur est interprétée par IE et Opera comme pointant vers la page d'accueil alors que ce n'est exactement ce qui est écrit dans la spécification HTML 4.01. Je conseille de l'utiliser pour son rôle initial et d'utiliser home pour pointer vers la page d'accueil.
- stylesheet
- subsection

plus 4 ajouts présent dans tous les navigateurs que j'ai testé :
- author
- first
- last
- up :
parent est un synonyme.

plus une spéciale Mozilla :
- prefetch :
Sert à précharger une page. Cette propriété est la plupart du temps inutile, ne surchargez pas vos pages en donnant de nombreuses addresses, la valeur de next suffit largement.
est-ce que quelqu'un sait si cette propriété reste spécifique à Mozilla ou si elle a été adoptée par d'autres ?

et enfin 3 ajouts de Microsoft présents dans la MSDN de l'attribut rel :
- offline
- search :
Les autres navigateurs l'ont intégré comme un simple lien vers la recherche donc on ne peut pas faire fonctionner cette valeur sous IE sans gêner les autres navigateurs par contre l'inverse n'est pas vrai donc vous pouvez y placer un lien personnalisé vers Google, Yahoo!, etc ou vers le moteur de recherche de votre site.
- shortcut icon :
Tout le monde connaît cette valeur et pourtant elle n'est pas standard. Je mettrais un lien ici vers le point de FAQ sur les favicons

La plupart de ces valeurs ne sont pas exploitées par les navigateurs, ainsi, Opera est le seul à les gérer en natif en proposant une barre de navigation.
Des barres de navigations ont été développées pour Konqueror et Internet Explorer mais ne sont pas directement intégrées au navigateur.
Enfin Firefox possède de nombreuses extensions ce qui vous permet par exemple de choisir entre une barre complète et une simple icône qui déroule une liste des liens.
Besoin d'aide ici pour les navigateurs auxquels je n'ai pas accès même si ce n'est pas très important ils ont leur place dans cette liste.

IE et Firefox gèrent également le fait que plusieurs URL soient données pour une seule relation ce qui permet de mettre plusieurs moteurs de recherche, plusieurs auteurs ( ou le même mais mettre, par exemple, son email et son site web ). Opera et Konqueror afficheront la dernière valeur dans l'ordre du code source.

Opera, Konqueror et IE ne gèrent les attributs rel et rev que sur la balise <link> alors qu'ils s'appliquent également sur l'élément <a>. En effet <link> n'est pas réellement fait pour renseigner toutes les relations ci-dessus mais pour combler celles qui ne sont pas renseignées dans les liens de votre page car rappelons-le bien les liens de navigations doivent bien être dans votre page et non dans une barre du navigateur donc ne vous souciez pas de ces barres quasiment inutilisées.

En conclusion je dirais que pour le moment renseigner ces attributs ne sert concrètement à rien ( à ma connaissance ).
Si connaissez une application concrète alors prévenez moi pour que je change la conclusion ...
Cependant, ça ne coûte pas grand chose de renseigner ces attributs et ils serviront peut-être à quelque chose plus tard.

--------------

Voilà je vais manger en attendant vos critiques. Smiley cligne
Modifié par Changaco (12 Jul 2008 - 17:44)
Florent V. a écrit :
Patience, jeune padawan. Smiley cligne
"Yes master." Smiley lol
"Patience he has not. Train him I can't" Smiley ravi

J'ai fini de regarder les 6 en VO hier alors forcément ... Smiley rolleyes
Modifié par CNeo (29 Aug 2007 - 21:30)
Alors pour l'instant le consensus entre les quelques modérateurs pas morts ou pas en vacances, c'est que c'est intéressant mais à retravailler, et que ça pourrait faire une publication du blog plutôt qu'un tutoriel à part entière. À voir pour ce dernier point.

Pour les choses à retravailler, les suggestions, etc., je suis pas sûr que ça arrive tout de suite. Je crois que nous sommes tous un peu charette actuellement, entre l'avant-goût de la rentrée et la fin du CSSR. Pour ma part je pense que je n'aurai pas le temps de me pencher sur la question.

Nota: ceci est un message informatif de ma part et pas un verdict officiel du jury des modérateurs. Smiley cligne Je m'avance donc peut-être un peu trop.
Florent V. a écrit :
Alors pour l'instant le consensus entre les quelques modérateurs pas morts ou pas en vacances, c'est que c'est intéressant mais à retravailler, et que ça pourrait faire une publication du blog plutôt qu'un tutoriel à part entière. À voir pour ce dernier point.
Le mot tutoriel n'apparaît qu'une seule fois dans mon texte je crois donc on peut aisément le remplacer ... D'ailleurs je suis plutôt d'accord que ce n'est pas réellement un tutoriel.
Florent V. a écrit :
Pour les choses à retravailler, les suggestions, etc., je suis pas sûr que ça arrive tout de suite. Je crois que nous sommes tous un peu charrette actuellement, entre l'avant-goût de la rentrée et la fin du CSSR. Pour ma part je pense que je n'aurai pas le temps de me pencher sur la question.
Oui je comprends Smiley smile , c'est bientôt la rentrée pour moi aussi ... Smiley ohwell Smiley lol
Florent V. a écrit :
Nota: ceci est un message informatif de ma part et pas un verdict officiel du jury des modérateurs. Smiley cligne Je m'avance donc peut-être un peu trop.
En tout cas merci d'avoir donné des nouvelles. Smiley cligne