110 lines
3.7 KiB
Markdown
110 lines
3.7 KiB
Markdown
# 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.
|
||
|
||
|
||
|
||
|