diff --git a/web/assets/brand/brand.js b/web/assets/brand/brand.js
index ee52b4de244ba72b3a7ac96712d8b6934b2d2b46..9f20fb0529bca254e3051afa76b130bf11e15b7e 100644
--- a/web/assets/brand/brand.js
+++ b/web/assets/brand/brand.js
@@ -1,3 +1,3 @@
-export const windowTitle = "SDK-GO";
-export const navTitle = "SDK-GO";
+export const windowTitle = "Elections";
+export const navTitle = "Elections";
 export const loginModes = { inmemory: true, oauth2: true };
diff --git a/web/components/home/home.js b/web/components/home/home.js
index 97b7678e4d7dc7bce02a857ee115411ad6bb91ee..7c041869da630a4918f62d3bd66a79aaf8ca1326 100644
--- a/web/components/home/home.js
+++ b/web/components/home/home.js
@@ -10,9 +10,9 @@ export async function mount(where) {
   document.getElementById(mountpoint).innerHTML = /* HTML */ `
     <section class="section">
       <div class="container">
-        <h1 class="title">Accueil de la GO-banque</h1>
+        <h1 class="title">Accueil</h1>
         <h2 class="subtitle">
-          Ceci est une application de démonstration du SDK écrit en GO avec GORM et Vanilla JS avec le framework CSS Bulma.
+          Cette application permet de gérer, saisir et voir les résultats d'une élection.
         </h2>
       </div>
     </section>
diff --git a/web/components/management/election.js b/web/components/management/election.js
new file mode 100644
index 0000000000000000000000000000000000000000..c7eaf2293d6c5d6f25de1df9b5223e3da6d271ce
--- /dev/null
+++ b/web/components/management/election.js
@@ -0,0 +1,24 @@
+// Imports
+import * as Auth from "/services/auth/auth.js";
+
+// DOM elements
+
+// local variables
+let current_user;
+
+export async function mount(where) {
+  const roundComponent = new Election();
+  await roundComponent.mount(where);
+}
+
+class Election {
+  constructor() {}
+
+  async mount(where) {
+    const mountpoint = where;
+    document.getElementById(mountpoint).innerHTML = /* HTML */ `
+      Ceci est une élection
+    `;
+    current_user = await Auth.GetUser();
+  }
+}
diff --git a/web/components/management/management.js b/web/components/management/management.js
new file mode 100644
index 0000000000000000000000000000000000000000..ab678413f85c45ee4ccff2593d62730d8aec9ffa
--- /dev/null
+++ b/web/components/management/management.js
@@ -0,0 +1,62 @@
+// Imports
+import * as Auth from "/services/auth/auth.js";
+import * as Election from "/components/management/election.js";
+import * as Round from "/components/management/round.js";
+
+// DOM elements
+
+// local variables
+let current_user;
+
+export async function mount(where) {
+  const managementPage = new Management();
+  await managementPage.mount(where);
+}
+
+class Management {
+  constructor() {}
+
+  async mount(where) {
+    const mountpoint = where;
+    document.getElementById(mountpoint).innerHTML = /* HTML */ `
+      <div class="tabs is-boxed is-toggle is-fullwidth">
+        <ul>
+          <li id="election" class="is-active">
+            <a>
+              <span class="icon is-small"
+                ><i class="fas fa-vote-yea" aria-hidden="true"></i
+              ></span>
+              <span>Election</span>
+            </a>
+          </li>
+          <li id="round">
+            <a>
+              <span class="icon is-small"
+                ><i class="fas fa-calendar" aria-hidden="true"></i
+              ></span>
+              <span>Tour</span>
+            </a>
+          </li>
+        </ul>
+      </div>
+      <section class="section" id="management-section" style="margin-bottom: 230px;"></section>
+    `;
+    current_user = await Auth.GetUser();
+    this.handleDom();
+    document.getElementById("election").click()
+
+  }
+
+  handleDom(){
+      document.getElementById("election").addEventListener("click", async function (){
+        await Election.mount("management-section");
+        document.getElementById("election").setAttribute("class", "is-active")
+        document.getElementById("round").setAttribute("class", "")
+    });
+    document.getElementById("round").addEventListener("click", async function (){
+        await Round.mount("management-section");
+        document.getElementById("election").setAttribute("class", "")
+        document.getElementById("round").setAttribute("class", "is-active")
+      });
+  }
+}
diff --git a/web/components/management/round.js b/web/components/management/round.js
new file mode 100644
index 0000000000000000000000000000000000000000..74f89479bea3577d2db82d36237217f080ef90b3
--- /dev/null
+++ b/web/components/management/round.js
@@ -0,0 +1,24 @@
+// Imports
+import * as Auth from "/services/auth/auth.js";
+
+// DOM elements
+
+// local variables
+let current_user;
+
+export async function mount(where) {
+  const roundComponent = new Round();
+  await roundComponent.mount(where);
+}
+
+class Round {
+  constructor() {}
+
+  async mount(where) {
+    const mountpoint = where;
+    document.getElementById(mountpoint).innerHTML = /* HTML */ `
+      Ceci est un tour d'élection.
+    `;
+    current_user = await Auth.GetUser();
+  }
+}
diff --git a/web/components/navbar/navbar.js b/web/components/navbar/navbar.js
index 98229b691b1afff8b361c05d332afd86864c620d..0e5145ca45d2b4e8c143e61c6f453a1e90375460 100644
--- a/web/components/navbar/navbar.js
+++ b/web/components/navbar/navbar.js
@@ -54,6 +54,7 @@ export async function CreateMenu() {
                   <a class="navbar-item" href="#home"><i class="navbar-menu-icon fas fa-home"></i>Accueil</a>
                   ${user.role == "ADMIN"
                     ? /* HTML */ `
+                        <a class="navbar-item" href="#management"><i class="navbar-menu-icon fas fa-edit"></i>Gestion</a>
                         <a class="navbar-item" href="#users"><i class="navbar-menu-icon fas fa-users"></i>Utilisateurs</a>
                       `
                     : ""}
diff --git a/web/index.html b/web/index.html
index f8494dc3695f8806dd165177831402ecf051dfce..b294e902ff2fe7d89f084cac169f75e1063ec8f1 100644
--- a/web/index.html
+++ b/web/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html lang="en" class="has-navbar-fixed-top">
   <head>
-    <title>SDK-GO</title>
+    <title>Elections</title>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1" />
     <link rel="icon" href="assets/brand/favicon.ico" />
@@ -28,7 +28,7 @@
       <div class="navbar-brand">
         <div class="navbar-item">
           <div class="buttons">
-            <a class="button is-danger" href="https://forge.grandlyon.com/apoyen/sdk-go" target="_blank" rel="noopener noreferrer">
+            <a class="button is-danger" href="https://forge.grandlyon.com/apoyen/elections" target="_blank" rel="noopener noreferrer">
               <span class="icon">
                 <svg
                   class="svg-inline--fa fa-gitlab fa-w-16"
diff --git a/web/main.js b/web/main.js
index 552aa2f30d1eec6aa2076cdfcc5cc35c639226fb..fd9f743b458ca29deacd92ac35777d18ade7bec3 100644
--- a/web/main.js
+++ b/web/main.js
@@ -1,5 +1,6 @@
 import * as Home from "/components/home/home.js";
 import * as Users from "/components/users/users.js";
+import * as Management from "/components/management/management.js";
 import * as Login from "/components/login/login.js";
 import * as Navbar from "/components/navbar/navbar.js";
 import { AnimateCSS } from "/services/common/common.js";
@@ -27,6 +28,11 @@ async function navigate() {
         await Users.mount("main");
       });
       break;
+    case "#management":
+      load(mountPoint, async function () {
+        await Management.mount("main");
+      });
+      break;
     case "#login":
       load(mountPoint, async function () {
         await Login.mount("main");