diff --git a/Twidder (Lab3)/database.db b/Twidder (Lab3)/database.db
index e782f056d664cc752ac1faf34ef066c94f2b9145..bd4569e38b3cb72f36be9709fc76c9f269776383 100644
Binary files a/Twidder (Lab3)/database.db and b/Twidder (Lab3)/database.db differ
diff --git a/Twidder (Lab3)/server.py b/Twidder (Lab3)/server.py
index 8b4cafc5917e95901e04e1a51e7c672a98d583e6..e3056fa4e226e39f981a18613fc040320688a126 100644
--- a/Twidder (Lab3)/server.py	
+++ b/Twidder (Lab3)/server.py	
@@ -29,6 +29,19 @@ def echo_connection_socket(ws):
         else:
             print("email error")
 
+@sockets.route("/profil_view")
+def socket_connection(ws):
+    while True:
+        token = ws.receive()
+        email = database_helper.tokenToEmail(token)
+        if email:
+            if email in loggedIn_for_ws:
+                loggedIn_for_ws[email] = ws
+                print("loggedIn_for_ws : ", loggedIn_for_ws)
+            else:
+                print("ERROR : ", email, " not connected")
+        else:
+            print("ERROR : ", email, " not found")
 
 @app.route("/", methods = ['GET'])
 def hello_world():
@@ -76,6 +89,7 @@ def sign_in():
             }
             print("token : ", token)
             if database_helper.addToLoggedInUsers(token, data['email']):
+                check_reconnection(data['email'])
                 return jsonify(value), 201
             else:
                 return "", 409
@@ -244,6 +258,16 @@ def is_valid_email(email):
     pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
     return re.match(pattern, email) is not None
 
+def check_reconnection(email):
+    if email in loggedIn_for_ws:
+        old_ws = loggedIn_for_ws[email]
+        old_ws.send("Disconnect")
+        old_ws.close()
+        print(email, "first connection disconnected")
+        loggedIn_for_ws[email] = -1
+    else:
+        loggedIn_for_ws[email] = -1
+    
 
 if __name__ == '__main__':
     # waitress.serve(app, host='0.0.0.0', port=5000, threads=4)  #http://localhost:5000
diff --git a/Twidder (Lab3)/static/client.js b/Twidder (Lab3)/static/client.js
index 89997231b97281f5b94626ba342543f739de4170..b4e578644103d57b952f901328b8bcf595108430 100644
--- a/Twidder (Lab3)/static/client.js	
+++ b/Twidder (Lab3)/static/client.js	
@@ -27,7 +27,8 @@ function displayWelcomeView() {
 }
 
 function displayProfilView() {
-  let ws = new WebSocket('ws://' + window.location.host + '/echo_connection')
+  //let ws = new WebSocket('ws://' + window.location.host + '/echo_connection')
+  let ws = new WebSocket('ws://' + window.location.host + '/profil_view')
   ws.onopen = function(event) {
     console.log("WebSocket connection established !");
     ws.send(localStorage.getItem("token"));