diff --git a/build/classes/java/main/model/ModelElement.class b/build/classes/java/main/model/ModelElement.class
index 233ea071f11d658f111ffcfdd0d89e41d52ca544..155b653963166f37418e8bdaf6c396a855faacdd 100644
Binary files a/build/classes/java/main/model/ModelElement.class and b/build/classes/java/main/model/ModelElement.class differ
diff --git a/src/main/java/model/BoardElement.java b/src/main/java/model/BoardElement.java
new file mode 100644
index 0000000000000000000000000000000000000000..9a403ac16a13f0db51f491dc7433a78521c80f2e
--- /dev/null
+++ b/src/main/java/model/BoardElement.java
@@ -0,0 +1,27 @@
+package model;
+
+import util.Position;
+
+public abstract class BoardElement implements ModelElement{
+    protected Position position;
+
+    public BoardElement(Position position) {
+        this.position = position;
+    }
+
+    @Override
+    public Position getPosition() {
+        return position;
+    }
+    public void setPosition(Position position) {
+        this.position = position;
+    }
+    public boolean isAtPosition(Position position) {
+        return this.position.equals(position);
+    }
+
+    public abstract String getType(); // Ajout de la méthode abstraite
+
+
+    public abstract String toString();
+}
diff --git a/src/main/java/model/ModelElement.java b/src/main/java/model/ModelElement.java
index 759eee5e54c3a39472d8f7defbbbe6a2b67b8f00..ce3c924c486c01fba869fd65d436e002c586e10a 100644
--- a/src/main/java/model/ModelElement.java
+++ b/src/main/java/model/ModelElement.java
@@ -1,5 +1,7 @@
 package model;
 
-public enum ModelElement {
-  FIREFIGHTER, FIRE
+import util.Position;
+
+public interface ModelElement {
+
 }
diff --git a/src/main/java/model/PositionGenerator.java b/src/main/java/model/PositionGenerator.java
new file mode 100644
index 0000000000000000000000000000000000000000..55ef8ba72ab7ad805bf8729a4d24dafd6b4555fa
--- /dev/null
+++ b/src/main/java/model/PositionGenerator.java
@@ -0,0 +1,7 @@
+package model;
+
+import util.Position;
+
+public interface PositionGenerator {
+    public Position generateRandomPosition(int rowCount, int columnCount);
+}