diff --git a/src/tp04/Person.class b/src/tp04/Person.class
new file mode 100644
index 0000000000000000000000000000000000000000..02592d414b6d3ae6c53d71af1120698cfcfba52f
Binary files /dev/null and b/src/tp04/Person.class differ
diff --git a/src/tp04/Person.java b/src/tp04/Person.java
new file mode 100644
index 0000000000000000000000000000000000000000..3f7bad08b6954ab3b0b8fe59e43bcb1e16430c0e
--- /dev/null
+++ b/src/tp04/Person.java
@@ -0,0 +1,56 @@
+package tp04;
+
+public class Person
+{
+    private final int ID = 0;
+    private String forename;
+    private String name;
+
+    public Person(String f, String n)
+    {
+        this.forename=f;
+        this.name=n;
+    }
+
+    public int getID()
+    {
+        return ID;
+    }
+
+    public String getForename()
+    {
+        return forename;
+    }
+
+    public String getName()
+    {
+        return name;
+    }
+
+    public void setForename(String forename) {
+        this.forename = forename;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public boolean equals(Person p)
+    {
+        if(this == p)
+        {
+            return true;
+        }
+        if(this.ID == p.ID)
+        {
+            return true;
+        }
+        return false;
+    }
+
+    @Override
+    public String toString()
+    {
+        return this.ID + ": " + this.forename + " " + this.name;
+    }
+}
\ No newline at end of file
diff --git a/src/tp04/UsePendingCaseQueue.java b/src/tp04/UsePendingCaseQueue.java
new file mode 100755
index 0000000000000000000000000000000000000000..05bc89220d280594566c8b7f42f5a2b62b89c2b5
--- /dev/null
+++ b/src/tp04/UsePendingCaseQueue.java
@@ -0,0 +1,29 @@
+package tp04;
+
+public class UsePendingCaseQueue {
+    public static void main(String[] args) {
+        PendingCase pc1 = new PendingCase("Alice", "AAA", 1234.56);
+	    PendingCase pc2 = new PendingCase("Bruno", "BBB", 0.42);
+	    PendingCase pc3 = new PendingCase("Chloé", "CCC", 745.99); 
+	    PendingCase pc4 = new PendingCase("Denis", "DDD", 125.0); 
+		PendingCaseQueue.CAPACITY = 3;
+        PendingCaseQueue pcq = new PendingCaseQueue();
+        System.out.println("Before anything: " + pcq);
+        System.out.println("Empty? " + pcq.isEmpty() + "\tFull? " + pcq.isFull());
+        pcq.addOne(pc1);
+        pcq.addOne(pc2);
+        System.out.println("After addition of pc1 and pc2: " + pcq);
+        System.out.println("Empty? " + pcq.isEmpty() + "\tFull? " + pcq.isFull());
+        pcq.addOne(pc3);
+        System.out.println("After addition of pc3: " + pcq);
+        System.out.println("Empty? " + pcq.isEmpty() + "\tFull? " + pcq.isFull());
+		pcq.addOne(pc4);
+        System.out.println("After addition of pc4: \t" + pcq);
+        pcq.removeOne();
+        System.out.println("After a removal: " + pcq);
+        pcq.addOne(pc1);
+        System.out.println("After addition of pc1: " + pcq);
+        pcq.clear();
+        System.out.println("After clearing: " + pcq);
+    }
+}
diff --git a/src/tp04/UsePerson.class b/src/tp04/UsePerson.class
new file mode 100644
index 0000000000000000000000000000000000000000..d4fcca8b588dbf16b23b11425258252b906e65d7
Binary files /dev/null and b/src/tp04/UsePerson.class differ
diff --git a/src/tp04/UsePerson.java b/src/tp04/UsePerson.java
new file mode 100644
index 0000000000000000000000000000000000000000..aaf0940b6992750d3a04a452c724321088aee4f9
--- /dev/null
+++ b/src/tp04/UsePerson.java
@@ -0,0 +1,28 @@
+package tp04;
+
+public class UsePerson {
+	public static void main(String[] args) {
+		Person alice = new Person("Alice", "A");
+		Person bruno = new Person("Bruno", "B");
+		Person autre = alice;
+		boolean testsOK = true;
+		// test des getters
+		if(!alice.getForename().equals("Alice") || !alice.getName().equals("A") || !bruno.getForename().equals("Bruno") || !bruno.getName().equals("B") || !autre.getForename().equals("Alice") || !autre.getName().equals("A")) {
+			System.out.println("Erreur de méthodes GET");
+			testsOK = false;
+		}
+		// test des setters
+		alice.setForename("Anatole");
+		bruno.setName("BB");
+		if(!alice.getForename().equals("Anatole") || !alice.getName().equals("A") || !bruno.getForename().equals("Bruno") || !bruno.getName().equals("BB") || !autre.getForename().equals("Anatole") || !autre.getName().equals("A")) {
+			System.out.println("Erreur de méthodes SET");
+			testsOK = false;
+		}
+		// test du equals
+		if(alice.equals(bruno) || !alice.equals(autre)) {
+			System.out.println("Erreur de méthode equals");
+			testsOK = false;
+		}
+		if(testsOK) System.out.println("Tests de UsePerson réussis !");
+	}
+}