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.
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 qu’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.
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.
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.
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é. Prenons l’exemple du fil RSS (archive) qui est publié sur le Podioguide UdeM (archive), un site qui proposait 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.
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.
Je couvre la définition et l’usage des fils RSS dans un contexte semblable à ce qui est présenté dans cet article dans le cours Assembler une baladodiffusion géoréférencée.