1.
Objectif du projet
Ce projet consiste à développer une application Java avec interface graphique qui permet
de contrôler les entrées et sorties dans un aéroport. En important la liste des passagers
sous forme de fichier PDF contenant des noms, prénoms et CIN, l'application compare
automatiquement les données avec une base MySQL (ist / notam) pour identifier les
personnes autorisées ou non. Les résultats sont affichés clairement à l’écran sous forme de
tableaux.
2. Les fonctionnalités de l’application
Importation du fichier PDF
L’application permet tout d’abord d’ importer un fichier PDF contenant une liste de
personnes grâce à un simple clic sur un bouton ‘ Scanner un pdf ‘. Un JFileChooser s’ouvre
pour sélectionner le document, puis Apache PDFBox extrait le texte brut, ligne par ligne, en
supprimant les espaces et caractères superflus. Cette étape garantit une récupération fiable
des noms, prénoms et numéros de CIN inscrits dans le PDF.
Analyse et comparaison avec la base de données
Ensuite, chaque entrée est analysée et comparée automatiquement avec la base de
données MySQL. La base cible (ist ou notam) est choisie via une JComboBox, puis des
requêtes préparées (PreparedStatement) vérifient la présence de chaque personne.
Exemple si la personne figure parmi les interdits, elle sera marquée comme non autorisée ;
sinon, elle sera considérée autorisée.
Présentation des résultats
Les résultats sont présentés dans une fenêtre de dialogue dotée d’un JTabbedPane : un
onglet liste celles et ceux qui peuvent entrer ou sortir, l’autre regroupe les personnes
refusées . Cette interface ergonomique, accompagnée de messages via JOptionPane, offre
un retour visuel immédiat à l’utilisateur, facilitant la prise de décision.
Gestion CRUD et visualisation des données
Enfin, l’application intègre un module CRUD complet pour gérer les bases ist et notam :
ajout, modification, suppression et recherche de personnes par ID. Un tableau principal en
dessous (JTable) affiche en temps réel tous les enregistrements de la table sélectionnée,
avec tri automatique et mise à jour dynamique. Cette combinaison de fonctionnalités rend
l’outil à la fois puissant et simple d’utilisation pour la gestion quotidienne des accès
aéroportuaires.
3. Analyse et conception
Diagramme de cas d’utilisation
SCANNER
UN PDF
Admin de l’application
GESTION DE
LA BASE
<< include >>
Ajouter Modifier Supprimer
Personne Personne Personne
Diagramme de classe
AEROPORT
conn : Connection Le diagramme de classe ci-dessous représente
l’architecture de l’application dans une approche
pst : PreparedStatement monoclasse, centrée sur la classe principale aeroport.
rset : ResultSet Cette classe regroupe à la fois les composants de
txtname : JTextArea l’interface utilisateur (Swing), la logique de traitement des
txtfirstname : JTextArea données, et les interactions avec la base de données.
txtcin : JTextArea
Elle contient plusieurs attributs, tels que les champs de
txtAdresse : JTextArea saisie (txtname, txtcin...), les objets de connexion à la
txtlieu : JTextArea base de données (conn, pst, rset), ainsi que des
naiss : JDateChooser composants graphiques spécifiques (comme
txtbase : JComboBox JDateChooser pour la date).
aeroport() : constructeur
connex() : void Les méthodes permettent d’exécuter les principales
Fonctionnalités de l’application, notamment :
charge() : void o connex() pour établir une connexion à la base de
btnAddActionPerformed() : void données,
btnModifierActionPerformed() : void o ajouter(), modifier(), supprimer() pour gérer les
données des personnes,
btnSupprimerActionPerformed() : o scannerPDF() pour analyser un fichier PDF et
void vérifier la présence de personnes,
btnSearchActionPerformed() : void o afficher() pour visualiser les données dans un
tableau.
scanActionPerformed() : void
afficherActionPerformed() : void
Ce diagramme reflète une structure fonctionnelle simple mais efficace, adaptée aux besoins d’un projet de petite ou
moyenne envergure ne nécessitant pas une architecture orientée objet avancée.
MCD (Modèle Conceptuel de Données)
Diagramme de séquence
BOUTON AJOUTER :
SYSTEME
Admin de l’app
Remplit nom, prénom, date, lieu, cin, adresse
Vérifie champs non vides / Vérifie CIN est un entier
Enregistrement DB
Message succès