diff --git a/.gitignore b/.gitignore
index f0875c5fe5484bdc4e3c51883c63e3c54bedd810..1f5573d91c8497ef9d7251837b0c8776f31670e2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -34,4 +34,8 @@ fabric.properties
 
 .gradle/
 *.class
-bin/
\ No newline at end of file
+bin/
+.gradle
+*.bin
+*.lock
+.gradle/8.10.2/executionHistory/executionHistory.bin
diff --git a/src/main/java/model/Board.java b/src/main/java/model/Board.java
index bb089a41406d57b0b2fe3d43b3c040cbd640b6b9..30baf946331f02d670790920433df68759e21a07 100644
--- a/src/main/java/model/Board.java
+++ b/src/main/java/model/Board.java
@@ -1,9 +1,9 @@
 package model;
 
-import util.Position;
-
 import java.util.List;
 
+import util.Position;
+
 /**
  * This interface represents a generic board for modeling various state-based systems.
  *
@@ -61,5 +61,8 @@ public interface Board<S> {
    * @return The current step number or generation.
    */
   int stepNumber();
+
+  // Le booléen replaceState permet de forcer le remplacement des cases vides
+  public void setState(Entity state, Position position, boolean replaceStates);
 }
 
diff --git a/src/main/java/model/FireFighterScenario.java b/src/main/java/model/FireFighterScenario.java
index d516b7b043f260a29cd19076d2063bd1f466a9c6..1ea0fd5eb7bb928c0e55fcb2e9409b1cd64f8b42 100644
--- a/src/main/java/model/FireFighterScenario.java
+++ b/src/main/java/model/FireFighterScenario.java
@@ -23,7 +23,17 @@ public class FireFighterScenario implements Board<Entity>{
   }
 
   public void setState(Entity state, Position position){
-    
+    if(!(getState(position) instanceof EmptySquare)){
+      return;
+    }
+    matrix.set(position.x(), position.y(), state);
+  }
+
+  // Le booléen replaceState permet de forcer le remplacement des cases vides
+  public void setState(Entity state, Position position, boolean replaceStates){
+    if(!(getState(position) instanceof EmptySquare) && !replaceStates){
+      return;
+    }
     matrix.set(position.x(), position.y(), state);
   }
 
diff --git a/src/main/java/model/FirefighterBoard.java b/src/main/java/model/FirefighterBoard.java
index c5f54eb50ba6a0240cc809746b8cc25acadb7e65..3ed1ec4f1f8a7a47bcecb56de9e86e8c5d43d1ba 100644
--- a/src/main/java/model/FirefighterBoard.java
+++ b/src/main/java/model/FirefighterBoard.java
@@ -153,4 +153,10 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
       }
     }
   }
+
+  @Override
+  public void setState(Entity state, Position position, boolean replaceStates) {
+    throw new UnsupportedOperationException("Unimplemented method 'setState'");
+  }
+  
 }
\ No newline at end of file