diff --git a/package-lock.json b/package-lock.json
index 39968bba3cfff64c3bdff2b2f6e219961564223f..f72fd712eda7ae802625127c3329e8bee6809a18 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -366,7 +366,7 @@
       "resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-6.4.5.tgz",
       "integrity": "sha512-xgPMnntOfwTX4Uuz7g/GQ4IcRn6tiSJCGSikwTK5yRJjUEGguHmBch57q2Xjr/A+WfmGYZnVfzy3V9t/XsNKqA==",
       "requires": {
-        "tslib": "^1.7.1"
+        "tslib": "1.9.0"
       }
     },
     "@angular/platform-browser": {
diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts
index 2927e5a17a0686ea5610a543d7de975614b0a762..ebc3214ce91830b8876620d274fce13fb9918781 100644
--- a/src/app/app-routing.module.ts
+++ b/src/app/app-routing.module.ts
@@ -11,14 +11,9 @@ const routes: Routes = [
     loadChildren: './showcase-site/showcase-site.module#ShowcaseSiteModule',
   },
   {
-    path: 'sorties',
+    path: 'membres',
     canActivate: [AuthGuard],
-    loadChildren: './visits/visits.module#VisitsModule',
-  },
-  {
-    path: 'projets',
-    canActivate: [AuthGuard],
-    loadChildren: './projects/projects.module#ProjectsModule',
+    loadChildren: './members/members.module#MembersModule',
   },
   {
     path: 'connexion',
diff --git a/src/app/login/login.component.ts b/src/app/login/login.component.ts
index d05716f79efd6ef3d6079f88337ea1d8b200fede..5070b7c97539b16b023d027162da709e04c7cd01 100644
--- a/src/app/login/login.component.ts
+++ b/src/app/login/login.component.ts
@@ -14,7 +14,7 @@ import { filter, map, tap, catchError } from 'rxjs/operators';
 export class LoginComponent implements OnInit {
 
   loading: boolean = false;
-  defaultRedirectUrl: string = '/';
+  defaultRedirectUrl: string = '/membres';
   formGroup: FormGroup;
 
   constructor(
diff --git a/src/app/members/members-routing.module.ts b/src/app/members/members-routing.module.ts
new file mode 100644
index 0000000000000000000000000000000000000000..8f94e2294c33864ffde09bb1a4d45192db04f9bd
--- /dev/null
+++ b/src/app/members/members-routing.module.ts
@@ -0,0 +1,37 @@
+import { NgModule } from '@angular/core';
+import { RouterModule, Routes } from '@angular/router';
+import { AuthGuard, MapsAPIResolver } from 'app/core';
+
+import { MembersComponent } from './members.component';
+import { StudentHomeComponent } from './student-home/student-home.component';
+
+const routes: Routes = [
+  {
+    path: '',
+    component: MembersComponent,
+    canActivate: [AuthGuard],
+    children: [
+      {
+        path: '',
+        data: { title: 'Accueil' },
+        component: StudentHomeComponent,
+      },
+      {
+        path: 'sorties',
+        canActivate: [AuthGuard],
+        loadChildren: './visits/visits.module#VisitsModule',
+      },
+      {
+        path: 'projets',
+        canActivate: [AuthGuard],
+        loadChildren: './projects/projects.module#ProjectsModule',
+      },
+    ]
+  },
+];
+
+@NgModule({
+  imports: [RouterModule.forChild(routes)],
+  exports: [RouterModule]
+})
+export class MembersRoutingModule { }
diff --git a/src/app/members/members.component.html b/src/app/members/members.component.html
new file mode 100644
index 0000000000000000000000000000000000000000..8fb334d434c6aeb778dfbc5a923427d45e729e4c
--- /dev/null
+++ b/src/app/members/members.component.html
@@ -0,0 +1 @@
+<app-layout [links]="navLinks" theme="blue"></app-layout>
diff --git a/src/app/projects/activate-dialog/activate-dialog.component.scss b/src/app/members/members.component.scss
similarity index 100%
rename from src/app/projects/activate-dialog/activate-dialog.component.scss
rename to src/app/members/members.component.scss
diff --git a/src/app/members/members.component.ts b/src/app/members/members.component.ts
new file mode 100644
index 0000000000000000000000000000000000000000..18629a484b44034b44057d56b77895cf922a4619
--- /dev/null
+++ b/src/app/members/members.component.ts
@@ -0,0 +1,30 @@
+import { Component } from '@angular/core';
+import { Router } from '@angular/router';
+import { AuthService } from 'app/core';
+import { Link } from 'app/shared';
+
+@Component({
+  selector: 'app-members',
+  templateUrl: './members.component.html',
+  styleUrls: ['./members.component.scss']
+})
+export class MembersComponent {
+
+  constructor(
+    private auth: AuthService,
+    private router: Router,
+  ) { }
+
+  navLinks: Link[] = [
+    { href: './', text: 'Mon espace' },
+    { href: './projets', text: 'Nos projets' },
+    { href: './sorties', text: 'Nos sorties' },
+    { text: 'Déconnexion', action: () => this.logout() },
+  ];
+
+  private logout() {
+    this.auth.logout();
+    this.router.navigate(['/']);
+  }
+
+}
diff --git a/src/app/members/members.module.ts b/src/app/members/members.module.ts
new file mode 100644
index 0000000000000000000000000000000000000000..4370fa8d04f2277fab49cf880dcc45ca7e6d56ed
--- /dev/null
+++ b/src/app/members/members.module.ts
@@ -0,0 +1,31 @@
+import { NgModule } from '@angular/core';
+
+// Modules
+import { CommonModule } from '@angular/common';
+import { RouterModule } from '@angular/router';
+import { CoreModule } from 'app/core';
+import { SharedModule } from 'app/shared';
+import { PanesModule } from 'app/panes';
+import { Ng2EmojiModule } from 'ng2-emoji';
+import { MembersRoutingModule } from './members-routing.module';
+import { StudentHomeModule } from './student-home/student-home.module';
+// Components
+import { MembersComponent } from './members.component';
+
+
+@NgModule({
+  imports: [
+    CommonModule,
+    RouterModule,
+    CoreModule,
+    PanesModule,
+    SharedModule,
+    Ng2EmojiModule.forRoot(),
+    MembersRoutingModule,
+    StudentHomeModule,
+  ],
+  declarations: [
+    MembersComponent,
+  ]
+})
+export class MembersModule { }
diff --git a/src/app/projects/activate-dialog/activate-dialog.component.html b/src/app/members/projects/activate-dialog/activate-dialog.component.html
similarity index 100%
rename from src/app/projects/activate-dialog/activate-dialog.component.html
rename to src/app/members/projects/activate-dialog/activate-dialog.component.html
diff --git a/src/app/projects/answers-dialog/answers-dialog.component.scss b/src/app/members/projects/activate-dialog/activate-dialog.component.scss
similarity index 100%
rename from src/app/projects/answers-dialog/answers-dialog.component.scss
rename to src/app/members/projects/activate-dialog/activate-dialog.component.scss
diff --git a/src/app/projects/activate-dialog/activate-dialog.component.ts b/src/app/members/projects/activate-dialog/activate-dialog.component.ts
similarity index 100%
rename from src/app/projects/activate-dialog/activate-dialog.component.ts
rename to src/app/members/projects/activate-dialog/activate-dialog.component.ts
diff --git a/src/app/projects/answers-dialog/answers-dialog.component.html b/src/app/members/projects/answers-dialog/answers-dialog.component.html
similarity index 100%
rename from src/app/projects/answers-dialog/answers-dialog.component.html
rename to src/app/members/projects/answers-dialog/answers-dialog.component.html
diff --git a/src/app/projects/documents-dialog/documents-dialog.component.scss b/src/app/members/projects/answers-dialog/answers-dialog.component.scss
similarity index 100%
rename from src/app/projects/documents-dialog/documents-dialog.component.scss
rename to src/app/members/projects/answers-dialog/answers-dialog.component.scss
diff --git a/src/app/projects/answers-dialog/answers-dialog.component.ts b/src/app/members/projects/answers-dialog/answers-dialog.component.ts
similarity index 100%
rename from src/app/projects/answers-dialog/answers-dialog.component.ts
rename to src/app/members/projects/answers-dialog/answers-dialog.component.ts
diff --git a/src/app/projects/core/edition-form.model.ts b/src/app/members/projects/core/edition-form.model.ts
similarity index 100%
rename from src/app/projects/core/edition-form.model.ts
rename to src/app/members/projects/core/edition-form.model.ts
diff --git a/src/app/projects/core/edition.model.ts b/src/app/members/projects/core/edition.model.ts
similarity index 100%
rename from src/app/projects/core/edition.model.ts
rename to src/app/members/projects/core/edition.model.ts
diff --git a/src/app/projects/core/edition.service.ts b/src/app/members/projects/core/edition.service.ts
similarity index 100%
rename from src/app/projects/core/edition.service.ts
rename to src/app/members/projects/core/edition.service.ts
diff --git a/src/app/projects/core/index.ts b/src/app/members/projects/core/index.ts
similarity index 100%
rename from src/app/projects/core/index.ts
rename to src/app/members/projects/core/index.ts
diff --git a/src/app/projects/core/participation.model.ts b/src/app/members/projects/core/participation.model.ts
similarity index 100%
rename from src/app/projects/core/participation.model.ts
rename to src/app/members/projects/core/participation.model.ts
diff --git a/src/app/projects/core/participation.service.ts b/src/app/members/projects/core/participation.service.ts
similarity index 100%
rename from src/app/projects/core/participation.service.ts
rename to src/app/members/projects/core/participation.service.ts
diff --git a/src/app/projects/core/project.model.ts b/src/app/members/projects/core/project.model.ts
similarity index 100%
rename from src/app/projects/core/project.model.ts
rename to src/app/members/projects/core/project.model.ts
diff --git a/src/app/projects/core/project.service.ts b/src/app/members/projects/core/project.service.ts
similarity index 100%
rename from src/app/projects/core/project.service.ts
rename to src/app/members/projects/core/project.service.ts
diff --git a/src/app/projects/documents-dialog/documents-dialog.component.html b/src/app/members/projects/documents-dialog/documents-dialog.component.html
similarity index 100%
rename from src/app/projects/documents-dialog/documents-dialog.component.html
rename to src/app/members/projects/documents-dialog/documents-dialog.component.html
diff --git a/src/app/projects/documents-recipient/documents-recipient.component.scss b/src/app/members/projects/documents-dialog/documents-dialog.component.scss
similarity index 100%
rename from src/app/projects/documents-recipient/documents-recipient.component.scss
rename to src/app/members/projects/documents-dialog/documents-dialog.component.scss
diff --git a/src/app/projects/documents-dialog/documents-dialog.component.ts b/src/app/members/projects/documents-dialog/documents-dialog.component.ts
similarity index 100%
rename from src/app/projects/documents-dialog/documents-dialog.component.ts
rename to src/app/members/projects/documents-dialog/documents-dialog.component.ts
diff --git a/src/app/projects/documents-recipient/documents-recipient.component.html b/src/app/members/projects/documents-recipient/documents-recipient.component.html
similarity index 100%
rename from src/app/projects/documents-recipient/documents-recipient.component.html
rename to src/app/members/projects/documents-recipient/documents-recipient.component.html
diff --git a/src/app/projects/edition-contact-dialog/edition-contact-dialog.component.scss b/src/app/members/projects/documents-recipient/documents-recipient.component.scss
similarity index 100%
rename from src/app/projects/edition-contact-dialog/edition-contact-dialog.component.scss
rename to src/app/members/projects/documents-recipient/documents-recipient.component.scss
diff --git a/src/app/projects/documents-recipient/documents-recipient.component.ts b/src/app/members/projects/documents-recipient/documents-recipient.component.ts
similarity index 100%
rename from src/app/projects/documents-recipient/documents-recipient.component.ts
rename to src/app/members/projects/documents-recipient/documents-recipient.component.ts
diff --git a/src/app/projects/edition-contact-dialog/edition-contact-dialog.component.html b/src/app/members/projects/edition-contact-dialog/edition-contact-dialog.component.html
similarity index 100%
rename from src/app/projects/edition-contact-dialog/edition-contact-dialog.component.html
rename to src/app/members/projects/edition-contact-dialog/edition-contact-dialog.component.html
diff --git a/src/app/projects/project-detail/project-detail.component.scss b/src/app/members/projects/edition-contact-dialog/edition-contact-dialog.component.scss
similarity index 100%
rename from src/app/projects/project-detail/project-detail.component.scss
rename to src/app/members/projects/edition-contact-dialog/edition-contact-dialog.component.scss
diff --git a/src/app/projects/edition-contact-dialog/edition-contact-dialog.component.ts b/src/app/members/projects/edition-contact-dialog/edition-contact-dialog.component.ts
similarity index 100%
rename from src/app/projects/edition-contact-dialog/edition-contact-dialog.component.ts
rename to src/app/members/projects/edition-contact-dialog/edition-contact-dialog.component.ts
diff --git a/src/app/projects/edition-contact/edition-contact.component.html b/src/app/members/projects/edition-contact/edition-contact.component.html
similarity index 100%
rename from src/app/projects/edition-contact/edition-contact.component.html
rename to src/app/members/projects/edition-contact/edition-contact.component.html
diff --git a/src/app/projects/edition-contact/edition-contact.component.scss b/src/app/members/projects/edition-contact/edition-contact.component.scss
similarity index 100%
rename from src/app/projects/edition-contact/edition-contact.component.scss
rename to src/app/members/projects/edition-contact/edition-contact.component.scss
diff --git a/src/app/projects/edition-contact/edition-contact.component.ts b/src/app/members/projects/edition-contact/edition-contact.component.ts
similarity index 100%
rename from src/app/projects/edition-contact/edition-contact.component.ts
rename to src/app/members/projects/edition-contact/edition-contact.component.ts
diff --git a/src/app/projects/my-participations/my-participations.component.html b/src/app/members/projects/my-participations/my-participations.component.html
similarity index 100%
rename from src/app/projects/my-participations/my-participations.component.html
rename to src/app/members/projects/my-participations/my-participations.component.html
diff --git a/src/app/projects/my-participations/my-participations.component.scss b/src/app/members/projects/my-participations/my-participations.component.scss
similarity index 100%
rename from src/app/projects/my-participations/my-participations.component.scss
rename to src/app/members/projects/my-participations/my-participations.component.scss
diff --git a/src/app/projects/my-participations/my-participations.component.ts b/src/app/members/projects/my-participations/my-participations.component.ts
similarity index 100%
rename from src/app/projects/my-participations/my-participations.component.ts
rename to src/app/members/projects/my-participations/my-participations.component.ts
diff --git a/src/app/projects/navbar/navbar.component.html b/src/app/members/projects/navbar/navbar.component.html
similarity index 100%
rename from src/app/projects/navbar/navbar.component.html
rename to src/app/members/projects/navbar/navbar.component.html
diff --git a/src/app/projects/navbar/navbar.component.scss b/src/app/members/projects/navbar/navbar.component.scss
similarity index 66%
rename from src/app/projects/navbar/navbar.component.scss
rename to src/app/members/projects/navbar/navbar.component.scss
index 1746b5ef0d28a289847632cb000235bf6b28be42..26d41779c790eb6138f6df6f313c524e934e5eb5 100644
--- a/src/app/projects/navbar/navbar.component.scss
+++ b/src/app/members/projects/navbar/navbar.component.scss
@@ -1,4 +1,4 @@
 .container {
   width: fit-content;
-  margin: auto;
-}
+  margin: auto; 
+}
\ No newline at end of file
diff --git a/src/app/projects/navbar/navbar.component.ts b/src/app/members/projects/navbar/navbar.component.ts
similarity index 100%
rename from src/app/projects/navbar/navbar.component.ts
rename to src/app/members/projects/navbar/navbar.component.ts
diff --git a/src/app/projects/overview/index.ts b/src/app/members/projects/overview/index.ts
similarity index 100%
rename from src/app/projects/overview/index.ts
rename to src/app/members/projects/overview/index.ts
diff --git a/src/app/projects/overview/my-participations-overview/my-participations-overview.component.html b/src/app/members/projects/overview/my-participations-overview/my-participations-overview.component.html
similarity index 100%
rename from src/app/projects/overview/my-participations-overview/my-participations-overview.component.html
rename to src/app/members/projects/overview/my-participations-overview/my-participations-overview.component.html
diff --git a/src/app/projects/overview/my-participations-overview/my-participations-overview.component.scss b/src/app/members/projects/overview/my-participations-overview/my-participations-overview.component.scss
similarity index 100%
rename from src/app/projects/overview/my-participations-overview/my-participations-overview.component.scss
rename to src/app/members/projects/overview/my-participations-overview/my-participations-overview.component.scss
diff --git a/src/app/projects/overview/my-participations-overview/my-participations-overview.component.ts b/src/app/members/projects/overview/my-participations-overview/my-participations-overview.component.ts
similarity index 100%
rename from src/app/projects/overview/my-participations-overview/my-participations-overview.component.ts
rename to src/app/members/projects/overview/my-participations-overview/my-participations-overview.component.ts
diff --git a/src/app/projects/overview/open-registrations/open-registrations.component.html b/src/app/members/projects/overview/open-registrations/open-registrations.component.html
similarity index 100%
rename from src/app/projects/overview/open-registrations/open-registrations.component.html
rename to src/app/members/projects/overview/open-registrations/open-registrations.component.html
diff --git a/src/app/projects/overview/open-registrations/open-registrations.component.scss b/src/app/members/projects/overview/open-registrations/open-registrations.component.scss
similarity index 94%
rename from src/app/projects/overview/open-registrations/open-registrations.component.scss
rename to src/app/members/projects/overview/open-registrations/open-registrations.component.scss
index fc33e4e8493615ac6fde6c3899223a16bd945dbf..aabdf940cbf5ed2d99165d7fe337f21df2b50ea4 100644
--- a/src/app/projects/overview/open-registrations/open-registrations.component.scss
+++ b/src/app/members/projects/overview/open-registrations/open-registrations.component.scss
@@ -1,7 +1,6 @@
 @import '~sass/variables';
 
 .container {
-  color: white;
   .text-muted {
     color: $color-purple-light;
   }
diff --git a/src/app/projects/overview/open-registrations/open-registrations.component.ts b/src/app/members/projects/overview/open-registrations/open-registrations.component.ts
similarity index 100%
rename from src/app/projects/overview/open-registrations/open-registrations.component.ts
rename to src/app/members/projects/overview/open-registrations/open-registrations.component.ts
diff --git a/src/app/members/projects/overview/overview.component.html b/src/app/members/projects/overview/overview.component.html
new file mode 100644
index 0000000000000000000000000000000000000000..dbc6a42c131af4b11d0018ab78aa767063856826
--- /dev/null
+++ b/src/app/members/projects/overview/overview.component.html
@@ -0,0 +1,8 @@
+<app-two-panes>
+  <app-pane id="open-registrations">
+    <app-open-registrations [editions]="editions"></app-open-registrations>
+  </app-pane>
+  <app-pane id="my-participations">
+    <app-my-participations-overview [participations]="participations"></app-my-participations-overview>
+  </app-pane>
+</app-two-panes>
diff --git a/src/app/members/projects/overview/overview.component.scss b/src/app/members/projects/overview/overview.component.scss
new file mode 100644
index 0000000000000000000000000000000000000000..9736f128f8f141aef87d7a8049a6aa506769618f
--- /dev/null
+++ b/src/app/members/projects/overview/overview.component.scss
@@ -0,0 +1,9 @@
+@import '~sass/variables';
+
+#open-registrations {
+  background: $color-light-blue;
+}
+
+#my-participations {
+  background: lighten($color-purple-light, 15);
+}
diff --git a/src/app/projects/overview/overview.component.ts b/src/app/members/projects/overview/overview.component.ts
similarity index 100%
rename from src/app/projects/overview/overview.component.ts
rename to src/app/members/projects/overview/overview.component.ts
diff --git a/src/app/projects/participation-state/participation-state.component.html b/src/app/members/projects/participation-state/participation-state.component.html
similarity index 100%
rename from src/app/projects/participation-state/participation-state.component.html
rename to src/app/members/projects/participation-state/participation-state.component.html
diff --git a/src/app/projects/participation-state/participation-state.component.scss b/src/app/members/projects/participation-state/participation-state.component.scss
similarity index 100%
rename from src/app/projects/participation-state/participation-state.component.scss
rename to src/app/members/projects/participation-state/participation-state.component.scss
diff --git a/src/app/projects/participation-state/participation-state.component.ts b/src/app/members/projects/participation-state/participation-state.component.ts
similarity index 100%
rename from src/app/projects/participation-state/participation-state.component.ts
rename to src/app/members/projects/participation-state/participation-state.component.ts
diff --git a/src/app/projects/project-detail/project-detail.component.html b/src/app/members/projects/project-detail/project-detail.component.html
similarity index 100%
rename from src/app/projects/project-detail/project-detail.component.html
rename to src/app/members/projects/project-detail/project-detail.component.html
diff --git a/src/app/projects/project-list/project-list.component.scss b/src/app/members/projects/project-detail/project-detail.component.scss
similarity index 100%
rename from src/app/projects/project-list/project-list.component.scss
rename to src/app/members/projects/project-detail/project-detail.component.scss
diff --git a/src/app/projects/project-detail/project-detail.component.ts b/src/app/members/projects/project-detail/project-detail.component.ts
similarity index 100%
rename from src/app/projects/project-detail/project-detail.component.ts
rename to src/app/members/projects/project-detail/project-detail.component.ts
diff --git a/src/app/projects/project-list/project-list.component.html b/src/app/members/projects/project-list/project-list.component.html
similarity index 86%
rename from src/app/projects/project-list/project-list.component.html
rename to src/app/members/projects/project-list/project-list.component.html
index 6f5b4de31e8d5c3b53eee03d7dae46364081151d..84f9c459e0470597fac879e68f447230627ffd55 100644
--- a/src/app/projects/project-list/project-list.component.html
+++ b/src/app/members/projects/project-list/project-list.component.html
@@ -1,5 +1,3 @@
-<h1>Projets</h1>
-
 <ul>
   <li *ngFor="let project of projects">
     <a [routerLink]="[project.id]">{{ project.name }}</a>
diff --git a/src/app/projects/projects.component.scss b/src/app/members/projects/project-list/project-list.component.scss
similarity index 100%
rename from src/app/projects/projects.component.scss
rename to src/app/members/projects/project-list/project-list.component.scss
diff --git a/src/app/projects/project-list/project-list.component.ts b/src/app/members/projects/project-list/project-list.component.ts
similarity index 100%
rename from src/app/projects/project-list/project-list.component.ts
rename to src/app/members/projects/project-list/project-list.component.ts
diff --git a/src/app/projects/projects-routing.module.ts b/src/app/members/projects/projects-routing.module.ts
similarity index 100%
rename from src/app/projects/projects-routing.module.ts
rename to src/app/members/projects/projects-routing.module.ts
diff --git a/src/app/members/projects/projects.component.html b/src/app/members/projects/projects.component.html
new file mode 100644
index 0000000000000000000000000000000000000000..386780532e8207093071c24199e845a6aea3f9ec
--- /dev/null
+++ b/src/app/members/projects/projects.component.html
@@ -0,0 +1,5 @@
+<div class="material-theme">
+  <h1 class="text-center">Projets</h1>
+  <projects-navbar layout="row" layout-align="center center"></projects-navbar>
+  <router-outlet></router-outlet>
+</div>
diff --git a/src/app/projects/unregister-dialog/unregister-dialog.component.scss b/src/app/members/projects/projects.component.scss
similarity index 100%
rename from src/app/projects/unregister-dialog/unregister-dialog.component.scss
rename to src/app/members/projects/projects.component.scss
diff --git a/src/app/projects/projects.component.ts b/src/app/members/projects/projects.component.ts
similarity index 52%
rename from src/app/projects/projects.component.ts
rename to src/app/members/projects/projects.component.ts
index c4d20853f28856b62261b5386110d3ffdd125083..8c617379ce7c70f7c4f62a3a4626a47316423c3c 100644
--- a/src/app/projects/projects.component.ts
+++ b/src/app/members/projects/projects.component.ts
@@ -1,17 +1,8 @@
 import { Component } from '@angular/core';
-import { Link } from 'app/shared';
 
 @Component({
   selector: 'app-projects',
   templateUrl: './projects.component.html',
   styleUrls: ['./projects.component.scss']
 })
-export class ProjectsComponent {
-
-  navLinks: Link[] = [
-    {
-      text: 'Projets',
-      href: '/projets',
-    },
-  ]
-}
+export class ProjectsComponent { }
diff --git a/src/app/projects/projects.module.ts b/src/app/members/projects/projects.module.ts
similarity index 98%
rename from src/app/projects/projects.module.ts
rename to src/app/members/projects/projects.module.ts
index 95e750dea06e4513b4a64708a6e48c1c5e1d5283..c0bbd6bedf3043c6ab20b06309788d6efe2bd815 100644
--- a/src/app/projects/projects.module.ts
+++ b/src/app/members/projects/projects.module.ts
@@ -25,6 +25,7 @@ import { MomentModule } from 'ngx-moment';
 
 import { SharedModule } from 'app/shared';
 import { DynamicFormsModule } from 'app/dynamic-forms';
+import { PanesModule } from 'app/panes';
 
 import { ProjectsRoutingModule } from './projects-routing.module';
 import { ProjectsComponent } from './projects.component';
@@ -70,6 +71,7 @@ import { ActivateDialogComponent } from './activate-dialog/activate-dialog.compo
     // App modules
     SharedModule,
     ProjectsRoutingModule,
+    PanesModule,
     DynamicFormsModule,
   ],
   declarations: [
diff --git a/src/app/projects/register-wizard/register-wizard.component.html b/src/app/members/projects/register-wizard/register-wizard.component.html
similarity index 100%
rename from src/app/projects/register-wizard/register-wizard.component.html
rename to src/app/members/projects/register-wizard/register-wizard.component.html
diff --git a/src/app/projects/register-wizard/register-wizard.component.scss b/src/app/members/projects/register-wizard/register-wizard.component.scss
similarity index 100%
rename from src/app/projects/register-wizard/register-wizard.component.scss
rename to src/app/members/projects/register-wizard/register-wizard.component.scss
diff --git a/src/app/projects/register-wizard/register-wizard.component.ts b/src/app/members/projects/register-wizard/register-wizard.component.ts
similarity index 100%
rename from src/app/projects/register-wizard/register-wizard.component.ts
rename to src/app/members/projects/register-wizard/register-wizard.component.ts
diff --git a/src/app/projects/unregister-dialog/unregister-dialog.component.html b/src/app/members/projects/unregister-dialog/unregister-dialog.component.html
similarity index 100%
rename from src/app/projects/unregister-dialog/unregister-dialog.component.html
rename to src/app/members/projects/unregister-dialog/unregister-dialog.component.html
diff --git a/src/app/visits/participant-number-badge/participant-number-badge.component.scss b/src/app/members/projects/unregister-dialog/unregister-dialog.component.scss
similarity index 100%
rename from src/app/visits/participant-number-badge/participant-number-badge.component.scss
rename to src/app/members/projects/unregister-dialog/unregister-dialog.component.scss
diff --git a/src/app/projects/unregister-dialog/unregister-dialog.component.ts b/src/app/members/projects/unregister-dialog/unregister-dialog.component.ts
similarity index 100%
rename from src/app/projects/unregister-dialog/unregister-dialog.component.ts
rename to src/app/members/projects/unregister-dialog/unregister-dialog.component.ts
diff --git a/src/app/members/student-home/projects-overview/projects-overview.component.html b/src/app/members/student-home/projects-overview/projects-overview.component.html
new file mode 100644
index 0000000000000000000000000000000000000000..9d4fae027a12d023d8060c37f52fc49346b3e5aa
--- /dev/null
+++ b/src/app/members/student-home/projects-overview/projects-overview.component.html
@@ -0,0 +1,11 @@
+<div class="container">
+  <h2 id="title">Projets</h2>
+
+  <p>
+    Retrouve les descriptions des projets que le secteur Projets te propose, et inscris-toi à tes projets préférés.
+  </p>
+  <a mat-raised-button color="accent" routerLink="projets">
+    Voir les projets
+  </a>
+
+</div>
diff --git a/src/app/members/student-home/projects-overview/projects-overview.component.scss b/src/app/members/student-home/projects-overview/projects-overview.component.scss
new file mode 100644
index 0000000000000000000000000000000000000000..7c2d3209e215d6ad3a736555123a3e65c73b4fec
--- /dev/null
+++ b/src/app/members/student-home/projects-overview/projects-overview.component.scss
@@ -0,0 +1,15 @@
+@import '~sass/variables';
+
+#title {
+  margin: 0;
+  padding: 0;
+}
+
+.row {
+  padding-bottom: 0.5em;
+
+  p {
+    margin: 0;
+    padding: 0;
+  }
+}
diff --git a/src/app/members/student-home/projects-overview/projects-overview.component.ts b/src/app/members/student-home/projects-overview/projects-overview.component.ts
new file mode 100644
index 0000000000000000000000000000000000000000..ecb2e2adc256ddbace179bff7adef9c9c037d651
--- /dev/null
+++ b/src/app/members/student-home/projects-overview/projects-overview.component.ts
@@ -0,0 +1,9 @@
+import { Component } from '@angular/core';
+
+@Component({
+  selector: 'projects-overview',
+  templateUrl: './projects-overview.component.html',
+  styleUrls: ['./projects-overview.component.scss']
+})
+
+export class ProjectsOverviewComponent {}
diff --git a/src/app/members/student-home/student-home.component.html b/src/app/members/student-home/student-home.component.html
new file mode 100644
index 0000000000000000000000000000000000000000..9693f0e68f2da1c7552e9e9500e6b51f8179563f
--- /dev/null
+++ b/src/app/members/student-home/student-home.component.html
@@ -0,0 +1,22 @@
+<h1 class="text-center">
+  Mon espace
+</h1>
+
+<app-two-panes>
+  <app-pane id="visits">
+    <visits-overview class="pane-content"></visits-overview>
+  </app-pane>
+  <app-pane id="projects">
+    <projects-overview class="pane-content"></projects-overview>
+  </app-pane>
+</app-two-panes>
+
+<div class="container">
+  <h2>
+    Notifications
+  </h2>
+  <p>
+    Les informations importantes concernant ton  <strong>inscription aux sorties et projets</strong> te seront envoyées par email à l'adresse que tu nous as fournie
+    ({{ userEmail }}).
+  </p>
+</div>
diff --git a/src/app/members/student-home/student-home.component.scss b/src/app/members/student-home/student-home.component.scss
new file mode 100644
index 0000000000000000000000000000000000000000..4b741780e8ca7375acc23a77fbd2a59265b3b0ba
--- /dev/null
+++ b/src/app/members/student-home/student-home.component.scss
@@ -0,0 +1,16 @@
+@import '~sass/mixins';
+@import '~sass/variables';
+
+.container {
+  @include margin-page;
+}
+
+#visits {
+  // TODO use a background image
+  background: $color-light-blue;
+}
+
+#projects {
+  // TODO use a background image
+  background: $color-purple-light;
+}
diff --git a/src/app/members/student-home/student-home.component.ts b/src/app/members/student-home/student-home.component.ts
new file mode 100644
index 0000000000000000000000000000000000000000..50d2ff5eba9a97148f2695379fb4af5a2d64c038
--- /dev/null
+++ b/src/app/members/student-home/student-home.component.ts
@@ -0,0 +1,18 @@
+import { Component } from '@angular/core';
+import { AuthService } from 'app/core';
+
+@Component({
+  selector: 'student-home',
+  templateUrl: './student-home.component.html',
+  styleUrls: ['./student-home.component.scss']
+})
+export class StudentHomeComponent {
+
+  userEmail: string;
+
+  constructor(private auth: AuthService) { }
+
+  ngOnInit() {
+    this.userEmail = this.auth.getUserSnapshot().email;
+  }
+}
diff --git a/src/app/members/student-home/student-home.module.ts b/src/app/members/student-home/student-home.module.ts
new file mode 100644
index 0000000000000000000000000000000000000000..bc853c84f3ac76924a877770337f3c6a18df9f4a
--- /dev/null
+++ b/src/app/members/student-home/student-home.module.ts
@@ -0,0 +1,32 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { RouterModule } from '@angular/router';
+import { CoreModule } from 'app/core';
+import { SharedModule } from 'app/shared';
+import { PanesModule } from 'app/panes';
+import {
+  MatButtonModule,
+} from '@angular/material';
+
+// Components
+import { StudentHomeComponent } from './student-home.component';
+import { ProjectsOverviewComponent } from './projects-overview/projects-overview.component';
+import { VisitsOverviewComponent } from './visits-overview/visits-overview.component';
+
+@NgModule({
+  imports:[
+    CommonModule,
+    RouterModule,
+    CoreModule,
+    PanesModule,
+    SharedModule,
+    MatButtonModule,
+  ],
+  declarations: [
+    StudentHomeComponent,
+    ProjectsOverviewComponent,
+    VisitsOverviewComponent,
+  ]
+})
+
+export class StudentHomeModule { }
diff --git a/src/app/members/student-home/visits-overview/visits-overview.component.html b/src/app/members/student-home/visits-overview/visits-overview.component.html
new file mode 100644
index 0000000000000000000000000000000000000000..41fe659ae4d7911eebc9b7ef72909f86cf543032
--- /dev/null
+++ b/src/app/members/student-home/visits-overview/visits-overview.component.html
@@ -0,0 +1,12 @@
+<div class="container">
+  <h2 id="title">Sorties</h2>
+  <p>
+    Retrouve toutes les informations concernant les prochanes sorties que le secteur Sorties a concocté pour toi !
+  </p>
+  <p>
+    Dates, lieux et horaires, formulaires d'inscription, tout est disponible ici.
+  </p>
+  <a mat-raised-button color="accent" routerLink="sorties">
+    Voir les dernières sorties
+  </a>
+</div>
diff --git a/src/app/members/student-home/visits-overview/visits-overview.component.scss b/src/app/members/student-home/visits-overview/visits-overview.component.scss
new file mode 100644
index 0000000000000000000000000000000000000000..b1aeaa288585fcd044b4a614007ea5722cf04fff
--- /dev/null
+++ b/src/app/members/student-home/visits-overview/visits-overview.component.scss
@@ -0,0 +1,12 @@
+@import '~sass/variables';
+
+.container {
+  .text-muted {
+    color: $color-purple-light;
+  }
+}
+
+#title {
+  margin: 0;
+  padding: 0;
+}
diff --git a/src/app/members/student-home/visits-overview/visits-overview.component.ts b/src/app/members/student-home/visits-overview/visits-overview.component.ts
new file mode 100644
index 0000000000000000000000000000000000000000..4dd75a0f68a00d92283f1aaa3ade32c109952815
--- /dev/null
+++ b/src/app/members/student-home/visits-overview/visits-overview.component.ts
@@ -0,0 +1,9 @@
+import { Component } from '@angular/core';
+
+@Component({
+  selector: 'visits-overview',
+  templateUrl: './visits-overview.component.html',
+  styleUrls: ['./visits-overview.component.scss']
+})
+
+export class VisitsOverviewComponent {}
diff --git a/src/app/visits/leave-form/leave-form.component.html b/src/app/members/visits/leave-form/leave-form.component.html
similarity index 100%
rename from src/app/visits/leave-form/leave-form.component.html
rename to src/app/members/visits/leave-form/leave-form.component.html
diff --git a/src/app/visits/leave-form/leave-form.component.scss b/src/app/members/visits/leave-form/leave-form.component.scss
similarity index 100%
rename from src/app/visits/leave-form/leave-form.component.scss
rename to src/app/members/visits/leave-form/leave-form.component.scss
diff --git a/src/app/visits/leave-form/leave-form.component.ts b/src/app/members/visits/leave-form/leave-form.component.ts
similarity index 100%
rename from src/app/visits/leave-form/leave-form.component.ts
rename to src/app/members/visits/leave-form/leave-form.component.ts
diff --git a/src/app/visits/organizer-card/organizer-card.component.html b/src/app/members/visits/organizer-card/organizer-card.component.html
similarity index 100%
rename from src/app/visits/organizer-card/organizer-card.component.html
rename to src/app/members/visits/organizer-card/organizer-card.component.html
diff --git a/src/app/visits/organizer-card/organizer-card.component.scss b/src/app/members/visits/organizer-card/organizer-card.component.scss
similarity index 100%
rename from src/app/visits/organizer-card/organizer-card.component.scss
rename to src/app/members/visits/organizer-card/organizer-card.component.scss
diff --git a/src/app/visits/organizer-card/organizer-card.component.ts b/src/app/members/visits/organizer-card/organizer-card.component.ts
similarity index 100%
rename from src/app/visits/organizer-card/organizer-card.component.ts
rename to src/app/members/visits/organizer-card/organizer-card.component.ts
diff --git a/src/app/visits/participant-number-badge/participant-number-badge.component.html b/src/app/members/visits/participant-number-badge/participant-number-badge.component.html
similarity index 100%
rename from src/app/visits/participant-number-badge/participant-number-badge.component.html
rename to src/app/members/visits/participant-number-badge/participant-number-badge.component.html
diff --git a/src/app/visits/participation-badge/participation-badge.component.scss b/src/app/members/visits/participant-number-badge/participant-number-badge.component.scss
similarity index 100%
rename from src/app/visits/participation-badge/participation-badge.component.scss
rename to src/app/members/visits/participant-number-badge/participant-number-badge.component.scss
diff --git a/src/app/visits/participant-number-badge/participant-number-badge.component.ts b/src/app/members/visits/participant-number-badge/participant-number-badge.component.ts
similarity index 100%
rename from src/app/visits/participant-number-badge/participant-number-badge.component.ts
rename to src/app/members/visits/participant-number-badge/participant-number-badge.component.ts
diff --git a/src/app/visits/participation-badge/participation-badge.component.html b/src/app/members/visits/participation-badge/participation-badge.component.html
similarity index 100%
rename from src/app/visits/participation-badge/participation-badge.component.html
rename to src/app/members/visits/participation-badge/participation-badge.component.html
diff --git a/src/app/visits/register-form/register-form.component.scss b/src/app/members/visits/participation-badge/participation-badge.component.scss
similarity index 100%
rename from src/app/visits/register-form/register-form.component.scss
rename to src/app/members/visits/participation-badge/participation-badge.component.scss
diff --git a/src/app/visits/participation-badge/participation-badge.component.ts b/src/app/members/visits/participation-badge/participation-badge.component.ts
similarity index 100%
rename from src/app/visits/participation-badge/participation-badge.component.ts
rename to src/app/members/visits/participation-badge/participation-badge.component.ts
diff --git a/src/app/visits/register-form/register-form.component.html b/src/app/members/visits/register-form/register-form.component.html
similarity index 100%
rename from src/app/visits/register-form/register-form.component.html
rename to src/app/members/visits/register-form/register-form.component.html
diff --git a/src/app/visits/registration-badge/registration-badge.component.scss b/src/app/members/visits/register-form/register-form.component.scss
similarity index 100%
rename from src/app/visits/registration-badge/registration-badge.component.scss
rename to src/app/members/visits/register-form/register-form.component.scss
diff --git a/src/app/visits/register-form/register-form.component.ts b/src/app/members/visits/register-form/register-form.component.ts
similarity index 100%
rename from src/app/visits/register-form/register-form.component.ts
rename to src/app/members/visits/register-form/register-form.component.ts
diff --git a/src/app/visits/registration-badge/registration-badge.component.html b/src/app/members/visits/registration-badge/registration-badge.component.html
similarity index 100%
rename from src/app/visits/registration-badge/registration-badge.component.html
rename to src/app/members/visits/registration-badge/registration-badge.component.html
diff --git a/src/app/visits/toggle-button/toggle-button.component.scss b/src/app/members/visits/registration-badge/registration-badge.component.scss
similarity index 100%
rename from src/app/visits/toggle-button/toggle-button.component.scss
rename to src/app/members/visits/registration-badge/registration-badge.component.scss
diff --git a/src/app/visits/registration-badge/registration-badge.component.ts b/src/app/members/visits/registration-badge/registration-badge.component.ts
similarity index 100%
rename from src/app/visits/registration-badge/registration-badge.component.ts
rename to src/app/members/visits/registration-badge/registration-badge.component.ts
diff --git a/src/app/visits/shared/adapters.ts b/src/app/members/visits/shared/adapters.ts
similarity index 100%
rename from src/app/visits/shared/adapters.ts
rename to src/app/members/visits/shared/adapters.ts
diff --git a/src/app/visits/shared/index.ts b/src/app/members/visits/shared/index.ts
similarity index 100%
rename from src/app/visits/shared/index.ts
rename to src/app/members/visits/shared/index.ts
diff --git a/src/app/visits/shared/models.ts b/src/app/members/visits/shared/models.ts
similarity index 100%
rename from src/app/visits/shared/models.ts
rename to src/app/members/visits/shared/models.ts
diff --git a/src/app/visits/shared/participant.service.ts b/src/app/members/visits/shared/participant.service.ts
similarity index 100%
rename from src/app/visits/shared/participant.service.ts
rename to src/app/members/visits/shared/participant.service.ts
diff --git a/src/app/visits/shared/resolvers.ts b/src/app/members/visits/shared/resolvers.ts
similarity index 100%
rename from src/app/visits/shared/resolvers.ts
rename to src/app/members/visits/shared/resolvers.ts
diff --git a/src/app/visits/shared/visit.service.ts b/src/app/members/visits/shared/visit.service.ts
similarity index 100%
rename from src/app/visits/shared/visit.service.ts
rename to src/app/members/visits/shared/visit.service.ts
diff --git a/src/app/visits/toggle-button/toggle-button.component.html b/src/app/members/visits/toggle-button/toggle-button.component.html
similarity index 100%
rename from src/app/visits/toggle-button/toggle-button.component.html
rename to src/app/members/visits/toggle-button/toggle-button.component.html
diff --git a/src/app/visits/visits.component.scss b/src/app/members/visits/toggle-button/toggle-button.component.scss
similarity index 100%
rename from src/app/visits/visits.component.scss
rename to src/app/members/visits/toggle-button/toggle-button.component.scss
diff --git a/src/app/visits/toggle-button/toggle-button.component.ts b/src/app/members/visits/toggle-button/toggle-button.component.ts
similarity index 100%
rename from src/app/visits/toggle-button/toggle-button.component.ts
rename to src/app/members/visits/toggle-button/toggle-button.component.ts
diff --git a/src/app/visits/useful-information/useful-information.component.html b/src/app/members/visits/useful-information/useful-information.component.html
similarity index 100%
rename from src/app/visits/useful-information/useful-information.component.html
rename to src/app/members/visits/useful-information/useful-information.component.html
diff --git a/src/app/visits/useful-information/useful-information.component.scss b/src/app/members/visits/useful-information/useful-information.component.scss
similarity index 100%
rename from src/app/visits/useful-information/useful-information.component.scss
rename to src/app/members/visits/useful-information/useful-information.component.scss
diff --git a/src/app/visits/useful-information/useful-information.component.ts b/src/app/members/visits/useful-information/useful-information.component.ts
similarity index 100%
rename from src/app/visits/useful-information/useful-information.component.ts
rename to src/app/members/visits/useful-information/useful-information.component.ts
diff --git a/src/app/visits/visit-card/visit-card.component.html b/src/app/members/visits/visit-card/visit-card.component.html
similarity index 100%
rename from src/app/visits/visit-card/visit-card.component.html
rename to src/app/members/visits/visit-card/visit-card.component.html
diff --git a/src/app/visits/visit-card/visit-card.component.scss b/src/app/members/visits/visit-card/visit-card.component.scss
similarity index 100%
rename from src/app/visits/visit-card/visit-card.component.scss
rename to src/app/members/visits/visit-card/visit-card.component.scss
diff --git a/src/app/visits/visit-card/visit-card.component.ts b/src/app/members/visits/visit-card/visit-card.component.ts
similarity index 100%
rename from src/app/visits/visit-card/visit-card.component.ts
rename to src/app/members/visits/visit-card/visit-card.component.ts
diff --git a/src/app/visits/visit-detail/index.ts b/src/app/members/visits/visit-detail/index.ts
similarity index 100%
rename from src/app/visits/visit-detail/index.ts
rename to src/app/members/visits/visit-detail/index.ts
diff --git a/src/app/visits/visit-detail/visit-detail.component.html b/src/app/members/visits/visit-detail/visit-detail.component.html
similarity index 100%
rename from src/app/visits/visit-detail/visit-detail.component.html
rename to src/app/members/visits/visit-detail/visit-detail.component.html
diff --git a/src/app/visits/visit-detail/visit-detail.component.scss b/src/app/members/visits/visit-detail/visit-detail.component.scss
similarity index 100%
rename from src/app/visits/visit-detail/visit-detail.component.scss
rename to src/app/members/visits/visit-detail/visit-detail.component.scss
diff --git a/src/app/visits/visit-detail/visit-detail.component.ts b/src/app/members/visits/visit-detail/visit-detail.component.ts
similarity index 100%
rename from src/app/visits/visit-detail/visit-detail.component.ts
rename to src/app/members/visits/visit-detail/visit-detail.component.ts
diff --git a/src/app/visits/visit-location-map/visit-location-map.component.html b/src/app/members/visits/visit-location-map/visit-location-map.component.html
similarity index 100%
rename from src/app/visits/visit-location-map/visit-location-map.component.html
rename to src/app/members/visits/visit-location-map/visit-location-map.component.html
diff --git a/src/app/visits/visit-location-map/visit-location-map.component.scss b/src/app/members/visits/visit-location-map/visit-location-map.component.scss
similarity index 100%
rename from src/app/visits/visit-location-map/visit-location-map.component.scss
rename to src/app/members/visits/visit-location-map/visit-location-map.component.scss
diff --git a/src/app/visits/visit-location-map/visit-location-map.component.ts b/src/app/members/visits/visit-location-map/visit-location-map.component.ts
similarity index 100%
rename from src/app/visits/visit-location-map/visit-location-map.component.ts
rename to src/app/members/visits/visit-location-map/visit-location-map.component.ts
diff --git a/src/app/visits/visits-list/index.ts b/src/app/members/visits/visits-list/index.ts
similarity index 100%
rename from src/app/visits/visits-list/index.ts
rename to src/app/members/visits/visits-list/index.ts
diff --git a/src/app/visits/visits-list/visits-list.component.html b/src/app/members/visits/visits-list/visits-list.component.html
similarity index 100%
rename from src/app/visits/visits-list/visits-list.component.html
rename to src/app/members/visits/visits-list/visits-list.component.html
diff --git a/src/app/visits/visits-list/visits-list.component.scss b/src/app/members/visits/visits-list/visits-list.component.scss
similarity index 100%
rename from src/app/visits/visits-list/visits-list.component.scss
rename to src/app/members/visits/visits-list/visits-list.component.scss
diff --git a/src/app/visits/visits-list/visits-list.component.ts b/src/app/members/visits/visits-list/visits-list.component.ts
similarity index 100%
rename from src/app/visits/visits-list/visits-list.component.ts
rename to src/app/members/visits/visits-list/visits-list.component.ts
diff --git a/src/app/visits/visits-routing.module.ts b/src/app/members/visits/visits-routing.module.ts
similarity index 90%
rename from src/app/visits/visits-routing.module.ts
rename to src/app/members/visits/visits-routing.module.ts
index 9b54c69a0c8509497d269f4a2e9c52c81a38a0b7..417e819e8ea8400997a42c93c29521c348b65dbe 100644
--- a/src/app/visits/visits-routing.module.ts
+++ b/src/app/members/visits/visits-routing.module.ts
@@ -1,6 +1,6 @@
 import { NgModule } from '@angular/core';
 import { RouterModule, Routes } from '@angular/router';
-import { AuthGuard, MapsAPIResolver } from 'app/core';
+import { MapsAPIResolver } from 'app/core';
 
 import { VisitsComponent } from './visits.component';
 import { VisitsListComponent } from './visits-list';
@@ -12,7 +12,6 @@ const routes: Routes = [
     path: '',
     data: { title: 'Sorties' },
     component: VisitsComponent,
-    canActivate: [AuthGuard],
     children: [
       {
         path: '', component: VisitsListComponent,
diff --git a/src/app/visits/visits.component.html b/src/app/members/visits/visits.component.html
similarity index 54%
rename from src/app/visits/visits.component.html
rename to src/app/members/visits/visits.component.html
index 80a366d6611fd9ee78bfec97667936f39f7e6c48..23c2829a01e4aba249eb7278af4a492ab0c84e2e 100644
--- a/src/app/visits/visits.component.html
+++ b/src/app/members/visits/visits.component.html
@@ -1,3 +1,2 @@
-<app-navbar [links]="navLinks"></app-navbar>
 <messages></messages>
 <router-outlet></router-outlet>
diff --git a/src/app/members/visits/visits.component.scss b/src/app/members/visits/visits.component.scss
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/app/members/visits/visits.component.ts b/src/app/members/visits/visits.component.ts
new file mode 100644
index 0000000000000000000000000000000000000000..4b4c09039749b236f5a9d07f895d5d695c81ae0c
--- /dev/null
+++ b/src/app/members/visits/visits.component.ts
@@ -0,0 +1,16 @@
+import { Component, OnInit } from '@angular/core';
+import { Router } from '@angular/router';
+
+@Component({
+  selector: 'app-visits',
+  templateUrl: './visits.component.html',
+  styleUrls: ['./visits.component.scss']
+})
+export class VisitsComponent implements OnInit {
+
+  constructor( private router: Router ) { }
+
+  ngOnInit() {
+  }
+
+}
diff --git a/src/app/visits/visits.module.ts b/src/app/members/visits/visits.module.ts
similarity index 100%
rename from src/app/visits/visits.module.ts
rename to src/app/members/visits/visits.module.ts
diff --git a/src/app/panes/index.ts b/src/app/panes/index.ts
new file mode 100644
index 0000000000000000000000000000000000000000..5e6e851ba96b7d08b066282416c3f672b7dfad6d
--- /dev/null
+++ b/src/app/panes/index.ts
@@ -0,0 +1 @@
+export * from './panes.module';
diff --git a/src/app/panes/pane/pane.component.html b/src/app/panes/pane/pane.component.html
new file mode 100644
index 0000000000000000000000000000000000000000..f9dfff2777e58c37e0a741d9a04c7087780671a6
--- /dev/null
+++ b/src/app/panes/pane/pane.component.html
@@ -0,0 +1,5 @@
+<div class="pane">
+  <div class="pane-content">
+    <ng-content></ng-content>
+  </div>
+</div>
diff --git a/src/app/panes/pane/pane.component.scss b/src/app/panes/pane/pane.component.scss
new file mode 100644
index 0000000000000000000000000000000000000000..a0ca093984bbaf4b4c4d6b9bd7c3168c4e1c3644
--- /dev/null
+++ b/src/app/panes/pane/pane.component.scss
@@ -0,0 +1,12 @@
+@import '~sass/mixins';
+@import '~sass/variables';
+
+.pane {
+  height: 100%;
+  @include drop-shadow($shadow-sm, $inset: true);
+}
+
+.pane-content {
+  padding: 3em;
+  width: fit-content;
+}
diff --git a/src/app/panes/pane/pane.component.ts b/src/app/panes/pane/pane.component.ts
new file mode 100644
index 0000000000000000000000000000000000000000..3d98c3dc72004bab5f6746ffb0d45be3f976e3e4
--- /dev/null
+++ b/src/app/panes/pane/pane.component.ts
@@ -0,0 +1,8 @@
+import { Component } from '@angular/core';
+
+@Component({
+  selector: 'app-pane',
+  templateUrl: './pane.component.html',
+  styleUrls: ['./pane.component.scss']
+})
+export class PaneComponent {}
diff --git a/src/app/panes/panes.module.ts b/src/app/panes/panes.module.ts
new file mode 100644
index 0000000000000000000000000000000000000000..4318091c03ab19c926544f5c7fbdaf9512609b6b
--- /dev/null
+++ b/src/app/panes/panes.module.ts
@@ -0,0 +1,20 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+
+import { TwoPanesComponent } from './two-panes/two-panes.component';
+import { PaneComponent } from './pane/pane.component';
+
+@NgModule({
+  imports: [
+    CommonModule
+  ],
+  declarations: [
+    TwoPanesComponent,
+    PaneComponent,
+  ],
+  exports: [
+    TwoPanesComponent,
+    PaneComponent,
+  ]
+})
+export class PanesModule { }
diff --git a/src/app/panes/two-panes/two-panes.component.html b/src/app/panes/two-panes/two-panes.component.html
new file mode 100644
index 0000000000000000000000000000000000000000..6dbc74306383aaa6efc4216ee6c449c3b38ceaa9
--- /dev/null
+++ b/src/app/panes/two-panes/two-panes.component.html
@@ -0,0 +1 @@
+<ng-content></ng-content>
diff --git a/src/app/panes/two-panes/two-panes.component.scss b/src/app/panes/two-panes/two-panes.component.scss
new file mode 100644
index 0000000000000000000000000000000000000000..d0f69030f9e766280e287190b6fc70efc6009392
--- /dev/null
+++ b/src/app/panes/two-panes/two-panes.component.scss
@@ -0,0 +1,9 @@
+@import '~sass/media-queries';
+
+:host {
+  display: grid;
+  grid-template-columns: 1fr;
+  @include media-xs {
+    grid-template-columns: 1fr 1fr;
+  }
+}
diff --git a/src/app/panes/two-panes/two-panes.component.ts b/src/app/panes/two-panes/two-panes.component.ts
new file mode 100644
index 0000000000000000000000000000000000000000..5887f6d0b0ce78c2e5990183b847c09f7e421db5
--- /dev/null
+++ b/src/app/panes/two-panes/two-panes.component.ts
@@ -0,0 +1,8 @@
+import { Component } from '@angular/core';
+
+@Component({
+  selector: 'app-two-panes',
+  templateUrl: './two-panes.component.html',
+  styleUrls: ['./two-panes.component.scss']
+})
+export class TwoPanesComponent {}
diff --git a/src/app/projects/overview/overview.component.html b/src/app/projects/overview/overview.component.html
deleted file mode 100644
index 1ded6a2c4c2129f19ae5990947753db7d8676f60..0000000000000000000000000000000000000000
--- a/src/app/projects/overview/overview.component.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<h1 class="text-center">Projets</h1>
-
-<div class="panes">
-  <div class="pane-left">
-    <div class="pane-content">
-      <app-open-registrations [editions]="editions"></app-open-registrations>
-    </div>
-  </div>
-  <div class="pane-right">
-    <div class="pane-content">
-      <app-my-participations-overview [participations]="participations"></app-my-participations-overview>
-    </div>
-  </div>
-</div>
diff --git a/src/app/projects/overview/overview.component.scss b/src/app/projects/overview/overview.component.scss
deleted file mode 100644
index 0c1433a4f8b39f89e01ab498230a4e88ff92e82a..0000000000000000000000000000000000000000
--- a/src/app/projects/overview/overview.component.scss
+++ /dev/null
@@ -1,31 +0,0 @@
-@import '~sass/mixins';
-@import '~sass/variables';
-@import '~sass/media-queries';
-
-.panes {
-  display: grid;
-  grid-template-columns: 1fr;
-  @include media-xs {
-    grid-template-columns: 1fr 1fr;
-  }
-}
-
-.pane-content {
-  padding: 3em;
-  width: fit-content;
-}
-
-.pane-left {
-  background: $color-dark-blue;
-  @include drop-shadow($shadow-sm);
-  @include media-xs {
-    .pane-content {
-      margin-left: auto;
-    }
-  }
-}
-
-.pane-right {
-  background: $color-light-blue;
-  @include drop-shadow($shadow-sm, $inset: true);
-}
diff --git a/src/app/projects/projects.component.html b/src/app/projects/projects.component.html
deleted file mode 100644
index cf97f14ba9984cfe6ec1bf5bc9063b0596100839..0000000000000000000000000000000000000000
--- a/src/app/projects/projects.component.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<app-navbar [links]="navLinks"></app-navbar>
-<div class="material-theme">
-  <projects-navbar></projects-navbar>
-  <router-outlet></router-outlet>
-</div>
diff --git a/src/app/shared/layout/layout.component.html b/src/app/shared/layout/layout.component.html
index ef36d9000d5621bc7fb0c22f08ab1727ccb10705..20b9d419800a57a6c4c0e110db2c765aecad6419 100644
--- a/src/app/shared/layout/layout.component.html
+++ b/src/app/shared/layout/layout.component.html
@@ -1,7 +1,10 @@
 <div id="layout">
-  <app-navbar [links]="links" [theme]="theme"></app-navbar>
+  <app-navbar [links]="links" [theme]="theme">
+    <ng-content app-navbar-extra select="[app-navbar-extra]"></ng-content>
+    <ng-content app-navbar-extra-narrow select="[app-navbar-extra-narrow]"></ng-content>
+  </app-navbar>
   <main class="content">
-   <router-outlet (deactivate)="onDeactivate()"></router-outlet>
+    <router-outlet (deactivate)="onDeactivate()"></router-outlet>
   </main>
   <app-footer></app-footer>
 </div>
diff --git a/src/app/shared/layout/layout.component.spec.ts b/src/app/shared/layout/layout.component.spec.ts
deleted file mode 100644
index c4d6365d70259780c4656f6382416ca8418ff674..0000000000000000000000000000000000000000
--- a/src/app/shared/layout/layout.component.spec.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { async, ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { LayoutComponent } from './layout.component';
-
-describe('LayoutComponent', () => {
-  let component: LayoutComponent;
-  let fixture: ComponentFixture<LayoutComponent>;
-
-  beforeEach(async(() => {
-    TestBed.configureTestingModule({
-      declarations: [ LayoutComponent ]
-    })
-    .compileComponents();
-  }));
-
-  beforeEach(() => {
-    fixture = TestBed.createComponent(LayoutComponent);
-    component = fixture.componentInstance;
-    fixture.detectChanges();
-  });
-
-  it('should create', () => {
-    expect(component).toBeTruthy();
-  });
-});
diff --git a/src/app/shared/layout/layout.component.ts b/src/app/shared/layout/layout.component.ts
index a91537c019d3a5b44574aeae1df9a572e1b4a1af..a362fcd1b9887f47921c382a44d5828e49def8f9 100644
--- a/src/app/shared/layout/layout.component.ts
+++ b/src/app/shared/layout/layout.component.ts
@@ -1,24 +1,24 @@
 import { Component, Input, Renderer } from '@angular/core';
- import { Link } from '../nav.model';
+import { Link } from '../nav.model';
 
 
- @Component({
-   selector: 'app-layout',
-   templateUrl: './layout.component.html',
-   styleUrls: ['./layout.component.scss']
- })
- export class LayoutComponent {
+@Component({
+  selector: 'app-layout',
+  templateUrl: './layout.component.html',
+  styleUrls: ['./layout.component.scss']
+})
+export class LayoutComponent {
 
-   @Input() links: Link[];
-   @Input() theme: string;
+  @Input() links: Link[];
+  @Input() theme: string;
 
-   constructor(private renderer: Renderer) {
-     this.links = [];
-   }
+  constructor(private renderer: Renderer) {
+    this.links = [];
+  }
 
-   onDeactivate() {
-     // on page reload, scroll to top of window
-     this.renderer.setElementProperty(document.body, 'scrollTop', 0);
-   }
+  onDeactivate() {
+    // on page reload, scroll to top of window
+    this.renderer.setElementProperty(document.body, 'scrollTop', 0);
+  }
 
- }
+}
diff --git a/src/app/shared/login-button/login-button.component.html b/src/app/shared/login-button/login-button.component.html
index 6089bc5d473de854754e77304da6a74d675d6591..fd628506fc92d6e08f7ead0151da9bc7380f2a0d 100644
--- a/src/app/shared/login-button/login-button.component.html
+++ b/src/app/shared/login-button/login-button.component.html
@@ -1,5 +1,4 @@
 <a *ngIf="!user" routerLink="/connexion">Connexion</a>
-<!-- TODO: redirect to member site -->
-<a *ngIf="user" routerLink="/">
+<a *ngIf="user" routerLink="/membres">
   <mat-icon inline="true">person</mat-icon> {{ user.fullName }}
 </a>
diff --git a/src/app/shared/nav-group/nav-group.component.scss b/src/app/shared/nav-group/nav-group.component.scss
index 35920834cc511d1b4b7a01b84ef47be433e0efda..71a11ba4efce736322ffe672e4102160b5dbc765 100644
--- a/src/app/shared/nav-group/nav-group.component.scss
+++ b/src/app/shared/nav-group/nav-group.component.scss
@@ -3,6 +3,9 @@ ul {
   margin: 0;
   padding: 0;
   display: flex;
+  &.vertical {
+    flex-direction: column;
+  }
 
   &.vertical {
     flex-direction: column;
diff --git a/src/app/shared/nav-item/nav-item.component.html b/src/app/shared/nav-item/nav-item.component.html
index be52dbb963b7a9fb2ae6b5029d787ef709acd7bd..0052aa0e74af78f18dd75321bd8733d2f1e4bafa 100644
--- a/src/app/shared/nav-item/nav-item.component.html
+++ b/src/app/shared/nav-item/nav-item.component.html
@@ -3,6 +3,6 @@
     {{ link.text }}
   </a>
   <ng-template #action>
-    <div (click)="link.action()">{{ link.text }}</div>
+    <div class="clickable" (click)="link.action()">{{ link.text }}</div>
   </ng-template>
 </div>
diff --git a/src/app/shared/shared.module.ts b/src/app/shared/shared.module.ts
index 57ae8abc7da29c06e00a73a6a05d44be42545fa6..cd9eff2cdd7893b70d42d299e69d0e27012e9279 100644
--- a/src/app/shared/shared.module.ts
+++ b/src/app/shared/shared.module.ts
@@ -15,6 +15,7 @@ import { FilterComponent } from './filter/filter.component';
 import { NavItemComponent } from './nav-item/nav-item.component';
 import { NavGroupComponent } from './nav-group/nav-group.component';
 import { MailtoComponent } from './mailto/mailto.component';
+
 import { LoginButtonComponent } from './login-button/login-button.component';
 import { FormPageComponent } from './form-page/form-page.component';
 import { LayoutComponent } from './layout/layout.component';
diff --git a/src/app/showcase-site/showcase-site.component.html b/src/app/showcase-site/showcase-site.component.html
index fab21ab2cddfe69d42386e324800108694902021..9ea1188b4407d82e26dd71744a989d7a821c71a7 100644
--- a/src/app/showcase-site/showcase-site.component.html
+++ b/src/app/showcase-site/showcase-site.component.html
@@ -1 +1,4 @@
-<app-layout [links]="navLinks"></app-layout>
+<app-layout [links]="navLinks">
+  <app-login-button app-navbar-extra class="login-link"></app-login-button>
+  <app-login-button app-navbar-extra-narrow class="text-center login-link"></app-login-button>
+</app-layout>
diff --git a/src/app/showcase-site/showcase-site.component.scss b/src/app/showcase-site/showcase-site.component.scss
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..76eba4bf645ebaa572aaeefd0bacdcb8478e283a 100644
--- a/src/app/showcase-site/showcase-site.component.scss
+++ b/src/app/showcase-site/showcase-site.component.scss
@@ -0,0 +1,5 @@
+.login-link {
+  display: block;
+  margin: auto 0;
+  padding: 1em 0;
+}
diff --git a/src/app/visits/visits.component.ts b/src/app/visits/visits.component.ts
deleted file mode 100644
index 8373df36644ce3ed58cdbe4c14bf061605a31d3b..0000000000000000000000000000000000000000
--- a/src/app/visits/visits.component.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Router } from '@angular/router';
-import { AuthService } from 'app/core';
-import { Link } from 'app/shared';
-
-@Component({
-  selector: 'app-visits',
-  templateUrl: './visits.component.html',
-  styleUrls: ['./visits.component.scss']
-})
-export class VisitsComponent implements OnInit {
-
-  navLinks: Link[] = [
-    {href: '/sorties', text: 'Sorties'},
-    {action: () => this.logout(), text: 'Déconnexion'},
-  ];
-
-  constructor(
-    private auth: AuthService,
-    private router: Router,
-  ) { }
-
-  logout() {
-    this.auth.logout();
-    this.router.navigate(['/']);
-  }
-
-  ngOnInit() {
-  }
-
-}