diff --git a/Sudoku.java b/Sudoku.java
index ad5828f..6409306 100644
--- a/Sudoku.java
+++ b/Sudoku.java
@@ -1,28 +1,56 @@
+/**
+ * La classe Sudoku représente un jeu de Sudoku avec une grille associée.
+ * Elle fournit des méthodes pour interagir avec la grille, telles que le chargement à partir d'un fichier,
+ * l'impression de la grille et la vérification de l'état de résolution.
+ */
 public class Sudoku {
     private Grid grid;
     private boolean solved;
 
+    /**
+     * Constructeur par défaut. Initialise un Sudoku avec une grille vide et non résolue.
+     */
     public Sudoku() {
-        this.grid = new Grid(); // Initialiser avec une grille vide
+        this.grid = new Grid();
         this.solved = false;
     }
     
+    /**
+     * Obtient la grille associée à ce Sudoku.
+     * @return La grille associée à ce Sudoku.
+     */
     public Grid getGrid() {
         return grid;
     }
 
+    /**
+     * Définit une nouvelle grille pour ce Sudoku.
+     * @param newGrid La nouvelle grille à définir.
+     */
     public void setGrid(Grid newGrid) {
         this.grid = newGrid;
     }
 
+    /**
+     * Vérifie si ce Sudoku est résolu.
+     * @return True si le Sudoku est résolu, False sinon.
+     */
     public boolean isSolved() {
         return solved;
     }
     
+    /**
+     * Charge une grille de Sudoku à partir d'un fichier.
+     * @param fileName Le nom du fichier à charger.
+     */
     public void loadGridFromFile(String fileName) {
         this.grid.loadGridFromFile(fileName);
     }
 
+    /**
+     * Imprime la grille de Sudoku sur la sortie standard.
+     * Chaque ligne de la grille est imprimée sur une ligne distincte.
+     */
     public void printGrid() {
         for (int row = 0; row < 9; row++) {
             for (int col = 0; col < 9; col++) {
@@ -33,4 +61,4 @@ public class Sudoku {
         }
     }
 
-}
+}
\ No newline at end of file
diff --git a/SudokuButtonListener.java b/SudokuButtonListener.java
index d7e122b..242aa1f 100644
--- a/SudokuButtonListener.java
+++ b/SudokuButtonListener.java
@@ -3,12 +3,24 @@ import java.awt.*;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 
+/**
+ * La classe SudokuButtonListener écoute les événements des boutons dans une interface utilisateur de Sudoku.
+ * Lorsqu'un bouton est cliqué, cette classe affiche une boîte de dialogue demandant à l'utilisateur d'entrer un nombre,
+ * puis met à jour la grille de Sudoku en conséquence.
+ */
 public class SudokuButtonListener implements ActionListener {
     private int row;
     private int col;
     private Sudoku sudoku;
     private JButton[][] buttons;
 
+    /**
+     * Constructeur de SudokuButtonListener.
+     * @param row L'indice de ligne du bouton.
+     * @param col L'indice de colonne du bouton.
+     * @param sudoku L'instance de Sudoku associée à l'interface utilisateur.
+     * @param buttons La grille de boutons associée à l'interface utilisateur.
+     */
     public SudokuButtonListener(int row, int col, Sudoku sudoku, JButton[][] buttons) {
         this.row = row;
         this.col = col;
@@ -16,6 +28,11 @@ public class SudokuButtonListener implements ActionListener {
         this.buttons = buttons;
     }
 
+    /**
+     * Méthode invoquée lorsque le bouton associé à ce listener est cliqué.
+     * Affiche une boîte de dialogue demandant à l'utilisateur d'entrer un nombre, puis met à jour la grille de Sudoku.
+     * @param e L'événement ActionEvent associé au clic du bouton.
+     */
     @Override
     public void actionPerformed(ActionEvent e) {
         String input = JOptionPane.showInputDialog("Entrez un nombre :");
@@ -39,10 +56,23 @@ public class SudokuButtonListener implements ActionListener {
         }
     }
 
+    /**
+     * Vérifie si le nombre entré est valide pour la position donnée dans la grille de Sudoku.
+     * @param num Le nombre entré par l'utilisateur.
+     * @param row L'indice de ligne de la cellule dans la grille.
+     * @param col L'indice de colonne de la cellule dans la grille.
+     * @return True si le nombre est valide pour cette position, False sinon.
+     */
     private boolean isValid(int num, int row, int col) {
         return isValidRow(num, row) && isValidCol(num, col) && isValidBox(num, row - row % 3, col - col % 3);
     }
 
+    /**
+     * Vérifie si le nombre est valide dans la ligne donnée de la grille de Sudoku.
+     * @param num Le nombre entré par l'utilisateur.
+     * @param row L'indice de ligne de la cellule dans la grille.
+     * @return True si le nombre est valide dans cette ligne, False sinon.
+     */
     private boolean isValidRow(int num, int row) {
         for (int i = 0; i < 9; i++) {
             if (sudoku.getGrid().getCell(row, i).getValue() == num && i != col) {
@@ -52,6 +82,12 @@ public class SudokuButtonListener implements ActionListener {
         return true;
     }
 
+    /**
+     * Vérifie si le nombre est valide dans la colonne donnée de la grille de Sudoku.
+     * @param num Le nombre entré par l'utilisateur.
+     * @param col L'indice de colonne de la cellule dans la grille.
+     * @return True si le nombre est valide dans cette colonne, False sinon.
+     */
     private boolean isValidCol(int num, int col) {
         for (int i = 0; i < 9; i++) {
             if (sudoku.getGrid().getCell(i, col).getValue() == num && i != row) {
@@ -61,6 +97,13 @@ public class SudokuButtonListener implements ActionListener {
         return true;
     }
 
+    /**
+     * Vérifie si le nombre est valide dans la boîte 3x3 contenant la cellule donnée.
+     * @param num Le nombre entré par l'utilisateur.
+     * @param boxStartRow L'indice de ligne du coin supérieur gauche de la boîte.
+     * @param boxStartCol L'indice de colonne du coin supérieur gauche de la boîte.
+     * @return True si le nombre est valide dans cette boîte, False sinon.
+     */
     private boolean isValidBox(int num, int boxStartRow, int boxStartCol) {
         for (int i = 0; i < 3; i++) {
             for (int j = 0; j < 3; j++) {
@@ -73,4 +116,4 @@ public class SudokuButtonListener implements ActionListener {
         }
         return true;
     }
-}
+}
\ No newline at end of file
diff --git a/SudokuCreator.java b/SudokuCreator.java
index 6f2fbc2..c22a2e0 100644
--- a/SudokuCreator.java
+++ b/SudokuCreator.java
@@ -92,6 +92,7 @@ public class SudokuCreator extends SudokuUI {
         Grid grid = sudoku.getGrid();
         for (int row = 0; row < 9; row++) {
             for (int col = 0; col < 9; col++) {
+                if()
                 int value = grid.getCell(row, col).getValue();
                 buttons[row][col].setText(value == 0 ? "" : String.valueOf(value));
             }
diff --git a/SudokuSolver.java b/SudokuSolver.java
index 6ac316b..aa4a525 100644
--- a/SudokuSolver.java
+++ b/SudokuSolver.java
@@ -1,21 +1,37 @@
+/**
+ * La classe SudokuSolver fournit des méthodes pour résoudre une grille de Sudoku.
+ * Elle utilise une approche de récursion avec backtracking pour trouver la solution.
+ */
 public class SudokuSolver {
+
+    /**
+     * Résout la grille de Sudoku donnée.
+     * @param grid La grille de Sudoku à résoudre.
+     * @return True si la grille a été résolue avec succès, False si elle est insoluble.
+     */
     public boolean solve(Grid grid) {
         long startTime = System.currentTimeMillis(); // Temps de début de la résolution
-        
+
         boolean isSolved = solveRecursive(grid);
-        
+
         long endTime = System.currentTimeMillis(); // Temps de fin de la résolution
         long duration = endTime - startTime; // Calcul de la durée de résolution
-        
+
         if (isSolved) {
             System.out.println("La grille a été résolue en " + duration + " millisecondes.");
         } else {
             System.out.println("La grille est insoluble.");
         }
-        
+
         return isSolved;
     }
-    
+
+    /**
+     * Méthode récursive pour résoudre la grille de Sudoku.
+     * Utilise une approche de backtracking pour explorer toutes les possibilités.
+     * @param grid La grille de Sudoku à résoudre.
+     * @return True si la grille a été résolue avec succès, False si elle est insoluble.
+     */
     private boolean solveRecursive(Grid grid) {
         for (int row = 0; row < 9; row++) {
             for (int col = 0; col < 9; col++) {
@@ -39,6 +55,14 @@ public class SudokuSolver {
         return true;
     }
 
+    /**
+     * Vérifie si le placement d'un nombre dans une cellule est sûr.
+     * @param grid La grille de Sudoku.
+     * @param row L'indice de ligne de la cellule.
+     * @param col L'indice de colonne de la cellule.
+     * @param num Le nombre à vérifier.
+     * @return True si le placement est sûr, False sinon.
+     */
     public boolean isSafe(Grid grid, int row, int col, int num) {
         // Vérifier la ligne
         for (int i = 0; i < 9; i++) {
@@ -46,14 +70,14 @@ public class SudokuSolver {
                 return false;
             }
         }
-    
+
         // Vérifier la colonne
         for (int i = 0; i < 9; i++) {
             if (grid.getCell(i, col).getValue() == num) {
                 return false;
             }
         }
-    
+
         // Vérifier la région 3x3
         int startRow = row - row % 3;
         int startCol = col - col % 3;
@@ -64,7 +88,7 @@ public class SudokuSolver {
                 }
             }
         }
-    
+
         return true;
     }
-}
+}
\ No newline at end of file
diff --git a/SudokuUI.java b/SudokuUI.java
index 4aaa628..482b358 100644
--- a/SudokuUI.java
+++ b/SudokuUI.java
@@ -1,10 +1,26 @@
 import javax.swing.*;
 import java.awt.*;
 
+/**
+ * La classe abstraite SudokuUI est une interface graphique pour afficher et interagir avec une grille de Sudoku.
+ * Elle fournit les méthodes de base pour la création de l'interface utilisateur.
+ */
 public abstract class SudokuUI extends JFrame {
+    
+    /**
+     * La grille de Sudoku associée à l'interface utilisateur.
+     */
     protected Sudoku sudoku;
+    
+    /**
+     * Tableau bidimensionnel de boutons représentant les cellules de la grille de Sudoku.
+     */
     protected JButton[][] buttons;
 
+    /**
+     * Constructeur de la classe SudokuUI.
+     * @param sudoku La grille de Sudoku à afficher et à interagir.
+     */
     public SudokuUI(Sudoku sudoku) {
         this.sudoku = sudoku;
         this.buttons = new JButton[9][9];
@@ -28,8 +44,16 @@ public abstract class SudokuUI extends JFrame {
         setVisible(true);
     }
 
+    /**
+     * Méthode abstraite permettant d'obtenir le texte du titre de l'interface utilisateur.
+     * @return Le texte du titre.
+     */
     protected abstract String getTitleText();
 
+    /**
+     * Méthode pour créer les boutons de la grille de Sudoku.
+     * @param gridPanel Le panneau de la grille où les boutons seront ajoutés.
+     */
     protected void createGridButtons(JPanel gridPanel) {
         Grid grid = sudoku.getGrid(); // Obtenez la grille à partir de Sudoku
         for (int row = 0; row < 9; row++) {
@@ -59,6 +83,4 @@ public abstract class SudokuUI extends JFrame {
             }
         }
     }
-    
-
-}
+}
\ No newline at end of file