@@ -27,7 +27,7 @@ la gestion d'erreur est sois faite par un message ecrit par le bufferWriter ou b
...
@@ -27,7 +27,7 @@ la gestion d'erreur est sois faite par un message ecrit par le bufferWriter ou b
exemple :
exemple :
dans le fichier MKD(request/mkd) qui represente la commande MKD:
dans le fichier MKD(request/mkd) qui represente la commande MKD:
les erreurs de doits on été géré par l'erreur "550" écrite par le bufferwriter et les erreurs de connection par l exception IOException:
les erreurs de doits on été géré par l'erreur "550" écrite par le bufferwriter et les erreurs de connection par l exception IOException:
**
```
```
public void send() throws IOException{
public void send() throws IOException{
if (this.ftp.getSocket() == null ) {
if (this.ftp.getSocket() == null ) {
...
@@ -65,7 +65,6 @@ les erreurs de doits on été géré par l'erreur "550" écrite par le bufferwri
...
@@ -65,7 +65,6 @@ les erreurs de doits on été géré par l'erreur "550" écrite par le bufferwri
}
}
}
}
```
```
**
a) interface request(request/request.java):
a) interface request(request/request.java):
l'interface request a été implementer par toutes les commande dans le dossier request, graçe à la méthode send chaque class de commande envoie la réponse du server à la commande qu'il a reçu.
l'interface request a été implementer par toutes les commande dans le dossier request, graçe à la méthode send chaque class de commande envoie la réponse du server à la commande qu'il a reçu.
...
@@ -75,7 +74,7 @@ l'interface request a été implementer par toutes les commande dans le dossier
...
@@ -75,7 +74,7 @@ l'interface request a été implementer par toutes les commande dans le dossier
## 3-Parcours du code (code samples)
## 3-Parcours du code (code samples)
a) pass/pass.java
a) pass/pass.java
**
```
```
public void send() throws IOException{
public void send() throws IOException{
if (this.ftp.getSocket() == null ) {
if (this.ftp.getSocket() == null ) {
...
@@ -97,7 +96,7 @@ a) pass/pass.java
...
@@ -97,7 +96,7 @@ a) pass/pass.java
}
}
}
}
```
```
**
dans pass on gére le mot de passe de l'utilisateur.
dans pass on gére le mot de passe de l'utilisateur.
si le mot de pass est égale a "anonymous" alors le code renvoyé est "230" pour dire que la connection est établie puis on appele la méthode connect qui transforme notre boolean de connection dans la class ftp vers True.
si le mot de pass est égale a "anonymous" alors le code renvoyé est "230" pour dire que la connection est établie puis on appele la méthode connect qui transforme notre boolean de connection dans la class ftp vers True.
dans le cas contraire un code d'erreur "530" est retourné pour dire que le mot de passe n'est pas conforme.
dans le cas contraire un code d'erreur "530" est retourné pour dire que le mot de passe n'est pas conforme.
...
@@ -106,7 +105,7 @@ en cas d'autre erreurs un exception est levé.
...
@@ -106,7 +105,7 @@ en cas d'autre erreurs un exception est levé.
b) request/CDUP.java
b) request/CDUP.java
**
```
```
public void send() throws IOException{
public void send() throws IOException{
if (this.ftp.getSocket() == null ) {
if (this.ftp.getSocket() == null ) {
...
@@ -133,7 +132,7 @@ b) request/CDUP.java
...
@@ -133,7 +132,7 @@ b) request/CDUP.java
}
}
}
}
```
```
**
la méthode send de la class CDUP:
la méthode send de la class CDUP:
la Commande CDUP permet d'accedé au fichier parents du dossier en cours dans notre code.
la Commande CDUP permet d'accedé au fichier parents du dossier en cours dans notre code.
on a commencé par récuperer le path du dossier en cours puis le coupé celon les "/" pour ensuite vérifier si il contient plus de d'un sous répertoir si c'est le cas on assemble tous les sous répertoir sauf le dernier dans un string avec un "/" en chaque nom de répertoir afin d'avoir le path du parents.
on a commencé par récuperer le path du dossier en cours puis le coupé celon les "/" pour ensuite vérifier si il contient plus de d'un sous répertoir si c'est le cas on assemble tous les sous répertoir sauf le dernier dans un string avec un "/" en chaque nom de répertoir afin d'avoir le path du parents.
...
@@ -145,7 +144,7 @@ c) request/RNFR.java
...
@@ -145,7 +144,7 @@ c) request/RNFR.java
la commande RNFR permet de sauvgarder la valeur de fichier ou dossier que on va renomer avec la commande RNTO
la commande RNFR permet de sauvgarder la valeur de fichier ou dossier que on va renomer avec la commande RNTO
**
```
```
public void send() throws IOException{
public void send() throws IOException{
if (this.ftp.getSocket() == null ) {
if (this.ftp.getSocket() == null ) {
...
@@ -170,7 +169,6 @@ la commande RNFR permet de sauvgarder la valeur de fichier ou dossier que on va
...
@@ -170,7 +169,6 @@ la commande RNFR permet de sauvgarder la valeur de fichier ou dossier que on va
}
}
}
}
```
```
**
dans la méthode send de la class RNFR on crée un file avec le chemin du dossier ou file a rénomer puis on vérifier si ce file existe.
dans la méthode send de la class RNFR on crée un file avec le chemin du dossier ou file a rénomer puis on vérifier si ce file existe.
si il existe alors le chemin est sauvgarder dans une variable static de la class ftp graçe au setter SetRename et le code "250" est renvoyé pour dire que le file a été trouvé.
si il existe alors le chemin est sauvgarder dans une variable static de la class ftp graçe au setter SetRename et le code "250" est renvoyé pour dire que le file a été trouvé.
...
@@ -179,7 +177,7 @@ et en cas d'erreur une excéption et levé.
...
@@ -179,7 +177,7 @@ et en cas d'erreur une excéption et levé.
d) request/RNTO.java
d) request/RNTO.java
la commande permet de renomer un dossier ou fichier avec un chemin connu par un nouveau nom passé en paramètre de la commande
la commande permet de renomer un dossier ou fichier avec un chemin connu par un nouveau nom passé en paramètre de la commande
**
```
```
public void send() throws IOException{
public void send() throws IOException{
if (this.ftp.getSocket() == null ) {
if (this.ftp.getSocket() == null ) {
...
@@ -205,7 +203,7 @@ la commande permet de renomer un dossier ou fichier avec un chemin connu par un
...
@@ -205,7 +203,7 @@ la commande permet de renomer un dossier ou fichier avec un chemin connu par un
}
}
}
}
```
```
**
dans méthode send de la class RNTO on crée deux fichier l'un avec le paramètre passé dans la commande est l'autre avec la variable sauvgardé par la commande RNTO.
dans méthode send de la class RNTO on crée deux fichier l'un avec le paramètre passé dans la commande est l'autre avec la variable sauvgardé par la commande RNTO.
ensuite on applique la méthode renameTo sur le file de la variable sauvgardé avec comme paramètre le 2 file ce qui permettera le renommage du dossier ou fichier avec le chemin sauvgardé par le nouveau nom passé en paramètre.
ensuite on applique la méthode renameTo sur le file de la variable sauvgardé avec comme paramètre le 2 file ce qui permettera le renommage du dossier ou fichier avec le chemin sauvgardé par le nouveau nom passé en paramètre.
en cas de succès le code "250" est écrit pour annoncé le succès de l'opération.
en cas de succès le code "250" est écrit pour annoncé le succès de l'opération.
...
@@ -215,7 +213,6 @@ et en cas d'erreur une excéption et levé.
...
@@ -215,7 +213,6 @@ et en cas d'erreur une excéption et levé.
e)request/TYPE.java
e)request/TYPE.java
la commande TYPE permet de changer de mode
la commande TYPE permet de changer de mode
**
```
```
public void send() throws IOException{
public void send() throws IOException{
if (this.ftp.getSocket() == null ) {
if (this.ftp.getSocket() == null ) {
...
@@ -248,7 +245,7 @@ la commande TYPE permet de changer de mode
...
@@ -248,7 +245,7 @@ la commande TYPE permet de changer de mode
}
}
}
}
```
```
**
la méthode send parcour les différents choix de Type et renvoie la mode correspondant.
la méthode send parcour les différents choix de Type et renvoie la mode correspondant.
dans le cas ou le paramètre donné ne fais pas parti des choix de type le code "400" est écrit pour dire que le choix est incorrecte.
dans le cas ou le paramètre donné ne fais pas parti des choix de type le code "400" est écrit pour dire que le choix est incorrecte.
dans le cas contraire le choix est appliqué et le code "220" est écrit pour dire que on switch au mode correspondant au choix passé en paramètre.
dans le cas contraire le choix est appliqué et le code "220" est écrit pour dire que on switch au mode correspondant au choix passé en paramètre.