Quel format de syndication choisir, Atom ou RSS 2.0?

Bien que d'autres solutions aient été proposées dans le passé, trois formats de syndication ont émergé:
- RSS 2.0, ou Really Simple Syndication, par Harvard
- RSS 1.0, ou Rich Site Summary, par le groupe RSS-DEV, et
- Atom par IETF, format largement utilisé mais toujours en cours de définition.

Ces format n'ont pas été définis par simple esprit de concurrence, mais dans un but précis, ce que nous allons développer afin de répondre à la question posée dans le titre.

RSS 2.0

La spécification en français, traduite par moi-même, est hébergée sur ce site.
Ce format a été défini par Dave Winner avec un objectif manifeste de simplicité, de liberté et d'extensibilité. Il n'y a pas de limite imposée dans la taille des textes. L'auteur a voulu définir un noyau qui soit très simple à implémenter tout en offrant la possibilité d'extensions à l'infini, mais avec l'emploi d'espaces de nom, ce qui équivaud à ajouter une catégorie dans laquelle on peut définir toutes les balises dont on a besoin pour une application donnée.

RSS 1.0

La spécification en français, traduite par moi-même également, est hébergée sur ce site.
Contrairement à RSS 2.0 qui est en XML pur, la version RSS reprend le principe initial du format de syndication 0.9 au format RDF et l'étend.
La reprise du format RDF, comme cela est détaillé dans la spécification, à pour but d'ajouter des méta-données aux données incluse dans le flux, autrement dit d'ajouter des informations aux sujet des informations que contient le fichier du flux RSS.
Le format est également extensible avec des modules, qui sont des espaces de nom XML comme dans RSS 2.0.
Les méta-données permettent un traitement informatique de l'emploi qui peut être fait du document, le format 1.0 s'inscrit donc dans un cadre ou l'on voudrait savoir à quoi sert le flux. C'est pourquoi on utilise ce format pour la syndication des blogs, car il existe des sites spécialisés dans l'analyse de la blogosphère, cherchant à connaître les tendances du Web et les groupes d'influence, et ces sites donc pourront tirer profit des informations sur les flux fournies par RSS 1.0.

Atom

Le spécification est en cours de définition et une définition de standard a été proposée sous la référence RFC 4287.
Le format a été défini pour compléter et remplacer RSS jugé insuffisant, ce qui se conçoit puisqu'il a un but de simplicité avant tout.

Atom est plus précis

Le type de contenu des balises, texte pur ou code HTML est précisé en Atom alors que ce n'est pas le cas en 2.0. Cela peut aider les logiciels qui traitent et affichent les flux bien que la plupart s'attendent à trouver du texte pur.

Intégration

Atom est défini à l'intérieur d'un espace de nom, ce qui permet de l'intégrer à d'autres documents XML sans conflit de nom à craindre. On peut même ajouter un contenu Atom à un flux RSS 2.0 sans collision.

Standardisation

Atom est en cours de standardisation ce qui n'apporte rien de plus par rapport à un standard de fait comme RSS 2.0. Il dispose d'un schéma, ce qui peut aider à utiliser certains logiciels XML, mais rien n'interdit d'écrire un schéma pour les autres formats, puisque que leur défintion est figées.
Atom écrit les dates au standard RFC 3339 tandis qu'aucun standard n'est défini en RSS 2.0. Cela n'a pas d'importance lorsqu'on utilise la date comme chaîne de caractères à afficher, mais le format est utile si l'on veut en extraire des éléments: année, mois, jour...

Protocole de publication

Atom fournit un protocole pour publier des ressources ou même les éditer, basé sur HTTP. Il est possible d'accéder à un flux ou une entrée dans un flux, avec la méthode GET. Et en utilisant les méthodes POST et DELETE, on peut ajouter ou supprimer des nouvelles. Le protocole n'est pas encore standardisé mais il permettra de réaliser des outils de syndication.

Aides au logiciels

Outre les spécifications ci-dessus, Atom offre plus d'aide aux logiciels de traitement de flux. Par exemple, il fait une distinction entre les URL absolues et relatives. Il faut quelques lignes de code supplémentaires avec les autres formats.

Conclusion

Trois formats, trois objectifs:

  1. Le format le plus simple (bien qu'extensible): RSS 2.0.
    Suffit largement pour afficher les liens sur les articles d'un site.
  2. Avoir de l'information sur le flux: RSS 1.0.
  3. Emploi de logiciels de traitement de flux plus élaborés ayant plus d'exigences quand au format de données: Atom.

Le format 1.0 est souvent utilisé par les logiciels de gestion de contenu qui génèrent automatiquement un fichier RSS, les blogs, à l'usage des sites Web 2.0 comme Technorati.
Atom a été adopté par Google pour la plupart de ses services tandis que des sites aussi importants que CNN ou BBC offrent une syndication de leurs news en RSS 2.0. Noter que lorsqu'on vous montre un exemple simple de flux Atom, la différence avec le format 2.0 n'est pas flagrante. Il en est de même pour le fichier fourni par mon gestionnaire de blog, les méta-informations restent à trouver.
Si l'on n'a aucun souci de compatibilité avec un service ou un logiciel d'analyse donné, le format 2.0 s'avère suffisant.

Plus d'informations