• Aucun résultat trouvé

5.3 Eleusis+Nobel

6.1.4 Messages et Protocole d’Interaction

6.2.3.3 L’Espace de Publication (priv´e)

Une fois qu’une s´equence de carte a ´et´e s´electionn´ee, l’utilisateur peut ac- c´eder `a l’espace de publication permettant de r´ediger une nouvelle th´eorie (si la th´eorie est actuellement non publi´ee ou r´efut´ee), ou une r´efutation (si la th´eorie est actuellement publi´ee). Dans le cas d’une publication, l’utilisateur a acc`es `a un ensemble de clauses num´erot´ees et pr´e-format´ees permettant d’ex- primer l’ensemble des probl`emes implant´es (voir Figure 6.2. Ce formatage est le suivant :

Une carte [SelectionRang] et [SelectionCouleur] est suivie par une carte [SelectionRang] et [SelectionCouleur],

mais pas par une carte [SelectionRang] [SelectionCouleur]

Un mod`ele de description exhaustif commun `a l’ensemble des joueurs, contenant `a la fois des pr´edicats observationnels et th´eoriques, permet de s´e- lectionner le rang (un, deux, ..., roi, pair, impair, figure, chiffre, ou sans rang particulier) et la couleur (pique, coeur, carreau, tr`efle, rouge, noir, ou sans

couleur particuli`ere) pour chaque membre de chaque clause. Notons que l’on- tologie est donc connue a-priori et commune `a l’ensemble des joueurs, ce qui est un des biais majeurs de cette implantation. Je reviendrai sur ce sujet en Section 6.3, et me contenterai de signaler qu’´etant donn´e que nous avons ´ega- lement exp´eriment´e le jeu avec des coll´egiens, cette ontologie a-priori ´etait n´ecessaire pour ne pas trop compliquer le jeu. La derni`ere partie de la clause a ´et´e rajout´ee pour exprimer plus facilement certains des probl`emes contenant des exceptions, sans avoir `a ´enum´erer tous les cas possibles.

En plus des clauses, la s´equence s´electionn´ee est affich´ee pour rappel en haut de page, et une zone de texte permet de saisir librement une formule logique utilisant ces clauses, pour cr´eer des conjonctions ou des disjonctions. Cependant, la plupart des probl`emes implant´es se formulent sous forme de simple conjonction, et rares sont les joueurs qui l’ont utilis´e. Je reviendrai ´egalement sur ce sujet en Section 6.3.

Une fois les clauses ´edit´ees, un bouton « Send » appelle la m´ethode publish qui r´ecup`ere l’ensemble des clauses ´edit´ees (en faisant abstraction des autres) et les formate pour cr´eer un document XML . Ce document est diffus´e au groupe Players, et le GameMaster (qui appartient `a ce groupe) est en charge mettre `a jour le score de l’´emetteur et de transf´erer le message au Problem concern´e qui archive la publication avant de changer de rˆole. Le GameMaster peut ´eventuellement effectuer un contrˆole des publications avant de les rendre effectives, en v´erifiant par exemple que celles-ci sont compl`etes.

L’interface de r´efutation est semblable `a celle-ci et affiche la s´equence s´e- lectionn´ee comme contre-exemple en haut de page. La page est g´en´er´ee direc- tement `a partir du document XML repr´esentant la publication, `a l’aide d’une transformation XSL qui affiche un bouton de s´election devant chaque clause afin de permettre au joueur de s´electionner celles qui sont r´efut´ees par le contre exemple. Un bouton « Envoi » appelle la m´ethode refute qui modifie le do- cument XML en taguant les clauses r´efut´ees (qui seront d´esormais affich´ees en rouge). L`a encore, le message Refute est diffus´e au groupe Players, et le GameMaster met `a jour les scores avant de transf´erer le message au Problem concern´e qui change alors de rˆole.

Lorsqu’un agent MadKit re¸coit un message de type Publication ou Refu- tation, la page publique affiche une pop-up en se rafraˆıchissant, afin d’avertir le joueur qui peut alors changer de comportement, en fonction de sa strat´egie. Voici un exemple de publication : le joueur Dartnell publie la th´eorie « al- ternance de cartes rouges et de cartes noires », pour le probl`eme « iris », en s’appuyant sur la s´equence « Deux de coeur, Trois de piques, Roi de carreau, Dame de pique » :

<publi> <head> <type>Publication</type> <auteur>dartnell</auteur> <nom>iris</nom> <formule></formule> </head> <clauses>

<clause index="0" truthtype="conjecture">

<condition color="Rouge" rank="SansRang"></condition> <consequence color="Noire" rank="SansRang"></consequence> <exception color="SansCouleur" rank="SansRang"></exception> </clause>

<clause index="1" truthtype="conjecture">

<condition color="Noire" rank="SansRang"></condition> <consequence color="Rouge" rank="SansRang"></consequence> <exception color="SansCouleur" rank="SansRang"></exception> </clause>

</clauses> <facts>

<context>

<carte location="img/Cartes/Deco.jpg" valid="true"></carte> <carte location="img/Cartes/trpi.jpg" valid="true"></carte> <carte location="img/Cartes/Roca.jpg" valid="true"></carte> </context>

<fact> <carte location="img/Cartes/Dapi.jpg" valid="true"></carte></fact> </facts>

<archives></archives> </publi>

</EN-Document>

Lors d’une r´efutation, le param`etre truthtype de la clause rendue inconsis- tante prendra la valeur « refuted », la s´equence repr´esentera le contre-exemple, et la publication actuelle sera copi´ee entre les balises <archives></archives> pour rappel.