Atom Publishing Protocol

Page d’aide sur l’homonymie

Pour les articles homonymes, voir APP et Atom.

Atom Publishing Protocol ou APP (Protocole de Publication de documents Atom) ou AtomPub est un protocole de création, modification et destruction de ressources Web, typiquement au format Atom. Il est surtout utilisé dans le contexte des blogs mais peut servir à d'autres usages.

Le fonctionnement d'AtomPub

Si le format Atom permet de transporter des informations, le protocole AtomPub permet de mettre à jour ces informations. Un client AtomPub peut ainsi créer, modifier ou supprimer une ressource située sur un serveur AtomPub.

AtomPub est une implémentation technique se voulant respectueuse du style d'architecture REST. Un client AtomPub accède à une ressource avec la méthode HTTP GET, la détruit avec la méthode HTTP DELETE, etc.

Les données lues ou écrites par AtomPub sont exprimées en XML, au format Atom.

Normalisation

AtomPub est normalisé dans le RFC 5023[1], The Atom Publishing Protocol

Alternatives

AtomPub est en partie sur le même créneau que WebDAV, qui est comme lui un protocole d'avitaillement d'objets, bâti sur HTTP. En revanche, WebDAV n'utilise pas REST et le serveur doit gérer un état.

Pour accéder ou modifier le contenu de blogs, il existe plusieurs protocoles non-normalisés mais mis en œuvre dans beaucoup de logiciels comme Wordpress ou Dotclear. Ces protocoles sont en général bâtis sur XML-RPC.

Liens externes

  • (en) Getting to know the Atom Publishing Protocol Une bonne introduction à AtomPub
  • (en) Editing the Web Detecting the Lost Update Problem Using Unreserved Checkout pour l'explication de la méthode qu'utilise AtomPub pour permettre à deux clients de modifier une ressource sans que les actions de l'un n'effacent le travail de l'autre.
  • (en) The Atom Publishing Protocol Spécification IETF du protocole
v · m
7. Application
6. Présentation
5. Session
4. Transport
3. Réseau
2. Liaison
1. Physique
  • icône décorative Portail de l’informatique
  • icône décorative Portail d’Internet
  1. (en) Request for comments no 5023