diff --git a/Objet/__pycache__/display.cpython-311.pyc b/Objet/__pycache__/display.cpython-311.pyc
index 696fe0c14ae595903f24b7cb38ee0af0fa6dd156..47c03061a540418584efdf3d7ea6e7fdba203caa 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 124c2c9480caed225c6d0dfdae008f8d71ba09c3..23521c0e6553991526708d81d478d2fe60dcd60c 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 19264a5c389d48d0c0d2bad8fb832f43da817c38..9997445863ed0721673cbb0b8a9d416fd5347fe2 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 0c531f6e5aff67b0bd8815cfaeca7a7868e32057..9f56049622caeb7b188824a768688d08eaa6bf5b 100644
Binary files a/Objet/__pycache__/ui.cpython-311.pyc and b/Objet/__pycache__/ui.cpython-311.pyc differ
diff --git a/Objet/display.py b/Objet/display.py
index f733da11f820b58551cdceb8ee738cc39a8c445e..60f08b51a7e2833d5d21eb794b382b7c6e1d32ae 100644
--- a/Objet/display.py
+++ b/Objet/display.py
@@ -32,18 +32,23 @@ class Display():
     def unprocessed_frame_copy(self):
         return self.unprocessed_frame.copy()
     
-    def draw_all_points(self):
+    def draw_all_points(self, brightness = 1):
+        background = self.frame.copy()
         for point in self.param.interesting_points:
             if point.name != "curs" and point.name != "bar_point_left" and point.name != "bar_point_right":
                 self.draw_point(point)
+        self.frame = cv2.addWeighted(background, 1 - brightness, self.frame, brightness, 0)
+
+        
     
     def draw_point(self, point):
         cv2.circle(self.frame, point.pos_int(), 3, point.color, 3)
 
-    def draw_shape(self, param_list = ["net", "ant", "wind", "height", "bar"]):
+    def draw_shape(self, brightness = 1, param_list = ["net", "ant", "wind", "height", "bar"]):
         def get_point(name):
             return self.param.get_point(name)
-
+        
+        background = self.frame.copy()
         for shape in param_list:
             if shape == "net":
                 self.draw_line(get_point("ant_bl"), get_point("ant_br"), (255, 255, 0))
@@ -61,8 +66,7 @@ class Display():
                 self.draw_line(get_point("bar_point_left"), get_point("bar_point"), (0, 0, 0), 5)
                 self.draw_line(get_point("bar_point_right"), get_point("bar_point"), (100, 100, 100), 5)
 
-                
-
+        self.frame = cv2.addWeighted(background, 1 - brightness, self.frame, brightness, 0)
 
         '''cv2.line(display.frame, (0, int(info[5])), (s_w, int(info[5])), (255, 255, 255), 2)
         cv2.putText(display.frame, "Hauteur de mire : " + str(round(hau_mire, 1)),(0, 20), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 0), 2)
@@ -88,7 +92,8 @@ class Display():
         self.draw_line(point3, point4, color)
         self.draw_line(point4, point1, color)
 
-    
+    def display(self):
+        cv2.imshow('main', self.frame)
     
     
 if __name__ == "__main__":
diff --git a/Objet/gestion_clavier.py b/Objet/gestion_clavier.py
index 84baf098bfe6fe06bcd58ad6784585a44f1566c6..5de197301b1184147a28c265814e97c9811662f0 100644
--- a/Objet/gestion_clavier.py
+++ b/Objet/gestion_clavier.py
@@ -1,6 +1,6 @@
 import subprocess
 
-def update(key, vid_mana, session, ui, prev_mode, mode):
+def update(key, vid_mana, session, ui, param, prev_mode, mode):
     if key == ord('q'):
         return "over", "over"
     if key == ord('s'):
@@ -24,6 +24,9 @@ def update(key, vid_mana, session, ui, prev_mode, mode):
     
     if key == 13:
         ui.change_setting_mode()
+    
+    if key == 27:
+        param.change_window_mode()
         
 
     return prev_mode, mode
diff --git a/Objet/main.py b/Objet/main.py
index 95bada3bda58a81d8fad9b45f169eb729de7f8e9..07664f73bdd885ee20a6a4e9eb293c3fd6ef4dfc 100644
--- a/Objet/main.py
+++ b/Objet/main.py
@@ -42,7 +42,7 @@ class Main:
         while self.mode != "over":
             self.display.load_frame(self.vid_mana.frame)
             key = cv2.waitKey(1) & 0xFF 
-            self.prev_mode, self.mode = gc.update(key, self.vid_mana, self.session, self.ui, self.prev_mode, self.mode)    
+            self.prev_mode, self.mode = gc.update(key, self.vid_mana, self.session, self.ui, self.param, self.prev_mode, self.mode)    
             self.ui.move_parameters()    
 
             if self.mode == "video":
@@ -51,25 +51,23 @@ class Main:
                     break
                 all_ball = self.im_proc.get_all_ball(self.vid_mana.frame)
                 self.traj.update(all_ball) 
-            
                 if self.traj.is_over:
                     self.session.load_traj(self.traj)
                     self.traj = Trajectory(self.param)
                     self.display.load_traj(self.traj)
                     self.session.next_video()
-
-            self.display.draw_traj()   
-
-            if self.mode == "parameters":
+            elif self.mode == "parameters":
                 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.display.draw_all_points()
-
-            cv2.imshow('main', self.display.frame)
-            self.session.load(self.display.frame)
+                self.display.draw_shape(self.ui.get_brightness())
+                self.display.draw_all_points(self.ui.get_brightness())
+            
+            self.display.draw_traj()   
+            self.display.display()
+            #self.session.load(self.display.frame)
             #cv2.imshow('main', im_proc.processed_frame_difference)
 
         cv2.destroyAllWindows()
diff --git a/Objet/parameters.py b/Objet/parameters.py
index dea29ba671d6343cbb3a0a4b3b56ea8aaeacaeae..3d7fe79f5ea77557574d6c9a9c4f05f02715142e 100644
--- a/Objet/parameters.py
+++ b/Objet/parameters.py
@@ -13,6 +13,7 @@ class Parameters:
         screen = screeninfo.get_monitors()[0]
         self.width = screen.width
         self.height = screen.height
+        self.mode = "full"
         
         # Liste des points intéressants
         self.interesting_points = [
@@ -39,6 +40,13 @@ class Parameters:
 
         self.ant_height = self.get_point("net").y - self.get_point("ant_tl").y
 
+    def change_window_mode(self):
+        if self.mode == "full":
+            cv2.setWindowProperty('main', cv2.WND_PROP_FULLSCREEN, cv2.WINDOW_NORMAL)
+            self.mode = "normal"
+        else:
+            cv2.setWindowProperty('main', cv2.WND_PROP_FULLSCREEN, cv2.WINDOW_FULLSCREEN)
+            self.mode = "full"
 
     def get_point(self, name):
         for point in self.interesting_points:
diff --git a/Objet/ui.py b/Objet/ui.py
index 6d14687bdcf7593791e61f0033363b5b9776e327..cc0275b876ebce3061315ba745b44a1754ee2137 100644
--- a/Objet/ui.py
+++ b/Objet/ui.py
@@ -55,8 +55,15 @@ class UI:
 
     def is_mouse_moving(self):
         return time.time() - self.last_mouse_move < 0.5 or self.point_near
-            
 
+    def get_brightness(self):
+        if 0 <= time.time() - self.last_mouse_move <= 0.1:
+            return (time.time() - self.last_mouse_move)*10
+        if 0.5 >= time.time() - self.last_mouse_move >= 0.4:
+            return (0.5 - (time.time() - self.last_mouse_move))*10
+        return 1
+            
+        
     def set_bar(self, x): 
         self.vid_mana.current_frame = int((x - self.bar_left) * self.vid_mana.total_frames / (self.bar_right - self.bar_left))
         self.vid_mana.start_time = time.time() - self.vid_mana.current_frame / self.vid_mana.fps