diff --git a/src/main/java/fr/univamu/l2mi/ticker/PrintAlarm.java b/src/main/java/fr/univamu/l2mi/ticker/PrintAlarm.java
index 03c944c88cf53ac9642d0b3c5543c3b199fc58ef..d1e2e51a74eb0cc25b71235e45c526edc5f8769c 100644
--- a/src/main/java/fr/univamu/l2mi/ticker/PrintAlarm.java
+++ b/src/main/java/fr/univamu/l2mi/ticker/PrintAlarm.java
@@ -9,6 +9,7 @@ public class PrintAlarm implements Tickable{
     int hours_c = 0;
     boolean reached = false;
     int seconds_since = 0;
+    int max_seconds = 60;
 
     public PrintAlarm(int seconds_c,int minutes,int hours){
         this.seconds = seconds_c;
@@ -38,7 +39,7 @@ public class PrintAlarm implements Tickable{
         if (reached){
             seconds_since++;
             System.out.println(hours_c +":"+minutes_c+":"+seconds_c);
-            if (seconds_since==60){
+            if (seconds_since==max_seconds){
                 reached = false;
                 seconds_since = 0;
             }
diff --git a/src/main/java/fr/univamu/l2mi/ticker/StopClock.java b/src/main/java/fr/univamu/l2mi/ticker/StopClock.java
new file mode 100644
index 0000000000000000000000000000000000000000..4b1af9b0347800685e0d40920b155389dbcb18c9
--- /dev/null
+++ b/src/main/java/fr/univamu/l2mi/ticker/StopClock.java
@@ -0,0 +1,20 @@
+package fr.univamu.l2mi.ticker;
+
+public class StopClock extends PrintAlarm{
+    int duration;
+    Ticker ticker;
+    public StopClock(int seconds_c, int minutes, int hours, Ticker ticker, int duration) {
+        super(seconds_c, minutes, hours);
+        this.duration = duration;
+        this.ticker = ticker;
+        this.max_seconds= duration + 1;
+    }
+
+    @Override
+    public void notifyTick() {
+        super.notifyTick();
+        if(seconds_since == duration){
+            ticker.stopTicking();
+        }
+    }
+}