maitretarot-devel-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Maitretarot-devel-fr] Documentation


From: Philippe Brochard
Subject: Re: [Maitretarot-devel-fr] Documentation
Date: 05 Feb 2004 10:31:08 +0100
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3

"Yves Mettier" <address@hidden> writes:

> >> - suppression de protocol.sgml qui prete a confusion avec le code sgml 
> >> genere par
> >> "cardgame_server --print-protocol".
> >> - suppression de tous les fichiers texte sauf le fichier readme.
> >>
> > Bonne idee aussi, c'est fichiers etaient en trop et la version sgml
> > est mieux presentee.
> >
> >
> > Par contre, je trouve l'idee de virer protocol.sgml assez mauvaise.
> > Je pense qu'il nous faut un document de reference qui ne depende pas
> > d'une implementation particuliere (ici "cardgame_server --print-protocol"),
> > mais qui soit au contraire facile d'acces.
> 
> Rien n'empeche de generer cette doc avec "cardgame_server --print-protocol" 
> et de la
> mettre a disposition quelque part. Mais je pense que cette doc ne doit pas 
> aller sur le
> CVS si elle est generee automatiquement.
> 
> Ensuite, la question est de savoir si c'est cardgame_server et son generateur 
> de doc la
> reference ou si ca doit etre autre chose.
> Si c'est cardgame_server, le protocole est dependant de l'implementation de 
> celui-ci
> dans cardgame_server, avec neanmoins la possibilite de faire un fork de cette
> documentation a tout moment si besoin.
> Inversement, si ce n'est pas cardgame_server la reference, nous aurons dans 
> ce cas dans
> cardgame_server l'etat de l'avancement de l'implementation du protocole, mais 
> par
> contre, l'obligation de maintenir deux versions du protocole: la version de 
> reference et
> celle de cardgame_server.
> 
> Dans l'etat actuel des choses, je pense qu'il est preferable que ce soit 
> cardgame_server
> la reference car cela fait moins de boulot. Les structures ont juste a etre
> implementees, meme si le code de traitement des donnees n'y est pas. Ensuite, 
> si le
> besoin s'en fait sentir, on fera un fork de la doc genereee par 
> cardgame_server et on la
> maintiendra a jour a la main.
> 
Personnelement, je prefere un document central mis dans le repertoire 
documentation
du CVS et maintenu a jour independament d'une implementation parce que ca 
permet de
faire en sorte que n'importe quel client discute avec n'importe quelle 
implementation
du serveur => la doc est un fichier sur lequel tout le monde se met d'accord.

Ce qui me gene en particulier, c'est quand tu ecris dans guide.sgml :

"Les actions et ordres sont définis dans la documentation sgml générée 
automatiquement par:
          cardgame_server --print-protocol
Cette documentation est, si les programmeurs font bien leur travail, par 
définition toujours à jour."
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

je fais bien mon travail dans cl_game_server (cl_game_server genere 
automatiquement
la doc) et bien on se retrouve avec un beau bordel parce que le protocole que 
va generer
cl_game_server ne sera pas le meme que celui genere par cardgame_server.

Donc, on dit que cardgame_server est la reference => je fais en sorte que 
cl_game_server
utilise le meme protocole que cardgame_server (pourquoi pas) et ce n'est pas a 
lui
de generer la doc (ce qu'il ne fait de toute facon pas pour l'instant).

Mais, la je trouve qu'il y a un probleme : comment faire si je veux coder un 
autre
jeu independament de cardgame_server (par exemple le tarot a 5 ou la belotte) ?
Il faut que j'attende que ce soit implemente dans cardgame_server pour avoir la
doc qui me dis comment coder le protocole ?

Je prefere que celui qui veux coder un jeu de bellote developpe son propre 
serveur,
ecrive la doc du protocole qui lui a permis de jouer et en discute avec tout le
monde jusqu'a ce que le protocole soit accepte.
Ensuite libre a cardgame_server d'implemente le jeu de belotte ou a n'importe 
qui
d'autre qui veut juste coder un serveur de bellote.

Et pour ca, il faut que la doc soit independante de toute implementation du 
serveur!

> >
> > Surtout que le protocole dans guide.sgml a fait un sacré bon en arriere:
> > - utilisation de virgules pour separer les champs d'une commande, alors 
> > qu'un
> > espace est largement suffisent
> > - Les commandes ne sont pas de la forme INFO_order comme indique au debut 
> > de la doc.
> > - manque INFO_king_in_chien...
> 
> En fait, la, c'est moi qui ai laisse le texte tel quel. Je n'ai pas regarde 
> si c'etait a
> jour. Et je suis presque persuade que c'est pas a jour du tout !!!
> 
Oui, et c'est ca qui me fais peur :
chaque fois que le code de cardgame_server va changer, la doc va changer aussi.
=> impossible a suivre pour les clients.

Alors qu'avec une doc commune (fichier central) la doc ne depend plus de 
cardgame_server
ou d'une quelconque implementation.
=> on peut coder les clients avant meme que le code (et surtout la doc) soit 
ecrit dans
cardgame_server.

> > Enfin, bon ce serait une bonne idee de remettre protocole.sgml sur le CVS
> > ou alors d'integrer un protocole a jour dans guide.sgml.
> 
> Moi, je n'y suis pas favorable pour les raisons qui precedent. J'etais meme a 
> deux
> doigts de prendre la partie protocole qui se trouve dans guide.sgml et de la 
> coder dans
> cardgame_server pour que cardgame_server soit capable de generer la totalite 
> du document
> de reference.
> 
Mouai, la je trouve que ca verrouille trop le developement de maitretarot.

Perso, je suis pres a coder le jeu de tarot a 3 et 5 et le jeu de belotte,
j'aimerai coder aussi le jeu de Nyout.
Il faut que j'attende que tu es coder tout ca dans cardgame_server pour avoir
la doc du protocole ?

Je prefere faire une doc qui indique quel est le protocole a suivre pour
jouer au differents jeux (le plus simple : un fichier texte au debut).
Et ensuite, libre au serveur de l'implementer ou pas. Mais dans tout les cas,
les clients et le serveur qui respecte la doc commune pourront toujours
dialoguer ensemble.

> 
> Question: est-il envisageable de mettre la partie definition du protocole dans
> libmaitretarot, et ensuite d'avoir deux projets: cardgame_server qui fait son 
> boulot de
> serveur, et un autre, qui ne ferait que generateur de doc ?
> Du coup, une partie serait toujours liee a l'implementation de ce protocole 
> dans un
> element de logiciel, libmaitretarot en l'occurence, et a la place de 
> cardgame_server.
> Mais par contre, on pourrait faire des trucs plus sympas en utilisant par 
> exemple
> libxslt pour parser un document docbook (xml) et y integrer le protocole ?
> 
> Mais cela represente du boulot et ne resoud pas vraiment le probleme.
> 
Comme dis plus haut, je ne crois pas que ce soit une bonne solution.


Philippe


PS: pour Nico : j'ai fini le lanceur :

        http://hocwp.free.fr/maitretarot/screenshot/img_starter1.png
        http://hocwp.free.fr/maitretarot/screenshot/img_starter2.png

PS2: j'ai mis a jour le CVS pour lib_mt_client => mt_dolphin_ia se connecte.

-- 
Philippe Brochard    <address@hidden>
                      http://hocwp.free.fr

-=-= http://www.gnu.org/home.fr.html =-=-




reply via email to

[Prev in Thread] Current Thread [Next in Thread]