diff --git a/index.php b/index.php
index accbbabdfb8206740c46298d11977472278c94ec..3cf41d7942ee4552be3491e187c6543a62b5918f 100644
--- a/index.php
+++ b/index.php
@@ -28,8 +28,7 @@
     <main id="mainContainer" class="container-fluid">
       <?php require_once('src/html/dashboard.html'); ?>
       <?php require_once('src/html/members.html'); ?>
-      <?php require_once('src/html/member.html'); ?>
-      <?php require_once('src/html/edit-profile.html'); ?>
+      <?php require_once('src/html/member.php'); ?>
       <?php require_once('src/html/projects.html'); ?>
       <?php require_once('src/html/project.html'); ?>
       <?php require_once('src/html/project-creation.html'); ?>
@@ -43,52 +42,53 @@
     </main>
 
     <!-- This is a hack : https://git.happy-dev.fr/happy-dev/xmpp-chat-component/issues/24 -->
-    <!--sib-chat
+    <sib-chat
+      id="chat-singleton"
       data-src="https://djangoldp.happy-dev.fr/users/1"
       data-authentication="login"
       data-auto-login="true"
       data-bosh-service-url="http://jabber.happy-dev.fr/http-bind/" // FIXME: make HTTPS
       data-debug="false"
       data-locales-url="node_modules/converse.js/locale/{{{locale}}}/LC_MESSAGES/converse.json">
-    </sib-chat-->
+    </sib-chat>
 
     <script>
       // Store url on load
       var currentRoute  = getCurrentRoute();
+      var previousRoute = "";
       var chatSingleton = document.querySelector("#chat-singleton");
       var body          = document.querySelector("body");
 
       function getCurrentRoute() {
         var pathnameSegments = window.location.pathname.split("/");
 
-        return pathnameSegments[1];
+        return pathnameSegments[pathnameSegments.length - 1];
       }
 
       // Listen for changes
-      //setInterval(function() {
-          //if (currentRoute != window.location.href) {
-            //currentRoute = getCurrentRoute();
+      setInterval(function() {
+        previousRoute = currentRoute;
+        currentRoute  = getCurrentRoute();
 
-            //insertChatIfNeeded();
-          //}
-      //}, 250);
+        if (previousRoute !== currentRoute) {
+          insertChatIfNeeded();
+        }
+      }, 250);
 
       // Inserts a chat in the current view if needed
       function insertChatIfNeeded() {
-        if (["project", "project-chat", "channel", "channel-chat", "member", "member-chat"].indexOf(currentRoute) > -1) {
-          if (currentRoute.indexOf("chat") == -1) {
-            currentRoute += "-chat";
-          }
+        console.log(currentRoute);
+        if (["project-chat", "channel-chat", "member-chat"].indexOf(currentRoute) > -1) {
           var currentView = document.querySelector("#" + currentRoute);
           if (currentView.querySelector("sib-chat") == null) {
             currentView.appendChild(chatSingleton);
-            currentView.style.display = 'block';
           }
         }
         else {
           body.appendChild(chatSingleton);
         }
       }
+      insertChatIfNeeded();
     </script>
   </body>
 </html>
diff --git a/src/html/member-chat.html b/src/html/member-chat.html
new file mode 100644
index 0000000000000000000000000000000000000000..7f11c51867a030247c0e157d9785b798e7358c7f
--- /dev/null
+++ b/src/html/member-chat.html
@@ -0,0 +1,2 @@
+<div id="member-chat" style="display: none">
+</div>
diff --git a/src/html/edit-profile.html b/src/html/member-edit-profile.html
similarity index 96%
rename from src/html/edit-profile.html
rename to src/html/member-edit-profile.html
index 76ab73c695f139e07f589101f2292595ae590419..d9b4f2ba8a47cd2747e945b4448dfe1199bfa937 100644
--- a/src/html/edit-profile.html
+++ b/src/html/member-edit-profile.html
@@ -17,7 +17,7 @@
   //widget-avatar="ldp-form-img-upload"
 </script>
 
-<div id="edit-profile" style="display: none">
+<div id="member-edit-profile" style="display: none">
   <label for="avatar-input">
     <img id="avatar-preview" src="http://cdn.local/hdapp/members/alexandre-bourlier.jpg" style="width: 100%;"/>
   </label>
@@ -25,7 +25,7 @@
 
   <sib-form 
     class="edit-form"
-    data-src="<?php echo $sdn; ?>/members/1/" 
+    bind-resources
   ></sib-form>
 </div>
 
diff --git a/src/html/member-profile.html b/src/html/member-profile.html
new file mode 100644
index 0000000000000000000000000000000000000000..6e97f4cd5694c32af401725050ffb83f73a5b96b
--- /dev/null
+++ b/src/html/member-profile.html
@@ -0,0 +1,13 @@
+<div id="member-profile" style="display: none">
+  <sib-display 
+    id="member-info" 
+    data-fields="avatar, user, before-pseudo, pseudo, bio, cell, number, roles, website, skills"
+    widget-avatar="sib-display-img"
+    widget-user="hdapp-userinfo"
+    widget-cell="hdapp-usercell"
+    widget-number="sib-display-tel"
+    widget-roles="sib-display-lookuplist"
+    widget-skills="sib-display-lookuplist"
+    bind-resources
+  ></sib-display>
+</div>
diff --git a/src/html/member.html b/src/html/member.html
deleted file mode 100644
index 5d82e401ed8a08eab904803145b33e8635e5c226..0000000000000000000000000000000000000000
--- a/src/html/member.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<div id="member" class="view-with-vertical-menu" style="display: none">
-  <div class="section info">
-    <i class="fa fa-pencil" aria-hidden="true"></i>
-    <i class="name fa fa-pencil" aria-hidden="true"></i>
-
-    <sib-display 
-      id="member-info" 
-      data-fields="avatar, user, before-pseudo, pseudo, bio, cell, number, roles, website, skills"
-      widget-avatar="sib-display-img"
-      widget-user="hdapp-userinfo"
-      widget-cell="hdapp-usercell"
-      widget-number="sib-display-tel"
-      widget-roles="sib-display-lookuplist"
-      widget-skills="sib-display-lookuplist"
-      bind-resources
-    ></sib-display>
-  </div>
-</div>
-
-<script>
-  document.querySelectorAll("#member-detail .fa-pencil").forEach((el) => {
-    el.addEventListener("click", (e) => {
-      document.getElementById('navbar-router').navigate('edit-profile');
-    });
-  });
-</script>
diff --git a/src/html/member.php b/src/html/member.php
new file mode 100644
index 0000000000000000000000000000000000000000..8b092d2e64595b7e67630c256afa95c4840da7da
--- /dev/null
+++ b/src/html/member.php
@@ -0,0 +1,21 @@
+<div id="member" style="display: none">
+  <div class="section info">
+    <sib-router id="member-router" default-route="member-profile">
+      <sib-route name="member-chat">
+        <button>Chat</button>
+      </sib-route>
+      <sib-route name="member-profile">
+        <button>Voir</button>
+      </sib-route>
+      <sib-route name="member-edit-profile">
+        <button>Éditer</button>
+      </sib-route>
+    </sib-router>
+
+    <div id="member-views-container">
+      <?php require_once('member-chat.html'); ?>
+      <?php require_once('member-profile.html'); ?>
+      <?php require_once('member-edit-profile.html'); ?>
+    </div>
+  </div>
+</div>
diff --git a/src/html/menu.html b/src/html/menu.html
index e6ccd8fe48e5a0e1058cfe0df95f63da0f4b5985..76fe56ba3e079a94c3de5686aafbe4fedad838f1 100644
--- a/src/html/menu.html
+++ b/src/html/menu.html
@@ -11,7 +11,6 @@
         <span class="d-none d-md-inline">Membres</span>
       </sib-route>
       <sib-route class="d-none" name="member" id-prefix="<?php echo $sdn; ?>/members/"></sib-route>
-      <sib-route class="d-none" name="edit-profile" id-prefix="<?php echo $sdn; ?>/members/"></sib-route>
 
       <sib-route class="nav-item pb-2 align-self-stretch text-center text-md-left" name="projects">
         <i class="fa fa-tasks" aria-hidden="true"></i>
diff --git a/src/scss/_chat.scss b/src/scss/_chat.scss
new file mode 100644
index 0000000000000000000000000000000000000000..757745413fb37c407a0c3d99553e3885b22e1929
--- /dev/null
+++ b/src/scss/_chat.scss
@@ -0,0 +1,17 @@
+sib-chat {
+  position:       absolute;
+  top:            $menu-height;
+  bottom:         0px;
+  left:           0px;
+  right:          0px;
+  margin:         auto;
+  display:        none;
+}
+
+#member-chat {
+  sib-chat {
+    display:  block;
+    top:      $menu-height + 30px;
+  }
+}
+
diff --git a/src/scss/_member.scss b/src/scss/_member.scss
index 359cb2ac00b33ed458bed2f7e66e6b336b643ae5..122b5b6871f0d618a022eec5dc83b44600e99c12 100644
--- a/src/scss/_member.scss
+++ b/src/scss/_member.scss
@@ -32,8 +32,8 @@
 
 #member-detail {
   #member-info {
-    ldp-display-mailto,
-    ldp-display-tel {
+    sib-display-mailto,
+    sib-display-tel {
       display:    block;
     }
 
@@ -63,18 +63,6 @@
   .section {
     position: relative;
 
-    i {
-      position:     absolute;
-      display:      block;
-      top:          5px;
-      right:        10px;
-      cursor:       pointer;
-
-      &.name {
-        top:    290px;
-      }
-    }
-
     h2 {
       @extend %detail-section;
       margin-top:  40px;
@@ -85,7 +73,7 @@
     display:      flex;
     flex-wrap:    wrap;
 
-    ldp-display {
+    sib-display {
       display:            block;
       background-color:   $hd-color; 
       color:              white;
@@ -100,7 +88,7 @@
 @media (min-width: $sm-with) {
   #member-detail {
     #member-info {
-      ldp-display-img {
+      sib-display-img {
         display:  block;
         float:    right;
         width:    300px;
diff --git a/src/scss/_styles.scss b/src/scss/_styles.scss
index d80d3a8205cb6f5e8eb5a0b23cc4aa9c2e9d676d..cd6f4d3a4008dcc3409029d8632362ac46ff1773 100644
--- a/src/scss/_styles.scss
+++ b/src/scss/_styles.scss
@@ -11,19 +11,3 @@ html, body, #mainContainer {
   padding-top:   $menu-height;
 }
 
-hd-chat-window {
-  position:       absolute;
-  top:            0px;
-  bottom:         0px;
-  left:           0px;
-  right:          0px;
-  margin:         auto;
-  padding-top:    $menu-height;
-  padding-right:  $vertical-menu-width;
-  display:        none;
-}
-.chat-wrapper {
-  hd-chat-window {
-    display:  block;
-  }
-}
diff --git a/src/scss/main.scss b/src/scss/main.scss
index 8bd5639599010d37ffbe6c4fe482eb0d0cfb33e5..a2c5a2e33b57a35bd9e0160cd1efec53cac563dc 100644
--- a/src/scss/main.scss
+++ b/src/scss/main.scss
@@ -17,3 +17,4 @@
 @import "channels";
 @import "channel";
 @import "search";
+@import "chat";