pot.42 (17479B)
1 .TH POT 42 "2010-08-23" ENS "Hitchhiker's Guide to the ENS" 2 .SH NAME 3 pot \- source 4 .BR canonique(42) 5 de nourriture pour le normalien 6 .SH DESCRIPTION 7 Le pot est la cantine de l'ENS, et le lieu favori d'alimentation des 8 normaliens, surpassant même le 9 .BR chinois_canonique(42). 10 Attention, le terme \(lqpot\(rq est ambigu et peut aussi désigner une 11 occurrence de 12 .BR free_food(42), 13 comme dans le langage courant. Le contexte fournit en général 14 suffisamment d'informations pour choisir la bonne interprétation (voir 15 .BR contexte(42)). 16 .PP 17 Le pot ne doit pas non plus être confondu avec la 18 .BR cafeteria(42) 19 qui se trouve dans la même salle mais ne propose pas les mêmes produits, 20 et encore moins avec la 21 .BR kfet(42) 22 qui se trouve totalement ailleurs et propose des produits totalement 23 différents. 24 .PP 25 Les étapes classiques d'un repas de midi au pot sont : 26 .PP 27 - Le chargement de la normal`carte (voir 28 .BR normal_carte(42)) 29 avec une certaine quantité d'argent. Deux services parallèles sont 30 utilisables pour cela : un automate situé dans le pot (qui accepte la 31 carte bancaire) et un guichet avec un interlocuteur humain situé à 32 l'extérieur du pot (qui accepte le liquide). Le choix de l'un ou de 33 l'autre s'effectue selon les moyens de paiement dont vous disposez, et, à 34 défaut, en fonction de la longueur de la file d'attente. Cependant, si 35 vous souhaitez également faire une partie de démineur, il faut bien 36 entendu choisir l'automate (et avoir un peu de chance). 37 .PP 38 - La consultation des plats proposés. Des échantillons sont présentés 39 sur une table près de l'automate de chargement. Attention, il s'agit 40 fréquemment d'un goulot d'étranglement. En début de service, il existe 41 quatre lignes parallèles (sur la grillade, sur la pâte, sur le feu et 42 sur le port) proposant chacune un ou deux plats (en général des 43 grillades, des pâtes ou de la pizza, de la viande et du poisson 44 respectivement). Avec le temps, les lignes ferment les unes après les 45 autres (d'une façon assez imprévisible) ; dans certains cas, certains 46 plats de la ligne fermée respawnent sur une autre ligne encore ouverte. 47 .PP 48 - Le choix d'une ligne, ce qui est plus difficile qu'il n'y paraît. Les 49 critères sont : les qualités gustatives du plat proposé, les qualités 50 gustatives des périphériques proposés (en particulier les desserts), la 51 longueur de la queue, et, dans le cas d'un groupe de personnes, le 52 nombre de sous-groupes formés (aussi peu que possible). 53 .PP 54 - Le passage de la ligne, dont voici les étapes : 55 .br 56 * Dépiler un plateau. (Si la pile est vide, lever une exception qui 57 sera rattrapée par le personnel.) 58 .br 59 * Charger un couteau, une fourchette, une cuillère, un verre. (Même 60 gestion des exceptions.) Le problème général d'agencement des objets sur 61 le plateau est NP-complet, mais on ne s'intéresse ici qu'à une instance 62 de petite taille. 63 .br 64 * Empiler le plateau sur le rail. 65 .br 66 * Empiler le couteau, la fourchette, la cuillère et le verre sur le 67 plateau. 68 .br 69 * Dépiler N périphériques et les empiler sur le plateau. Noter que N 70 est trivialement borné car l'aire du plateau est finie. 71 .br 72 * Négocier le paiement pour le repas. Son montant dépend de N. 73 Celui-ci est effectué par l'infrastructure informatique, mais 74 l'interface est un opérateur humain. Le protocole utilisé est un 75 sous-ensemble compatible avec l'interaction humaine standard. À titre 76 d'exemple, voici une trame courante : 77 .br 78 > 220 Bonjour. 79 .br 80 < 220 Bonjour. 81 .br 82 > 250 NORMAL`CARTE 83 .br 84 < 220 Merci. 85 .br 86 ... 87 .br 88 < 250 NORMAL`CARTE + TICKET 89 .br 90 < 220 Bon appétit ! 91 .br 92 > 220 Merci. 93 .br 94 D'autres réponses communes sont : 95 .br 96 < 354 Pensez à recharger. 97 .br 98 Cet avertissement signale que le crédit sur la normal`carte est 99 suffisant pour compléter la transaction, mais qu'il risque d'être 100 insuffisant pour de prochaines transactions. Le client devrait penser à 101 recharger sa carte bientôt. 102 .br 103 < 503 Vous n'avez plus assez de crédit. 104 .br 105 Cette erreur signale que le crédit sur la normal`carte est 106 insuffisant pour compléter la transaction. Le client doit alors empiler 107 son plateau dans une zone tampon spéciale et procéder au rechargement de 108 sa carte. La zone tampon permet aux requêtes des autres utilisateurs 109 d'être traitées par l'opérateur en parallèle avec la procédure de 110 rechargement, et permet au client fautif de reprendre la transaction 111 dans son état courant une fois le rechargement effectué. 112 .br 113 * Dépiler une serviette et l'empiler sur le plateau. Cette opération 114 peut être parallélisée avec la précédente pendant le temps d'attente 115 indiqué par des points de suspension dans la trame. 116 .br 117 * Dépiler des périphériques supplémentaires. En effet, une extension 118 au protocole permet au pot de proposer des périphériques (généralement 119 des plats chauds) après l'opération de paiement. Ceux-ci doivent 120 cependant être signalés à l'opérateur lors du paiement, ou peuvent être 121 proposés spontanément par l'opérateur. Par exemple : 122 .br 123 > 250 Je prendrais bien aussi une soupe. 124 .br 125 < 250 D'accord. 126 .br 127 < 250 SOUPE [N += 1] 128 .br 129 > 220 Merci. 130 .br 131 Ou bien : 132 .br 133 < 250 Voulez-vous prendre une soupe ? 134 .br 135 > 250 Oui, je veux bien. 136 .br 137 < 250 SOUPE [N += 1] 138 .br 139 > 220 Merci. 140 .br 141 * Empiler le plat principal sur le plateau. Il arrive que le pot 142 propose des plats déjà prêts qu'il suffit de dépiler et d'empiler sur le 143 plateau. Si le plat de votre choix n'est pas proposé, il faut procéder à 144 une phase de négociation avec un autre opérateur pour que celui-ci 145 construise le plat que vous désirez à partir des ingrédients proposés. 146 Par exemple : 147 .br 148 > 220 Bonjour. 149 .br 150 < 220 Bonjour. 151 .br 152 > 250 Je voudrais des haricots verts, des pâtes, et un steak, s'il vous plaît. 153 .br 154 < 350 Alors, haricots verts, pâtes, et saucisses, c'est bien ça ? 155 .br 156 > 354 Non, un steak. 157 .br 158 < 250 Ah, ok, d'accord, désolé. N'hésitez pas à dire ce que vous 159 voulez, hein, et dites-le clairement, hein, parce que c'est parfois 160 difficile de comprendre ce que les gens veulent, hein. 161 .br 162 > 250 Pas de problème. 163 .br 164 > 250 D'accord. 165 .br 166 < 350 Vous voulez un peu plus de sauce ? 167 .br 168 > 250 Oui, s'il vous plaît. 169 .br 170 < 250 D'accord. 171 .br 172 < 250 HARICOTS_VERTS + PÂTES + STEAK + SAUCE 173 .br 174 > 250 Merci. 175 .br 176 > 221 Bonne journée ! 177 .br 178 Bien entendu, toutes les combinaisons d'ingrédients ne sont pas 179 possibles. 180 .br 181 * Empiler du pain sur le plateau. 182 .br 183 * Dépiler le plateau du rail. 184 .PP 185 - Le chargement en salade. Il existe deux points proposant de la salade 186 à volonté, ainsi que de la sauce (toujours la même) et divers 187 condiments. Des ramequins permettent d'entreposer la salade et la sauce 188 en l'isolant des autres éléments présents sur le plateau. 189 .PP 190 - La recherche d'un siège et d'une table. Cette opération est parfois 191 délicate lorsque la charge du pot est élevée, ou lorsqu'il s'agit d'un 192 groupe de cardinal élevé dont les membres ne souhaitent pas être 193 séparés. Les endroits où il est possible de s'asseoir sont la salle 194 principale du pot, la salle de la 195 .BR cafet(42), 196 une petite salle annexe, la 197 .BR couro(42), 198 et la 199 .BR cour_pasteur(42) 200 (en fonction de la saison et de l'humeur de ceux qui vous voient 201 passer). Si les ressources en termes de places assises sont 202 insuffisantes, il est nécessaire d'attendre, debout, que des slots se 203 libèrent. Il est possible d'avoir recours à la communication paraverbale 204 : si l'on attend debout près d'une table où les gens ont visiblement 205 fini leur repas, ils infèrent généralement le message correct ("354 206 System load is high. Please free(3) your unused resources"). Noter que 207 cette architecture est décentralisée : les ressources inutilisées ne 208 sont pas réallouées par un OOM killer centralisé, mais sont demandées de 209 façon non-préemptive par les autres processus. 210 .PP 211 - L'alimentation en eau. Elle nécessite non seulement de l'eau, mais 212 également un récipient (une cruche). Les cruches sont initialement 213 présentes dans un pool centralisé, sont allouées par les clients, mais ne 214 sont jamais désallouées par ceux-ci ; un ramasse-miettes à la fin du 215 service se charge de désallouer toutes les cruches. En conséquence, 216 l'algorithme permettant, à l'arrivée à votre table, de munir celle-ci 217 d'une cruche, est comme suit : 218 .br 219 * Si la table dispose déjà d'une cruche (allouée par des utilisateurs 220 antérieurs de la table), l'utiliser. 221 .br 222 * Sinon, récupérer une cruche du pool des cruches non-allouées. 223 .br 224 * Si toutes les cruches ont été allouées, procéder à la réallocation 225 d'une cruche allouée mais non utilisée, en cherchant une cruche allouée 226 sur une table actuellement vide. 227 .br 228 * En cas de pénurie aggravée de cruches, s'en dispenser, et remplir 229 directement les verres au robinet (voir plus bas). Ce mode sans échec, 230 quoique plus simple, est très clairement moins performant. 231 .br 232 Une fois que votre table dispose d'une cruche, il est nécessaire, si 233 elle est vide, de la remplir. Pour ce faire, un certain nombre de 234 fontaines sont à votre disposition dans le pot. Ces fontaines peuvent 235 remplir jusqu'à deux cruches en parallèle ; la politique 236 d'ordonnancement optimale du remplissage des cruches est sujette à débat 237 (il est nécessaire de comparer le débit total produit par les deux 238 robinets ouverts et le débit produit par un seul robinet, et de prendre 239 en compte le temps caractéristique nécessaire pour le déchargement des 240 cruches pleines et le chargement des cruches vides). 241 .br 242 Les interactions entre la cruche, les verres, et les autres personnes 243 présentes sont complexes. L'algorithme suivant, à exécuter si vous avez 244 soif, fonctionne généralement. 245 .br 246 * Tant que vous avez soif : 247 .br 248 * Si votre verre n'est pas vide, boire son contenu. 249 .br 250 * Sinon, si la cruche n'est pas à portée de main, négocier le 251 remplissage de votre verre avec une personne à portée de la cruche : 252 .br 253 > 220 Je pourrais avoir de l'eau, s'il te plaît ? 254 .br 255 > 220 VERRE 256 .br 257 ... 258 .br 259 < 220 VERRE + EAU 260 .br 261 > 220 Merci. 262 .br 263 * Sinon, si la cruche est vide, remplir la cruche. 264 .br 265 * Demander qui veut à boire. 266 .br 267 * Tant qu'il reste des demandes à traiter : 268 .br 269 * Traiter une demande. 270 .br 271 * Si la cruche est vide, remplir la cruche. 272 .br 273 * Demander qui veut à boire. 274 .br 275 * Remplir votre verre. 276 .br 277 * Si la cruche est vide, remplir la cruche. 278 .br 279 L'écriture de l'algorithme de traitement d'une demande externe 280 (lorsqu'un utilisateur qui veut boire mais n'a pas la cruche à portée 281 vous transmet sa demande) est laissé en exercice au lecteur. 282 .PP 283 - La consommation du repas proprement dite, que nous supposerons 284 acquise. 285 .PP 286 - La désallocation des ressources. Il faut d'abord libérer votre place 287 assise, puis votre plateau et son contenu, en le plaçant sur un tapis 288 roulant. Il n'y en a qu'un seul pour tout le pot, donc c'est parfois un 289 goulot d'étranglement. Noter qu'il existe une mémoire tampon permettant 290 d'entreposer des plateaux supplémentaires lorsque le débit des plateaux 291 à libérer est supérieur à la vitesse de traitement des plateaux, qui est 292 vidée lorsque le débit devient largement inférieur à la vitesse de 293 traitement des plateaux. En cas de dépassement de mémoire tampon et de 294 charge trop élevée, certains clients dumpent leur plateau sur des 295 surfaces libres proche de la zone tampon. 296 .br 297 Le ticket peut être laissé sur le plateau, mais pas la normal`carte. Les 298 normal`cartes laissées par erreur sur les plateaux sont redirigées vers 299 une zone spéciale où elles attendent d'être récupérées par leur 300 propriétaire. 301 .PP 302 Dans la description qui précède, N peut varier dans les limites du 303 raisonnable. Cependant, le choix 304 .BR canonique(42) 305 est de prendre N=2, car des calculs paraît-il profonds mais depuis 306 longtemps oubliés indiquent qu'il s'agit là du choix optimal en termes 307 de rapport qualité-prix (car le tarif du repas, qui croît bien sûr avec 308 N, n'est pas une fonction affine de N mais le résultat d'un complexe 309 calcul portant sur des subventions, sur la catégorie de personnel, et 310 sur des bizarreries administratives que vous ne voulez pas connaître en 311 détail (adressez-vous au guichet I, couloir de gauche, dernière porte à 312 droite...)). 313 .PP 314 Si le choix du plat principal peut être déchirant, le choix des 315 périphériques peut l'être encore plus. En général, des entrées, des 316 produits laitiers, des desserts et des boissons sont proposés. Il est 317 tout à fait permis de prendre deux desserts, et c'est un choix courant 318 et souvent tout à fait raisonnable ; il est même possible de prendre 319 deux fois le même dessert, ce qui est moins courant mais parfois 320 raisonnable. La classification périodique des desserts du pot reste à 321 établir, mais sa détermination exacte serait sans doute un travail d'une 322 grande importance scientifique ; en effet, les qualités gustatives des 323 desserts ne sont que rarement corrélées à leur apparence visuelle. 324 (Méfiez-vous des verrines ! Certaines sont bonnes, d'autres risquent de 325 vous surprendre...) En cas de doute sur le caractère comestible de votre 326 cueillette, adressez-vous à votre pharmacien, ou, à défaut, à un 327 .BR vieux_con(42). 328 .PP 329 Une légende ancienne prétend que, sur 330 .BR clipper(42), 331 la commande "pot" permet d'afficher le menu du pot. C'était le cas il y 332 a longtemps, mais des expériences rigoureuses nous permettent de 333 conclure à l'absence de toute corrélation significative entre le menu du 334 pot et le menu de "pot", résultat confirmé par des discussions sur 335 .BR forum(I). 336 Fort heureusement pour les gens qui, se trouvant en 337 .BR info4(I) 338 chercheraient à déterminer si le menu du pot est suffisamment alléchant 339 pour justifier une excursion à la surface, le menu du pot se cache 340 quelque part sur l' 341 .BR intranet(42) 342 de l'école. Cependant, sachez que la réponse canonique à cette question 343 est "oui" (voir 344 .BR gras(42)). 345 .PP 346 Il est également possible de manger au pot le soir : c'est très 347 utile, et il y a moins de monde (plus pratique), mais il y a moins de 348 monde (moins convivial) et c'est plus cher. Une seule des quatre lignes 349 est ouverte, ce qui est amplement suffisant ; sont proposés la salade à 350 volonté, certains plats chauds (qui étaient en général déjà proposés le 351 midi), un choix souvent maigre de périphériques, et des plats froids à 352 réchauffer soi-même au micro-ondes. Les deux formules canoniques (qui 353 coûtent autant que celle du midi, mais sont moins copieuses) sont plat 354 chaud et un périphérique, ou plat froid et deux périphériques. 355 .PP 356 Un service de petit-déjeuner (ou, selon la phase, de dîner tardif) est 357 également proposé, mais par la 358 .BR cafeteria(42) 359 et non par le 360 .BR pot(42) : 361 c'est le 362 .BR petit_pot(42). 363 .SH HISTORY 364 Une description d'anciennes versions de 365 .BR pot(42) 366 peut être trouvée sur la page 367 .BR pot(I). 368 .PP 369 Il existait jusqu'à 2010 une possibilité supplémentaire pour le pot du 370 soir : 371 celle de prendre un "plat de légumes". Il s'agissait d'un plat chaud sans la 372 viande (ce qui laisse en général des légumes et des féculents, quoiqu'il 373 est souvent préférable de jeter un coup d'oeil avant de prendre cette 374 option pour s'assurer de ne pas avoir que des haricots verts ou que des 375 frites), avec la possibilité (si la viande s'y prête) d'obtenir "un peu" 376 de sauce en plus. Le plat de légumes coûtait 1 euro, et un périphérique 377 coûtait 80 centimes, soit un coût imbattable de 1 euro 80 centimes pour un 378 repas tout à fait satisfaisant comportant légumes, sauce, périphérique 379 (dessert évidemment), pain et salade à volonté. L'obtention 380 du plat de légumes devait être demandée au moment de la facturation, de 381 l'une des deux façons équivalentes suivantes : 382 .br 383 > 220 Légumes seulement, s'il vous plaît. 384 .br 385 > 220 Que des légumes, s'il vous plaît. 386 .br 387 La demande de sauce était émise au moment de la négociation du plat 388 chaud, et pouvait être initiée par le serveur, ou, à défaut, par le 389 client : 390 .br 391 < 220 Vous voulez un peu de sauce ? 392 .br 393 > 220 Est-ce que je pourrais avoir un peu de sauce, s'il vous plaît ? 394 .br 395 L'implémentation de cette norme du côté du serveur était assez peu 396 stable, et il pouvait être nécessaire de réémettre certaines commandes 397 lors de la facturation ou de la négociation des plats chauds, et de 398 rappeler au serveur que le flag CLIENT_REQUESTS_ONLY_VEGETABLES a été 399 placé à True. Heureusement, le serveur pouvait effectuer un rollback en 400 cas d'erreur lors de la facturation (quoiqu'il peut alors émettre un 401 message d'avertissement si la charge est élevée). 402 .PP 403 À la rentrée 2011 (ou peut-être avant), le format des tickets de pot 404 avait changé, et les serveurs du pot indiquaient que les bornes ne leur 405 permettaient plus de choisir un autre tarif pour le soir que le prix 406 unique de 3 euros 80. 407 .br 408 .SH BUGS 409 Il est fréquent que le pot sature et que les délais d'attente soient 410 désagréablement élevés. Le pic de charge se situe entre midi et quart et 411 une heure moins le quart environ. Les goulots d'étranglement sont 412 l'obtention des plats, et dans une moindre mesure l'obtention d'une 413 table, et l'accès à la régie (voir 414 .BR regie(42)) 415 et à la borne de rechargement (voir 416 .BR borne(42)). 417 .SH "SEE ALSO" 418 .BR internat (42), 419 .BR gras (42), 420 .BR pas_pot (42), 421 .BR greve_du_pot (42)