From 0f1f3c020d5e9b9cdcdf6d9c790c9bacc2d14d91 Mon Sep 17 00:00:00 2001
From: Matias Mennecart <matias.mennecart.etu@univ-lille.fr>
Date: Tue, 7 Jan 2025 11:53:54 +0100
Subject: [PATCH] edit partie 3

---
 README.md                                     |  6 +-
 procedures/3-synapse/README.md                |  6 +-
 procedures/3-synapse/connect-matrix-server.md |  6 --
 procedures/3-synapse/create-manage-vm.md      |  6 --
 procedures/3-synapse/http-service-vm.md       |  2 +-
 ...ig-matrix.md => install-config-synapse.md} |  2 +-
 procedures/3-synapse/set-physical-machine.md  | 68 ++++++++++++++++++-
 7 files changed, 72 insertions(+), 24 deletions(-)
 delete mode 100644 procedures/3-synapse/connect-matrix-server.md
 delete mode 100644 procedures/3-synapse/create-manage-vm.md
 rename procedures/3-synapse/{install-config-matrix.md => install-config-synapse.md} (94%)

diff --git a/README.md b/README.md
index f508aca..5c2d8ea 100644
--- a/README.md
+++ b/README.md
@@ -38,10 +38,8 @@ Afin de procéder à une installation correcte de Synapse, l'ensemble des procé
 ### [Sommaire](./procedures/3-synapse/README.md)
 
 - [3.1: Mise en place de l'accès au service HTTP sur la VM](./procedures/3-synapse/http-service-vm.md)
-- [3.2: Installation et configuration de Matrix](./procedures/3-synapse/install-config-matrix.md)
-- [3.3: Création et gestion de la machine virtuelle](./procedures/3-synapse/create-manage-vm.md)
-- [3.4: Connexion au serveur Matrix](./procedures/3-synapse/connect-matrix-server.md)
-- [3.5: Attribution d'une nouvelle machine physique](./procedures/3-synapse/set-physical-machine.md)
+- [3.2: Installation et configuration de Synapse](./procedures/3-synapse/install-config-synapse.md)
+- [3.5: Changement de Machine physique](./procedures/3-synapse/set-physical-machine.md)
 
 # 🚀 PARTIE 4: Configuration du client Element et reverse proxy
 
diff --git a/procedures/3-synapse/README.md b/procedures/3-synapse/README.md
index 619d46a..9871150 100644
--- a/procedures/3-synapse/README.md
+++ b/procedures/3-synapse/README.md
@@ -5,10 +5,8 @@
 # Sommaire
 
 - [3.1: Mise en place de l'accès au service HTTP sur la VM](./http-service-vm.md)
-- [3.2: Installation et configuration de Matrix](./install-config-matrix.md)
-- [3.3: Création et gestion de la machine virtuelle](./create-manage-vm.md)
-- [3.4: Connexion au serveur Matrix](./connect-matrix-server.md)
-- [3.5: Attribution d'une nouvelle machine physique](./set-physical-machine.md)
+- [3.2: Installation et configuration de Synapse](./install-config-synapse.md)
+- [3.3: Attribution d'une nouvelle machine physique](./set-physical-machine.md)
 
 <hr>
 
diff --git a/procedures/3-synapse/connect-matrix-server.md b/procedures/3-synapse/connect-matrix-server.md
deleted file mode 100644
index efd32e2..0000000
--- a/procedures/3-synapse/connect-matrix-server.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# 3.4 : Connexion au serveur Matrix
-
-<hr>
-
-- Page précédente: [Création et gestion de la machine virtuelle](./create-manage-vm.md)
-- Page suivante: [Attribution d'une nouvelle machine physique](./set-physical-machine.md)
\ No newline at end of file
diff --git a/procedures/3-synapse/create-manage-vm.md b/procedures/3-synapse/create-manage-vm.md
deleted file mode 100644
index 9a383d9..0000000
--- a/procedures/3-synapse/create-manage-vm.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# 3.3 : Création et gestion de la machine virtuelle
-
-<hr>
-
-- Page précédente: [Installation et configuration de Matrix](./install-config-matrix.md)
-- Page suivante: [Connexion au serveur Matrix](./connect-matrix-server.md)
\ No newline at end of file
diff --git a/procedures/3-synapse/http-service-vm.md b/procedures/3-synapse/http-service-vm.md
index 22a42d6..7783246 100644
--- a/procedures/3-synapse/http-service-vm.md
+++ b/procedures/3-synapse/http-service-vm.md
@@ -120,4 +120,4 @@ Vous pouvez maintenant accéder au serveur nginx de la VM via `http://localhost:
 <hr>
 
 - Page précédente: [Sommaire (partie 3)](./README.md)
-- Page suivante: [Installation et configuration de Matrix](./install-config-matrix.md)
\ No newline at end of file
+- Page suivante: [Installation et configuration de Synapse](./install-config-synapse.md)
\ No newline at end of file
diff --git a/procedures/3-synapse/install-config-matrix.md b/procedures/3-synapse/install-config-synapse.md
similarity index 94%
rename from procedures/3-synapse/install-config-matrix.md
rename to procedures/3-synapse/install-config-synapse.md
index b7a2cd9..dddedb6 100644
--- a/procedures/3-synapse/install-config-matrix.md
+++ b/procedures/3-synapse/install-config-synapse.md
@@ -28,4 +28,4 @@ Le serveur écrira ses messages à destination de l’administrateur (les logs)
 <hr>
 
 - Page précédente: [Mise en place de l'accès au service HTTP sur la VM](./http-service-vm.md)
-- Page suivante: [Création et gestion de la machine virtuelle](./create-manage-vm.md)
\ No newline at end of file
+- Page suivante: [Changement de 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 0f124ee..2cc0eb6 100644
--- a/procedures/3-synapse/set-physical-machine.md
+++ b/procedures/3-synapse/set-physical-machine.md
@@ -1,6 +1,70 @@
-# 3.5 : Attribution d'une nouvelle machine physique
+# 3.3 : Attribution d'une nouvelle machine physique
+
+
+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.
+
+
+Pour effectuer ce changement, vous devez suivre ces étapes: 
+
+
+-   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
+
+
+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
+#!/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."
+  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
+
+# 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
+
+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 "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
+
+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"
+
+echo "Le processus est terminé."
+
+
+```
+
+
+Une fois le script modifier executer le avec comme argument l'url de la nouvelle machine : 
+
+> sudo sh script.sh machine.iutinfo.fr:8008
 
 <hr>
 
-- Page précédente: [Connexion au serveur Matrix](./connect-matrix-server.md)
+- Page précédente: [Connexion au serveur Matrix](./install-config-synapse.md)
 - Page suivante: [Sommaire (partie 4)](../4-element-proxy/README.md)
\ No newline at end of file
-- 
GitLab