diff --git a/app/src/main/java/model/ArrayGrid.java b/app/src/main/java/model/ArrayGrid.java
index f6d943d93f0f1d2bd52f47c4a3cee23beef4ea65..30ec1d071896f35d073d51a2b56b43e43973ee90 100644
--- a/app/src/main/java/model/ArrayGrid.java
+++ b/app/src/main/java/model/ArrayGrid.java
@@ -1,9 +1,9 @@
 package model;
 
-public abstract class ArrayGrid implements Grid {
+public class ArrayGrid implements model.Grid {
 
     //Tableau pour stocker les cellules
-    Cell[][] cells ;
+    model.Cell[][] cells ;
 
     //Nombre de lignes
     int numberOfRows ;
@@ -14,7 +14,7 @@ public abstract class ArrayGrid implements Grid {
     //Constructeur
     //Une grille avec les nombres de lignes et de colonnes passés en arguments
     //Ce constructeur initialise le tableau cells aux bonnes dimensions et remplit les cases avec des instances de SquareCell
-    public void ArrayGrid(int numberOfRows, int numberOfColumns) {
+    public ArrayGrid(int numberOfRows, int numberOfColumns) {
         //Traitement des exceptions pour eviter que le programme se termine non connecté
             if (numberOfRows <= 0 && numberOfColumns <= 0)
                 throw new IllegalArgumentException("valeur argument négatif ou nul");
@@ -24,4 +24,33 @@ public abstract class ArrayGrid implements Grid {
                         cells[i][j] = new SquareCell() ;
     }
 
+    //Demander par l'exercice
+    public void color(ColorGenerator[] colorGenerator) {
+        for (int i = 0 ; i < numberOfRows ; i++)
+            for (int j = 0 ; j < numberOfColumns ; j++) {
+                colorGenerator = new ColorGenerator[]{} ;
+                //cells[i][j].setColor(colorGenerator.nextColor());
+            }
+    }
+
+    @Override
+    public void color(ColorGenerator colorGenerator) {
+    }
+
+    @Override
+    public model.Cell getCell(int row, int column) {
+        return null;
+    }
+
+    @Override
+    public int getNumberOfRows() {
+        return 0;
+    }
+
+    @Override
+    public int getNumberOfColumns() {
+        return 0;
+    }
+
+
 }
diff --git a/app/src/main/java/model/GrayGrid.java b/app/src/main/java/model/GrayGrid.java
index 02cb8ee2f6dbc07f694cc48ba5ea0a095fabe8cd..b3078cc3369573cf5401964bd5e11742f9d53e23 100644
--- a/app/src/main/java/model/GrayGrid.java
+++ b/app/src/main/java/model/GrayGrid.java
@@ -9,6 +9,12 @@ public class GrayGrid implements Grid{
         this.numberOfRows = numberOfRows;
         this.numnberOfColumns = numberOfColumns;
     }
+
+    @Override
+    public void color(ColorGenerator colorGenerator) {
+
+    }
+
     /**
      * Return the cell located at the given coordinates in the grid.
      *
diff --git a/app/src/main/java/model/Grid.java b/app/src/main/java/model/Grid.java
index 64341b4de0f789c8307834655f856691218cd242..cedbaca3df49b6f663b538b1ab604ad2c6c22b71 100644
--- a/app/src/main/java/model/Grid.java
+++ b/app/src/main/java/model/Grid.java
@@ -8,6 +8,10 @@ public interface  Grid  {
      * @param column the column of the returned cell
      * @return the cell located in row {@code row} and in column {@code column}
      */
+
+    //Méthode demandée par l'exercice
+    public void color (ColorGenerator colorGenerator);
+
     Cell getCell(int row, int column);
 
     /**
diff --git a/app/src/main/java/model/SquareCell.java b/app/src/main/java/model/SquareCell.java
index 679509bd607e6009573d1eee600c44079c90f845..411fbdf69e1cbb6c858d9bcd007ea8299c366ed4 100644
--- a/app/src/main/java/model/SquareCell.java
+++ b/app/src/main/java/model/SquareCell.java
@@ -27,6 +27,7 @@ public class SquareCell extends AbstractCell{
 
     //Constructeur 3 : un constructeur avec deux paramètres : "Color color" et "ArrayList<Cell> neighbours
     //qui consrtuit une cellule de couleur color et dont les cellules voisines sont neighours
+    //@Override
     public void SquareCell(Color color, List<Cell> neighbours) {
         this.neighbours = neighbours ;
         this.color = color ;
diff --git a/app/src/main/java/model/UniformColorGenerator.java b/app/src/main/java/model/UniformColorGenerator.java
new file mode 100644
index 0000000000000000000000000000000000000000..517796024948f978ebbfd8f41f4a985af7e1ad32
--- /dev/null
+++ b/app/src/main/java/model/UniformColorGenerator.java
@@ -0,0 +1,20 @@
+//7.2 Classe UniformColorGenerator
+// Cette classe correspong à un coloriage uniforme de la grille
+
+package model;
+import javafx.scene.paint.Color;
+
+public class UniformColorGenerator implements ColorGenerator{
+
+    Color couleur ;
+
+    //Constructeur de la classe
+    public void UniformColorGenerator(Color couleur) {
+        this.couleur = couleur ;
+    }
+
+    @Override
+    public Color nextColor(Cell cell) {
+        return this.couleur ;
+    }
+}
diff --git a/app/src/main/java/view/MatrixPane.java b/app/src/main/java/view/MatrixPane.java
index f20ed0348c4905cb696c5158d80c6710e68109b7..e43d3ef1be63be081756a4dfc1c06b4e0d8566ed 100644
--- a/app/src/main/java/view/MatrixPane.java
+++ b/app/src/main/java/view/MatrixPane.java
@@ -28,13 +28,15 @@ public class MatrixPane extends GridPane {
         this.tileHeight = tileHeight;
         this.numberOfColumns = numberOfColumns;
         this.numberOfRows = numberOfRows;
+
         // TODO replace by new ArrayGrid(numberOfRows, numberOfColumns)
-        cellGrid = new GrayGrid(numberOfRows, numberOfColumns);
+        //Changement du constructeur "GrayGrid" en "ArrayGrid"
+        //cellGrid = new GrayGrid(numberOfRows, numberOfColumns);
+        cellGrid = new model.ArrayGrid(numberOfRows, numberOfColumns);
         initMatrix();
     }
 
-
-    public void setGameController(GameController controller){
+    public void setGameController(GameController controller) {
         this.controller = controller;
     }
 
diff --git a/app/src/test/java/model/ArrayGridTest.java b/app/src/test/java/model/ArrayGridTest.java
index b63b2e3a521518598749ae7d67ae8ac58ec5e812..67f01c9a9a41b8aa6d554a7a32bf776a1137c6c9 100644
--- a/app/src/test/java/model/ArrayGridTest.java
+++ b/app/src/test/java/model/ArrayGridTest.java
@@ -11,12 +11,10 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 class ArrayGridTest {
 
-    // TODO
-    //  uncomment
-/*
+
     private  ArrayGrid arrayGridThreeFour;
     private final ArrayGrid arrayGridTwoTwo = new ArrayGrid(2,2);
-
+public static void(String arg[]) {}
     @BeforeEach
     void initializeArrayGridThreeFour(){
         arrayGridThreeFour = new ArrayGrid(3,4);
@@ -89,5 +87,5 @@ class ArrayGridTest {
         assertThat(iterator.hasNext()).isFalse();
 
     }
- */
+
 }
\ No newline at end of file