RSS 1.1 : reprise des travaux sur la branche RDF de RSS
24/01/2005
Trois utilisateurs de RSS 1.0, Sean B. Palmer, Christopher Schmidt et Cody Woodard, décident de corriger les bugs de RSS 1.0 et d’améliorer le format en proposant RSS 1.1.
RDF Site Summary (RSS) est une application XML et RDF, qui fournit un format de données permettant de faire de la syndication de contenu.
Ce format, au cœur de bien des querelles, subit sa popularité et voit les intérêts divergents semer le trouble puisqu’il existe deux familles de formats, RSS 1.x et RSS 2.0 qui ne sont pas compatibles entre eux et qui se basent sur des points de vue fort différents. Alors que RSS 2.0, spécifié par Dave Winer, s’attache à la simplicité et ne définit aucun espace de noms, RSS 1.x prend le parti de la formulation sémantique, en adoptant espaces de noms et RDF. Si ces deux formats n’ont pas intégré de structure particulière de standardisation, un troisième format, concurrent des deux précédents, Atom (actuellement en version 0.4), évolue quant à lui au sein de l’IETF. La syndication de contenu est donc un monde complexe, puisque si les aspects techniques engendrent de longues discussions «bruyantes», l’aspect économique, plus discret, ne doit pas être oublié. Ainsi les sociétés comme Google ou Yahoo possèdent des outils stratégiques qu’elles veulent imposer, elles influencent donc l’évolution des formats.
Alors que le début d’année 2004 avait été riche en annonces et rebondissements concernant RSS et Atom, une période de calme s’était installée, propice à la stabilisation. C’est dans ce contexte qu’apparaît RSS 1.1 succédant à une version 1.0 stable et inchangée depuis plus de quatre ans. Les motivations de RSS 1.1 sont simples. Prendre en compte les bugs qui sont apparus sur la précédente version et faire évoluer le format. Si la finalité de cette proposition est classique et limpide, la façon d’agir l’est beaucoup moins. Une liste rss-dev existe et se veut le point central de discussions autour du format RSS/RDF. Or, trois membres de cette liste et utilisateurs de RSS 1.0 ont préparé en comité restreint une nouvelle mouture et l’ont proposé avec un statut proche de la recommandation candidate (pour faire le parallèle avec le processus du W3C). Les auteurs ont abordé le bien fondé de ces évolutions lors de discussions privées avec les précédents protagonistes de RSS 1.0 et ont mis la liste rss-dev devant le fait accompli. Sean B. Palmer, leader de la proposition, a voulu privilégier la rapidité de développement et pallier à l’incapacité, selon lui, du groupe à produire rapidement un nouveau document. Il argue en effet qu’un groupe de trois personnes est plus dynamique et peut accomplir un travail qui ne peut l’être par tous les membres d’une même liste (il semble qu’il ait raison, puisqu’une nouvelle version du document de travail, prenant en compte diverses remarques, est déjà disponible). Son but était donc de ne pas déclencher de discussions sans fin et de faire une proposition constructive au groupe. Malgré ce parti pris sur la forme, le fond semble satisfaire les auteurs de la première version. Les partisans de RSS 2.0,Dave Winer en tête, y voient, quant à eux, un nouveau format inutile, servant une fois de plus la confusion.
Cette version se veut donc être une mise à jour de la version 1.0. Mais elle vise également son remplacement. RSS 1.1 utilise les dernières fonctionnalités de RDF (non disponibles lors de la publication de RSS 1.0) et cherche à réduire les redondances et les ambiguïtés de la précédente version. La compatibilité ascendante est assurée dans la mesure où les points décrits dans une section dédiée sont respectés. RSS 1.1 est également aussi extensible que l’était RSS 1.0 et les modules d’extension peuvent donc être utilisés. Parmi les évolutions techniques, on peut noter :
- l’élément Channel devient la racine du document (à la place de rdf:RDF)
- rss:items est supprimé ainsi que tout son contenu (remplacé par une liste typée par l’attribut rdf:parseType=”Collection”)
- l’attribut xml:lang est autorisé sur tous les éléments
- l’attribut xml:base peut être utilisé pour simplifier les URI
- l’espace de noms a changé (le fallait-il ?)
- l’élément rss:textinput, inutilisé dans_ RSS 1.0_ et contesté dans RSS 2.0, est supprimé.
Autre fait marquant, ce document utilise RELAX NG pour définir de façon formelle le format et utilise les types de donnée de XML Schema. Apparaissent également une ontologie OWL et des versions en Turtle et N-Triplets. Afin de favoriser son adoption, RSS 1.1 est proposé avec un guide (regroupant de nombreux liens) et une gamme d’utilitaires déjà prêts : un validateur de flux RSS 1.1, une mise à jour du célèbre validateur (feedvalidator.org) mis en place par Mark Pilgrim et Sam Ruby, un validateur en python, des feuilles de style XSLT convertissant des fichiers RSS 1.0 en RSS 1.1 ou des fichiers RSS 1.1 en XHTML, la mise à jour de l’analyseur perl XML::RSS…
Enfin les applications de weblogs, fournisseurs importants (pour ne pas dire quasi essentiels) de flux RSS, se mettent également à jour. C’est notamment le cas de Wordpress ou de Movable Type (voir la page dédiée).
Cette mise à jour relancera-t-elle l’idée (le besoin) d’opérer une fusion des formats de syndication existants ?
Autres articles sur xmlfr.org: