diff --git a/Cell.java b/Cell.java
index d91aeaec40b714197e440d4eb3864ab2f8d5b233..b1c83cd3deba165fbc45422ca195581a3d378bf2 100644
--- a/Cell.java
+++ b/Cell.java
@@ -5,6 +5,7 @@
 public class Cell {
     private boolean isAlive;
 
+    //String qui garde la couleur de la cellule
     private String color = "Red";
 
     public Cell(){
diff --git a/GameOfLifeGUI.java b/GameOfLifeGUI.java
index ffb5d5475c90a8a69a9fc9ac281feb5820e30cfd..65b1ab0006b4b78e9c91228c648ae96107287ce2 100644
--- a/GameOfLifeGUI.java
+++ b/GameOfLifeGUI.java
@@ -39,13 +39,16 @@ public class GameOfLifeGUI extends JFrame {
         for (int x = 0; x < numberOfColumns; x++)
             for (int y = 0; y < numberOfRows; y++){
 		JLabel label = labelGrid[x][y];
+		//On regarde ici si la cellule est vivante
 		if(g.getCell(x,y).isAlive()) {
+		    //On fonction de l'instance qui gère la couleur on change sa couleur sur la grille
             if ((g.getCell(x,y).getColor()).equals("Red")) {
                 label.setForeground(Color.red);
             } else {
                 label.setForeground(Color.blue);
             }
         }
+		//sinon on l'a met blanc
 		else
 		    label.setForeground(Color.white);
 	    }
diff --git a/Grid.java b/Grid.java
index 680686040da251d59548bd73a30e994ce4228abd..f50c36afd5dac5c530ac8c75ae7a87f3a884e725 100644
--- a/Grid.java
+++ b/Grid.java
@@ -95,7 +95,9 @@ public class Grid implements Iterable<Cell> {
     }
 
     private boolean[][] calculateNextStates() {
+        //On crée une nouvelle matrice qui correspond à la prochaine grille
         boolean[][] newState = new boolean[getNumberOfRows()][getNumberOfColumns()];
+        //On parcours toute la grille puis on fait appelle à la fonction calculateNextStates
         for (int r=0; r<numberOfRows; r++) {
             for (int c=0; c<numberOfColumns; c++) {
                 newState[r][c] = this.calculateNextState(r,c,this.getCell(r,c));
@@ -106,6 +108,7 @@ public class Grid implements Iterable<Cell> {
     }
 
     private void goToNextState(boolean[][] nextState) {
+        //On utilise la nouvelle matrice pour savoir si la cellule est vivante ou non
         for (int r=0; r<numberOfRows; r++) {
             for (int c=0; c<numberOfColumns; c++) {
                 if (nextState[r][c]) {
@@ -119,7 +122,9 @@ public class Grid implements Iterable<Cell> {
     }
 
     private boolean calculateNextState(int rowIndex, int columnIndex, Cell cell) {
+        //On fait appelle à la méthode de Cell pour savoir si la cellule est vivante
         boolean Nextstate = cell.isAliveInNextState(this.countAliveNeighbours(rowIndex, columnIndex));
+        //C'est ici aussi que l'on change la couleur de la cellule en fonction de ses voisins en appelant la méthode setColor
             if (Nextstate) {
                 if (this.countAliveNeighbours(rowIndex, columnIndex) != 2) {
                     cell.setColor(this.countColorNeighbours(rowIndex, columnIndex));
@@ -130,6 +135,7 @@ public class Grid implements Iterable<Cell> {
     }
 
     private int countAliveNeighbours(int rowIndex, int columnIndex) {
+        //Ici on compte le nombre de cellules voisines vivantes
         int CounterAliveCell = 0;
         for (Cell NeighboursCell : this.getNeighbours(rowIndex, columnIndex)) {
             if (NeighboursCell.isAlive()) {
@@ -140,9 +146,11 @@ public class Grid implements Iterable<Cell> {
     }
 
     private String countColorNeighbours(int rowIndex, int columnIndex) {
+        //On compte ici la couleur des voisins
         String CounterColorCell;
         int Red = 0;
         int Blue = 0;
+        //On compte ici la couleur des voisins
         for (Cell NeighboursCell : this.getNeighbours(rowIndex, columnIndex)) {
             if (NeighboursCell.isAlive()) {
                 if ((NeighboursCell.getColor()).equals("Red")) {
@@ -153,7 +161,7 @@ public class Grid implements Iterable<Cell> {
                 }
             }
         }
-
+        //Et on fonction du nombre de couleur on change la couleur dans l'instance qui la gère
         if (Red>Blue) {
             CounterColorCell="Red";
         }
@@ -167,7 +175,9 @@ public class Grid implements Iterable<Cell> {
 
 
     private List<Cell> getNeighbours(int rowIndex, int columnIndex) {
+        //On crée une liste de voisin
         List<Cell> Neighbours = new ArrayList<>();
+        //On parcours les 8 voisins, en prenant compte à ne pas prendre la cellule de base, et on les ajoutes à la liste
         for (int r=-1; r<=1; r++) {
             for (int c=-1; c<=1; c++) {
                 if ((r != 0) || (c != 0)) {
@@ -185,7 +195,7 @@ public class Grid implements Iterable<Cell> {
      * Sets all {@link Cell}s in this {@code Grid} as dead.
      */
     void clear() {
-
+        //On tue toutes les cellules
         for (Iterator<Cell> it = this.iterator(); it.hasNext(); ) {
             Cell cell = it.next();
             cell.setDead();
@@ -200,10 +210,10 @@ public class Grid implements Iterable<Cell> {
      */
 
     void randomGeneration(Random random) {
-
+        //On utilise la méthode Iterator
         for (Iterator<Cell> it = this.iterator(); it.hasNext(); ) {
             Cell cell = it.next();
-
+            //Si le hasard a décidé que la cellule est vivante, on utilise ensuite la même méthode pour mettre sa couleur
             if (random.nextBoolean()) {
                 cell.setAlive();
                 if (random.nextBoolean()) {