diff --git a/Makefile b/Makefile
index 8712f53..441d46b 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
 # List of Java source files
-SRCS := Cell.java GenerateGrid.java Grid.java Sudoku.java SudokuButtonListener.java SudokuSolver.java SudokuUI.java SudokuCreator.java
+SRCS := Cell.java GenerateGrid.java Grid.java Sudoku.java SudokuButtonListener.java SudokuSolver.java SudokuUI.java SudokuCreator.java SudokuGame.java
 
 # Directory to store compiled class files
 BUILD_DIR := build
diff --git a/SudokuGame.java b/SudokuGame.java
index c4b65f4..09b8858 100644
--- a/SudokuGame.java
+++ b/SudokuGame.java
@@ -6,25 +6,41 @@ import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.io.File;
 
+/**
+ * La classe SudokuGame étend la classe SudokuUI et représente une application de jeu de Sudoku avec des fonctionnalités supplémentaires telles que le chargement de grilles et la résolution automatique.
+ */
 public class SudokuGame extends SudokuUI {
 
+    /**
+     * Constructeur de la classe SudokuGame.
+     * @param sudoku La grille de Sudoku à utiliser pour le jeu.
+     */
     public SudokuGame(Sudoku sudoku) {
         super(sudoku);
         createAdditionalButtons();
     }
 
+    /**
+     * Méthode pour obtenir le texte du titre de l'interface utilisateur.
+     * @return Le texte du titre.
+     */
     @Override
     protected String getTitleText() {
         return "Sudoku Game";
     }
 
+    /**
+     * Méthode pour créer les boutons de chargement et de résolution et redimensionner la fenêtre.
+     */
     protected void createAdditionalButtons() {
         createLoadButton();
         createSolveButton();
         pack(); // Redimensionner la fenêtre pour s'adapter aux nouveaux boutons
     }
-    
 
+    /**
+     * Méthode pour créer le bouton de résolution.
+     */
     private void createSolveButton() {
         JButton solveButton = new JButton("Résoudre");
         solveButton.addActionListener(new ActionListener() {
@@ -51,6 +67,9 @@ public class SudokuGame extends SudokuUI {
         add(buttonPanel, BorderLayout.SOUTH);
     }
 
+    /**
+     * Méthode pour créer le bouton de chargement.
+     */
     private void createLoadButton() {
         JButton loadButton = new JButton("Charger");
         loadButton.addActionListener(new ActionListener() {
@@ -73,16 +92,24 @@ public class SudokuGame extends SudokuUI {
         add(buttonPanel, BorderLayout.NORTH);
     }
 
+    /**
+     * Méthode pour mettre à jour les valeurs des boutons de la grille après un chargement ou une résolution.
+     */
     private void updateGrid() {
         Grid grid = sudoku.getGrid();
         for (int row = 0; row < 9; row++) {
             for (int col = 0; col < 9; col++) {
                 int value = grid.getCell(row, col).getValue();
                 buttons[row][col].setText(value == 0 ? "" : String.valueOf(value));
+                buttons[row][col].setEnabled(value == 0); // Désactive les boutons pour les cellules déjà remplies
             }
         }
     }
 
+    /**
+     * Méthode principale pour démarrer le jeu de Sudoku.
+     * @param args Les arguments de la ligne de commande (non utilisés).
+     */
     public static void main(String[] args) {
         Sudoku sudoku = new Sudoku();
         new SudokuGame(sudoku);
diff --git a/build/Cell.class b/build/Cell.class
index c8b3b8c..9ce07eb 100644
Binary files a/build/Cell.class and b/build/Cell.class differ
diff --git a/build/GenerateGrid.class b/build/GenerateGrid.class
index a954a37..877a443 100644
Binary files a/build/GenerateGrid.class and b/build/GenerateGrid.class differ
diff --git a/build/Grid.class b/build/Grid.class
index c5d156a..e986e1f 100644
Binary files a/build/Grid.class and b/build/Grid.class differ
diff --git a/build/SudokuCreator$1.class b/build/SudokuCreator$1.class
index 3f399ec..1baacf8 100644
Binary files a/build/SudokuCreator$1.class and b/build/SudokuCreator$1.class differ
diff --git a/build/SudokuCreator$2.class b/build/SudokuCreator$2.class
index ec56a48..fd3f322 100644
Binary files a/build/SudokuCreator$2.class and b/build/SudokuCreator$2.class differ
diff --git a/build/SudokuCreator$3.class b/build/SudokuCreator$3.class
index f31b47b..373d6f7 100644
Binary files a/build/SudokuCreator$3.class and b/build/SudokuCreator$3.class differ
diff --git a/build/SudokuCreator.class b/build/SudokuCreator.class
index 1c0743a..e61e5b5 100644
Binary files a/build/SudokuCreator.class and b/build/SudokuCreator.class differ
diff --git a/build/SudokuGame$1.class b/build/SudokuGame$1.class
new file mode 100644
index 0000000..e0d69b5
Binary files /dev/null and b/build/SudokuGame$1.class differ
diff --git a/build/SudokuGame$2.class b/build/SudokuGame$2.class
new file mode 100644
index 0000000..ecd0425
Binary files /dev/null and b/build/SudokuGame$2.class differ
diff --git a/build/SudokuGame.class b/build/SudokuGame.class
new file mode 100644
index 0000000..48104c8
Binary files /dev/null and b/build/SudokuGame.class differ
diff --git a/build/SudokuUI$1.class b/build/SudokuUI$1.class
deleted file mode 100644
index d56e53b..0000000
Binary files a/build/SudokuUI$1.class and /dev/null differ
diff --git a/build/SudokuUI$2.class b/build/SudokuUI$2.class
deleted file mode 100644
index aeed762..0000000
Binary files a/build/SudokuUI$2.class and /dev/null differ
diff --git a/build/SudokuUI$3.class b/build/SudokuUI$3.class
deleted file mode 100644
index 433bfdc..0000000
Binary files a/build/SudokuUI$3.class and /dev/null differ
diff --git a/build/SudokuUI.class b/build/SudokuUI.class
index 23a50d8..94ce4b1 100644
Binary files a/build/SudokuUI.class and b/build/SudokuUI.class differ