diff --git a/README.md b/README.md
index 086c86b2c3c3840206f95da8df365e28ac483512..1d67f2eb561d39bd8acab8b9fbec9fd48d2db994 100644
--- a/README.md
+++ b/README.md
@@ -48,7 +48,7 @@ Respectez les noms des packages, classes et méthodes
 **Q1.1** Implémentez la classe Subject et l’interface Observer
 
 ```java
-package fr.univlille.iutinfo.m3105.q1;
+package fr.univlille.iut.r304.tp4.q1;
 public abstract class Subject {
   public void attach(Observer obs)
   public void detach(Observer obs)
@@ -69,7 +69,7 @@ Quelles sont les deux classes dont ce Timer devrait hériter ?
 Implémentez aussi une classe chronomètre qui puisse être notifié par le Timer toutes les secondes et affiche le nombre de secondes écoulées.
 
 ```java
-package fr.univlille.iutinfo.m3105.q1;
+package fr.univlille.iut.r304.tp4.q1;
 public class Timer
   public void start()
   public void stopRunning()
@@ -100,7 +100,7 @@ Vous devez réimplémenter ces mécanismes des propriétés.
 Outre le fait qu'elle soit observable (attache, detach), cette classe doit avoir une propriété à laquelle on peut accéder :
 
 ```java
-package fr.univlille.iutinfo.m3105.q2;
+package fr.univlille.iut.r304.tp4.q2;
 public class ObservableProperty
   public Object getValue()
   public void setValue(Object val)
@@ -115,7 +115,7 @@ Vous pouvez aussi définir une classe générique avec un type paramétrique pou
 **Q2.2** Créez la classe ConnectableProperty qui puisse se connecter de façon  mono ou bi-directionnelle :
 
 ```java
-package fr.univlille.iutinfo.m3105.q2;
+package fr.univlille.iut.r304.tp4.q2;
 
 public class ConnectableProperty extends ObservableProperty
   public void connectTo(ConnectableProperty other)
diff --git a/src/main/java/fr/univlille/iut/r304/tp3/q1/Observer.java b/src/main/java/fr/univlille/iut/r304/tp3/q1/Observer.java
deleted file mode 100644
index 8703123cfd0e9e8f6641dc467c28b9da5ace6dea..0000000000000000000000000000000000000000
--- a/src/main/java/fr/univlille/iut/r304/tp3/q1/Observer.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package fr.univlille.iut.r304.tp3.q1;
-
-public interface Observer {
-
-}
diff --git a/src/main/java/fr/univlille/iut/r304/tp3/MainExemple.java b/src/main/java/fr/univlille/iut/r304/tp4/MainExemple.java
similarity index 95%
rename from src/main/java/fr/univlille/iut/r304/tp3/MainExemple.java
rename to src/main/java/fr/univlille/iut/r304/tp4/MainExemple.java
index ce77e8f9ce3b9f13e2281341ea0e1a705bc86f4e..db6d1689ef92b24bf28aa1dbdde2f525d2633ada 100644
--- a/src/main/java/fr/univlille/iut/r304/tp3/MainExemple.java
+++ b/src/main/java/fr/univlille/iut/r304/tp4/MainExemple.java
@@ -1,4 +1,4 @@
-package fr.univlille.iut.r304.tp3;
+package fr.univlille.iut.r304.tp4;
 
 import javafx.application.Application;
 import javafx.scene.Scene;
diff --git a/src/main/java/fr/univlille/iut/r304/tp4/q1/Observer.java b/src/main/java/fr/univlille/iut/r304/tp4/q1/Observer.java
new file mode 100644
index 0000000000000000000000000000000000000000..95162b1ac6e204a333e4b7625394f6e3b1f6a50b
--- /dev/null
+++ b/src/main/java/fr/univlille/iut/r304/tp4/q1/Observer.java
@@ -0,0 +1,5 @@
+package fr.univlille.iut.r304.tp4.q1;
+
+public interface Observer {
+
+}
diff --git a/src/main/java/fr/univlille/iut/r304/tp3/q1/Subject.java b/src/main/java/fr/univlille/iut/r304/tp4/q1/Subject.java
similarity index 85%
rename from src/main/java/fr/univlille/iut/r304/tp3/q1/Subject.java
rename to src/main/java/fr/univlille/iut/r304/tp4/q1/Subject.java
index 1a24506cec5f262f314308248e769225c62397a2..5f269f5778b0910229bf11feae7815501af80ac2 100644
--- a/src/main/java/fr/univlille/iut/r304/tp3/q1/Subject.java
+++ b/src/main/java/fr/univlille/iut/r304/tp4/q1/Subject.java
@@ -1,4 +1,4 @@
-package fr.univlille.iut.r304.tp3.q1;
+package fr.univlille.iut.r304.tp4.q1;
 
 
 public abstract class Subject {
diff --git a/src/main/java/fr/univlille/iut/r304/tp3/q1/Timer.java b/src/main/java/fr/univlille/iut/r304/tp4/q1/Timer.java
similarity index 88%
rename from src/main/java/fr/univlille/iut/r304/tp3/q1/Timer.java
rename to src/main/java/fr/univlille/iut/r304/tp4/q1/Timer.java
index 574524da23fcbed158eafa400a76a1eb687ac15b..fa4b709458728325c4d08a467cd9f9ac14b3fc75 100644
--- a/src/main/java/fr/univlille/iut/r304/tp3/q1/Timer.java
+++ b/src/main/java/fr/univlille/iut/r304/tp4/q1/Timer.java
@@ -1,4 +1,4 @@
-package fr.univlille.iut.r304.tp3.q1;
+package fr.univlille.iut.r304.tp4.q1;
 
 
 public class Timer {
diff --git a/src/main/java/fr/univlille/iut/r304/tp3/q2/ConnectableProperty.java b/src/main/java/fr/univlille/iut/r304/tp4/q2/ConnectableProperty.java
similarity index 85%
rename from src/main/java/fr/univlille/iut/r304/tp3/q2/ConnectableProperty.java
rename to src/main/java/fr/univlille/iut/r304/tp4/q2/ConnectableProperty.java
index ecfa6f28830487c4beaaf707b3a3b2a17a0691e4..ce4abe0c21e91a10b4869b1bea9f620f0fe1b2c4 100644
--- a/src/main/java/fr/univlille/iut/r304/tp3/q2/ConnectableProperty.java
+++ b/src/main/java/fr/univlille/iut/r304/tp4/q2/ConnectableProperty.java
@@ -1,4 +1,4 @@
-package fr.univlille.iut.r304.tp3.q2;
+package fr.univlille.iut.r304.tp4.q2;
 
 public class ConnectableProperty extends ObservableProperty {
 
diff --git a/src/main/java/fr/univlille/iut/r304/tp3/q2/ObservableProperty.java b/src/main/java/fr/univlille/iut/r304/tp4/q2/ObservableProperty.java
similarity index 79%
rename from src/main/java/fr/univlille/iut/r304/tp3/q2/ObservableProperty.java
rename to src/main/java/fr/univlille/iut/r304/tp4/q2/ObservableProperty.java
index e57aad137e455eb7a55518eb97233858345c30ac..cd462a276ce8385845bd14db0db89809dc540cad 100644
--- a/src/main/java/fr/univlille/iut/r304/tp3/q2/ObservableProperty.java
+++ b/src/main/java/fr/univlille/iut/r304/tp4/q2/ObservableProperty.java
@@ -1,6 +1,6 @@
-package fr.univlille.iut.r304.tp3.q2;
+package fr.univlille.iut.r304.tp4.q2;
 
-import fr.univlille.iut.r304.tp3.q1.Observer;
+import fr.univlille.iut.r304.tp4.q1.Observer;
 
 public class ObservableProperty {
 
diff --git a/src/test/java/fr/univlille/iut/r304/tp3/ObserverTestStub.java b/src/test/java/fr/univlille/iut/r304/tp4/ObserverTestStub.java
similarity index 85%
rename from src/test/java/fr/univlille/iut/r304/tp3/ObserverTestStub.java
rename to src/test/java/fr/univlille/iut/r304/tp4/ObserverTestStub.java
index 94f4360a1d19a00dccdb3115b8f2ce32f06ff986..f7eacbbd6c482174a2d8b3ae9092e280c0111828 100644
--- a/src/test/java/fr/univlille/iut/r304/tp3/ObserverTestStub.java
+++ b/src/test/java/fr/univlille/iut/r304/tp4/ObserverTestStub.java
@@ -1,7 +1,7 @@
-package fr.univlille.iut.r304.tp3;
+package fr.univlille.iut.r304.tp4;
 
-import fr.univlille.iut.r304.tp3.q1.Observer;
-import fr.univlille.iut.r304.tp3.q1.Subject;
+import fr.univlille.iut.r304.tp4.q1.Observer;
+import fr.univlille.iut.r304.tp4.q1.Subject;
 
 /** ObserverTestStub
  * Can tell whether it was notified or not
diff --git a/src/test/java/fr/univlille/iut/r304/tp3/q1/TestQ1.java b/src/test/java/fr/univlille/iut/r304/tp4/q1/TestQ1.java
similarity index 94%
rename from src/test/java/fr/univlille/iut/r304/tp3/q1/TestQ1.java
rename to src/test/java/fr/univlille/iut/r304/tp4/q1/TestQ1.java
index e3d508063299fa31876fe98b23321423afc03e39..aa6538c87fe3e1c424ebaddf17ecb537b5aa91b1 100644
--- a/src/test/java/fr/univlille/iut/r304/tp3/q1/TestQ1.java
+++ b/src/test/java/fr/univlille/iut/r304/tp4/q1/TestQ1.java
@@ -1,9 +1,10 @@
-package fr.univlille.iut.r304.tp3.q1;
+package fr.univlille.iut.r304.tp4.q1;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import fr.univlille.iut.r304.tp3.ObserverTestStub;
+import fr.univlille.iut.r304.tp4.ObserverTestStub;
+import fr.univlille.iut.r304.tp4.q1.Subject;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
diff --git a/src/test/java/fr/univlille/iut/r304/tp3/q1/TestQ3.java b/src/test/java/fr/univlille/iut/r304/tp4/q1/TestQ3.java
similarity index 92%
rename from src/test/java/fr/univlille/iut/r304/tp3/q1/TestQ3.java
rename to src/test/java/fr/univlille/iut/r304/tp4/q1/TestQ3.java
index 01e7384ff4109c1630813055c63810f5e4cc80c5..eba63ae92a52fd67b9448205097d5422f2db992a 100644
--- a/src/test/java/fr/univlille/iut/r304/tp3/q1/TestQ3.java
+++ b/src/test/java/fr/univlille/iut/r304/tp4/q1/TestQ3.java
@@ -1,10 +1,11 @@
-package fr.univlille.iut.r304.tp3.q1;
+package fr.univlille.iut.r304.tp4.q1;
 
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import fr.univlille.iut.r304.tp3.ObserverTestStub;
+import fr.univlille.iut.r304.tp4.ObserverTestStub;
+import fr.univlille.iut.r304.tp4.q1.Timer;
 
 import static org.junit.jupiter.api.Assertions.*;
 
diff --git a/src/test/java/fr/univlille/iut/r304/tp3/q2/TestQ1.java b/src/test/java/fr/univlille/iut/r304/tp4/q2/TestQ1.java
similarity index 88%
rename from src/test/java/fr/univlille/iut/r304/tp3/q2/TestQ1.java
rename to src/test/java/fr/univlille/iut/r304/tp4/q2/TestQ1.java
index 808a58dd370d8750e236019492e2753bf1922d37..595ca41066a059be31cb00ce07aca6c1880808e6 100644
--- a/src/test/java/fr/univlille/iut/r304/tp3/q2/TestQ1.java
+++ b/src/test/java/fr/univlille/iut/r304/tp4/q2/TestQ1.java
@@ -1,4 +1,4 @@
-package fr.univlille.iut.r304.tp3.q2;
+package fr.univlille.iut.r304.tp4.q2;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -7,7 +7,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import fr.univlille.iut.r304.tp3.ObserverTestStub;
+import fr.univlille.iut.r304.tp4.ObserverTestStub;
+import fr.univlille.iut.r304.tp4.q2.ObservableProperty;
 
 
 public class TestQ2_1 {
diff --git a/src/test/java/fr/univlille/iut/r304/tp3/q2/TestQ2.java b/src/test/java/fr/univlille/iut/r304/tp4/q2/TestQ2.java
similarity index 96%
rename from src/test/java/fr/univlille/iut/r304/tp3/q2/TestQ2.java
rename to src/test/java/fr/univlille/iut/r304/tp4/q2/TestQ2.java
index a3344ef11d1522b3390c6b3af96f3c81d702dd6c..98afdc78bc8f9fffe671fa26c7353f0f0bda3851 100644
--- a/src/test/java/fr/univlille/iut/r304/tp3/q2/TestQ2.java
+++ b/src/test/java/fr/univlille/iut/r304/tp4/q2/TestQ2.java
@@ -1,10 +1,12 @@
-package fr.univlille.iut.r304.tp3.q2;
+package fr.univlille.iut.r304.tp4.q2;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
+import fr.univlille.iut.r304.tp4.q2.ConnectableProperty;
+
 
 public class TestQ2_2 {
     protected ConnectableProperty p1;