Vous êtes sur la page 1sur 11

Université de la Manouba

Ecole Nationale des Sciences de l'Informatique

Mini-rapport du Stage d'été II1


-Stage de Programmation-
Sujet

Gestion d’un auto-école

Réalisé par

Sana ANES

Eya MHAMDI

Mariem SAMOUT

Année Universitaire 2020/2019


1. Présentation générale du sujet
Le but d’un auto-école est de préparer le candidat a l’obtention du permis de conduire ;
alors il y a une relation de communication entre l’étudiant et l’administration et le
moniteur, pour cela cette application offre le gérant de l’auto-école un outil pour gérer les
informations de son établissement et aux candidats et moniteurs un moyen pour avoir
l’informations en ligne. On stock les données dans la base de données selon quelques
règles de gestion.
2. Présentation des fonctionnalités demandées de l'application
L’application de gestion d’un auto-école offre plusieurs services de base au
administrateur, aux étudiants et aux moniteurs. Alors il facilite l’inscription de l’étudiant
et offre au candidat de s’inscrire sur place sans aucun effort de déplacement (inscription
en ligne) de plus ce dernier peut avoir, choisir et imposer l’heure et les dates de cours et
voir les informations concernant le payement, cours et résultats des examens. Moniteur
peut mettre à jour les heures de cours de ses étudiants et voir leurs résultats. Cette
application est très pratique et très précise, elle offre au moniteur un calendrier qui
contient l’horaire d’une journée sélectionnée. Pour l’administration permet d’accepter et
de supprimer un candidat ou un moniteur, mettre à jour le résultat et les données et il a un
calendrier aussi.
3. Présentation de la conception de la solution proposée
3.1. Architecture du programme
Ce projet se décompose en vingt-un classes :
Connect LoginForm StudentRegisterForm TeacherRegisterForm adminCalendar
adminStdResults admin_dashboar mailer student_payment
registred_teacherList studentList student_dashboard change_U_P student_exams
student_results teacherCalendar teacherList repassUpdate teacherStdResults
teacher_dashboard updateStudent
Et se decompose en 3 libraries :
javax.mail
jcalendar-tz-1.3.3-4
mysql-connector-java-8.0.21

3.2. Détails de la solution


Connect : réalise la connexion et l’authentification à la base de données.
➢ les méthodes :
• ConnectDB() : récupérer le lien à la base de données.

LoginForm : permet d’entrer le nom et le mot de passe et de connecter comme étant un


étudiant ou un moniteur .
➢ les méthodes :
• LoginForm : constructeur par défaut .
• Verify : pour vérifier si le champ du nom et du mot de passe est rempli.

1
StudentRegisterForm : c’est un formulaire qui permet au candidat de s’inscrire dans le
système.
➢ les méthodes :
• StudentRegisterForm : constructeur par défaut et la mise en forme
• Compare : permet de calculer la différence de date actuelle et une date donnée et le
comparer avec une durée de temps (2ans pour ajout d’autre licence, 18ans pour
vérifier l’âge de candidat)
• ValidateAnEmail : validation d’Email.
• verifyFields : vérifier la remplissage de tous les champs correctement.

TeacherRegisterForm : c’est un formulaire qui permet au moniteur de s’inscrire dans le


système.
➢ les méthodes :
• TeacherRegisterForm : constructeur par défaut.
• verify : vérifier la remplissage de tous les champs correctement.
• ValidateAnEmail : validation d’Email.

adminCalendar :affiche l’horaire de tous les étudiants d’une journée sélectionnées par
l’administration
➢ les méthodes :
• adminCalendar : constructeur par défaut.
• showCalendar :fait la connexion à la base de données et affiche l’horaire dans un
tableau.
• index : renvoi l’index colonne du tableau correspond du temps passé au paramètre.

adminStdResults : affiche le résultat de tous les étudiants


➢ les méthodes :
• adminStdResults : constructeur par défaut.
• showResults : fait la connexion a la base de données et affiche les résultat final des
étudiants,
• Result : validation de l’examen (réussie ou échec).
• Check : tester si étudiant a un résultat final (conduite).

admin_dashboard : affiche la liste des étudiants inscrits, ils peuvent être acceptés ou retirés.
➢ les méthodes :
• admin_dashboard :constructeur par défaut.
• showRegStudent :affiche les étudiants inscrits , double-cliquez sur l’étudiant souhaité,
l’administrateur peut l’accepter ou le supprimer.
• addStudent :accepter l’étudiant dans le système et de l’ajouter à la liste des étudiants
dans la base de données
• removeStudent : supprimer l’étudiant de la base de données

2
change_U_P :permet de changer le nom ou le mot de passe d’un utilisateur.
➢ les attributs :
user : identifiant de l’utilisateur
➢ les méthodes :
• change_U_P :constructeur par défaut.

Mailer : permet de configurer et entrer les données de mail pour l’envoyer.


registred_teacherList :
➢ les méthodes :
• registred_teacherList :constructeur par défaut.
• Showteacher :affiche la liste de moniteur inscrits. double-cliquez sur le moniteur
souhaité, l’administrateur peut l’accepter ou le supprimer.
• Add : accepter le moniteur dans le système et de l’ajouter à la liste des moniteur dans
la base de données.
• Remove :supprimer le moniteur de la base de donnée.

teacherList :affiche la liste des moniteurs.


➢ les méthodes :
• teacherList : constructeur par défaut.
• Showteacher : afficher la liste de moniteur, double-cliquez sur le moniteur souhaité,
l’administrateur peut le maintenir ou le supprimer.
• Remove : supprimer le moniteur de la base de données.
studentList : affiche la liste d’étudiants
➢ les méthodes :
• studentList : constructeur par défaut.
• showStudents : afficher la liste d’étudiants.
• Update : permet d’insérer et mettre a jour de données de l’étudiant.

student_dashboard : affiche les information concernant le cours de l’étudiant nombre de


heures total et complétées et la date du séance prochaine.
➢ les méthodes :
• student_dashboard : constructeur par défaut, exécution de base de données.
• showCourse : affiche toutes le données de cours dans un tableau.
• update : mise à jour du cours.
• Teacher : donne le nom et prénom de la moniteur designer à l’étudiant.

student_results :affiche les résultat de l’étudiant.


➢ les méthodes :
• student_results : constructeur par défaut.
• showResults : affichage des résultats.
• Result : permet de lire les résultat du code et de conduite a partir de base de données
et de l’affiche comme « failed » ou « succeeded »

3
• theory_reslt : si l’étudiant réussi son examen théorique sera passer a l’examen
pratique.
• theory_failer : si l’étudiant a échoué son examen théorique, il peut le réexaminer.
• practice_reslt: resultat pratique .
• practice_failer : si l’étudiant a échoué son examen pratique, il peut le réexaminer.
• practice_succ : si l’étudiant a réussi son examen pratique, il peut ajouter une autre
licence

student_exams : affiche les dates des examens de l’étudiant.


➢ les méthodes :
• student_exams : constructeur paramétré, l’identifiant de l’étudiant passé en paramètre
• showCourse : affiche un tableau qui contient les dates des examens .
student_payment : affiche le payement du cours et des examens de l’étudiant.
➢ les méthodes :
• student_payment : constructeur paramétré, l’identifiant de l’étudiant passé en
paramètre.
• showPayment : affiche si les cours et les frais d’examen sont payées ou non.

teacher_dashboard : affiche la liste des étudiants de le moniteur ,permet de mettre a jour les
heures de cours et la date de prochaine séance.
➢ les méthodes :
• teacher_dashboard : constructeur paramétré, l’identifiant de le moniteur passé en
paramètre.
• update : mettre à jour le nombre d’heures, la date de cours…
• showStudent : affiche les données nécessaires des étudiants au moniteur à partir de
bade de données

teacherCalendar : affiche l’horaire de tous les étudiants d’une journée sélectionnées par le
moniteur
➢ les méthodes :
• teacherCalendar : constructeur paramétré, l’identifiant de le moniteur passé en
paramètre
• showCalendar : fait la connexion à la base de données et affiche l’horaire dans un
tableau.
• Index : renvoi l’index colonne du tableau correspond du temps passé en paramètre.

teacherStdResults : affiche les résultat des étudiants de le moniteur.


➢ les méthodes :
• teacherStdResults : constructeur parametré, l’identifiant de le moniteur passé en
paramètre.
• showResults : affichage du resultat.
• Result : permet de lire le résultat de conduite a partir de base de données et de
l’affiche comme « failed » ou « succeeded »

4
repassUpdate : mettre a jour les données de l’étudiants qui réexaminées le code ou le
conduite.
➢ les méthodes :
• repassUpdate : constructeur paramétré, l’identifiant de l’étudiant passé en
paramètre.
• th_update : mettre à jour le payement et date d’examen de l’étudiant qui
réexaminées le code.
• pr_update : mettre à jour le payement et date d’examen de l’étudiant qui
réexaminées le conduite.
updateStudent : permet d’insérer et mettre à jour les données des étudiants qui sera examiner
le code ou le conduite
➢ les méthodes :
• updateStudent : constructeur paramétré , l’identifiant de l’étudiant passé en
paramètre.
• Teachers : lister les moniteurs qui ont la même licence que l’étudiant.
4. Manuel d’utilisation
4.1. Environnement logiciel
NetBeans : est un environnement de développement intégré (IDE) pour Java, qui permet de
développer des applications à partir d'un ensemble de composants logiciels modulaires
appelés modules
WampServer : est une plateforme de développement Web permettant de faire fonctionner
des scripts PHP. WampServer est un environnement comprenant trois serveurs
(Apache, MySQL et MariaDB), ainsi que phpMyAdmin pour l'administration Web des bases
MySQL.
❖ Langage utilisé :java, MySQL
4.2. Présentation du travail réalisé
Inscription de l’étudiant ou le moniteur :

Figure 1 inscrit comme un étudiant

5
Figure 2: inscrit comme un moniteur

✓ L’Acceptance :

Figure 3: login comme un admin

Figure 4: acceptation de l’inscrit Figure 5: envoi de l’email d’acceptation

✓ Saisir et mettre à jour les données(admin) :

6
Figure 6 : saisit du montant de contrat de code Figure 7: remplit les champs concernant le code

Figure 8 : saisit du montant de contrat de conduite Figure 9: remplit les champs concernant le conduite

Figure 10 : remplit les champs de la réexaminassions du code Figure 11: donner le résultat de conduite

✓ Affichage des données (admin) :

7
Figure 12: voir l’horaire d’un journées sélectionnées Figure 13: voir les résultat des étudiants

✓ Affichage (étudiant) :

Figure 14: login comme un étudiant Figure 15: voir les informations concernant les cours

Figure 16 : voir les résultats (avant réexaminassions du code échoué) Figure 17: voir les dates des examens

8
Figure 18 : voir les payements Figure 19: voir les résultats ( après réexaminassions du code)

✓ Affichage (moniteur) :

Figure 20 : mettre à jour les heures du cours Figure 21: voir l’horaire d’un journées sélectionnées

Figure 22 : voir les résultats finaux des étudiants

9
5. Les problèmes rencontrés et leurs solutions

Problèmes rencontrés Solutions proposées

Connexion a la base de données (ajouter le Utilisation de connecteur java MySQL


paramètre time zone dans l’instruction de
connexion)

Envoie de l’Email Désactivation de l’antivirus

Executable de code Utiliser Launch4j et Ajouter le jre .jar

6. Références
https://www.programcreek.com/java-api-
examples/?class=javax.swing.table.TableModel&method=setValueAt 2020/09/04
https://docs.oracle.com/javase/tutorial/uiswing/components/spinner.html 2020/09/03
https://www.javatpoint.com/example-of-sending-email-using-java-mail-api-through-
gmail-server 2020/09/03
https://www.javatpoint.com/java-sql-date 2020/08/21
https://www.javatpoint.com/java-swing 2020/08/01
https://stackoverflow.com/questions/22371720/how-to-add-row-dynamically-in-jtable
2020/07/24
https://www.geeksforgeeks.org/java-swing-jcombobox-examples/ 2020/07/23
https://stackoverflow.com/questions/26515700/mysql-jdbc-driver-5-1-33-time-zone-issue
2020/07/18
https://www.javatpoint.com/java-jdbc 2020/07/14

10

Vous aimerez peut-être aussi