From fba31209cfa025ed2d5cb3369afde7f2d34eccd9 Mon Sep 17 00:00:00 2001
From: hocine <ferhat.hocine.etu@univ-lille.fr>
Date: Thu, 4 Feb 2021 00:26:35 +0100
Subject: [PATCH] rendu final

---
 README.md                                     | 157 +++++++++++++++++-
 projet1.sr/bin/.project                       |  23 ---
 .../org.eclipse.core.resources.prefs          |   2 -
 projet1.sr/bin/pom.xml                        |  75 ---------
 .../java/systemes/repartie/tree/ftp/App.class | Bin 1134 -> 0 bytes
 .../systemes/repartie/tree/ftp/AppTest.class  | Bin 1303 -> 0 bytes
 projet1.sr/doc/Diagram.jpg                    | Bin 0 -> 54865 bytes
 projet1.sr/doc/Diagram.ucls                   |  66 ++++++++
 projet1.sr/pom.xml                            |  17 +-
 .../repartie/tree/ftp/Arbre/Arbre.java        |  28 +++-
 .../tree/ftp/FtpConnection/Connection.java    | 127 +++++++++-----
 .../java/systemes/repartie/tree/ftp/Main.java |  16 +-
 .../ConnectionParametre.java                  |  10 +-
 .../ftp/FtpConnection/ConnectionTest.java     |  37 +++++
 .../ConnectionParametreTest.java              |  28 ++++
 .../repartie/tree/ftp/Arbre/Arbre.class       | Bin 2905 -> 0 bytes
 .../tree/ftp/FtpConnection/Connection.class   | Bin 6088 -> 0 bytes
 .../systemes/repartie/tree/ftp/Main.class     | Bin 1532 -> 0 bytes
 .../ConnectionParametre.class                 | Bin 988 -> 0 bytes
 .../target/maven-archiver/pom.properties      |   4 -
 .../compile/default-compile/createdFiles.lst  |   4 -
 .../compile/default-compile/inputFiles.lst    |   4 -
 .../default-testCompile/createdFiles.lst      |   1 -
 .../default-testCompile/inputFiles.lst        |   1 -
 projet1.sr/target/projet1.sr-1.0-SNAPSHOT.jar | Bin 9174 -> 0 bytes
 ...EST-systemes.repartie.tree.ftp.AppTest.xml |  61 -------
 .../systemes.repartie.tree.ftp.AppTest.txt    |   4 -
 .../systemes/repartie/tree/ftp/AppTest.class  | Bin 499 -> 0 bytes
 28 files changed, 434 insertions(+), 231 deletions(-)
 delete mode 100644 projet1.sr/bin/.project
 delete mode 100644 projet1.sr/bin/.settings/org.eclipse.core.resources.prefs
 delete mode 100644 projet1.sr/bin/pom.xml
 delete mode 100644 projet1.sr/bin/src/main/java/systemes/repartie/tree/ftp/App.class
 delete mode 100644 projet1.sr/bin/src/test/java/systemes/repartie/tree/ftp/AppTest.class
 create mode 100644 projet1.sr/doc/Diagram.jpg
 create mode 100644 projet1.sr/doc/Diagram.ucls
 create mode 100644 projet1.sr/src/test/java/systemes/repartie/tree/ftp/FtpConnection/ConnectionTest.java
 create mode 100644 projet1.sr/src/test/java/systemes/repartie/tree/ftp/ParametreConnection/ConnectionParametreTest.java
 delete mode 100644 projet1.sr/target/classes/systemes/repartie/tree/ftp/Arbre/Arbre.class
 delete mode 100644 projet1.sr/target/classes/systemes/repartie/tree/ftp/FtpConnection/Connection.class
 delete mode 100644 projet1.sr/target/classes/systemes/repartie/tree/ftp/Main.class
 delete mode 100644 projet1.sr/target/classes/systemes/repartie/tree/ftp/ParametreConnection/ConnectionParametre.class
 delete mode 100644 projet1.sr/target/maven-archiver/pom.properties
 delete mode 100644 projet1.sr/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
 delete mode 100644 projet1.sr/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
 delete mode 100644 projet1.sr/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
 delete mode 100644 projet1.sr/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
 delete mode 100644 projet1.sr/target/projet1.sr-1.0-SNAPSHOT.jar
 delete mode 100644 projet1.sr/target/surefire-reports/TEST-systemes.repartie.tree.ftp.AppTest.xml
 delete mode 100644 projet1.sr/target/surefire-reports/systemes.repartie.tree.ftp.AppTest.txt
 delete mode 100644 projet1.sr/target/test-classes/systemes/repartie/tree/ftp/AppTest.class

diff --git a/README.md b/README.md
index db7b30e..86ffb8e 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,156 @@
-Ferhat HOCINE GL02
\ No newline at end of file
+Projet nº1 - Application «Tree FTP»
+Ferhat HOCINE GL02
+2021
+
+*** 1/ Introduction
+I)objectif:
+L'Application «Tree FTP» a pour résultat l'affichage de l'arborescence d'un répertoire accessible via le protocole applicatif (FTP) depuis un shell graçe a une commande.
+cette commande prend en paramètre obligatoirement l'adresse du serveur FTP + en option un nom d'utilisateur et un mot de passe
+
+II)exécution:
+Dans le fichier racine on exécute la commande :
+->>> mvn package      
+//pour compliler le projet
+puis la commande :
+->>> mvn javadoc:javadoc
+//pour générer la documentation:
+puis la commande :
+java -jar target/projet1.sr-1.0-SNAPSHOT.jar ftp.ubuntu.com
+//pour lancer l'application sur le server FTP ubuntu 
+ou la commande :
+java -jar target/projet1.sr-1.0-SNAPSHOT.jar ftp.free.fr
+//pour le server FTP Free
+
+
+*** 2/ Architecture
+la gestion d'erreur:
+La plus part des méthodes de la classe connection renvoie IOException avec un message en cas d'erreur.
+exemple:
+la méthode envoyerPWD() qui envoie la commande "PWD"
+
+	public void envoyerPWD()  throws IOException {
+		if (this.socket==null) {
+			System.out.println("Erreur connection FTP Server !!");
+		}
+		else {
+		printer.write("PWD\r\n");
+		printer.flush();
+		try {
+		String r = this.bfR.readLine();
+		}
+		catch(IOException e) {
+			throw new IOException("Buffer reader error");
+		}
+		}
+	}
+	
+Dans la méthode envoyerPWD lors de la lecture de la réponse par le buffer reader en cas de IOException il sera attraper par le catch et renvera un new IOException avec le message "Buffer reader error".
+la capture d'erreure est de même pour toutes les méthode de la classe connection
+
+
+*** 3/ Parcours du code (code samples)
+
+
+a) la méthode envoyerCWD(String dossier) de la classe Connection::
+
+cette méthode utilise le String dossier passé en paramètre pour envoyé un cammande  CWD +dossier afin de savoir si on peut accédé ou dossier dant le nom est passé en paramètre ou l'accès est interdit et la réponse est renvoyé sous forme de boolean par la méthode.
+	
+	public boolean envoyerCWD(String dossier) throws IOException  {
+		if (this.socket==null) {
+			System.out.println("Erreur connection FTP Server !!");
+		}
+		else {
+			try {
+				printer.write("CWD "+dossier+"\r\n");
+				printer.flush();
+				String r = this.bfR.readLine();
+				return r.startsWith("250");
+				
+				}
+				catch(IOException e) {
+						throw new IOException("Buffer reader error");
+					}
+				catch (NullPointerException e){
+					return false;
+			}
+		}
+		return false;
+	}
+	
+	
+b) la méthode envoyerPASV() de la classe Connection:
+cette méthode envoie la commande PASV afin de passer au mode passive. en cas de réussite les information récupérer sont renvoyé dans le cas contraire l'exception est levée.
+
+ 	public String envoyerPASV() throws IOException  {
+		if (this.socket==null) {
+			System.out.println("Erreur connection FTP Server !!");
+			return "";
+		}
+		else {
+		try {
+			printer.write("PASV\r\n");
+			printer.flush();
+			String r = this.bfR.readLine();
+			return r;
+		}
+		catch(IOException e) {
+			throw new IOException("Buffer reader error");
+		}
+		}
+	}
+	
+	
+c) la méthode getAdressePasv() de la classe Connection:
+cette méthode utilise le string (PASV) passé en paramètre qui représente une réponse de la commande PASV et extrait l'adresse IP compris dans le message.
+
+
+	public String getAdressePasv(String PASV) {
+		int i = PASV.indexOf("(");
+		int j = PASV.indexOf(")");
+		PASV= PASV.substring(i+1,j);
+		String [] str=PASV.split(",");
+		String res="";
+		for (i=0; i<4; i++) {
+			res+=str[i]+".";
+		}
+		res=res.substring(0,res.length()-1);
+		return res;
+		}	
+
+d) la méthode envoyerList(String adrs, int port) de la classe Connection:
+cette methode utilise l'adresse ip et le port (passées en paramètre )extrait depuis la réponse de la commande PASV afin de retourner la liste des élements contenu dans la dossier encours
+
+	public ArrayList<String> envoyerList(String adrs, int port) throws IOException  {
+		ArrayList<String> Readl=new ArrayList<String>();
+		if (this.socket==null) {
+			System.out.println("Erreur connection FTP Server !!");
+			return Readl;
+		}
+		else {
+			try {
+				printer.write("LIST\r\n");
+				printer.flush();
+				Readl=this.newConnection(adrs, port);
+				String r = this.bfR.readLine();
+				r = this.bfR.readLine();
+				
+				return Readl;
+			}
+		
+			catch(IOException e) {
+				throw new IOException("Buffer reader error");
+			}
+		}
+	}
+
+
+e)la méthode NameOperation(String s)de la classe Arbre:
+cette méthode transforme le string passé en paramètre qui représentre un ligne d'information d'un élement(fichier, dossier, lien ...) en liste avec les partie séparées et dans espace.
+
+	public String[] NameOperation(String s){
+		s=s.replaceAll(" ",",");
+		while(s.indexOf(",,")!=-1) {
+			s=s.replaceAll(",,",",");
+		}
+		return s.split(",");
+	}	
diff --git a/projet1.sr/bin/.project b/projet1.sr/bin/.project
deleted file mode 100644
index 99705b3..0000000
--- a/projet1.sr/bin/.project
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>projet1.sr</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.m2e.core.maven2Builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.m2e.core.maven2Nature</nature>
-	</natures>
-</projectDescription>
diff --git a/projet1.sr/bin/.settings/org.eclipse.core.resources.prefs b/projet1.sr/bin/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/projet1.sr/bin/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/projet1.sr/bin/pom.xml b/projet1.sr/bin/pom.xml
deleted file mode 100644
index e2e9d1b..0000000
--- a/projet1.sr/bin/pom.xml
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>systemes.repartie.tree.ftp</groupId>
-  <artifactId>projet1.sr</artifactId>
-  <version>1.0-SNAPSHOT</version>
-
-  <name>projet1.sr</name>
-  <!-- FIXME change it to the project's website -->
-  <url>http://www.example.com</url>
-
-  <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <maven.compiler.source>1.7</maven.compiler.source>
-    <maven.compiler.target>1.7</maven.compiler.target>
-  </properties>
-
-  <dependencies>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.11</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
-      <plugins>
-        <!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
-        <plugin>
-          <artifactId>maven-clean-plugin</artifactId>
-          <version>3.1.0</version>
-        </plugin>
-        <!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
-        <plugin>
-          <artifactId>maven-resources-plugin</artifactId>
-          <version>3.0.2</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-compiler-plugin</artifactId>
-          <version>3.8.0</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-surefire-plugin</artifactId>
-          <version>2.22.1</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-jar-plugin</artifactId>
-          <version>3.0.2</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-install-plugin</artifactId>
-          <version>2.5.2</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-deploy-plugin</artifactId>
-          <version>2.8.2</version>
-        </plugin>
-        <!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
-        <plugin>
-          <artifactId>maven-site-plugin</artifactId>
-          <version>3.7.1</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-project-info-reports-plugin</artifactId>
-          <version>3.0.0</version>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
-</project>
diff --git a/projet1.sr/bin/src/main/java/systemes/repartie/tree/ftp/App.class b/projet1.sr/bin/src/main/java/systemes/repartie/tree/ftp/App.class
deleted file mode 100644
index fabf06dcaa22e940a7ccb4d65a676f7aecca7c1a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1134
zcmX^0Z`VEs1_nI_8FmIHMh2bYqGbKt#LPVXti-ZJ{o=~vlGNPPV*R4jg2bYd%vAl7
zqSRFVw2}gS$ASWO1{OvJ0kFcH#JqHU|D>$c<Pt^(Hk-`6%o00B24)S-Fh&Lz=lqmZ
zb_PyH27ZKE*P^2QA`S*_Mke{tyrR_N{G77X6ousc+=9%U#FEVXJcWXy{G^=J++r&Q
zF3ymQRE3htf>Z^N0eT?I^dOcgBq!$O<(DWVr7FM-(Npj&QOGP-$jnR0EJ{r-$*EK*
zN=-{GO3h17O;JcI%Fk6ON-ZqSEJ{sL&`ZuqEG||^%gjkF#%fD&Nl|8AI@N7SNlng4
z1UaA}F*!RiJyk&o7SejKkk$i*v|d_Cfs#T>ermA-$d|c^CCM2IB^jv-sTBpO$t9^N
z3J3#=lJ!6lrw0xqJjQWxdgd17WF}{pC={0#q!uY8=jRod6qP2I<QFMGLRCW(6o939
zDXD3hd7wbcFH%TJO-n4zDM41Pr{G&!Tmq8G%u7{B%mcX!Vla}CT%0(=P@yDWArTy}
zT%5t+l!hgsxwsfO7<hRYSQ+>j8ALUFK;F{_r2u`1xz?a0#_yAvm+DuVo0M7<l9-f}
z%E%z(lb@WJ6P8$%3F1QqSxPc8iy0a8d`L;<){G1+pnzp$;L(Wofm_PKAjZg$L`2$!
z=)mGL;=Iquz!jWdT9lmXmI?9~hhsqjIEvXBq!=04AciwC@c3pH7iZ?Bhg24%7BeU^
zFfuSRfB+K%BLgb~8v`Q)I|BoQ2?H|&BLf2i*KP)mNFlE63_SZ87#Nrs_!$_$Y8V(8
z83Y&@7<eG67z7!F7#J8h8H5=`peAUcm>`P91WvFCOki`x!K4I(Gy?+z3j-sABmf=!
BQU?G4

diff --git a/projet1.sr/bin/src/test/java/systemes/repartie/tree/ftp/AppTest.class b/projet1.sr/bin/src/test/java/systemes/repartie/tree/ftp/AppTest.class
deleted file mode 100644
index ab615f83c553c2763942f81ba2e116d9a043b618..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1303
zcmX^0Z`VEs1_nI_33di1Mh1i8qGbJ&)Z!BTti-ZJ{o=~vlGNPPV*R4jg2bYd%vAl7
zqSRFVw2}gS$AW^8)Z!9$1{OvJ0kGnn#JqHU|D>$c<Pt^(Hk-`6%o00B24)S-Fh&Lz
z=lqmZb_PyH27ZKE*P^2QA`S*_MyABjyrR_N{G77X6ousc+=9%U#FEVXJcWXy{G^=J
z++r&QF3ymQRE3n(<ebE!)D(q+#N_P6^i%~Um<#n_F4P0LP%o{dKuIAbKebpPFTX?~
zH?br+L!l%iRUx&aAT_xJ#ekw@J&=d>K<?7RV;mP}aAjUeVueB~$k{py#U+U)naK*7
zxdr(}CB+JfMX3t;c{!B|iDikIIf+R*sS25C3dQ-QMaiiOIjLo-ISQG@3Wj>73i(9}
z=|!oDC8<RaPeDvj$S+D)NKVWHxi=|Q0TvuYDe=rL$jMC3EKw*fEl4d=NY2kIE-5Na
zF3B%afW(J}Cdl&Ayp+_m%)HbTg|z%4g_P8^#L}D+WYu~KzNN(_Aeqd(RE5MmP;fyE
zMlupT9KcQnM;F<FkXl@V#p?<s`3i{&C6xuKkU+>yEy>7FQAjK<PAw`4DJo6XNXpO8
zNlnbd;yF-UgLEoDlPMP$0|x^y4+AR$A0vaPh7TyR^}z`?xTGjEFWnlHNcnv-^HTjv
zbCXhwLO>D7$ROmCpPZNzmROVt;zI>lN-{Ew85xXxNX;wOj0_^h8Tq9-DUNx?<*7yC
znI#z@e{e8}GBR8zA`74<z@ZWFj0{}C;7s6_nUl)MzypmCaCT!*WME`qW&i;u21W)}
z1~vvp26hGp1``Hm21W)32Cm%<9Fam?+ZlNFGcYhPG4L}mfYmTCFfs@*Ffi~yR51uL
Y2r+=fgu$|yCWv4$fgh_0Vqkm30Uv&n*8l(j

diff --git a/projet1.sr/doc/Diagram.jpg b/projet1.sr/doc/Diagram.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..c8ef8beb796de1652f3435e18aafe0d93f714d9f
GIT binary patch
literal 54865
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
V*1-{BbKi+uMQJSB?P>r2CICX49aR7T

literal 0
HcmV?d00001

diff --git a/projet1.sr/doc/Diagram.ucls b/projet1.sr/doc/Diagram.ucls
new file mode 100644
index 0000000..175e692
--- /dev/null
+++ b/projet1.sr/doc/Diagram.ucls
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<class-diagram version="1.2.4" icons="true" automaticImage="JPEG" always-add-relationships="false" 
+  generalizations="true" realizations="true" associations="true" dependencies="false" nesting-relationships="true" 
+  router="FAN">  
+  <class id="1" language="java" name="systemes.repartie.tree.ftp.Main" project="projet1.sr" 
+    file="/projet1.sr/src/main/java/systemes/repartie/tree/ftp/Main.java" binary="false" corner="BOTTOM_RIGHT">    
+    <position height="97" width="118" x="138" y="115"/>    
+    <display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" 
+      sort-features="false" accessors="true" visibility="true">      
+      <attributes public="true" package="true" protected="true" private="true" static="true"/>      
+      <operations public="true" package="true" protected="true" private="true" static="true"/>    
+    </display>  
+  </class>  
+  <class id="2" language="java" name="systemes.repartie.tree.ftp.Arbre.Arbre" project="projet1.sr" 
+    file="/projet1.sr/src/main/java/systemes/repartie/tree/ftp/Arbre/Arbre.java" binary="false" corner="BOTTOM_RIGHT">    
+    <position height="151" width="175" x="296" y="115"/>    
+    <display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" 
+      sort-features="false" accessors="true" visibility="true">      
+      <attributes public="true" package="true" protected="true" private="true" static="true"/>      
+      <operations public="true" package="true" protected="true" private="true" static="true"/>    
+    </display>  
+  </class>  
+  <class id="3" language="java" name="systemes.repartie.tree.ftp.ParametreConnection.ConnectionParametre" 
+    project="projet1.sr" 
+    file="/projet1.sr/src/main/java/systemes/repartie/tree/ftp/ParametreConnection/ConnectionParametre.java" 
+    binary="false" corner="BOTTOM_RIGHT">    
+    <position height="223" width="243" x="228" y="731"/>    
+    <display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" 
+      sort-features="false" accessors="true" visibility="true">      
+      <attributes public="true" package="true" protected="true" private="true" static="true"/>      
+      <operations public="true" package="true" protected="true" private="true" static="true"/>    
+    </display>  
+  </class>  
+  <class id="4" language="java" name="systemes.repartie.tree.ftp.FtpConnection.Connection" project="projet1.sr" 
+    file="/projet1.sr/src/main/java/systemes/repartie/tree/ftp/FtpConnection/Connection.java" binary="false" 
+    corner="BOTTOM_RIGHT">    
+    <position height="385" width="243" x="228" y="306"/>    
+    <display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" 
+      sort-features="false" accessors="true" visibility="true">      
+      <attributes public="true" package="true" protected="true" private="true" static="true"/>      
+      <operations public="true" package="true" protected="true" private="true" static="true"/>    
+    </display>  
+  </class>  
+  <association id="5">    
+    <end type="SOURCE" refId="4" navigable="false">      
+      <attribute id="6" name="connect"/>      
+      <multiplicity id="7" minimum="0" maximum="1"/>    
+    </end>    
+    <end type="TARGET" refId="3" navigable="true"/>    
+    <display labels="true" multiplicity="true"/>  
+  </association>  
+  <association id="8">    
+    <end type="SOURCE" refId="2" navigable="false">      
+      <attribute id="9" name="connect"/>      
+      <multiplicity id="10" minimum="0" maximum="1"/>    
+    </end>    
+    <end type="TARGET" refId="4" navigable="true"/>    
+    <display labels="true" multiplicity="true"/>  
+  </association>  
+  <classifier-display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" 
+    sort-features="false" accessors="true" visibility="true">    
+    <attributes public="true" package="true" protected="true" private="true" static="true"/>    
+    <operations public="true" package="true" protected="true" private="true" static="true"/>  
+  </classifier-display>  
+  <association-display labels="true" multiplicity="true"/>
+</class-diagram>
\ No newline at end of file
diff --git a/projet1.sr/pom.xml b/projet1.sr/pom.xml
index e2e9d1b..ac48748 100644
--- a/projet1.sr/pom.xml
+++ b/projet1.sr/pom.xml
@@ -35,10 +35,20 @@
           <artifactId>maven-clean-plugin</artifactId>
           <version>3.1.0</version>
         </plugin>
+        <plugin>
+              <groupId>org.apache.maven.plugins</groupId>
+              <artifactId>maven-javadoc-plugin</artifactId>
+              <version>3.0.0</version>
+              <configuration>
+                  <reportOutputDirectory>${project.build.directory}/docs</reportOutputDirectory>
+                  <destDir>docs</destDir>
+                  <nohelp>true</nohelp>
+              </configuration>
+         </plugin>
         <!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
         <plugin>
           <artifactId>maven-resources-plugin</artifactId>
-          <version>3.0.2</version>
+          <version>3.1.0</version>
         </plugin>
         <plugin>
           <artifactId>maven-compiler-plugin</artifactId>
@@ -50,7 +60,8 @@
         </plugin>
         <plugin>
           <artifactId>maven-jar-plugin</artifactId>
-          <version>3.0.2</version>
+          <version>3.0.2</version><configuration><archive><manifest><mainClass>systemes.repartie.tree.ftp.Main</mainClass></manifest></archive></configuration>
+          
         </plugin>
         <plugin>
           <artifactId>maven-install-plugin</artifactId>
@@ -65,10 +76,12 @@
           <artifactId>maven-site-plugin</artifactId>
           <version>3.7.1</version>
         </plugin>
+        
         <plugin>
           <artifactId>maven-project-info-reports-plugin</artifactId>
           <version>3.0.0</version>
         </plugin>
+        
       </plugins>
     </pluginManagement>
   </build>
diff --git a/projet1.sr/src/main/java/systemes/repartie/tree/ftp/Arbre/Arbre.java b/projet1.sr/src/main/java/systemes/repartie/tree/ftp/Arbre/Arbre.java
index 754b363..74c0b1c 100644
--- a/projet1.sr/src/main/java/systemes/repartie/tree/ftp/Arbre/Arbre.java
+++ b/projet1.sr/src/main/java/systemes/repartie/tree/ftp/Arbre/Arbre.java
@@ -4,17 +4,29 @@ import java.io.IOException;
 import java.util.ArrayList;
 
 import systemes.repartie.tree.ftp.FtpConnection.Connection;
-
+/**
+ * class to display the tree of our repetory
+ * @author hocine
+ *
+ */
 public class Arbre {
+	// variable declaration
 	private Connection connect;
+	//constructor
 	public Arbre(Connection connect) {
 		this.connect=connect;
 	}
+	//getter
 	public Connection getConnection() {
 		return this.connect;
 	}
 	
 	
+	/*
+	 * brows our repertory and display the tree of every file, directory or link using TypeOf methode
+	 * params space : to put space between parent and children files 
+	 * @throws IOException
+	 */
 	public void getTree(String space) throws IOException {
 		this.connect.envoyerType();
 		String mySTring = this.connect.envoyerPASV();
@@ -28,6 +40,13 @@ public class Arbre {
 			}
 		}
 	}
+	
+	/*
+	 * Display the type of file in the param given (file "F",Directory "D" or Link "L"
+	 * param space : to put space between parent and children files 
+	 * param s : pemission and type of file 
+	 * @throws IOException
+	 */
 	public void TypeOf(String s,String space) throws IOException {
 		String[] myline=NameOperation(s);
 		
@@ -48,6 +67,13 @@ public class Arbre {
 		}
 	}
 	
+	
+	
+	/*
+	 * Operation on String param to delete space and put "," between parts and finaly make it String[] 
+	 * params s 
+	 * @return String[]
+	 */
 	public String[] NameOperation(String s){
 		s=s.replaceAll(" ",",");
 		while(s.indexOf(",,")!=-1) {
diff --git a/projet1.sr/src/main/java/systemes/repartie/tree/ftp/FtpConnection/Connection.java b/projet1.sr/src/main/java/systemes/repartie/tree/ftp/FtpConnection/Connection.java
index 8a61e2d..57a6733 100644
--- a/projet1.sr/src/main/java/systemes/repartie/tree/ftp/FtpConnection/Connection.java
+++ b/projet1.sr/src/main/java/systemes/repartie/tree/ftp/FtpConnection/Connection.java
@@ -18,7 +18,7 @@ import systemes.repartie.tree.ftp.ParametreConnection.ConnectionParametre;
  *
  */
 public class Connection {
-	// parames
+	// variable declaration
 	private ConnectionParametre connect;
 	private Socket socket;
 	private BufferedReader bfR;
@@ -32,18 +32,17 @@ public class Connection {
 
 	}
 	
-	/*
+	/**
 	 * return the instance of ConnectionParametre used by our class
 	 */
 	public ConnectionParametre getConnectionParam() {
 		return this.connect;
 	}
 	
-	/*
+	/**
 	 * Connexion to ftp server methode
 	 * this methode uses our instance of ConnectionParametre to connect to ftp server
 	 * @throws IOException
-	 * @return void
 	 */
 	public void OperationConnection() throws IOException{
 		//creating a new instance of socket using ConnectionParametre adress and port
@@ -90,26 +89,29 @@ public class Connection {
 		}
 		}
 	
-	/*
+	/**
 	 * executing PWD commande to get repertory root 
 	 * @throws IOException
-	 * @return void
 	 */
 	public void envoyerPWD()  throws IOException {
 		if (this.socket==null) {
 			System.out.println("Erreur connection FTP Server !!");
 		}
 		else {
-		printer.write("PWD\r\n");
-		printer.flush();
-		String r = this.bfR.readLine();
-		//System.out.println(r);
+		try {
+			printer.write("PWD\r\n");
+			printer.flush();
+			String r = this.bfR.readLine();
+		}
+		catch(IOException e) {
+			throw new IOException("Buffer reader error");
+		}
 		}
 	}
 	
-	/*
+	/**
 	 * executing CWD command using the directory given in param to access to it
-	 * @param String : dossier
+	 * @param dossier 
 	 * @throws IOException
 	 * @return boolean : True if it succeed to access to the directory or False if it failed
 	 */
@@ -118,15 +120,24 @@ public class Connection {
 			System.out.println("Erreur connection FTP Server !!");
 		}
 		else {
-		printer.write("CWD "+dossier+"\r\n");
-		printer.flush();
-		String r = this.bfR.readLine();
-		return r.startsWith("250");
+			try {
+				printer.write("CWD "+dossier+"\r\n");
+				printer.flush();
+				String r = this.bfR.readLine();
+				return r.startsWith("250");
+				
+				}
+				catch(IOException e) {
+						throw new IOException("Buffer reader error");
+					}
+				catch (NullPointerException e){
+					return false;
+			}
 		}
 		return false;
 	}
 	
-	/*
+	/**
 	 * executing PASV command to enter to passive mode
 	 * @throws IOException
 	 * @return String : the information received in passive mode
@@ -137,11 +148,15 @@ public class Connection {
 			return "";
 		}
 		else {
-		printer.write("PASV\r\n");
-		printer.flush();
-		String r = this.bfR.readLine();
-		//System.out.println(r);
-		return r;
+		try {
+			printer.write("PASV\r\n");
+			printer.flush();
+			String r = this.bfR.readLine();
+			return r;
+		}
+		catch(IOException e) {
+			throw new IOException("Buffer reader error");
+		}
 		}
 	}
 	
@@ -177,17 +192,20 @@ public class Connection {
 	/*
 	 * executing  TYPE I command to switch to the binary mode
 	 * @throws IOException
-	 * @return void
 	 */
 	public void envoyerType() throws IOException  {
 		if (this.socket==null) {
 			System.out.println("Erreur connection FTP Server !!");
 		}
 		else {
-		printer.write("TYPE I\r\n");
-		printer.flush();
-		String r = this.bfR.readLine();
-		//System.out.println(r);
+		try {
+			printer.write("TYPE I\r\n");
+			printer.flush();
+			String r = this.bfR.readLine();
+		}
+		catch(IOException e) {
+			throw new IOException("Buffer reader error");
+		}
 		}
 	}
 	
@@ -200,56 +218,70 @@ public class Connection {
 		ArrayList<String> Readl=new ArrayList<String>();
 		if (this.socket==null) {
 			System.out.println("Erreur connection FTP Server !!");
+			return Readl;
 		}
 		else {
-		printer.write("LIST\r\n");
-		printer.flush();
-		Readl=this.newConnection(adrs, port);
-		String r = this.bfR.readLine();
-		r = this.bfR.readLine();
+			try {
+				printer.write("LIST\r\n");
+				printer.flush();
+				Readl=this.newConnection(adrs, port);
+				String r = this.bfR.readLine();
+				r = this.bfR.readLine();
+				
+				return Readl;
+		}
+		
+		catch(IOException e) {
+			throw new IOException("Buffer reader error");
 		}
-		return Readl;
+	}
 	}
 	
 	
 	/*
 	 * executing  Cdup To change directory
 	 * @throws IOException
-	 * @return void
 	 */
 	public void envoyerCdup() throws IOException  {
 		if (this.socket==null) {
 			System.out.println("Erreur connection FTP Server !!");
 		}
 		else {
-		printer.write("CDUP\r\n");
-		printer.flush();
-		String r = this.bfR.readLine();
-		//System.out.println(r);
+		try {
+			printer.write("CDUP\r\n");
+			printer.flush();
+			String r = this.bfR.readLine();
+		}
+		catch(IOException e) {
+			throw new IOException("Buffer reader error");
+		}
 		}
 	}
 	
 	/*
 	 * executing  Quit To QUIT socket
 	 * @throws IOException
-	 * @return void
 	 */
 	public void envoyerQuit() throws IOException  {
 		if (this.socket==null) {
 			System.out.println("Erreur connection FTP Server !!");
 		}
 		else {
-		printer.write("QUIT\r\n");
-		printer.flush();
-		String r = this.bfR.readLine();
-		//System.out.println(r);
+		try {
+			printer.write("QUIT\r\n");
+			printer.flush();
+			String r = this.bfR.readLine();
+		}
+		catch(IOException e) {
+			throw new IOException("Buffer reader error");
+		}
 		}
 	}
 	
 	/*
 	 * Staring new socket the to get the List of file,directory and link in our repertory from IP Address and Port
-	 * @param String Adresse : IP address
-	 * @param STring Port : port
+	 * @param  Adresse : IP address
+	 * @param  Port : port
 	 * @throws IOException
 	 * @return ArrayList<String> : The List of file,directory and link in our repertory from IP Address and Port
 	 */
@@ -259,6 +291,7 @@ public class Connection {
 		BufferedReader bfR1 = new BufferedReader(new InputStreamReader(socket1.getInputStream()));
 		OutputStream outPut1 = socket1.getOutputStream();
 		PrintWriter printer1 = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket1.getOutputStream())));
+		try {
 		String r = bfR1.readLine();
 		while (r!=null) {
 			liste.add(r);
@@ -267,6 +300,10 @@ public class Connection {
 		printer1.write("QUIT\r\n");
 		printer1.flush();
 		return liste;	
+		}
+		catch(IOException e) {
+			throw new IOException("Buffer reader error");
+		}
 	}
 	
 	/*
diff --git a/projet1.sr/src/main/java/systemes/repartie/tree/ftp/Main.java b/projet1.sr/src/main/java/systemes/repartie/tree/ftp/Main.java
index ccf2f73..b4630db 100644
--- a/projet1.sr/src/main/java/systemes/repartie/tree/ftp/Main.java
+++ b/projet1.sr/src/main/java/systemes/repartie/tree/ftp/Main.java
@@ -12,10 +12,22 @@ import java.net.Socket;
 import systemes.repartie.tree.ftp.Arbre.Arbre;
 import systemes.repartie.tree.ftp.FtpConnection.Connection;
 import systemes.repartie.tree.ftp.ParametreConnection.ConnectionParametre;
-
+/**
+ * Main
+ * @author hocine
+ *
+ */
 public class Main {
 	public static void main(String[] args) throws IOException {
-		ConnectionParametre connectPar= new ConnectionParametre("anonymous","anonymous",21,args[0]);
+		String user="anonymous";
+		String pass="anonymous";
+		if(args.length>1) {
+			user=args[1];
+		}
+		if(args.length>2) {
+			pass=args[2];
+		}
+		ConnectionParametre connectPar= new ConnectionParametre(user,pass,21,args[0]);
 		Connection connect= new Connection(connectPar);
 		System.out.println("-------------Connection-------------");
 		connect.OperationConnection();
diff --git a/projet1.sr/src/main/java/systemes/repartie/tree/ftp/ParametreConnection/ConnectionParametre.java b/projet1.sr/src/main/java/systemes/repartie/tree/ftp/ParametreConnection/ConnectionParametre.java
index 544715a..1759040 100644
--- a/projet1.sr/src/main/java/systemes/repartie/tree/ftp/ParametreConnection/ConnectionParametre.java
+++ b/projet1.sr/src/main/java/systemes/repartie/tree/ftp/ParametreConnection/ConnectionParametre.java
@@ -1,11 +1,17 @@
 package systemes.repartie.tree.ftp.ParametreConnection;
 
+/**
+ * Params class to identify user
+ * @author hocine
+ *
+ */
 public class ConnectionParametre {
+	// variable declaration
 	private String identifiant;
 	private String motdepasse;
 	private String adresse;
 	private int port;
-
+	//Constructor
 	public ConnectionParametre(String identifiant,String motdepasse,int port,String adresse) {
 		this.identifiant=identifiant;
 		this.motdepasse=motdepasse;
@@ -13,6 +19,8 @@ public class ConnectionParametre {
 		this.adresse=adresse;
 	}
 	
+	//getters
+	
 	public String getIdentifiant() {
 		return this.identifiant;
 	}
diff --git a/projet1.sr/src/test/java/systemes/repartie/tree/ftp/FtpConnection/ConnectionTest.java b/projet1.sr/src/test/java/systemes/repartie/tree/ftp/FtpConnection/ConnectionTest.java
new file mode 100644
index 0000000..5432806
--- /dev/null
+++ b/projet1.sr/src/test/java/systemes/repartie/tree/ftp/FtpConnection/ConnectionTest.java
@@ -0,0 +1,37 @@
+package systemes.repartie.tree.ftp.FtpConnection;
+import org.junit.Test;
+
+import systemes.repartie.tree.ftp.ParametreConnection.ConnectionParametre;
+
+import static org.junit.Assert.*;
+
+import java.io.IOException;
+
+public class ConnectionTest {
+	public static ConnectionParametre connect=new ConnectionParametre("anonymous","anonymous",21,"ftp.ubuntu.com");
+	public static Connection connectFtp= new Connection(connect);
+	
+	
+	
+	@Test
+	public void getConnectionParamTest() {
+		assertEquals(connectFtp.getConnectionParam().getIdentifiant(), "anonymous");
+	}
+	
+	@Test
+	public void envoyerCWD()  throws IOException {
+		connectFtp.OperationConnection();
+		assertFalse(connectFtp.envoyerCWD("nonExistingRepertory"));
+	}
+	
+	@Test
+	public void envoyerPASV_envoyerType()  throws IOException {
+		connectFtp.OperationConnection();
+		connectFtp.envoyerType();
+		connectFtp.OperationConnection();
+		String line =connectFtp.envoyerPASV();
+		assertTrue(line.startsWith("227 Entering Passive Mode"));
+
+	}
+	
+}
diff --git a/projet1.sr/src/test/java/systemes/repartie/tree/ftp/ParametreConnection/ConnectionParametreTest.java b/projet1.sr/src/test/java/systemes/repartie/tree/ftp/ParametreConnection/ConnectionParametreTest.java
new file mode 100644
index 0000000..5a83a08
--- /dev/null
+++ b/projet1.sr/src/test/java/systemes/repartie/tree/ftp/ParametreConnection/ConnectionParametreTest.java
@@ -0,0 +1,28 @@
+package systemes.repartie.tree.ftp.ParametreConnection;
+import org.junit.Test;
+import static org.junit.Assert.*;
+
+public class ConnectionParametreTest {
+	public static ConnectionParametre connect=new ConnectionParametre("anonymous","anonymous",21,"ftp.ubuntu.com");
+	
+	
+	@Test
+	public void getIdentifiantTest() {
+		assertEquals(connect.getIdentifiant(), "anonymous");
+	}
+	
+	@Test
+	public void getMotdepasseTest() {
+		assertEquals(connect.getMotdepasse(), "anonymous");
+	}
+	
+	@Test
+	public void getAdresseTest() {
+		assertEquals(connect.getAdresse(), "ftp.ubuntu.com");
+	}
+	
+	@Test
+	public void getPortTest() {
+		assertEquals(connect.getPort(), 21);
+	}
+}
diff --git a/projet1.sr/target/classes/systemes/repartie/tree/ftp/Arbre/Arbre.class b/projet1.sr/target/classes/systemes/repartie/tree/ftp/Arbre/Arbre.class
deleted file mode 100644
index 0cfa5c1edc1b2afc56c20538395c1e69cff78a51..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2905
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

diff --git a/projet1.sr/target/classes/systemes/repartie/tree/ftp/FtpConnection/Connection.class b/projet1.sr/target/classes/systemes/repartie/tree/ftp/FtpConnection/Connection.class
deleted file mode 100644
index e735c80fd235fe973e7613002bc9e3596c6e5430..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6088
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

diff --git a/projet1.sr/target/classes/systemes/repartie/tree/ftp/Main.class b/projet1.sr/target/classes/systemes/repartie/tree/ftp/Main.class
deleted file mode 100644
index 03172c9e14c76daa1822f6aa46df35fec02dc375..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1532
zcmX^0Z`VEs1_omWFLnkdMh5xf%HopL+|*+IqSS)KqLR#1{gR^8RQ<G)0)5}a%sh4m
z7Dfhvti-ZJ{hY+SbbbG%tkmQZMg}&U%)HDJJ4Oa(4b3n{1{UZ1lvFMTW(H0k237_(
zMh1SL%)C^;(%hufqL9R-oK!{zA)ox@#GJ6iqD&AUD#%ijky*^hpy)%u8P<#pEV+r9
zd5jEV8qq!o=LDA&W#*+@gPg$ST9KSuP?DLSSIo{J#K<5FR+X8r@97VhVP_CwWN^Y`
zS3qJ>Vs2_lQL1x(US4W4$TWQf6E4faAjZhRnV6TKSDBk%TFk{D%pd{sxFjQkl?JBs
zFhx8ug*3z18KfB*jPbb6t)u|q7$kRbF-S4Ug6x-LWN_EO7nX1zU^NFWYpof^$)LcX
z#Ll3I68pj6#KOa%%%H-^z?@%N!pI;B@kwUBen3%XUP*9CQEFnYH3x$lBZG=AGC<gf
zEUL@JpuwQU&Y+1DVMqq?FlaOAFfy<gfXvRxV`LD;61<vWpa9V0VbBMqJYoNW)S^UC
z%pq*#U@&B4VC3RpFh+Nku9iYbQEIA!7K)>E*%?e38PxDZg=0}tQK~+e<YF*kFb9Rc
z1tWt6-q6Ptf7Y5|91K>B3=ANnY<L)K!G2CpEde==gTWrd(Ws7v@faCc5{uG{85xAJ
zWD!ONu4G7>4oECwWN@KIDq&<`hnmUAV2aN`oE~RnU;?=YZ>WI-84}dij0{}C`K3k4
zscxB|GKCXVMCpMtI)fquBLg!72rw})g32HUMh12U1_pfwMg~R(1_oBG?F<|n85kIt
z7`PZ17}&sq0u0;?3=BMAHY)=U11|#u11AF?13v>3g8%~q0}BHqgCN+LT@36DEDQ_`
ze!CfjBZWkTL<K~(n2okGi2Lkjkc!ma&LHEvi9udSbsK}a&Nc>J5ZhoIgF1*d+Qy*1
zo53VfXFG$LpRSPQHU?{uu-!HWb%cAgz^)Qv5M&T$kYW&FP+|~eP-75d&|?s1Fk_Hl
zuxF5DaAlBU@MVwzyIBk38U_ajM+OE4K?Yj}CkAH*Mg}Pc69yLsR|X~qdj@_6HwJeG
MW(GzE53s*I0T7FjHvj+t

diff --git a/projet1.sr/target/classes/systemes/repartie/tree/ftp/ParametreConnection/ConnectionParametre.class b/projet1.sr/target/classes/systemes/repartie/tree/ftp/ParametreConnection/ConnectionParametre.class
deleted file mode 100644
index c39b92cac0ef1fb33a526fa815fd2f4c8bf65cdc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 988
zcmX^0Z`VEs1_omWRW1g023bx9HU>EmArB%HK!hSYgAzM~G9v?bW=d*aNoHDRVqOU&
zgOE>FVp*boPGVlVesD=qW?s5ABLi1%eo0DdL1J-nDkB4XVoFgen8i|%UsS@#!05@y
zz-E(~msw)R$Y7;`X#l2(C#H~Q7$XCVbAC!HBLlxrW?rgaX>L+#QAlD^PAbS%`N@en
zVTnbVAU;%(r6eP>n32K7r?|4XBsDj+SidN>AhD<<GgZH&C^c0-t)xIdAh9ShH?^cF
z)j2;eFEzO&Ge1us!Gz0NGcxd{r<QmkhlGfRCZ;PH8F<rEOMH=ngDX9?#1R%E?CGf`
z0pLJk*3k51WZ(+UFD*(=b;|^KLIR7$dZ5teVc=s>;bGul;N)T80uek6ygUrt44jM%
zPL%tNkwE}t2_#DWld@8iOBflLH8jH*6dBkU*cliYSQwZ<mNPIgFoEm`)7%W4V48=4
zmw|zSm4T6gkAa_okwJigfuVtciGh`Yfk8@ZI|HMZ_ErWaEuF0l%v!Qr8CbL=S++8;
zZUpNU1gT+QV_;z5WMBcC%+0{Zz{4QSz{?=Xz{eoOz`$SvF^NH#L4*MWq`)p=1ncBt
z;ACI|vp}w32D3o!Vqsup5M>a9x<;RYkpZNhRci|a(+0T3Y+yk_uq8ZTHY?N;Mh0=L
nnwilxi(u6(fmJgrx@K{#nk5;eusEA#4Vts1uxgeDtC9f#hwHdd

diff --git a/projet1.sr/target/maven-archiver/pom.properties b/projet1.sr/target/maven-archiver/pom.properties
deleted file mode 100644
index aabb671..0000000
--- a/projet1.sr/target/maven-archiver/pom.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-#Created by Apache Maven 3.6.3
-groupId=systemes.repartie.tree.ftp
-artifactId=projet1.sr
-version=1.0-SNAPSHOT
diff --git a/projet1.sr/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/projet1.sr/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
deleted file mode 100644
index 5612e04..0000000
--- a/projet1.sr/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ /dev/null
@@ -1,4 +0,0 @@
-systemes/repartie/tree/ftp/FtpConnection/Connection.class
-systemes/repartie/tree/ftp/Arbre/Arbre.class
-systemes/repartie/tree/ftp/Main.class
-systemes/repartie/tree/ftp/ParametreConnection/ConnectionParametre.class
diff --git a/projet1.sr/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/projet1.sr/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
deleted file mode 100644
index 40863ba..0000000
--- a/projet1.sr/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ /dev/null
@@ -1,4 +0,0 @@
-/home/hocine/eclipse-workspace/projet1.sr/src/main/java/systemes/repartie/tree/ftp/Main.java
-/home/hocine/eclipse-workspace/projet1.sr/src/main/java/systemes/repartie/tree/ftp/ParametreConnection/ConnectionParametre.java
-/home/hocine/eclipse-workspace/projet1.sr/src/main/java/systemes/repartie/tree/ftp/FtpConnection/Connection.java
-/home/hocine/eclipse-workspace/projet1.sr/src/main/java/systemes/repartie/tree/ftp/Arbre/Arbre.java
diff --git a/projet1.sr/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/projet1.sr/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
deleted file mode 100644
index 46ca8b9..0000000
--- a/projet1.sr/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
+++ /dev/null
@@ -1 +0,0 @@
-systemes/repartie/tree/ftp/AppTest.class
diff --git a/projet1.sr/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/projet1.sr/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
deleted file mode 100644
index 0960a7a..0000000
--- a/projet1.sr/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
+++ /dev/null
@@ -1 +0,0 @@
-/home/hocine/eclipse-workspace/projet1.sr/src/test/java/systemes/repartie/tree/ftp/AppTest.java
diff --git a/projet1.sr/target/projet1.sr-1.0-SNAPSHOT.jar b/projet1.sr/target/projet1.sr-1.0-SNAPSHOT.jar
deleted file mode 100644
index 6159e211bcc4621dcf8f5c4774322fd02fbf8a95..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 9174
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
bflY{NCBU1N4P>YggAl_#RtAPgvLGG+U;6L{

diff --git a/projet1.sr/target/surefire-reports/TEST-systemes.repartie.tree.ftp.AppTest.xml b/projet1.sr/target/surefire-reports/TEST-systemes.repartie.tree.ftp.AppTest.xml
deleted file mode 100644
index 6ace96f..0000000
--- a/projet1.sr/target/surefire-reports/TEST-systemes.repartie.tree.ftp.AppTest.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="systemes.repartie.tree.ftp.AppTest" time="0.029" tests="1" errors="0" skipped="0" failures="0">
-  <properties>
-    <property name="sun.desktop" value="gnome"/>
-    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
-    <property name="java.specification.version" value="11"/>
-    <property name="sun.cpu.isalist" value=""/>
-    <property name="sun.jnu.encoding" value="UTF-8"/>
-    <property name="java.class.path" value="/home/hocine/eclipse-workspace/projet1.sr/target/test-classes:/home/hocine/eclipse-workspace/projet1.sr/target/classes:/home/hocine/.m2/repository/junit/junit/4.11/junit-4.11.jar:/home/hocine/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:"/>
-    <property name="java.vm.vendor" value="Ubuntu"/>
-    <property name="sun.arch.data.model" value="64"/>
-    <property name="java.vendor.url" value="https://ubuntu.com/"/>
-    <property name="user.timezone" value=""/>
-    <property name="java.vm.specification.version" value="11"/>
-    <property name="os.name" value="Linux"/>
-    <property name="sun.java.launcher" value="SUN_STANDARD"/>
-    <property name="user.country" value="FR"/>
-    <property name="sun.boot.library.path" value="/usr/lib/jvm/java-11-openjdk-amd64/lib"/>
-    <property name="sun.java.command" value="/home/hocine/eclipse-workspace/projet1.sr/target/surefire/surefirebooter12294673392553916757.jar /home/hocine/eclipse-workspace/projet1.sr/target/surefire 2021-02-03T12-42-24_160-jvmRun1 surefire7600803984115398973tmp surefire_012456435499636066475tmp"/>
-    <property name="jdk.debug" value="release"/>
-    <property name="surefire.test.class.path" value="/home/hocine/eclipse-workspace/projet1.sr/target/test-classes:/home/hocine/eclipse-workspace/projet1.sr/target/classes:/home/hocine/.m2/repository/junit/junit/4.11/junit-4.11.jar:/home/hocine/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:"/>
-    <property name="sun.cpu.endian" value="little"/>
-    <property name="user.home" value="/home/hocine"/>
-    <property name="user.language" value="fr"/>
-    <property name="java.specification.vendor" value="Oracle Corporation"/>
-    <property name="java.version.date" value="2020-11-04"/>
-    <property name="java.home" value="/usr/lib/jvm/java-11-openjdk-amd64"/>
-    <property name="file.separator" value="/"/>
-    <property name="basedir" value="/home/hocine/eclipse-workspace/projet1.sr"/>
-    <property name="java.vm.compressedOopsMode" value="32-bit"/>
-    <property name="line.separator" value="&#10;"/>
-    <property name="java.specification.name" value="Java Platform API Specification"/>
-    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
-    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
-    <property name="surefire.real.class.path" value="/home/hocine/eclipse-workspace/projet1.sr/target/surefire/surefirebooter12294673392553916757.jar"/>
-    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
-    <property name="java.runtime.version" value="11.0.9.1+1-Ubuntu-0ubuntu1.20.04"/>
-    <property name="user.name" value="hocine"/>
-    <property name="path.separator" value=":"/>
-    <property name="os.version" value="5.4.0-65-generic"/>
-    <property name="java.runtime.name" value="OpenJDK Runtime Environment"/>
-    <property name="file.encoding" value="UTF-8"/>
-    <property name="java.vm.name" value="OpenJDK 64-Bit Server VM"/>
-    <property name="localRepository" value="/home/hocine/.m2/repository"/>
-    <property name="java.vendor.url.bug" value="https://bugs.launchpad.net/ubuntu/+source/openjdk-lts"/>
-    <property name="java.io.tmpdir" value="/tmp"/>
-    <property name="java.version" value="11.0.9.1"/>
-    <property name="user.dir" value="/home/hocine/eclipse-workspace/projet1.sr"/>
-    <property name="os.arch" value="amd64"/>
-    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
-    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
-    <property name="sun.os.patch.level" value="unknown"/>
-    <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib"/>
-    <property name="java.vm.info" value="mixed mode, sharing"/>
-    <property name="java.vendor" value="Ubuntu"/>
-    <property name="java.vm.version" value="11.0.9.1+1-Ubuntu-0ubuntu1.20.04"/>
-    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
-    <property name="java.class.version" value="55.0"/>
-  </properties>
-  <testcase name="shouldAnswerWithTrue" classname="systemes.repartie.tree.ftp.AppTest" time="0.002"/>
-</testsuite>
\ No newline at end of file
diff --git a/projet1.sr/target/surefire-reports/systemes.repartie.tree.ftp.AppTest.txt b/projet1.sr/target/surefire-reports/systemes.repartie.tree.ftp.AppTest.txt
deleted file mode 100644
index 8ace87e..0000000
--- a/projet1.sr/target/surefire-reports/systemes.repartie.tree.ftp.AppTest.txt
+++ /dev/null
@@ -1,4 +0,0 @@
--------------------------------------------------------------------------------
-Test set: systemes.repartie.tree.ftp.AppTest
--------------------------------------------------------------------------------
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.029 s - in systemes.repartie.tree.ftp.AppTest
diff --git a/projet1.sr/target/test-classes/systemes/repartie/tree/ftp/AppTest.class b/projet1.sr/target/test-classes/systemes/repartie/tree/ftp/AppTest.class
deleted file mode 100644
index 274260a5d3061de41315b7e3f0c845835ef686a5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 499
zcmX^0Z`VEs1_omWNiGH!20<<cAqHV~1`&1!QAP$fo6Nk-5<5l)W)00SMg|t={FGEi
z27aH+yi~u^+@#c^ki?{%R7M6NpZw&+oUp{AOb{O`$WoG#S<J|w;!|8%T#}lbTC87`
zT98;&l9{SsQk0sipH@<!?^sX}l3HA1&B!29oRMFelj4|HT%KAKo>`I+QdFAC$RHV1
znpcvUn;Mo`oSBr9>X?_8Uy@jonV(n8$ROa8UzDz&RhpMsq7OBND>%QjC^^+F6XYr$
zsOfrHiDijA46F=n><nT&4B`wDj0{SI9mU8X0Me+RlbDyT@1K;Fnq0!jAb_yavA8(3
zsDzP$D-q0qxR*sEN;8Z>k%5_kg#iSZ7#KkoGcYo+GcYjdGcYnRGB7Z(YHep=+{nPd
zz{J48z`(!;7UW{!WME+60kc^dxEQz@7#J8Cco^6in82EiVVYTXFfbuBb1^V6Ffa%)
UurLT?F@P6pJRjIFez27S08XE3xBvhE

-- 
GitLab