GuinnessServer/README.md

110 lines
3.7 KiB
Markdown
Raw Permalink Blame History

# Guinness Server
[Official Website of Guinnessd](http://tnemeth.free.fr/projets/guinness-server.html)
## Origine :
La version d'origine a un **gros** souci :
le `Makefile` tourne désepérement
[en boucle](boucle-de-make.txt) !
J'ai donc décidé, pour occuper mes longues journées de
retraite sanitaire, de sortir la disqueuse et de tenter de trouver
le bug. Et ça ne va pas être simple, le Makefile d'origine est
**très** convolué...
Par la suite, j'ai l'intention d'y apporter quelques modifications
que je trouverais à mon gout. Elles seront décrites plus bas
dans la page.
## Méthodologie :
Pour commencer, je vais utiliser un mélange de [rache](https://la-rache.com/)
et de [poudre verte](https://poudreverte.org/), additionné d'un peu de
jus de citron pour le goût : importer les fichiers un à un jusqu'à ce
que ça marche. Et par la suite, remttre les choses au clair.
Première étape : tenter de compiler le `main()` du serveur. Oké, il demande
un certain nombre de `.h`, que je m'empresse de lui fournir à partir de
l'original. C'est au moment où il me demande le `config.h` que j'allume
la disqueuse, je n'ai qu'un `config.h.in` sous la main. Qu'à cela ne tienne,
_kraftons_ vite ce fichier manquant à la main.
Voilà finalement, avec cette méthode (que je n'hésite à appeler le
goutte-à-goutte), j'ai reconstitué un Makefile qui fonctionne et
compile le client et le serveur.
## Résultat :
Et voilà une session typique de remote-picole :
```
tth@lubitel:~/Devel/GuinnessServer$ ./guinnessd
guinnessd: Sat 28 Mar 2020 15:21:35 - Impossible d'ouvrir le repertoire [/var/tmp/drinks.d]
guinnessd: Sat 28 Mar 2020 15:21:35 - Boissons disponibles :
guinnessd: Sat 28 Mar 2020 15:21:35 - 0 : guinness
guinnessd: Sat 28 Mar 2020 15:21:35 - Serveur en attente de connexions (port 1664)...
guinnessd: Sat 28 Mar 2020 15:22:18 - Connexion acceptee...
guinnessd: Sat 28 Mar 2020 15:22:18 - Connexion entrante : 127.0.0.1 localhost
guinnessd: Sat 28 Mar 2020 15:22:18 - Ports (loc/dist) : 1664 / 47647
guinnessd: Sat 28 Mar 2020 15:22:18 - Utilisateur : [tth]
guinnessd: Sat 28 Mar 2020 15:22:18 - Boisson preferee : [guinness]
guinnessd: Sat 28 Mar 2020 15:22:18 - Message de logout : [Bye bye...]
guinnessd: Sat 28 Mar 2020 15:22:18 - Date de connexion : [Sat 28 Mar 2020 15:22:18]
guinnessd: Sat 28 Mar 2020 15:22:19 - Broadcast pour [tth] : MESSAGE
guinnessd: Sat 28 Mar 2020 15:22:19 - de [---] : tth a rejoint le serveur de Guinness.
```
« Ah, c'est l'heure d'aller boire une bière, et comme il ne faut jamais
boire le ventre vide, je vais manger une Guinness avant. »
```
tth@lubitel:~/Devel/GuinnessServer$ ./guinness -u tth
Serveur : [127.0.0.1] Port : [1664]
Utilisateur : [tth] Boisson : [guinness] Logout : [Bye bye...]
Pr<EFBFBD>fixe : [/]
-+- Connexion acceptee. -+-
Bienvenue sur le serveur de Guinness.
> <---> tth a rejoint le serveur de Guinness.
> /1
.____,ooo____.
,d#MMMMMMMMMMMMMMMMMM#o.
|MMMMMMMMMMMMMMMMMMMMMMMM
|MMMMMMMMMMMMMMMMMMMMMMMM
|MMMMMMMMMMMMMMMMMMH#*#**
|M'"""""""""""""'`
|M.
`ML
HP ##o#
|L TMP]
M . *&' . `
|, |dL.?-\.~b \:^ |
`| ` ` ' `` ,
H `
|.
`| |
M ,'
| |
|, |
|| |
J' |
M. J|
HM\\ -':|
`"=+\&#HMH#*??v/''
`""""`""
>
```
## Modifications
* ajouter une variable d'environnement `DRINKS_DIR` pour spécifier l'emplacement
de la réserve de picole.
* modifier la gestion des fichiers de picole afin d'avoir une description
succinte dans le listing du bar.