FIProjetIHM2022/README.md

171 lines
6.2 KiB
Markdown
Raw Normal View History

2022-12-08 09:47:24 +01:00
---
titre: "Rapport_technique_Projet_IHM_Brinet_Besson_Boudjemline"
auteurs: "Félix Brinet / Romain Besson / Bilal Boudjemline"
date: "2022-12-04"
---
2022-12-08 22:22:32 +01:00
2022-12-08 09:47:24 +01:00
## Sommaire
- <div>
2022-12-08 22:35:15 +01:00
##Introduction
2022-12-08 09:47:24 +01:00
2022-12-08 22:30:04 +01:00
2. Utilisation de l'API
2022-12-08 09:47:24 +01:00
2022-12-08 22:30:04 +01:00
3. Diagramme
2022-12-08 09:47:24 +01:00
2022-12-08 22:30:04 +01:00
4. Fonctionnalités
2022-12-08 09:47:24 +01:00
2022-12-08 22:30:04 +01:00
- Fonctionnalités réussies
2022-12-08 09:47:24 +01:00
2022-12-08 22:30:04 +01:00
- Fonctionnalités non réussies
2022-12-08 09:47:24 +01:00
2022-12-08 22:30:04 +01:00
- Fonctionnalités manquantes
2022-12-08 09:47:24 +01:00
2022-12-08 22:30:04 +01:00
5. Tests
2022-12-08 09:47:24 +01:00
2022-12-08 22:30:04 +01:00
- Tests réussis
2022-12-08 09:47:24 +01:00
2022-12-08 22:30:04 +01:00
- Tests non réussis
2022-12-08 09:47:24 +01:00
2022-12-08 22:30:04 +01:00
- Tests montrant des bugs
2022-12-08 09:47:24 +01:00
2022-12-08 22:30:04 +01:00
6. Conclusions
2022-12-08 09:47:24 +01:00
2022-12-08 22:30:04 +01:00
- Conclusions personnelles
2022-12-08 09:47:24 +01:00
2022-12-08 22:30:04 +01:00
- Conclusion générale
2022-12-08 09:47:24 +01:00
</div>
2022-12-08 22:30:04 +01:00
2022-12-08 22:33:01 +01:00
## Introduction
Ce projet a été réalisé dans le cadre de la SAE du semestre 3 de la matière DEV.3.1. L'objectif de ce projet est de créer une **interface homme-machine (IHM) en java**. Nous devons utiliser une API fournie par notre professeur Florent Madeleine. En tout premier, nous devons utiliser le mode non-persistant déjà fournit et à la suite nous avons créer un mode persistant en utilisant une **base de données sur PhpMyAdmin**.
2022-12-08 09:47:24 +01:00
## Utilisation de l'API
Bilal a commencé le projet seul car Romain et Félix étaient encore sur le projet précédent. Il a pu commencer à utiliser à l'API et à tester en modèle non-persistant. À la suite, Félix a créé la base de données et a essayé d'aider Bilal pour le modèle persistant. Ensuite Romain à changé l'interface pour la rendre plus intuitive et plus agréable à utiliser. Il a par exemple utilisé des CardLayout et Jpanel pour éviter d'ouvrir une fenêtre pour chaque fonctionnalité. Il a pu aussi créer un menu afin d'accéder aux différentes applications.
2022-12-08 22:21:47 +01:00
## Diagramme
2022-12-08 09:47:24 +01:00
2022-12-08 22:20:32 +01:00
<img src="./DCU_PROJET_IHM.svg">
2022-12-08 09:47:24 +01:00
## Fonctionnalitées
2022-12-08 22:30:04 +01:00
Pour les 3 vues, nous n'avons pas fait d'interface bien que les vues ont des méthodes en commun. En effet, nous voulons créer des applications indépendantes et déployables sans les autres donc une interface aurait empêché cette séparation.
2022-12-08 09:47:24 +01:00
### Fonctionnalitées réussi
2022-12-08 22:30:04 +01:00
2022-12-08 09:47:24 +01:00
**Administrateur :**
- <div>
- (M) Créer, supprimer et renommer un groupe;
- (M) Ajouter un individu dans un groupe;
- (M) Déplacer un individu dans un autre groupe;
2022-12-08 22:30:04 +01:00
- (S) Déplacer un individus en validant sa demande
- (S) Refus d'une demande (de type 1)
- (C) Echanger des individus entre 2 groupes à leur demande respectives (demande de type 2)
- (C) Refus d'une demande (de type 2)
2022-12-08 09:47:24 +01:00
</div>
**Professeur :**
- <div>
- (M) Afficher la liste des groupes
- (M) Afficher la liste des étudiant d'un groupe donné
- (S) Chercher le groupe d'un étudiant à partir des **3** premières lettres de son nom
</div>
**Elève :**
- <div>
- (M) Afficher la liste des groupes
- (M) Afficher la liste des étudiants d'un groupe donné
- (M) Demandé à passé dans groupe ~~qui est moins pleins que le sien~~ en ajoutant une explication
- (S) Voir les demandes de changement de groupe du type 2
2022-12-08 22:30:04 +01:00
- (S) Demander à passer dans un groupe qui est de même taille ou plus grand en ajoutant une explication (demande de type 2 à faire valider)
2022-12-08 09:47:24 +01:00
2022-12-08 22:30:04 +01:00
</div>
2022-12-08 09:47:24 +01:00
2022-12-08 22:30:04 +01:00
### Fonctionnalités non réussi
2022-12-08 09:47:24 +01:00
2022-12-08 22:30:04 +01:00
**Administrateur :**
2022-12-08 09:47:24 +01:00
2022-12-08 22:30:04 +01:00
- <div>
2022-12-08 09:47:24 +01:00
2022-12-08 22:30:04 +01:00
- Toutes les fonctionnalités ont été réussies.
2022-12-08 09:47:24 +01:00
</div>
**Professeur :**
- <div>
2022-12-08 22:30:04 +01:00
- Toutes les fonctionnalités ont été réussies.
2022-12-08 09:47:24 +01:00
</div>
**Elève :**
- <div>
2022-12-08 22:30:04 +01:00
- Toutes les fonctionnalités ont été réussies.
2022-12-08 09:47:24 +01:00
</div>
2022-12-08 22:30:04 +01:00
### Fonctionnalités manquantes
Par choix arbitraire, nous avons décidé de ne pas créer de sous-groupe.
2022-12-08 09:47:24 +01:00
2022-12-08 22:30:04 +01:00
Rajouter un bouton quitter sur la page d'accueil, ce n'est pas indispensable, mais cela pourrait rendre l'interface plus intuitive.
2022-12-08 09:47:24 +01:00
## Tests
2022-12-08 22:30:04 +01:00
### Tests réussis
2022-12-08 09:47:24 +01:00
2022-12-08 22:30:04 +01:00
Lorsqu'un administrateur clique sur "Changer le groupe d'un étudiant", il peut voir le changement en direct sur l'affichage du tableau à droite. De plus, la base de données est également mise à jour.
2022-12-08 09:47:24 +01:00
2022-12-08 22:30:04 +01:00
Nous pensons que l'ensemble des fonctionnalités demandées ont été faites. (Mis a part ce qui se trouve dans la catégorie : fonctionnalités manquantes).
2022-12-08 09:47:24 +01:00
### Tests montrant des bugs
Nous avons fait essayer notre application à d'autres étudiants, dont Kilian Moulin. Il a pu détecter des bugs.
Lors d'un clique sur "Affichage" puis "Plein écran" ou bien "Fenêtré", les différents onglets pour changer de vue de "Menu" disparaissent. Ce qui fait que nous sommes alors coincés sur la vue choisie.
2022-12-08 21:55:16 +01:00
**Bug corrigé**
2022-12-08 09:47:24 +01:00
Si l'utilisateur se rend la vue Administrateur et qu'il choisit "Changer le groupe d'un étudiant" et que l'utilisateur se met ensuite sur la vue professeur ou bien élève en passant par le menu alors il peut déplacer des élèves sans être administrateur.
2022-12-08 21:38:32 +01:00
**Bug corrigé**
2022-12-08 09:47:24 +01:00
## Conclusions
### Conclusions personnelles
2022-12-08 22:30:04 +01:00
Bilal: J'ai trouvé ce projet intéressant à faire. Il a demandé une mobilisation de quasi toutes les connaissances que nous avons pu acquérir dans le BUT2. Ce que je trouve dommage, c'est que nous étions restreints par l'API.
2022-12-08 09:47:24 +01:00
2022-12-08 22:30:04 +01:00
Félix: Pour ma part, ce projet n'a pas été facile à réaliser, car je n'ai pas bien réussi à comprendre comment utiliser l'API. Mais grâce à l'aide de mes camarades nous avons pu rendre un résultat assez satisfaisant et je suis fier du rendu de ce projet. J'aurais bien aimé rendre l'interface un peu plus jolie, un peu plus coloré.
2022-12-08 09:47:24 +01:00
2022-12-08 22:30:04 +01:00
Romain: J'ai trouvé ce projet intéressant parce que c'est le premier où on a dû créer une application qui interagit avec une base de données. De plus, nous devions utiliser une API qui n'était pas la nôtre, ce qui nous a donc forcées à adapter notre application autour.
2022-12-08 09:47:24 +01:00
### Conclusion générale
2022-12-08 22:11:41 +01:00
Ce projet a été un challenge pour nous tous dans le projet. Tout d'abord en raison de sa complexité, mais également, car nous n'avions jamais travaillé ensemble au paravent. Nous sommes assez fiers du rendu du projet, mais nous aurions aimé rajouté plus de fonctionnalités. Nous avons eu des problèmes sur la répartition des tâches à faire. Nous avons pu mettre en valeur les atouts de chacun dans ce projet, Bilal pour l'utilisation de l'API et les fonctionnalités. Romain a pu mettre en avant ses compétences pour créer une interface intuitive et agréable à regarder. Félix a pu organiser les tâches à faire, aider lors de bug en faisait du pair programming et la rédaction du rapport ainsi que la base de données.