diff --git a/src/main/java/controller/Controller.java b/src/main/java/controller/Controller.java
index 1cf89653fbc8e469e235f1f8a9ba3fddc836b6b0..f7fe40da220c708d6755564753dd2bee98c2b208 100644
--- a/src/main/java/controller/Controller.java
+++ b/src/main/java/controller/Controller.java
@@ -20,6 +20,7 @@ import javafx.scene.control.ToggleGroup;
 import javafx.util.Duration;
 import javafx.util.Pair;
 import model.Board;
+import model.Entity;
 import model.EntityFactory;
 import model.Square;
 import model.firefighterscenario.Cloud;
@@ -91,6 +92,16 @@ 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(square.getViewColor());
   }
 
diff --git a/src/main/java/model/Road.java b/src/main/java/model/Road.java
new file mode 100644
index 0000000000000000000000000000000000000000..c28771eaf19432a91f32d2b8f4d2daedd4af870c
--- /dev/null
+++ b/src/main/java/model/Road.java
@@ -0,0 +1,54 @@
+package model;
+
+import javafx.scene.paint.Color;
+import util.Position;
+
+import java.util.List;
+
+public class Road implements Entity{
+    private int age;
+    private Position position;
+    private final Color viewColor = Color.GREY;
+    private final int priority = 0;
+
+
+    @Override
+    public List<Position> nextTurn(Board<Square> board) {
+        return List.of();
+    }
+
+    @Override
+    public Position getPosition() {
+        return null;
+    }
+
+    @Override
+    public void setPosition(Position p) {
+
+    }
+
+    @Override
+    public int getAge() {
+        return 0;
+    }
+
+    @Override
+    public void setAge(int age) {
+
+    }
+
+    @Override
+    public void incrementAge() {
+
+    }
+
+    @Override
+    public Color getViewColor() {
+        return null;
+    }
+
+    @Override
+    public int getPriority() {
+        return 0;
+    }
+}
diff --git a/src/main/java/model/firefighterscenario/Cloud.java b/src/main/java/model/firefighterscenario/Cloud.java
index 3a587b5594531ee34f995f4840a82fdfa3bdefcb..4e5e70807401a078d65a24b853719e1a9af93f9e 100644
--- a/src/main/java/model/firefighterscenario/Cloud.java
+++ b/src/main/java/model/firefighterscenario/Cloud.java
@@ -109,4 +109,10 @@ public class Cloud implements Entity{
     }
 
 
+    public javafx.scene.image.Image getImage() {
+        return new javafx.scene.image.Image(getClass().getResource("/icons/img.png").toExternalForm());
+    }
+
+
+
 }
diff --git a/src/main/java/view/FirefighterGrid.java b/src/main/java/view/FirefighterGrid.java
index ecc8129c023c3a84787bb12b7db4de3bbb7cde95..67dc61c1e91e6400eb639b23f86ef1f04ebf67eb 100644
--- a/src/main/java/view/FirefighterGrid.java
+++ b/src/main/java/view/FirefighterGrid.java
@@ -1,4 +1,5 @@
 package view;
+import javafx.scene.image.Image;
 
 import java.util.List;
 
@@ -9,9 +10,25 @@ import util.Position;
 
 public class FirefighterGrid extends Canvas implements Grid<ViewElement>{
 
+    //private void paintElementAtPosition(ViewElement element, Position position) {
+      //  paintBox(position.x(), position.y(), element.getColor());
+    //}
+
+
     private void paintElementAtPosition(ViewElement element, Position position) {
-        paintBox(position.x(), position.y(), element.getColor());
+        // Efface la case pour éviter les superpositions
+        clearBox(position.x(), position.y());
+
+        // Vérifie si une image est définie dans l'élément
+        if (element.getImage() != null) {
+            Image image = element.getImage();
+            getGraphicsContext2D().drawImage(image, position.y() * boxWidth, position.x() * boxHeight, boxWidth, boxHeight);
+        } else {
+            // Sinon, utilise une couleur
+            paintBox(position.x(), position.y(), element.getColor());
+        }
     }
+
     private int boxWidth;
     private int boxHeight;
     private int columnCount;
diff --git a/src/main/java/view/ViewElement.java b/src/main/java/view/ViewElement.java
index 5043644547213f648760eba9e4bb0693411e527b..3059a474eba08dc25e8e0e9cb8a186344a5c85c1 100644
--- a/src/main/java/view/ViewElement.java
+++ b/src/main/java/view/ViewElement.java
@@ -1,15 +1,29 @@
 package view;
 
+import javafx.scene.image.Image;
 import javafx.scene.paint.Color;
 
 public class ViewElement {
     private final Color color;
+    private final Image image;
 
+    // Constructeur avec couleur uniquement
     public ViewElement(Color color) {
         this.color = color;
+        this.image = null;
+    }
+
+    // Constructeur avec image
+    public ViewElement(Image image) {
+        this.color = null;
+        this.image = image;
     }
 
     public Color getColor() {
         return color;
     }
+
+    public Image getImage() {
+        return image;
+    }
 }