From 1886d1bdf19d5153d6d8ec9b4783b88c8f0d7dc8 Mon Sep 17 00:00:00 2001
From: lucas <lucas@eduroam-047189.grenet.fr>
Date: Mon, 7 Apr 2025 21:54:03 +0200
Subject: [PATCH] ajout des commentaires dans les classes pour la java doc

---
 nbproject/project.properties                  | 278 +++++++++---------
 src/fc/Connexion.java                         |  25 +-
 src/fc/MessageDErreur.java                    |  29 ++
 src/fc/Sql/ConnexionDataBase.java             |  55 +++-
 src/fc/model/Administration.java              |  15 +-
 src/fc/model/Dmr.java                         |  64 +++-
 src/fc/model/DmrPatient.java                  |  33 ++-
 src/fc/model/Examen.java                      | 104 ++++---
 src/fc/model/Genre.java                       |   5 +-
 src/fc/model/Manipulateur.java                |  18 +-
 src/fc/model/Pacs.java                        |  22 +-
 src/fc/model/Patient.java                     | 107 +++++--
 src/fc/model/Radiologue.java                  |  16 +-
 src/fc/model/Utilisateur.java                 |  43 ++-
 .../AdministrationPageController.java         |  99 +++++--
 .../Controller/ConnexionPageController.java   |  69 +++--
 src/ui/Controller/ManipController.java        |  77 ++++-
 src/ui/Controller/PageExamenController.java   |  97 ++++--
 src/ui/Controller/Radio_ManipController.java  |  72 ++++-
 .../Controller/RadiologuePageController.java  |  94 +++++-
 20 files changed, 961 insertions(+), 361 deletions(-)

diff --git a/nbproject/project.properties b/nbproject/project.properties
index 20b5033..71d9fbf 100644
--- a/nbproject/project.properties
+++ b/nbproject/project.properties
@@ -1,139 +1,139 @@
-annotation.processing.enabled=true
-annotation.processing.enabled.in.editor=false
-annotation.processing.processors.list=
-annotation.processing.run.all.processors=true
-annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
-application.title=SIR
-application.vendor=valen
-auxiliary.org-netbeans-spi-editor-hints-projects.perProjectHintSettingsFile=nbproject/cfg_hints.xml
-build.classes.dir=${build.dir}/classes
-build.classes.excludes=**/*.java,**/*.form
-# This directory is removed when the project is cleaned:
-build.dir=build
-build.generated.dir=${build.dir}/generated
-build.generated.sources.dir=${build.dir}/generated-sources
-# Only compile against the classpath explicitly listed here:
-build.sysclasspath=ignore
-build.test.classes.dir=${build.dir}/test/classes
-build.test.results.dir=${build.dir}/test/results
-# Uncomment to specify the preferred debugger connection transport:
-#debug.transport=dt_socket
-debug.classpath=\
-    ${run.classpath}
-debug.modulepath=\
-    ${run.modulepath}
-debug.test.classpath=\
-    ${run.test.classpath}
-debug.test.modulepath=\
-    ${run.test.modulepath}
-# Files in build.classes.dir which should be excluded from distribution jar
-dist.archive.excludes=
-# This directory is removed when the project is cleaned:
-dist.dir=dist
-dist.jar=${dist.dir}/SIR.jar
-dist.javadoc.dir=${dist.dir}/javadoc
-dist.jlink.dir=${dist.dir}/jlink
-dist.jlink.output=${dist.jlink.dir}/SIR
-endorsed.classpath=
-excludes=
-file.reference.javafx-swt.jar=javafx-sdk-21.0.6/lib/javafx-swt.jar
-file.reference.javafx.base.jar=javafx-sdk-21.0.6/lib/javafx.base.jar
-file.reference.javafx.controls.jar=javafx-sdk-21.0.6/lib/javafx.controls.jar
-file.reference.javafx.fxml.jar=javafx-sdk-21.0.6/lib/javafx.fxml.jar
-file.reference.javafx.graphics.jar=javafx-sdk-21.0.6/lib/javafx.graphics.jar
-file.reference.javafx.media.jar=javafx-sdk-21.0.6/lib/javafx.media.jar
-file.reference.javafx.swing.jar=javafx-sdk-21.0.6/lib/javafx.swing.jar
-file.reference.javafx.web.jar=javafx-sdk-21.0.6/lib/javafx.web.jar
-file.reference.ojdbc17.jar=libs/ojdbc17.jar
-includes=**
-jar.archive.disabled=${jnlp.enabled}
-jar.compress=false
-jar.index=${jnlp.enabled}
-javac.classpath=\
-    ${file.reference.ojdbc17.jar}
-# Space-separated list of extra javac options
-javac.compilerargs=\ --enable-preview
-javac.deprecation=false
-javac.external.vm=true
-javac.modulepath=\
-    ${file.reference.javafx-swt.jar}:\
-    ${file.reference.javafx.base.jar}:\
-    ${file.reference.javafx.controls.jar}:\
-    ${file.reference.javafx.fxml.jar}:\
-    ${file.reference.javafx.graphics.jar}:\
-    ${file.reference.javafx.media.jar}:\
-    ${file.reference.javafx.swing.jar}:\
-    ${file.reference.javafx.web.jar}
-javac.processormodulepath=
-javac.processorpath=\
-    ${javac.classpath}
-
-javac.source=23
-javac.target=23
-
-javac.test.classpath=\
-    ${javac.classpath}
-javac.test.modulepath=\
-    ${javac.modulepath}:\
-    ${build.classes.dir}
-javac.test.processorpath=\
-    ${javac.test.classpath}
-javadoc.additionalparam=
-javadoc.author=false
-javadoc.encoding=${source.encoding}
-javadoc.html5=false
-javadoc.noindex=false
-javadoc.nonavbar=false
-javadoc.notree=false
-javadoc.private=false
-javadoc.splitindex=true
-javadoc.use=true
-javadoc.version=false
-javadoc.windowtitle=
-# The jlink additional root modules to resolve
-jlink.additionalmodules=
-# The jlink additional command line parameters
-jlink.additionalparam=
-jlink.launcher=true
-jlink.launcher.name=SIR
-jnlp.codebase.type=no.codebase
-jnlp.descriptor=application
-jnlp.enabled=false
-jnlp.mixed.code=default
-jnlp.offline-allowed=false
-jnlp.signed=false
-jnlp.signing=
-jnlp.signing.alias=
-jnlp.signing.keystore=
-main.class=ui.loader.ConnexionPage
-# Optional override of default Application-Library-Allowable-Codebase attribute identifying the locations where your signed RIA is expected to be found.
-manifest.custom.application.library.allowable.codebase=
-# Optional override of default Caller-Allowable-Codebase attribute identifying the domains from which JavaScript code can make calls to your RIA without security prompts.
-manifest.custom.caller.allowable.codebase=
-# Optional override of default Codebase manifest attribute, use to prevent RIAs from being repurposed
-manifest.custom.codebase=
-# Optional override of default Permissions manifest attribute (supported values: sandbox, all-permissions)
-manifest.custom.permissions=
-manifest.file=manifest.mf
-meta.inf.dir=${src.dir}/META-INF
-mkdist.disabled=false
-platform.active=default_platform
-run.classpath=\
-    ${javac.classpath}:\
-    ${build.classes.dir}
-# Space-separated list of JVM arguments used when running the project.
-# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value.
-# To set system properties for unit tests define test-sys-prop.name=value:
-run.jvmargs=\ --enable-preview
-run.modulepath=\
-    ${javac.modulepath}
-run.test.classpath=\
-    ${javac.test.classpath}
-run.test.modulepath=\
-    ${javac.test.modulepath}
-source.encoding=UTF-8
-src.dir=src
-test.src.dir=test
-javac.classpath=\
-    ${file.reference.ojdbc17.jar}
-
+annotation.processing.enabled=true
+annotation.processing.enabled.in.editor=false
+annotation.processing.processors.list=
+annotation.processing.run.all.processors=true
+annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
+application.title=SIR
+application.vendor=valen
+auxiliary.org-netbeans-spi-editor-hints-projects.perProjectHintSettingsFile=nbproject/cfg_hints.xml
+build.classes.dir=${build.dir}/classes
+build.classes.excludes=**/*.java,**/*.form
+# This directory is removed when the project is cleaned:
+build.dir=build
+build.generated.dir=${build.dir}/generated
+build.generated.sources.dir=${build.dir}/generated-sources
+# Only compile against the classpath explicitly listed here:
+build.sysclasspath=ignore
+build.test.classes.dir=${build.dir}/test/classes
+build.test.results.dir=${build.dir}/test/results
+# Uncomment to specify the preferred debugger connection transport:
+#debug.transport=dt_socket
+debug.classpath=\
+    ${run.classpath}
+debug.modulepath=\
+    ${run.modulepath}
+debug.test.classpath=\
+    ${run.test.classpath}
+debug.test.modulepath=\
+    ${run.test.modulepath}
+# Files in build.classes.dir which should be excluded from distribution jar
+dist.archive.excludes=
+# This directory is removed when the project is cleaned:
+dist.dir=dist
+dist.jar=${dist.dir}/SIR.jar
+dist.javadoc.dir=${dist.dir}/javadoc
+dist.jlink.dir=${dist.dir}/jlink
+dist.jlink.output=${dist.jlink.dir}/SIR
+endorsed.classpath=
+excludes=
+file.reference.javafx-swt.jar=javafx-sdk-21.0.6/lib/javafx-swt.jar
+file.reference.javafx.base.jar=javafx-sdk-21.0.6/lib/javafx.base.jar
+file.reference.javafx.controls.jar=javafx-sdk-21.0.6/lib/javafx.controls.jar
+file.reference.javafx.fxml.jar=javafx-sdk-21.0.6/lib/javafx.fxml.jar
+file.reference.javafx.graphics.jar=javafx-sdk-21.0.6/lib/javafx.graphics.jar
+file.reference.javafx.media.jar=javafx-sdk-21.0.6/lib/javafx.media.jar
+file.reference.javafx.swing.jar=javafx-sdk-21.0.6/lib/javafx.swing.jar
+file.reference.javafx.web.jar=javafx-sdk-21.0.6/lib/javafx.web.jar
+file.reference.ojdbc17.jar=libs/ojdbc17.jar
+includes=**
+jar.archive.disabled=${jnlp.enabled}
+jar.compress=false
+jar.index=${jnlp.enabled}
+javac.classpath=\
+    ${file.reference.ojdbc17.jar}
+# Space-separated list of extra javac options
+javac.compilerargs=\ --enable-preview
+javac.deprecation=false
+javac.external.vm=true
+javac.modulepath=\
+    ${file.reference.javafx-swt.jar}:\
+    ${file.reference.javafx.base.jar}:\
+    ${file.reference.javafx.controls.jar}:\
+    ${file.reference.javafx.fxml.jar}:\
+    ${file.reference.javafx.graphics.jar}:\
+    ${file.reference.javafx.media.jar}:\
+    ${file.reference.javafx.swing.jar}:\
+    ${file.reference.javafx.web.jar}
+javac.processormodulepath=
+javac.processorpath=\
+    ${javac.classpath}
+
+javac.source=22
+javac.target=22
+
+javac.test.classpath=\
+    ${javac.classpath}
+javac.test.modulepath=\
+    ${javac.modulepath}:\
+    ${build.classes.dir}
+javac.test.processorpath=\
+    ${javac.test.classpath}
+javadoc.additionalparam=
+javadoc.author=false
+javadoc.encoding=${source.encoding}
+javadoc.html5=false
+javadoc.noindex=false
+javadoc.nonavbar=false
+javadoc.notree=false
+javadoc.private=false
+javadoc.splitindex=true
+javadoc.use=true
+javadoc.version=false
+javadoc.windowtitle=
+# The jlink additional root modules to resolve
+jlink.additionalmodules=
+# The jlink additional command line parameters
+jlink.additionalparam=
+jlink.launcher=true
+jlink.launcher.name=SIR
+jnlp.codebase.type=no.codebase
+jnlp.descriptor=application
+jnlp.enabled=false
+jnlp.mixed.code=default
+jnlp.offline-allowed=false
+jnlp.signed=false
+jnlp.signing=
+jnlp.signing.alias=
+jnlp.signing.keystore=
+main.class=ui.loader.ConnexionPage
+# Optional override of default Application-Library-Allowable-Codebase attribute identifying the locations where your signed RIA is expected to be found.
+manifest.custom.application.library.allowable.codebase=
+# Optional override of default Caller-Allowable-Codebase attribute identifying the domains from which JavaScript code can make calls to your RIA without security prompts.
+manifest.custom.caller.allowable.codebase=
+# Optional override of default Codebase manifest attribute, use to prevent RIAs from being repurposed
+manifest.custom.codebase=
+# Optional override of default Permissions manifest attribute (supported values: sandbox, all-permissions)
+manifest.custom.permissions=
+manifest.file=manifest.mf
+meta.inf.dir=${src.dir}/META-INF
+mkdist.disabled=false
+platform.active=default_platform
+run.classpath=\
+    ${javac.classpath}:\
+    ${build.classes.dir}
+# Space-separated list of JVM arguments used when running the project.
+# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value.
+# To set system properties for unit tests define test-sys-prop.name=value:
+run.jvmargs=\ --enable-preview
+run.modulepath=\
+    ${javac.modulepath}
+run.test.classpath=\
+    ${javac.test.classpath}
+run.test.modulepath=\
+    ${javac.test.modulepath}
+source.encoding=UTF-8
+src.dir=src
+test.src.dir=test
+javac.classpath=\
+    ${file.reference.ojdbc17.jar}
+
diff --git a/src/fc/Connexion.java b/src/fc/Connexion.java
index 2545f16..75a98bb 100644
--- a/src/fc/Connexion.java
+++ b/src/fc/Connexion.java
@@ -20,18 +20,37 @@ import java.util.Scanner;
  *
  * @author valen
  */
+
+/**
+ * Gère l'authentification des utilisateurs. Vérifie les identifiants et
+ * retourne l'utilisateur correspondant.
+ */
+
 public class Connexion {
 
     private String id;
     private String password;
     private static Utilisateur utilisateurConnecte = null;
 
+    /**
+     * Crée une nouvelle instance de connexion.
+     *
+     * @param id Identifiant utilisateur
+     * @param password Mot de passe
+     */
+    
     public Connexion(String id, String password) {
         this.id = id;
         this.password = password;
 
     }
 
+    /**
+     * Authentifie l'utilisateur.
+     *
+     * @return Utilisateur correspondant ou null si échec
+     */
+    
     public Utilisateur acces() {
         String requete = String.format(
                 "SELECT metier FROM utilisateur WHERE numero_id='%s' AND Mot_de_passe='%s'",
@@ -60,9 +79,9 @@ public class Connexion {
         return utilisateurConnecte;
     }
 
-    /* public Utilisateur connexion(){
-        
-    }*/
+    /**
+     * Déconnecte l'utilisateur courant.
+     */
     public static void deconnecter() {
         utilisateurConnecte = null;
     }
diff --git a/src/fc/MessageDErreur.java b/src/fc/MessageDErreur.java
index 4b42801..28bb03d 100644
--- a/src/fc/MessageDErreur.java
+++ b/src/fc/MessageDErreur.java
@@ -12,8 +12,19 @@ import java.time.format.DateTimeParseException;
  *
  * @author lucas
  */
+/**
+ * Fournit des méthodes de validation et de normalisation de données. Gère les
+ * messages d'erreur pour les entrées utilisateur.
+ */
 public class MessageDErreur {
 
+    /**
+     * Valide une paire identifiant/mot de passe.
+     *
+     * @param identifiant Numéro d'identification
+     * @param mdp Mot de passe
+     * @return Message d'erreur ou chaîne vide si valide
+     */
     public static String validerIdMdp(String identifiant, String mdp) {
         //  existance de l'identifiant 
         String requeteId = "SELECT COUNT(*) FROM utilisateur WHERE numero_id=" + identifiant;
@@ -35,6 +46,12 @@ public class MessageDErreur {
         return "";
     }
 
+    /**
+     * Valide un terme de recherche.
+     *
+     * @param terme Texte à vérifier
+     * @return Message d'erreur ou chaîne vide si valide
+     */
     public static String validerTermeRecherche(String terme) {
         if (terme == null || terme.isBlank()) {
             return "";
@@ -48,6 +65,12 @@ public class MessageDErreur {
         return ""; // Pas d'erreur
     }
 
+    /**
+     * Normalise la casse d'un mot (première lettre en majuscule).
+     *
+     * @param nom Chaîne à normaliser
+     * @return Chaîne normalisée ou vide si entrée invalide
+     */
     public static String normaliserMot(String nom) {
         if (nom == null || nom.isBlank()) {
             return "";
@@ -75,6 +98,12 @@ public class MessageDErreur {
         return resultat.toString();
     }
 
+    /**
+     * Valide une date au format YYYY-MM-DD.
+     *
+     * @param date Date à vérifier
+     * @return Message d'erreur ou chaîne vide si valide
+     */
     public static String validerDate(String date) {
         if (date == null || date.isBlank()) {
             return "La date ne peut pas être vide.";
diff --git a/src/fc/Sql/ConnexionDataBase.java b/src/fc/Sql/ConnexionDataBase.java
index ec54cac..bdf8cdb 100644
--- a/src/fc/Sql/ConnexionDataBase.java
+++ b/src/fc/Sql/ConnexionDataBase.java
@@ -10,11 +10,14 @@ import java.sql.SQLException;
 import java.util.Scanner;
 import java.sql.*;
 
-
 /**
  *
  * @author valen
  */
+/**
+ * Gère la connexion à une base de données Oracle. Fournit des méthodes pour
+ * exécuter des requêtes SQL.
+ */
 public class ConnexionDataBase {
 
     //String url = "jdbc:oracle:thin:@oracle.im2ag.fr:1521/XE"; // Changez l'URL selon votre configuration
@@ -25,7 +28,14 @@ public class ConnexionDataBase {
     private static Connection conn;
     private static Statement stmt;
     private static ResultSet rset;
-;
+
+    ;
+    
+    
+        /**
+     * Établit une connexion à la base de données.
+     * @return Connection objet ou null en cas d'erreur
+     */
 
     public static Connection getConnection() {
         Connection conn = null;
@@ -38,6 +48,12 @@ public class ConnexionDataBase {
         return conn;
     }
 
+    /**
+     * Exécute une requête de modification (INSERT, UPDATE, DELETE).
+     *
+     * @param requete Requête SQL à exécuter
+     * @return true si la requête a affecté des lignes
+     */
     public static boolean sqlUpdate(String requete) {
         try (Connection conn = getConnection(); Statement stmt = conn.createStatement()) {
             // Exécution de la requête de modification
@@ -49,6 +65,12 @@ public class ConnexionDataBase {
         }
     }
 
+    /**
+     * Exécute une requête SELECT et retourne le résultat sous forme de String.
+     *
+     * @param requete Requête SQL à exécuter
+     * @return Résultat concaténé ou null en cas d'erreur
+     */
     public static String sqlRequete(String requete) {
         Scanner sc = new Scanner(System.in); // Cette variable est définie mais jamais utilisée.
 
@@ -73,19 +95,24 @@ public class ConnexionDataBase {
             System.out.println("SQLException: " + ex.getMessage());
         }
 
+        // Ajoutez un return ou fermez simplement la méthode si rien n'est retourné
+        return null; // Retourne null si la méthode est censée renvoyer une chaîne de caractères.
+    }
 
-    // Ajoutez un return ou fermez simplement la méthode si rien n'est retourné
-    return null; // Retourne null si la méthode est censée renvoyer une chaîne de caractères.
-}
-public static ResultSet sqlRequete2(String requete) {
-    try {
-        conn = ConnexionDataBase.getConnection();
-        stmt = conn.createStatement();
-        return stmt.executeQuery(requete);
-    } catch (SQLException ex) {
-        System.out.println("SQLException: " + ex.getMessage());
-        return null;
+    /**
+     * Exécute une requête SELECT et retourne le ResultSet.
+     * @param requete Requête SQL à exécuter
+     * @return ResultSet ou null en cas d'erreur
+     */
+    public static ResultSet sqlRequete2(String requete) {
+        try {
+            conn = ConnexionDataBase.getConnection();
+            stmt = conn.createStatement();
+            return stmt.executeQuery(requete);
+        } catch (SQLException ex) {
+            System.out.println("SQLException: " + ex.getMessage());
+            return null;
+        }
     }
-}
 
 }
diff --git a/src/fc/model/Administration.java b/src/fc/model/Administration.java
index 76f9ed9..41669d3 100644
--- a/src/fc/model/Administration.java
+++ b/src/fc/model/Administration.java
@@ -4,20 +4,25 @@
  */
 package fc.model;
 
-
 /**
  *
  *
  * @author valen
  */
+/**
+ * Représente un utilisateur administratif. Niveau d'accès : 2
+ */
 public class Administration extends Utilisateur {
 
-
+    /**
+     * Crée un utilisateur administratif.
+     *
+     * @param id Identifiant unique
+     * @param Mot_de_passe Mot de passe
+     */
     public Administration(String id, String Mot_de_passe) {
         super(id, Mot_de_passe, 2);
-        
+
     }
 
-    
 }
-
diff --git a/src/fc/model/Dmr.java b/src/fc/model/Dmr.java
index a8aade2..8da7776 100644
--- a/src/fc/model/Dmr.java
+++ b/src/fc/model/Dmr.java
@@ -17,6 +17,10 @@ import java.util.Map;
  *
  * @author valen
  */
+/**
+ * Représente un Dossier Médical Radiologique (DMR). Gère les opérations liées
+ * aux dossiers médicaux radiologiques.
+ */
 public class Dmr {
 
     private String id_dmr;
@@ -25,6 +29,9 @@ public class Dmr {
     private String motif;
     private int activer;
 
+    /**
+     * Constructeur par défaut. Initialise un DMR avec des valeurs nulles.
+     */
     public Dmr() {
 
         this.id_dmr = null;
@@ -34,6 +41,15 @@ public class Dmr {
         this.activer = 0;
     }
 
+    /**
+     * Constructeur avec paramètres.
+     *
+     * @param id_dmr Identifiant du DMR
+     * @param IPP Identifiant Patient Principal
+     * @param date_ouverture Date d'ouverture du dossier
+     * @param motif Motif d'ouverture
+     * @param activer Statut d'activation (0/1)
+     */
     public Dmr(String id_dmr, String IPP, String date_ouverture, String motif, int activer) {
         this.id_dmr = id_dmr;
         this.IPP = IPP;
@@ -44,12 +60,11 @@ public class Dmr {
     }
 
     /**
-     * @return the id_dmr
+     * Récupère les DMR associés à un IPP.
+     *
+     * @param IPP Identifiant Patient Principal
+     * @return Liste des DMR trouvés
      */
-    public String getId_dmr() {
-        return id_dmr;
-    }
-
     public List<Dmr> recupererDMR(String IPP) {
         List<Dmr> dmrs = new ArrayList<>();
 
@@ -74,7 +89,10 @@ public class Dmr {
     }
 
     /**
-     * @return the prenom
+     * Vérifie l'existence d'un DMR.
+     *
+     * @param id_DMR Identifiant du DMR à vérifier
+     * @return true si le DMR existe
      */
     public boolean verifierDMRExiste(String id_DMR) {
 
@@ -91,6 +109,12 @@ public class Dmr {
         return resultat != null && !resultat.isEmpty();
     }
 
+    /**
+     * Organise les examens par présence de compte-rendu.
+     *
+     * @param idDMR Identifiant du DMR
+     * @return Map des examens avec/sans compte-rendu
+     */
     public Map<String, List<Examen>> AfficherCompteRendu(String idDMR) {
         Examen exam = new Examen();
 
@@ -124,6 +148,14 @@ public class Dmr {
 
     }
 
+    /**
+     * Ajoute un compte-rendu à un examen.
+     *
+     * @param i Index de l'examen dans la liste
+     * @param exams Liste des examens
+     * @param compteRendu Texte du compte-rendu
+     * @return true si l'ajout a réussi
+     */
     public boolean ajouterCompteRendu(int i, List<Examen> exams, String compteRendu) {
 
         if (i < exams.size()) {
@@ -139,33 +171,45 @@ public class Dmr {
     }
 
     /**
-     * @return the IPP
+     * @return Identifiant du DMR
+     */
+    public String getId_dmr() {
+        return id_dmr;
+    }
+
+    /**
+     * @return Identifiant Patient Principal
      */
     public String getIPP() {
         return IPP;
     }
 
     /**
-     * @return the date_ouverture
+     * @return Date d'ouverture du dossier
      */
     public String getDate_ouverture() {
         return date_ouverture;
     }
 
     /**
-     * @return the motif
+     * @return Motif d'ouverture
      */
     public String getMotif() {
         return motif;
     }
 
     /**
-     * @return the activer
+     * @return Statut d'activation
      */
     public int getActiver() {
         return activer;
     }
 
+    /**
+     * Récupère les DMR actifs.
+     *
+     * @return Liste des DMR actifs
+     */
     public List<Dmr> dmrActiver() {
         List<Dmr> dmrs = new ArrayList<>();
         StringBuilder requeteRecupDMR = new StringBuilder("SELECT * FROM DMR WHERE ACTIVER = 1 ");
diff --git a/src/fc/model/DmrPatient.java b/src/fc/model/DmrPatient.java
index 4962ebc..3b206a7 100644
--- a/src/fc/model/DmrPatient.java
+++ b/src/fc/model/DmrPatient.java
@@ -4,42 +4,67 @@
  */
 package fc.model;
 
-
-
 /**
  *
  * @author valen
  */
+/**
+ * Représente un DMR associé à un patient. Combine les informations d'un dossier
+ * médical et d'un patient.
+ */
 public class DmrPatient {
+
     private String dateOuverture;
     private String motif;
     private String nom;
     private String prenom;
     private String Id_dmr;
 
-    public DmrPatient(Dmr d ,Patient p) {
+    /**
+     * Crée une association DMR-Patient.
+     *
+     * @param d Dossier médical radiologique (DMR)
+     * @param p Patient associé
+     */
+    public DmrPatient(Dmr d, Patient p) {
         this.dateOuverture = d.getDate_ouverture();
         this.motif = d.getMotif();
         this.nom = p.getNom();
         this.prenom = p.getPrenom();
-        this.Id_dmr=d.getId_dmr();
+        this.Id_dmr = d.getId_dmr();
     }
 
+    /**
+     * @return Date d'ouverture du dossier
+     */
     public String getDateOuverture() {
         return dateOuverture;
     }
 
+    /**
+     * @return Motif d'ouverture du dossier
+     */
     public String getMotif() {
         return motif;
     }
 
+    /**
+     * @return Nom du patient
+     */
     public String getNom() {
         return nom;
     }
 
+    /**
+     * @return Prénom du patient
+     */
     public String getPrenom() {
         return prenom;
     }
+
+    /**
+     * @return Identifiant du DMR
+     */
     public String getId_dmr() {
         return Id_dmr;
     }
diff --git a/src/fc/model/Examen.java b/src/fc/model/Examen.java
index 2750cc3..5eb13e2 100644
--- a/src/fc/model/Examen.java
+++ b/src/fc/model/Examen.java
@@ -10,11 +10,14 @@ import java.util.List;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 
-
 /**
  *
  * @author valen
  */
+/**
+ * Représente un examen radiologique. Gère la création, la récupération et la
+ * mise à jour des examens.
+ */
 public class Examen {
 
     private String id_dmr;
@@ -23,6 +26,9 @@ public class Examen {
     private String compte_rendu;
     private String acte;
 
+    /**
+     * Constructeur par défaut. Initialise un examen avec des valeurs nulles.
+     */
     public Examen() {
         this.id_dmr = null;
         this.date = date;
@@ -30,6 +36,14 @@ public class Examen {
         this.acte = null;
     }
 
+    /**
+     * Constructeur avec paramètres.
+     *
+     * @param id_dmr Identifiant du DMR associé
+     * @param date Date de l'examen
+     * @param image_path Chemin de l'image radiologique
+     * @param acte Type d'acte médical
+     */
     public Examen(String id_dmr, String date, String image_path, String acte) {
         this.id_dmr = id_dmr;
         this.date = date;
@@ -39,41 +53,14 @@ public class Examen {
     }
 
     /**
-     * @return the id_dmr
-     */
-    public String getId_dmr() {
-        return id_dmr;
-    }
-
-    /**
-     * @return the date
+     * Crée un nouvel examen dans la base de données.
+     *
+     * @param id_dmr Identifiant du DMR
+     * @param Date Date de l'examen
+     * @param Path Chemin de l'image
+     * @param acte Type d'acte
+     * @return true si la création a réussi
      */
-    public String getDate() {
-        return date;
-    }
-
-    /**
-     * @return the image_path
-     */
-    public String getImage_path() {
-        return image_path;
-    }
-
-    /**
-     * @return the compte_rendu
-     */
-    public String getCompte_rendu() {
-        return compte_rendu;
-    }
-
-    /**
-     * @param compte_rendu the compte_rendu to set
-     */
-    public void setCompte_rendu(String compte_rendu) {
-        this.compte_rendu = compte_rendu;
-        ConnexionDataBase.sqlUpdate("UPDATE EXAMEN SET COMPTE_RENDU = '" + compte_rendu + "' WHERE ID_DMR = '" + this.getId_dmr() + "' AND DATE_EXAMEN = TO_TIMESTAMP('" + this.getDate() + "', 'YYYY-MM-DD HH24:MI:SS.FF')");
-    }
-
     public boolean creerExamen(String id_dmr, String Date, String Path, String acte) {
         // Validation des champs obligatoires
         if (id_dmr == null || id_dmr.isBlank()
@@ -111,6 +98,13 @@ public class Examen {
         }
     }
 
+    /**
+     * Récupère les examens selon des critères.
+     *
+     * @param idDMR Identifiant du DMR (optionnel)
+     * @param dateExamen Date de l'examen (optionnel)
+     * @return Liste des examens correspondants
+     */
     public List<Examen> recupererExamen(String idDMR, String dateExamen) {
         List<Examen> examens = new ArrayList<>();
 
@@ -149,7 +143,45 @@ public class Examen {
     }
 
     /**
-     * @return the acte
+     * @return Identifiant du DMR associé
+     */
+    public String getId_dmr() {
+        return id_dmr;
+    }
+
+    /**
+     * @return Date de l'examen
+     */
+    public String getDate() {
+        return date;
+    }
+
+    /**
+     * @return Chemin de l'image radiologique
+     */
+    public String getImage_path() {
+        return image_path;
+    }
+
+    /**
+     * @return Compte-rendu de l'examen
+     */
+    public String getCompte_rendu() {
+        return compte_rendu;
+    }
+
+    /**
+     * Met à jour le compte-rendu dans la base de données.
+     *
+     * @param compte_rendu Nouveau texte du compte-rendu
+     */
+    public void setCompte_rendu(String compte_rendu) {
+        this.compte_rendu = compte_rendu;
+        ConnexionDataBase.sqlUpdate("UPDATE EXAMEN SET COMPTE_RENDU = '" + compte_rendu + "' WHERE ID_DMR = '" + this.getId_dmr() + "' AND DATE_EXAMEN = TO_TIMESTAMP('" + this.getDate() + "', 'YYYY-MM-DD HH24:MI:SS.FF')");
+    }
+
+    /**
+     * @return Type d'acte médical
      */
     public String getActe() {
         return acte;
diff --git a/src/fc/model/Genre.java b/src/fc/model/Genre.java
index 1ccccdf..c79a0ea 100644
--- a/src/fc/model/Genre.java
+++ b/src/fc/model/Genre.java
@@ -8,6 +8,9 @@ package fc.model;
  *
  * @author valen
  */
+/**
+ * Représente le genre d'un patient. M pour Masculin, F pour Féminin.
+ */
 public enum Genre {
-    M , F
+    M, F
 }
diff --git a/src/fc/model/Manipulateur.java b/src/fc/model/Manipulateur.java
index a1aed68..176a5ee 100644
--- a/src/fc/model/Manipulateur.java
+++ b/src/fc/model/Manipulateur.java
@@ -8,13 +8,19 @@ package fc.model;
  *
  * @author valen
  */
-public class Manipulateur extends Utilisateur{
-    
+/**
+ * Représente un manipulateur radio. Niveau d'accès : 3
+ */
+public class Manipulateur extends Utilisateur {
+
+    /**
+     * Crée un manipulateur radio.
+     *
+     * @param id Identifiant unique
+     * @param Mot_de_passe Mot de passe
+     */
     public Manipulateur(String id, String Mot_de_passe) {
         super(id, Mot_de_passe, 3);
     }
-    
-    
-    
-    
+
 }
diff --git a/src/fc/model/Pacs.java b/src/fc/model/Pacs.java
index 6f6bc1a..765a5f2 100644
--- a/src/fc/model/Pacs.java
+++ b/src/fc/model/Pacs.java
@@ -18,16 +18,24 @@ import javafx.collections.ObservableList;
  *
  * @author valen
  */
+/**
+ * Gère les images du système PACS (Picture Archiving and Communication System).
+ */
 public class Pacs {
 
-
-
+    /**
+     * Constructeur par défaut.
+     */
     public Pacs() {
 
     }
 
-
-
+    /**
+     * Récupère le chemin d'une image par son nom.
+     *
+     * @param nom Nom de l'image
+     * @return Chemin de l'image ou null si non trouvée
+     */
     public String pathWithNom(String nom) {
 
         String path = sqlRequete("Select IMAGE_PATH from pacs where NOM_IMAGE ='" + nom + "'");
@@ -35,6 +43,11 @@ public class Pacs {
 
     }
 
+    /**
+     * Liste tous les noms d'images disponibles.
+     *
+     * @return Liste observable des noms d'images
+     */
     public ObservableList<String> ListImage() {
 
         ResultSet res = sqlRequete2("Select NOM_IMAGE from pacs");
@@ -42,7 +55,6 @@ public class Pacs {
         try {
             while (res.next()) {
 
-                
                 items.add(res.getString("NOM_IMAGE"));
             }
             return items;
diff --git a/src/fc/model/Patient.java b/src/fc/model/Patient.java
index 4054ccf..9881e32 100644
--- a/src/fc/model/Patient.java
+++ b/src/fc/model/Patient.java
@@ -14,14 +14,14 @@ import java.util.logging.Level;
 import java.util.logging.Logger;
 import javafx.util.Pair;
 
-/*
- * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
- * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
- */
 /**
  *
  * @author valen
  */
+/**
+ * Représente un patient dans le système. Gère les informations patients et les
+ * opérations associées.
+ */
 public class Patient {
 
     private String IPP;
@@ -31,6 +31,9 @@ public class Patient {
     private Genre genre;
     private String n_secu;
 
+    /**
+     * Constructeur par défaut.
+     */
     public Patient() {
         this.IPP = null;
         this.Date_de_naissance = null;
@@ -41,6 +44,16 @@ public class Patient {
 
     }
 
+    /**
+     * Constructeur complet.
+     *
+     * @param IPP Identifiant Patient Principal
+     * @param nom Nom du patient
+     * @param prenom Prénom du patient
+     * @param Date_de_naissance Date de naissance
+     * @param genre Genre (M/F)
+     * @param n_secu Numéro de sécurité sociale
+     */
     public Patient(String IPP, String nom, String prenom, String Date_de_naissance, Genre genre, String n_secu) {
         this.IPP = IPP;
         this.Date_de_naissance = Date_de_naissance;
@@ -51,6 +64,11 @@ public class Patient {
 
     }
 
+    /**
+     * Constructeur par IPP. Charge les données patient depuis la base.
+     *
+     * @param IPP Identifiant Patient Principal
+     */
     public Patient(String IPP) {
         StringBuilder requeteRecupDMR = new StringBuilder("SELECT * FROM PatientDMR WHERE ");
         if (IPP != null && !IPP.isBlank()) {
@@ -81,11 +99,17 @@ public class Patient {
         }
     }
     private static final String[][] TEST_PATIENTS = {
-    {"1", "Martin", "Alfred", "1983-01-01", "H", "1691238345987"},
-    {"2", "Gerard", "Beatrice", "1975-05-15", "F", "2610769839587"},
-    {"3", "Claude", "Gisele", "1969-11-20", "F", "2551169763987"}
-};
+        {"1", "Martin", "Alfred", "1983-01-01", "H", "1691238345987"},
+        {"2", "Gerard", "Beatrice", "1975-05-15", "F", "2610769839587"},
+        {"3", "Claude", "Gisele", "1969-11-20", "F", "2551169763987"}
+    };
 
+    /**
+     * Recherche avancée de patients.
+     *
+     * @param rechercheUnifiee Terme de recherche unifié
+     * @return Paire contenant liste des patients et message d'erreur
+     */
     public Pair<List<Patient>, String> rechercherPatients2(String rechercheUnifiee) {
         List<Patient> patients = new ArrayList<>();
 
@@ -165,6 +189,17 @@ public class Patient {
         return new Pair<>(patients, patients.isEmpty() ? "Aucun patient trouvé." : "");
     }
 
+    /**
+     * Recherche de patients par critères.
+     *
+     * @param IPP Identifiant Patient Principal
+     * @param nom Nom du patient
+     * @param prenom Prénom du patient
+     * @param dateNaissance Date de naissance
+     * @param genre Genre (M/F)
+     * @param n_secu Numéro de sécurité sociale
+     * @return Liste des patients correspondants
+     */
     public List<Patient> rechercherPatients(String IPP, String nom, String prenom, String dateNaissance, Genre genre, String n_secu) {
         List<Patient> patients = new ArrayList<>();
 
@@ -221,6 +256,15 @@ public class Patient {
         return patients;
     }
 
+    /**
+     * Vérifie l'existence d'un patient.
+     *
+     * @param IPP Identifiant Patient Principal
+     * @param nom Nom du patient
+     * @param prenom Prénom du patient
+     * @param n_secu Numéro de sécurité sociale
+     * @return Liste des patients trouvés
+     */
     public List<Patient> patientExiste(String IPP, String nom, String prenom, String n_secu) {
         List<Patient> patients = new ArrayList<>();
 
@@ -326,6 +370,12 @@ public class Patient {
         return null;
     }
 
+    /**
+     * Crée un DMR pour ce patient.
+     *
+     * @param motif Motif d'ouverture
+     * @return true si la création a réussi
+     */
     public boolean creerDMR(String motif) {
 
         // Mode test - utiliser un mock
@@ -374,6 +424,11 @@ public class Patient {
         }
     }
 
+    /**
+     * Récupère les DMR associés à ce patient.
+     *
+     * @return Liste des DMR trouvés
+     */
     public List<Dmr> recupererDMR() {
         List<Dmr> dmrs = new ArrayList<>();
 
@@ -413,50 +468,57 @@ public class Patient {
     }
 
     /**
-     * @return the IPP
+     * @return Identifiant Patient Principal
      */
+    public String getIPP() {
+        return IPP;
+    }
+
+    /**
+     * @param IPP Nouvel Identifiant Patient Principal
+     */
+    public void setIPP(String IPP) {
+        this.IPP = IPP;
+    }
+
     /**
-     * @return the nom
+     * @param IPP Nouvel Identifiant Patient Principal
      */
     public String getNom() {
         return nom;
     }
 
     /**
-     * @return the prenom
+     * @return Prénom du patient
      */
     public String getPrenom() {
         return prenom;
     }
 
     /**
-     * @return the Date_de_naissance
+     * @return Date de naissance
      */
     public String getDate_de_naissance() {
         return Date_de_naissance;
     }
 
     /**
-     * @return the genre
+     * @return Genre (M/F)
      */
     public Genre getGenre() {
         return genre;
     }
 
     /**
-     * @return the n_secu
+     * @return Numéro de sécurité sociale
      */
     public String getN_secu() {
         return n_secu;
     }
 
     /**
-     * @param IPP the IPP to set
+     * @return Numéro de sécurité sociale
      */
-    public void setIPP(String IPP) {
-        this.IPP = IPP;
-    }
-
     public void afficherPatients(List<Patient> patients) {
         if (patients != null && !patients.isEmpty()) {
             patients.forEach(p -> System.out.println("IPP: " + p.getIPP() + ", Nom: " + p.nom + ", Prénom: " + p.prenom
@@ -466,11 +528,4 @@ public class Patient {
         }
     }
 
-    /**
-     * @return the IPP
-     */
-    public String getIPP() {
-        return IPP;
-    }
-
 }
diff --git a/src/fc/model/Radiologue.java b/src/fc/model/Radiologue.java
index 9e965c8..03b005c 100644
--- a/src/fc/model/Radiologue.java
+++ b/src/fc/model/Radiologue.java
@@ -8,13 +8,19 @@ package fc.model;
  *
  * @author valen
  */
+/**
+ * Représente un radiologue. Niveau d'accès : 1
+ */
 public class Radiologue extends Utilisateur {
-    
+
+    /**
+     * Crée un radiologue.
+     *
+     * @param id Identifiant unique
+     * @param Mot_de_passe Mot de passe
+     */
     public Radiologue(String id, String Mot_de_passe) {
         super(id, Mot_de_passe, 1);
     }
-    
-    
-    
-    
+
 }
diff --git a/src/fc/model/Utilisateur.java b/src/fc/model/Utilisateur.java
index 8cf5f53..859b5aa 100644
--- a/src/fc/model/Utilisateur.java
+++ b/src/fc/model/Utilisateur.java
@@ -10,31 +10,54 @@ import fc.Sql.ConnexionDataBase;
  *
  * @author valen
  */
+/**
+ * Représente un utilisateur du système. Classe parente pour les différents
+ * types d'utilisateurs.
+ */
 public abstract class Utilisateur {
-    private String id ;
+
+    private String id;
     private String Mot_de_passe;
-    private int acces ;
-    
+    private int acces;
+
+    /**
+     * Crée un nouvel utilisateur.
+     *
+     * @param id Identifiant unique
+     * @param Mot_de_passe Mot de passe
+     * @param acces Niveau d'accès
+     */
     public Utilisateur(String id, String Mot_de_passe, int acces) {
         this.id = id;
         this.Mot_de_passe = Mot_de_passe;
         this.acces = acces;
     }
-    
+
+    /**
+     * @return L'identifiant de l'utilisateur
+     */
     public String getId() {
         return id;
     }
 
+    /**
+     * @return Le niveau d'accès de l'utilisateur
+     */
     public int getAcces() {
         return acces;
     }
-    
-    public String getNom(){
+
+    /**
+     * Récupère le nom de l'utilisateur depuis la base de données.
+     *
+     * @return Le nom de l'utilisateur
+     */
+    public String getNom() {
         String requete = "SELECT nom "
-                    + "FROM utilisateur "
-                    + "WHERE numero_id="+id
-                    + "  AND Mot_de_passe='"+Mot_de_passe+"'";
+                + "FROM utilisateur "
+                + "WHERE numero_id=" + id
+                + "  AND Mot_de_passe='" + Mot_de_passe + "'";
         return ConnexionDataBase.sqlRequete(requete);
     }
-    
+
 }
diff --git a/src/ui/Controller/AdministrationPageController.java b/src/ui/Controller/AdministrationPageController.java
index 08c685b..328d3cc 100644
--- a/src/ui/Controller/AdministrationPageController.java
+++ b/src/ui/Controller/AdministrationPageController.java
@@ -28,8 +28,16 @@ import javafx.scene.layout.VBox;
 import javafx.stage.Stage;
 import javafx.util.Pair;
 
+/**
+ * Contrôleur pour la page d'administration. Gère la création et la gestion des
+ * DMR (Dossiers Médicaux Radiologiques).
+ */
 public class AdministrationPageController {
 
+    /**
+     * Initialise les composants de l'interface. Configure les liaisons entre
+     * les colonnes des tables et les propriétés des objets.
+     */
     @FXML
     private Label welcomeLabel;
     @FXML
@@ -63,18 +71,6 @@ public class AdministrationPageController {
 
     private Administration admin;
 
-    public void setAdmin(Administration admin) {
-        this.admin = admin;
-        updateWelcomeMessage();
-    }
-
-    @FXML
-    private void updateWelcomeMessage() {
-        if (admin != null && welcomeLabel != null) {
-            welcomeLabel.setText("Bienvenue M./Mme " + admin.getNom());
-        }
-    }
-
     @FXML
     private void initialize() {
         // Configuration des colonnes Patients
@@ -97,6 +93,31 @@ public class AdministrationPageController {
         });
     }
 
+    /**
+     * Définit l'administrateur connecté et met à jour le message de bienvenue.
+     *
+     * @param admin L'administrateur connecté
+     */
+    public void setAdmin(Administration admin) {
+        this.admin = admin;
+        updateWelcomeMessage();
+    }
+
+    /**
+     * Met à jour le message de bienvenue avec le nom de l'administrateur.
+     */
+    @FXML
+    private void updateWelcomeMessage() {
+        if (admin != null && welcomeLabel != null) {
+            welcomeLabel.setText("Bienvenue M./Mme " + admin.getNom());
+        }
+    }
+
+    /**
+     * Gère la déconnexion de l'utilisateur.
+     *
+     * @param event L'événement de clic sur le bouton de déconnexion
+     */
     @FXML
     private void actionDeconnexion(ActionEvent event) {
         try {
@@ -113,6 +134,10 @@ public class AdministrationPageController {
         }
     }
 
+    /**
+     * Recherche des patients selon le critère saisi. Affiche les résultats dans
+     * la table des patients.
+     */
     @FXML
     private void recherchePatient() {
         String recherche = fieldRecherhe.getText().trim();
@@ -131,6 +156,11 @@ public class AdministrationPageController {
         }
     }
 
+    /**
+     * Gère l'appui sur la touche Entrée dans le champ de recherche.
+     *
+     * @param event L'événement clavier
+     */
     @FXML
     private void toucheEntrer(KeyEvent event) {
         if (event.getCode() == KeyCode.ENTER) {
@@ -138,22 +168,10 @@ public class AdministrationPageController {
         }
     }
 
-    private void actionSurSelection(String ipp) {
-        Dmr dmr = new Dmr();
-        List<Dmr> dmrs = dmr.recupererDMR(ipp);
-        List<DmrPatient> dmrPatients = new ArrayList<>();
-        Patient pat = new Patient();
-
-        for (Dmr d : dmrs) {
-            List<Patient> patients = pat.rechercherPatients(d.getIPP(), null, null, null, null, null);
-            if (!patients.isEmpty()) {
-                dmrPatients.add(new DmrPatient(d, patients.get(0)));
-            }
-        }
-
-        tableViewDmrPatient.setItems(FXCollections.observableArrayList(dmrPatients));
-    }
-
+    /**
+     * Crée un nouveau DMR pour le patient sélectionné. Vérifie qu'un patient
+     * est sélectionné et qu'un motif est saisi.
+     */
     @FXML
     private void creer() {
         Patient selectedPatient = tableViewPatients.getSelectionModel().getSelectedItem();
@@ -178,6 +196,9 @@ public class AdministrationPageController {
         }
     }
 
+    /**
+     * Charge un DMR existant en l'activant. Vérifie qu'un DMR est sélectionné.
+     */
     @FXML
     private void charger() {
         DmrPatient selectedDmr = tableViewDmrPatient.getSelectionModel().getSelectedItem();
@@ -195,4 +216,26 @@ public class AdministrationPageController {
             messageLabel.setText("Erreur lors du chargement du DMR");
         }
     }
+
+    /**
+     * Met à jour la liste des DMR lorsqu'un patient est sélectionné.
+     *
+     * @param ipp L'identifiant du patient sélectionné
+     */
+    private void actionSurSelection(String ipp) {
+        Dmr dmr = new Dmr();
+        List<Dmr> dmrs = dmr.recupererDMR(ipp);
+        List<DmrPatient> dmrPatients = new ArrayList<>();
+        Patient pat = new Patient();
+
+        for (Dmr d : dmrs) {
+            List<Patient> patients = pat.rechercherPatients(d.getIPP(), null, null, null, null, null);
+            if (!patients.isEmpty()) {
+                dmrPatients.add(new DmrPatient(d, patients.get(0)));
+            }
+        }
+
+        tableViewDmrPatient.setItems(FXCollections.observableArrayList(dmrPatients));
+    }
+
 }
diff --git a/src/ui/Controller/ConnexionPageController.java b/src/ui/Controller/ConnexionPageController.java
index 4fd9ed1..b5ea956 100644
--- a/src/ui/Controller/ConnexionPageController.java
+++ b/src/ui/Controller/ConnexionPageController.java
@@ -33,8 +33,14 @@ import javafx.scene.image.ImageView;
 import javafx.scene.input.KeyCode;
 import javafx.stage.Stage;
 
+/**
+ * Contrôleur pour la page de connexion de l'application. Gère
+ * l'authentification des utilisateurs et la redirection vers les interfaces
+ * appropriées.
+ */
 public class ConnexionPageController implements Initializable {
 
+    // Composants FXML
     @FXML
     private TextField textFieldIdentifiant;
 
@@ -43,30 +49,54 @@ public class ConnexionPageController implements Initializable {
 
     @FXML
     private Button buttonValider;
-    
+
     @FXML
     private Label errorLabel;
 
     @FXML
     private ImageView image = new ImageView();
 
+    /**
+     * Initialise le contrôleur après le chargement de la vue. Charge et affiche
+     * le logo de l'application.
+     *
+     * @param url L'emplacement utilisé pour résoudre les chemins relatifs
+     * @param rb Les ressources utilisées pour localiser les objets
+     */
+    @Override
+    public void initialize(URL url, ResourceBundle rb) {
+        //Image image2 = new Image("file:" + "src/jpg/abdomen/cor494-i436.jpg");
+        Image image2;
+        try {
+            image2 = new Image(new FileInputStream("src/ui/jpg/logo/LVBH.png"));
+            this.image.setImage(image2);
+            this.image.setPreserveRatio(true);
+        } catch (FileNotFoundException ex) {
+            Logger.getLogger(ConnexionPageController.class.getName()).log(Level.SEVERE, null, ex);
+        }
+
+    }
+
+    /**
+     * Gère la tentative de connexion lors du clic sur le bouton Valider. Valide
+     * les identifiants et redirige vers l'interface appropriée.
+     */
     @FXML
     private void handleButtonValider() {
-        
+
         errorLabel.setText(""); //message d'erreur réintialisé
-        
+
         String id = textFieldIdentifiant.getText();
         String password = passwordField.getText();
-        
+
         String erreur = MessageDErreur.validerIdMdp(id, password);
-        
+
         if (!erreur.isEmpty()) {
             // Afficher l'erreur dans le Label
             errorLabel.setText(erreur);
             return; // Ne pas continuer la connexion
         }
-        
-        
+
         Connexion c = new Connexion(id, password);
 
         if (c == null) {
@@ -84,7 +114,6 @@ public class ConnexionPageController implements Initializable {
                     case 1 -> {
                         System.out.println("Accès Radiologue détecté");
                         RadiologuePage radPage = new RadiologuePage((Radiologue) utilisateur);
-                        
 
                         radPage.show();
                         currentStage.close(); // Fermer la page de connexion
@@ -112,25 +141,17 @@ public class ConnexionPageController implements Initializable {
         }
     }
 
+    /**
+     * Gère l'appui sur la touche Entrée dans les champs de saisie. Déclenche la
+     * tentative de connexion comme avec le bouton Valider.
+     *
+     * @param event L'événement clavier
+     */
     @FXML
     private void toucheEntrer(KeyEvent event) {
-    if (event.getCode() == KeyCode.ENTER) {
-        handleButtonValider(); // Appelle la méthode comme si le bouton était cliqué
-    }
-}
-
-    @Override
-    public void initialize(URL url, ResourceBundle rb) {
-        //Image image2 = new Image("file:" + "src/jpg/abdomen/cor494-i436.jpg");
-        Image image2;
-        try {
-            image2 = new Image(new FileInputStream("src/ui/jpg/logo/LVBH.png"));
-            this.image.setImage(image2);
-            this.image.setPreserveRatio(true);
-        } catch (FileNotFoundException ex) {
-            Logger.getLogger(ConnexionPageController.class.getName()).log(Level.SEVERE, null, ex);
+        if (event.getCode() == KeyCode.ENTER) {
+            handleButtonValider(); // Appelle la méthode comme si le bouton était cliqué
         }
-
     }
 
 }
diff --git a/src/ui/Controller/ManipController.java b/src/ui/Controller/ManipController.java
index ef44e3f..b2a0914 100644
--- a/src/ui/Controller/ManipController.java
+++ b/src/ui/Controller/ManipController.java
@@ -28,6 +28,10 @@ import javafx.scene.control.TableView;
 import javafx.scene.input.KeyCode;
 import javafx.scene.input.KeyEvent;
 
+/**
+ * Contrôleur pour l'interface manipulateur radio. Gère la création d'examens
+ * radiologiques et la gestion des images PACS.
+ */
 public class ManipController implements Initializable {
 
     private Manipulateur manipulateur;
@@ -58,6 +62,10 @@ public class ManipController implements Initializable {
     @FXML
     private ComboBox<String> comboImagerie, comboAnat;
 
+    /**
+     * Initialise le contrôleur après le chargement de la vue. Configure les
+     * tables, les combobox et les écouteurs d'événements.
+     */
     @Override
     public void initialize(URL url, ResourceBundle rb) {
         setupTableColumns();
@@ -70,6 +78,9 @@ public class ManipController implements Initializable {
 
     }
 
+    /**
+     * Configure les liaisons des colonnes des tables.
+     */
     private void setupTableColumns() {
         columnIpp.setCellValueFactory(new PropertyValueFactory<>("IPP"));
         columnNom.setCellValueFactory(new PropertyValueFactory<>("nom"));
@@ -80,6 +91,9 @@ public class ManipController implements Initializable {
         columnPrenomDmr.setCellValueFactory(new PropertyValueFactory<>("prenom"));
     }
 
+    /**
+     * Initialise les ComboBox avec leurs valeurs par défaut.
+     */
     private void setupComboBoxes() {
         comboImagerie.getItems().addAll("Radio", "IRM", "Scanner");
         comboAnat.getItems().addAll("abdomen", "sinus", "brain");
@@ -96,11 +110,17 @@ public class ManipController implements Initializable {
         comboBoxMin.setValue(now.getMinute());
     }
 
+    /**
+     * Charge les données initiales (images PACS et DMR actifs).
+     */
     private void loadInitialData() {
         liste_image.setItems(new Pacs().ListImage());
         loadActiveDmrs();
     }
 
+    /**
+     * Charge la liste des DMR actifs.
+     */
     private void loadActiveDmrs() {
         List<Dmr> dmrActif = new Dmr().dmrActiver();
         List<DmrPatient> dmrPatients = new ArrayList<>();
@@ -115,6 +135,9 @@ public class ManipController implements Initializable {
         tableViewDmrPatient.setItems(FXCollections.observableArrayList(dmrPatients));
     }
 
+    /**
+     * Configure les écouteurs pour la sélection dans les listes.
+     */
     private void setupListeners() {
         liste_image.getSelectionModel().selectedItemProperty().addListener((obs, oldVal, newVal) -> {
             if (newVal != null) {
@@ -129,11 +152,19 @@ public class ManipController implements Initializable {
         });
     }
 
+    /**
+     * Applique les styles aux tables.
+     */
     private void applyStyles() {
         tableViewPatient.setStyle("-fx-selection-bar: #3498db; -fx-selection-bar-non-focused: #bdc3c7;");
         tableViewDmrPatient.setStyle("-fx-selection-bar: #3498db; -fx-selection-bar-non-focused: #bdc3c7;");
     }
 
+    /**
+     * Définit le manipulateur connecté et met à jour le message de bienvenue.
+     *
+     * @param manipulateur Le manipulateur connecté
+     */
     public void setManipulateur(Manipulateur manipulateur) {
         this.manipulateur = manipulateur;
         updateWelcomeMessage();
@@ -145,6 +176,11 @@ public class ManipController implements Initializable {
         }
     }
 
+    /**
+     * Charge et affiche l'image sélectionnée.
+     *
+     * @param path Chemin d'accès à l'image
+     */
     private void loadSelectedImage(String path) {
         try {
             Image img = new Image(new FileInputStream(path));
@@ -157,6 +193,11 @@ public class ManipController implements Initializable {
         }
     }
 
+    /**
+     * Charge les DMR associés au patient sélectionné.
+     *
+     * @param patient Le patient sélectionné
+     */
     private void loadPatientDmrs(Patient patient) {
         List<Dmr> dmrs = patient.recupererDMR();
         List<DmrPatient> dmrPatients = new ArrayList<>();
@@ -172,6 +213,11 @@ public class ManipController implements Initializable {
         tableViewDmrPatient.setItems(FXCollections.observableArrayList(dmrPatients));
     }
 
+    /**
+     * Charge les DMR associés au patient sélectionné.
+     *
+     * @param patient Le patient sélectionné
+     */
     @FXML
     private void actionRechercher() {
         String recherche = fieldRecherhe.getText().trim();
@@ -191,8 +237,12 @@ public class ManipController implements Initializable {
 
         tableViewPatient.setItems(FXCollections.observableArrayList(result.getKey()));
     }
-    
-    
+
+    /**
+     * Gère l'appui sur la touche Entrée dans le champ de recherche.
+     *
+     * @param event L'événement clavier
+     */
     @FXML
     private void toucheEntrer(KeyEvent event) {
         if (event.getCode() == KeyCode.ENTER) {
@@ -200,6 +250,11 @@ public class ManipController implements Initializable {
         }
     }
 
+    /**
+     * Déconnecte l'utilisateur et retourne à la page de connexion.
+     *
+     * @param event L'événement de clic
+     */
     @FXML
     private void actionDeconnexion(ActionEvent event) {
         try {
@@ -214,6 +269,10 @@ public class ManipController implements Initializable {
         }
     }
 
+    /**
+     * Valide la création d'un nouvel examen. Vérifie les champs obligatoires
+     * avant création.
+     */
     @FXML
     private void actionValider() {
         if (tableViewDmrPatient.getSelectionModel().getSelectedItems().isEmpty()) {
@@ -245,6 +304,11 @@ public class ManipController implements Initializable {
         createNewExam(dmrSelect, date, imagerie, anatomie, chemin);
     }
 
+    /**
+     * Récupère le chemin de l'image sélectionnée.
+     *
+     * @return Le chemin de l'image ou null si aucune sélection
+     */
     private String getSelectedImagePath() {
         if (liste_image.getSelectionModel().getSelectedItems().isEmpty()) {
             return null;
@@ -252,6 +316,15 @@ public class ManipController implements Initializable {
         return new Pacs().pathWithNom(liste_image.getSelectionModel().getSelectedItems().get(0));
     }
 
+    /**
+     * Crée un nouvel examen radiologique.
+     *
+     * @param dmrSelect Le DMR sélectionné
+     * @param date Date et heure de l'examen
+     * @param imagerie Type d'imagerie
+     * @param anatomie Zone anatomique
+     * @param chemin Chemin de l'image (peut être null)
+     */
     private void createNewExam(DmrPatient dmrSelect, String date, String imagerie, String anatomie, String chemin) {
         Examen ex = new Examen();
         String acte = imagerie + " " + anatomie;
diff --git a/src/ui/Controller/PageExamenController.java b/src/ui/Controller/PageExamenController.java
index 8943ecc..c67958a 100644
--- a/src/ui/Controller/PageExamenController.java
+++ b/src/ui/Controller/PageExamenController.java
@@ -33,8 +33,14 @@ import javafx.stage.Stage;
  *
  * @author valen
  */
+/**
+ * Contrôleur pour la page de visualisation et d'édition d'un examen
+ * radiologique. Permet de consulter les détails de l'examen et de rédiger le
+ * compte-rendu.
+ */
 public class PageExamenController implements Initializable {
 
+    // Composants FXML
     @FXML
     private ImageView image;
     @FXML
@@ -55,12 +61,21 @@ public class PageExamenController implements Initializable {
     private Examen examen;
     private Radiologue radiologue;
 
+    /**
+     * Initialise le contrôleur. Configure le comportement du TextArea pour le
+     * compte-rendu.
+     */
     @Override
     public void initialize(URL url, ResourceBundle rb) {
         // Configuration du TextArea
         compteRenduText.setWrapText(true);
     }
 
+    /**
+     * Définit l'examen à afficher et charge ses données.
+     *
+     * @param examen L'examen à afficher
+     */
     public void setExamen(Examen examen) {
         this.examen = examen;
         if (examen != null) {
@@ -77,17 +92,20 @@ public class PageExamenController implements Initializable {
         }
     }
 
+    /**
+     * Définit le radiologue connecté et met à jour le message de bienvenue.
+     *
+     * @param radiologue Le radiologue connecté
+     */
     public void setRadiologue(Radiologue radiologue) {
         this.radiologue = radiologue;
         updateWelcomeMessage();
     }
 
-    private void updateWelcomeMessage() {
-        if (welcomeLabel != null && radiologue != null) {
-            welcomeLabel.setText("Bienvenue, Dr " + radiologue.getNom());
-        }
-    }
-
+    /**
+     * Charge et affiche l'image associée à l'examen. Affiche une image par
+     * défaut si aucune image n'est associée.
+     */
     private void loadExamImage() {
         try {
             String defaultImagePath = "src/ui.jpg.logo/Examen_sans_image_associée.jpg";
@@ -110,6 +128,9 @@ public class PageExamenController implements Initializable {
         }
     }
 
+    /**
+     * Affiche les informations de l'examen (DMR, motif, date, type d'imagerie).
+     */
     private void displayExamInfo() {
         Dmr d = new Dmr();
         List<Dmr> dmrs = d.recupererDMR(examen.getId_dmr());
@@ -129,6 +150,20 @@ public class PageExamenController implements Initializable {
         }
     }
 
+    /**
+     * Met à jour le message de bienvenue avec le nom du radiologue.
+     */
+    private void updateWelcomeMessage() {
+        if (welcomeLabel != null && radiologue != null) {
+            welcomeLabel.setText("Bienvenue, Dr " + radiologue.getNom());
+        }
+    }
+
+    /**
+     * Enregistre le compte-rendu saisi et retourne à la liste des examens.
+     *
+     * @param event L'événement de clic
+     */
     @FXML
     private void enregistrerCompteRendu(ActionEvent event) {
         if (examen != null) {
@@ -140,28 +175,38 @@ public class PageExamenController implements Initializable {
         }
     }
 
-@FXML
-private void retourListe(ActionEvent event) {
-    try {
-        FXMLLoader loader = new FXMLLoader(getClass().getResource("/ui/fxml/RadiologuePage.fxml"));
-        Parent root = loader.load();
-        
-        RadiologuePageController controller = loader.getController();
-        controller.setRadiologue(this.radiologue); // Réinjecter le radiologue
-        
-        Stage stage = (Stage) ((Node) event.getSource()).getScene().getWindow();
-        stage.close(); // Fermer la page examen
-        
-        Stage newStage = new Stage();
-        newStage.setScene(new Scene(root));
-        newStage.setTitle("Page Radiologue");
-        newStage.setFullScreen(true);
-        newStage.show();
-    } catch (IOException e) {
-        e.printStackTrace();
+    /**
+     * Retourne à la page de liste des examens du radiologue.
+     *
+     * @param event L'événement de clic
+     */
+    @FXML
+    private void retourListe(ActionEvent event) {
+        try {
+            FXMLLoader loader = new FXMLLoader(getClass().getResource("/ui/fxml/RadiologuePage.fxml"));
+            Parent root = loader.load();
+
+            RadiologuePageController controller = loader.getController();
+            controller.setRadiologue(this.radiologue); // Réinjecter le radiologue
+
+            Stage stage = (Stage) ((Node) event.getSource()).getScene().getWindow();
+            stage.close(); // Fermer la page examen
+
+            Stage newStage = new Stage();
+            newStage.setScene(new Scene(root));
+            newStage.setTitle("Page Radiologue");
+            newStage.setFullScreen(true);
+            newStage.show();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
     }
-}
 
+    /**
+     * Déconnecte l'utilisateur et retourne à la page de connexion.
+     *
+     * @param event L'événement de clic
+     */
     @FXML
     private void actionDeconnexion(ActionEvent event) {
         try {
diff --git a/src/ui/Controller/Radio_ManipController.java b/src/ui/Controller/Radio_ManipController.java
index 0250851..867d879 100644
--- a/src/ui/Controller/Radio_ManipController.java
+++ b/src/ui/Controller/Radio_ManipController.java
@@ -29,6 +29,10 @@ import javafx.scene.input.KeyEvent;
 import javafx.stage.Stage;
 import javafx.util.Pair;
 
+/**
+ * Contrôleur pour l'interface manipulateur radio.
+ * Gère la création d'examens radiologiques et la visualisation des images PACS.
+ */
 public class Radio_ManipController implements Initializable {
 
     private Radiologue radiologue;
@@ -61,6 +65,10 @@ public class Radio_ManipController implements Initializable {
     @FXML
     private ComboBox<String> comboImagerie, comboAnat;
 
+        /**
+     * Initialise le contrôleur après le chargement de la vue.
+     * Configure les tables, les combobox et les écouteurs d'événements.
+     */
     @Override
     public void initialize(URL url, ResourceBundle rb) {
         setupTableColumns();
@@ -73,6 +81,9 @@ public class Radio_ManipController implements Initializable {
 
     }
 
+        /**
+     * Configure les liaisons des colonnes des tables.
+     */
     private void setupTableColumns() {
         columnIpp.setCellValueFactory(new PropertyValueFactory<>("IPP"));
         columnNom.setCellValueFactory(new PropertyValueFactory<>("nom"));
@@ -83,6 +94,9 @@ public class Radio_ManipController implements Initializable {
         columnPrenomDmr.setCellValueFactory(new PropertyValueFactory<>("prenom"));
     }
 
+        /**
+     * Initialise les ComboBox avec leurs valeurs par défaut.
+     */
     private void setupComboBoxes() {
         comboImagerie.getItems().addAll("Radio", "IRM", "Scanner");
         comboAnat.getItems().addAll("abdomen", "sinus", "brain");
@@ -94,11 +108,17 @@ public class Radio_ManipController implements Initializable {
         comboBoxMin.setValue(now.getMinute());
     }
 
+        /**
+     * Charge les données initiales (images PACS et DMR actifs).
+     */
     private void loadInitialData() {
         liste_image.setItems(new Pacs().ListImage());
         loadActiveDmrs();
     }
 
+        /**
+     * Charge la liste des DMR actifs.
+     */
     private void loadActiveDmrs() {
         List<Dmr> dmrActif = new Dmr().dmrActiver();
         List<DmrPatient> dmrPatients = new ArrayList<>();
@@ -113,6 +133,9 @@ public class Radio_ManipController implements Initializable {
         tableViewDmrPatient.setItems(FXCollections.observableArrayList(dmrPatients));
     }
 
+        /**
+     * Configure les écouteurs pour la sélection dans les listes.
+     */
     private void setupListeners() {
         liste_image.getSelectionModel().selectedItemProperty().addListener((obs, oldVal, newVal) -> {
             if (newVal != null) {
@@ -127,11 +150,18 @@ public class Radio_ManipController implements Initializable {
         });
     }
 
+        /**
+     * Applique les styles aux tables.
+     */
     private void applyStyles() {
         tableViewPatient.setStyle("-fx-selection-bar: #3498db; -fx-selection-bar-non-focused: #bdc3c7;");
         tableViewDmrPatient.setStyle("-fx-selection-bar: #3498db; -fx-selection-bar-non-focused: #bdc3c7;");
     }
 
+        /**
+     * Définit le radiologue connecté et met à jour le message de bienvenue.
+     * @param radiologue Le radiologue connecté
+     */
     public void setRadiologue(Radiologue radiologue) {
         this.radiologue = radiologue;
         updateWelcomeMessage();
@@ -143,6 +173,10 @@ public class Radio_ManipController implements Initializable {
         }
     }
 
+        /**
+     * Charge et affiche l'image sélectionnée.
+     * @param path Chemin d'accès à l'image
+     */
     private void loadSelectedImage(String path) {
         try {
             Image img = new Image(new FileInputStream(path));
@@ -154,7 +188,11 @@ public class Radio_ManipController implements Initializable {
             System.err.println("Erreur de chargement de l'image: " + e.getMessage());
         }
     }
-
+    
+    /**
+     * Charge les DMR associés au patient sélectionné.
+     * @param patient Le patient sélectionné
+     */
     private void loadPatientDmrs(Patient patient) {
         List<Dmr> dmrs = patient.recupererDMR();
         List<DmrPatient> dmrPatients = new ArrayList<>();
@@ -170,6 +208,10 @@ public class Radio_ManipController implements Initializable {
         tableViewDmrPatient.setItems(FXCollections.observableArrayList(dmrPatients));
     }
 
+        /**
+     * Retourne à la page radiologue.
+     * @param event L'événement de clic
+     */
     @FXML
     private void retourPageRadiologue(ActionEvent event) {
         try {
@@ -189,6 +231,9 @@ public class Radio_ManipController implements Initializable {
         }
     }
 
+        /**
+     * Recherche des patients selon le critère saisi.
+     */
     @FXML
     private void actionRechercher() {
         String recherche = fieldRecherhe.getText().trim();
@@ -209,6 +254,10 @@ public class Radio_ManipController implements Initializable {
         tableViewPatient.setItems(FXCollections.observableArrayList(result.getKey()));
     }
     
+        /**
+     * Gère l'appui sur la touche Entrée dans le champ de recherche.
+     * @param event L'événement clavier
+     */
      @FXML
     private void toucheEntrer(KeyEvent event) {
         if (event.getCode() == KeyCode.ENTER) {
@@ -216,7 +265,10 @@ public class Radio_ManipController implements Initializable {
         }
     }
 
-
+    /**
+     * Déconnecte l'utilisateur et retourne à la page de connexion.
+     * @param event L'événement de clic
+     */
     @FXML
     private void actionDeconnexion(ActionEvent event) {
         try {
@@ -231,6 +283,10 @@ public class Radio_ManipController implements Initializable {
         }
     }
 
+        /**
+     * Valide la création d'un nouvel examen.
+     * Vérifie les champs obligatoires avant création.
+     */
     @FXML
     private void actionValider() {
         if (tableViewDmrPatient.getSelectionModel().getSelectedItems().isEmpty()) {
@@ -262,6 +318,10 @@ public class Radio_ManipController implements Initializable {
         createNewExam(dmrSelect, date, imagerie, anatomie, chemin);
     }
 
+        /**
+     * Récupère le chemin de l'image sélectionnée.
+     * @return Le chemin de l'image ou null si aucune sélection
+     */
     private String getSelectedImagePath() {
         if (liste_image.getSelectionModel().getSelectedItems().isEmpty()) {
             return null;
@@ -269,6 +329,14 @@ public class Radio_ManipController implements Initializable {
         return new Pacs().pathWithNom(liste_image.getSelectionModel().getSelectedItems().get(0));
     }
 
+        /**
+     * Crée un nouvel examen radiologique.
+     * @param dmrSelect Le DMR sélectionné
+     * @param date Date et heure de l'examen
+     * @param imagerie Type d'imagerie
+     * @param anatomie Zone anatomique
+     * @param chemin Chemin de l'image (peut être null)
+     */
     private void createNewExam(DmrPatient dmrSelect, String date, String imagerie, String anatomie, String chemin) {
         Examen ex = new Examen();
         String acte = imagerie + " " + anatomie;
diff --git a/src/ui/Controller/RadiologuePageController.java b/src/ui/Controller/RadiologuePageController.java
index 05b5da0..204cbe4 100644
--- a/src/ui/Controller/RadiologuePageController.java
+++ b/src/ui/Controller/RadiologuePageController.java
@@ -23,8 +23,13 @@ import javafx.scene.input.KeyEvent;
 import javafx.stage.Stage;
 import javafx.util.Pair;
 
+/**
+ * Contrôleur pour l'interface du radiologue. Gère la visualisation et la
+ * gestion des examens radiologiques.
+ */
 public class RadiologuePageController {
 
+    // Composants FXML
     @FXML
     private Label welcomeLabel;
 
@@ -68,17 +73,20 @@ public class RadiologuePageController {
     private Dmr dmr;
     private ObservableList<Examen> examensList = FXCollections.observableArrayList();
 
+    /**
+     * Définit le radiologue connecté et met à jour le message de bienvenue.
+     *
+     * @param radiologue Le radiologue connecté
+     */
     public void setRadiologue(Radiologue radiologue) {
         this.radiologue = radiologue;
         updateWelcomeMessage();
     }
 
-    private void updateWelcomeMessage() {
-        if (welcomeLabel != null && radiologue != null) {
-            welcomeLabel.setText("Bienvenue, Dr " + radiologue.getNom());
-        }
-    }
-
+    /**
+     * Initialise les composants de l'interface. Configure les colonnes des
+     * tables et les écouteurs de sélection.
+     */
     @FXML
     private void initialize() {
         // Configuration des colonnes
@@ -120,6 +128,20 @@ public class RadiologuePageController {
         CouleurDeLigne();
     }
 
+    /**
+     * Met à jour le message de bienvenue avec le nom du radiologue.
+     */
+    private void updateWelcomeMessage() {
+        if (welcomeLabel != null && radiologue != null) {
+            welcomeLabel.setText("Bienvenue, Dr " + radiologue.getNom());
+        }
+    }
+
+    /**
+     * Gère la déconnexion du radiologue.
+     *
+     * @param event L'événement de clic
+     */
     @FXML
     private void actionDeconnexion(ActionEvent event) {
         try {
@@ -143,6 +165,9 @@ public class RadiologuePageController {
         }
     }
 
+    /**
+     * Recherche les examens associés à un DMR.
+     */
     @FXML
     private void rechercherExamens() {
         String idDMR = textFieldDMR.getText();
@@ -163,6 +188,12 @@ public class RadiologuePageController {
         //new pageExamen(examen).show();
     }
 
+    /**
+     * Affiche une alerte avec un message d'erreur.
+     *
+     * @param title Le titre de l'alerte
+     * @param message Le message à afficher
+     */
     @FXML
     private void showAlert(String title, String message) {
         Alert alert = new Alert(Alert.AlertType.ERROR);
@@ -171,6 +202,11 @@ public class RadiologuePageController {
         alert.showAndWait();
     }
 
+    /**
+     * Gère la sélection d'un patient dans la table.
+     *
+     * @param patient Le patient sélectionné
+     */
     private void actionSurSelectionPatient(Patient patient) {
         List<Dmr> dmrs = patient.recupererDMR();
         ObservableList<Dmr> items = FXCollections.observableArrayList(dmrs);
@@ -178,6 +214,11 @@ public class RadiologuePageController {
 
     }
 
+    /**
+     * Gère la sélection d'un DMR dans la table.
+     *
+     * @param dmr Le DMR sélectionné
+     */
     private void actionSurSelectionDMR(Dmr dmr) {
         Examen ex = new Examen();
         System.out.println("IPP : " + dmr.getIPP());
@@ -197,15 +238,24 @@ public class RadiologuePageController {
 
     }
 
-private void actionSurSelectionExamen(Examen examen) {
-    Stage stage = (Stage) tableViewExamens.getScene().getWindow();
-    pageExamen expage = new pageExamen(examen, radiologue); // Passer le radiologue
-    expage.show();
-    
-    // Optionnel: cacher la fenêtre actuelle plutôt que de la fermer
-    stage.hide();
-}
+    /**
+     * Gère la sélection d'un examen dans la table. Ouvre la page de
+     * visualisation/édition de l'examen.
+     *
+     * @param examen L'examen sélectionné
+     */
+    private void actionSurSelectionExamen(Examen examen) {
+        Stage stage = (Stage) tableViewExamens.getScene().getWindow();
+        pageExamen expage = new pageExamen(examen, radiologue); // Passer le radiologue
+        expage.show();
+
+        // Optionnel: cacher la fenêtre actuelle plutôt que de la fermer
+        stage.hide();
+    }
 
+    /**
+     * Recherche des patients selon les critères saisis.
+     */
     @FXML
     private void actionRechercher() {
         // Utilisez soit le champ unifié soit concaténez les champs existants
@@ -231,13 +281,23 @@ private void actionSurSelectionExamen(Examen examen) {
         tableViewPatient.setItems(FXCollections.observableArrayList(result.getKey()));
     }
 
-     @FXML
+    /**
+     * Gère l'appui sur la touche Entrée dans le champ de recherche.
+     *
+     * @param event L'événement clavier
+     */
+    @FXML
     private void toucheEntrer(KeyEvent event) {
         if (event.getCode() == KeyCode.ENTER) {
             actionRechercher(); // Appelle la méthode comme si le bouton était cliqué
         }
     }
 
+    /**
+     * Ouvre l'interface pour le manipulateur.
+     *
+     * @param event L'événement de clic
+     */
     @FXML
     private void ouvertureManip(ActionEvent event) {
         try {
@@ -263,6 +323,10 @@ private void actionSurSelectionExamen(Examen examen) {
         }
     }
 
+    /**
+     * Applique un style coloré aux lignes de la table des examens. Vert pour
+     * les examens avec compte-rendu, rouge pour ceux sans.
+     */
     private void CouleurDeLigne() {
         // Appliquer un style aux lignes en fonction de l'état du compte rendu
         tableViewExamens.setRowFactory(tv -> new TableRow<Examen>() {
-- 
GitLab