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 diagnostic de cafetière.
HTCPCP est décrit dans la RFC 2324[1] publié le [2] 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[3] permettant de générer des requêtes d'infusion via HTCPCP.
Il existe également un rapport de bug sur bugzilla qui déplore l'absence de support du protocole dans la suite Mozilla[4].
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[5] en imitation du World Wide Web Consortium (W3C) et de son propre HTTP Vocabulary in RDF[6].
Le , la RFC 7168[7] étend le protocole à l'infusion du thé, sous le nom Hyper Text Coffee Pot Control Protocol for Tea Efflux Appliances (HTCPCP-TEA).
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ées dans la RFC : afrikaans, allemand, anglais, arabe, azéri, basque, bengali, bosnien, bulgare, catalan, chinois, coréen, croate, danois, espéranto, estonien, finnois, français, galicien, grec, hindi, japonais, néerlandais, norvégien, russe, suédois, tchèque, thaï).
Méthodes
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
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 |
kahlúa | ||
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
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. Ce code d'erreur est renvoyé par certains sites web en réponse à des requêtes qu'ils refusent de traiter, comme celles provenant de bots[8]. |
Reprises sur le web
Quelques sites ont depuis repris l'idée pour afficher des pages faisant référence à ce poisson d'avril. Google a par exemple créé une page affichant une théière sur laquelle il est possible de cliquer pour verser. Sur la version mobile, il suffit de pencher l'appareil pour verser le thé dans la tasse.
Notes et références
- (en) Request for comments no 2324.
- (en) « Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0) », IETF.
- (en) « Downloads -=- Eric Marsden », sur emarsden.chez.com (consulté le ).
- (en) « 46647 – (coffeehandler) Joke: HTCPCP not supported (RFC2324) », sur bugzilla.mozilla.org (consulté le ).
- (en) « HTCPCP Vocabulary in RDF », KU Leuven, Departement Elektrotechniek (ESAT), (version du 29 janvier 2010 sur Internet Archive).
- (en) « HTTP Vocabulary in RDF 1.0 », sur www.w3.org (consulté le ).
- (en) Request for comments no 7168.
- « 418 I'm a teapot », MDN Web Docs.
- (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).
Voir aussi
- RFC du (en)
- Trojan Room coffee pot