Hyper Text Coffee Pot Control Protocol

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

L'Hyper Text Coffee Pot Control Protocol ou HTCPCP — de l'anglais signifiant littéralement « protocole hypertexte de gestion de cafetière » — est une proposition humoristique de protocole de communication client-serveur permettant le contrôle, la surveillance et le diagnostic de cafetière.

HTCPCP est décrit dans la RFC 2324 publié le [1] et bien que cette RFC soit un poisson d'avril, elle est suffisamment bien décrite pour être implémentée : l'éditeur de texte Emacs possède d'ailleurs une extension[2] permettant de générer des requêtes d'infusion via HTCPCP.

Il existe également un rapport de bug qui déplore l'absence de support du protocole dans la suite Mozilla[3].

Le , 10 ans après la publication d'HTCPCP, un Web-Controlled Coffee Consortium (WC3) imaginaire publie une première version de la description du vocabulaire RDF[4] en imitation du World Wide Web Consortium (W3C) et de son propre HTTP Vocabulary in RDF[5].

Description du protocole[modifier | modifier le code]

HTCPCP est une extension du protocole HTTP dont les requêtes sont identifiées par le schéma d'URI coffee: (ou le nom du café dans l'une des 29 langues listées dans la RFC, incluant le français).

Méthodes[modifier | modifier le code]

Les méthodes ajoutées sont les suivantes :

BREW ou POST Déclenche l'infusion du café par le serveur HTCPCP
GET Récupère le café depuis le serveur HTCPCP
PROPFIND Affichage des métadonnées sur le café
WHEN Envoyer when notifie le serveur HTCPCP de stopper l'écoulement du lait dans le café (s'il y a lieu)

Champs d'en-tête[modifier | modifier le code]

De plus, afin de définir la préparation suivant les possibilités de la cafetière, un champ d'en-tête est également ajouté : Accept-Additions. Les valeurs possibles sont les suivantes :

Champ d'en-tête Description Valeur(s) Description
addition-type définit les choix d'addition possibles pour la préparation du café * tous les types
milk-type choix de lait (voir plus bas)
syrup-type choix de sirop (voir plus bas)
sweetener-type choix de sucre
spice-type choix d'épice
alcohol-type choix d'alcool (voir plus bas)
milk-type définit les choix de lait possibles Cream Crème
Half-and-half moitié-moitié
Whole-milk entier
Part-Skim demi-écrémé
Skim écrémé
Non-Dairy non laitier (ex. : lait de soja)
syrup-type définit les choix de sirop possibles Vanilla vanille
Almond amande
Raspberry framboise
Chocolate chocolat
alcohol-type définit les choix d'alcool possibles Whisky whisky
Rum rhum
Kahlua kahlua
Aquavit aquavit

Volontairement, aucune option n'est définie pour le décaféiné, choix justifié par le commentaire : « quel est l'intérêt ? »

Codes d'erreur[modifier | modifier le code]

Enfin, deux codes d'erreur client sont définis :

406 Not Acceptable Le serveur HTCPCP ne peut pas infuser du café pour différentes raisons, la réponse devrait indiquer une liste de types de café possibles.
418 I'm a teapot Le serveur HTCPCP est une théière.

Notes et références[modifier | modifier le code]

  1. (en) IETF — Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)
  2. (en) Extension Emacs — coffee.el
  3. (en) Bug 46647 — (coffeehandler) HTCPCP not supported (RFC2324)
  4. (en) Chief Arabica (Web-Controlled Coffee Consortium): HTCPCP Vocabulary in RDF – WC3 RFC Draft 01 April 2008.
  5. (en) Johannes Koch et al (editors): HTTP Vocabulary in RDF.

Voir aussi[modifier | modifier le code]

Sur les autres projets Wikimedia :