import [Link].
Toolkit;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link].*;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
public class aeroport extends [Link] {
private static final [Link] logger =
[Link]([Link]());
public aeroport() throws SQLException {
initComponents();
connex();
charge();
icon();
setExtendedState(JFrame.MAXIMIZED_BOTH);
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jMenu1 = new [Link]();
jMenu2 = new [Link]();
jMenuItem1 = new [Link]();
jMenuItem2 = new [Link]();
jMenu3 = new [Link]();
jCheckBoxMenuItem1 = new [Link]();
jMenuItem3 = new [Link]();
jMenu4 = new [Link]();
jCheckBoxMenuItem2 = new [Link]();
jMenu5 = new [Link]();
jMenu6 = new [Link]();
jMenuBar2 = new [Link]();
jMenu7 = new [Link]();
jMenu8 = new [Link]();
jMenu9 = new [Link]();
jMenu10 = new [Link]();
jMenuBar3 = new [Link]();
jMenu11 = new [Link]();
jMenu12 = new [Link]();
jMenuBar4 = new [Link]();
jMenu13 = new [Link]();
jMenu14 = new [Link]();
jMenuBar5 = new [Link]();
jMenu15 = new [Link]();
jMenu16 = new [Link]();
jMenuBar6 = new [Link]();
jMenu17 = new [Link]();
jMenu18 = new [Link]();
jMenuBar7 = new [Link]();
jMenu19 = new [Link]();
jMenu20 = new [Link]();
jScrollPane5 = new [Link]();
jTable1 = new [Link]();
jLabel10 = new [Link]();
jLabel1 = new [Link]();
jLabel2 = new [Link]();
jLabel3 = new [Link]();
jLabel4 = new [Link]();
jLabel5 = new [Link]();
jLabel6 = new [Link]();
jLabel7 = new [Link]();
jScrollPane1 = new [Link]();
txtname = new [Link]();
jScrollPane2 = new [Link]();
txtfirstname = new [Link]();
jScrollPane4 = new [Link]();
txtcin = new [Link]();
txtadresse = new [Link]();
txtAdresse = new [Link]();
btnAdd = new [Link]();
jLabel8 = new [Link]();
jScrollPane3 = new [Link]();
txtlieu = new [Link]();
jLabel9 = new [Link]();
txtid = new [Link]<>();
btnSearch = new [Link]();
btnSupprimer = new [Link]();
btnModifier = new [Link]();
txtbase = new [Link]<>();
scan = new [Link]();
jScrollPane6 = new [Link]();
tableau = new [Link]();
afficher = new [Link]();
naiss = new [Link]();
jLabel11 = new [Link]();
jMenuBar1 = new [Link]();
[Link]("jMenu1");
[Link]("jMenu2");
[Link]("jMenuItem1");
[Link]("jMenuItem2");
[Link]("jMenu3");
[Link](true);
[Link]("jCheckBoxMenuItem1");
[Link]("jMenuItem3");
[Link]("jMenu4");
[Link](true);
[Link]("jCheckBoxMenuItem2");
[Link]("jMenu5");
[Link]("jMenu6");
[Link]("File");
[Link](jMenu7);
[Link]("Edit");
[Link](jMenu8);
[Link]("jMenu9");
[Link]("jMenu10");
[Link]("File");
[Link](jMenu11);
[Link]("Edit");
[Link](jMenu12);
[Link]("File");
[Link](jMenu13);
[Link]("Edit");
[Link](jMenu14);
[Link]("File");
[Link](jMenu15);
[Link]("Edit");
[Link](jMenu16);
[Link]("File");
[Link](jMenu17);
[Link]("Edit");
[Link](jMenu18);
[Link]("File");
[Link](jMenu19);
[Link]("Edit");
[Link](jMenu20);
[Link](new [Link](
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
[Link](jTable1);
[Link](new [Link](getClass().getResource("/man_made-airport-aerial-
[Link]"))); // NOI18N
[Link](0.0F);
[Link](new [Link](204855, 13655));
[Link]([Link]);
setDefaultCloseOperation([Link].EXIT_ON_CLOSE);
setBackground([Link]().getColor("[Link]"));
getContentPane().setLayout(new [Link]());
[Link](new [Link]("Segoe UI Semilight", 0, 24)); // NOI18N
[Link](new [Link](204, 102, 0));
[Link]("MANIPULATION DES PERSONNES A RECHERCHER");
getContentPane().add(jLabel1, new [Link](300, 20, -1,
30));
[Link](new [Link](0, 255, 153));
[Link](new [Link](0, 255, 102));
[Link]("Nom :");
getContentPane().add(jLabel2, new [Link](179, 105, -1, -
1));
[Link](new [Link](0, 255, 102));
[Link]("Prénom :");
getContentPane().add(jLabel3, new [Link](179, 139, -1, -
1));
getContentPane().add(jLabel4, new [Link](73, 360, -1, -
1));
[Link](new [Link](0, 255, 102));
[Link]("Date et lieu de naissance :");
getContentPane().add(jLabel5, new [Link](145, 188, -1, -
1));
[Link](new [Link](0, 255, 102));
[Link]("Cin :");
getContentPane().add(jLabel6, new [Link](183, 272, -1, -
1));
[Link](new [Link](0, 255, 102));
[Link]("Adresse :");
getContentPane().add(jLabel7, new [Link](183, 233, -1, -
1));
[Link](20);
[Link](true);
[Link](5);
[Link](true);
[Link](txtname);
getContentPane().add(jScrollPane1, new [Link](322, 82,
-1, 28));
[Link](20);
[Link](true);
[Link](5);
[Link](true);
[Link](txtfirstname);
getContentPane().add(jScrollPane2, new [Link](322,
128, -1, 27));
[Link](20);
[Link](true);
[Link](5);
[Link](true);
[Link](txtcin);
getContentPane().add(jScrollPane4, new [Link](322,
262, -1, 26));
[Link](20);
[Link](true);
[Link](5);
[Link](true);
[Link](txtAdresse);
getContentPane().add(txtadresse, new [Link](322, 224, -
1, 26));
[Link]("Ajouter");
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
btnAddActionPerformed(evt);
});
getContentPane().add(btnAdd, new [Link](210, 330, -1, -
1));
[Link](new [Link]("Segoe UI", 0, 14)); // NOI18N
[Link](new [Link](0, 255, 102));
[Link]("à :");
getContentPane().add(jLabel8, new [Link](578, 178, 39,
-1));
[Link](20);
[Link](true);
[Link](5);
[Link](true);
[Link](txtlieu);
getContentPane().add(jScrollPane3, new [Link](623,
178, -1, 26));
[Link](new [Link](0, 255, 102));
[Link]("id :");
getContentPane().add(jLabel9, new [Link](840, 130, 52,
-1));
[Link](new [Link]<>(new String[] { "Item 1", "Item 2",
"Item 3", "Item 4" }));
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
txtidActionPerformed(evt);
});
getContentPane().add(txtid, new [Link](890, 120, 131, -
1));
[Link]("Search");
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
btnSearchActionPerformed(evt);
});
getContentPane().add(btnSearch, new [Link](910, 170,
78, -1));
[Link]("Supprimer");
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
btnSupprimerActionPerformed(evt);
});
getContentPane().add(btnSupprimer, new [Link](330,
330, -1, -1));
[Link]("Modifier");
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
btnModifierActionPerformed(evt);
});
getContentPane().add(btnModifier, new [Link](470, 330,
-1, -1));
[Link](new [Link]<>(new String[] { "ist", "notam" }));
getContentPane().add(txtbase, new [Link](890, 80, 131,
-1));
[Link]("Scanner un pdf ");
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
scanActionPerformed(evt);
});
getContentPane().add(scan, new [Link](780, 330, -1, -
1));
[Link](new [Link](
new Object [][] {
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null}
},
new String [] {
"ID", "Nom", "Prénom", "Date de naissance", "CIN"
));
[Link](tableau);
getContentPane().add(jScrollPane6, new [Link](110,
420, 1010, 250));
[Link]("affiher");
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
afficherActionPerformed(evt);
});
getContentPane().add(afficher, new [Link](630, 330, -1, -
1));
getContentPane().add(naiss, new [Link](320, 180, 240, -
1));
[Link](new [Link](getClass().getResource("/man_made-airport-aerial-
[Link]"))); // NOI18N
getContentPane().add(jLabel11, new [Link](0, 0, -1, -1));
setJMenuBar(jMenuBar1);
pack();
}// </editor-fold>
Connection conn;
PreparedStatement pst;
ResultSet rset;
public final void connex() throws SQLException{
try {
[Link]("[Link]");
conn = [Link]("jdbc:mysql://localhost:3306/test?
serverTimezone=UTC","root","");
} catch (ClassNotFoundException ex) {
[Link]([Link]()).log([Link], (String) null, ex);
public final void charge() throws SQLException{
String base = [Link]().toString();
if(base=="ist"){
pst = [Link]("SELECT id FROM ist ORDER BY id");
[Link]();
}else{
pst = [Link]("SELECT id FROM notam ORDER BY id");
[Link]();
rset = [Link]();
while([Link]()){
[Link]([Link](1));
}
}/*
public void charge() throws SQLException {
// 1) Table cible : on ne laisse passer que les deux valeurs attendues
String selection = [Link]([Link]()).toLowerCase();
String table;
switch (selection) {
case "ist" -> table = "ist";
case "notam" -> table = "notam";
default -> { [Link](); return; } // rien à faire
// 2) Exécution de la requête
String sql = "SELECT id FROM " + table + " ORDER BY id"; // tri facultatif
try (PreparedStatement pst = [Link](sql);
ResultSet rs = [Link]()) {
[Link](); // vide la combo avant de remplir
while ([Link]()) {
[Link]([Link]("id"));
*/
private boolean estEntier(String s) {
return s != null && [Link]("\\d+"); // 1 ou plusieurs chiffres
private void btnAddActionPerformed([Link] evt) {
try {
String base = [Link]().toString();
String nom = [Link]();
String prenom = [Link]();
Date utilDate = [Link]();
String lieu = [Link]();
String cinStr = [Link]();
String adresse = [Link]();
if([Link]() || [Link]()||utilDate == null|| [Link]() || [Link]()||
[Link]()){
[Link](null, "Veuillez remplir tous les champs");
if (!estEntier(cinStr)) {
[Link](this,
"Le CIN doit contenir uniquement des chiffres",
"Erreur de saisie", JOptionPane.ERROR_MESSAGE);
else{
int cin = [Link]([Link]().trim());
String sql = "INSERT INTO "+ base +"(nom,prenom,dates,lieu,cin,adresse) VALUES (?,?,?,?,?,?)";
pst = [Link](sql);
[Link](1, nom);
[Link](2, prenom);
[Link] sqlDate = new [Link]([Link]());
[Link](3, sqlDate);
[Link](4, lieu);
[Link](5, cin);
[Link](6, adresse);
int k = [Link]();
if(k == 1){
[Link](this , "l'insertion a été bien effectuer");
[Link]("");
[Link]("");
[Link]("");
[Link]("");
[Link]("");
else{
[Link](this , "l'insertion be peut pas s'effectuer ");
} catch (SQLException ex) {
[Link]([Link]()).log([Link], (String) null, ex);
private void btnSearchActionPerformed([Link] evt) {
try {
String id = [Link]().toString();
String base = [Link]().toString();
pst = [Link]( "SELECT * FROM " + base +" WHERE id = ?");
[Link](1, id);
rset = [Link]();
if([Link]() == true){
[Link]([Link](2));
[Link]([Link](3));
[Link] sqlDate = [Link](4);
if (sqlDate != null) {
[Link] utilDate = new [Link]([Link]());
[Link](utilDate);
} else {
[Link](null);
[Link]([Link](5));
[Link]([Link]([Link]("cin")));
[Link]([Link](7)); }
else{
[Link](this , "selection introuvable");
} catch (SQLException ex) {
[Link]([Link]()).log([Link], (String) null, ex);
private void btnSupprimerActionPerformed([Link] evt) {
try {
String nom = [Link]();
String prenom = [Link]();
String lieu = [Link]();
String cin = [Link]();
String adresse = [Link]();
String id = [Link]().toString();
String base = [Link]().toString();
if([Link]() || [Link]() || [Link]() || [Link]()|| [Link]()){
[Link](null, "Veuillez remplir tous les champs");
} else{
pst = [Link]("DELETE FROM " + base + " WHERE id=?");
[Link](1, id);
int supp = [Link]();
if (supp ==1){
[Link](this, "Elément bien Supprimer");
else{
[Link](this,"La suppression ne peut pas s'éffectuer");
} catch (SQLException ex) {
[Link]([Link]()).log([Link], (String) null, ex);
private void btnModifierActionPerformed([Link] evt) {
try {
String base = [Link]().toString();
String id = [Link]().toString();
String nom = [Link]();
String prenom = [Link]();
Date utilDate = [Link]();
String lieu = [Link]();
int cin = [Link]([Link]().trim());
String adresse = [Link]();
if([Link]() || [Link]() ||utilDate == null || [Link]() /*||
[Link]()*/|| [Link]()){
[Link](null, "Veuillez remplir tous les champs");
}else{
pst = [Link]("UPDATE " + base +" SET
nom=?,prenom=?,dates=?,lieu=?,cin=?,adresse=? WHERE id=?");
[Link](1, nom);
[Link](2,prenom);
[Link] sqlDate = new [Link]([Link]());
[Link](3, sqlDate);
[Link](4, lieu);
[Link](5, cin);
[Link](6, adresse);
[Link](7, id);
int modif = [Link]();
if(modif == 1){
[Link](this, "Selection bien modifier");
}else{
[Link](this, "Echec de modification !!!!!!!!!!");
}}
} catch (SQLException ex) {
[Link]([Link]()).log([Link], (String) null, ex);
private void scanActionPerformed([Link] evt) {
try {
List<String[]> personnesAutorisees = new ArrayList<>();
List<String[]> personnesNonAutorisees = new ArrayList<>();
//selection de la base
String base = [Link]().toString();
String query = "SELECT * FROM " + base + " WHERE LOWER(TRIM(nom))=? AND
LOWER(TRIM(prenom))=? AND TRIM(cin)=?";
PreparedStatement pst =[Link](query);
JFileChooser fileChooser = new JFileChooser();
[Link]("Veuillez choisir un fichier PDF");
// Filtrer uniquement les fichiers PDF
[Link] filter = new
[Link]("Fichiers PDF", "pdf");
[Link](filter);
int result = [Link](this);
if (result == JFileChooser.APPROVE_OPTION) {
File selectedFile = [Link]();
String selectedPath = [Link]();
[Link](this, "Fichier bien sélectionné : " + selectedPath);
try (PDDocument document = [Link](selectedFile)) {
PDFTextStripper collect = new PDFTextStripper();
String texte = [Link](document);
//lecture de chaque ligne de la pdf
String lignes[] = [Link]("\n");
for(String ligne : lignes){
ligne = [Link]("\\u00A0", " ")
.replaceAll("[^\\p{L}\\p{N}\\s]", "")
.trim()
.replaceAll("\\s{2,}", " ");// supprime les espaces multiples
if ([Link]()) {
continue;
String[] parts = [Link](" ");
if ([Link] >= 3) {
String nom = parts[0].trim().toLowerCase();
String prenom = parts[1].trim().toLowerCase();
int cin = [Link](parts[2].replaceAll("[^\\d]", ""));
[Link](1, nom);
[Link](2, prenom);
ResultSet rs = [Link]();
boolean trouve =[Link]();
String cinStr = [Link]().trim();
String[] personne = {nom, prenom, cinStr};
if ( "ist".equalsIgnoreCase(base)) {
if(trouve){
[Link](personne);
[Link](this,"❌ " + nom + " " + prenom + " (CIN " + cin + ") ne peut pas
sortir");
}else{
[Link](personne);
[Link](this,"✅ " + nom + " " + prenom + " (CIN " + cin + ") peut
sortir");
}else if ("notam".equalsIgnoreCase(base)){
if(trouve){
[Link](personne);
[Link](this,"❌ " + nom + " " + prenom + " (CIN " + cin + ") ne peut
pas Entrée");
}else{
[Link](personne);
[Link](this,"✅" + nom + " " + prenom + " (CIN " + cin + ") peut
entree");
} }
} else {
[Link]("Ligne ignorée (format insuffisant) : " + ligne);}
}afficherResultats(personnesAutorisees, personnesNonAutorisees);
} } catch (SQLException | IOException ex) {
[Link]([Link]()).log([Link], (String)
null, ex);
private void afficherResultats(List<String[]> autorisees, List<String[]> nonAutorisees) {
// Créer les modèles de tableaux
String[] colonnes = {"Nom", "Prénom", "CIN"};
DefaultTableModel modelAutorise = new DefaultTableModel(colonnes, 0);
for (String[] personne : autorisees) {
[Link](personne);
DefaultTableModel modelNonAutorise = new DefaultTableModel(colonnes, 0);
for (String[] personne : nonAutorisees) {
[Link](personne);
}
// Créer les tableaux
JTable tableAutorise = new JTable(modelAutorise);
JTable tableNonAutorise = new JTable(modelNonAutorise);
// Personnalisation des tableaux
[Link](25);
[Link](25);
// Créer un panneau avec onglets
JTabbedPane tabbedPane = new JTabbedPane();
[Link]("Personnes autorisées (" + [Link]() + ")", new
JScrollPane(tableAutorise));
[Link]("Personnes non autorisées (" + [Link]() + ")", new
JScrollPane(tableNonAutorise));
// Afficher dans une boîte de dialogue
[Link](this, tabbedPane, "Résultats du scan",
JOptionPane.PLAIN_MESSAGE);
private void afficherActionPerformed([Link] evt) {
String base=[Link]().toString();
String sql = "SELECT id,nom, prenom, dates, cin FROM "+base;
try (
PreparedStatement pst = [Link](sql);
ResultSet rs = [Link]()) {
String[] colonnes = { "ID","Nom", "Prénom", "Date de naissance", "CIN"};
DefaultTableModel model = new DefaultTableModel(colonnes, 0);
while ([Link]()) {
Object[] ligne = {
[Link]("id"),
[Link]("nom"),
[Link]("prenom"),
[Link]("dates"),
[Link]("cin")
//[Link]("cin")
};
[Link](ligne);
[Link](model);
[Link](true);
} catch (SQLException ex) {
[Link](this,
"Erreur : " + [Link](),
"SQL", JOptionPane.ERROR_MESSAGE);
private void txtidActionPerformed([Link] evt) {
// TODO add your handling code here:
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see [Link]
*/
try {
for ([Link] info :
[Link]()) {
if ("Nimbus".equals([Link]())) {
[Link]([Link]());
break;
} catch (ReflectiveOperationException | [Link] ex) {
[Link]([Link], null, (UnsupportedLookAndFeelException) ex);
//</editor-fold>
/* Create and display the form */
[Link](() -> {
try {
new aeroport().setVisible(true);
} catch (SQLException ex) {
[Link]([Link]()).log([Link], (String) null,
ex);
});
// Variables declaration - do not modify
private [Link] afficher;
private [Link] btnAdd;
private [Link] btnModifier;
private [Link] btnSearch;
private [Link] btnSupprimer;
private [Link] jCheckBoxMenuItem1;
private [Link] jCheckBoxMenuItem2;
private [Link] jLabel1;
private [Link] jLabel10;
private [Link] jLabel11;
private [Link] jLabel2;
private [Link] jLabel3;
private [Link] jLabel4;
private [Link] jLabel5;
private [Link] jLabel6;
private [Link] jLabel7;
private [Link] jLabel8;
private [Link] jLabel9;
private [Link] jMenu1;
private [Link] jMenu10;
private [Link] jMenu11;
private [Link] jMenu12;
private [Link] jMenu13;
private [Link] jMenu14;
private [Link] jMenu15;
private [Link] jMenu16;
private [Link] jMenu17;
private [Link] jMenu18;
private [Link] jMenu19;
private [Link] jMenu2;
private [Link] jMenu20;
private [Link] jMenu3;
private [Link] jMenu4;
private [Link] jMenu5;
private [Link] jMenu6;
private [Link] jMenu7;
private [Link] jMenu8;
private [Link] jMenu9;
private [Link] jMenuBar1;
private [Link] jMenuBar2;
private [Link] jMenuBar3;
private [Link] jMenuBar4;
private [Link] jMenuBar5;
private [Link] jMenuBar6;
private [Link] jMenuBar7;
private [Link] jMenuItem1;
private [Link] jMenuItem2;
private [Link] jMenuItem3;
private [Link] jScrollPane1;
private [Link] jScrollPane2;
private [Link] jScrollPane3;
private [Link] jScrollPane4;
private [Link] jScrollPane5;
private [Link] jScrollPane6;
private [Link] jTable1;
private [Link] naiss;
private [Link] scan;
private [Link] tableau;
private [Link] txtAdresse;
private [Link] txtadresse;
private [Link]<String> txtbase;
private [Link] txtcin;
private [Link] txtfirstname;
private [Link]<String> txtid;
private [Link] txtlieu;
private [Link] txtname;
// End of variables declaration
private void icon() {
setIconImage([Link]().getImage(getClass().getResource("[Link]")));