diff --git a/README.md b/README.md
index 8716f2d3fbd475febe121686668f4638c7f2903c..ad94ac1d6d3e0d28369870898128c80ed96e47ef 100644
--- a/README.md
+++ b/README.md
@@ -45,4 +45,5 @@ Afin de procéder à une installation correcte de Synapse, l'ensemble des procé
 
 ### [Sommaire](./procedures/4-element-proxy/README.md)
 
-- À FAIRE
\ No newline at end of file
+- [4.1: Installation de Element Web](./procedures/4-element-proxy/install-element-web.md)
+- [4.2: Installation d'un reverse proxy](./procedures/4-element-proxy/install-reverse-proxy.md)
\ No newline at end of file
diff --git a/procedures/3-synapse/README.md b/procedures/3-synapse/README.md
index 987115031ba627a20173009ee9213d0f1be24dbe..6f94f8bc1e506fabe36a2462ed39aa95f37ec7c2 100644
--- a/procedures/3-synapse/README.md
+++ b/procedures/3-synapse/README.md
@@ -11,4 +11,4 @@
 <hr>
 
 - Page précédente: [Installer PostgreSQL pour la gestion des utilisateurs/identifiants](../2-configuration-services/postgresql.md)
-- Page suivante: [À AJOUTER](./README.md)
+- Page suivante: [Mise en place de l'accès au service HTTP sur la VM](./http-service-vm.md)
diff --git a/procedures/3-synapse/http-service-vm.md b/procedures/3-synapse/http-service-vm.md
index 778324659aae96c42dc4c85d76053d5e276f5515..4f681b64d7e552c9eaea375f9b77ff1c8e617145 100644
--- a/procedures/3-synapse/http-service-vm.md
+++ b/procedures/3-synapse/http-service-vm.md
@@ -1,6 +1,6 @@
-# 3.1 : Mise en place de l'accès au service HTTP sur la VM
+# 3.1: Mise en place de l'accès au service HTTP sur la VM
 
-Afin que le service que nous allons installer soit accessible depuis l’ensemble des machines du TP à l’IUT, nous devons configurer notre serveur pour qu’il puisse écouter sur les interfaces réseau de la machine physique.
+Afin que le service que nous allons installer soit accessible depuis l’ensemble des machines de TP à l’IUT, nous devons configurer notre serveur pour qu’il puisse écouter sur les interfaces réseau de la machine physique.
 
 Dans cette section, nous allons installer et configurer les services nécessaires sur une machine virtuelle. Notez que le réseau virtuel principal dans lequel se trouve la VM est uniquement accessible depuis la machine de virtualisation.
 
@@ -69,52 +69,56 @@ Nous allons maintenant configurer l’accès au service nginx depuis la machine
 
 Pour contourner ces limitations, nous utiliserons un *tunnel SSH*. Cette méthode permet de rediriger le trafic local d’un port sur la machine physique vers un port distant sur la VM.
 
-#### Configuration de nginx
+### ⌨️ Configuration de nginx
 
-Sur la VM, ouvrez le fichier de configuration de nginx avec le logiciel nano :
+Sur la VM, ouvrez le fichier de configuration de nginx avec le logiciel `nano`:
 
 ```bash
 user@matrix $ sudo nano /etc/nginx/sites-available/default
 ```
 
-Apportez les modifications suivantes pour permettre à nginx d’écouter sur toutes les interfaces réseau de la VM :
+Apportez les modifications suivantes pour permettre à nginx d’écouter sur toutes les interfaces réseau de la VM:
 
 ```
-À Compléter
+à compléter
 ```
 
-Redémarrez nginx pour appliquer les changements :
+Redémarrez nginx pour appliquer les changements:
 
 ```bash
 user@matrix $ sudo systemctl restart nginx
 ```
 
-#### Configuration du tunnel SSH
+### 🕳️ Configuration du tunnel SSH
 
-Sur votre machine physique, configurez votre client SSH pour établir un tunnel avec le logiciel nano :
+Sur votre machine physique, configurez votre client SSH pour établir un tunnel avec le logiciel `nano`:
 
 ```bash
 user@phys $ nano ~/.ssh/config
 ```
 
-Ajoutez les lignes suivantes (remplacez `À Compléter` par vos informations spécifiques, comme l’adresse IP ou le nom d’hôte de la VM) :
+Dans votre configuration permettant la connexion à la machine virtuelle, rajoutez la ligne `LocalForward`:
 
 ```bash
-À Compléter
+Host vm
+	Hostname 10.42.x.1
+	User user
+	ProxyJump virt
+    LocalForward 8080 localhost:8080
 ```
 
-Enregistrez et quittez. Ensuite, établissez le tunnel avec :
+Enregistrez et quittez. Ensuite, établissez le tunnel SSH en vous connectant à la machine virtuelle:
 
 ```bash
-user@phys $ ssh [nom de la VM]
+user@phys $ ssh vm
 ```
 
 Vous pouvez maintenant accéder au serveur nginx de la VM via `http://localhost:8080` sur votre machine physique.
 
 <hr>
 
-### 📚 Ressources complémentaires
-- [Documentation de SSH](https://man7.org/linux/man-pages/man1/ssh.1.html)
+### 📚 Plus d'informations sur les outils mentionnés dans cette procédure:
+- [La documentation de OpenSSH par OpenBSD](https://www.openssh.com/manual.html)
 - [Site officiel de nginx](https://nginx.org/)
 
 <hr>
diff --git a/procedures/3-synapse/install-config-synapse.md b/procedures/3-synapse/install-config-synapse.md
index c5e305e38f32b39fe8ab8c1e24d6cfcbe49a2c95..1942bfb01575dea34da56f54c6c63933cf35e9cd 100644
--- a/procedures/3-synapse/install-config-synapse.md
+++ b/procedures/3-synapse/install-config-synapse.md
@@ -1,30 +1,33 @@
-# 3.2 : Installation et configuration de Matrix
+# 3.2: Installation et configuration de Matrix
 
 Maintenant que notre service HTTP est configuré, il est temps d'installer `Synapse`.
-Synapse est un serveur de communication instantanée open source qui fonctionne avec le protocole Matrix. Il permet aux utilisateurs de communiquer via des conversations texte, des appels audio et vidéo, ainsi que des partages de fichiers. 
+Synapse est un serveur de communication instantanée open-source qui fonctionne à l'aide du protocole Matrix. Il permet aux utilisateurs de communiquer via des conversations texte, des appels audio et vidéo, ainsi que des partages de fichiers. 
 
 <hr>
 
 ## 🖥️ Installation de Synapse sous Debian
 
-Pour installer Synapse sur notre machine virtuelle, il suffit de copier cette ensemble de commande fournies par le site officiel de [Matrix](https://packages.matrix.org/debian/).
+Pour installer Synapse sur notre machine virtuelle, il suffit de copier cet ensemble de commandes fournies par le site officiel de [Matrix](https://packages.matrix.org/debian/).
 
 ```bash
 sudo apt install -y lsb-release wget apt-transport-https
+
 sudo wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg
+
 echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main" |
     sudo tee /etc/apt/sources.list.d/matrix-org.list
+
 sudo apt update
 sudo apt install matrix-synapse-py3
 ```
 
 Durant l'installation, le gestionnaire de paquets nous demande le nom de notre instance. Nous devons indiquer `machine-physique.iutinfo.fr:8008`. Attention à bien indiquer le port `8008` et à remplacer `machine-physique` par le *nom de votre machine physique* (par exemple ayou03).
 
-Le serveur écrira ses messages à destination de l’administrateur (les logs) dans le fichier /var/log/matrix-synapse/homeserver.log.
+Le serveur écrira ses messages à destination de l’administrateur (les logs) dans le fichier `/var/log/matrix-synapse/homeserver.log`.
 
 ## ⚙️ Paramétrer l’accès à distance
 
-Il est important de noter que, par défaut, synapse écoute uniquement les interfaces de boucle locale. Nous devons alors lui permettre d'accéder depuis l'extérieur de la machine virtuelle en lui faisant écouter l'interface située dans notre réseau 10.42.0.0/16.
+Il est important de noter que, par défaut, Synapse n'écoute uniquement les interfaces de boucle locale. Nous devons alors lui permettre d'accéder depuis l'extérieur de la machine virtuelle en lui faisant écouter l'interface située dans notre réseau 10.42.0.0/16.
 
 Il vous suffit alors de modifier la configuration de synapse afin qu'il écoute sur l'interface réseau attaché à notre réseau 10.42.0.0/16 en supplément de la boucle locale.
 
@@ -34,59 +37,71 @@ Allez dans le fichier :
 nano /etc/matrix-synapse/homeserver.yaml
 ```
 
-```bash
+```yaml
 pid_file: "/var/run/matrix-synapse.pid"
 listeners:
   - port: 8008
     tls: false
     type: http
     x_forwarded: true
-    bind_addresses: ['::1', '127.0.0.1', '[ Ajoutez votre adresse ici ]']
+    bind_addresses: ['::1', '127.0.0.1', '[ Ajoutez votre adresse IP ici ]']
     resources:
       - names: [client, federation]
         compress: false
+```
+
+Exemple si l'adresse IP de notre machine virtuelle est `10.42.155.1`:
+
+```yaml
+pid_file: "/var/run/matrix-synapse.pid"
+listeners:
   - port: 8008
     tls: false
     type: http
     x_forwarded: true
-    bind_addresses: ['10.42.0.0/16']
+    bind_addresses: ['::1', '127.0.0.1', '10.42.155.1']
+    resources:
+      - names: [client, federation]
+        compress: false
 ```
 
+(N'oubliez de redémarrer votre service Matrix après chaque modification de la configuration `homeserver.yaml` à l'aide de la commande `systemctl`)
+
 ## ⚙️ Paramétrer une instance dans un réseau privé
 
-Nous avons une installation peu commune car notre serveur ne peut pas être accessible directement depuis internet, mais pour une production réelle, on voudrait qu'il le soit. La configuration par défaut de Synapse considère que notre serveur est accessible depuis l'extérieuret qu'il ne cherche pas à contacter des éléments situés sur le réseau privé.
-Dans le cas par exemple où notre serveur contacte d'autres serveur pour obtenir des clés publiques de signatures. 
+Nous avons une installation peu commune car notre serveur ne peut pas être accessible directement depuis Internet, mais pour une production réelle, on voudrait qu'il le soit. La configuration par défaut de Synapse considère que notre serveur est accessible depuis l'extérieur et qu'il ne cherche pas à contacter des éléments situés sur le réseau privé.
+Dans le cas par exemple où notre serveur contacte d'autres serveurs pour obtenir des clés publiques de signature.
 
 ___
 
 Il nous suffit alors d'ajouter la ligne `registration_shared_secret` à notre configuration situé dans `/etc/matrix-synapse/homeserver.yaml`.
 
-Une fois ette option activée, elle permet d'enregistrer des comptes standard ou administrateur par toute personne possédant le code secret partagé, même si l'option enable_registration n'est pas activée.
+Une fois cette option activée, elle permet d'enregistrer des comptes standard ou administrateur par toute personne possédant le code secret partagé, même si l'option `enable_registration` n'est pas activée.
 
-Cette fonction est principalement destinée à être utilisée avec le script register_new_matrix_user (voir Enregistrement d'un utilisateur) ; toutefois, l'interface est documentée.
+Cette fonction est principalement destinée à être utilisée avec le script `register_new_matrix_user`. Toutefois, l'interface est documentée.
 
-Configuration à utilisé :
+Configuration à utiliser:
 
-```bash
-registration_shared_secret : <Chaîne privée>
+```
+registration_shared_secret: [chaîne privée]
 ```
 
 ___
 
 ## 🖥️ Configuration d'une base de données Postgres
 
-Synapse, par défaut, utilise une base de données sqlite qui n'est pas suffisant pour une instance en production. Nous allons modifier notre configuration afin d'utiliser une base de données Postgres. Allez dans le fichier de configuration `/etc/matrix-synapse/homeserver.yaml` et la configuration qui devrait être comme ceci :
+Synapse, par défaut, utilise une base de données SQLite, qui n'est pas suffisante pour une instance en production. Nous allons modifier notre configuration afin d'utiliser une base de données PostgreSQL. Allez dans le fichier de configuration `/etc/matrix-synapse/homeserver.yaml` et modifiez la configuration sous `database`...
 
-```bash
+```yaml
 database:
   name: sqlite3
   args:
     database: /path/to/homeserver.db
 ```
 
-Afin d'avoir ceci 
+...afin d'avoir celle-ci:
 
-```bash
+```yaml
 database:
   name: psycopg2
   args:
@@ -97,64 +112,91 @@ database:
     port: 5432
 ```
 
-Maintenant notre configuration postgres mise en place, nous devons recréer cette base avec les bonnes options.
+(N'oubliez de redémarrer votre service Matrix après chaque modification de la configuration `homeserver.yaml` à l'aide de la commande `systemctl`)
 
-Tout d'abord, nous allons supprimer notre base de donnée précédente matrix :
+Maintenant notre configuration PostgreSQL mise en place, nous devons recréer cette base avec les bonnes options.
+
+Tout d'abord, nous allons supprimer notre base de données précédente:
 
 ```bash
 sudo -u postgres dropdb synapse
 ```
 
-Nous devons ensuite créer notre base de données Synapse :
+Nous devons ensuite recréer notre base de données Synapse, mais cette fois-ci en se basant sur une template:
 
 ```bash
 sudo -u postgres createdb --encoding=UTF8 --locale=C --template=template0 --owner=synapse_user synapse
 ```
 
-Créer ensuite le user pour synapse :
+Par la suite, crééz l'utilisateur pour Synapse:
 
 ```bash
 sudo -u postgres createuser -P synapse_user
 ```
 
-Vous pouvez ensuite vérifier si votre base a bien été créée avec les commandes suivantes :
+Vous pouvez ensuite vérifier si la base de données a bien été créée avec la commande suivante:
 
 ```bash
 psql -U synapse_user -h localhost synapse
+```
+
+Dans le shell PostgreSQL:
+
+```
 \d
 ```
 
-Afin de créer un utilisateur sur notre base nous devons utiliser le script `register_new_matrix_user`, en spécifiant la localisation du fichier de configuration `/etc/matrix-synapse/homeserver.yaml` en ayant spéficié le registration_shared_secret :
+Afin de créer un utilisateur sur notre base de données, nous allons utiliser le script `register_new_matrix_user`, en spécifiant la localisation du fichier de configuration `/etc/matrix-synapse/homeserver.yaml` (l'option `registration_shared_secret` doit être renseignée dans le fichier au préalable):
 
 ```bash
 sudo register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml -u "username" -p "PASSWORD"
 ```
 
-En remplacant "username" et "PASSWORD" par ce qui vous convient.
-
+(Remplacez `"username"` et `"password"` par ce qui vous convient)
 
 ___
 
-faire ceci : 
+Dans le fichier de configuration `~/.ssh/config` sur la machine hôte, modifiez la section dédiée à la connexion à votre machine virtuelle pour modifier les ports de tunnel SSH afin de pouvoir accéder à Matrix depuis l'extérieur: 
 
 ```bash
 Host vm
-        Hostname 10.42.133.1
-        User user
-        ProxyJump virt
-        LocalForward 8008 localhost:8008
+	Hostname 10.42.x.1
+	User user
+	ProxyJump virt
+    LocalForward 8008 localhost:8008
 ```
 
+Une fois la configuration écrite et le tunnel SSH actif, vous pouvez vérifier si le service Matrix est bel et bien disponible en vous connectant à `http://localhost:8008` depuis un navigateur sur votre machine hôte:
+
+![Synapse is running](/resources/synapse-running.png)
+
+Maintenant que nous savons que Synapse tourne correctement, nous pouvons essayer de nous connecter à notre instance Matrix.
+
+Accédez à l'instance Element Web de l'IUT via l'URL: [http://tp.iutinfo.fr:8888](http://tp.iutinfo.fr:8888).
+
+Vous devriez voir un message vous avertissant que votre navigateur n'est pas supporté par Element. Ignorez cet avertissement en cliquant sur "**Continue anyway**".
+
+Sur la page de connexion/enregistrement, cliquez sur "**Sign in**" (la création de compte n'est pas encore configurée). 
+
+Changez l'adresse de l'homeserver (par défaut: `matrix.org`) par `http://localhost:8008` afin de se connecter à votre instance.
+
+Une fois l'homeserver validé, connectez vous avec les identifiants du compte créé précédemment: vous devriez voir la page principale d'Element.
+
 ___
 
-Dans la config `/etc/matrix-synapse/homeserver.yaml`, ajouter ces lignes avant le `registration_shared_secret` :
+Dans le fichier de configuration `/etc/matrix-synapse/homeserver.yaml`, ajoutez ces lignes avant le `registration_shared_secret` afin de permettre l'enregistrement de nouveaux utilisateurs via l'interface web (Element):
 
-```bash
+```yaml
 enable_registration: true
 enable_registration_without_verification: true
 ```
 
+(N'oubliez de redémarrer votre service Matrix après chaque modification de la configuration `homeserver.yaml` à l'aide de la commande `systemctl`)
+
+### 📚 Plus d'informations sur les outils mentionnés dans cette procédure:
+- [La documentation de Synapse](https://element-hq.github.io/synapse/latest/)
+
 <hr>
 
 - Page précédente: [Mise en place de l'accès au service HTTP sur la VM](./http-service-vm.md)
-- Page suivante: [Changement de Machine physique](./set-physical-machine.md)
\ No newline at end of file
+- Page suivante: [Attribution d'une nouvelle machine physique](./set-physical-machine.md)
\ No newline at end of file
diff --git a/procedures/3-synapse/set-physical-machine.md b/procedures/3-synapse/set-physical-machine.md
index 2cc0eb6d79db61bbaf608b47b517853f310d264e..b6b43786c380e8be45219ea5a3fad22a423c0452 100644
--- a/procedures/3-synapse/set-physical-machine.md
+++ b/procedures/3-synapse/set-physical-machine.md
@@ -1,70 +1,91 @@
-# 3.3 : Attribution d'une nouvelle machine physique
+# 3.3: Attribution d'une nouvelle machine physique
 
+Cette procédure n'est nécéssaire que dans un cadre spécifique, dans un environnement éducatif: étant donné que les étudiants peuvent changer de salle lors des séances de TP sur la SAÉ, et par conséquent d'ordinateur, le hostname présent dans la configuration Synapse diffèrera de votre hostname actuel et causera certains problèmes. 
 
-Cette procédure n'est a suivre que si vous installez matrix dans un environnement educatif. Dans la réalité, vous n'aurez jamais a modifier la machine physique lié a votre serveur synapse, surtout que cela necessite la suppression de toutes les données.
+Dans la réalité, vous n'aurez jamais à modifier la machine physique liée à votre serveur Synapse, surtout que ce processus nécessite la suppression de toutes les données.
 
+Pour effectuer ce changement, vous devez suivre ces étapes:
 
-Pour effectuer ce changement, vous devez suivre ces étapes: 
+1. Arrêter le service Synapse
+2. Modifier le fichier de configuration `/etc/matrix-synapse/conf.d/server_name.yaml` afin d'y mettre la nouvelle URL contenant le nouveau hostname
+3. Supprimer et recréer la base de données PostgreSQL
+4. Redémarrer le service Synapse
+5. Recréer les utilisateurs Matrix
 
+Voici un script shell permettant de réaliser les actions nécessaires au changement automatiquement. 
 
--   arrêter Synapse
--   modifier le fichier /etc/matrix-synapse/conf.d/server_name.yml pour mettre la nouvelle URL
--   détruire et recréer la base de donnée
--   recréer les utilisateurs
--   redémarrer Synapse
+Vous devrez modifier certaines des variables présentes au début du script (variables liées à la base de données, identifiants des utilisateurs).
 
-
-Voici un script permettant de réaliser les actions necessaires. Pensez tout de meme a le modifier pour modifier l'utilisateur crée. (Vous pouvez egalemennt ajouter d'autres utilisateurs).
-
-```shell
+```bash
 #!/bin/bash
 
 # Vérifier si l'argument (nouvelle URL) est passé
 if [ -z "$1" ]; then
-  echo "Erreur : l'URL doit être spécifiée en argument."
+  echo "Erreur: l'URL doit être spécifiée en argument."
   exit 1
 fi
 
 # Variables
 NEW_URL=$1
 SYNAPSE_SERVICE=matrix-synapse.service
+
 DB_NAME=synapse
 DB_USER=synapse_user
 SERVER_NAME_FILE="/etc/matrix-synapse/conf.d/server_name.yaml"
-# Modifier ici le nom de l'utilisateur que vous souhaitez creer
-USER_TO_CREATE=username
+
+# Modifiez ici les noms des utilisateurs à créer (ainsi que leurs mots de passe en dessous)
+USERS_TO_CREATE=("username1" "username2")
+USERS_PASSWORD=("password1" "password2")
+
+# Vérification de la longueur des deux listes ci-dessus
+if [ "${#USERS_TO_CREATE[@]}" -ne "${#USERS_PASSWORD[@]}" ]; then
+  echo "Erreur: les deux listes des identifiants des utilisateurs n'ont pas la même longueur."
+  exit 1
+fi
 
 # Arrêter le service Synapse
 echo "Arrêt du service Synapse..."
 sudo systemctl stop matrix-synapse.service
 
-cho "Suppression de la base de données $DB_NAME..."
-sudo -u postgres dropdb synapse
+# Changements sur la base de données
+echo "Suppression de la base de données ($DB_NAME)..."
+sudo -u postgres dropdb $DB_NAME
 
-echo "Création de la nouvelle base de données $DB_NAME..."
-sudo -u postgres createdb --encoding=UTF8 --locale=C --template=template0 --owner=synapse_user synapse
+echo "Création de la nouvelle base de données ($DB_NAME)..."
+sudo -u postgres createdb --encoding=UTF8 --locale=C --template=template0 --owner=$DB_USER $DB_NAME
 
 echo "Mise à jour du fichier de configuration avec la nouvelle URL ($NEW_URL)..."
 sudo sed -i "s|^server_name:.*|server_name: $NEW_URL|" $SERVER_NAME_FILE
 
+# Redémarrer le service Synapse
 echo "Redémarrage du service Synapse..."
 sudo systemctl start matrix-synapse.service
 
-# Recréer un utilisateur Matrix
-echo "Création de l'utilisateur Matrix '$USER_TO_CREATE'..."
-sudo register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml -u username -p "PASSWORD"
+# Création des utilisateurs Matrix
+for ((idx=0; idx<${#USERS_TO_CREATE[@]}; idx++)); do
+  USERNAME="${USERS_TO_CREATE[idx]}"
+	PASSWORD="${USERS_PASSWORD[idx]}"
+  
+  echo "Création de l'utilisateur Matrix: $USERNAME..."
+  sudo register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml -u $USERNAME -p $PASSWORD
+done
 
-echo "Le processus est terminé."
+echo "Le processus de migration du serveur Synapse est terminé."
+```
 
+Une fois le script modifié, exécutez-le avec comme argument l'URL de la nouvelle machine: 
 
+```bash
+user@matrix $ sudo bash script.sh machine.iutinfo.fr:8008
 ```
 
+![Script de reconfiguration automatisée Synapse](/resources/script-synapse.png)
 
-Une fois le script modifier executer le avec comme argument l'url de la nouvelle machine : 
+### Attention:
 
-> sudo sh script.sh machine.iutinfo.fr:8008
+Veillez bien à lancer le script à l'aide de `bash`, et non `sh`: `bash` supporte l'utilisation de listes/tableaux, que nous utilisons ici pour la création automatisée d'utilisateurs Matrix. Si le script est lancé avec `sh`, le script ne marchera pas.
 
 <hr>
 
-- Page précédente: [Connexion au serveur Matrix](./install-config-synapse.md)
+- Page précédente: [Installation et configuration de Synapse](./install-config-synapse.md)
 - Page suivante: [Sommaire (partie 4)](../4-element-proxy/README.md)
\ No newline at end of file
diff --git a/procedures/4-element-proxy/README.md b/procedures/4-element-proxy/README.md
index 5efb38cf943ff08dc547accd2109751b2a5a645b..6d3d294930c22365d63eafc9cd578fa456f70749 100644
--- a/procedures/4-element-proxy/README.md
+++ b/procedures/4-element-proxy/README.md
@@ -4,10 +4,10 @@
 
 # Sommaire
 
-- [4.1 Instllation de Element Web](./install-element-web.md)
-- [4.2 Installation d'un reverse proxy](./install-reverse-proxy.md)
+- [4.1: Installation de Element Web](./install-element-web.md)
+- [4.2: Installation d'un reverse proxy](./install-reverse-proxy.md)
 
 <hr>
 
-- Page précédente: [a ajouter]()
-- Page suivante: [a ajouter]()
\ No newline at end of file
+- Page précédente: [Attribution d'une nouvelle machine physique](/procedures/3-synapse/set-physical-machine.md)
+- Page suivante: [Installation de Element Web](install-element-web.md)
\ No newline at end of file
diff --git a/procedures/4-element-proxy/install-element-web.md b/procedures/4-element-proxy/install-element-web.md
index 746537d88ed4fdd2a06d631143cb5c1b6676c7e9..b0e824222636b6223231d64683c1eb5396a227c5 100644
--- a/procedures/4-element-proxy/install-element-web.md
+++ b/procedures/4-element-proxy/install-element-web.md
@@ -1,68 +1,62 @@
-# 4.1 : Installation de Element Web
+# 4.1: Installation de Element Web
 
+## 🌐 Choix du serveur web
 
-
-## Choix du serveur web
-
-Tout d'abord, nous devons choisir le serveur web que l'on souhaite installer entre Apache et Nginx.
-
+Tout d'abord, nous devons choisir le serveur web que l'on souhaite installer entre [Apache](https://httpd.apache.org/) et [nginx](https://nginx.org/).
 
 nginx semble être le meilleur choix pour déployer Element Web en raison de sa simplicité, de ses performances optimisées pour le service de fichiers statiques, et de sa faible consommation de ressources. Il est généralement plus adapté à des applications nécessitant un haut débit et une gestion efficace des connexions simultanées.
 
-Cependant, si vous avez des besoins spécifiques en matière de configuration ou de flexibilité (par exemple, gestion avancée des redirections via .htaccess), Apache pourrait être un bon choix.
+Cependant, si vous avez des besoins spécifiques en matière de configuration ou de flexibilité (par exemple, gestion avancée des redirections via `.htaccess`), Apache pourrait être un bon choix.
 
 En résumé, voici un tableau récapitulatif pour vous aider à choisir :
 
 | Critère | nginx | Apache |
 |--- |--- |---|
-| Performance |	Très performant, gestion haute charge | Moins performant, surtout en haute charge |
-| Flexibilité | Moins flexible, mais suffisant pour les fichiers statiques | Très flexible avec modules et .htaccess |
-| Simplicité | Plus simple à configurer et gérer | Plus complexe à configurer |
-| Sécurité | Plus sécurisé par défaut | Peut être aussi sécurisé, mais nécessite plus d’attention |
-| Documentation | Bonne documentation, communauté active | Très large communauté, excellente documentation |
-
-
-Nous allons donc ici installer Nginx.
-
+| **Performance** |	Très performant, gestion haute charge | Moins performant, surtout en haute charge |
+| **Flexibilité** | Moins flexible, mais suffisant pour les fichiers statiques | Très flexible avec modules et .htaccess |
+| **Simplicité** | Plus simple à configurer et gérer | Plus complexe à configurer |
+| **Sécurité** | Plus sécurisé par défaut | Peut être aussi sécurisé, mais nécessite plus d’attention |
+| **Documentation** | Bonne documentation, communauté active | Très large communauté, excellente documentation |
 
-Normalement vous avez deja installer un server nginx, pour verifier: 
-
-> sudo nginx 
-
-Si aucun serveur nginx n'est installé, consulter [3.1 : Mise en place de l'accès au service HTTP sur la VM](../3-synapse/http-service-vm.md)
+Nous allons donc ici installer nginx.
 
+Nous avons déjà précédemment installé un serveur nginx sur notre machine virtuelle, pour vérifier:
 
+```bash
+user@matrix $ sudo nginx -version
+nginx version: nginx/1.22.1
+```
 
+Si aucun serveur nginx n'est installé (`bash: nginx: command not found`), veuillez consulter la procédure [3.1: Mise en place de l'accès au service HTTP sur la VM](../3-synapse/http-service-vm.md).
 
-## Installer le package element-web
+## 📦 Installer le package `element-web`
 
-Pour installer le package element-web, executer cette liste de commande: 
+Pour installer le package `element-web`, exécutez les commandes suivantes dans le terminal de votre machine virtuelle: 
 
-```
+```bash
 sudo apt install -y wget apt-transport-https
+
 sudo wget -O /usr/share/keyrings/element-io-archive-keyring.gpg https://packages.element.io/debian/element-io-archive-keyring.gpg
+
 echo "deb [signed-by=/usr/share/keyrings/element-io-archive-keyring.gpg] https://packages.element.io/debian/ default main" | sudo tee /etc/apt/sources.list.d/element-io.list
+
 sudo apt update
 sudo apt install element-web
 ```
 
+Maintenant que `element-web` est installé, vous devez maintenant rendre accessible le serveur Element Web sur le port 8080 de la machine virtuelle, en reliant `element-web` au serveur nginx.
 
-Désormais, element-web a été installé.
-Vous devez maintenant rendre accessible le serveur element-web sur le port 8080 de la vm, en reliant element-web au serveur nginx.
-
-
-Pour cela, rendez vous dans `/etc/element-web` puis modifier le fichier `config.json` : 
+Pour cela, rendez vous dans `/etc/element-web` puis modifiez le fichier `config.json` avec le contenu suivant:
 
 ```json
 "default_server_config": {
         "m.homeserver": {
-            "base_url": "http://localhost:8008", # URL du serveur synapse
+            "base_url": "http://localhost:8008", # URL du serveur Synapse
             "server_name": "localhost"
         }
 ```
 
-Ensuite, rendez vous dans `/etc/nginx/sites-available` et crée le fichier `element` : 
-
+Ensuite, dans `/etc/nginx/sites-available`, créez le fichier `element` avec le contenu suivant: 
 
 ```
 server {
@@ -78,38 +72,45 @@ server {
 
     # Configuration de la sécurité et des headers
     location /_matrix/ {
-        proxy_pass http://localhost:8008/; # Remplacez par l'adresse de votre s>
+        proxy_pass http://localhost:8008/; # Remplacez par l'adresse de votre service Synapse
         proxy_set_header Host $host;
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header X-Forwarded-Proto $scheme;
     }
-
 }  
 ```
 
-Vous devez maintenant lier le site aux site-enable: 
+Vous devez maintenant lier le site au dossier `sites-enabled` de nginx, en créant un lien symbolique de votre configuration nginx pour Element vers `sites-enabled`:
 
 `sudo ln -s /etc/nginx/sites-available/element-web /etc/nginx/sites-enabled/`
 
-Verifier la configuration de nginx: 
-
+Vérifiez la configuration de nginx: 
 
-> sudo nginx -t
+```bash
+user@matrix $ sudo nginx -t
+```
 
-Puis redemarrer: 
+Puis redémarrez le service nginx:
 
-> sudo systemctl restart nginx
+```bash
+user@matrix $ sudo systemctl restart nginx
+```
 
-Désormais, sur le port 8080 de la vm, le serveur element est en ligne 
+Désormais, sur le port 8080 de la machine virtuelle, le serveur Element Web est en ligne.
 
-Vous devez désormais ajouter cette ligne à votre config ssh sur vorte machine, ainsi, en allant sur `localhost:8080` votre serveur element sera disponible.
+Vous devez désormais ajouter cette ligne à votre config ssh sur la machine hôte, dans la section dédiée à la connection ssh à la machine virtuelle:
 
 ```
-LocalForward 8080 10.42.154.1:8080
+    LocalForward 8080 10.42.154.1:8080
 ```
 
+Ainsi, après s'être connecté à la machine virtuelle via ssh, et avoir rentré `http://localhost:8080` dans un navigateur web sur votre machine hôte, votre instance d'Element sera disponible.
+
+### 📚 Plus d'informations sur les outils mentionnés dans cette procédure:
+- [La documentation de nginx](https://nginx.org/en/docs/)
 
+<hr>
 
-- Page précédente: [Sommaire (partie 4)](./README.md)
-- Page suivante: [4.2 Installation d'un reverse proxy](./install-reverse-proxy.md)
\ No newline at end of file
+- Page précédente: [Sommaire (partie 4)](README.md)
+- Page suivante: [Installation d'un reverse proxy](install-reverse-proxy.md)
\ No newline at end of file
diff --git a/procedures/4-element-proxy/install-reverse-proxy.md b/procedures/4-element-proxy/install-reverse-proxy.md
index 89bbf6dc451a33690af205dffb5d4b52c7188ab3..5886cd5e48661404744f316991fceda2b9954b7f 100644
--- a/procedures/4-element-proxy/install-reverse-proxy.md
+++ b/procedures/4-element-proxy/install-reverse-proxy.md
@@ -1,4 +1,4 @@
-# 4.2 Installation d'un reverse proxy
+# 4.2: Installation d'un reverse proxy
 
 
 ## Choix du reverse proxy
@@ -22,10 +22,8 @@ Ici nous allons donc utiliser `nginx` (???????)
 
 ## Etape 1 : Reinstaller une machine virtuelle
 
-
 Avant tout, nous devons reinstaller une nouvelle machine virtuelle que nous nommerons `proxy` est qui aura pour adresse ip `10.42.x.2`. Pour cela, consultez [1.3: Création et gestion de la machine virtuelle](../1-virtual-machine/create-virtual-machine.md) et [1.5: Configuration réseau et mise à jour](../1-virtual-machine/setup-virtual-network.md)
 
-
 ## Etape 2 : Installer un serveur Nginx
 
 Maintenant, il faut installer sur cette machine un serveur Nginx, qui redirigera les requetes vers notre autre serveur.
@@ -34,7 +32,6 @@ Pour cela, consultez [3.1 : Mise en place de l'accès au service HTTP sur la VM]
 
 ## Etape 3 
 
-
 ## Etape x : Redirection de port
 
 Modifier votre config ssh `~/.ssh/config` pour que l'ancienne machine virtuelle ne soit plus directement accessible sur le port 8008 de la machine physique.
@@ -47,9 +44,5 @@ Puis, ajoutez cette ligne pour que le reverse proxy soit accessible sur le port
 
 > LocalForward 9090 10.42.154.2:80
 
-
-
-
-
 - Page précédente: [4.1 Installation de Element Web](./install-element-web.md)
-- Page suivante: [SOMMAIRE]()
\ No newline at end of file
+- Page suivante: [Sommaire (partie 5)]()
\ No newline at end of file
diff --git a/resources/script-synapse.png b/resources/script-synapse.png
new file mode 100644
index 0000000000000000000000000000000000000000..c5c24ced41eab96a4ea726a05b35420787a78e20
Binary files /dev/null and b/resources/script-synapse.png differ
diff --git a/resources/synapse-running.png b/resources/synapse-running.png
new file mode 100644
index 0000000000000000000000000000000000000000..9e468459cd386c9616119b09e89a8c334765ab18
Binary files /dev/null and b/resources/synapse-running.png differ