GuinnessServer/README.md

110 lines
3.7 KiB
Markdown
Raw Permalink Normal View History

2020-03-28 09:11:11 +01:00
# Guinness Server
2020-03-28 09:57:02 +01:00
[Official Website of Guinnessd](http://tnemeth.free.fr/projets/guinness-server.html)
2020-03-28 09:11:11 +01:00
2020-03-28 09:57:02 +01:00
## Origine :
2020-03-28 09:11:11 +01:00
La version d'origine a un **gros** souci :
le `Makefile` tourne désepérement
2020-03-28 09:57:02 +01:00
[en boucle](boucle-de-make.txt) !
J'ai donc décidé, pour occuper mes longues journées de
2020-03-28 09:11:11 +01:00
retraite sanitaire, de sortir la disqueuse et de tenter de trouver
2020-03-28 09:57:02 +01:00
le bug. Et ça ne va pas être simple, le Makefile d'origine est
**très** convolué...
2020-03-28 09:11:11 +01:00
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.
2020-03-28 09:57:02 +01:00
## Méthodologie :
2020-03-28 09:11:11 +01:00
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
2020-03-28 15:27:55 +01:00
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.
2020-03-28 09:11:11 +01:00
2020-03-28 09:57:02 +01:00
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
2020-03-28 15:27:55 +01:00
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.
2020-03-28 09:11:11 +01:00
2020-03-28 09:57:02 +01:00
## Résultat :
2020-03-28 09:11:11 +01:00
2020-03-28 15:27:55 +01:00
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]
2020-03-28 15:27:55 +01:00
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...
2020-03-28 15:27:55 +01:00
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]
2020-03-28 15:27:55 +01:00
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.
```
2020-03-28 09:57:02 +01:00
« Ah, c'est l'heure d'aller boire une bière, et comme il ne faut jamais
2020-03-28 15:27:55 +01:00
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.