Vous êtes sur la page 1sur 22

Compte Rendu

DEPARTEMENT MATHEMATIQUE ET INFORMATIQUE

« TP : JavaFX et accès
aux base de données »

Réalisé par : ELYOUSFI Mohamed

Encadré par : Abdelmajid BOUSSELHAM.

Année universitaire 2021/2022


Présentation de sujet

On souhaite créer une application Java afin de gérer les professeurs des départements. Pour
cela, nous avons les renseignements suivants :

1. Chaque professeur appartient à un seul département.


Les données du professeur avec les types : - id_prof : Int - nom : string - prenom :
string - cin : string - adresse : string - téléphone : string - email : string -
date_recrutement : date.
2. Un département peut contenir un ou plusieurs professeurs.
Les données du département avec les types : - id_deprat : Int - nom : string.

L’objectif et de créer une application Java permettant d’effectuer les opérations suivantes :
A- Gérer les professeurs :

1) Afficher la liste des professeurs


2) Rechercher des professeurs par mot Clé.
3) Ajouter un professeur
4) Supprimer un professeur
5) Modifier les informations d’un professeur
6) Affecter un professeur à un département

B- Gérer les départements

1) Ajouter un département
2) Afficher la liste des départements
3) Supprimer un département
4) Modifier un département
5) Afficher la liste des professeurs d’un département

2
Conception

Diagramme de Classe :

Chaque professeur appartient à un seul département.

Un département peut contenir un ou plusieurs professeurs.

MLD :

3
La base de données avec les tables dans MySQL :

4
Réalisation

Création des classes persistantes Professeur et Département.

Professeur.java

Departement.java

5
Création d’une interface IMetier qui déclare toutes les méthodes à implémenter :

Création d’une classe SingletonConnexionDB qui contient une méthode getConnexion, qui
retourne une connexion unique vers la base de données :

Il faut également ajouter le connecteur jdbc aux dépendances du projet :

6
Implémentation de l’interface IMetier :

void addProfesseur(Professeur p);

List<Professeur> getAllProfesseurs();

List<Professeur> getProfesseursByDepart(int id);

7
void delProfesseur(int id);

List<Professeur> searchProf(String keyWord);

void addDepartement(Departement d);

8
List<Departement> getAllDepartements();

Departement getDepartementById(int id);

void delDepartement(int id);

9
List<Departement> searchDep(String keyWord);

J’ai aussi ajouté deux méthodes static qui permet de modifier un professeur et un
département qui sont enregistrer dans des attributs static lors de leurs sélections.

public static void updateProfesseur()

10
public static void updateDepartement()

Application Console pour tester toutes méthodes métier :

Console :

11
Les table dans la base de données :

Département :

Professeur :

Pour le champ nom_depart pour la table DEPARTEMENT, les champs email et telephone
pour la table Professeur doivent être unique :

12
Une application Javafx pour faire toutes les opérations dans l’interface graphique :

Main :

Partie Gestion Professeur :

Interface principale qui contient l’affichage des professeurs et les operations qu’on peut
effectuer :

13
Création d’un nouveau professeur en cliquant sur Nouveau… :

Cas du succès :

14
Cas d’échec (ajout d’un professeur par le même email et telephone d’un autre professeur
déjà existe) :

Suppression (il faut sélectionner l’élément puis cliquer sur le Button supprimer) :

Cas succès :

15
Cas si on n’a pas sélectionné un élément :

Recherche (fait d’une manière dynamique « recherche par mot clé ») :

Modification d’un professeur :

16
Affectation a un département :

17
Partie gestion Département :

Interface principale qui contient l’affichage des departements et les operations qu’on peut
effectuer :

Création d’un nouveau departement en cliquant sur Nouveau… :

18
Suppression d’un département :

19
Recherche (fait d’une manière dynamique « recherche par mot clé ») et modification :

Après modification :

20
Pour tester la fonctionnalité d’afficher les professeurs appartenant à un département on
affecte tout d’abord les professeurs et on essaye.

21
Revenant maintenant à l’interface des départements et en cliquant sur profs :

GitHub: https://github.com/ElyousfiMohamed/DepartementManagement/tree/master

22

Vous aimerez peut-être aussi