diff --git a/README.md b/README.md
index de9149a426105e4ff1559956523d82a14f224a4d..c999e0a8bce7a4b538448698b2f42cc6e8b33772 100644
--- a/README.md
+++ b/README.md
@@ -33,6 +33,7 @@ Ce TimerThread permettra de déclencher la mise à jour des horloges qui affiche
 
 ```java
 public class TimerThread extends Thread {
+  @Override
   public void run(){
     while (true) {
       try {
@@ -46,18 +47,15 @@ public class TimerThread extends Thread {
 }
 ```
 
-Le thread s’utilise de cette façon : `new TimerThread().start();` et boucle sans fin
-en faisant une action (que vous devez définir) chaque seconde.
+Le thread s’utilise de cette façon : `new TimerThread().start();` (ce qui provoque l'appel à la méthode `void run()`) et boucle sans fin
+en faisant une action (que **vous** devez définir) chaque seconde.
 
-Faites deux chronomètres, qui se mettent à jour toutes les secondes.
+On souhaite instancier deux chronomètres, qui se mettent à jour toutes les secondes.
 Ces deux chronomètres utiliseront le même Timer mais auront des temps écoulés différents (par simplicité, vous pouvez juste les initialiser à des valeurs différentes.
-Commencez avec deux chronomètres console qui affiche simplement leur nom et le nombre de secondes écoulé en boucle.
 
 
 ![Diagrame UML des chronomètres et du Timer à implémenter](documentation/umlChronometreObserver.png)
 
-Note: Des tests sont fournis dans le projet pour que vous vous assuriez que vos classes fonctionnent comme attendu.
-Respectez les noms des packages, classes et méthodes
 
 **Q1.2** Pour l’implémentation de Timer, on s’aperçoit d’un problème d’héritage.
 Quelles sont les deux classes dont ce Timer devrait hériter ?
@@ -72,9 +70,26 @@ public class Timer
   public void stopRunning()
   ...
 ```
+Note: Des tests sont fournis dans le projet pour que vous vous assuriez que vos classes fonctionnent comme attendu.
+Respectez les noms des packages, classes et méthodes
+
+**Q1.4** 
+Lors des épreuves de course sportive, il n'est pas rare d'afficher en parallèle le chronomètre de l'étape et celui du temps total.
+Dans cette idée, écrivez un main avec deux chronomètres console qui affichent simplement leur nom et le nombre de secondes écoulées en boucle, l'un démarrant à zéro, l'autre à une valeur saisie au départ.
+On doit par exemple pouvoir dérouler le scénario suivant :
+
+```
+Temps chrono total (en secondes) : *3247*
+etape : 1
+total : 3248
+etape : 2
+total : 3249
+...
+```
 
 **Optionnel** Implémentez un chronomètre en JavaFX qui affiche le nombre de secondes écoulées.
-Dans ce cas, notez que l'affichage JavaFX se fait dans un *thread* spécifique.
+Une classe MainExample est là au besoin pour vous servir de base et commencer par vérifier la bonne configuration de JavaFX.
+Notez que l'affichage JavaFX se fait dans un *thread* spécifique.
 Pour que votre chronomètre JavaFX fonctionne, toute modification de l'affichage déclencée par un autre *thread* (ici le Timer) doit être fait par l'intermédiaire d'un appel à `javafx.application.Platform.runLater`,
 Par exemple par une lambda telle que ceci :
 
@@ -93,8 +108,8 @@ La monodirectionnelle propage les changement d’une propriété (« source »
 Ce sont des mécanismes pratiques mais qui obligent à importer JavaFX ce qui n’est pas toujours souhaitable dans un projet.
 Vous devez réimplémenter ces mécanismes des propriétés.
 
-**Q2.1** Créez la classe ObservableProperty qui soit observable.
-Outre le fait qu'elle soit observable (attache, detach), cette classe doit avoir une propriété à laquelle on peut accéder :
+**Q2.1** Rendez la classe ObservableProperty observable.
+Outre le fait qu'elle soit observable (attach, detach), cette classe doit avoir une propriété à laquelle on peut accéder :
 
 ```java
 package fr.univlille.iut.r304.tp4.q2;
@@ -120,3 +135,5 @@ public class ConnectableProperty extends ObservableProperty
   public void unconnectFrom(ConnectableProperty other)
   ...
 ```
+
+**QBonus** : Dans la partie 1 du sujet, ajouter un bouton permettant d'arrêter et redémarrer un chronomètre en particulier à tout moment.
diff --git a/src/main/java/fr/univlille/iut/r304/tp4/q1/Timer.java b/src/main/java/fr/univlille/iut/r304/tp4/q1/Timer.java
index fa4b709458728325c4d08a467cd9f9ac14b3fc75..8e94ac11444ee251a576f3e7fc909b902a4c271b 100644
--- a/src/main/java/fr/univlille/iut/r304/tp4/q1/Timer.java
+++ b/src/main/java/fr/univlille/iut/r304/tp4/q1/Timer.java
@@ -11,10 +11,12 @@ public class Timer {
 
 	public void attach(Observer observer) {
 		// methode cree pour que les tests compilent sans erreur
+		// n'est pas censée rester une fois que vous avez fini Q1.3
 	}
 
 	public void detach(Observer observer) {
 		// methode cree pour que les tests compilent sans erreur
+		// n'est pas censée rester une fois que vous avez fini Q1.3
 	}
 
 }
diff --git a/src/main/java/fr/univlille/iut/r304/tp4/q2/ObservableProperty.java b/src/main/java/fr/univlille/iut/r304/tp4/q2/ObservableProperty.java
index cd462a276ce8385845bd14db0db89809dc540cad..5a6cce8dc9b07057f556a603d71a01756f4babe5 100644
--- a/src/main/java/fr/univlille/iut/r304/tp4/q2/ObservableProperty.java
+++ b/src/main/java/fr/univlille/iut/r304/tp4/q2/ObservableProperty.java
@@ -13,10 +13,12 @@ public class ObservableProperty {
 
 	public void attach(Observer observer) {
 		// methode cree pour que les tests compilent sans erreur
+		// n'est pas censée rester une fois que vous avez fini Q2.1
 	}
 
 	public void detach(Observer observer) {
 		// methode cree pour que les tests compilent sans erreur
+		// n'est pas censée rester une fois que vous avez fini Q2.1
 	}
 
 }