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 12:05:11 +0100
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3

"Yves Mettier" <address@hidden> writes:

> >> 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.
> 
> OK, je ne savais pas que cl_game_server generait aussi la doc :)
>
Non, il ne genere pas la doc. Et je ne pense pas qu'il le fasse un jour :
c'est pas son boulot.

Par contre la doc que j'avais mis sur le CVS, elle etait a jour (avec ce qui
est utilise dans cl_game_server). Et je pense qu'elle n'a plus de raison de
bouger : tout fonctionne impec avec les nouveaux client/ia.

C'est pour ca que je me suis remis a libmt_client : le protocole est robuste
=> on peut l'implementer. 

> Du coup, dans ce que tu dis plus bas, ca correspond a ce que je dis en 
> parlant de fork
> de la doc, sauf que je suis en retard: t'as une etape d'avance.
> 
Yep, ca correspond :)

> > 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).
> 
> Non, cardgame_server et cl_game_server generent une doc correspondant a leur 
> etat
> d'implementation du protocole. Cela est et sera: je doute qu'on puisse 
> critiquer ce
> fait.
> Par contre, la ou je suis en retard: je croyais que seul cardgame_server 
> etait capable
> de generer sa doc, doc qui du coup pouvait servir de reference.
> 
oui, vu sous ce plan je suis tout a fait d'accord :)

mais le seul probleme c'est que la doc de cardgame_server ne peut
plus servir de reference d'ou le protocole.sgml.

> Etant donne que nous avons deux implementations du protocole, il faut 
> effectivement
> faire ce fork: generer la doc la plus complete et la plus adaptee a ce que 
> l'on veut, a
> l'aide de cl_game_server ou de cardgame_server, et appeler ce fichier 
> protocole.sgml
> (pas guide.sgml).
> Puis tant qu'on y est, ce qui fait office de documentation technique du 
> protocole dans
> guide.sgml, le passer de guide.sgml a protocole.sgml avec ce qui y est deja.
> 
\o/ tout a fait d'accord !

> > 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 ?
> 
> Non, et tu l'as deja fait: cl_game_server.
> cardgame_server etait, dans mon idee, la reference, en l'absence d'autre 
> documentation.
> Maintenant qu'il y a deja cl_game_server, cardgame_server ne peut plus etre la
> reference. il peut, au mieux, generer une doc correspondant a son 
> implementation du
> protocole.
> 
yep.

> >
> > 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!
> 
> On est sur la meme longueur d'onde. Faut juste le faire.
> 
y a deja le protocole.sgml que j'avais mis dans documentation
(le chapitre 3 est a jour).

> >
> >> >
> >> > 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.
> 
> Tant que cardgame_server etait la seule implementation du serveur, et donc du 
> protocole,
> c'etait une bonne chose car ca nous permettait d'avoir toujours une doc a 
> jour tout en
> testant des nouveaux elements de protocole. Maintenant qu'il y a plusieurs
> implementation du protocole, il faut mettre la doc sur papier de maniere 
> independante
> des implementations.
> 
Oui, tout a fait d'accord :)

> > => impossible a suivre pour les clients.
> 
> Mauvais argument: a chaque changement de protocole, meme si c'est sur le 
> papier et pas
> dans une doc auto-generee, on change le serveur, quel qu'il soit. Le resultat 
> est le
> meme: il faut changer le client aussi.
> Argument rejete, votre honneur :)
> 
argument accepte : c'est ce qui s'est passe quand on a change de
protocole sur le papier.

> > Alors qu'avec une doc commune (fichier central) la doc ne depend plus de 
> > cardgame_server
> > ou d'une quelconque implementation.
> 
> Tout a fait.
> 
> > => on peut coder les clients avant meme que le code (et surtout la doc) 
> > soit ecrit dans
> > cardgame_server.
> 
> A nouveau, non. Quand tu as l'idee de faire un changement dans le protocole, 
> qu'il soit
> centralise dans une doc commune ou qu'il soit dans un serveur de reference, 
> il est
> preferable de changer le serveur avant le client pour pouvoir tester le 
> client apres. Et
> si tu preferes changer les clients avant, rien ne t'en empeche, puisque tu as 
> l'idee: ce
> n'est pas la doc qui va t'en empecher. Mais tant que le serveur ne sera pas 
> modifie, le
> client ne pourra pas fonctionner correctement.
> 
ouais, reaccepte :)

> >
> >> > 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.
> 
> Pareil, c'est pour ca que je ne l'ai pas fait :)))
>
ouf :))

> Qu'un logiciel genere la doc, oui, pourquoi pas, tant que tout le monde peut 
> y avoir
> acces. Que ce logiciel soit une implementation du serveur, non: ca devient un 
> monopole
> de l'implementation, et ca, c'est pas bon.
> 
OUI !

> > 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 ?
> 
> Ah, non, sans revenir a tout ce qui s'est dit plus haut et ce sur quoi on est 
> d'accord
> (j'espere) maintenant, non, y'a pas a revenir.
>
oui.

> Dans cardgame_server, il y a des tableaux contenant ce qu'il faut pour 
> generer la doc.
> Il est tout a fait possible de modifier ces tableaux sans pour autant 
> modifier le
> fonctionnement du serveur. Tant que l'utilisation de ces tableaux n'est pas 
> faite, rien
> ne change. Et niveau doc, y'a juste a rajouter des lignes a ces tableaux.
> 
ah, ok, je n'ai pas ete voir comment etait genere la doc.
Comment ca ce passe si on veux documente un nouveau jeu ?
Ce serai bien que ce soit facile d'acces dans un logiciel a
par.

> Cela revient donc a ce que je dis juste au dessus: on peut tout a fait avoir 
> un logiciel
> qui genere la doc. Sauf que si ce logiciel est le serveur, c'est pas bon.
> Par contre, pour enfoncer le clou, tant que cardgame_server etait le seul a 
> generer
> cette doc, on pouvait tout a fait le considerer comme doc de reference. Ce 
> n'est plus le
> cas maintenant.
> 
Oui, tout a fait! pour l'instant ca me semble plus simple de
maintenir la doc sous format text puis sgml (meme si ca devient
lourd a gerer) et si on avait un logiciel qui permet de genere
automatiquement la doc, je serais preneur (a condition qu'il soit
indpendant du serveur) :)

> >
> > 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.
> 
> Oui, tout a fait. Sauf pour le format du fichier que je prefere en format 
> docbook (sgml
> ou xml) car cela evite de tout refaire ensuite en docbook pour generer du 
> txt, html, ps
> ou pdf.
> 
oui, je trouve aussi que docbook est pratique pour ca.



Bon, ben on est d'accord :)


Philippe

-- 
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]