Extensions | .atom , .xml |
---|---|
Type MIME | application/atom+xml |
Développé par | |
Version initiale | |
Type de format | |
Basé sur | |
Site web |
L'Atom Syndication Format — littéralement Format de syndication Atom, ou simplement Atom, est un format ouvert de document fondé sur XML conçu pour la syndication de contenu périodique, tel que les blogs ou les sites d'actualités. Pour l'utilisateur, la syndication est un procédé de souscription à des sources de contenu. Pour l'auteur, c'est un procédé de publication simultanée dans de multiples supports.
Généralités
Un document au format Atom est appelé un « fil de syndication Atom » ou fil Web. Ces fils peuvent être affichés aussi bien sur un site Web que directement dans un agrégateur, qui est un logiciel prévu à cet effet. Cela permet de suivre, ou « s'abonner », à un fil. Le propriétaire d'un site web peut quant à lui utiliser un logiciel spécialisé, tel qu'un système de gestion de contenu, pour publier une liste de ressources, dans un format standardisé et lisible par une machine, et dont il souhaite notifier des mises à jour.
Le développement d'Atom a été justifié par le manque de flexibilité commun aux nombreuses variantes de RSS et la faible interopérabilité[1] des protocoles de publication fondés sur XML-RPC.
Le Format de Syndication Atom fut normalisé en par l'IETF dans la RFC 4287[2] en tant que Proposed Standard, contrairement aux divers RSS, pilotés par des entreprises privées.
Ce format est décrit par un schéma XML spécifié grâce au langage RelaxNG. Un fil est constitué d'entrées, qui peuvent être des titres de nouvelles, des articles entiers ou résumés, ainsi qu'éventuellement des liens et métadonnées relatives au site.
Les versions expérimentales du format (Atom 0.3) furent un moment relativement répandues sur l'Internet, aux environs de 2003.
Chronologie du développement
Au moment où l'idée d'Atom est esquissée, en , la principale manière de « syndiquer » périodiquement du contenu est d'utiliser la famille des formats RSS.
Pour le groupe de personnes pensant que ces formats souffraient d'insuffisances ou de défauts, il était impossible d'opérer directement des changements sur RSS 2.0. En effet, les spécifications indiquaient que le format était gelé afin d'en assurer la stabilité[3].
En , Sam Ruby (en) établit un wiki pour discuter de ce qui constitue « une entrée de journal bien-formée »[4]. Cet article servit de point de ralliement[5], et certains commencèrent à utiliser le wiki pour discuter d'un nouveau format de syndication afin de pallier les manques de RSS.
Il devint clair que le nouveau format pouvait de plus devenir un creuset pour le remplacement de protocoles comme l'API Blogger ou le protocole XML-RPC client-serveur de LiveJournal par un protocole plus robuste.
Les objectifs visés étaient de développer un format de syndication de contenu qui soit[6] :
- Indépendant vis-à-vis des protagonistes (« 100% vendor neutral »)
- Facile à mettre en œuvre (« implemented by everybody »)
- Librement extensible par quiconque (« freely extensible by anybody »)
- Défini clairement et complètement (« cleanly and thoroughly specified »)
Une feuille de route fut établie et rapidement des noms connus soutinrent cette initiative.
Cependant, les débats devinrent chaotiques à cause de l'absence d'un processus chargé d'entériner les décisions. Il manquait aussi un nom au projet, testant tour à tour des suggestions comme « Pie », « Echo », et « Necho », avant de se décider pour « Atom ».
Après avoir livré une version de travail du projet, nommé Atom 0.2, au début de , les débats furent portés hors wiki, vers une liste de diffusion dédiée. La fin de cette phase fut marquée par la mise à disposition d'une nouvelle version de travail du projet Atom 0.3 en .
En 2004, il fut envisagé de confier le projet à un groupement tel que le consortium W3C ou l'Internet Engineering Task Force. L'IETF fut choisie et le groupe de travail Atompub fut formé.
Le brouillon définitif d’Atom 1.0 fut publié en et accepté par l'IETF en tant que published standard en août, avant d'être proposé comme « internet official protocol standard » en dans l'IETF RFC 4287[2].
Exemple de fil Atom 1.0
Un exemple de document au format de syndication Atom :
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Fil d'exemple</title>
<subtitle>Un titre secondaire.</subtitle>
<link href="http://example.org/"/>
<updated>2010-05-13T18:30:02Z</updated>
<author>
<name>Paul Martin</name>
<email>paulmartin@example.com</email>
</author>
<id>urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6</id>
<entry>
<title>Des robots propulsés par Atom deviennent fous</title>
<link href="http://example.org/2003/12/13/atom03"/>
<id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
<updated>2010-04-01T18:30:02Z</updated>
<summary>Poisson d'avril !</summary>
</entry>
</feed>
Différences avec RSS
Atom possède plusieurs avantages par rapport à RSS : licence moins restrictive, type MIME enregistré par l'IANA, espace de noms XML, supporte les URI et Relax NG[7].
RSS 2.0 | Atom 1.0 |
---|---|
author
|
author [8]
|
category
|
category
|
channel
|
feed
|
copyright
|
rights
|
description
|
subtitle
|
description [8]
|
summary ou content
|
generator
|
generator
|
guid
|
id [8]
|
image
|
logo
|
item
|
entry
|
lastBuildDate (au sein de channel )
|
updated [8]
|
link [8]
|
link v
|
managingEditor
|
author or contributor
|
pubDate
|
published (au sein de entry )
|
title [8]
|
title [8]
|
ttl
|
-
|
Notes et références
- (en) « Six Apart News & Events ».
- (en) « The Atom Syndication Format », Request for comments no 4287
- (en) « RSS 2.0 Specification (RSS 2.0 at Harvard Law) ».
- (en) « Anatomy of a Well Formed Log Entry »
- (en) « I Like Pie ».
- (en) « RoadMap ».
- (en) Leslie Sikos, Web standards : Mastering HTML5, CSS3, and XML, Apress, , 524 p. (ISBN 978-1-4302-4041-9, lire en ligne)
- Élément obligatoire sous certaines conditions.