diff --git a/web/components/vote/votes.js b/web/components/vote/votes.js
index 8ba6246677921199cf839ec858729869c399b105..e5e957fd6dab0d66f0ff82e4db91d2a16c5867a2 100644
--- a/web/components/vote/votes.js
+++ b/web/components/vote/votes.js
@@ -1,5 +1,11 @@
 // Imports
 import * as Auth from "/services/auth/auth.js";
+import * as ElectionModel from "/services/model/election-model.js";
+import * as RoundModel from "/services/model/round-model.js";
+import * as AreaModel from "/services/model/area-model.js";
+import * as SectionModel from "/services/model/section-model.js";
+import * as DeskModel from "/services/model/desk-model.js";
+import * as DeskRoundModel from "/services/model/deskRound-model.js";
 
 export async function mount(parent) {
   const voteComponent = new Vote(parent);
@@ -10,34 +16,84 @@ class Vote {
   constructor(parent) {
     this.method = null;
     this.parent = parent;
+    this.ElectionModel = ElectionModel.getElectionModel();
+    this.RoundModel = RoundModel.getRoundModel();
+    this.AreaModel = AreaModel.getAreaModel();
+    this.SectionModel = SectionModel.getSectionModel();
+    this.DeskModel = DeskModel.getDeskModel();
+    this.DeskRoundModel = DeskRoundModel.getDeskRoundModel();
   }
 
   async displayVotes(RoundID, AreaID, DeskRoundID) {
+    this.ElectionModel.current_user = await Auth.GetUser();
+    this.RoundModel.current_user = await Auth.GetUser();
+    this.AreaModel.current_user = await Auth.GetUser();
+    this.SectionModel.current_user = await Auth.GetUser();
+    this.DeskModel.current_user = await Auth.GetUser();
+    this.DeskRoundModel.current_user = await Auth.GetUser();
+
+    this.RoundID = RoundID;
+    this.AreaID = AreaID;
+    this.DeskRoundID = DeskRoundID;
+
     document.getElementById("vote-section").innerHTML = /* HTML */ `
       <header class="card-header">
-        <p class="card-header-title">
-          Votes
+      <p >
+        <nav class="breadcrumb card-header-title"  aria-label="breadcrumbs">
+          <ul id="vote-breadcrumb"></ul>
+        </nav>
         </p>
       </header>
       <div id="votes-tables" class="card-content"></div>
-        <nav class="level">
-          <div class="level-left"></div>
-          <div class="level-right">
-            <button id="votes-return" class="button is-danger level-item">
-              Retour
-            </button>
-            <button id="votes-cancel" class="button level-item">
-              Annuler
-            </button>
-            <button id="votes-save" class="button is-success level-item">
-              Sauvegarder
-            </button>
-          </div>
-        </nav>
+      <nav class="level">
+        <div class="level-left"></div>
+        <div class="level-right">
+          <button id="votes-return" class="button is-danger level-item">
+            Retour
+          </button>
+          <button id="votes-cancel" class="button level-item">
+            Annuler
+          </button>
+          <button id="votes-save" class="button is-success level-item">
+            Sauvegarder
+          </button>
+        </div>
+      </nav>
     `;
     this.handleDom();
-    await this.loadElection();
+
+    await this.refreshBreadCrumb();
   }
 
   handleDom() {}
+  async refreshBreadCrumb() {
+    let round = await this.RoundModel.getRound(this.RoundID);
+    let election = await this.ElectionModel.getElection(round.ElectionID);
+    let area = await this.AreaModel.getArea(this.AreaID);
+    let deskRound = await this.DeskRoundModel.getDeskRound(this.DeskRoundID);
+    let desk = await this.DeskModel.getDesk(deskRound.DeskID);
+    let section = await this.SectionModel.getSection(desk.SectionID);
+
+    let breadcrumb = document.getElementById("vote-breadcrumb");
+    let el = document.createElement("li");
+    el.innerHTML = "<a>" + election.Name + "</a>";
+    breadcrumb.appendChild(el);
+    el = document.createElement("li");
+    el.innerHTML =
+      "<a>tour : " +
+      round.Round +
+      ", date : " +
+      new Date(round.Date).toLocaleDateString() +
+      "</a>";
+    breadcrumb.appendChild(el);
+    el = document.createElement("li");
+    el.innerHTML = "<a>" + area.Name + "</a>";
+    breadcrumb.appendChild(el);
+    el = document.createElement("li");
+    el.innerHTML = "<a>" + section.Name + "</a>";
+    breadcrumb.appendChild(el);
+    el = document.createElement("li");
+    el.innerHTML = "<a>" + desk.Name + "</a>";
+    breadcrumb.appendChild(el);
+  }
 }
diff --git a/web/style.css b/web/style.css
index df4b86c774e0316302ab7cf4d7b26d06d5b017f9..6d759601971ee417ae2223c627037b312ed3a717 100644
--- a/web/style.css
+++ b/web/style.css
@@ -135,8 +135,13 @@ select {
 
 .upper-text {
   writing-mode: sideways-lr;
-  background-color: rgba(55,122,195,.95);
+  background-color: rgba(55, 122, 195, 0.95);
   text-orientation: sideways-right;
   text-align: center;
   cursor: pointer;
 }
+
+#vote-breadcrumb a {
+  color: #000;
+  cursor: default;
+}