---
titre: "Rapport_technique_Projet_IHM_Brinet_Besson_Boudjemline"
auteurs: "Félix Brinet / Romain Besson / Bilal Boudjemline"
date: "2022-12-04"
---

## Sommaire

-   <div>

    1.  Introduction

    2.  Utilisation de l'API

    3.  Diagramme

    4.  Fonctionnalitées

        -   Fonctionnalitées réussi

        -   Fonctionnalitées non réussi

        -   Fonctionnalitées manquantes

    5.  Tests

        -   Tests réussi

        -   Tests non réussi

        -   Tests montrant des bugs

    6.  Conclusions

        -   Conclusion personnelles

        -   Conclusion générale

    </div>
## 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.

## Diagrammes

## Fonctionnalitées

Pour les 3 vues, nous avons pas fait d'interface malgrès que les vues ont des méthodes en commun. En effet, nous voulons créer des applications indépendantes et déployable sans les autres donc une interface aurait empéché cette séparation.

### Fonctionnalitées réussi
**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;

    </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

    </div>

### Fonctionnalitées non réussi
**Administrateur :**

-   <div>

    -   (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)

    </div>

**Professeur :**

-   <div>

    -   Toutes les fonctionnalitées ont été réussi

    </div>

**Elève :**

-   <div>

    -   (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)

    </div>

### Fonctionnalitées manquantes
Par choix arbitraire, nous avons decidé de ne pas créer de sous groupe.

Rajouter un bouton quitter sur la page d'accueil, ce n'est pas indispensable mais cela pourrait rendre l'interface plus intuitive.

## Tests

### Tests réussi

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 et également mis à jour.

Nous pensons que l'ensemble des fonctionnalités demandés ont été faite. (Mis a part ce qui se trouve dans la catégorie: Fonctionnalitées manquantes et Fonctionnalitées non reussi).

### 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.
**Bug corrigé**

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.
**Bug corrigé**

## Conclusions

### Conclusions personnelles

Bilal: J'ai trouvé ce projet intéressant à faire. Il a demandé une mobilisation de quasi toutes les connaissances que nous avons pu acquerir dans le BUT2. Ce que je trouve dommage, c'est que nous étions restraint par l'API.

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'aurai bien aimé rendre l'interface un peu plus jolie, un peu plus coloré. 

Romain: J'ai trouvé ce projet intéressant parceque c'est le premier où on a dû créer une application qui interagit avec une base de données. De plus nous devions utilisé une API qui n'était pas la notre, ce qui nous a donc forcer à adapter notre application autour.

### Conclusion générale

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.

