Flux web

Arthur Perret (Université Jean Moulin Lyon 3)

🚧 Page en construction — Dernière mise à jour : 25/11/2022

Cette page explique le principe des flux pour diffuser de l’information et suivre des sources d’information sur le Web. Elle présente les principaux formats de flux (RSS, Atom et JSON Feed), les logiciels dits lecteurs de flux, ainsi que le format OPML pour l’échange des listes de flux.

1 Principe

Un flux web est une technique de communication qui permet de diffuser de l’information et suivre des sources d’information sur le Web. C’est une forme de syndication de contenu, c’est-à-dire le fait de mettre à disposition de l’information d’une manière qui permet de la diffuser ou de la consulter via d’autres canaux que la source initiale.

Plus concrètement, un flux web est un fichier publié à une certaine URL. Il contient des entrées successives, lesquelles présentent soit directement de l’information, soit un lien pour accéder à cette information sur le Web.

On s’abonne au flux en ajoutant son URL dans un logiciel. Ce dernier peut être un logiciel spécialisé ; on parle alors généralement de « lecteur de flux » ou d’« agrégateur de flux ». Les fonctionnalités courantes dans un lecteur de flux sont : l’affichage des entrées, l’envoi de notifications lorsque le flux est mis à jour avec de nouvelles entrées, l’organisation des flux en dossiers, etc.

L’icône avec des ondes blanches sur fond orange a été inventée pour représenter RSS, un format de flux web. Elle est aujourd’hui utilisée pour symboliser les flux web en général.

1.1 Comparaison avec d’autres techniques (email, réseaux sociaux)

Les flux web se distinguent d’autres techniques de communication basées sur Internet comme l’email ou les réseaux sociaux.

Comme l’email, les flux web sont à la base d’un écosystème technique, c’est-à-dire qu’on a d’un côté des formats (dont certains sont même des standards Internet) et de l’autre côté une offre de logiciels capables de lire et d’utiliser ces formats. Les formats eux-mêmes définissent un ensemble limité de fonctionnalités. Le reste est apporté par les logiciels, que l’utilisateur est libre de choisir. Ceci est très différent des réseaux sociaux centralisés tels que Facebook et Twitter, où tout est intégré au sein d’une plateforme unique.

Mais contrairement à l’email, un internaute ne communique pas d’information (comme une adresse email) lorsqu’il s’abonne ou se désabonne à un flux. Les flux web constituent donc une manière de s’informer qui préserve encore plus l’indépendance de l’internaute.

1.2 Pourquoi « flux web » et pas « flux RSS » ?

Les deux principaux formats de flux web en usage sont RSS et Atom. RSS bénéficie d’une plus grande notoriété qu’Atom. On parle d’ailleurs souvent de « flux RSS » pour désigner les flux web en général. C’est en partie une question d’ancienneté, puisque RSS a été inventé avant Atom. On peut aussi ajouter que depuis le milieu des années 2010, le nom « Atom » a été fortement associé à un éditeur de texte développé par GitHub, extrêmement populaire, ce qui n’a pas arrangé les choses.

Ce « bénéfice de l’ancienneté » est assez injuste sur le plan technique, car on peut considérer Atom comme un projet plus abouti, développé avec plus de recul. Atom a tendance à être plus souvent recommandé pour les nouveaux projets. Par ailleurs, le développement de l’éditeur de texte Atom a cessé depuis le rachat de GitHub par Microsoft en 2018, ce dernier privilégiant son propre logiciel, Visual Studio Code ; du coup, la confusion entre les différents projets nommés « Atom » tend à s’estomper.

Pour expliquer à de nouvelles personnes ce que sont RSS et Atom, on peut les décrire comme « des formats de flux de syndication utilisés sur le Web ». Dire cela, c’est introduire une fonction (syndication) et une catégorie d’objets (flux web) : deux outils didactiques, deux ressources cognitives qui facilitent la compréhension du sujet, en regroupant des entités distinctes (RSS, Atom…) via des définitions communes et des caractéristiques partagées.

Il me semble donc temps de cesser de parler de « flux RSS » quand on veut dire en fait « flux web ». Ce qui ne veut pas dire oublier la technique, chose impossible ici car la définition de « flux web » est forcément technique.

2 Formats

Un flux peut être exprimé dans différents formats. Tous respectent peu ou prou la même architecture, mais la mettent en œuvre sous différentes formes. La terminologie change également en fonction des formats : par exemple, RSS parle de canal et d’items, quand Atom parle de flux et d’entrées.

J’utilise plutôt la terminologie flux/entrée, par habitude d’Atom mais aussi dans un esprit de continuité avec l’expression « flux web ».

Pour l’internaute qui cherche à s’abonner à des sources d’information, les différences techniques entre formats importent peu : c’est la question de leur prise en charge par les différents lecteurs de flux qui est importante. Il est alors utile de connaître au moins les noms des principaux formats.

Pour les personnes qui souhaitent communiquer via des flux web, connaître les différences techniques entre formats est plus important, afin de choisir en connaissance de cause.

2.1 Architecture d’un flux web

Un flux web contient généralement deux choses :

  • quelques métadonnées descriptives sur le flux lui-même, comme le nom du ou des auteurs, la date de dernière mise à jour, etc.
  • des unités d’information, appelées « items » ou « entrées » suivant les formats.

Chaque entrée contient généralement du contenu hypertextuel, comme sur une page web, ou bien un lien vers une page web. Dit autrement, une entrée contient soit directement de l’information, soit le lien qui permet d’y accéder sur le Web.

Il existe différents formats qui mettent en œuvre cette architecture. Les métadonnées exactes, que ce soit pour le flux ou les entrées, varient d’un format à l’autre.

Architecture d’un flux web.

2.2 RSS

Le sigle RSS désigne une famille de formats qui correspondent aux premiers formats de flux web ayant réussi à percer dans le grand public. RSS est basé sur XML. La première version de RSS a été publiée initialement en 1999. De nos jours, RSS renvoie généralement à Really Simple Syndication ou RSS 2, la version la plus récente de RSS, qui date de 2009.

En RSS, le flux est désigné par le terme « canal » (en anglais : channel) et les unités d’information par le terme « item ».

Exemple de flux RSS (source : Wikipédia) :

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>Mon site</title>
        <description>Ceci est un exemple de flux RSS 2.0</description>
        <lastBuildDate>Sat, 07 Sep 2002 00:00:01 GMT</lastBuildDate>
        <link>http://www.example.org</link>
        <item>
            <title>Actualité N°1</title>
            <description>Ceci est ma première actualité</description>
            <pubDate>Sat, 07 Sep 2002 00:00:01 GMT</pubDate>
            <link>http://www.example.org/actu1</link>
        </item>
        <item>
            <title>Actualité N°2</title>
            <description>Ceci est ma seconde actualité</description>
            <pubDate>Sat, 07 Sep 2002 00:00:01 GMT</pubDate>
            <link>http://www.example.org/actu2</link>
        </item>
    </channel>
</rss>

2.3 Atom

Atom est un format de flux web concurrent de RSS, publié en 2005. Comme RSS, Atom est basé sur XML. Contrairement à RSS, Atom est un standard Internet (4287).

En Atom, le flux est désigné comme tel (en anglais : feed), tandis que les unités d’information sont appelées « entrées » (en anglais : entries).

Exemple de flux Atom (adapté de Wikipédia) :

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Mon site</title>
    <subtitle>Ceci est un exemple de flux Atom</subtitle>
    <link href="http://example.org/"/>
    <updated>2010-05-13T18:30:02Z</updated>
    <author>
        <name>Prénom Nom</name>
        <email>contact@example.org</email>
    </author>
    <id>urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6</id>
    <entry>
        <title>Actualité N°1</title>
        <link href="http://www.example.org/actu1"/>
        <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
        <updated>2010-04-01T18:30:02Z</updated>
        <summary>Ceci est ma première actualité</summary>
    </entry>
</feed>

2.4 Autres formats

D’autres formats existent, comme le microformat h-feed et les flux JSON (JSON Feed). Leur adoption est plus limitée que pour RSS et Atom.

2.5 Quel format choisir ?

Lorsqu’on a des informations à diffuser et qu’on souhaite créer un flux web, la question se pose : quel format choisir ? Dans un billet intitulé « RSS Best Practices », l’ingénieur canadien Kevin Cox recommande d’utiliser RSS 2 ou Atom. Il précise pourquoi :

« J’éviterais d’utiliser les autres formats (normes RSS antérieures à RSS 2, flux JSON, microformat h-feed, et a fortiori les formats encore moins courants) car ils sont moins largement pris en charge. Si vous n’avez pas encore de flux, je vous recommande vivement Atom. La spécification est beaucoup moins ambiguë que RSS 2, ce qui réduit les risques d’incompatibilité étant donné la grande variété de lecteurs flux disponibles. La spécification est également plus simple et plus claire dans l’ensemble. Mais si vous avez déjà un flux RSS 2, il y a peu de raisons de faire l’effort de passer à Atom. »

“Other common formats are earlier RSS standards and JSON Feed or Microformats h-feed. I would avoid using these—or even less common formats—as they are less widely supported. If you don’t have a feed yet I would highly recommend Atom. The specification has much less ambiguity, so you are less likely to have compatibility issues with the wide variety of clients in use. The specification is also simpler and more clear overall. If you already have an RSS 2 feed there is little reason to upgrade.”

3 Lecteurs de flux

On appelle généralement « lecteurs de flux » (d’après l’anglais : feed reader) ou « agrégateur de flux » les logiciels spécialisés dans la consultation de flux web. Ces logiciels permettent a minima de s’abonner à des flux, de les consulter et de recevoir des notifications. La plupart permettent également d’organiser les flux en collection. Certains logiciels ajoutent à cela des fonctionnalités sociales (partage, commentaire…).

De nombreux lecteurs de flux existent sous forme de service en ligne, comme Inoreader ou Feedly.

À titre personnel, j’utilise NetNewsWire sur macOS. C’est un logiciel qui me plaît pour deux raisons : c’est une excellente application macOS native ; et c’est un logiciel open source développé avec l’intention de contribuer à un Web plus libre. Dans « How to Support NetNewsWire », les développeurs nous encouragent à créer des blogs plutôt que des profils sur des réseaux sociaux, à utiliser plus de lecteurs de flux et à parler de cette technique autour de nous – une démarche originale, que je salue.

Certains logiciels incluent la lecture de flux parmi d’autres fonctionnalités. C’est le cas de certains clients email, ainsi que de certains logiciels bibliographiques comme Zotero (voir la page « Flux RSS » dans la documentation Zotero).

Entre 2005 et 2013, Google proposait un lecteur de flux sous la forme d’une application web appelée Google Reader. La fermeture de ce service très populaire, conjointement à l’essor des réseaux sociaux, a porté un coup sévère à la pratique des flux mais celle-ci n’a pas disparu. La majorité des outils de création de sites web génèrent automatiquement des flux, l’offre de ce côté ne s’est donc jamais tarie. Et depuis quelques années, l’étoile des réseaux sociaux pâlit, conduisant à un regain d’enthousiasme pour les flux.

D’une certaine manière, la disparition de Google Reader fut un mal pour un bien : si on fait partie des gens qui déplorent l’emprise de Google sur la navigation web, l’email ou la bureautique collaborative, on ne peut que se réjouir de son abandon des flux ; cela a permis à d’autres acteurs de s’installer, au bénéfice de l’internaute qui se trouve aujourd’hui face à une offre logicielle riche et diverse.

4 Le format OPML

OPML (Outline Processor Markup Language) est un format basé sur XML qui est utilisé pour stocker, importer et exporter des listes de flux web. Dit autrement, c’est le format standard pour gérer des abonnements à des flux. Utiliser un fichier OPML permet d’importer plusieurs flux d’un coup dans un lecteur de flux. Exporter ses abonnements en OPML permet de les partager avec d’autres personnes, de les importer dans d’autres applications, d’en conserver une copie en cas de problème avec son lecteur de flux, etc.

OPML a été développé à l’origine comme format interopérable pour une catégorie d’éditeurs de texte appelés outliners, dans lesquels on écrit sous forme d’outlines (listes hiérarchisées, trames). La communauté des développeurs et utilisateurs d’outliners se superpose en partie avec celle des flux web, ce qui fait qu’OPML a trouvé un autre usage. Les outliners restant un outil de niche, OPML est paradoxalement plus connu pour l’usage « détourné » lié aux flux web que pour son usage d’origine (celui qui lui donne pourtant son nom).

OPML Generator est une application en ligne permettant de générer un fichier OPML sans installer d’outil ni créer de compte. Collez simplement dans la zone de saisie une liste des URL des flux RSS que vous souhaitez compiler (une URL par ligne). Si vous connaissez une alternative open source ou bien si vous êtes capable de faire la rétro-ingénierie de ce service pour en faire une version open source, contactez-moi.