14 mars 2011

Article

Technologies de l'information

Des fils RSS à intelligences multiples

Retour sur les fils RSS

Nous avons vu dans un article précédent que le format RSS est une famille de formats Web qui permettent à des producteurs de rendre disponible la liste de leurs travaux récents — comme des billets de blogues, des listes de nouvelles, les cours de la bourse, la météo — dans un format normalisé. Un document RSS, appelé aussi fil RSS, contient de la métadonnée décrivant le fil lui-même et une liste d’items. Chaque item contient un titre, un identifiant, un URL, un descriptif, une date et l’information permettant d’identifier l’auteur. L’utilité de ces fils est de permettre aux gens de suivre l’information qui est ajoutée à un site, par exemple, ou d’agréger des fils de plusieurs sources à même un seul. Dans cet article, nous verrons que certaines extensions au format permettent d’activer de nouvelles fonctionnalités intéressantes auprès des logiciels clients qui consomment les fils RSS.

Baladodiffusion

Le format RSS 2.0 fut le premier à supporter l’élément enclosure, qui permet de spécifier l’adresse d’une capsule audio ou vidéo, ouvrant la porte à ce que l’on appelle la baladodiffusion (ou podcasting en anglais). Avec cette information, des logiciels comme iTunes peuvent télécharger des capsules multimédias en vue d’une écoute immédiate ou ultérieure (voir Figure 1). Un canal de télévision ou de radio peut ainsi publiciser les nouvelles émissions à télécharger au jour le jour. Un logiciel comme iTunes vérifiera à intervalles réguliers s’il y a de nouvelles capsules audio ou vidéo à proposer pour téléchargement en consultant le fil RSS. À la différence de la radiodiffusion et de la télédiffusion, la distribution ne se fait plus par un mécanisme centralisé, mais par l’action des auditeurs qui décident le téléchargement des capsules (ou balados) à partir des listes dans les fils RSS.

Figure 1. Représentation de la baladodiffusion pour des capsules audio (au format mp3).

 

Schema-baladodiffusion

L’abonnement à la baladodiffusion se fait en ajoutant l’adresse du fil RSS à la liste des balados que nous voulons suivre. Il existe un protocole qui, si reconnu par les navigateurs et si iTunes est installé, permet de faire ajouter le fil RSS directement dans iTunes. Un exemple de URL serait itpc://rss.radio-canada.ca/balado/radio/christiane.xml pour l'abonnement à la baladodiffusion de l’émission radio de Christiane Charette.

Étendre le format

Le format RSS est extensible grâce aux concepts sous-tendant le XML (eXtensible Markup Language), en particulier avec l’usage des espaces de nommage. Ceci veut dire que nous pouvons ajouter de l’information à la structure de base pour bonifier l’utilité sémantique du fil RSS. Dans le contexte des fils RSS, on parlera souvent alors de « modules ».

Les modules ouvrent la porte à de nouvelles fonctionnalités dans des outils logiciels qui consomment le fil RSS augmenté. Yahoo! a créé le module media pour associer une image à l’entrée, permettant ainsi la diffusion de flux de photos avec Flickr par exemple. Le module geoRSS permet de spécifier la latitude et la longitude qui pourraient être associées à une entrée. Amazon a un module pour spécifier le ISBN d’un livre. Le module Dublin Core permet d’ajouter des métadonnées de catalogage. Pour maximiser l’interopérabilité et l’utilité de l’information ajoutée, il est préférable de se baser sur des modules ayant un bon support de l’industrie.

L’information supplémentaire provenant de modules ajoutés à un item d’un fil RSS sera consommée différemment dans différents outils client, dépendamment qu'ils savent ou non traiter ce nouveau morceau d'information.

Exemple d’un fil RSS à intelligences multiples

Il est donc possible d’attacher à une entrée d’un fil RSS toutes sortes d’informations complémentaires qui, une fois consommées par l’outil adéquat, activeront une fonctionnalité. Prenonsl’exemple du fil RSS qui est publié sur le Podioguide UdeM, un site qui propose des visites guidées du campus aux futurs étudiants. Le fil, au format RSS 2.0, contient l’information de base, mais en plus livre de l'information avec le module media, le module geoRSS et les métadonnées additionnelles pour iTunes.

<item>
  <title>Le cinéma à l’UdeM</title>
  <description>
    Interlude cinématographique : imaginez un instant que l’UdeM
    est une actrice aux rôles et aux costumes extravagants.
  </description>
  <link>http://www.podioguide.umontreal.ca/audio/.../campus-montreal/cinema.mp3</link>
  <pubDate>25 May 2009 14:09:38 GMT</pubDate>
  <enclosure
    url="http://www.podioguide.umontreal.ca/audio/.../campus-montreal/cinema.mp3"
    length="12145216" type="audio/mpeg"/>
  <guid isPermaLink="true"
    >http://www.podioguide.umontreal.ca/id/campus-montreal/cinema</guid>
  <media:content
    url="http://www.podioguide.umontreal.ca/images/.../campus-montreal/cinema.jpg"
    type="image/jpeg" width="228" height="180"/>
  <itunes:duration>10:07</itunes:duration>
  <itunes:author>Université de Montréal</itunes:author>
  <georss:point>45.50295 -73.61527</georss:point>
</item>

Dans cet exemple, l’élément enclosure permet à un lecteur de proposer le téléchargement de la capsule audio associée. L'élément georss:point permet à un outil cartographique de positionner l’entrée sur une carte. L’élément media:content permet d’associer une image au contenu. Chaque outil client verra donc le fil RSS à sa manière. Dans iTunes, nous pourrons consulter les métadonnées supplémentaires comme l’auteur ou la durée de la capsule audio, en plus de télécharger la capsule audio pour écoute en différé (voir Figure 2); dans Google Maps, les items sont présentés sur la carte (voir Figure 3); dans Netvibes, nous verrons les images.

Figure 2. Le fil RSS du Podioguide UdeM mis dans iTunes nous permet de télécharger les capsules audio pour écoute en différé sur notre iPod, iPhone ou iPad.

 Podioguide-Itunes

Figure 3. Le fil RSS du Podioguide UdeM tel que consommé dans Google Maps. Les informations de base sont consommées, mais ici la latitude et la longitude telles que spécifiées par l’élément georss:point permettent de positionner les entrées sur la carte. Notez qu’ici Google Maps, au moment de la capture d’écran, ne traitait pas l’élément enclosure ni l'élément media:content, nous ne voyons donc pas les images, ni ne pouvons écouter les capsules audio attachées aux entrées.

Image-Podioguide

 

Il n’est pas impossible de penser que dans un avenir rapproché (si ce n’est pas déjà disponible), un système GPS pourrait consommer le fil RSS du Podioguide UdeM et nous donnerait les indications pour se rendre aux différents points d’intérêt. Une fois arrivés, il pourrait nous proposer d’écouter la capsule audio en nous montrant l’image couverture associée au clip, et ce peu importe le fil RSS de cette nature qui lui serait fourni. C’est là la beauté de travailler avec des formats normalisés et le format RSS est un bel exemple de réussite.

 

Ces notions sont d'ailleurs traitées dans le cours suivant :

Mieux comprendre le Web 2.0 (WE142)

Benoit Dubuc est diplômé de l'Université McGill et possède plus de dix ans d'expérience dans les technologies Web. Il dirige Espace Courbe, entreprise spécialisée dans le développement de sites Web interactifs.  Il a participé à la réalisation de plusieurs dizaines de sites Web interactifs, certains contenant jusqu'à plusieurs milliers de pages Web avec engins de recherche, bases de données en ligne, gestion des accès et outils de mise à jour automatique.