man42

satirical man pages written at ENS in 2010-2011
git clone https://a3nm.net/git/man42/
Log | Files | Refs | README

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)