diff --git a/src/main/java/controller/Controller.java b/src/main/java/controller/Controller.java
index f7fe40da220c708d6755564753dd2bee98c2b208..2a95d8e59d7e0363aa347c8e73e49d185ab84f55 100644
--- a/src/main/java/controller/Controller.java
+++ b/src/main/java/controller/Controller.java
@@ -94,12 +94,8 @@ public class Controller {
   private ViewElement getViewElement(Square square) {
     if (!square.getEntities().isEmpty()) {
       for (Entity entity : square.getEntities()) {
-        if (entity instanceof Cloud) {
-          return new ViewElement(((Cloud) entity).getImage());
-        }else{
 
-        }
-        // Ajoutez ici des cas similaires pour d'autres entités comme Fire, FireFighter, etc.
+          return new ViewElement(entity.getImage());
       }
     }
     return new ViewElement(square.getViewColor());
diff --git a/src/main/java/model/EmptySquare.java b/src/main/java/model/EmptySquare.java
index a196fe418145e94a1cf48bca393158abe603cf95..975706e2c5dfbf1f42004fbef489e4c429367223 100644
--- a/src/main/java/model/EmptySquare.java
+++ b/src/main/java/model/EmptySquare.java
@@ -4,6 +4,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import javafx.scene.paint.Color;
+import model.firefighterscenario.Cloud;
 import util.Position;
 
 public class EmptySquare implements Entity {
@@ -12,6 +13,15 @@ public class EmptySquare implements Entity {
     private final Color viewColor = Color.WHITE;
     private int age;
     private final int priotity = -1;
+    private static javafx.scene.image.Image cloudImage;
+
+    static {
+        try {
+            cloudImage = new javafx.scene.image.Image(Cloud.class.getResource("/view/icons/img.png").toExternalForm());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
 
     public EmptySquare(Position p) {
         this.position = p;
@@ -61,4 +71,9 @@ public class EmptySquare implements Entity {
     public int getPriority(){
         return this.priotity;
     }
+
+    @Override
+    public javafx.scene.image.Image getImage() {
+        return cloudImage;
+    }
 }
diff --git a/src/main/java/model/Entity.java b/src/main/java/model/Entity.java
index 3270ae89da793de0e332c5802f70d4f60b88c933..dc29e8ea087302ed9c1b850367f25bdd66db85a8 100644
--- a/src/main/java/model/Entity.java
+++ b/src/main/java/model/Entity.java
@@ -1,5 +1,5 @@
 package model;
-
+import javafx.scene.image.Image;
 import java.util.List;
 
 import javafx.scene.paint.Color;
@@ -21,4 +21,5 @@ public interface Entity {
     public void incrementAge();
     public Color getViewColor();
     public int getPriority();
+    public Image getImage();
 }
diff --git a/src/main/java/model/Road.java b/src/main/java/model/Road.java
index c28771eaf19432a91f32d2b8f4d2daedd4af870c..b8b73256b9b2a55794cdb395b3b29258b1a1e207 100644
--- a/src/main/java/model/Road.java
+++ b/src/main/java/model/Road.java
@@ -1,17 +1,31 @@
-package model;
+package model.firefighterscenario;
+
+import java.util.List;
 
 import javafx.scene.paint.Color;
+import model.Board;
+import model.Entity;
+import model.Square;
 import util.Position;
 
-import java.util.List;
-
 public class Road implements Entity{
     private int age;
+    private final int PRIORITY = 0;
+    private final Color VIEW_COLOR = Color.BLACK;
     private Position position;
-    private final Color viewColor = Color.GREY;
-    private final int priority = 0;
+    private static javafx.scene.image.Image cloudImage;
 
+    static {
+        try {
+            cloudImage = new javafx.scene.image.Image(Cloud.class.getResource("/view/icons/route.png").toExternalForm());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
 
+    public Road(Position position){
+        this.position = position;
+    }
     @Override
     public List<Position> nextTurn(Board<Square> board) {
         return List.of();
@@ -19,36 +33,42 @@ public class Road implements Entity{
 
     @Override
     public Position getPosition() {
-        return null;
+        return this.position;
     }
 
     @Override
     public void setPosition(Position p) {
-
+        this.position = p;
     }
 
     @Override
     public int getAge() {
-        return 0;
+        return age;
     }
 
     @Override
     public void setAge(int age) {
-
+        this.age = age;
     }
 
     @Override
     public void incrementAge() {
-
+        this.age = age + 1;
     }
 
     @Override
     public Color getViewColor() {
-        return null;
+        return this.VIEW_COLOR;
     }
 
     @Override
     public int getPriority() {
-        return 0;
+        return this.PRIORITY;
+    }
+
+    @Override
+    public javafx.scene.image.Image getImage() {
+        return cloudImage;
     }
+
 }
diff --git a/src/main/java/model/firefighterscenario/AirTanker.java b/src/main/java/model/firefighterscenario/AirTanker.java
index a80fdb66bfae4e2c565b1406f12c8afe4e7bda70..cd50470f5f9274378d412aad3a987a08992cc929 100644
--- a/src/main/java/model/firefighterscenario/AirTanker.java
+++ b/src/main/java/model/firefighterscenario/AirTanker.java
@@ -18,6 +18,15 @@ public class AirTanker implements Entity{
     private int age;
     private Position position;
     private int priority = 3;
+    private static javafx.scene.image.Image cloudImage;
+
+    static {
+        try {
+            cloudImage = new javafx.scene.image.Image(Cloud.class.getResource("/view/icons/avion.png").toExternalForm());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
 
     public AirTanker(Position position, Board<Square> b, int age) {
         this.age = age;
@@ -163,5 +172,8 @@ public class AirTanker implements Entity{
         return Objects.hash(position, age);
     }
 
-
+    @Override
+    public javafx.scene.image.Image getImage() {
+        return cloudImage;
+    }
 }
diff --git a/src/main/java/model/firefighterscenario/Cloud.java b/src/main/java/model/firefighterscenario/Cloud.java
index 194c5d6d434148aaa95f4f4ce17bf057dbb7d08c..61d6c87ccb81b7f708f8acdf28b2dd7959ece951 100644
--- a/src/main/java/model/firefighterscenario/Cloud.java
+++ b/src/main/java/model/firefighterscenario/Cloud.java
@@ -21,7 +21,7 @@ public class Cloud implements Entity{
     
     static {
         try {
-            cloudImage = new javafx.scene.image.Image(Cloud.class.getResource("/view/nuage.png").toExternalForm());
+            cloudImage = new javafx.scene.image.Image(Cloud.class.getResource("/view/icons/nuage.png").toExternalForm());
         } catch (Exception e) {
             e.printStackTrace();
         }
@@ -115,7 +115,7 @@ public class Cloud implements Entity{
         return this.priority;
     }
 
-
+    @Override
     public javafx.scene.image.Image getImage() {
         return cloudImage;
     }
diff --git a/src/main/java/model/firefighterscenario/Fire.java b/src/main/java/model/firefighterscenario/Fire.java
index 0d79d7a5a8a0de817dac0f192711f547627a6a4a..4a991e7330466284371872ecf819bb6bd31ce1db 100644
--- a/src/main/java/model/firefighterscenario/Fire.java
+++ b/src/main/java/model/firefighterscenario/Fire.java
@@ -18,6 +18,15 @@ public class Fire implements Entity {
     private final Color viewColor = Color.RED;
     private int age;
     private final int priority = 1;
+    private static javafx.scene.image.Image cloudImage;
+
+    static {
+        try {
+            cloudImage = new javafx.scene.image.Image(Cloud.class.getResource("/view/icons/flamme.png").toExternalForm());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
 
     public Fire(Position position) {
         this.position = position;
@@ -132,4 +141,9 @@ public class Fire implements Entity {
         return Objects.hash(position, age);
     }
 
+    @Override
+    public javafx.scene.image.Image getImage() {
+        return cloudImage;
+    }
+
 }
diff --git a/src/main/java/model/firefighterscenario/FireFighter.java b/src/main/java/model/firefighterscenario/FireFighter.java
index 8adfeba28784f7462854258e4315bd6d0129ae07..4b20790a8db498e4612b0e1a859fae3b146769e8 100644
--- a/src/main/java/model/firefighterscenario/FireFighter.java
+++ b/src/main/java/model/firefighterscenario/FireFighter.java
@@ -19,6 +19,15 @@ public class FireFighter implements Entity {
     private final Color viewColor = Color.BLUE;
     private final int priority = 1;
     protected List<Position> lastThreePosition;
+    private static javafx.scene.image.Image cloudImage;
+
+    static {
+        try {
+            cloudImage = new javafx.scene.image.Image(Cloud.class.getResource("/view/icons/sapeur-pompier.png").toExternalForm());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
 
     public FireFighter(Position position, Board<Square> b) {
         this.position = position;
@@ -220,4 +229,8 @@ public class FireFighter implements Entity {
     }
     public int getPriority(){ return this.priority;}
 
+    @Override
+    public javafx.scene.image.Image getImage() {
+        return cloudImage;
+    }
 }
diff --git a/src/main/java/model/firefighterscenario/FireFighterScenario.java b/src/main/java/model/firefighterscenario/FireFighterScenario.java
index b112887f3df3c0ad55b93be1683ddf5a7b8f9201..450dee5ff682cbbc09959634812baaab67019256 100644
--- a/src/main/java/model/firefighterscenario/FireFighterScenario.java
+++ b/src/main/java/model/firefighterscenario/FireFighterScenario.java
@@ -26,6 +26,7 @@ public class FireFighterScenario extends EntityScenario implements Board<Square>
 
   private Map<EntityFactory, Integer> initialMap;
 
+
   public FireFighterScenario(int columns, int rows) {
     this.matrix = new Matrix<Square>(columns, rows);
     initScenario(matrix);
diff --git a/src/main/java/model/firefighterscenario/MotorizedFireFighter.java b/src/main/java/model/firefighterscenario/MotorizedFireFighter.java
index 3564d384fe27f81e247b438324e3cbf86b5b6767..0fbab0ccf9cd7ee6cc12010e0837d152f5403bcf 100644
--- a/src/main/java/model/firefighterscenario/MotorizedFireFighter.java
+++ b/src/main/java/model/firefighterscenario/MotorizedFireFighter.java
@@ -11,6 +11,16 @@ import util.PositionUtil;
 
 public class MotorizedFireFighter extends FireFighter {
     private final Color viewColor = Color.CYAN;
+    private static javafx.scene.image.Image cloudImage;
+
+
+    static {
+        try {
+            cloudImage = new javafx.scene.image.Image(Cloud.class.getResource("/view/icons/camion.png").toExternalForm());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
 
     public MotorizedFireFighter(Position position, Board<Square> b) {
         super(position, b);
@@ -109,4 +119,8 @@ public class MotorizedFireFighter extends FireFighter {
         lastThreePosition.add(this.getPosition());
     }
 
+    @Override
+    public javafx.scene.image.Image getImage() {
+        return cloudImage;
+    }
 }
\ No newline at end of file
diff --git a/src/main/java/model/firefighterscenario/Mountain.java b/src/main/java/model/firefighterscenario/Mountain.java
index e229c30a0f9d35af7e80c7c8e28a8da1bcf72db4..16971eb06268ee19ac77f06227e97e5c4f311c3b 100644
--- a/src/main/java/model/firefighterscenario/Mountain.java
+++ b/src/main/java/model/firefighterscenario/Mountain.java
@@ -13,6 +13,15 @@ public class Mountain implements Entity{
     Position position;
     private int age;
     private final Color viewColor = Color.CHOCOLATE;
+    private static javafx.scene.image.Image cloudImage;
+
+    static {
+        try {
+            cloudImage = new javafx.scene.image.Image(Cloud.class.getResource("/view/icons/montagne.png").toExternalForm());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
 
     public Mountain(Position p ){
         this.position = p;
@@ -64,4 +73,9 @@ public class Mountain implements Entity{
     public int getPriority() {
         return this.priority;
     }
+
+    @Override
+    public javafx.scene.image.Image getImage() {
+        return cloudImage;
+    }
 }
diff --git a/src/main/java/model/firefighterscenario/Road.java b/src/main/java/model/firefighterscenario/Road.java
deleted file mode 100644
index fa90dc7d64b4995d5271810209395ab11c45547c..0000000000000000000000000000000000000000
--- a/src/main/java/model/firefighterscenario/Road.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package model.firefighterscenario;
-
-import java.util.List;
-
-import javafx.scene.paint.Color;
-import model.Board;
-import model.Entity;
-import model.Square;
-import util.Position;
-
-public class Road implements Entity{
-    private int age;
-    private final int PRIORITY = 0;
-    private final Color VIEW_COLOR = Color.BLACK;
-    private Position position;
-
-    public Road(Position position){
-        this.position = position;
-    }
-    @Override
-    public List<Position> nextTurn(Board<Square> board) {
-        return List.of();
-    }
-
-    @Override
-    public Position getPosition() {
-        return this.position;
-    }
-
-    @Override
-    public void setPosition(Position p) {
-        this.position = p;
-    }
-
-    @Override
-    public int getAge() {
-        return age;
-    }
-
-    @Override
-    public void setAge(int age) {
-        this.age = age;
-    }
-
-    @Override
-    public void incrementAge() {
-        this.age = age + 1;
-    }
-
-    @Override
-    public Color getViewColor() {
-        return this.VIEW_COLOR;
-    }
-
-    @Override
-    public int getPriority() {
-        return this.PRIORITY;
-    }
-    
-}
diff --git a/src/main/java/model/firefighterscenario/Rockery.java b/src/main/java/model/firefighterscenario/Rockery.java
index 9b64db33ec04539cdbc3d5bd428992455292d7f9..405625564bbe8b5892c522ff2ce8ce15b4185905 100644
--- a/src/main/java/model/firefighterscenario/Rockery.java
+++ b/src/main/java/model/firefighterscenario/Rockery.java
@@ -14,6 +14,16 @@ public class Rockery implements Entity{
     private int age;
     private int burn;
     private final Color viewColor = Color.LIMEGREEN;
+    private static javafx.scene.image.Image cloudImage;
+
+
+    static {
+        try {
+            cloudImage = new javafx.scene.image.Image(Cloud.class.getResource("/view/icons/rochers.png").toExternalForm());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
 
     public Rockery(Position p ){
         this.position = p;
@@ -78,4 +88,9 @@ public class Rockery implements Entity{
     public void resetBurn() {
         this.burn = 0;
     }
+
+    @Override
+    public javafx.scene.image.Image getImage() {
+        return cloudImage;
+    }
 }
diff --git a/src/main/resources/icons/avion.png b/src/main/resources/view/icons/avion.png
similarity index 100%
rename from src/main/resources/icons/avion.png
rename to src/main/resources/view/icons/avion.png
diff --git a/src/main/resources/view/icons/camion.png b/src/main/resources/view/icons/camion.png
new file mode 100644
index 0000000000000000000000000000000000000000..c9eaf6adb1f1bfd2b96590d67d9279750df0f2a9
Binary files /dev/null and b/src/main/resources/view/icons/camion.png differ
diff --git a/src/main/resources/icons/flamme.png b/src/main/resources/view/icons/flamme.png
similarity index 100%
rename from src/main/resources/icons/flamme.png
rename to src/main/resources/view/icons/flamme.png
diff --git a/src/main/resources/view/icons/img.png b/src/main/resources/view/icons/img.png
new file mode 100644
index 0000000000000000000000000000000000000000..f765539c06aafd59b0c2fc1a09fc389f9996410c
Binary files /dev/null and b/src/main/resources/view/icons/img.png differ
diff --git a/src/main/resources/icons/montagne.png b/src/main/resources/view/icons/montagne.png
similarity index 100%
rename from src/main/resources/icons/montagne.png
rename to src/main/resources/view/icons/montagne.png
diff --git a/src/main/resources/icons/nuage.png b/src/main/resources/view/icons/nuage.png
similarity index 100%
rename from src/main/resources/icons/nuage.png
rename to src/main/resources/view/icons/nuage.png
diff --git a/src/main/resources/icons/rochers.png b/src/main/resources/view/icons/rochers.png
similarity index 100%
rename from src/main/resources/icons/rochers.png
rename to src/main/resources/view/icons/rochers.png
diff --git a/src/main/resources/view/icons/route.png b/src/main/resources/view/icons/route.png
new file mode 100644
index 0000000000000000000000000000000000000000..fb3ba6dc051837260312bc0d168c2a9952788a32
Binary files /dev/null and b/src/main/resources/view/icons/route.png differ
diff --git a/src/main/resources/icons/sapeur-pompier.png b/src/main/resources/view/icons/sapeur-pompier.png
similarity index 100%
rename from src/main/resources/icons/sapeur-pompier.png
rename to src/main/resources/view/icons/sapeur-pompier.png
diff --git a/src/main/resources/view/nuage.png b/src/main/resources/view/nuage.png
deleted file mode 100644
index e45c590998a918927786f558c1ac301cd92a025b..0000000000000000000000000000000000000000
Binary files a/src/main/resources/view/nuage.png and /dev/null differ