diff --git a/.classpath b/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..bcec4dcca820f56eff32d824b1f264a7633a8ba2
--- /dev/null
+++ b/.classpath
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
+		<attributes>
+			<attribute name="module" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="lib" path="lib/tp03_res.jar"/>
+	<classpathentry kind="lib" path="lib/tp04-res.jar"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/.project b/.project
new file mode 100644
index 0000000000000000000000000000000000000000..b5f449cf8ce8213eff3f4e43179d9a47b01e0c22
--- /dev/null
+++ b/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>dev_OO</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+	<filteredResources>
+		<filter>
+			<id>1710490098766</id>
+			<name></name>
+			<type>30</type>
+			<matcher>
+				<id>org.eclipse.core.resources.regexFilterMatcher</id>
+				<arguments>node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
+			</matcher>
+		</filter>
+	</filteredResources>
+</projectDescription>
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..99f26c0203a7844de00dbfc56e6a35d8ed3c022c
--- /dev/null
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..8c9943d50cc1ad01b880ef4e85e8724e6cc19fd2
--- /dev/null
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,14 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=17
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000000000000000000000000000000000000..8c0a899d9f6965bcf9ea3638f4353ee538b9bf8d
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,5 @@
+{
+    "java.project.referencedLibraries": [
+        "lib/**/*.jar"
+    ]
+}
\ No newline at end of file
diff --git a/lib/tp04-doc.zip b/lib/tp04-doc.zip
new file mode 100644
index 0000000000000000000000000000000000000000..92e8777c9014fedcc0e73cdd42db854e99b2af4a
Binary files /dev/null and b/lib/tp04-doc.zip differ
diff --git a/src/td05/Mail.java b/src/td05/Mail.java
new file mode 100644
index 0000000000000000000000000000000000000000..da67eeaa71e415b8a5050d255ac72a406a97e209
--- /dev/null
+++ b/src/td05/Mail.java
@@ -0,0 +1,23 @@
+package td05;
+
+public class Mail
+{
+    public static final double BASIS = 0.0;
+    private boolean express = false;
+    private String address = "";
+
+    public Mail(boolean b, String s)
+    {
+
+    }
+
+    public boolean isValid()
+    {
+        return true;
+    }
+
+    public double frank()
+    {
+        return 0.0;
+    }
+}
diff --git a/src/tp01/Book.java b/src/tp01/Book.java
index ffcd5c3e4d783944568b8e1a865ae60e405e8a0c..9aab7d3ca2c17e89d819724fbeed9e5b5f362fda 100644
--- a/src/tp01/Book.java
+++ b/src/tp01/Book.java
@@ -1,3 +1,5 @@
+package tp01;
+
 class Book
 {
     // class attributes
diff --git a/src/tp01/HighScore.java b/src/tp01/HighScore.java
index 6f7873a4e3d366e60b04028445f4d911728cfb38..b5f68926c8ebbbb232add65dc45b09c3b0d61047 100644
--- a/src/tp01/HighScore.java
+++ b/src/tp01/HighScore.java
@@ -1,3 +1,5 @@
+package tp01;
+
 public class HighScore
 {   
     Score[] top;
diff --git a/src/tp01/Parameter.java b/src/tp01/Parameter.java
index 20e81b67b19cfbc35de5cdc03be1b44671d5b2a2..91cd33b85e03255e3d8f75800a74b0da1ee6b693 100644
--- a/src/tp01/Parameter.java
+++ b/src/tp01/Parameter.java
@@ -1,3 +1,5 @@
+package tp01;
+
 public class Parameter
 {
     public static void main(String[] args)
diff --git a/src/tp01/RandomSequence.java b/src/tp01/RandomSequence.java
index c6cd0eea76c08452a8fe0965c176284d8aed367b..12403cf8feaa2a106f95fb637942d59325186eb0 100644
--- a/src/tp01/RandomSequence.java
+++ b/src/tp01/RandomSequence.java
@@ -1,3 +1,5 @@
+package tp01;
+
 import java.util.Random;
 
 public class RandomSequence
diff --git a/src/tp01/Score.java b/src/tp01/Score.java
index 88e4f821e50fe632ca2dc8b84cf09caadeac5240..3974559858816e04485c2e585f40c0656fb56713 100644
--- a/src/tp01/Score.java
+++ b/src/tp01/Score.java
@@ -1,3 +1,5 @@
+package tp01;
+
 public class Score
 {
     String n = "Empty";
diff --git a/src/tp01/UseBook.java b/src/tp01/UseBook.java
index ed177ab11d9e9d8543832b434ab392041ec266e6..e00512fe8147d36a92f32f60c3546cc97a2100cf 100644
--- a/src/tp01/UseBook.java
+++ b/src/tp01/UseBook.java
@@ -1,4 +1,5 @@
-/* Classe Init Principale */
+package tp01;
+
 public class UseBook
 {
     public static void main(String[] args)
diff --git a/src/tp01/UseHighScore.java b/src/tp01/UseHighScore.java
index 16c382bb5a05453d7890f735c12334c3127331b1..6bc75b8898c28b2fcccf303c1644abcdb1d89031 100644
--- a/src/tp01/UseHighScore.java
+++ b/src/tp01/UseHighScore.java
@@ -1,3 +1,5 @@
+package tp01;
+
 public class UseHighScore
 {
     public static void main(String[] args)
diff --git a/src/tp02/Competitor.java b/src/tp02/Competitor.java
index b934245c32ef60e44ed21da8f389de38a3bdeb85..c1dbd3c4d4fa0ebdaa6b9644089cb50413c06dac 100644
--- a/src/tp02/Competitor.java
+++ b/src/tp02/Competitor.java
@@ -1,3 +1,5 @@
+package tp02;
+
 public class Competitor
 {
     private int t, s;
diff --git a/src/tp02/Dice.java b/src/tp02/Dice.java
index 83c412e22e6d0031fd4084ae0645ba9ccc988a5b..3f7f33e8a087e4314c670258dec074e064262dcc 100644
--- a/src/tp02/Dice.java
+++ b/src/tp02/Dice.java
@@ -1,3 +1,5 @@
+package tp02;
+
 import java.util.Random;
 
 public class Dice
diff --git a/src/tp02/DicePlayer.java b/src/tp02/DicePlayer.java
index 8728c757505940c04cc0d5f559465cf2542fddcf..6dca904654bdf55b08298f133ccf7f636fd82ce4 100644
--- a/src/tp02/DicePlayer.java
+++ b/src/tp02/DicePlayer.java
@@ -1,3 +1,5 @@
+package tp02;
+
 public class DicePlayer
 {
     private String nm;
diff --git a/src/tp02/NDicePlayerGame.java b/src/tp02/NDicePlayerGame.java
index eadc7266a6a4177b7ac7cd6d83770986cf96df42..140c6150c740bdc6720ae4760a4ad5281dcd2a07 100644
--- a/src/tp02/NDicePlayerGame.java
+++ b/src/tp02/NDicePlayerGame.java
@@ -1,3 +1,5 @@
+package tp02;
+
 public class NDicePlayerGame
 {
     private int acreate;
diff --git a/src/tp02/OneDicePlayerGame.java b/src/tp02/OneDicePlayerGame.java
index 1ef9b90567f88d12fd52d13183794831fbef9868..d7b0ff394c5e569b92e906a7bf79692c427034a1 100644
--- a/src/tp02/OneDicePlayerGame.java
+++ b/src/tp02/OneDicePlayerGame.java
@@ -1,3 +1,5 @@
+package tp02;
+
 public class OneDicePlayerGame
 {
     public static void main(String[] args)
diff --git a/src/tp02/TwoDicePlayerGame.java b/src/tp02/TwoDicePlayerGame.java
index 6ea8d02f61cee29d3de722edd107dcf7fbb0bb35..65e6b5a1ae2a90a53e0a4e615fa834235ed82641 100644
--- a/src/tp02/TwoDicePlayerGame.java
+++ b/src/tp02/TwoDicePlayerGame.java
@@ -1,3 +1,5 @@
+package tp02;
+
 public class TwoDicePlayerGame
 {
     DicePlayer p1, p2;
diff --git a/src/tp02/UseCompetitor.java b/src/tp02/UseCompetitor.java
index fbd091d2bf3478fe33702c1040be784fc584f585..f5775d361aeac9588182a40e5878a7c4551937cc 100644
--- a/src/tp02/UseCompetitor.java
+++ b/src/tp02/UseCompetitor.java
@@ -1,3 +1,5 @@
+package tp02;
+
 public class UseCompetitor {
 	public static void main(String[] args)
 	{
diff --git a/src/tp03/Card.java b/src/tp03/Card.java
index dffbbcfb2274cc7b419eb54b1e24581d044ed48e..dbaa1039340d8c263ee8ed6742bb5e147d6288b8 100644
--- a/src/tp03/Card.java
+++ b/src/tp03/Card.java
@@ -1,4 +1,4 @@
-package src.tp03;
+package tp03;
 
 public class Card
 {
diff --git a/src/tp03/Color.java b/src/tp03/Color.java
index 1d133f92e9f36f41bdb87f74e9954684ba124547..5d640e2a15f0d3c6f07ba12d37bd9f1c5d9b26b8 100644
--- a/src/tp03/Color.java
+++ b/src/tp03/Color.java
@@ -1,4 +1,4 @@
-package src.tp03;
+package tp03;
 
 public enum Color
 {
diff --git a/src/tp03/Rank.java b/src/tp03/Rank.java
index aad78c653106a55e6bbedff068f5043b79f5f9fd..eb4861cbeeaec566dbf97cccba9de798f3a6e27f 100644
--- a/src/tp03/Rank.java
+++ b/src/tp03/Rank.java
@@ -1,4 +1,4 @@
-package src.tp03;
+package tp03;
 
 public enum Rank
 {
diff --git a/src/tp03/UseCard.java b/src/tp03/UseCard.java
index 8819ac0b3ca36a82bf3fdd932545863cb539845c..c7144ff58f9a6825bfc269cec85780d5fc9830b2 100755
--- a/src/tp03/UseCard.java
+++ b/src/tp03/UseCard.java
@@ -1,4 +1,4 @@
-package src.tp03;
+package tp03;
 
 public class UseCard {
     public static void main(String[] args) {
diff --git a/src/tp03/UseLocalDate.java b/src/tp03/UseLocalDate.java
index d4a44e64a9bfe9772db0060e2726e280f0a1854e..091c49f4912f3940a1e2e0b7cac19ce68e13e306 100644
--- a/src/tp03/UseLocalDate.java
+++ b/src/tp03/UseLocalDate.java
@@ -1,4 +1,4 @@
-package src.tp03;
+package tp03;
 
 import java.time.Instant;
 import java.time.LocalDate;
diff --git a/src/tp04/UsePendingCaseQueue.java b/src/tp04/UsePendingCaseQueue.java
index 05bc89220d280594566c8b7f42f5a2b62b89c2b5..a00c60cea385624beaea575ff8cde011968b7095 100755
--- a/src/tp04/UsePendingCaseQueue.java
+++ b/src/tp04/UsePendingCaseQueue.java
@@ -2,7 +2,7 @@ package tp04;
 
 public class UsePendingCaseQueue {
     public static void main(String[] args) {
-        PendingCase pc1 = new PendingCase("Alice", "AAA", 1234.56);
+      /*  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); 
@@ -24,6 +24,6 @@ public class UsePendingCaseQueue {
         pcq.addOne(pc1);
         System.out.println("After addition of pc1: " + pcq);
         pcq.clear();
-        System.out.println("After clearing: " + pcq);
+        System.out.println("After clearing: " + pcq);*/ //C PAS FINI MA COUILLE
     }
 }
diff --git a/src/tp05/Main.java b/src/tp05/Main.java
new file mode 100644
index 0000000000000000000000000000000000000000..afa2addee5e42e2d98066f702bdfbd7022bf7651
--- /dev/null
+++ b/src/tp05/Main.java
@@ -0,0 +1,8 @@
+package tp05;
+
+public class Main {
+	public static void main(String[] args) {
+		System.out.println("Ok");
+		System.out.println("Oui");
+	}
+}