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 ?