diff --git a/src/main/java/model/BoardFireFighterBehavior.java b/src/main/java/model/BoardFireFighterBehavior.java
index 933056cbe7172087f7e9719c88aff95dc499766a..7e1275ba49567228b6b6a1e39508308fe0b9d907 100644
--- a/src/main/java/model/BoardFireFighterBehavior.java
+++ b/src/main/java/model/BoardFireFighterBehavior.java
@@ -10,21 +10,30 @@ public class BoardFireFighterBehavior implements BoardBehavior{
     private final Map<Position, List<Position>> neighbors;
     private List<Position> firefighterPositions;
     private Set<Position> firePositions;
+    private final ElementFactory<FireFighter> firefighterFactory;
+    private final ElementFactory<Fire> fireFactory;
     private int step;
 
-    public BoardFireFighterBehavior(Map<Position, List<Position>> neighbors) {
+    public BoardFireFighterBehavior(Map<Position, List<Position>> neighbors, ElementFactory<Fire> fireFactory ,ElementFactory<FireFighter> firefighterFactory) {
+        this.step=0;
         this.neighbors = neighbors;
-        this.step = 0;
+        this.firefighterFactory = firefighterFactory;
+        this.fireFactory = fireFactory;
     }
 
-    public void initializeElements(int initialFireCount, int initialFirefighterCount, int rowCount, int columnCount, Random randomGenerator) {
-        firefighterPositions = new ArrayList<>();
+    public void initializeElements(int rowCount, int columnCount) {
+        // Utilisation de la factory pour créer les feux
         firePositions = new HashSet<>();
-        for (int i = 0; i < initialFireCount; i++) {
-            firePositions.add(randomPosition(rowCount, columnCount, randomGenerator));
+        List<Fire> fires = fireFactory.createElements(rowCount, columnCount);
+        for (Fire fire : fires) {
+            firePositions.add(fire.getPosition());
         }
-        for (int i = 0; i < initialFirefighterCount; i++) {
-            firefighterPositions.add(randomPosition(rowCount, columnCount, randomGenerator));
+
+        // Utilisation de la factory pour créer les pompiers
+        firefighterPositions = new ArrayList<>();
+        List<FireFighter> firefighters = firefighterFactory.createElements(rowCount, columnCount);
+        for (FireFighter firefighter : firefighters) {
+            firefighterPositions.add(firefighter.getPosition());
         }
     }
 
@@ -70,9 +79,6 @@ public class BoardFireFighterBehavior implements BoardBehavior{
         firePositions.remove(position);
     }
 
-    public void reset(int step) {
-        this.step = step;
-    }
 
     public Set<Position> getFirePositions() {
         return firePositions;
@@ -102,6 +108,7 @@ public class BoardFireFighterBehavior implements BoardBehavior{
 
     @Override
     public void reset() {
-
+        this.step=0;
     }
+
 }