Taquin - Mise en place du pattern MVC
Publié le 16/01/2024
Extrait du document
«
                                                                                                                            Table des matières
1
Présentation du projet
1
2
Organisation du projet
A
Gestion du projet .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
i
Gestionnaire de version .
ii
Compilation .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
iii
Trello .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
iv
Discord .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
B
Répartition des fonctionnalités .
.
.
.
.
.
.
2
2
2
2
2
3
4
3
Architecture du projet
A
Arborescence du projet .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
B
Mise en place du pattern MVC .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
5
5
6
4
Aspects techniques
A
TaquinGrid .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
i
Création de la grille .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
ii
Algorithme de mélange .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
iii
Déplacement d’une case .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
iv
Déterminer si la partie est terminée
B
Tests unitaires .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
i
Quel outil ? .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
ii
Mise en oeuvre .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
8
8
8
9
10
11
11
11
Conclusion
A
Avis général .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
13
13
B
13
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Éléments à améliorer .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
                                                            
                                                                                
                                                                    .
1 Présentation du projet
Le taquin est un jeu de puzzle, constitué d’un rectangle dans lequel se trouve des cases.
                                                            
                                                                                
                                                                    Ces cases
contenant des lettres de l’alphabet, des nombres ou encore des morceaux d’images, peuvent glisser les
unes sur les autres.
                                                            
                                                                                
                                                                    Parmi les cases, l’une d’entre elles est vide.
                                                            
                                                                                
                                                                    Le but du jeu du taquin consiste à
reconstituer le puzzle en formant une image (lorsque les cases forment une image) ou de ranger les
nombres par ordre croissant (lorsque les cases contiennent des nombres) en glissant l’un des éléments
contigus à la case vide vers celle-ci.
                                                            
                                                                                
                                                                    Avec l’interface graphique, l’utilisateur a la possibilité de choisir sa
propre image pour le taquin qu’il devra reconstituer.
Le but de ce devoir a été de réaliser un taquin sous forme d’une application de jeu, dotée d’une
interface graphique (voir image 1.1a) , tout en pouvant être utilisée sans interface graphique (voir image
1.1b) c’est-à-dire être jouable en ligne de commande.
                                                            
                                                                                
                                                                    L’application a été intégralement réalisée avec le
design pattern MVC, avec un modèle totalement indépendant de l’interface graphique.
(a) Image du jeu avec le mode Image
|
1 Taquin - Rapport de projet
(b) Image du jeu en console
2 Organisation du projet
A
Gestion du projet
Afin de faciliter la communication et le bon déroulement de la conception de notre application, divers
moyens ont été mis en œuvre.
i
Gestionnaire de version
Tout d’abord, nous pouvons citer l’utilisation d’un gestionnaire de version afin de permettre la centralisation du code et rendre le travail en équipe bien plus efficace.
                                                            
                                                                        
                                                                    Le choix de celui-ci étant imposé
(Subversion), il n’est pas nécessaire d’en parler plus longtemps.
ii
Compilation
Nous avons décidé de réutiliser un script de compilation déja créé lors d’un précédent TP noté en
Java.
                                                            
                                                                                
                                                                    Il s’agit de build.sh.
                                                            
                                                                                
                                                                    Celui-ci possède différentes sous-commandes très utiles permettant d’effectuer
les tâches courantes sur le projet.
                                                            
                                                                                
                                                                    En voici la liste :
build Compile le projet
clean Supprime tous les dossiers générés (build, doc, dist, ...)
deploy Compile et package le projet en un jar exécutable
javadoc Génère la Javadoc du projet
run Lance le projet.
                                                            
                                                                                
                                                                    On peut passer des arguments en utilisant –args "arg0 arg1".
                                                            
                                                                                
                                                                    Exemple : ./build.sh
–args "10 10"
test Lance les différents tests unitaires
zip Genère un Zip du projet
Le script est facilement adaptable.
                                                            
                                                                                
                                                                    Il suffit de modifier les quelques constantes au début de celui-ci.
iii
Trello
Concernant la répartition et le listage du travail à effectuer, nous avons fait le choix d’utiliser Trello,
une plateforme qui nous permet d’utiliser des tableaux pour planifier un projet.
|
2 Taquin - Rapport de projet
Chapitre 2.
                                                            
                                                                                
                                                                    Organisation du projet
A.
                                                            
                                                                                
                                                                    Gestion du projet
F IGURE 2.1 – Notre tableau Trello
Ainsi, comme nous pouvons le constater, les différentes tâches passent par différents états, "A faire",
"En cours", "A vérifier", "Fini et merge".
                                                            
                                                                                
                                                                    Enfin, bien que ce ne soit pas visible sur l’image 2.1, il existe un
"Backlog" sur la droite qui contient les différentes tâches restantes à accomplir.
                                                            
                                                                                
                                                                    Celles-ci peuvent ensuite
être déplacées dans la colonne "A faire" au moment où nous jugeons qu’elles peuvent être réalisées.
Les colonnes "A verifier" et "Fini et merge" nécessitent quelques précisions, les autres parlant d’ellesmême.
                                                            
                                                                                
                                                                    Pour la première, lorsqu’une tâche est terminée, elle est soumise à évaluation et relecture.
                                                            
                                                                                
                                                                    Cela
permet d’obtenir un avis sur la fonctionnalité et d’éviter d’éventuels bugs par la suite mais aussi de garder
une cohérence au travers du code.
                                                            
                                                                                
                                                                    Raisons pour lesquelles les personnes qui effectuent cette relecture sont
souvent les mêmes.
                                                            
                                                                                
                                                                    Enfin, quand celle-ci est vérifiée et validée, nous pouvons alors la déplacer dans la
seconde colonne.
iv
Discord
Afin de faciliter la communication au sein du groupe, nous avons utilisé le service de messagerie
Discord car tous les membres du groupe l’utilisaient déjà de manière personnelle.
                                                            
                                                                                
                                                                    Celui-ci permet de
parler par le biais de "serveurs" gratuits dans lesquels nous pouvons ajouter des salons textuels ou des
salons vocaux à volonté.
                                                            
                                                                                
                                                                    Ainsi, nous avons deux salons de discussion.
                                                            
                                                                                
                                                                    L’un nommé "important-taquin"
permet de transmettre des messages importants sur ce qui a été fait, sur des changements importants
concernant le projet, etc.
                                                            
                                                                                
                                                                    L’autre se nommant "dev-taquin", est une discution beaucoup plus générale
dans laquelle on peut demander de l’aide, aider des membres en difficulté, ou même de discuter de
certains choix à faire.
|
3 Taquin - Rapport de projet
Chapitre 2.
                                                            
                                                                                
                                                                    Organisation du projet
B.
                                                            
                                                                                
                                                                    Répartition des fonctionnalités
F IGURE 2.2 – Notre serveur Discord
B
|
Répartition des fonctionnalités....
                                                                                                                    »
↓↓↓ APERÇU DU DOCUMENT ↓↓↓
Liens utiles
- Mise ne place chronologique de l'idéal du moi
- La mise en place de la Vème république : continuité ou rupture Constitutionnelle ?
- GUERRE FROIDE MONDE BIPOLAIRE ET GRANDES CRISES PROBLEMATIQUE : Vous évoquerez la mise en place d’un monde bipolaire et les grandes crises qu’illustre la guerre froide
- st2S: Justifier la nécessité de mettre en place une politique vaccinale contre la rougeole, puis exposez les limites à la mise en place de cette politique.
- 1945: bilan de la guerre et mise en place d'un nouvel ordre mondial ?
 
     
                