Syndication

This is an archived page. It's not actively maintained.

Cette page explique la syndication Web avec RSS. Vous y apprendrez comment faire pour que visiteurs et machines trouvent facilement votre flux RSS.

Présentation de la syndication

La syndication (ou syndication Web) consiste à mettre à disposition d'autres personnes du contenu texte, photo, audio, ou vidéo. Lorsque vous écrivez sur votre blog, que vous produisez une émission de radio ou de télévision par Internet, vous syndiquez.

RSS vous aide à syndiquer du contenu, en le présentant sous un format aisément exploitable par des machines.

La syndication avec RSS implique 3 choses :

  1. Créer un flux RSS.
  2. Ajouter un élément <link> spécial dans une ou des pages HTML.
  3. Ajouter un élément <a> spécial dans une ou des pages HTML.

Nous avons déjà évoqué le 1er point - la création des flux RSS - aussi nous intéresserons nous plus particuliÚrement aux points 2 et 3 dans ce document.

Ajouter l'élément <link>

Souvent, les donnĂ©es prĂ©sentes dans un flux RSS le sont Ă©galement sur une page Web HTML. Lorsque c'est le cas, la page Web HTML peut signaler la prĂ©sence du flux aux visiteurs et aux machines avec un code comme celui-ci :

<link rel="alternate" type="application/rss+xml" href="http://example.com/feed" />

Vous pouvez Ă©galement annoncer le flux RSS depuis d'autres emplacements (par exemple, depuis un billet de blog). Vous pouvez utiliser dans ce cas un code similaire Ă  ceci :

<link rel="home" type="application/rss+xml" href="http://example.com/feed" />

Remarquez que cela ressemble fortement au code précédent, la seule différence étant la valeur de l'attribut rel (la valeur de rel dans le code précédent était alternate, elle est ici home.

NOTE : Il y a pas mal d'abus dans l'utilisation de l'Ă©lĂ©ment <link> pour la syndication RSS. Certains blogueurs veulent que les internautes puissent s'abonner Ă  leur blog depuis n'importe quelle page (et pas uniquement leur page d'accueil). Beaucoup ont donc ajoutĂ© l'Ă©lĂ©ment <link> avec un attribut rel="alternate" sur chaque page (dans les entrĂ©es du blog Ă©galement, et pas uniquement sur la page d'accueil). C'est une mauvaise pratique ! Cela devrait ĂȘtre rel="home". (Voir Understanding rel and rev pour plus d'informations.) La chose la plus importante lorsque vous utilisez l'Ă©lĂ©ment <link> pour la syndication de votre flux RSS est de mettre l'attribut type="application/rss+xml".

Ajouter l'élément <a>

L'utilisation de l'élement HTML <link> est trÚs puissante mais elle est la plupart de temps cachée. Pour publier plus directement votre flux RSS, vous pouvez utiliser l'élément HTML <a>. Cela imite l'élément <link> que nous venons de voir.

Quand vous faites un lien depuis la page Web oĂč les donnĂ©es d'un flux RSS sont Ă©galement prĂ©sentes, utilisez :

<a rel="alternate" type="application/rss+xml" href="http://example.com/feed">
</a>

Quand vous faites un lien depuis, par exemple, un article de blog, utilisez le code suivant :

<a rel="home" type="application/rss+xml" href="http://example.com/feed">
</a>

Une nouvelle fois, remarquez que les deux codes sont trĂšs similaires. Seule la valeur de l'attribut rel change. La valeur de rel du premier code est alternate ; dans le second elle est home.

IcĂŽnes de flux

Les flux RSS (ainsi que les autres) utilisent une icĂŽne spĂ©cifique. Il est recommandĂ© de l'utiliser lorsque vous crĂ©ez le lien spĂ©cial <a> vers votre flux. Cette icĂŽne ressemble Ă  cela :

Image:Feed-icon-32x32.png

Vous pouvez obtenir d'autres icÎnes de ce type sur le site Feed Icons. Il existe différentes couleurs et tailles, et les fichiers sources sont disponibles également.

Techniques de syndication avancée

Bien que cette technique de syndication avancĂ©e ne soit pas nĂ©cessaire, son support est recommandĂ© ; en particulier pour les sites Web et les applications avec de grande exigence de performance.

Le protocole HTTP -- l'une des technologies clef du Web -- fournit un moyen d'Ă©tablir des prioritĂ©s dans le type de contenu qu'un client HTTP prĂ©fĂšre recevoir. Cette technique en tire avantage en faisant en sorte que le client prĂ©fĂ©re RSS (plutĂŽt que HTML ou un autre format). Voici un exemple simple de ce qui peut ĂȘtre fait :

Accept: application/rss+xml, text/html

Cependant, avec des logiciels de production, cela ressemblera plus Ă  :

Accept: application/rss+xml, application/xhtml+xml, text/html

Voici un exemple plus complet :

GET / HTTP/1.1
Host: exemple.com
Accept: application/rss+xml, application/xhtml+xml, text/html

Lorsqu'un serveur HTTP (ou un script cĂŽtĂ© serveur) reçoit ce code, il devrait rediriger le client HTTP vers le flux, en envoyant un code HTTP 302 Found. Ce qui donne quelque chose comme :

HTTP/1.1 302 Found
Location: http://example.com/feed