diff --git a/app/src/main/java/model/ArrayGrid.java b/app/src/main/java/model/ArrayGrid.java
new file mode 100644
index 0000000000000000000000000000000000000000..f6d943d93f0f1d2bd52f47c4a3cee23beef4ea65
--- /dev/null
+++ b/app/src/main/java/model/ArrayGrid.java
@@ -0,0 +1,27 @@
+package model;
+
+public abstract class ArrayGrid implements Grid {
+
+    //Tableau pour stocker les cellules
+    Cell[][] cells ;
+
+    //Nombre de lignes
+    int numberOfRows ;
+
+    //Nombre de colonnes
+    int numberOfColumns ;
+
+    //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) {
+        //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");
+            else
+                for (int i = 0 ; i < numberOfRows ;i++)
+                    for (int j = 0 ; j < numberOfRows ; j++)
+                        cells[i][j] = new SquareCell() ;
+    }
+
+}