Institut Supérieur des Sciences Appliquées et de Technologie de Sousse Université de Sousse
Programmation orientée objet (7208 - FIA1)
TP 4 : Applications JAVA et accès à une base de données avec JDBC
Objectifs : ce TP a pour objectif de se familiariser avec la création des applications JAVA (console
et IHM) communicant avec une base de données MySQL en utilisant l’API JDBC.
Durée : 3h
Exercice 1 : application console et accès à une base de données
1) Créer une base de données MySQL nommée « Scolarité» contenant les informations des
étudiants sauvegardées dans la table Etudiant:
Champ Type de données
Netd int (primary key)
nom varchar(20)
prénom varchar(20)
moyenne double
Indication: au niveau de l’interface de «MySQL Workbench» utiliser les
commandes suivantes pour créer la base de données et la table Etudiant.
create database Scolarité;
use Scolarité;
create table Etudiant( Netd int(6) primary key not null,
nom varchar(20), prénom varchar(20), moyenne double);
insert into Etudiant (Netd,nom,prénom,moyenne) values(1,"Ali", "Selmi", 11.69);
insert into Etudiant (Netd,nom,prénom,moyenne) values(2,"Sana", "Beji", 10.07);
insert into Etudiant (Netd,nom,prénom,moyenne) values(3,"Maha", "Jaouadi",
14.32);
2) Ecrire le programme console JAVA qui permet d’afficher les noms et les prénoms de tous les
étudiants ayant une moyenne supérieure à 10.
Exemple : Le programme doit afficher un résultat similaire au suivant :
| Nom | Prénom | Moyenne |
| Ali | Selmi | 11,69 |
| Sana | Beji | 10,07 |
| Maha | Jaouadi | 14,32 |
1/5
Institut Supérieur des Sciences Appliquées et de Technologie de Sousse Université de Sousse
Programmation orientée objet (7208 - FIA1)
Exercice 2 : IHM, POO et accès à une base de données MySQL
L’objectif de cet exercice est de construire une application graphique qui permet de gérer les
demandes de formation et de certification des étudiants et des enseignants de l’institut.
Partie 1 : création de la base de données
1) Créer une base de données MySQL nommée « GFormations » contenant les tables
suivantes :
create database if not exists GFormations;
use GFormations;
create table Formation (idF int primary key not null, titre varchar(20), lieu
varchar(20), dateF date, certif boolean );
create table Etudiant ( id int primary key not null, nom varchar(20), prenom
varchar(20), filiere varchar(20), niveau int, groupe int );
create table DemandeETD ( id int primary key not null AUTO_INCREMENT,
idFormation int, idEtudiant int, foreign key(idFormation) references
Formation(idF), foreign key(idEtudiant) references Etudiant(id) );
Partie 2 : création de projet et définition de la couche métier
2) Créer un nouveau projet nommé « TP4EX2 »
3) Créer un package « oo » (au niveau du dossier « src » du projet, « New Folder ») et y
ajouter les classes suivantes :
a) la classe « Formation » définie par :
- Les attributs :
o Id : référence de la formation
o Titre : désignation (nom) de la formation
o DateF : date à laquelle sera faite la formation
o Lieu : endroit où sera faite la formation
o Certification : booléen, true si la formation est certifiée et false sinon
- Les méthodes :
o Le constructeur qui initialise les attributs.
o Les getters et les setters des attributs
b) Créer une classe abstraite « Personne » définie par :
- Les attributs :
o Id : entier représentant l’identifiant de la personne (numéro de la carte
d’étudiant pour les étudiants et CIN pour l’enseignant).
o nom : chaîne de caractères
o prenom : chaîne de caractères
- Les méthodes : les getters et les setters des attributs
2/5
Institut Supérieur des Sciences Appliquées et de Technologie de Sousse Université de Sousse
Programmation orientée objet (7208 - FIA1)
c) Créer une classe « Etudiant » qui hérite de la classe « Personne » et ajoute la
définition de :
- Les attributs :
o filiere : chaîne de caractères (LISI, LSI, ING INFO, etc.)
o niveau : entier (1, 2, 3)
o groupe : entier (le numéro du groupe dans le même niveau)
o Les méthodes : les getters et les setters des nouveaux attributs.
d) Créer une classe « Enseignant » qui hérite de la classe « Personne » et ajoute la
définition de :
- Les attributs :
o spécialité : chaîne de caractères
o grade : chaîne de caractères
- Les méthodes : les getters et les setters des attributs.
Partie 3 : création des composants des IHM multifenêtres
Créer un nouveau package « IHM » (au niveau du dossier « src » du projet, « New Folder »)
dans lequel vous allez ajouter les classes des différentes interfaces graphiques de cette application :
- Interface principale : (classe main dans le package application (par défaut)) une
interface graphique qui permet de gérer les formations, les étudiants et les enseignants.
- IHMAjoutF : interface qui permet d’ajouter une nouvelle formation en précisant ses
informations
- Si on clique, dans le menu de l’interface principale, sur « Afficher » une fenêtre
représentant la liste de toutes les formations (disponibles dans la base) dans une
TableView sera affichée.
- IHMRechF : interface qui permet de saisir la référence d’une formation et si l’utilisateur
clique sur le bouton « Rechercher » l’application cherche les infos de cette formation dans
la base et complète les autres champs de l’interface par les infos trouvées. Ensuite les
3/5
Institut Supérieur des Sciences Appliquées et de Technologie de Sousse Université de Sousse
Programmation orientée objet (7208 - FIA1)
boutons « Modifier » et « Supprimer » sont activés pour donner la possibilité à
l’utilisateur de modifier ou supprimer cette formation dans la base de données.
4) Implémenter ces interfaces et les tester.
5) Des interfaces graphiques similaires sont à développer pour la gestion des étudiants :
- IHMAjoutETD : permet d’ajouter un nouvel étudiant et de saisir ses informations.
- IHMRechETD : cette interface permet de saisir le numéro de la carte d’un étudiant et si
l’utilisateur clique sur le bouton « Rechercher » l’application cherche les infos de cet
étudiant dans la base de données et complète les autres champs de l’interface par les infos
trouvées. Ensuite, les boutons « Modifier » et « Supprimer » sont activés pour donner la
possibilité à l’utilisateur de modifier ou supprimer l’étudiant de la base de données.
En plus la liste des formations demandées par l’étudiant est affichée dans la TableView
en bas de l’interface. L’utilisateur peut choisir une formation parmi la liste de toutes les
formations disponibles affichée dans le combobox de droite et ajouter une demande de
4/5
Institut Supérieur des Sciences Appliquées et de Technologie de Sousse Université de Sousse
Programmation orientée objet (7208 - FIA1)
participation à une formation sélectionnéd parmi la liste ou supprimer une demande déjà
faite.
6) Implémenter les interfaces de recherche et d’ajout d’un étudiant.
7) Refaire le même travail pour la gestion des enseignants et leurs demandes de formation.
5/5