diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..e10e727be5ce2dc48c7d4d86a401a2744e73c8c1
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/.metadata/
diff --git a/serveurFTP/src/main/java/sr/projet2/Server/ConnectionServer.java b/serveurFTP/src/main/java/sr/projet2/Server/ConnectionServer.java
index 680d39ac0def9f51280b2ab0f27377120be61afe..5827d076f95e412e3801c975c02392b41c7074bf 100644
--- a/serveurFTP/src/main/java/sr/projet2/Server/ConnectionServer.java
+++ b/serveurFTP/src/main/java/sr/projet2/Server/ConnectionServer.java
@@ -37,6 +37,9 @@ public class ConnectionServer {
 		}
 		
 	}
+	public ServerSocket getServ() {
+		return this.srvSckt;
+	}
 	public void serverConnect() throws IOException {
 		try {
 		Socket socket=this.srvSckt.accept();
diff --git a/serveurFTP/src/test/java/sr/projet2/TestAuth_SSL.java b/serveurFTP/src/test/java/sr/projet2/TestAuth_SSL.java
new file mode 100644
index 0000000000000000000000000000000000000000..70008c41d77691dcb1a73e034b3495829fc49e9a
--- /dev/null
+++ b/serveurFTP/src/test/java/sr/projet2/TestAuth_SSL.java
@@ -0,0 +1,37 @@
+package sr.projet2;
+
+import static org.junit.Assert.*;
+
+import java.io.IOException;
+import java.net.Socket;
+
+import org.junit.Test;
+
+import sr.projet2.Request.AUTH_SSL;
+import sr.projet2.Request.USER;
+import sr.projet2.Server.ConnectionServer;
+import sr.projet2.Server.FtpConnexion;
+
+public class TestAuth_SSL {
+
+	@Test(expected = java.lang.NullPointerException.class)
+	public void test_SSL_exception() throws IOException {
+		Socket socket = null;//declencher l'exception
+		FtpConnexion ftp= new FtpConnexion(socket);
+		AUTH_SSL ssl = new AUTH_SSL(ftp);
+		ssl.send();
+	
+	}
+	
+	public void test_SSL() throws IOException {
+		ConnectionServer server = new ConnectionServer(2020);
+		Socket socket = server.getServ().accept();
+		FtpConnexion ftp= new FtpConnexion(socket);
+		AUTH_SSL ssl = new AUTH_SSL(ftp);
+		ssl.send();
+	
+	}
+	
+
+
+}
diff --git a/serveurFTP/src/test/java/sr/projet2/TestAuth_TLS.java b/serveurFTP/src/test/java/sr/projet2/TestAuth_TLS.java
new file mode 100644
index 0000000000000000000000000000000000000000..077a51bd792322ff2bea10fe821b6bac4c0b36d0
--- /dev/null
+++ b/serveurFTP/src/test/java/sr/projet2/TestAuth_TLS.java
@@ -0,0 +1,33 @@
+package sr.projet2;
+
+import static org.junit.Assert.*;
+
+import java.io.IOException;
+import java.net.Socket;
+
+import org.junit.Test;
+
+import sr.projet2.Request.AUTH_SSL;
+import sr.projet2.Request.AUTH_TLS;
+import sr.projet2.Server.ConnectionServer;
+import sr.projet2.Server.FtpConnexion;
+
+public class TestAuth_TLS {
+
+	@Test(expected = IOException.class)
+	public void test_TLS() throws IOException {
+		ConnectionServer server = new ConnectionServer(2020);
+		Socket socket = server.getServ().accept();
+		FtpConnexion ftp= new FtpConnexion(socket);
+		AUTH_TLS tls = new AUTH_TLS(ftp);
+		tls.send();
+	}
+	@Test(expected = java.lang.NullPointerException.class)
+	public void testTLS_Null_server() throws IOException {
+		Socket socket = null;
+		FtpConnexion ftp= new FtpConnexion(socket);
+		AUTH_TLS tls = new AUTH_TLS(ftp);
+		tls.send();
+	}
+
+}
diff --git a/serveurFTP/src/test/java/sr/projet2/TestCWD.java b/serveurFTP/src/test/java/sr/projet2/TestCWD.java
new file mode 100644
index 0000000000000000000000000000000000000000..93ad3c5021b625faf07c7841fa0fe10627de9fca
--- /dev/null
+++ b/serveurFTP/src/test/java/sr/projet2/TestCWD.java
@@ -0,0 +1,26 @@
+package sr.projet2;
+
+import static org.junit.Assert.*;
+
+import java.io.IOException;
+import java.net.Socket;
+
+import org.junit.Test;
+
+import sr.projet2.Request.CDUP;
+import sr.projet2.Request.CWD;
+import sr.projet2.Server.ConnectionServer;
+import sr.projet2.Server.FtpConnexion;
+
+public class TestCWD {
+
+	@Test(expected = IOException.class)
+	public void testCWD() throws IOException {
+		ConnectionServer ConnSer = new ConnectionServer(2020);
+		Socket socket = null;//declencher l'exception
+		FtpConnexion ftp= new FtpConnexion(socket);
+		CWD cwd = new CWD(ftp,"doc");
+		cwd.send();
+	}
+
+}
diff --git a/serveurFTP/src/test/java/sr/projet2/TestFEAT.java b/serveurFTP/src/test/java/sr/projet2/TestFEAT.java
new file mode 100644
index 0000000000000000000000000000000000000000..11878c902855df1e1f6d6544bb4e65b546bfa917
--- /dev/null
+++ b/serveurFTP/src/test/java/sr/projet2/TestFEAT.java
@@ -0,0 +1,26 @@
+package sr.projet2;
+
+import static org.junit.Assert.*;
+
+import java.io.IOException;
+import java.net.Socket;
+
+import org.junit.Test;
+
+import sr.projet2.Request.CDUP;
+import sr.projet2.Request.FEAT;
+import sr.projet2.Server.ConnectionServer;
+import sr.projet2.Server.FtpConnexion;
+
+public class TestFEAT {
+
+	@Test(expected = IOException.class)
+	public void test() throws IOException {
+		ConnectionServer ConnSer = new ConnectionServer(2020);
+		Socket socket = null;//declencher l'exception
+		FtpConnexion ftp= new FtpConnexion(socket);
+		FEAT feat= new FEAT(ftp);
+		feat.send();
+	}
+
+}
diff --git a/serveurFTP/src/test/java/sr/projet2/TestLIST.java b/serveurFTP/src/test/java/sr/projet2/TestLIST.java
new file mode 100644
index 0000000000000000000000000000000000000000..afbe62fb201c8c7f9c5b0fd68b44a6fa3bdfed85
--- /dev/null
+++ b/serveurFTP/src/test/java/sr/projet2/TestLIST.java
@@ -0,0 +1,26 @@
+package sr.projet2;
+
+import static org.junit.Assert.*;
+
+import java.io.IOException;
+import java.net.Socket;
+
+import org.junit.Test;
+
+import sr.projet2.Request.CDUP;
+import sr.projet2.Request.LIST;
+import sr.projet2.Server.ConnectionServer;
+import sr.projet2.Server.FtpConnexion;
+
+public class TestLIST {
+
+	@Test(expected = IOException.class)
+	public void testLIST() throws IOException {
+		ConnectionServer ConnSer = new ConnectionServer(2020);
+		Socket socket = null;//declencher l'exception
+		FtpConnexion ftp= new FtpConnexion(socket);
+		LIST list = new LIST(ftp);
+		list.send();
+	}
+
+}
diff --git a/serveurFTP/src/test/java/sr/projet2/TestPASS.java b/serveurFTP/src/test/java/sr/projet2/TestPASS.java
new file mode 100644
index 0000000000000000000000000000000000000000..746ddcc35ebafe49aac2a41a362910f5d30b439b
--- /dev/null
+++ b/serveurFTP/src/test/java/sr/projet2/TestPASS.java
@@ -0,0 +1,26 @@
+package sr.projet2;
+
+import static org.junit.Assert.*;
+
+import java.io.IOException;
+import java.net.Socket;
+
+import org.junit.Test;
+
+import sr.projet2.Request.LIST;
+import sr.projet2.Request.PASS;
+import sr.projet2.Server.ConnectionServer;
+import sr.projet2.Server.FtpConnexion;
+
+public class TestPASS {
+
+	@Test(expected = IOException.class)
+	public void test() throws IOException {
+		ConnectionServer ConnSer = new ConnectionServer(2020);
+		Socket socket = null;//declencher l'exception
+		FtpConnexion ftp= new FtpConnexion(socket);
+		PASS pass = new PASS(ftp,"test");
+		pass.send();
+	}
+
+}
diff --git a/serveurFTP/src/test/java/sr/projet2/TestPASV.java b/serveurFTP/src/test/java/sr/projet2/TestPASV.java
new file mode 100644
index 0000000000000000000000000000000000000000..5fb95973d8d363885f2c2a772ec53a2fe10e3458
--- /dev/null
+++ b/serveurFTP/src/test/java/sr/projet2/TestPASV.java
@@ -0,0 +1,26 @@
+package sr.projet2;
+
+import static org.junit.Assert.*;
+
+import java.io.IOException;
+import java.net.Socket;
+
+import org.junit.Test;
+
+import sr.projet2.Request.PASS;
+import sr.projet2.Request.PASV;
+import sr.projet2.Server.ConnectionServer;
+import sr.projet2.Server.FtpConnexion;
+
+public class TestPASV {
+
+	@Test(expected = IOException.class)
+	public void test() throws IOException {
+		ConnectionServer ConnSer = new ConnectionServer(2020);
+		Socket socket = null;//declencher l'exception
+		FtpConnexion ftp= new FtpConnexion(socket);
+		PASV pass = new PASV(ftp);
+		pass.send();
+	}
+
+}
diff --git a/serveurFTP/src/test/java/sr/projet2/TestPWD.java b/serveurFTP/src/test/java/sr/projet2/TestPWD.java
new file mode 100644
index 0000000000000000000000000000000000000000..aac91b93a8f43982166564dcee718a5ceb83e712
--- /dev/null
+++ b/serveurFTP/src/test/java/sr/projet2/TestPWD.java
@@ -0,0 +1,26 @@
+package sr.projet2;
+
+import static org.junit.Assert.*;
+
+import java.io.IOException;
+import java.net.Socket;
+
+import org.junit.Test;
+
+import sr.projet2.Request.PASV;
+import sr.projet2.Request.PWD;
+import sr.projet2.Server.ConnectionServer;
+import sr.projet2.Server.FtpConnexion;
+
+public class TestPWD {
+
+	@Test(expected = IOException.class)
+	public void test() throws IOException {
+		ConnectionServer ConnSer = new ConnectionServer(2020);
+		Socket socket = null;//declencher l'exception
+		FtpConnexion ftp= new FtpConnexion(socket);
+		PWD pass = new PWD(ftp);
+		pass.send();
+	}
+
+}
diff --git a/serveurFTP/src/test/java/sr/projet2/TestTYPE.java b/serveurFTP/src/test/java/sr/projet2/TestTYPE.java
new file mode 100644
index 0000000000000000000000000000000000000000..e391c6021c4d9c889165faacce1ed05ab25cbb7d
--- /dev/null
+++ b/serveurFTP/src/test/java/sr/projet2/TestTYPE.java
@@ -0,0 +1,26 @@
+package sr.projet2;
+
+import static org.junit.Assert.*;
+
+import java.io.IOException;
+import java.net.Socket;
+
+import org.junit.Test;
+
+import sr.projet2.Request.PWD;
+import sr.projet2.Request.TYPE;
+import sr.projet2.Server.ConnectionServer;
+import sr.projet2.Server.FtpConnexion;
+
+public class TestTYPE {
+
+	@Test(expected = IOException.class)
+	public void test() throws IOException {
+		ConnectionServer ConnSer = new ConnectionServer(2020);
+		Socket socket = null;//declencher l'exception
+		FtpConnexion ftp= new FtpConnexion(socket);
+		TYPE pass = new TYPE(ftp,"test");
+		pass.send();
+	}
+
+}
diff --git a/serveurFTP/src/test/java/sr/projet2/TestUser.java b/serveurFTP/src/test/java/sr/projet2/TestUser.java
new file mode 100644
index 0000000000000000000000000000000000000000..f4b1e3a8bd0fc607461a2b1ab5bcedd7d8818862
--- /dev/null
+++ b/serveurFTP/src/test/java/sr/projet2/TestUser.java
@@ -0,0 +1,39 @@
+package sr.projet2;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+import sr.projet2.Server.ConnectionServer;
+import sr.projet2.Server.FtpConnexion;
+import sr.projet2.Request.*;
+import static org.junit.Assert.*;
+
+import java.io.IOException;
+import java.net.Socket;
+
+import org.junit.Test;
+public class TestUser {
+
+
+	
+	@Test(expected = IOException.class)
+	public void testUserException() throws IOException {
+		ConnectionServer ConnSer = new ConnectionServer(2020);
+		Socket socket = null;//ConnSer.getServ().accept();
+		FtpConnexion ftp= new FtpConnexion(socket);
+		USER user = new USER (ftp,"anonymous");
+		user.send();
+
+	}
+	@Test(expected = IOException.class)
+	public void testUser() throws IOException {
+		ConnectionServer server=new ConnectionServer(2020);
+		Socket socket = server.getServ().accept();
+		FtpConnexion ftp= new FtpConnexion(socket);
+		USER user = new USER (ftp,"anonymous");
+		user.send();
+	}
+
+	
+
+}
diff --git a/serveurFTP/src/test/java/sr/projet2/testCDUP.java b/serveurFTP/src/test/java/sr/projet2/testCDUP.java
new file mode 100644
index 0000000000000000000000000000000000000000..6ba249895d95e17098bb64b5ffc17e28cb9878ec
--- /dev/null
+++ b/serveurFTP/src/test/java/sr/projet2/testCDUP.java
@@ -0,0 +1,26 @@
+package sr.projet2;
+
+import static org.junit.Assert.*;
+
+import java.io.IOException;
+import java.net.Socket;
+
+import org.junit.Test;
+
+import sr.projet2.Request.CDUP;
+import sr.projet2.Request.USER;
+import sr.projet2.Server.ConnectionServer;
+import sr.projet2.Server.FtpConnexion;
+
+public class testCDUP {
+
+	@Test(expected = IOException.class)
+	public void test() throws IOException {
+		ConnectionServer ConnSer = new ConnectionServer(2020);
+		Socket socket = null;//declencher l'exception
+		FtpConnexion ftp= new FtpConnexion(socket);
+		CDUP cdup = new CDUP(ftp);
+		cdup.send();
+	}
+
+}
diff --git a/serveurFTP/target/.gitignore b/serveurFTP/target/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..5eeecfe78dbd91462f702654173943f0a8d148d2
--- /dev/null
+++ b/serveurFTP/target/.gitignore
@@ -0,0 +1,2 @@
+/test-classes/
+/classes/