diff --git a/TP1/BubbleCursor.py b/TP1/BubbleCursor.py
index 8e4e2618ff829170672459927ffa156142f5d3ea..49d54c06e02cbb81d3924c1d3f0c3956ccca3a2f 100644
--- a/TP1/BubbleCursor.py
+++ b/TP1/BubbleCursor.py
@@ -21,7 +21,7 @@ class BubbleCursor:
 
         for target in self.targets:
             distance = ((self.x - target.x) ** 2 + (self.y - target.y) ** 2) ** 0.5  # cf. Theoreme de Pythagore
-            distance = distance - target.size/2 # Prendre la distance avec le contour du cercle et pas le centre
+            distance = distance - target.size/2  # Prendre la distance avec le contour du cercle et pas le centre
             if distance < min_distance:
                 min_distance = distance
                 self.closest = target
diff --git a/TP1/BubbleWidget.py b/TP1/BubbleWidget.py
index 8a47450322250f386464f32e11ae63f3ad43302c..1f1c20d3de186a777eb8e829e9cfc920d8d582b8 100644
--- a/TP1/BubbleWidget.py
+++ b/TP1/BubbleWidget.py
@@ -1,4 +1,4 @@
-import csv
+import csv, random, time
 from PyQt5.QtGui import QPainter
 from PyQt5.QtWidgets import QWidget
 from Target import Target
@@ -11,6 +11,8 @@ class BubbleWidget(QWidget):
         self.loadTargets()
         self.cursor = BubbleCursor(self.targets)
         self.setMouseTracking(True)
+        self.start_time = None
+        self.selectRandomTarget()
 
     def loadTargets(self):
         with open('src_tp_bubble.csv', newline='') as csvfile:
@@ -29,3 +31,19 @@ class BubbleWidget(QWidget):
     def mouseMoveEvent(self, event):
         self.cursor.move(event.x(), event.y())
         self.update()
+
+    def selectRandomTarget(self):
+        if self.start_time == None:
+            self.start_time = time.time()
+        target = random.choice(self.targets)
+        target.toSelect = True
+        self.update()
+
+    def printTime(self):
+        print((time.time() - self.start_time)*1000)
+        self.start_time = None
+
+    def mousePressEvent(self, event):
+        if self.cursor.closest.click_cible():
+            self.printTime()
+            self.selectRandomTarget()
diff --git a/TP1/Target.py b/TP1/Target.py
index 52f415bd6b860ece4c862777783316d83bff1a3b..7ebcc1383cdc7f6cbcb343662b0e23058a722a5d 100644
--- a/TP1/Target.py
+++ b/TP1/Target.py
@@ -24,3 +24,10 @@ class Target:
         painter.setBrush(QBrush(color))
         painter.setPen(QPen(color))
         painter.drawEllipse(int(self.x - self.size / 2), int(self.y - self.size / 2), int(self.size), int(self.size))
+
+    def click_cible(self):
+        if self.toSelect:
+            self.toSelect = False
+            return True
+        return False
+