Scissions du RSS, contrôle d’Apple et conquête de Spotify : la guerre des standards qui n’a jamais cessé derrière le podcast

De la naissance de RSS et de la séparation entre RSS 1.0, RSS 2.0 et Atom, jusqu’à la domination du namespace itunes: et au retour de Podcasting 2.0, cet article explique pourquoi le RSS du podcast reste une infrastructure ouverte essentielle.
Compilation et rédaction : Gavin Chen
Un prodige de 14 ans, un animateur de MTV et un programmeur au caractère bien trempé ont contribué à rendre le podcast possible.
Des guerres de portails de Netscape aux micropaiements en Bitcoin, l’histoire du RSS du podcast est aussi celle de la survie du web ouvert.
Un mot lancé presque au hasard et une petite balise XML ont fini par soutenir une industrie pesant des milliards.
À l’époque du streaming et des algorithmes de recommandation, le podcast repose encore sur une base ancienne mais ouverte : RSS. Quand on s’abonne à une émission dans Apple Podcasts, XiaoYuZhou ou d’autres applications, ce qui travaille en coulisses est souvent toujours un flux XML.
Pourtant, tous les flux RSS de podcast ne se ressemblent pas. Certains sont saturés de balises itunes:. D’autres s’appuient largement sur content:encoded. Les plus récents ajoutent podcast:transcript, podcast:chapters ou podcast:value. Ces différences ne sont pas anecdotiques. Elles viennent de plus de vingt ans de conflits de standards, de luttes d’influence entre plateformes et de visions opposées du web.
Ce texte retrace cette histoire et montre comment le RSS du podcast est passé d’une expérimentation de passionnés à une infrastructure durable de l’audio ouvert.
Cet article est aussi publié sur le compte officiel WeChat de l’auteur ainsi que sur son compte X personnel. N’hésitez pas à les suivre.
Compte officiel WeChat : 小陈的科技日常
Compte X personnel : GavinC
Pour toute republication, citation ou demande de collaboration, vous pouvez contacter l’auteur via ce site, par message sur le compte officiel WeChat ou par message privé sur X.
Chapitre 1. Le commencement : comment RSS est né dans les guerres de portails de Netscape (1997-1999)
Pour comprendre le RSS du podcast, il faut revenir à la fin des années 1990. Netscape perdait rapidement du terrain face à Internet Explorer. Pour réagir, l’entreprise a poussé des produits de portail comme My.Netscape.Com, où les utilisateurs pouvaient agréger des liens et des titres venant de multiples sites. C’est ce besoin de syndication qui a fait naître RSS.
Source : wired
1.1 Guha, MCF et l’ombre de RDF
Ramanathan V. Guha avait travaillé auparavant chez Apple, au sein de l’Advanced Technology Group, où il avait conçu Meta Content Framework (MCF), un système destiné à décrire les relations entre documents et ressources. MCF influencera ensuite RDF. Quand Apple abandonne ce projet, Guha rejoint Netscape et poursuit son travail sur les métadonnées et la publication structurée.
Source : w3.org - An MCF Tutorial
En 1999, Netscape publie RSS 0.90, alors nommé RDF Site Summary. Le nom suggère une parenté forte avec RDF, même si, en pratique, l’implémentation est bien plus simple.
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://my.netscape.com/rdf/simple/0.9/">
<channel>
<title>My Netscape News</title>
<link>http://www.my.netscape.com</link>
<description>The best news on the web.</description>
</channel>
<item>
<title>Breaking News</title>
<link>http://www.my.netscape.com/news/breaking</link>
</item>
</rdf:RDF>1.2 L’arrivée de Dave Winer
Au même moment, Dave Winer travaillait sur des formats XML pour les blogs. À ses yeux, le premier RSS de Netscape était trop limité, car la syndication ne se résumait pas à des titres et des liens. Elle devait aussi transporter des résumés, des paragraphes et du contenu plus riche. Il a même qualifié publiquement le format de Netscape de « dramatiquement insuffisant » et dit qu’il lui manquait « précisément ce dont les auteurs et lecteurs du web ont besoin ».
English original: "woefully inadequate"; "missing the key thing web writers and readers need".
Ses idées ont fortement influencé RSS 0.91, dans lequel Netscape a abandonné une partie de son ambition RDF pour adopter une approche plus pragmatique. Dan Libby a d’ailleurs expliqué ce virage dans la spécification elle-même :
« RSS avait été conçu au départ comme un format de métadonnées fournissant un résumé d’un site web. Deux choses sont désormais claires : d’abord, les éditeurs veulent davantage un format de syndication qu’un format de métadonnées. La structure d’un fichier RDF est très précise et doit respecter le modèle de données RDF pour être valide. Ce n’est pas facilement compréhensible pour un humain et cela rend plus difficile la création de fichiers RDF utiles. Ensuite, il existe très peu d’outils pour générer, valider et traiter du RDF. Pour ces raisons, nous avons décidé d’opter pour une approche XML standard. »
English original: "RDF references removed. RSS was originally conceived as a metadata format providing a summary of a website. Two things have become clear: the first is that providers want more of a syndication format than a metadata format. The structure of an RDF file is very precise and must conform to the RDF data model in order to be valid. This is not easily human-understandable and can make it difficult to create useful RDF files. The second is that few tools are available for RDF generation, validation and processing. For these reasons, we have decided to go with a standard XML approach."

1.3 Quand Netscape s’est retiré, la guerre a commencé
Après le rachat de Netscape par AOL, RSS a perdu son premier gardien. My.Netscape a supprimé son support, et même la DTD de RSS 0.91 a disparu. Mais le format s’était déjà diffusé dans le monde des blogs. Avec une adoption croissante et sans arbitre reconnu, l’évolution de RSS s’est transformée en guerre de standards.
Chapitre 2. Guerre des dieux : RSS se fracture, Atom apparaît (2000-2005)
Après Netscape, l’univers RSS s’est essentiellement divisé en deux camps.
2.1 RSS 1.0 : la voie RDF et le web sémantique
Le groupe RSS-DEV, avec des figures comme Rael Dornfest et Guha, voulait redonner à RSS une base plus rigoureuse, fondée sur RDF. Le résultat fut RSS 1.0, publié en 2000.
Son héritage le plus important pour le podcast n’est pas tant son adoption massive que l’idée d’une extension par namespaces.
L’un de ses participants les plus marquants fut Aaron Swartz, alors âgé de 14 ans.
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://purl.org/rss/1.0/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel rdf:about="http://www.example.com/rss">
<title>Example Channel</title>
<link>http://www.example.com</link>
<description>An example RSS 1.0 feed</description>
<dc:creator>John Doe</dc:creator>
</channel>
<item rdf:about="http://www.example.com/article1">
<title>Article One</title>
<content:encoded><![CDATA[<p>Full HTML content here.</p>]]></content:encoded>
</item>
</rdf:RDF>2.2 RSS 2.0 : le pragmatisme l’emporte
Dave Winer jugeait les approches fondées sur RDF trop lourdes. Pour lui, RSS avait de la valeur parce qu’il était simple à produire et simple à lire. En 2002, il publie RSS 2.0, connu sous le nom de Really Simple Syndication.
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>Example Podcast</title>
<link>http://www.example.com</link>
<description>An example podcast feed</description>
<item>
<title>Episode 1</title>
<description>In this episode, we discuss...</description>
<enclosure url="http://www.example.com/ep1.mp3" length="12345678" type="audio/mpeg"/>
<guid>http://www.example.com/episode1</guid>
</item>
</channel>
</rss>Le point décisif était le suivant : un noyau léger, mais extensible via des namespaces. C’est cette combinaison qui a rendu RSS assez souple pour durer dans le podcast. Sur la mailing list, Winer a même laissé entendre qu’une scission devenait inévitable :
« Je continue de réfléchir à la manière de faire avancer RSS. Je veux clairement des choses de type ICE dans RSS2 ; publier et s’abonner est en tête de ma liste, mais je vais me battre bec et ongles pour la simplicité. J’adore les éléments optionnels. Je ne veux pas prendre la route des namespaces et des schémas, ni essayer d’en faire un dialecte de RDF. Je comprends que d’autres veuillent le faire, et je suppose donc qu’on va finir avec un fork. »
English original: "I'm still pondering how to move RSS forward. I definitely want ICE-like stuff in RSS2, publish and subscribe is at the top of my list, but I am going to fight tooth and nail for simplicity. I love optional elements. I don't want to go down the namespaces and schema road, or try to make it a dialect of RDF. I understand other people want to do this, and therefore I guess we're going to get a fork."
2.3 Atom : repartir de zéro
Beaucoup de développeurs étaient mécontents de la direction prise par RSS 2.0 et de l’influence de Winer. De là est né Atom, qui deviendra un standard IETF en 2005.
Atom apportait plusieurs améliorations :
- un
<id>obligatoire - une sémantique temporelle plus claire avec
publishedetupdated - une déclaration de type de contenu plus explicite
Atom n’a jamais remplacé RSS 2.0 dans le podcast, mais il a laissé un élément très important : atom:link rel="self".
2.4 Aaron Swartz et le coût humain du web ouvert
Aaron Swartz a ensuite participé à Creative Commons et à Markdown, avant de devenir un symbole de la liberté de l’information. Sa mort en 2013 rappelle que l’histoire de RSS n’est pas seulement technique.

Chapitre 3. La naissance du podcast : la magie de <enclosure> (2000-2004)
Le podcast n’est pas né d’un plan produit imaginé par un grand groupe. Il est apparu parce que des passionnés ont combiné des outils existants jusqu’à rendre possible la distribution automatique de l’audio.
3.1 Une petite balise, un impact immense
Fin 2000, Dave Winer ajoute <enclosure> à RSS 0.92 pour qu’un flux puisse pointer vers des fichiers média joints.
<enclosure url="http://www.scripting.com/mp3s/weatherReportSuite.mp3"
length="12216320"
type="audio/mpeg" />Ses trois attributs sont simples :
url: emplacement du fichierlength: taille du fichier en octetstype: type MIME
À l’époque, cela semblait mineur. Avec le recul, c’était la fondation technique du podcast. Le 11 janvier 2001, Winer a montré cette fonction pour la première fois sur son blog en joignant le morceau « Weather Report Suite » du Grateful Dead, avec cette phrase :
« C’est le premier audio enclosure que nous avons ajouté à RSS ; j’espère que cela deviendra une nouvelle manière de syndiquer. »
English original: "This is the first audio enclosure we've added to RSS, hopefully this will become a new way of syndicating."
3.2 Adam Curry et iPodder
Si Dave Winer est souvent vu comme le père technique du podcast, Adam Curry en a été le grand diffuseur. L’ancien animateur de MTV a compris le potentiel de <enclosure> et construit des outils capables de récupérer automatiquement l’audio depuis les flux pour le synchroniser avec l’iPod.

3.3 Comment le mot "podcast" est apparu
En 2004, le journaliste Ben Hammersley propose presque au détour d’une phrase le mot podcasting. Le terme reste. Peu après, des émissions comme Daily Source Code contribuent à imposer la forme culturelle du podcast. L’ouverture d’Adam Curry est restée célèbre :

Source : benhammersley.com
« ...avec un jet à 16 millions de dollars attaché au cul et la prochaine génération de la radio dans les oreilles, j’ai l’impression de voler vers le futur. »
English original: "...with a 16 million dollar jet strapped to my ass and the next generation of radio in my ears, I think I'm flying into the future."
Source : Oxford University Press
Chapitre 4. Apple entre en scène et la guerre des namespaces explose (2005-2010)
Quand le podcast commence à décoller, RSS 2.0 ne suffit plus. Il faut des champs pour les visuels, les auteurs, les catégories, les numéros de saison et d’épisode, ainsi que les indicateurs de contenu.
4.1 itunes: devient le standard de fait
En 2005, Apple intègre les podcasts à iTunes 4.9 et introduit le namespace itunes:. Pendant des années, être compatible podcast signifiait en pratique être compatible Apple.
Source : @MacMuzeum Youtube
<rss version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">
<channel>
<title>Planet Money</title>
<itunes:author>NPR</itunes:author>
<itunes:image href="https://media.npr.org/assets/img/podcast-cover.jpg"/>
<itunes:category text="Business">
<itunes:category text="Investing"/>
</itunes:category>
<itunes:explicit>false</itunes:explicit>
</channel>
</rss>Balises itunes: courantes :
| Balise | Signification | Niveau |
|---|---|---|
<itunes:author> | auteur ou animateur | canal, épisode |
<itunes:image> | illustration | canal, épisode |
<itunes:category> | catégories | canal |
<itunes:explicit> | contenu explicite | canal, épisode |
<itunes:duration> | durée | épisode |
<itunes:season> / <itunes:episode> | saison et numéro | épisode |
<itunes:new-feed-url> | nouvelle URL du flux | canal |
4.2 D’autres namespaces importants
Le RSS du podcast s’appuie aussi sur d’autres branches historiques :
content:encodedpour des show notes HTML completsatom:link rel="self"pour l’URL canonique du fluxdc:creatorpour les métadonnées Dublin Coremedia:pour une description média plus riche
<content:encoded><![CDATA[
<h2>Show Notes</h2>
<p>Dans cet épisode, nous parlons de...</p>
<h3>Repères temporels</h3>
<ul>
<li><strong>00:00</strong> - Introduction</li>
<li><strong>05:30</strong> - Interview</li>
</ul>
]]></content:encoded>4.3 L’époque Google Reader et le recul du RSS
Google Reader a porté RSS à grande échelle, puis sa fermeture en 2013 est devenue le symbole de son déclin. Le podcast s’est montré plus résilient, car les applications de podcast lisent en général directement le flux.
Chapitre 5. Trois styles typiques de flux RSS de podcast
Les flux de podcast ne diffèrent pas par hasard. Leur forme reflète des cultures d’hébergement et des priorités de compatibilité différentes.
5.1 Le style média traditionnel : NPR / Planet Money
- peu de namespaces
- fort alignement sur les conventions Apple
content:encodedpour les notes complètes- peu d’expérimentation
5.2 Le style plateforme d’hébergement : Simplecast / The Daily
- combinaison fréquente
itunes + atom + content - usage clair de
atom:link rel="self" - meilleur support des métadonnées de saison et d’épisode
- priorité à la compatibilité large
5.3 Le style indépendant et geek : Syntax.fm / Transistor
- combinaison fréquente
itunes + content + dc - notes HTML plus riches
- adoption plus rapide des nouveautés
- plus grande ouverture à Podcasting 2.0
| Caractéristique | style NPR | style Simplecast | style Syntax.fm |
|---|---|---|---|
| quantité de namespaces | faible | moyenne | moyenne |
atom:link | non | oui | optionnel |
dc:creator | non | non | oui |
| show notes | HTML | HTML | HTML riche + repères temporels |
| attitude face aux nouveaux standards | conservatrice | neutre | progressive |
Chapitre 6. Fermé contre ouvert : Spotify et le retour de Podcasting 2.0 (2019-aujourd’hui)
6.1 L’offensive de Spotify
À partir de 2019, Spotify dépense massivement pour enfermer le podcast dans son propre écosystème, via des acquisitions et des exclusivités. Les rachats de Gimlet et Anchor, puis les accords exclusifs comme celui avec Joe Rogan, en sont les exemples les plus visibles.
Pour les défenseurs du web ouvert, c’était une menace directe. Si une émission sort de la distribution RSS ouverte pour devenir un flux réservé à une plateforme, elle perd une part essentielle de sa nature.
6.2 Podcasting 2.0 répond
En 2020, Adam Curry et Dave Jones lancent Podcasting 2.0 et l’annuaire indépendant Podcast Index. L’objectif n’est pas de casser RSS 2.0, mais de l’étendre sans rompre la compatibilité existante.
Le cœur de cette évolution est le namespace podcast: :
<podcast:transcript url="https://example.com/ep1.srt" type="application/srt"/>
<podcast:chapters url="https://example.com/ep1-chapters.json" type="application/json+chapters"/>
<podcast:person role="host">John Doe</podcast:person>
<podcast:soundbite startTime="73.0" duration="60.0">
The most interesting part of the interview
</podcast:soundbite>Fonctions clés :
- transcriptions avec
<podcast:transcript> - chapitres avec
<podcast:chapters> - métadonnées des participants avec
<podcast:person> - extraits marquants avec
<podcast:soundbite> - échange direct de valeur avec
<podcast:value>
<podcast:value type="lightning" method="keysend" suggested="0.00000015000">
<podcast:valueRecipient name="Host" type="node" address="02d5c1..." split="90"/>
<podcast:valueRecipient name="Editor" type="node" address="03a8b7..." split="10"/>
</podcast:value>Chapitre 7. La forme particulière de l’écosystème podcast chinois
La Chine a suivi une trajectoire différente. Pendant longtemps, l’audio y a été dominé par des plateformes centralisées et fermées. Beaucoup de produits ressemblaient davantage à de la radio en ligne qu’à du podcast ouvert basé sur RSS.
L’arrivée de XiaoYuZhou en 2020 a marqué un tournant important : prise en charge de RSS, mais aussi fonctions sociales locales comme les commentaires liés à des timestamps, les états d’écoute et les analyses pour créateurs. Afra Wang, fondatrice du podcast chinois Loud Murmurs, a résumé ainsi l’importance de RSS :
« Quand mon émission a été supprimée de Ximalaya, j’ai perdu des milliers d’abonnés et tout l’historique des interactions. Mais comme nous avions un flux RSS, le contenu de l’émission restait accessible depuis d’autres clients. »
English original: "When my show was deleted on Ximalaya, I lost thousands of subscribers and all interaction records. But because we had an RSS feed, the show's content could still be accessed through other clients."
Chapitre 8. JSON Feed et l’avenir de la syndication
Dans le web moderne, JSON est souvent plus naturel que XML. C’est dans cette logique que JSON Feed apparaît en 2017, comme alternative plus simple à RSS et Atom.
{
"version": "https://jsonfeed.org/version/1.1",
"title": "My Example Podcast",
"feed_url": "https://example.com/feed.json",
"items": [
{
"id": "https://example.com/episode1",
"title": "Episode 1: Getting Started",
"content_html": "<p>Full HTML content here.</p>",
"attachments": [
{
"url": "https://example.com/ep1.mp3",
"mime_type": "audio/mpeg"
}
]
}
]
}JSON Feed est plus agréable pour beaucoup de développeurs, mais l’écosystème du podcast reste très fortement ancré dans RSS 2.0.
Chapitre 9. Conseils pratiques pour les créateurs de podcast
9.1 Que regarder dans une plateforme d’hébergement
| Plateforme | Support des namespaces | Support de Podcasting 2.0 | Convient à |
|---|---|---|---|
| Buzzsprout | itunes + atom + podcast | bon | débutants |
| Simplecast | itunes + atom + content | moyen | médias professionnels |
| Transistor | itunes + content + dc | bon | créateurs indépendants |
| Captivate | itunes + atom + podcast | fort | créateurs voulant de nouvelles fonctions |
| Libsyn | itunes + atom | moyen | publication stable et classique |
| XiaoYuZhou | itunes + content | nul | créateurs en chinois |
9.2 Balises indispensables
Au niveau du canal :
<title><description>ou<itunes:summary><itunes:image><itunes:category><itunes:author><itunes:explicit><language>
Au niveau de l’épisode :
<title><enclosure><pubDate><guid><itunes:duration><itunes:episodeType>
9.3 Erreurs fréquentes
- image de couverture hors des dimensions Apple
- valeur
lengthincorrecte sur<enclosure> - duplication des
<guid> - format
pubDateinvalide - oubli de
<itunes:new-feed-url>lors d’une migration
Chapitre 10. Pourquoi RSS compte encore
Si le podcast est devenu une industrie majeure, c’est aussi parce que son infrastructure est restée ouverte. Tout le monde peut publier un flux, créer une application ou faire tourner un annuaire. Cette ouverture réduit les barrières d’entrée et protège les créateurs lorsque les plateformes changent de règles.
De la balise <enclosure> de Dave Winer à Podcasting 2.0, en passant par l’idéal de liberté de l’information incarné par Aaron Swartz, l’histoire du RSS du podcast montre que la technique porte toujours une philosophie.
La prochaine fois que vous appuierez sur « S’abonner » dans une application de podcast, cela vaut la peine de penser à ces balises XML qui continuent de travailler silencieusement en arrière-plan.
Annexe : grandes dates de l’histoire du RSS du podcast
| Année | Événement |
|---|---|
| 1997 | Dave Winer conçoit un format XML pour Scripting News ; Guha travaille sur MCF chez Apple |
| 1999 | Netscape publie RSS 0.90 ; Winer publie ScriptingNews 2.0b1 ; Netscape publie RSS 0.91 |
| 2000 | RSS-DEV naît ; Aaron Swartz participe à RSS 1.0 ; <enclosure> est introduit |
| 2002 | Dave Winer publie RSS 2.0 |
| 2004 | « podcast » se diffuse ; Adam Curry popularise iPodder et Daily Source Code |
| 2005 | Apple intègre les podcasts dans iTunes 4.9 ; itunes: devient le standard de fait |
| 2013 | Google Reader ferme ; Aaron Swartz disparaît |
| 2017 | JSON Feed est publié |
| 2019 | Spotify rachète Gimlet et Anchor |
| 2020 | Podcasting 2.0 et Podcast Index sont lancés ; XiaoYuZhou arrive |
| 2022 | Podcast Standards Project publie PSP-1 |
| 2024 | Podcasting 2.0 progresse ; Spotify met fin à l’ère d’exclusivité Rogan |
Références
- Two-Bit History: The Rise and Demise of RSS. https://twobithistory.org/2018/12/18/rss.html
- Wikipedia: Dave Winer. https://en.wikipedia.org/wiki/Dave_Winer
- RSS Advisory Board: RSS History. https://www.rssboard.org/rss-history
- Wikipedia: Aaron Swartz. https://en.wikipedia.org/wiki/Aaron_Swartz
- Berkman Klein Center: RSS 2.0 Specification. https://cyber.harvard.edu/rss/rss.html
- Wikipedia: History of podcasting. https://en.wikipedia.org/wiki/History_of_podcasting
- Podcasting 2.0 Namespace Docs. https://podcasting2.org/docs/podcast-namespace/
- JSON Feed Version 1.1. https://www.jsonfeed.org/version/1.1