Introduction à la syndication de contenu avec RSS

Openweb.eu.org > Articles  > Introduction à la syndication de contenu avec RSS

Abstract

Qu’est-ce que la syndication de contenu ? Qu’est-ce qu’un fil RSS ?

Article

La syndication de contenu

Le terme syndication vient de l'anglais. À l'origine, il désigne la vente de contenu télévisuel à plusieurs autres chaînes simultanément, une émission TV pouvant ainsi être relayée sur plusieurs networks. La syndication de contenu sur Internet pouvait à l'origine être définie comme le partage de contenu entre sites ou portails.

Mais le terme a ensuite été utilisé, peut-être à tort, pour recouvrir de nouvelles réalités :

  • l'abonnement à des sites Web via un logiciel spécifique que l'on appelle agrégateur ;
  • la mise à disposition du contenu d'un site sous une forme facilement compréhensible et indexable par des robots ou n'importe quelle autre application.

À défaut d'un terme meilleur, nous utiliserons celui de syndication ainsi défini par la spécification RSS 1.0 : mise en ligne de données disponibles pour récupération et retransmission, agrégation ou publication en ligne.

Aujourd'hui, en pratique, les principes de syndication conviennent en fait à tout type de contenu régulièrement mis à jour :

  • fils d'information : actualité générale, weblogs, résultats sportifs ;
  • fils de discussion : forums, mailing-lists, commentaires de weblogs ;
  • petites annonces : offres d'emplois, annonces immobilières, enchères ;
  • suivi / « tracking » : changements CVS, wikis, gestionnaires de bugs.

RSS

RSS est aujourd'hui le format de syndication le plus populaire. RSS est une application XML créée en 1999 par la société Netscape. Par la suite, la spécification a été la victime de mésententes et de divergences politiques. RSS n'est donc, du coup, pas une spécification à proprement parler, mais un ensemble de normes co-existantes pas forcément compatibles. Dans ce grand bazar, nous retiendrons :

  • RSS 0.91 (Rich Site Summary) : une évolution mineure de la spécification originale de Netscape ;
  • RSS 1.0 (RDF Site Summary) : une spécification basée sur RDF conçue par un groupe de développeurs indépendants dans l'esprit originel de ses concepteurs ;
  • RSS 2.0 (Really Simple Syndication) : une spécification écrite par Dave Winer, le plus fervent acteur du monde de la syndication.

Dans un autre registre, on notera aussi le projet de spécification Atom qui est actuellement en cours de développement et de normalisation. Même si on ne peut juger des chances de succès de cette inititative, des poids lourds de l'industrie informatique ainsi que beaucoup de personnes y placent beaucoup d'espoir.

Création d'un fil RSS simple avec RSS 0.91

En-tête XML et DTD
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN"
"http://my.netscape.com/publish/formats/rss-0.91.dtd">
Racine XML
<rss version="0.91">
Ouverture du canal
<channel>
Informations sur le canal
<title>Openweb.eu.org</title>

<link>http://www.openweb.eu.org/</link>
<description>Description du site OpenWeb</description>
<language>fr</language>

Ensuite, le cœur du fil RSS se compose d'une suite d'éléments item correspondant chacun à un article (pour le cas d'un site de contenu). Pour un fil RSS minimal, l'élément item contient 3 sous-éléments :

  • title : le titre de l'élément ;
  • link : un lien vers l'élément ou son URL ;
  • description : une description de moins de 500 caractères. Pour un article, son chapeau, un résumé ou un extrait.

Ainsi, si l'on créait le fil RSS des articles du site OpenWeb (à l'heure où cet article est écrit), cela donnerait :

<item>

<title>Le PNG face au GIF</title>
<link>http://openweb.eu.org/articles/png_vs_gif/</link>
<description>Qui est donc ce remplaçant du GIF, datant de 1996 et
méconnu de la plupart des graphistes, amateurs comme
professionnels ?</description>
</item>

<item>

<title>Passer aux feuilles de style</title>
<link>http://openweb.eu.org/articles/initiation_css/</link>
<description>Vous utilisiez les balises HTML de présentation ? Pour
tirer parti des avantages offerts par les standards, découvrez le
vocabulaire élémentaire des feuilles de style.</description>
</item>

<item>

<title>Les bénéfices des standards par un graphiste Web</title>
<link>http://openweb.eu.org/articles/interview_ned_baldessin/</link>
<description>Ned Baldessin, professionnel du Web, nous présente le
point de vue des graphistes sur les différentes technologies qui forment
les standards de l'Internet.</description>
</item>

Pour les besoins de l'exemple nous n'avons mis que 3 articles, mais la spécification RSS 0.91 précise que l'on peut en mettre jusqu'à 15.

Enfin, pour clore notre fil RSS, il suffit de fermer les balises que nous avons ouvertes au tout début :

</channel>
</rss>

Le fichier que nous avons créé est disponible ici : exemple_RSS_091.xml.

Notes

Comme la plupart des fichiers sur le Web, l'extension du fichier et son nom n'ont aucune importance. Un fil RSS peut aussi bien s'appeler rss.php, index.xml que feed.rss.

Le type MIME envoyé est par contre beaucoup plus important (qu'est-ce qu'un type/mime ?). En tant que fichier XML, il peut être envoyé en tant que text/xml mais l'idéal est de l'envoyer avec le type MIME application/rss+xml.

Aussi, une bonne pratique consiste à indiquer la présence d'un fil RSS pour un site en mentionnant son URLdans la section head HTML de la page.

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

Validité

Pour être considéré comme valide, le fil RSS doit tout d'abord être bien formé XML. La méthode la plus facile pour tester cela consiste à l'ouvrir dans Mozilla ou dans Internet Explorer qui vous mentionneront les éventuelles erreurs.

Ensuite, il faut tester sa validité RSS. L'outil recommandé pour cela est le Feed Validator disponible à l'adresse http://feedvalidator.org/.

Conclusion

Dans cet article, nous ne sommes volontairement pas allés très loin et n'avons pas non plus utilisé toutes les possibilités de la spécification RSS 0.91. Il s'agissait juste de poser les bases de la syndication de contenu sur Internet. Pour inclure plus de méta-données et faire quelque chose de plus complet, nous utiliserons la spécification RSS 1.0 dans un prochain article.

Liens

À propos de cet article

  • Openweb.eu.org
  • Profil : Débutant
  • Technologie : RSS
  • Auteur :
  • Publié le :
  • Mise à jour : 25 juin 2008

Vos commentaires

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?
Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Suivre les commentaires : RSS 2.0 | Atom