diff --git a/README.md b/README.md
index 1580d8ea7c790e078c2a756cd9e88f86ae28f7b0..eb9e40ff51de9de141cb25cfe6ae84937c793e6e 100644
--- a/README.md
+++ b/README.md
@@ -10,17 +10,147 @@ Vous utiliserez notamment JAX-RS (ou tout autre équivalent) pour développer ce
 
 Vous proposerez un mécanisme d'authentification adéquat tenant compte des différentes clés d'authentification envisageables (celles des différents serveurs FTP auquel on peut avoir accès, ainsi que celles de la plate-forme FlopBox).
 
-## Instructions de build et d'exécution AVEC la vidéo
+## Instructions de build et d'exécution AVEC vidéos
 
-La vidéo `video.mp4` montre pas à pas comment utiliser ce projet
+Les vidéos montrent pas à pas comment utiliser ce projet
 
-### Description de la vidéo
+### Description des vidéos
 
-On commence par compiler puis démarrer le programme `FlopBox`, puis on démarre 2 serveurs FTP sur les ports `2121` et `2122` et l'utilisateur `user/password`
+On commence par compiler puis démarrer le programme `FlopBox`, puis on démarre 2 serveurs FTP sur les ports `2121` et `2122` et l'utilisateur `user/password` avec les commandes suivantes :
 
-En haut à droite se trouve le dossier du serveur1 `dossier_serveur_ftp1` et en dessous le dossier du serveur2 `dossier_serveur_ftp2`, qui sont vides au départ
+- programme FlopBox :
+```shell
+mvn clean package
+java -jar target/FlopBox.jar
+```
+
+- les deux serveurs FTP :
+```shell
+pip install --user pyftpdlib
+python3 serveur_ftp.py serveur1
+python3 serveur_ftp.py SERVEUR2
+```
+
+En haut à droite se trouve le dossier du serveur1 `dossier_serveur_ftp1` et en dessous le dossier du serveur2 `dossier_serveur_ftp2`
+
+Ensuite la vidéo présente les exemples suivants dans l'ordre :
+
+#### 1) Exemple ajouter un serveur FTP
+
+(voir [`video1.mp4`](video1.mp4))
+
+On ajoute les deux serveurs avec les alias `mon-ftp` et `mon-ftp2` :
 
-## Instructions de build et d'exécution SANS la vidéo
+```shell
+curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer valid-token-1" -d '{"alias":"mon-ftp","host":"localhost","port":2121}' http://localhost:8080/ftps
+```
+
+```shell
+curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer valid-token-1" -d '{"alias":"mon-ftp2","host":"localhost","port":2122}' http://localhost:8080/ftps
+```
+
+On ajoute aussi un `mon-ftp3` simplement pour voir que l'on peut le modifier et le supprimer avec les commandes suivantes :
+
+- lister les serveurs :
+```shell
+curl -X GET -H "Authorization: Bearer valid-token-1" http://localhost:8080/ftps
+```
+
+- ajout :
+```shell
+curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer valid-token-1" -d '{"alias":"mon-ftp3","host":"localhost","port":2123}' http://localhost:8080/ftps
+```
+
+- modification :
+```shell
+curl -X PUT http://localhost:8080/ftps/mon-ftp3 -H "Content-Type: application/json" -H "Authorization: Bearer valid-token-1" -d '{"alias":"mon-ftp3","host":"nouvelle-adresse","port":9999}'
+```
+
+- suppression :
+```shell
+curl -X DELETE -H "Authorization: Bearer valid-token-1" http://localhost:8080/ftps/mon-ftp3
+```
+
+#### 2) Exemple affichage de l'arborescence
+
+(voir [`video2.mp4`](video2.mp4))
+
+On voit qu'avec la commande suivante on reçoit un JSON avec l'arborescence du serveur2 qui contient déjà un dossier avec un fichier :
+
+```shell
+curl -X GET -H "Authorization: Bearer valid-token-1" -H "X-FTP-User: anonymous" -H "X-FTP-Pass: anonymous" localhost:8080/ftps/list/mon-ftp2/
+```
+
+#### 3) Exemple créer dossier et fichier vide, et les supprimer sur le serveur1
+
+(voir [`video3.mp4`](video3.mp4))
+
+On crée un dossier vide `dossier1` sur le serveur1 puis on le renomme en `dossier1_nouveau_nom`, et on crée un fichier dans ce dossier nommé `fichier` :
+
+- créer dossier :
+```shell
+curl -X POST -H "X-Resource-Type: folder" -H "Authorization: Bearer valid-token-1" -H "X-FTP-User: user" -H "X-FTP-Pass: password" http://localhost:8080/ftps/mon-ftp/dossier1
+```
+
+- renommer le dossier :
+```shell
+curl -X PUT -H "Authorization: Bearer valid-token-1" -H "X-FTP-User: user" -H "X-FTP-Pass: password" -H "Content-Type: text/plain" -d "dossier1_nouveau_nom" http://localhost:8080/ftps/mon-ftp/rename/dossier1
+```
+
+- créer fichier :
+```shell
+curl -X POST -H "X-Resource-Type: file" -H "Authorization: Bearer valid-token-1" -H "X-FTP-User: user" -H "X-FTP-Pass: password" http://localhost:8080/ftps/mon-ftp/dossier1_nouveau_nom/fichier
+```
+
+- supprimer dossier :
+```shell
+curl -X DELETE -H "Authorization: Bearer valid-token-1" -H "X-FTP-User: user" -H "X-FTP-Pass: password" http://localhost:8080/ftps/mon-ftp/dossier1_nouveau_nom
+```
+
+#### 4) Exemple download et upload fichiers et dossiers
+
+(voir [`video4.mp4`](video4.mp4))
+
+On montre que l'on peut télécharger une image sur le serveur2 et l'envoyer sur le serveur1 :
+
+- download image :
+```shell
+curl -X GET -H "Authorization: Bearer valid-token-1" -H "X-FTP-User: anonymous" -H "X-FTP-Pass: anonymous" http://localhost:8080/ftps/mon-ftp2/image0.png -o image0.png
+```
+
+- upload image :
+```shell
+curl -X PUT -H "Authorization: Bearer valid-token-1" -H "X-FTP-User: user" -H "X-FTP-Pass: password" --upload-file image0.png http://localhost:8080/ftps/mon-ftp/image0.png
+```
+
+Ensuite on montre que l'on peut envoyer un dossier en commençant par en faire un zip, et que l'on peut télécharger le `dossier0` qui est sur le serveur2 :
+
+- upload dossier :
+```shell
+zip -r dossier1.zip dossier1
+
+curl -X POST -H "Authorization: Bearer valid-token-1" -H "X-FTP-User: user" -H "X-FTP-Pass: password" -H "Content-Type: application/octet-stream" --data-binary @dossier1.zip http://localhost:8080/ftps/mon-ftp/upload-dir/dossier1
+```
+
+- download dossier :
+```shell
+curl -X GET -H "Authorization: Bearer valid-token-1" -H "X-FTP-User: anonymous" -H "X-FTP-Pass: anonymous" http://localhost:8080/ftps/mon-ftp2/dossier0 -o dossier0.zip
+
+unzip dossier1.zip
+```
+
+#### 5) Exemple chercher des fichiers stockés dans plusieurs serveurs FTP
+
+(voir [`video5.mp4`](video5.mp4))
+
+Maintenant que l'on a `image0.png` sur les deux serveur on peut utiliser la commande suivante pour obtenir les URLs des fichiers qui sont sur deux serveurs FTP :
+
+- rechercher une ressource :
+```shell
+curl -X GET -H "Authorization: Bearer valid-token-1" -H "X-FTP-User: user" -H "X-FTP-Pass: password" http://localhost:8080/ftps/search/image0.png
+```
+
+## Instructions de build et d'exécution SANS vidéos
 ### Build l'archive
 
 Pour créer l'archive `FlopBox.jar`, il faut avoir Java 17 et Maven d'installés, et exécuter la commande suivante à la racine du projet :
@@ -90,41 +220,43 @@ curl -X GET -H "Authorization: Bearer valid-token-1" -H "X-FTP-User: anonymous"
 
 **Note comprise entre 11 et 12 si—en plus—le proxy FlopBox, permet de télécharger (download) et téléverser (upload) un petit fichier texte:**
 
-- download fichier :
+
+- upload fichier :
 ```shell
-curl -X GET -H "Authorization: Bearer valid-token-1" -H "X-FTP-User: anonymous" -H "X-FTP-Pass: anonymous" http://localhost:8080/ftps/mon-ftp/fichier1 -o fichier1
+curl -X PUT -H "Authorization: Bearer valid-token-1" -H "X-FTP-User: user" -H "X-FTP-Pass: password" --upload-file fichier2 http://localhost:8080/ftps/mon-ftp/fichier2
 ```
 
-- download dossier (ne fonctionne pas bien pour le moment je crois) :
+- upload dossier :
 ```shell
-curl -X GET -H "Authorization: Bearer valid-token-1" -H "X-FTP-User: anonymous" -H "X-FTP-Pass: anonymous" http://localhost:8080/ftps/mon-ftp/dossier1 -o dossier1.zip
+zip -r dossier1.zip dossier1
 
-unzip dossier1.zip
+curl -X POST -H "Authorization: Bearer valid-token-1" -H "X-FTP-User: user" -H "X-FTP-Pass: password" -H "Content-Type: application/octet-stream" --data-binary @dossier1.zip http://localhost:8080/ftps/mon-ftp/upload-dir/dossier1
 ```
 
-- upload fichier :
+- download fichier :
 ```shell
-curl -X PUT -H "Authorization: Bearer valid-token-1" -H "X-FTP-User: user" -H "X-FTP-Pass: password" --upload-file fichier2 http://localhost:8080/ftps/mon-ftp/fichier2
+curl -X GET -H "Authorization: Bearer valid-token-1" -H "X-FTP-User: anonymous" -H "X-FTP-Pass: anonymous" http://localhost:8080/ftps/mon-ftp/fichier1 -o fichier1
 ```
 
-- upload dossier :
-
+- download dossier :
 ```shell
-zip -r dossier2.zip dossier2
+curl -X GET -H "Authorization: Bearer valid-token-1" -H "X-FTP-User: anonymous" -H "X-FTP-Pass: anonymous" http://localhost:8080/ftps/mon-ftp/dossier1 -o dossier1.zip
 
-curl -X POST -H "Authorization: Bearer valid-token-1" -H "X-FTP-User: user" -H "X-FTP-Pass: password" -H "Content-Type: application/octet-stream" --data-binary @dossier2.zip http://localhost:8080/ftps/mon-ftp/upload-dir/dossier2
+unzip dossier1.zip
 ```
 
 **Note comprise entre 12 et 13 si—en plus—le proxy FlopBox, permet de télécharger (download) et téléverser (upload) un gros fichier binaire (image, vidéo, etc.):**
 
-- download fichier :
+(comme dans l'étape d'avant on peut envoyer et télécharger des images)
+
+- upload image :
 ```shell
-curl -X GET -H "Authorization: Bearer valid-token-1" -H "X-FTP-User: anonymous" -H "X-FTP-Pass: anonymous" http://localhost:8080/ftps/mon-ftp/image.png -o image.png
+curl -X PUT -H "Authorization: Bearer valid-token-1" -H "X-FTP-User: user" -H "X-FTP-Pass: password" --upload-file image.png http://localhost:8080/ftps/mon-ftp/image.png
 ```
 
-- upload fichier :
+- download image :
 ```shell
-curl -X PUT -H "Authorization: Bearer valid-token-1" -H "X-FTP-User: user" -H "X-FTP-Pass: password" --upload-file image2.jpg http://localhost:8080/ftps/mon-ftp/image2.jpg
+curl -X GET -H "Authorization: Bearer valid-token-1" -H "X-FTP-User: anonymous" -H "X-FTP-Pass: anonymous" http://localhost:8080/ftps/mon-ftp/image0.png -o image0.png
 ```
 
 **Note comprise entre 13 et 14 si—en plus—le proxy FlopBox permet de gérer plusieurs serveurs FTP différents (ajout, suppression, modification des serveurs):**
@@ -139,14 +271,14 @@ curl -X GET -H "Authorization: Bearer valid-token-1" http://localhost:8080/ftps
 curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer valid-token-1" -d '{"alias":"mon-ftp","host":"localhost","port":2121}' http://localhost:8080/ftps
 ```
 
-- suppression :
+- modification :
 ```shell
-curl -X DELETE -H "Authorization: Bearer valid-token-1" http://localhost:8080/ftps/mon-ftp
+curl -X PUT http://localhost:8080/ftps/mon-ftp -H "Content-Type: application/json" -H "Authorization: Bearer valid-token-1" -d '{"alias":"mon-ftp","host":"nouvelle-adresse","port":2221}'
 ```
 
-- modification :
+- suppression :
 ```shell
-curl -X PUT http://localhost:8080/ftps/mon-ftp -H "Content-Type: application/json" -H "Authorization: Bearer valid-token-1" -d '{"alias":"mon-ftp","host":"nouvelle-adresse","port":2221}'
+curl -X DELETE -H "Authorization: Bearer valid-token-1" http://localhost:8080/ftps/mon-ftp
 ```
 
 **Note comprise entre 14 et 15 si—en plus—le proxy FlopBox, permet de créer, supprimer, renommer une ressource directement sur l'un des serveurs FTP gérés (fichier ou répertoire):**
diff --git a/dossier_serveur_ftp2/dossier0/fichier01 b/dossier_serveur_ftp2/dossier0/fichier01
new file mode 100644
index 0000000000000000000000000000000000000000..9021e9a019f1ad492ab273c8785aad80c16d3b01
--- /dev/null
+++ b/dossier_serveur_ftp2/dossier0/fichier01
@@ -0,0 +1 @@
+FICHIER01
diff --git a/dossier_serveur_ftp2/image0.jpg b/dossier_serveur_ftp2/image0.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..6ea0d8bee03746c1ae94cfa7e064183a21407a11
Binary files /dev/null and b/dossier_serveur_ftp2/image0.jpg differ
diff --git a/video1.mp4 b/video1.mp4
new file mode 100644
index 0000000000000000000000000000000000000000..eb3a95e80595486ef269d4741f02687d2a82d6ae
Binary files /dev/null and b/video1.mp4 differ