diff --git a/Objet/__pycache__/display.cpython-311.pyc b/Objet/__pycache__/display.cpython-311.pyc
index 47c03061a540418584efdf3d7ea6e7fdba203caa..e34941d41697f6c341f6bf9d56f46a8546b36e41 100644
Binary files a/Objet/__pycache__/display.cpython-311.pyc and b/Objet/__pycache__/display.cpython-311.pyc differ
diff --git a/Objet/__pycache__/gestion_clavier.cpython-311.pyc b/Objet/__pycache__/gestion_clavier.cpython-311.pyc
index 23521c0e6553991526708d81d478d2fe60dcd60c..1ddf70342171c8cbcc48e2f4f4ff1ab8c0a1abf7 100644
Binary files a/Objet/__pycache__/gestion_clavier.cpython-311.pyc and b/Objet/__pycache__/gestion_clavier.cpython-311.pyc differ
diff --git a/Objet/__pycache__/parameters.cpython-311.pyc b/Objet/__pycache__/parameters.cpython-311.pyc
index 9997445863ed0721673cbb0b8a9d416fd5347fe2..19430169ef99b849616cfc7c91eb2a4806a4b41f 100644
Binary files a/Objet/__pycache__/parameters.cpython-311.pyc and b/Objet/__pycache__/parameters.cpython-311.pyc differ
diff --git a/Objet/__pycache__/ui.cpython-311.pyc b/Objet/__pycache__/ui.cpython-311.pyc
index 892a0bac6e14abb4e6600c07e26e129483ef640b..e3232c7ef51cdc8bc2cefe21d73785579693ed16 100644
Binary files a/Objet/__pycache__/ui.cpython-311.pyc and b/Objet/__pycache__/ui.cpython-311.pyc differ
diff --git a/Objet/__pycache__/video_manager.cpython-311.pyc b/Objet/__pycache__/video_manager.cpython-311.pyc
index d585046aec8b7ecf4085b94f5440c4c0a638c932..c623ba62a664db4291ff0bcd6d3ac8e8a776ffc8 100644
Binary files a/Objet/__pycache__/video_manager.cpython-311.pyc and b/Objet/__pycache__/video_manager.cpython-311.pyc differ
diff --git a/Objet/main.py b/Objet/main.py
index 07664f73bdd885ee20a6a4e9eb293c3fd6ef4dfc..4b2704847e4c1d4792e2911579044ac53d25fd00 100644
--- a/Objet/main.py
+++ b/Objet/main.py
@@ -60,10 +60,9 @@ class Main:
                 darken_factor = 0.5 
                 self.display.frame = (self.display.frame * darken_factor).astype(np.uint8)
 
-            print(self.ui.get_brightness())
             if self.ui.is_mouse_moving():
-                self.display.draw_shape(self.ui.get_brightness())
-                self.display.draw_all_points(self.ui.get_brightness())
+                self.display.draw_shape(self.ui.brightness)
+                self.display.draw_all_points(self.ui.brightness)
             
             self.display.draw_traj()   
             self.display.display()
diff --git a/Objet/ui.py b/Objet/ui.py
index 27454af727d19eb022e46cd37ebe9b329b1dd823..aad02a27cc04009437f670ea8d8a80eecad29acc 100644
--- a/Objet/ui.py
+++ b/Objet/ui.py
@@ -31,6 +31,10 @@ class UI:
         self.touch_bar = False
         self.last_mouse_move = time.time()
         self.flag_mouse_moving = False
+        self.flag_mouse_freeze = False
+        self.phase = 'imm'
+        self.brightness = 0
+        self.time_phase = 0
 
         self.point_pp = copy.copy(self.point_defaut)
 
@@ -43,6 +47,7 @@ class UI:
         
     def move_parameters(self):
         cv2.setMouseCallback('main', self.mouse_event)
+        self.update_phase()
         self.update_bar()
         if self.setting_locked:
             self.update_linked()
@@ -55,19 +60,53 @@ class UI:
         self.point_sel.y = self.point_pp.y 
 
     def is_mouse_moving(self):
-        return time.time() - self.last_mouse_move < 0.5 or self.point_near
+        return time.time() - self.last_mouse_move < 0.6 or self.point_near
 
+    def update_phase(self):
+        if self.phase == 'imm':
+            if time.time() - self.last_mouse_move <= 0.1:
+                self.phase = 'up'
+                self.time_phase = time.time()
+            self.brightness = 0
+        elif self.phase == 'up':
+            if time.time() - self.time_phase <= 0.2:
+                self.brightness = (time.time() - self.time_phase)*5
+            else:
+                self.phase = 'mov'
+                self.brightness = 1
+                self.time_phase = time.time()
+        elif self.phase == 'mov':
+            if self.point_near:
+                self.last_mouse_move = time.time()
+            if time.time() - self.last_mouse_move >= 0.4: 
+                self.phase = 'down'
+                self.time_phase = time.time()
+            self.brightness = 1
+        elif self.phase == 'down':
+            if time.time() - self.last_mouse_move <= 0.1:
+                self.phase = 'mov'
+                self.time_phase = time.time()
+            elif time.time() - self.time_phase <= 0.2:
+                self.brightness = 1 - (time.time() - self.time_phase)*5
+            else:
+                self.phase = 'imm'
+                self.brightness = 0
+        print(self.phase, round(self.brightness, 3))
+
+            
     def get_brightness(self):
         if not self.flag_mouse_moving:
             self.mouse_begin_move = self.last_mouse_move
             self.flag_mouse_moving = True
-        if 0 <= time.time() - self.mouse_begin_move <= 0.1:
-            return (time.time() - self.mouse_begin_move)*10
-        elif time.time() - self.mouse_begin_move <= 0.5:
+        if 0 <= time.time() - self.mouse_begin_move <= 0.2:
+            return (time.time() - self.mouse_begin_move)*5
+        elif time.time() - self.last_mouse_move <= 0.4:
             return 1
-        elif 0.5 >= time.time() - self.mouse_begin_move >= 0.4:
-            return (0.5 - (time.time() - self.mouse_begin_move))*10
+        elif 0.6 >= time.time() - self.last_mouse_move >= 0.4 and not self.point_near:
+            return (0.6 - (time.time() - self.last_mouse_move))*5
         self.flag_mouse_moving = False
+        if self.point_near:
+            self.flag_mouse_moving = False
         return 1