Hyper Text Coffee Pot Control Protocol
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 diagnostique 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é : 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 World Wide Web Consortium 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
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ée dans la RFC, incluant le français).
Méthodes
Les méthodes ajoutées sont les suivantes :
BREW or 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 la 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
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és : Accept-Additions
et dont les paramètres possibles sont les suivants :
Champ d'en-tête | Description | Valeur(s) | Description |
---|---|---|---|
addition-type |
défini les choix d'addition possible pour la préparation du café | * |
tout 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éfini les choix de lait possible | Cream |
Crème |
Half-and-half |
moitié-moitié | ||
Whole-milk |
entier | ||
Part-Skim |
demi-écrémé | ||
Skim |
écrémé | ||
Non-Dairy |
|||
syrup-type |
défini les choix de sirop possible | Vanilla |
vanille |
Almond |
amande | ||
Raspberry |
framboise | ||
Chocolate |
chocolat | ||
alcohol-type |
défini les choix d'alcool possible | Whisky |
whisky |
Rum |
rhum | ||
Kahlua |
kahlua | ||
Aquavit |
aquavit |
Volontairement, aucune option n'est définie pour le décaféiné justifié par le commentaire : « quel est l'intérêt ? »
Codes d'erreur
Enfin, deux codes d'erreur client sont définis :
406 Not Acceptable |
Le serveur HTCPCP ne peut pas infuser du café pour différente raison, la réponse devrait indiquer une liste de type de café possible. |
418 I'm a teapot |
Le serveur HTCPCP est une théière. |
Notes et références
- ↑ (en) IETF — Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)
- ↑ (en) Extension Emacs — coffee.el
- ↑ (en) Bug 46647 — (coffeehandler) HTCPCP not supported (RFC2324)
- ↑ (en) Chief Arabica (Web-Controlled Coffee Consortium): HTCPCP Vocabulary in RDF – WC3 RFC Draft 01 April 2008.
- ↑ (en) Johannes Koch et al (editors): HTTP Vocabulary in RDF.
- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Hyper Text Coffee Pot Control Protocol » (voir la liste des auteurs).