Projet poker 1/ 56
Projet poker
1/56
Introduction• Présentation de l’équipe• Cadre du projet• Enjeux• Choix du sujet
2
Plan• Structure organisationnelle• Fonctionnement global• Client Android• Client Web• Client C++• Serveur• Conclusion
3
Structure organisationnelle• Fonctionnement avec le tuteur• Fonctionnement au sein du groupe
• Répartition• Réunions• Partage de données (SVN, skype)
4
Fonctionnement global
Communication Client-Serveur :
5
Fonctionnement global
Déroulement d'une partie : -Les actions pré-parties.
6
Fonctionnement global
Déroulement d'une partie :• Les actions pour le commencement
7
Fonctionnement global
Déroulement d'une partie :• Les cartes et les jetons
8
Fonctionnement global
Déroulement d'une partie :• Le choix du joueur
9
Fonctionnement global
Déroulement d'une partie :
• Détermine qui est le gagnant• Repartit les gains• On recommence jusqu’à la fin du tournoi
10
Le client Android
Outils :
-Choix de NetBeans.
11
Le client Android
Outils :• La SDK android.
12
Le client Android
Outils :
• Samsung Galaxy Nexus:
13
Le client Android
Aspects fonctionnels :
14
Le client Android
Aspects fonctionnels :
Internet
Serveur
15
Le client Android
16
Le client Android
Aspects fonctionnels :
17
Le client Android
18
Le client Android
Aspects fonctionnels :
19
Le client Android
20
Le client Android
Aspects fonctionnels :
21
Le client Android
22
Le client Android
Reprise du code
• Javadoc complète• Code source propre avec nom de variable claire• Diagramme UML
23
Client Web
Outils :
• Choix de JavaScript:• Les besoins• Les avantages de JS
24
Client Web
Outils :
• Google Chrome
25
Client Web
Aspects fonctionnels:
• Structure du client:• HTML/CSS• Applet Java • Scripts
26
Client Web
Aspects fonctionnels:
• HTML/CSS:
27
Client Web
Aspects fonctionnels:
• L’applet Java:• Gestion des sockets• Communication entre Java et JavaScript
28
Client Web
Aspects fonctionnels:
• Les scripts:• Initialisation
29
Client Web
Aspects fonctionnels:
• Les scripts:• Communication avec le serveur
30
Client Web
31
Client Web
Aspects fonctionnels:
• Les scripts:• Gestion de l’affichage
32
Client Web
Aspects fonctionnels:
• Génération de l’affichage d’une partie:• Orientation objet
• Accessibilité des attributs
33
Client Web
Aspects fonctionnels:
• Génération de l’affichage d’une partie:• Définition et appel de méthode
34
Client Web
Aspects fonctionnels:
• Génération de l’affichage d’une partie:• L’objet Div
35
Client Web
Aspects fonctionnels:
• Génération de l’affichage d’une partie:• Les animations
36
Client Web
Reprise du code:
• Compréhension du principe HTML/CSS/Script• Peu de corrélation entre les méthodes• Documentation détaillant toutes les fonctions
37
Client Web
Améliorations:
• Communiquer via un Web Service• Rendre utilisable pour tout les navigateurs• Améliorer le traitements des messages reçus
38
Client C++
Outils :• Choix de C++/Qt• Les besoins• Les avantages
39
Client C++
Outils :• Qt Creator
40
Client C++
Aspects fonctoinnels
• Fenêtre principale QMainWindow• Connexion au serveur
41
Client C++ (mode console)
Présentation outils :
• Microsoft Visual Studio• Les avantages• Les limites
42
Client C++
43
Client C++
Aspect fonctionnel
44
Client C++
Aspect fonctionnel
• Les fonctions principales• Connexion / Déconnexion au serveur• Rejoindre / Créer une partie• Gérer le compte
45
Client C++
Reprendre le code:
• 15 fonctions dans une classe principale• Un code commenté et indenté• Créer une interface
46
Serveur
Outils :
• Choix de Java
47
Serveur
Outils :
• Eclipse
48
Serveur
Outils :
• MongoDB (NoSQL) :• Présentation rapide • Pourquoi le NoSQL?• Pourquoi MongoDB?
49
Serveur
Aspects fonctionnels :
• Communication et gestion des clients:• Boucle d’écoute et thread• Traitements messages• Gestion erreurs et exclusion mutuelle
50
Serveur
Aspects fonctionnels :
• Gestion du jeu• La classe Jeu (cartes)• La classe PokerPartie (partie)
51
Serveur
Aspects fonctionnels :
• Gestion Base de données :• Utilisation API MongoDB• Méthodes de la classe ClientBDDNoSQL
• Gestion lecteur de commande
52
Serveur
53
Serveur
Reprise du projet:
• Code entièrement commenté• Documentation• Manuel utilisateur
54
Conclusion• Bilan humain• Bilan technique• Apports du projet
55
Merci de votre attentionAvez-vous des questions ?
56/56