diff --git a/src/main/java/model/update/CloudUpdater.java b/src/main/java/model/update/CloudUpdater.java
new file mode 100644
index 0000000000000000000000000000000000000000..7c627ffeb7632c52177d3a189dc1aca195117c8e
--- /dev/null
+++ b/src/main/java/model/update/CloudUpdater.java
@@ -0,0 +1,24 @@
+package model.update;
+import model.Cloud;
+import model.Fire;
+import util.Position;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+public class CloudUpdater {
+    private List<Cloud> clouds;
+
+    public CloudUpdater(List<Cloud> clouds) {
+        this.clouds = clouds;
+    }
+
+    public void updateClouds(Map<Position, List<Position>> neighbors, Set<Position> firePositions) {
+        for (Cloud cloud : clouds) {
+            cloud.move(); // Déplace le nuage
+            cloud.protectFromFire((Fire) firePositions);
+            cloud.extinguishSurroundingFires(firePositions, neighbors); // Éteindre les feux autour du nuage
+        }
+    }
+}