Home

Rapport de projet tutore19 e

image

Contents

1. 2 2 Description g n rale Rapport de projet PFCLS 2 1 3 Public vis Cette partie est destin e o aux d veloppeurs qui peuvent examiner les capacit s du projet et plus facilement com prendre ot leurs efforts devraient tre cibl s pour am liorer ou ajouter des fonctionnalit s au projet il tablit les lignes directrices pour un d veloppement futur o aux testeurs qui peuvent utiliser cette partie comme base pour leur strat gie de tests certains bugs peuvent tre plus faciles d celer l aide du cahier des charges o aux utilisateurs finaux de l application qui souhaitent en savoir plus sur ce que ce projet peut faire 2 2 Description g n rale Cette section donnera un aper u de l ensemble du syst me Le syst me sera expliqu dans son contexte pour montrer comment le syst me interagit avec les utilisateurs et les fonctionnalit s principales seront introduites Enfin les contraintes et les hypoth ses pour le syst me seront pr sent es 2 2 1 Perspective du produit Le syst me va devoir communiquer avec l utilisateur afin de r cup rer les donn es les traiter et enfin afficher les r sultats Il devra tre capable de r cup rer les coups jou s et d afficher les r sultats Le jeu Pierre Feuille Ciseaux L zard Spock ne fonctionne pas de fa on ind pendante Comme c est un produit centr sur les donn es il devra avoir un endroit pour les stocker Pour a une base de donn es devra tre utili
2. avoir simultan ment plusieurs versions du logiciel dans le d p t C est tr s utile par exemple pour d velopper une nouvelle fonctionnalit en parall le tout en gardant la branche principale intacte 5 2 1 2 GitHub Pour notre projet nous avons choisi d utiliser le service web GitHub un h bergeur de d p ts Git Totalement gratuit il poss de une tr s grosse communaut il a donc t tr s facile prendre en main De plus notre tutrice nous a parl d un nouveau service mis en place par GitHub pour les tudiants et qui pourrait nous int resser Lanc d but octobre 2014 le Student Developer Pack voir figure 5 1 est un pack destin aux tudiants qui permet d acc der gratuitement une s rie d outils d di s l univers du d veloppement et normalement payant Ce pack nous a permis d avoir toutes les fonctionnalit s d un plan Micro pendant deux ans c est a dire avoir 5 d p ts priv s Normalement tous les d p ts doivent tre publics Il nous a aussi permis d avoir un nom de domaine gratuit pendant un an grace Namecheap partenaire de Vop ration de GitHub Ce pack fournit galement beaucoup d autres outils comme l h bergement d applications sur le cloud une plateforme de crowdsourcing un service de gestion DNS un service d e mail sur mesure etc que nous n avons pas eu la possibilit d utiliser car ils ne rentraient pas dans le cadre de notre projet 5 2 1 3 Git amp GitHub da
3. Action affiche les statistiques de jeu du joueur comme les coups qu ils jouent le plus en premier etc Postrequis N A ID 03 Nom Historique des parties Type Bouton Pr requis section 2 3 7 Action affiche sous forme d une liste les derni res parties jou es par le joueur avec le gagnant et le score Postrequis N A Modifier son profil utilisateur L utilisateur doit tre en mesure de modifier ses informations personnelles comme son pseudo son mot de passe ou son ge Il doit fournir un pseudo et un e mail qui ne sont pas d j utilis par un autre joueur O ID P1 10 2 3 Interfaces externes Rapport de projet PFCLS o Nom Modifier profil o Type Formulaire P11 Pseudo zone de texte P13 Age zone de texte entier P14 Mot de passe zone de texte P16 E mail zone de texte e mail o Pr requis section 2 3 7 o Action modifie le profil du joueur avec les informations saisies o Postrequis tous les champs sont bien remplis et le pseudo e mail n est pas d j utilis Supprimer son profil utilisateur L utilisateur doit tre en mesure de supprimer son profil c est a dire que toutes les informa tions de son profil seront supprim es Il n aura plus la possibilit de se connecter ID P2 Nom Supprimer son profil Type Bouton Pr requis section 2 3 7 Action supprime le profil du joueur de
4. faux sequenceClone sequenceDeCoup tant que sortie est faux faire listeSequences recupSequenceAll sexe age 5 age 5 sequenceClone s il y a d j des donn es de jeu pour cette s quence de coups avec le sexe et la tranche d ge donn e plus importante si listeSequences n est pas NULL alors idFigure figureAJouer occurence coupSuiv listeSequences sequenceClone sortie lt vrai sinon sinon s il n y pas a de donn es de jeu on essaie de r duire la s quence de coups si longueur de sequenceClone gt 3 alors sequenceClone reducSeq sequenceClone sinon sinon on sort car il n y a pas de donn es exploitables sortie vral fin si fin si fin tant que si idFigure est diff rent de 0 alors retourner idFigure fin si sortie faux sequenceClone sequenceDeCoup tant que sortie est faux faire listeSequences recupSequenceAll sexeOppo age 5 age 5 sequenceClone s il y a d j des donn es de jeu pour cette s quence de coups avec le sexe oppos et la tranche d ge donn e plus importante si listeSequences n est pas NULL alors idFigure figureAJouer occurence coupSuiv listeSequences sequenceClone sortie Vrai sinon sinon s il n y pas a de donn es de jeu on essaie de r duire la s quence de coups si longueur de sequenceClone gt 3 alors sequenceClone reducSeq sequenceClone sinon sinon on sort car il
5. Ouai genresiona 12 on va r duire 2 g J dumartinet A Un seuil partir du quel c est plus pertinent gaelf 7 ouivoila J dumartinet Ok bah je pense que 3 c est bien plerrem Ou un seuil a partir duquel du arrete de r duire FA forthofferl ESA oui plerrem 2 J dumartinet oui pierrem c est ca forthofferl ma gaelf 3me semble bien 2 c est trop short en effet 3 forthofferl E ouaip J dumartinet 3 Du coup BO1 et BO faudra faire gaffe mm gaelf EP c est pour ca je check la longueur de la s quence si c est trop court je sort de la boulce ok donc quand tu sors de la boucle donc que y a pas de r sultats pour l idjoueur tu fais quoi FIGURE 5 4 Slack Dans notre projet nous avons choisi de cr er une planche pour chaque sprint sauf exception Chaque planche est divis e en trois listes to do doing et done Au d but de chaque sprint nous d finissons les t ches a effectuer dans to do Puis quand une personne d cidait de travailler sur une t che elle se l attribuait elle la d placait dans doing et en prenait la responsabilit Enfin quand la tache tait termin e la carte tait d plac e dans la liste done 5 3 Planification amp r partition D s le d but du projet nous avons choisi de travailler par deux afin d tre plus efficace Pour cela nous avons tout d abord con u un diagramme de Gantt pour valuer grossi rement les grandes lignes directrices du proj
6. Vapplication via une interface web Cette interface doit tre user friendly intuitive et accessible 2 2 Description g n rale Rapport de projet PFCLS Serveur base de donn es Base de donn es Syst me principal Interface web Serveur web FIGURE 2 2 Sch ma fonctionnel block diagram 2 2 4 Environnement de fonctionnement PFCLS est une application ind pendante d un point de vue du syst me mais qui a besoin d un navigateur et d une connexion Internet pour fonctionner L application a t test e sous les navigateurs suivants Firefox 33 Chrome 38 Opera 26 Safari 8 Internet Explorer 11 0 07 0 40 20 Ainsi que sous les navigateurs mobiles suivants o Safari iOS 8 o Chrome iOS 8 Android 4 1 o Internet Explorer Mobile Windows Phone 8 10 Aucune autre condition n est requise pour faire fonctionner l application 2 2 Description g n rale Rapport de projet PFCLS Jouer un partie contre l IA G rer ses parties Jouer une partie contre un autre joueur A Include y Fa Extends Se connecter eo 7 E Include N ae Joueur N N Include e 7 Includes N Rechercher un adversaire G rer son compte Voir son profil Modifier son compte Voir le classement Supprimer son compte FIGURE 2 3 Diagramme des cas d utilisations 2 2 5 Contraintes de conception et d impl mentation PFCLS est une applicat
7. es de la partie sinon si Le joueur est d ja en recherche d adversaire alors On envoi le joueur sur la vue Recherche d adversaire sinon si Le joueur n a pas indiqu de nombre de manches alors On envoi le joueur sur une vue d erreur sinon r sultatRecherche rechercheAdversaire idJoueur nbManches si r sultatRecherche est NULL alors fin si sinon fin si sinon fin si On affiche un message d erreur pour demander au joueur de se connecter On appelle ajouterAttente idJoueur nbManches qui ajoute le joueur a la liste des joueurs en attente d un adversaire On envoi le joueur sur la vue Recherche d un adversaire On vide les variables de SESSION n cessaires au d roulement de la partie Dans une variable de SESSION VidJoueur adversaire retourn par rechercheAdversaire idJoueur nbManches On supprime les 2 joueurs de la file d attente gr ce deleteAttente idJoueur Dans une variable de SESSION le joueur est master c est lui qui effectuera tous les appels aux fonctions n cessaires pour g rer la partie On cr er ensuite la partie la premi re manche et le premier coup dans la base de donn es idPartie ajouterPartie idJoueur idJoueurAdversatre nbManches idManche ajouterManche idPartie idCoup ajouterCoup idManche idJoueur idJoueurAdversaire On ajoute ensuite la manche idManche dans la liste Manche de la partie idPartie et le coup idCoup dans la liste
8. mode de jeu 4 3 4 2 Jouer contre VIA En cliquant sur l ic ne de Intelligence artificielle le joueur arrive sur une page similaire a la page Jouer contre un joueur Il peut choisir le nombre de manches qu il d sire jouer 1 3 5 7 ou 9 et la partie contre 1 IA d marre imm diatement sans aucun temps d attente contrairement une recherche d adversaire 4 3 4 3 Au cours du jeu Durant une partie que ce soit contre PIA ou contre un humain le joueur doit cliquer sur l image de la figure qu il d sire jou e voir figure 4 18 Le jeu compare votre figure avec celle de votre adversaire chaque choix et d signe le vainqueur de la manche voir figure 4 19 ou le vainqueur de la partie si elle est termin e voir figure 4 20 30 4 3 Partie jeu Rapport de projet PFCLS Recherche d un adversaire affronter Choisissez le nombre de manches que vous voulez jouer DE ay over Pour connaitre les r gles du jeu et le d roulement d une partie rendez vous sur la page des r gles du jeu FIGURE 4 16 Recherche d un adversaire humain Vous tes actuellement en attente d un adversaire FIGURE 4 17 En attente d un adversaire humain Dans une partie contre un humain si celui ci met trop de temps a jouer le joueur peut cliquer sur le lien Temps d attente trop long Annuler la partie disponible au bout de 30 secondes qui annule la partie voir figure 4 21 Dans une partie contre l intelligence artif
9. n y a pas de donn es exploitables sortie vral fin si fin si fin tant que si idFigure est diff rent de 0 alors retourner idFigure sinon retourner un chiffre al atoire entre 1 et 5 fin si Bibliographie Caitlin Dewey How to win rock paper scissors almost every time WashingtonPost 2014 Free Software Foundation GNU GPLv3 2007 Julien Rabatel Extraction de motifs contextuels Enjeux et applications dans les donn es s quentielles PhD thesis Universit Montpellier II 2011 IEEE Computer Society IEEE Std 830 1998 IEEE Recommended Practice for Software Requirements Specifications 1998 Zhijian Wang Bin Xu and Hai Jun Zhou Social cycling and conditional responses in the rock paper scissors game Nature 2014 VI R sum Les motifs s quentiels traditionnels ne tiennent g n ralement pas compte des informa tions contextuelles fr quemment associ es aux donn es s quentielles Notre projet s appuie sur le jeu non coop ratif Pierre Feuille Ciseaux L zard Spock en y associant l ge et le sexe du joueur de fa on mettre en lumi re des corr lations cach es dans les donn es ou des ten dances de jeu g n rales En consid rant le fait qu un motif s quentiel est sp cifique un ge et un sexe donn nous proposons d extraire des motifs de la forme apr s avoir jou la figure suivi de la figure B les hommes ayant entre 18 et 22 ans ont tendance jouer la figu
10. niveau de la granularit intelligence artificielle programme affrontant le joueur en jouant de fa on optimale motifs contextuels informations contextuelles associ es aux donn es pour extraire des motifs fr quents repr sentatifs d un contexte responsive une notion de conception Web qui vise l laboration de sites offrant une exp rience de lecture et de navigation optimales pour l utilisateur quelle que soit l appareil utilis ordinateur tablette smartphone user friendly qui est facile utiliser ergonomique IV CHAPITRE Introduction E jeu Pierre Feuille Ciseaux est un jeu non coop ratif fondamental opposant deux joueurs o il faut affronter son adversaire l aide de trois figures que sont la pierre la feuille et les ciseaux et en suivant les r gles suivantes la pierre casse les ciseaux les ciseaux coupent la feuille et la feuille enveloppe la pierre On remarque qu aucune figure n est absolument meilleure que les autres chacune bat une figure et est battue par l autre figure Le jeu dans cette forme basique souffre d une limite assez flagrante la probabilit d ob tenir un draw est 1 3 il n y a que trois combinaisons de figures qui aboutissent un r sultat gagnant perdant Pour pallier ce probl me nous avons choisi d utiliser une variante Pierre Feuille Ciseaux L zard Spock Cr par Sam Kass et popularis e par la s rie am ricaine The Big Bang Theory il ajoute de
11. notre tutrice nous a demand de stopper le d veloppement du projet pendant une semaine et de nous concentrer sur l criture du pr sent rapport 5 3 6 Sprint 7 amp 8 Lors de ces sprints beaucoup d am liorations ont t effectu es cryptage des mots de passe correction de plusieurs bugs modification simplification et s curisation de la communication avec la base de donn es Enfin deux nouvelles fonctionnalit s ont vu le jour affichage des joueurs en attente d un adversaire et mise en place d une intelligence artificielle mais qui joue al atoirement 5 3 7 Sprint 9 Ce sprint a t d di l tablissement de l algorithme de l intelligence artificielle Nous avons d fini les tapes successives effectuer afin d obtenir 1 IA souhait e Pour cela nous avons choisi les donn es traiter les donn es sur lesquelles se baser pour tablir un r sultat et enfin des 39 5 3 Planification amp r partition Rapport de projet PFCLS seuils de pertinence des r sultats obtenus Cela a t enrichissant de d battre pour arriver un r sultat satisfaisant Le pseudo code de Valgorithme a ensuite t r dig 5 3 8 Sprint 10 La semaine a t charg e en projets divers et comme ce projet ci tait d ja bien avanc nous avons choisi de ne pas travailler dessus durant ce sprint pour nous consacrer enti rement aux autres projets 5 3 9 Sprint 11 Ce sprint a t l occasion de faire des cha
12. o cas d erreur voir section 3 3 2 1 Oo 19 3 4 Test d utilisabilit Rapport de projet PFCLS Permier niveau de pertinence joueur C est le niveau de pertinence le plus lev car la recherche est effectu e parmi les donn es de jeu du joueur C est ce qui permet d approcher le plus la tendance de jeu qui lui est propre Pour que l intelligence artificielle soit la plus exacte possible il serait souhaitable d avoir une tr s grande quantit de donn es de jeu et un comportement de jeu normal et non un comportement de jeu erratique Deuxi me niveau de pertinence Age 2 ans On passe au deuxi me niveau de perti nence si aucune donn e n est exploitable dans les donn es de jeu du joueur Les donn es trouv es avec ces param tres s il y en a seront quand m me assez pertinentes car d apr s notre hypo th se de d part les joueurs ayant un sexe et un ge quivalent quelques ann es pr s devraient jouer de la m me fa on avec une tr s grande probabilit Nous pensons galement que le style de jeu est sensiblement le m me pour des personnes ayant le m me ge mais de sexe oppos Le niveau de pertinence reste donc tr s acceptable Troisi me niveau de pertinence ge 5 ans On passe au troisi me niveau de per tinence si aucune donn e n est exploitable dans les donn es de jeu du deuxi me niveau de pertinence Les donn es restent encore tr s pertinentes car la tranche d age
13. occurence array reducSeq sequence retourne la s quence sequence r duite d une valeur gauche Oo O 3 4 Test d utilisabilit Le test d utilisabilit a pour but d valuer l ergonomie et l utilisabilit de notre produit Pour cela nous avons fait appel une tudiante de notre ge 19 ans 20 3 5 R sultats et perspectives Rapport de projet PFCLS 3 4 1 L inscription L utilisatrice a trouv int ressante et utile la jauge qui value le niveau de robustesse du mot de passe Elle a rempli facilement tout le formulaire en oubliant seulement de choisir le sexe s rement cause du fait qu il n y ait pas d criture ce niveau l du formulaire 3 4 2 La connexion L utilisatrice a imm diatement trouv comment se connecter Il n y a donc aucune remarque a faire ce sur point 3 4 3 Durant une partie L utilisatrice ne connaissait pas toutes les r gles de jeu seulement celles pour la forme ba sique elle est donc all e de fa on naturelle sur la page r gles du jeu Elle a eu du mal a retenir toutes les r gles d un coup car c tait la premi re fois qu elle jouait avec les deux nouvelles figures mais au fur et mesure des parties elle semblait de plus en plus laise A chaque fin de partie elle voulait imm diatement rejouer une partie Le jeu semble donc tre tr s vite addictif Elle a galement fait des remarques tr s positives sur l esth tique du site et sur la
14. reste tr s proche de celle du joueur En revanche ces r sultats sont moins pertinents que pr c demment car on commence s loigner des donn es contextuelles de d part du joueur Quatri me niveau de pertinence al atoire Lorsque les pr c dentes recherches n ont rien donn nous avons d cid que la pertinence des donn es n tait plus suffisamment importante pour obtenir un r sultat coh rent Nous choisissons donc de jouer une figure al atoire 3 3 2 4 Les fonctions utilis es o recupSequence idJoueur sequence permets de r cup rer la liste des s quences de coups qui contiennent la s quence sequence jou e par le joueur idJoueur o recupSequenceAll sexe ageMin ageMazx sequence effectue la m me action que recupSequence idJoueur sequence en ajoutant les param tres sexe ageMin et age Max qui permet de r cup rer la liste de s quences de coups en fonction du sexe et de Page o coupSuiv listeSequences sequence retourne un tableau contenant le s coup s jou s apr s la s quence sequenceClone occurence array retourne la valeur qui est pr sente le plus de fois dans le ta bleau array Cette fonction est donc utilis e directement en pla ant la fonction coup Suiv listeSequences sequence en param tre pour avoir directement le coup le plus jou figureA Jouer idFigure retourne l idFigure d une des deux figures qui battent idFi gure Nous pla ons en param tre ce que retourne la fonction
15. s nouvelles et une planification sur le travail faire pour le sprint suivant tait tablie Enfin des d bats avaient ventuellement lieu sur les points a claircir 33 5 2 Outils utilis s Rapport de projet PFCLS Grace cette communication quasi permanente avec notre tutrice nous avons pu produire d s le d but et nous adapter rapidement au fur et mesure de l avancement du projet 5 2 Outils utilis s 5 2 1 Logiciel de versionning 5 2 1 1 Git Un logiciel de gestion de versions est un outil incontournable pour tout d veloppeur Il en existe beaucoup et nous avons choisi Git Il pr sente l avantage d tre open source et d centra lis la diff rence de son concurrent SVN c est dire que l on peut travailler sans connexion internet permanente L autre avantage est l existence de services web qui h bergent gratuitement les d p ts Git Le fonctionnement de Git est simple chacun travaille sur les fichiers en local sur son or dinateur puis lorsqu il pense avoir termin la partie qu il voulait d velopp e il commente les modifications effectu es commit et envoie push les modifications sur le serveur principal ori gin Il est possible de revenir en arri re s il y a une erreur de voir historique des modifications et les conflits sont g r s de fa on presque automatique par Git Git permet une gestion efficace des branches et des merges fusion de branches Les branches permettent d
16. utilisation d un proto cole particulier les donn es contextuelles Notre projet est n anmoins loin d tre abouti Nous nous sommes attaqu s aux fonction nalit s les plus essentielles pour ce projet savoir la partie jeu et l interface afin de pouvoir r colter les donn es de jeu La partie qui n est pas encore termin e est l exploitation compl te de ces donn es m me si nous les utilisons d ja dans une moindre mesure La mise en service du site n a t effective que tr s r cemment les r sultats actuels ne sont surement pas encore assez pertinents pour tre qualifi comme tendance g n rale Il faudrait continuer d velopper la partie sur l intelligence artificielle en impl mentant une analyse plus pouss e des donn es contextuelles Il faudrait aussi d velopper la partie jeu pour accroitre la stabilit et r duire le nombre de bugs li s aux limitations offertes par PHP L utili sation de Node js semble tre une bonne id e pour ca Il serait galement int ressant de penser a des fonctionnalit s compl mentaires qui augmen teraient l exp rience de jeu par exemple l ajout d un chat pour que les joueurs puissent discuter ou l ajout d animations et de son pour rendre le jeu plus attractif Ce projet a t plus que tout une exp rience tr s enrichissante autant sur le plan personnel que collectif La communication a t le point cl et l utilisation de Slack notre atout majeur Gr ce
17. C oup de la manche dManche On envoi le joueur sur la vue S l ction de la figure a jouer II ANNEXE Algorithme de intelligence artificielle Donn es idJoueur sequenceDeCoup age sexe R sultat retourne lid de la meilleure figure jouer contre le joueur ou un id al atoire idFigure 0 sortie faux sequenceClone sequenceDeCoup tant que sortie est faux faire listeSequences recupSequence idJoueur sequenceClone s il y a d j des donn es de jeu pour cet utilisateur avec cette s quence de coups si listeSequences n est pas NULL alors idFigure figureAJouer occurence coupSuiv listeSequences sequenceClone sortie lt vrai sinon sinon s il n y pas a de donn es de jeu on essaie de r duire la s quence de coups si longueur de sequenceClone gt 3 alors sequenceClone reducSeq sequenceClone sinon sinon on sort car il n y a pas de donn es exploitables sortie vrai fin si fin si fin tant que si idFigure est diff rent de 0 alors retourner idF igure fin si sortie faux sequenceClone sequenceDeCoup HI Annexe C Algorithme de l intelligence artificielle Rapport de projet PFCLS tant que sortie est faux faire listeSequences recupSequenceAll sexe age 2 age 2 sequenceClone s il y a d j des donn es de jeu pour cette s quence de coups avec le sexe et la tranche d ge donn e si listeSequen
18. GUI Lors de sa premi re utilisation un joueur devra se connecter pour acc der aux fonctionnalit s du syst me Si le joueur n est pas enregistr il devra s inscrire Si ce n est pas sa premi re utilisation c est dire s il est connect la page par d faut sera la page de choix de jeu Il doit aussi voir le menu qui liste toutes les actions disponibles voir figure 2 4 1 JOUEUR 2 JOUEURS MON COMPTE CLASSEMENT R GLES FIGURE 2 4 Croquis du menu principal Chaque joueur doit avoir un profil ot il peut modifier ses informations pseudo mot de passe etc et supprimer son propre compte Il peut aussi consulter le classement Dans la figure 2 4 on peut voir le choix possible entre une partie contre TA un joueur ou contre un autre joueur deux joueurs Quand le joueur choisit une partie contre PTA il lui ai demand de saisir un nombre de manches et la partie d marre imm diatement En revanche quand le joueur choisit une partie contre un autre joueur le joueur voit la liste des joueurs en attente d un adversaire et doit aussi avoir la possibilit de saisir un nombre de manches Dans la vue de choix de la figure jouer lors d une partie chaque joueur devra choisir la figure qu il souhaite en ayant simplement a cliquer dessus Chaque figure est repr sent e par une image avec son nom voir figure 2 5 La vue de r sultat du coup montrera les de
19. Joueur nbManches sert ajouter un joueur la file d attente on r cup re le param tre nbManches et idJoueur pour l afficher dans la liste des joueurs en attente o deletteAttente idJoueur nbManches supprime le joueur de la file d attente o ajouterPartie idJoueur idJoueurAdversaire nb Manches cr e une partie entre les deux joueurs et avec le nombre de manches pendant lesquelles ils vont s affronter o ajouterManche idPartie cr er une manche appartenant la partie idPartie o ajouterCoup idManche idJoueur idJoueurAdversaire cr e un coup apparte nant la manche idManche entre les deux joueurs 3 3 2 Intelligence artificielle L intelligence artificielle a une tr s grande importance dans notre projet car elle permet deux choses d une part pour le joueur la possibilit de jouer m me s il n y a aucune autre personne qui se mesurer et d autre part elle nous permet de v rifier le r sultat de notre travail En effet plus IA gagne plus cela signifie que notre travail porte ses fruits L importance de l intelligence artificielle r side aussi dans le fait qu elle utilise les motifs contex tuels dans sa recherche de la meilleure figure jouer apr s la s quence que vient de jouer le joueur La fonction de l intelligence artificielle est appel e par le contr leur JeulA Celui ci g re les diff rents cas li s l tat de la partie en cours valuation d un coup jouer etc par le bia
20. Onglet Profil Dans cet onglet le joueur a acc s ses informations personnelles pseudo sexe etc Il a aussi acc s des informations de jeu tel que son classement son ratio et au nombre de victoire s et de d faite s sous forme d un graphique donut voir figure 4 7 Dans cet onglet il a acces deux fonctionnalit s modifier et supprimer son profil 4 2 1 1 Modifier son profil En cliquant sur le bouton Mettre a jour votre profil le joueur peut modifier ses informations personnelles telles que son pseudo son e mail ou encore son mot de passe voir figure 4 8 25 4 2 Partie profil joueur Rapport de projet PFCLS amp Profil lhl Statistiques de jeu 9 Historique des parties Test Ratio 1 42 125 ans test test com Classement 11 SSS Mettre jour votre profil Supprimer votre profil Victoire s y D faite s FIGURE 4 7 Informations personnelles du joueur Mettre a jour votre profil Test amp Nouveau mot de passe test test com Mettre jour FIGURE 4 8 Modification du profil 4 2 1 2 Supprimer son profil En cliquant sur le bouton Supprimer votre profil le joueur peut supprimer son compte de fa on d finitive Il lui est alors demand de confirmer son action voir figure 4 9 4 2 2 Onglet Statistiques de jeu Dans cet onglet le joueur a acc s a ses statistiques de jeu par exemple il peut d couvrir la figure qu il joue le plus au d but d un
21. UME Ai UNIVERSIT MONTPELLIER2 MONTPELLIER QUES 3 SCIENCES ET TECHNIQI SSS ad gt D partement Informatique INSTITUT UNIVERSITAIRE DE TECHNOLOGIE UNIVERSITE DE MONTPELLIER II Montpellier France Pierre Feuille Ciseaux L zard Spock RAPPORT DE PROJET TUTORE CLS Tuteur Madalina CROITORU Auteurs Julien DUMARTINET Ga l FOPPOLO Loic FORTHOFFER Pierre MARAIS www pfcls me Ann e universitaire 2014 2015 Remerciements Avant toute chose nous souhaitons remercier notre tutrice Madalina Croitoru pour nous avoir permis de participer ce projet ainsi que pour son implication constante tout au long du projet D s le d but elle a su gr ce sa rigueur scientifique nous aider nous poser les bonnes questions et orienter nos recherches Tr s ouverte d esprit sa patience ses conseils clair s et sa disponibilit ont fait d elle une valeur rassurante durant tout le projet Nous souhaitons aussi remercier ses tudiants de licence qui en jouant nous ont permis de r colter une grande quantit de donn es et ainsi permis d avoir des r sultats plus pertinents Nous voulons galement remercier J r my Cregut pour ses conseils ses remarques et ses critiques qui nous ont t utiles tout au long de l criture de ce rapport Enfin nous tenons aussi remercier Julien Rabatel pour nous avoir aid s dans nos choix de conceptions de notre projet notamment grace a sa these Table
22. a cet outil nous avons pu nous accorder sur nos id es changer et confronter nos points de vue afin d aboutir sur un choix commun Nous avons tr s souvent travaill par paire en nous inspirant des m thodes de I Extreme programming Chacun a appris travailler en quipe respecter une deadline s approprier de nouvelles m thodes de travail d velopper son esprit d analyse s adapter aux autres et surtout s adap ter aux souhaits du client Mais au del de son aspect p dagogique ce projet nous a permis d entrapercevoir les pro bl matiques mergentes qui d coulent de notre approche Dans de nombreux domaines d application les donn es peuvent tre associ es des infor mations contextuelles d crivant les circonstances dans lesquelles les donn es ont t collect es Ces derni res ann es ont vu se d velopper une incroyable prolif ration des donn es appel big data mais paradoxalement toutes ces donn es ne sont pas trait es ce qui soul ve la question du traitement et de l utilisation de ces donn es 42 ANNEXE Arborescence g n rale FIGURE A 1 Architecture du projet ANNEXE Algorithme de recherche d un adversaire amp cr ation d une partie Donn es idJoueur nbManches R sultat en recherche d un adversaire ou cr ation d une partie si joueur connect alors si Le joueur est d ja en partie alors On envoi le joueur sur la vue Chargement des donn
23. ablis diagramme de classes des cas d utilisations de s quence d activit et d tats transitions Une bonne r partition des t ches au d part a permis d avancer rapidement et lors de l mergence des probl mes d avoir une r solution rapide Presque tout le monde a particip chaque diagramme et ce grace l utilisation de Cacoo un service de cr ation de diagrammes UML en ligne qui int gre une collaboration instantan e A noter qu une demande pour obtenir un compte avec un statut tudiant a t faite aupr s de Cacoo ce qui a permis d avoir acc s des fonctionnalit s suppl mentaires comme le partage d un dossier regroupant tous les diagrammes 5 3 1 2 Cahier des charges Le cahier des charges presque d finitif a t r dig cette semaine la Sur les conseils de notre tutrice nous avons r dig le cahier des charges en utilisant le standard IEEE 830 Software requirements specification et en utilisant ShareLa TeX un site de r daction en ligne de document au format LATEX et qui offre la possibilit d diter plusieurs de fa on instantan e 5 3 1 3 Outil de communication C est aussi lors de cette semaine que nous avons commenc utiliser Slack voir 5 2 2 5 3 2 Sprint 2 Ce deuxi me sprint fut consacr a la cr ation de la structure de base du jeu Pour ce sprint nous avons travaill tous ensemble C est aussi la premi re fois que nous avons utilis GitHub et malgr quelques d boires
24. aire puis il affiche le r sultat gagnant perdant ou draw Si c est un draw on invite les deux joueurs choisir nouveau une figure Sinon il signale la manche comme termin e a la base de donn es S il reste encore des manches a jouer ou qu il n y a pas de gagnant on invite le joueur a choisir sa figure etc sinon on signale la partie termin e et on enregistre les statistiques dans la base de donn es 2 3 12 Jouer une partie contre PIA L utilisateur doit tre en mesure de jouer une partie contre PIA Quand la partie est lanc e le joueur est invit chaque tour choisir la figure qu il souhaite jouer o ID J2 12 2 3 Interfaces externes Rapport de projet PFCLS Joueur Base de donn es Syst me Clique sur Jouer contre un autre joueur Choisit le nombre de manches 10 secondes X om Reffrsichit la page a Si un joueur recherche une partie avec le m me nombre de manches R cup re l ID du joueur 2 Cr er une partie avec VID des deux joueurs Choisit une figure X om Raffraichit la page El Si l adversaire a jou R cup re le gagnant e n Compare les deux figures de la manche P as D termine le gagnant s 7 de la partie si nombre de manches gagn es d un des deux joueurs gt nombre de manches choisies 2 ou si nombre de manches restantes 0 Affiche r sultat FIGURE 2 9 Diagramme d activit Jouer une partie contre un autre joueur No
25. atoire chaque joueur est amen g n rer son propre mod le de jeu consciemment ou non 5 Partant de ce constat les joueurs essaient de comprendre les s quences de coups de leur adversaire pour s y opposer et trouver un mod le mergent 1 C est dans ce cadre que s inscrit ce projet Il s agit d tablir des statistiques sur l utilisation des diff rentes figures Gr ce ces statistiques une IA sera mise en place pour Chapitre 1 Introduction Rapport de projet PFCLS impl menter des strat gies de jeu et pour permettre a l humain de jouer contre cette IA Ce projet d un point de vue g n ral s int resse la d couverte de motifs contextuels dans les s quences de coups de facon mettre en lumi re des corr lations cach es dans les donn es ou des tendances de jeu g n rales 3 En partant de l id e g n rale qu un motif fr quent repr sente un comportement attendu nous nous posons les questions suivantes Peut on pr voir partir d un motif fr quent et de donn es contextuelles le prochain coup qui sera jou et Peut on d duire partir d un motif fr quent et de donn es contextuelles une tendance de jeu Tout d abord nous pr senterons le cahier des charges du projet contenant l ensemble des besoins fonctionnels et des sp cifications techniques puis dans une deuxi me partie nous d taillerons dans le rapport technique les choix de conception que nous avons faits p
26. au d but il s en est suivi une bonne coh sion de l quipe 5 3 2 1 laboration du jeu Lors de cette semaine nous avons d cid de d velopper le jeu en lui m me sans nous soucier de la base de donn es du site des statistiques ou de l intelligence artificielle Mais la semaine a t charg e avec des projets inattendus et un partiel ce qui fait que le travail a t fait en grande partie seulement sur le week end Le jeu tait termin environ 80 lors du rendez vous suivant Concernant les probl mes nous nous sommes heurt s aux limitations offertes par PHP en orient objet savoir l inexistence de classes statiques Le probl me a t r solu mais notre conception n est pas la plus optimale possible 5 3 2 2 Git amp GitHub Grosses nouveaut s de cette semaine comme nous avons d but le d veloppement nous avons d nous familiariser avec Git amp GitHub Quelques petits tutoriels sur internet et tout 38 5 3 Planification amp r partition Rapport de projet PFCLS le monde dans l quipe a rapidement compris le fonctionnement Il nous manque encore des connaissances sur les branches ou les conflits mais cela n a pas t un frein pour le projet Au bout d une semaine seulement nous avons remarqu que le nombre de commits tait d ja tr s important Tous les commits tant automatiquement notifi s sur Slack impossible de ne pas savoir qui fait quoi et quand 5 3 3 Sprint 3 amp 4 L
27. c des sources d infor mations externes par des connexions que l on peut cr er tr s simplement avec d autres services en ligne en plus des messages et des fichiers A ce jour il y a d ja des dizaines d int grations possibles et pour notre projet nous avons d cid d int grer les services Dropbox Google Drive Trello et GitHub Slack a t un atout majeur de la communication de notre quipe tout au long du projet chaque channel correspondant a un sujet il tait possible de parler en m me temps avec la m me personne sur deux sujets compl tement diff rents sans s embrouiller dans les discussions D apr s les statistiques du service nous avons chang pas moins de 17 000 messages depuis le d but du projet ce qui prouve son engouement et son adoption par toute l quipe 5 2 3 Trello Trello est un outil de gestion de projet en ligne inspir par les m thodes agile Il est bas sur une organisation des projets en planches listant des cartes une carte repr sentant une t che Les cartes sont assignables des utilisateurs et sont mobiles d une planche l autre traduisant leur avancement Il est possible d ajouter des checklists des images et de commenter chaque t che 36 Rapport de projet PFCLS 5 3 Planification amp r partition Pierre Feuille Ciseaux Y gaelf online tia v D est comme ca que je le vois mm gaelf mais it faut d finir un seuil par contre 4 plerrem
28. ces n est pas NULL alors idFigure figureA Jouer occurence coupSuiv listeSequences sequenceClone sortie lt vrai sinon sinon s il n y pas a de donn es de jeu on essaie de r duire la s quence de coups si longueur de sequenceClone gt 3 alors sequenceClone reducSeq sequenceClone sinon sinon on sort car il n y a pas de donn es exploitables sortie vrai fin si fin si fin tant que si idFigure est diff rent de 0 alors retourner idFigure fin si sereOppo sexe oppos sexe sortie lt faux sequenceClone sequenceDeCoup tant que sortie est faux faire listeSequences recupSequenceAll sexeOppo age 2 age 2 sequenceClone s il y a d j des donn es de jeu pour cette s quence de coups avec le sexe oppos et la tranche d ge donn e si listeSequences n est pas NULL alors idFigure figureAJouer occurence coupSuiv listeSequences sequenceClone sortie lt vrai sinon sinon s il n y pas a de donn es de jeu on essaie de r duire la s quence de coups si longueur de sequenceClone gt 3 alors sequenceClone reducSeq sequenceClone sinon sinon on sort car il n y a pas de donn es exploitables sortie vrai fin si fin si fin tant que si idFigure est diff rent de 0 alors retourner idFigure fin si IV Annexe C Algorithme de l intelligence artificielle Rapport de projet PFCLS sortie lt
29. coup de joueurs jouent en m me temps Mais cela est d la lourdeur et au nombre importants de requ tes effectu es pour synchroniser deux joueurs Une meilleure gestion des erreurs li es au jeu serait souhaitable Il persiste encore quelque rares bugs qui apparaissent lors d une partie quand on quitte la page et qu on revient dessus 21 3 5 R sultats et perspectives Rapport de projet PFCLS par exemple Ce sont encore une fois des erreurs de synchronisation entre les deux joueurs Enfin la cr ation d une partie administration pour g rer les utilisateurs et les parties pour rait tre une fonctionnalit future d velopper Elle n tait pas pr sente dans le cahier des charges et non importante dans notre projet donc elle n a pas t d velopp e Notre tutrice trouvant nos r sultats prometteurs et pertinents elle a mis l id e d une publi cation dans une revue sp cialis e En collaboration avec M Rabatel l id e semble se concr tiser petit petit et une publication semble envisageable en 2015 22 CHAPITRE Manuel utilisation Le pr sent manuel d utilisation n explique que les fonctionnalit s qui ont t d velopp es par notre groupe Pour acc der au projet il vous suffit de vous rendre l adresse www pfcls me 4 1 Partie g n rale 4 1 1 Menu Le menu qui se trouve en haut de la page est diff rent si vous tes connect ou non Pour toute r f rence future au menu en tant que no
30. des mati res 1 Introduction 1 2 Cahier des charges 3 2 1 Untroduction vi ic a e e dd A es 3 2 2 Description g n rale 4 2 3 Interfaces externes 7 2 4 Exigences non fonctionnelles 14 3 Rapport technique 15 3 1 Choix technologiques ee 15 3 2 Conception 2004 4 eh edi ek eed ee ew ae h aa AU EN 16 3 3 R sultats du d veloppement 2 17 3 4 Test d utilisabilit 20 3 5 R sultats et perspectives o 21 4 Manuel utilisation 23 4 1 Partie g n rale 23 42 Partie profil joueur 25 43 Partie jeu sa 4 8 8 fea a dia E s A ag AA 28 5 Rapport d activit 33 5 1 M thode de d veloppement 33 5 2 Outils UUIS S ora aia A a ee a a me 34 5 3 Planification amp r partition 37 6 Conclusion 41 Annexe A Arborescence g n rale I Annexe B Algorithme de recherche d un adversaire amp cr ation d une partie II Annexe C Algorithme de l intelligence artificielle III Bibliographie VI II 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 3 1 3 2 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 4 9 4 10 4 11 4 12 4 13 4 14 4 15 4 16 4 17 4 18 4 19 4 20 4 21 5 1 5 2 5 3 5 4 5 9 6 1 Al Table des figures Sch ma des r gles du jeu Pierre Feuille Ciseaux L zard Sp
31. e graphique agr able et user friendly avec des fonc tions relativement simples Tout utilisateur doit tre en mesure d utiliser PFCLS sans aucune connaissance ou exp rience sp cifique Les utilisateurs doivent seulement fournir des informa tions simples et en quelques clics acc dent toutes les fonctionnalit s de l application 14 CHAPITRE Rapport technique 3 1 Choix technologiques Pour ce qui est de l aspect technique du projet certains choix technologiques ont t faits mais ont finalement chang avant le d but du d veloppement Ces choix taient dans un premier temps o l environnement bas niveau Node js semblait tre un bon choix pour le d veloppement du jeu car cet environnement facilite la synchronisation le d roulement de la partie entre les deux joueurs o l utilisation du SGBD MongoDB avait t d cid e car c est un syst me NoSQL per mettant de meilleures performances lors de la manipulation d une grande quantit de donn es Or pour la r alisation de VIA du projet un grand nombre de donn es doit tre trait rapidement Ces choix avaient galement t motiv s par le fait que ces deux technologies sont des tech nologies mergentes et qui tendent se d velopper dans le milieu professionnel Cependant seuls les serveurs d h bergement haut de gamme d di s permettent l utilisation de Node js et MongoDB c est pour cette raison que des changements de strat gie technolo
32. e partie sous forme graphique voir figure 4 10 26 4 2 Partie profil joueur Rapport de projet PFCLS Suppression de votre compte tes vous s r de vouloir supprimer votre compte d finitivement Toutes vos donn es seront effac es d finitivement et il ne sera plus possible de les r cup rer Y Revenir sur votre profil O Confirmer La suppression FIGURE 4 9 Suppression du profil amp Profil lhl Statistiques de jeu 9 Historique des parties Premiere figure jou e 30 0 i Pierre Feuille Ciseaux L zard Spock N Pourcentage FIGURE 4 10 Statistiques de jeu du joueur 4 2 3 Onglet Historique des parties Dans cet onglet le joueur a acc s l historique r cent de ses parties les dix derni res sont affich s le pseudo de l adversaire le nom du gagnant et le score de la partie voir figure 4 11 27 4 3 Partie jeu Rapport de projet PFCLS amp Profil lhl Statistiques de jeu D Historique des parties Derni res parties jou es Adversaire Gagnant Score LoicF LoicF 1 2 GLaDOS Test 2 1 DuDu DuDu 1 2 GLaDOS GLaDOS 0 2 GLaDOS Test 2 0 GLaDOS Test 3 2 GLaDOS Test 2 1 GLaDOS Test 2 1 GLaDOS GLaDOS 0 1 GLaDOS Test 2 1 FIGURE 4 11 Historique des parties du joueur 4 3 Partie jeu 4 3 1 R gles du jeu L utilisateur peut acc der la page R gles du jeu en cliquant sur le lien disponible dans le menu Il y d couvrira les r gles du jeu dans quat
33. ecter FIGURE 4 4 Activation du compte Une petite boite de connexion s ouvre alors et l utilisateur est invit saisir son pseudo et son mot de passe dans les champs renseign s Une fois les informations compl t es il lui suffit de cliquer sur le bouton Connexion voir figure 4 5 Votre pseudo s affiche alors dans la barre de menu en m me temps que le lien pour se d connecter vous signifiant que vous tes connect Pour se d connecter l utilisateur doit cliquer sur le lien Se d connecter disponible dans le menu 24 4 2 Partie profil joueur Rapport de projet PFCLS Se connecter Pseudo Mot de passe Connexion Mot de passe oubli FIGURE 4 5 Formulaire de connexion 4 1 4 propos L utilisateur peut acc der la page A propos en cliquant sur le lien ponyme disponible tout en bas de chaque page Celle ci permet l utilisateur de comprendre le but du projet qui se cache derri re ce jeu ainsi que de conna tre un peu plus les auteurs du projet 4 2 Partie profil joueur Apr s s tre connect l utilisateur doit cliquer sur le lien Profil disponible dans le menu afin d acc der son profil Celui ci est compos de trois onglets repr sentant chacun une partie Profil Statistiques de jeu et Historique des parties L onglet par d faut est Profil voir figure 4 6 amp Profil lll Statistiques de jeu DHistorique des parties FIGURE 4 6 Onglets du profil 4 2 1
34. era jou et Peut on d duire partir d un motif fr quent et de donn es contextuelles une tendance de jeu Ayant choisi l ge et le sexe comme donn es contextuelles voici nos r sultats Nous prenons comme exemple un homme ayant entre 18 et 22 ans voir figure 6 1 Figure jou e apr s un l zard Figure jou e apr s Spock 30 30 v v E 20 E 20 en en E E 5 5 o E y o o M y Pierre Feuille Ciseaux L zard Spock Pierre Feuille Ciseaux L zard Spock a Figure jou e apr s un l zard b Figure jou e apr s Spock FIGURE 6 1 Homme entre 18 et 22 ans On remarque qu apr s avoir jou un l zard les jeunes hommes ont tendance le rejouer En revanche apr s avoir jou Spock chaque figure est jou e de fa on peu pr s gale Mais notre projet va plus loin ainsi nous pouvons extraire des motifs de la forme apr s avoir jou la figure suivi de la figure B les hommes ayant entre 18 et 22 ans ont tendance jouer la figure C En prenant comme crit re l ge et le sexe nous sommes donc capables de d finir une tendance de jeu qu elle soit individuelle ou g n rale Ce projet a permis d explorer la probl matique de la fouille automatique des donn es en essayant d en valuer la complexit et le degr de pertinence Pour cela il a t n cessaire de 41 Chapitre 6 Conclusion Rapport de projet PFCLS d finir un niveau de granularit de l information Nous avons privil gi l
35. es analyser prendre des d cisions et renvoyer le texte a afficher a la vue Le contr leur contient exclusivement du PHP Par exemple c est lui qui d termine si le joueur a le droit de voir la page ou non La figure 3 2 montre le fonctionnement d un mod le MVC orient web et annexe A montre architecture compl te de notre projet 16 3 3 R sultats du d veloppement Rapport de projet PFCLS idCoup idManche 22 11 Figure idFigure2 tt idioueur idJoueur2 idJoveurGagnant Est enregistr dans idStatsPerso r idJoueur i Est enregistr dans listeCoups forces C tamiesses idJoueurt idJoueur2 listeCoups idJoueur noManche ro g n re une liste de coup g n re une liste de coup idPartie listeCoups idJoueurGagnant idPartie nbManche idJoueur2 listeManches E A idJoueurGagnant FIGURE 3 1 Diagramme entit relation Demande la page depuis son navigateur a oO a Contr leur gt mm Retoume la page HTML demand e FIGURE 3 2 Mod le MCV 3 3 R sultats du d veloppement Le site web a t d velopp en HTML PHP et JavaScript Il sera d velopp dans cette section le r sultat du d veloppement qui a pu tre effectu Les principales fonctionnalit s d 17 3 3 R sultats du d veloppement Rapport de projet PFCLS velopp es d crites ci dessous sont les foncti
36. es sprints 3 et 4 ont t tr s charg s car il a fallu que nous finissions le jeu la r cup ration des statistiques et d butions la cr ation du site Nous nous sommes alors divis s en deux groupes l un s occupant de la partie statistique tandis que l autre s occupait du site Durant ces deux semaines nous nous sommes efforc s de faire toutes les fonctions n cessaires au fonctionnement du jeu ainsi que les vues la fin de ces deux semaines il ne nous a plus manqu que la fonction permettant au joueur de jouer sa figure 5 3 3 1 Rendez vous hebdomadaire Lors du rendez vous de cette semaine il a fallu se mettre d accord sur le sch ma de la base de donn es et pour cela il a fallu se d cider sur ce que nous allions stocker dans la base de donn es Apr s un d bat de 1 h 30 nous sommes parvenus un r sultat coh rent et satisfaisant pour tout le monde 5 3 3 2 Nom de domaine amp site C est lors de cette semaine que nous avons d cid d utiliser une fonctionnalit offerte par GitHub voir 5 2 1 2 savoir un nom de domaine gratuit pour les tudiants et ce pour un an Le nom de domaine pour notre site est donc pfcls me 5 3 4 Sprint 5 Ce sprint a t moins soutenu que les premiers il a surtout t question du d veloppement d une fonction de la synchronisation des deux joueurs et de la gestion des erreurs que cette synchronisation entraine 5 3 5 Sprint 6 Lors de notre rendez vous hebdomadaire
37. et et ainsi laisser un peu de temps pour les impr vus voir figure 5 5 Activity Status gt Analyse Termin Y Cahier des charges Termin Diagrammes jeu Termin Autres Prendre en main les outils Termin Jeu Termin y Conception Termin D veloppement Termin Tests Termin Site web Termin Y Conception Termin Impl mentation de la bas Termin D veloppement Termin Int gration du jeu Statistiques Conception Termin Impl mentation de la bas Termin D veloppement Termin Int gration dans le jeu Termin Intelligence Artificielle En cours y Conception Termin Impl mentation de la bas Termin D veloppement En cours Rapport Termin y Termin FIGURE 5 5 Diagramme de Gantt 5 3 Planification amp r partition Rapport de projet PFCLS 5 3 1 Sprint 1 Durant ce premier sprint nous avons tout d abord r fl chi l approche que chacun de nous avez sur le projet En parall le nous nous sommes s par s en deux groupes de travail l un travaillant sur le cahier des charges tandis que l autre tablissait les diff rents diagrammes d analyse n cessaire la r daction du cahier des charges et l avancement du projet Bien entendu les deux groupes ont communiqu et ont aussi particip la t che de l autre groupe relectures d bats id es etc 5 3 1 1 Diagrammes UML Les diff rents diagrammes ont t t
38. eudo e mail n est pas d j utilis 2 3 7 Connexion utilisateur L utilisateur doit tre en mesure de se connecter gr ce l interface web Il doit fournir un pseudo et un mot de passe o ID C1 o Nom Connexion 2 3 Interfaces externes Rapport de projet PFCLS O O O 2 3 8 Type Formulaire C11 Pseudo zone de texte C12 Mot de passe zone de texte Pr requis Ne pas tre connect sur le site Postrequis tous les champs sont bien remplis et correspondent aux donn es de la base de donn es Profil utilisateur La page du profil utilisateur affiche trois onglets chacun permettant de voir une partie pr cise du profil O Oo O Onglet Profil O1 affiche les informations personnelles du joueur Onglet Statistiques de jeu O2 affiche les statistiques de jeu du joueur Onglet Historique des parties O3 affiche la liste des 10 derni res parties jou es par le joueur Il est noter que lorsque le joueur arrive sur la page de profil c est l onglet Profil O1 qui s affiche par d faut O Oo O 0 o oO o 0 0 0 oO 0 0 0 ID 01 Nom Profil Type Bouton Pr requis section 2 3 7 Action affiche les informations personnelles du joueur pseudo sexe age classement ratio ainsi qu un lien pour modifier son profil et le supprimer Postrequis N A ID 02 Nom Statistiques de jeu Type Bouton Pr requis section 2 3 7
39. facon d finitive Postrequis N A O O O 0 0 0 2 3 9 Classement L utilisateur doit tre en mesure de voir le classement g n ral du site sous la forme d un tableau class selon le ratio de facon d croissante Chaque l ment de la liste repr sente un joueur il doit inclure le classement le pseudo et le ratio Aucune limite d affichage n est requise pour le moment ID Cl Nom Classement Pr requis N A Action affiche sous forme de liste le classement des joueurs Postrequis N A oO 0 0 0 2 3 10 Rechercher un adversaire L utilisateur doit tre en mesure de rechercher un adversaire pour jouer une partie Dans ce cas il peut directement choisir son adversaire dans la liste des adversaires en attente ou alors choisir un nombre de manches jouer et se mettre en attente d un adversaire Il ne peut y avoir deux joueurs en attente d un adversaire avec le m me nombre de manches si c est le cas les deux joueurs sont connect s pour jouer la partie ID R1 Nom Rechercher adversaire Type Bouton Pr requis section 2 3 7 et ne pas tre d j en cours de partie Action lance la partie si adversaire est trouv directement ou met en attente d un adversaire o Postrequis N A Oo OO 10 10 11 2 3 Interfaces externes Rapport de projet PFCLS 2 3 11 Jouer une partie contre un autre joueur L utilisateur doit tre en mesure de jouer une partie contre un autre joueur Quand
40. gique ont t fait Ainsi apr s une deuxi me r union avec notre tutrice nous avons finalement d cid d utiliser des technologies plus r pandues o le Mod le Conceptuel de Donn es MCD pour la conception de la base de donn es o le langage SQL pour construire cette base de donn es Il servira galement de langage de description des donn es o le langage PHP est utilis pour le d veloppement de l application o les langages HTML5 amp CSS3 pour la r alisation de l interface web qui servira d interface utilisateur o le langage JavaScript pour certaines animations de l interface web Ces technologies ont t finalement choisies car ce sont des technologies que nous avons tudi es au cours de notre formation ainsi nous serions op rationnels imm diatement et nous n aurions pas besoin d un temps d apprentissage avant de pouvoir entamer le d veloppement du projet ce qui aurait t le cas si nous avions utilis Node js et MongoDB PHP tant un langage tr s complet il nous a permis de coder l int gralit des fonctionnalit s du jeu et du site SQL r pond parfaitement nos besoins m me si nous avons d op rer quelques changements par rapport au choix des donn es stocker de mani re permanente ou temporaire ainsi qu au d veloppement des diff rents algorithmes Pour le d veloppement de l interface web le framework Bootstrap a t choisi afin d obte nir une interface responsive rapide et erg
41. icielle il n y a pas de temps d attente Quel sera votre choix GO ER Pierre Feuille Ciseaux L zard Spock Pour choisir votre figure cliquez sur l image de la figure FIGURE 4 18 Choix de la figure jouer 31 4 3 Partie jeu Rapport de projet PFCLS Test remporte la manche FIGURE 4 19 R sultat de la manche Partie termin e Vous remportez la partie 221 FIGURE 4 20 R sultat de la partie Vous attendez actuellement que votre adversaire joue son coup Temps d attente trop long Annuler la partie FIGURE 4 21 En attente du choix de l adversaire 32 CHAPITRE Rapport d activit Dans cette partie nous allons vous pr senter dans un premier temps les diff rents logiciels m thodes et outils que nous avons utilis s pour travailler ensemble Dans un second temps nous parlerons de la planification et de la r partition du travail que nous avons effectu e pour la gestion du projet 5 1 M thode de d veloppement Nous avons choisi d utiliser une m thode agile pour le d veloppement de notre projet la m thode Scrum Les m thodes agiles d finissent une approche de gestion de projet qui prend le contre pied des approches traditionnelles pr dictives et s quentielles telles que le cycle en V La notion de gestion de projet est remise en question au profit de gestion de produit 5 1 1 La m thode Scrum Scrum est bas sur la conviction que le d veloppeme
42. il a trouv son adversaire la partie est lanc e et le joueur est invit chaque tour choisir la figure qu il souhaite jouer ID Jl Nom Jouer contre un joueur Pr requis section 2 3 7 et section 2 3 10 Action choisir une figure et affiche le r sultat chaque tour Postrequis la figure choisie est valide oO O 0 0 O Diagramme d tat transitions Jouer une partie when joueur a choisi le when joueurs when choix deux nombre de manche s synchronis joueurs effectu s page charg e D but manche Choix figures Comparaison des figures When comparaison effectu e siles deux figures siles deux figures after r sultat sont diff rentes sont identiques affich Gagnant Perdant si nombre de manches restantes 0 after r sultat affich Manche termin e si nombre de manches gagn es d un des deux joueurs gt nombre de manches choisies 2 ou si nombre de manches restantes 0 FIGURE 2 8 Diagramme d tats transitions Jouer une partie contre un autre joueur Les diagrammes d tats transitions cf figure 2 8 et d activit cf figure 2 9 Jouer une partie contre un autre joueur d taillent de facon plus explicite la fonctionnalit 2 3 11 Le joueur choi sit le nombre de manches puis attend le chargement de la page Quand le joueur est synchronis il peut choisir la figure qu il va jouer Le syst me r cup re alors son choix et le compare avec celui de son advers
43. ion ind pendante d velopp e en PHP SQL avec une interface utili sateur crite en HTML CSS JS Le projet est sous licence GNU GPLv8 2 Tous ceux qui souhaitent utiliser ou travailler sur le projet doivent accepter pleinement les termes de ce type de licence L interface web de l application impose de fortes contraintes au projet En effet comme il existe plusieurs navigateurs chacun avec ses propres caract ristiques l interface ne sera pas exactement la m me pour tous les utilisateurs Des diff rences d affichage peuvent survenir La connexion Internet est aussi une exigence pour l application Comme celle ci r cup re et stocke les donn es dans une base de donn es via Internet il est crucial d avoir une connexion Internet pour que l application fonctionne 2 2 6 Hypoth ses et d pendances Une connexion Internet stable minimum ADSL est requise pour que l application fonctionne correctement Si la connexion est peu stable trop faible il se peut que le joueur rencontre des 2 3 Interfaces externes Rapport de projet PFCLS difficult s se connecter l interface web ou jouer une partie compl te sans tre d connect Une autre d pendance est le navigateur web Si celui ci n est pas jour il se peut que l interface web ne soit pas totalement fonctionnelle qu elle offre des fonctionnalit s r duites ou qu elle soit compl tement non op rationnelle 2 3 Interfaces externes 2 3 1 Interface joueurs
44. is de variables _ SESSION et _POST Nous traiterons ici seulement l algorithme de l intelligence artificielle voir l annexe C 3 3 2 1 Le cas d erreur Seul un cas d erreur existe il s agit du cas o il n y a aucune donn e de jeu exploitable L IA choisit donc al atoirement la figure jouer 3 3 2 2 Le cas nominal Il s agit du cas o il y a des donn es de jeu exploitables On r cup re ainsi toutes ces donn es de jeu sous la forme d une liste des s quences de coups De cette liste et avec la s quence de coups d j jou lors de la partie en cours on calcule la figure que le joueur le plus de chance de jouer Nous d duisons ensuite de ce r sultat la figure jouer sortons de la boucle et retournons la figure jouer 3 3 2 3 Fonctionnement de l algorithme L algorithme de l intelligence artificielle est compos de plusieurs parties recherche dans les donn es de jeu du joueur o recherche dans les donn es de jeu des joueurs ayant le m me sexe et le m me ge avec une marge de plus ou moins deux ans o recherche dans les donn es de jeu des joueurs ayant le m me ge avec une marge de plus ou moins deux ans mais de sexe oppos o recherche dans les donn es de jeu des joueurs ayant le m me sexe et le m me ge avec une marge de plus ou moins cinq ans o recherche dans les donn es de jeu des joueurs ayant le m me ge avec une marge de plus ou moins cinq ans mais de sexe oppos
45. jouabilit 3 4 4 Le profil L utilisatrice a parfaitement trouv toute seule le moyen de modifier les informations de son profil ainsi que le moyen de le supprimer Celle ci a trouv tr s int ressant le fait de pouvoir acc der ses statistiques dans son profil Elle est d ailleurs all e r guli rement voir comment celles ci voluaient apr s plusieurs parties 3 4 5 Les statistiques L utilisatrice galement appr ci e de pouvoir visualiser les diff rentes statistiques en fonction d une tranche d ge et d un sexe N anmoins l explication qu il y avait au moment de ce test pour la marge d ge saisir n tait pas tr s claire nous l avons donc ajout une explication 3 5 R sultats et perspectives Les principales fonctionnalit s du projet d finies dans le cahier des charges ont toutes t d velopp es et fonctionnent toutes N anmoins il y a plusieurs points am liorer voire chan ger compl tement Tout d abord la synchronisation entre les deux joueurs n est pas totalement simultan e ni performante Ce serait un point important am liorer par l utilisation d AJAX Asynchronous JavaScript and XML de socket ou comme c tait notre souhait au d part par l utilisation de Node js et MongoDB Un serveur plus performant serait ventuellement une bonne solution dans le cas o l affluence du site deviendrait plus importante car le site conna t quelques faiblesses lorsque beau
46. m Jouer contre IA Pr requis section 2 3 7 et pas d j en cours de partie contre PIA Action choisir une figure et affiche le r sultat chaque tour Postrequis la figure choisie est valide O O 0 O 13 2 4 Exigences non fonctionnelles Rapport de projet PFCLS 2 4 Exigences non fonctionnelles 2 4 1 Performance PFCLS est une application qui n a besoin que de quelques ressources pour fonctionner Il a t concu pour ne pas retarder le fonctionnement des autres processus cl s du syst me Le temps de r ponse du programme d pend uniquement du serveur web et du serveur de base de donn es l application est consid r e temps r el N anmoins une forte affluence de requ tes sur une des deux ressources fera automatiquement ralentir l autre 2 4 2 Exigences de suret L application doit s assurer que toutes les donn es saisies par les utilisateurs soient valides De plus l application doit dans le cas d une insertion de donn es invalides ou d un acc s non autoris fournir au joueur des messages d erreur ou d aide appropri s 2 4 3 Exigences de s curit PFCLS wintroduit aucun niveau de s curit en effet les donn es g r es ne sont pas critiques Les utilisateurs de l application sont tous gaux donc il n y a pas besoin d avoir un niveau de permissions pour la gestion d utilisateurs ou des donn es 2 4 4 Attributs de la qualit logiciel Cette application fournit une interfac
47. n connect respectivement menu en tant que connect voir figure 4 1 respectivement figure 4 2 oo E FC LS J Classement Statistiques B R gles du jeu S inscrire Se connecter FIGURE 4 1 Menu en tant que non connect om P FC LS ca Jouer l Classement Statistiques B R gles du jeu amp Profil Se d connecter Test FIGURE 4 2 Menu en tant que connect 4 1 2 Inscription En tant que non connect l utilisateur doit cliquer sur le lien S inscrire disponible dans le menu pour pouvoir acc der au formulaire d inscription L utilisateur doit alors renseigner son pseudo sexe ge mot de passe ainsi que sa confirmation et un e mail valide Une fois les informations compl t es il lui suffit de cliquer sur le bouton Valider votre inscription voir figure 4 3 L utilisateur doit alors confirmer son inscription Pour cela il doit cliquer sur le lien qui lui a t envoy par e mail voir figure 4 4 4 1 3 Connexion amp d connexion En tant que non connect l utilisateur doit cliquer sur le lien Se connecter disponible dans le menu afin de se connecter 23 4 1 Partie g n rale Rapport de projet PFCLS Inscription ds Pseudo a 6 OTOF a Mot de passe amp Confirmer votre mot de passe MA E mail Y Valider votre inscription FIGURE 4 3 Formulaire d inscription Y Succ s Votre compte a t activ avec succ s Vous pouvez d s pr sent vous conn
48. ngements et des am liorations esth tiques et s curitaires importants I a notamment t marqu par une refonte graphique pour assurer une meilleure ergonomie Des fonctionnalit s pour g rer la s curit des comptes utilisateurs ont ga lement t d velopp es 5 3 10 Sprint 12 Cette derni re semaine a t charg e principalement par le d veloppement de l intelligence artificielle et l criture et la relecture du rapport Nous avons d modifi l algorithme de PIA car pendant le d veloppement nous avons remarqu de l g res diff rentes par rapport aux r sultats que nous tions suppos s obtenir Apr s avoir termin l IA nous avons d velopp la partie statistiques bas sur les algorithmes de IA en seulement quelques heures Le rapport tant d j quasi termin il ne restait plus qu mettre en forme ajouter les figures et relire plusieurs fois 40 CHAPITRE Conclusion L objectif de ce projet tait la d couverte de motifs contextuels dans les s quences de coups de facon mettre en lumi re des corr lations cach es dans les donn es ou des tendances de jeu g n rales Pour cela nous avons d velopp une interface web afin de r cup rer les donn es Ayant choisi l ge et le sexe comme donn es contextuelles voici nos r sultats aux questions que nous nous tions pos es Peut on pr voir partir d un motif fr quent et de donn es contextuelles le prochain coup qui s
49. ns notre projet Nous avons d cid d adopter un mod le particulier bas sur les branches pour s assurer d avoir une forte coh rence tout au long du projet La branche master correspond a la version de production personne ne travaille directement sur master mais il est possible de cr er une branche partir de celui ci pour la cr ation d une nouvelle fonctionnalit Une fois la nouvelle fonctionnalit termin e et valid e elle est ajout e merge a la branche 34 5 2 Outils utilis s Rapport de projet PFCLS GitHub Education Stories Events Student pack Classroom guide Contact us Request a discount Student Developer Pack The best developer tools free for students Learn to ship software like a pro Y Tweet 8 006 There s no substitute for hands on experience but for most students real world tools can be cost prohibitive That s why we created the GitHub Student Developer Pack with some of our partners and friends to give students free access to the best developer tools in one place so they can learn by doing Get your pack THE TOOLS A hackable text editor for the 21st Century ATOM K DETAILS Open Source by GitHub free for everyone DETAILS Business 3 plan normally 49 month for one year g Install cloud applications in a single click e bitnami FIGURE 5 1 GitHub Student Developer Pack master Notre projet se compose de plus de 400 commits pour 3 mois de travail Les figure
50. nt logiciel est une activit par nature non d terministe et que la r alisation d un projet complexe ne peut tre anticip et planifi longtemps l avance Pour r pondre a ce probl me Scrum propose un mod le de contr le de processus bas sur Vempirisme Il s appuie sur le d coupage d un projet en it rations nomm es sprints Les sprints peuvent durer de quelques heures quelques semaines Chaque sprint commence par une estimation suivie d une planification op rationnelle Le sprint se termine par une d monstration de ce qui a t achev et contribue augmenter la valeur du produit L adaptation continue et une r action rapide aux changements donnent lieu une am lioration continue et un cycle de d veloppement it ratif Scrum vise en priorit la satisfaction du client et pour cela l implique au maximum 5 1 2 La m thode Scrum dans notre projet Notre choix s est port sur cette m thode car elle correspondait et s adaptait parfaitement a notre projet et aux contraintes auxquelles nous tions soumis Nous avons convenu d s le d but avec notre tutrice de nous rencontrer une fois par semaine afin de pr senter notre travail avoir un feedback et pouvoir ainsi tre au plus pr s de ces attentes Chaque sprint a dur une semaine sauf exception ce qui fait que notre projet se compose de 12 sprints Une d monstration tait r alis e lors de nos rencontres avec notre tutrice des fonctionnalit
51. ock 3 Sch ma fonctionnel block diagram or 4444 vues ee oa os 5 Diagramme des cas d utilisations 6 Croquis du men principal lt 4 224 sais Ree Mas pee mp alto net Re eS 7 Croquis du choix de la figure jouer 8 Croquis du r sultat de la manche 8 Croquis du r sultat de la partie 8 Diagramme d tats transitions Jouer une partie contre un autre joueur 12 Diagramme d activit Jouer une partie contre un autre joueur o o o 13 Diagramme entit relation 17 Mod le MOV a gear sx dra aa 484860 sut a tirs 17 Menu en tant que non connect 23 Menu en tant que connect a a 23 Formulaire d inseription si ove te a eat piges ae a ph 24 Activation duscompte ii A Bow ete ee ee le A Run 24 Formulaire de connexion 25 Onglets du profil 25 Informations personnelles du joueur 26 Modification du profil 26 Suppression du profil 27 Statistiques de jeu du joueur 27 Historique des parties du joueur 28 R gles di Jeu curra RAE dame sum Done RR di 29 Classement g n ral des joueu
52. onnalit s les plus importantes de notre projet Toutes les pages de l interface web ont une mise en page et un design commun Il y a un fichier vue php qui g re le design du site header et footer et qui charge la vue correspondant la page choisie par le contr leur en cours Ce contr leur s occupe de charger les donn es propres chaque page consult e Nous d taillions uniquement deux fonctionnalit s les plus importantes de notre point de vue 3 3 1 Recherche d un adversaire La recherche d un adversaire pour jouer une partie est une fonction primordiale dans notre projet elle permet de mettre en relation deux joueurs pour qu ils puissent disputer une partie L algorithme est d taill dans l annexe B La page de recherche d un adversaire est appel e par le contr leur Jeu Celui ci g re les diff rents cas li s l tat actuel du joueur en partie en recherche d adversaire par le biais de variables SESSION et POST 3 3 1 1 Les cas d erreurs Il existe quatre cas d erreurs qui sont trait s par l algorithme le joueur est d ja pr sent dans une partie en cours le joueur a d ja lanc une recherche d adversaire le nombre de manches n a pas t indiqu par le joueur le joueur n est pas connect oooO Chacun de ces cas est trait grace aux variables SESSION et _POST qui nous per mettent de garder en m moire les informations relatives au joueur 3 3 1 2 Le cas nominal Le joueur e
53. onomique tr s facilement Pour ce projet il semblait 15 3 2 Conception Rapport de projet PFCLS vident pour toute notre quipe qu il faudrait cr er une interface web adapt e pour mobiles smartphones tablettes c est pour cette raison que ce framework a t choisi il est simple d utilisation d adaptation de modification et permet d obtenir un site fully responsive Concernant l aspect pratique du projet les principaux langages utilis s tant le PHP et le SQL il a fallu trouver des outils qui r pondent a nos besoins Nous nous sommes ainsi tourn s pour le serveur de production vers l utilisation d un serveur Apache coupl un serveur poss dant MySQL comme SGBD et quip de l interface php MyAdmin Quant au d veloppement en local nous avons opt pour l utilisation du kit Wamp logiciel permettant d installer un serveur avec les m mes outils que sur le serveur de production et nous permettant d effectuer des tests dans des conditions relativement similaires aux conditions r elles Pour le d veloppement en lui m me nous avons utilis de multiples diteurs de texte comme Atom Sublime Text ou Notepadd qui ont t amplement suffisants pour notre projet 3 2 Conception 3 2 1 Sch ma relationnel des donn es Pour d marrer la conception de projet il a tout d abord fallu extraire de l analyse des besoins des informations sur le projet qu il fallait mener Le traitement de ces information
54. our d velopper le jeu les r sultats obtenus accompagn s de leur critique Vous trouverez galement dans ce document un manuel d utilisation destination des utilisateurs de l interface web ainsi qu un rapport d activit rendant compte des m thodes de travail que nous avons utilis es pour conduire ce projet CHAPITRE Cahier des charges 2 1 Introduction Le projet PFCLS a pour but d impl menter le jeu Pierre Feuille Ciseaux L zard Spock Les r gles de jeu sont r sum es dans la figure 2 1 FIGURE 2 1 Sch ma des r gles du jeu Pierre Feuille Ciseaux L zard Spock 2 1 1 Objectifs Cette partie pr sente les sp cifications des exigences logicielles du projet open source Pierre Feuille Ciseaux L zard Spock Il peut tre utilis comme base pour une possible extension du projet actuel Ce cahier des charges est r dig sous le standard IEEE 830 4 2 1 2 Conventions du document PFCLS a t d velopp pendant l criture de la pr sente partie donc certaines exigences stipul es ici ne sont pas encore satisfaites Il est tr s important de mettre jour cette partie avec toutes les futures exigences et de clarifier chaque l ment des fins de coh rence de sorte que cette partie puisse rester utile Certaines informations techniques ont t inclues d autres non les lecteurs peuvent se r f rer au glossaire disponible en d but de document pour trouver les d finitions des termes sp cifiques
55. re C Mots cl s motifs contextuels jeu extraction de donn es tendance de jeu Abstract Traditional sequential patterns do not usually take consideration of contextual informa tion commonly associated with sequential data Our project is based on the non cooperative game Rock Paper Scissors Lizard Spock by associating the age and sex of the player in order to bring to light the hidden correlations in the data or general gaming trends Considering the fact that a sequential pattern is specific to a particular sex and age we propose to extract patterns of the form after playing figure A followed by figure B men aged between 18 and 22 years tend to play figure C Keywords contextual patterns game data mining trend game
56. re Sch ma des regles Source Wikipedia Ainsi qu un tableau qui liste toutes les possibilit s Pierre Feuille Ciseaux L zard Spock Pierre Draw Feuille Pierre Pierre Spock Feuille Feuille Draw Ciseaux L zard Feuille Ciseaux Pierre Ciseaux Draw Ciseaux Spock L rarel Diarra lL rard FMienaw Nea tAvard FIGURE 4 12 R gles du jeu J Classement Classement Pseudo Ratio 2 Dude 3 4 Archy 25 5 madalina 2 3333333333333 6 Paul 2 7 elise 2 FIGURE 4 13 Classement g n ral des joueurs 4 3 4 1 Jouer contre un joueur En cliquant sur l ic ne de Joueur humanoide le joueur arrive sur une nouvelle page o il peut choisir le nombre de manches qu il d sire jouer 1 3 5 7 ou 9 Il sera alors mis en attente jusqu a ce qu un joueur le d fie ou recherche un adversaire avec un nombre de manches similaire au votre voir figure 4 17 Il peut galement voir tous les joueurs qui sont actuellement en attente d un adversaire ainsi que le nombre de manches de cette partie Il peut les d fier directement en cliquant sur le bouton Jouer qui se trouve c t de leur pseudo voir figure 4 16 29 4 3 Partie jeu Rapport de projet PFCLS Statistiques Premiere figure jou e 30 Pierre Feuille Ciseaux L zard Spock N Pourcentage ha FIGURE 4 14 Statistiques g n rales des joueurs Choisissez votre mode de jeu PA lt gt Joueur humanoide Intelligence artificielle FIGURE 4 15 Choix du
57. re formats diff rents afin que chacun puisse choisir le format qui lui convient le mieux vid o explicative de Sheldon The Big Bang Theory diagramme liste et tableau pr sentant les forces et les faiblesses de chaque figure voir figure 4 12 4 3 2 Classement L utilisateur peut acc der la page Classement en cliquant sur le lien disponible dans le menu Celle ci affiche le classement g n ral du site selon le ratio d croissant on y retrouve le rang le pseudo et le ratio de chaque joueur voir figure 4 13 4 3 3 Statistiques L utilisateur peut acc der la page Statistiques en cliquant sur lien disponible dans le menu Celle ci affiche l instar des statistiques du joueur les statistiques g n rales du site c est dire comprenant les statistiques de jeu de tous les joueurs voir figure 4 14 4 3 4 Jouer Apr s s tre connect l utilisateur doit cliquer sur le lien Jouer disponible dans le menu afin de pouvoir d marrer une partie Cela am ne le joueur sur un choix jouer contre un autre joueur ou jouer contre PIA voir figure 4 15 28 4 3 Partie jeu Rapport de projet PFCLS AM Si vous n avez pas tous suivi pas d inqui tude voici un r capitulatif des regles accompagn d un sch ma La pierre crase le l zard Le l zard empoisonne Spock Spock casse les ciseaux Les ciseaux d capitent le l zard Le l zard mange la feuille La feuille d savoue Spock Spock vaporise la pier
58. rs 29 Statistiques g n rales des joueurs o a 30 Choix du mode de jeu 30 Recherche d un adversaire humain 31 En attente d un adversaire humain 31 Choix de la figure jouer 31 R sultat de la manche 32 R sultat de la partie a a 32 En attente du choix de l adversaire 32 GitHub Student Developer Pack 35 Graphique du nombre de commits en fonction du temps 35 Graphique de la fr quence des commits bas sur l heure de la journ e et le jour de la o paa die be db ne mue DE Aa ee MR NAT ME GE Re ie 36 lack cd wow Deus RL ee DRE RASE ee a ER ORE ee ee 37 Diagramme de Gantt 37 Homme entre 18 et 22ans 41 Architecture du projet cc an be e pen de a ee nef MU Ie eg a ee a a 8 I Glossaire draw quivaut une partie nulle framework ensemble de composants logiciels structurels qui servent cr er les fondations ainsi que les grandes lignes de l architecture d un logiciel granularit de information niveau de d tails contenus dans une unit d information Plus il y a de d tails plus bas sera le niveau de la granularit Inversement moins il y a de d tails plus haut sera le
59. s de longs d bats entre les membres du groupe et avec le client ont permis de d finir le diagramme d entit association pr sent dans la figure 3 1 Une fois le diagramme d entit association termin il a t possible de concevoir le mod le physique de donn es MPD qui consiste impl menter le mod le conceptuel dans le SGBD ici MySQL 3 2 2 Architecture Le projet est int gralement structur selon le mod le MVC Modele Vue Contr leur Cette architecture a t adopt e car c est l une des plus utilis es nous l avons tudi en cours et elle permet une organisation claire du projet o le mod le cette partie g re les donn es du site Son r le est d aller r cup rer les in formations brutes dans la base de donn es de les organiser et de les assembler pour qu elles puissent ensuite tre trait es par le contr leur On y trouve donc les requ tes SQL o la vue cette partie se concentre sur l affichage Elle ne fait presque aucun calcul et se contente de r cup rer des variables pour savoir ce qu elle doit afficher On y trouve es sentiellement du code HTML ou du JavaScript mais aussi quelques boucles et conditions PHP tres simples pour afficher par exemple la liste des joueurs en attente o le contr leur cette partie g re la logique du code qui prend des d cisions C est en quelque sorte l interm diaire entre le mod le et la vue le contr leur va demander au modele les donn es l
60. s e pour stocker ou r cup rer les donn es de joueurs ou de jeu Toutes les communications la base de donn es se feront par Internet Le syst me de notre projet comporte 1 acteur et 2 syst mes qui coop rent Le joueur est notre seul acteur Le syst me principal gestion des utilisateurs syst me de jeu et IA et la base de donn es sont les 2 syst mes qui coop rent Chaque acteur acc de au syst me par Internet et communique avec la base de donn es via le syst me principal voir figure 2 2 Dans la suite du cahier des charges les acteurs seront d sign s par le terme joueurs et le syst me de notre projet sera d sign par le terme application 2 2 2 Fonctions du produit L application doit offrir deux fonctionnalit s principales un joueur jouer contre un autre joueur et jouer contre le syst me TA Le syst me principal doit interagir avec le joueur pour r cup rer les coups qu il joue les trans mettre la base de donn es et afficher les r sultats interm diaires et finaux Il doit aussi g rer les cas d erreurs lors d une tentative d acc s une partie non autoris e de l application et la synchronisation avec la base de donn es pour toujours tre dans un tat coh rent La figure 2 3 d taille de fa on exhaustive les fonctionnalit s auxquelles le joueur a acc s 2 2 3 Caract ristiques des utilisateurs Ce projet ne se r f re qu un seul type d utilisateur le joueur Celui ci interagit avec
61. s 5 2 et 5 3 pr sentent quelques statistiques int ressantes extraites de GitHub sur la r partition et les habitudes de travail Oct 5 2014 Jan 10 2015 Contributions Commits Contributions to master excluding merge commits Nov 30 Dec 07 Dec 14 Dec 21 Dec 28 Jan 04 FIGURE 5 2 Graphique du nombre de commits en fonction du temps 39 5 2 Outils utilis s Rapport de projet PFCLS Sunday o e 00 0 Monday a o o e 0 0o Tuesday ee o OD gt o o Wednesday o o o o 60e e e Thursday o oe o o 2 0 0 0 0 O o o Friday 00 o o 000 gt Saturday e o er 440 000 090 ta ta 2a 3a 4a 5a 6a 7a 8a 9a 10a a 12p ip 2p 3p 4p 5p 6p 7p 8p Ip 10p tip FIGURE 5 3 Graphique de la fr quence des commits bas sur l heure de la journ e et le jour de la semaine 5 2 2 Slack Slack est un nouveau service de messagerie instantan e d di aux entreprises et aux profes sionnels Con u autour de l id e du travail en quipe il permet tous ceux qui doivent travailler ensemble d changer avec des messages mais aussi des fichiers images vid os Slack fonctionne autour de l id e de channels des canaux de diffusions qui peuvent correspondre des pro jets ou des th matiques On peut toujours discuter en priv avec une deux ou plusieurs autres personnes voir figure 5 4 Ce qui fait la particularit de Slack c est la possibilit d changer ave
62. st connect et lance une recherche de joueur via la fonction rechercheAdver saire idJoueur nbManches qui retourne l idJoueur de l adversaire ou NULL si elle n en trouve aucun Si un joueur est trouv on cr e une partie avec les caract ristiques correspon dantes et on dirige le joueur vers la vue pour d buter la parie Si aucun n est trouv on reste sur le page de recherche d un adversaire 3 3 1 3 Fonctionnement de l algorithme On commence par v rifier les quatre cas d erreurs par ordre de priorit par exemple si le joueur n est pas connect il ne peut pas avoir d ja lanc une recherche d adversaire Apr s ces tests on cherche les joueurs qui ont un nombre de manches similaire celui pass en param tre Si on n en trouve pas on ajoute le joueur la file d attente Toutes les 5 secondes on v rifie que le joueur est toujours en attente S il n y est plus c est qu un adversaire a t trouv on l envoie donc sur la page de choix des figures Si on en trouve on supprime le joueur trouv de la file d attente et on cr e une partie On envoie ensuite le joueur sur la vue de s lection des figures 3 3 1 4 Description des fonctions utilis es o rechercheAdversaire idJoueur nbManches permet de rechercher si un autre joueur que idJoueur est pr sent dans la liste d attente avec le m me nombre de manches que nbManches 18 3 3 R sultats du d veloppement Rapport de projet PFCLS o ajouterAttente id
63. ux figures jou es ainsi que la vainqueur de la manche voir figure 2 6 La vue de r sultat de la partie affiche le nom du gagnant le score ainsi qu un petit message voir figure 2 7 2 3 Interfaces externes WHAT WILL YOU CHOOSE TIME 30 D j gt nv THE STRENGTH CUT YOURSELF SCISSORS LIZARD WILL SPOCK AND THE OF THE ROCK BETWEEN THE SHARPER THAN SACRIFICE HIS VULCAIN LOGIC 2 FINGERS WITH GUILLOTINE TAIL FOR HIS PAPER 2 LIFE FIGURE 2 5 Croquis du choix de la figure jouer JOUEUR 1 TIME O JOUEUR 2 FIGURE 2 6 Croquis du r sultat de la manche JOUEUR 2 WINS FATALITY FIGURE 2 7 Croquis du r sultat de la partie Rapport de projet PFCLS 2 3 Interfaces externes Rapport de projet PFCLS 2 3 2 Interfaces mat rielles L utilisateur peut acc der a l application a partir d un ordinateur d un smartphone ou d une tablette 2 3 3 Interfaces logicielles Le syst me principal communique avec la base de donn es afin d obtenir des informations sur les joueurs le classement le jeu ou les parties pour les repr senter sous forme graphique au joueur voir figure 2 2 La communication entre la base de donn es et le syst me principal se compose d op rations de lecture et d criture des donn es Il n y aucune communication directe entre le joueur et la base de donn es 2 3 4 Protocoles et interfaces de communications La communication entre les deu
64. ux nouvelles figures au jeu dans sa forme normale ce qui a pour effet d amener le nombre de combinaisons qui aboutissent un r sultat gagnant perdant dix ainsi que la probabilit d obtenir un draw 1 5 En plus des r gles classiques s appliquent ici de nouvelles r gles la pierre crase le l zard le l zard empoisonne Spock Spock casse les ciseaux les ciseaux d capitent le l zard le l zard mange la feuille la feuille d savoue Spock Spock vaporise la pierre O O O O O oO Le projet consiste impl menter une interface web permettant deux joueurs humains de jouer l un contre l autre ainsi que la possibilit de jouer contre une intelligence artificielle IA Les s quences de coups seront stock es chaque partie pour permettre l laboration de statis tiques de jeu La fa on dont les humains prennent des d cisions lors d interactions strat giques non co op ratives est une question laquelle il est difficile de r pondre l heure actuelle Pour un mod le aussi fondamental que ce jeu on pourrait penser que ce serait uniquement une affaire de chance et de hasard et ainsi que chaque joueur choisissait de mani re al atoire l une de ces trois figures ou m me si elles apparaissaient intervalles r guliers au cours d une partie suivraient une logique d quilibre statistique Or de nombreuses exp riences sugg rent qu il est quasi impossible pour un humain de g n rer une s quence al
65. x parties de l application est importante car chacune d pend de l autre Cependant la mani re dont la communication est r alis e n est pas importante car c est le syst me principal lui m me qui g re la communication Comme notre application repose sur la base de donn es il y a de tr s nombreux changes avec celles ci Pour que l application puisse supporter un nombre cons quent de requ tes simultan es et qu elle assure sa coh rence chaque instant elle doit tre suffisamment puissante C est donc la puissance du serveur o est h berg la base de donn es qui d terminera le nombre de transactions maximales par seconde qu elle peut traiter ainsi que le nombre maximal de joueurs simultan s possibles sur l interface web 2 3 5 Fonctionnalit s du syst me 2 3 6 Inscription utilisateur L utilisateur doit tre en mesure de s inscrire gr ce l interface web Il doit fournir un pseudo un mot de passe une adresse e mail son sexe et son ge o ID 1I1 o Nom Inscription o Type Formulaire 111 Pseudo zone de texte 112 Sexe bouton radio 113 ge zone de texte entier 114 Mot de passe zone de texte 115 116 115 Confirmation de mot de passe zone de texte 116 E mail zone de texte e mail o Pr requis Ne pas tre connect sur le site o Postrequis tous les champs sont bien remplis les deux mots de passe sont identiques et le ps

Download Pdf Manuals

image

Related Search

Related Contents

Clique aqui para baixar o manual.  US Robotics USR8710 storage server  Sweex Webcam Pitaya Pink USB  FOREWORD  Avanti WC5100BG Beverage Dispenser User Manual  

Copyright © All rights reserved.
Failed to retrieve file