From 2bf48e4f6354d3dd99bcb5a3d25b52a0defe90bf Mon Sep 17 00:00:00 2001
From: ping <dev@guillaumepin.ch>
Date: Wed, 1 Dec 2021 11:54:32 +0100
Subject: [PATCH] Add README.md

---
 README.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)
 create mode 100644 README.md

diff --git a/README.md b/README.md
new file mode 100644
index 0000000..a1a44ed
--- /dev/null
+++ b/README.md
@@ -0,0 +1,47 @@
+# Lab 2 : Distributed Systems
+Le but de ce laboratoire est d'implémenter l'aglorithme **Gnutella**. Nous avons du développer avec le langage **GO** et avec des sockets.
+
+## Utilisation
+Notre application prend en paramètre un fichier *.yaml* au même format que pour le Lab 1. 
+
+### Local
+En local, il faut utiliser des ports à la place des adresses dans le fichier *.yaml*.
+```
+git clone https://gitedu.hesge.ch/ilias.nhairi/sys_dist_lab2.git
+cd sys_dist_lab2
+go run server.go fichier.yaml
+```
+
+### Deploiment sur AWS
+Pour déployer sur AWS, nous avons créé un script **launch.sh** qui permet d'installer les dépendences, de clone le projet ainsi que de lancer le server.
+**ATTENTION, tous les scripts sont sur la branch deployment**
+Avant de lancer le script launch.sh, il faut modifier les adresses ip. Vu que ce n'est pas un tp de cloud, elles sont en brut dans les scripts. Il faut donc modifier le tableau d'adresses dans le fichier **launch.sh**. Ainsi que tous les fichiers **installX.sh**, pour remplacer les adresses en brut aux adresses des nouvelles VM.
+Nous avons généré une pair de cle RSA sans mot de passe, et nous avons utilisé la clef public comme moyen d'authentification sur les VM de ce labo.
+Une fois, que les adresses ont correctement été remplacées et que la clef publique a été ajouté pour s'authentifier sur les VMs. Il lancer le script **launch.sh**
+```
+./aws/launch.sh
+```
+
+### Client
+Nous avons developpé un client qui permet d'intérroger un noeud du système pour faire une recherche. **ATTENTION** le client est différent pour l'utilisation Local et Deploiment sur AWS.
+
+```
+# local
+go run client.go 3000 guigui.mp4
+# Deploiment sur AWS
+go run client.go 54.152.107.19 guigui.mp4
+```
+Le noeud sur lequel nous avons fait notre requête nous répond de cette façon :
+```
+arch ~/Documents/HEPIA/sys_dist/sys_dist_lab2 (deployment)$ go run client.go 54.152.107.19 ok.txt
+{"Id":"QiclnTRaeA3QDNkCIJXzSfetOur2x2xsVtO7otRIagE=","Filename":"ok.txt","Found":["54.85.93.127"]}
+arch ~/Documents/HEPIA/sys_dist/sys_dist_lab2 (deployment)$ go run client.go 54.152.107.19 guigui.mp4
+{"Id":"PfNqpxVfvQ+VSaEapmIQOhE90dlw4F26kcBC29TssZ8=","Filename":"guigui.mp4","Found":["54.152.107.19","54.85.93.127","52.207.247.83","184.72.207.132","54.152.139.5","54.224.181.40"]}
+arch ~/Documents/HEPIA/sys_dist/sys_dist_lab2 (deployment)$ go run client.go 54.152.107.19 ilil.py
+{"Id":"mAM8xcNsvl47V8eN/xPM0pVQvN+JvEfVkTQxXitrik8=","Filename":"ilil.py","Found":["54.224.181.40"]}
+```
+
+
+## Authors
+Ilias N'hairi
+Guillaume Pin
-- 
GitLab