diff --git a/src/app/form/orientation-form/component/structure-detail-print/structure-detail-print.component.html b/src/app/form/orientation-form/component/structure-detail-print/structure-detail-print.component.html
index d4778617218616100830522f78ccec64176c7fbe..b6e5929554c2048fb14fa11bdf3e15825df6f743 100644
--- a/src/app/form/orientation-form/component/structure-detail-print/structure-detail-print.component.html
+++ b/src/app/form/orientation-form/component/structure-detail-print/structure-detail-print.component.html
@@ -10,7 +10,7 @@
           <h3>{{ structure.getLabelTypeStructure() }}</h3>
         </div>
       </div>
-      <div fxLayout="row" class="mobile-column">
+      <div class="mobile-column">
         <div fxLayout="column" fxFlex="50%">
           <div *ngIf="structure.address" fxLayout="row" fxLayoutAlign="none flex-end" fxLayoutGap="13px">
             <app-svg-icon [type]="'ico'" [icon]="'adress'" [title]="'Adresse'"></app-svg-icon>
@@ -119,7 +119,7 @@
               <h4>{{ day.key | day }}</h4>
               <div class="opening-time" fxLayout="row" fxLayoutAlign="none flex-end">
                 <div *ngFor="let timeRange of day.value.time; let isFirst = first">
-                  <p *ngIf="isFirst">de {{ timeRange.formatOpeningDate() }} à {{ timeRange.formatClosingDate() }}</p>
+                  <p *ngIf="isFirst && timeRange.opening">de {{ timeRange.formatOpeningDate() }} à {{ timeRange.formatClosingDate() }}</p>
                   <p *ngIf="!isFirst && timeRange.opening">
                     et de {{ timeRange.formatOpeningDate() }} à {{ timeRange.formatClosingDate() }}
                   </p>
diff --git a/src/app/form/orientation-form/component/structure-detail-print/structure-detail-print.component.scss b/src/app/form/orientation-form/component/structure-detail-print/structure-detail-print.component.scss
index 67ce48453c000b5ebf30a163522befae33234de6..664e18f7aaff83dfca747e86a3e6c72a547faafe 100644
--- a/src/app/form/orientation-form/component/structure-detail-print/structure-detail-print.component.scss
+++ b/src/app/form/orientation-form/component/structure-detail-print/structure-detail-print.component.scss
@@ -21,7 +21,7 @@ a {
   padding: 10px 24px;
   @media #{$tablet} {
     width: calc(100% - 2 * 24px);
-    position: fixed;
+    position: inherit;
     height: 100%;
     .printButton {
       display: none !important;
@@ -137,3 +137,24 @@ p,
   margin-top: 15px;
   background: #348899;
 }
+
+.mobile-column {
+  @media #{$tablet} {
+    flex-direction: row;
+  }
+  @media #{$desktop} {
+    flex-direction: row;
+  }
+  @media #{$large-desktop} {
+    flex-direction: row;
+  }
+  @media #{$phone} {
+    flex-direction: column;
+  }
+  @media #{$small-phone} {
+    flex-direction: column;
+  }
+  @media #{$large-phone} {
+    flex-direction: column;
+  }
+}
\ No newline at end of file
diff --git a/src/app/form/orientation-form/component/structure-print-header/structure-print-header.component.ts b/src/app/form/orientation-form/component/structure-print-header/structure-print-header.component.ts
index 5e6ed970b3949748b02b48e2c53e859c73ea9170..20c827dec9dac2a4ce7f091ed254cea05685aac9 100644
--- a/src/app/form/orientation-form/component/structure-print-header/structure-print-header.component.ts
+++ b/src/app/form/orientation-form/component/structure-print-header/structure-print-header.component.ts
@@ -36,7 +36,7 @@ export class StructurePrintHeaderComponent implements OnInit {
       minute: 'numeric',
     });
 
-    this.filters.map((elem) => {
+    this.filters.forEach((elem) => {
       switch (elem.name) {
         case 'proceduresAccompaniment':
           this.assistances.push(elem);
diff --git a/src/app/form/orientation-form/orientation-form.component.html b/src/app/form/orientation-form/orientation-form.component.html
index 5c163c2a6447344925898634a4c22a01287260a2..02e379de356b8ee287989f4d09fe319b15ed7719 100644
--- a/src/app/form/orientation-form/orientation-form.component.html
+++ b/src/app/form/orientation-form/orientation-form.component.html
@@ -229,15 +229,18 @@
             (selectedAddress)="setAddressBeneficiary($event)"
           ></app-address-autocomplete>
           <app-svg-icon
-            *ngIf="getOrientationControl('address').valid"
+            *ngIf="getOrientationControl('address').valid && !isLoading"
             [iconClass]="'validation'"
             [type]="'form'"
             [icon]="'validate'"
             class="validateIcon"
           ></app-svg-icon>
-          <div *ngIf="!getOrientationControl('address').valid" (click)="getAddress()">
+          <div *ngIf="!getOrientationControl('address').valid && !isLoading" (click)="getAddress()">
             <app-svg-icon [type]="'ico'" [icon]="'locateMe'" class="markerIcon"></app-svg-icon>
           </div>
+          <div *ngIf="isLoading">
+            <img class="loader-gif" src="/assets/gif/loader_circle.gif" alt />
+          </div>
         </div>
       </div>
       <div class="title">
@@ -281,13 +284,13 @@
         </div>
       </div>
       <div fxLayout="row" class="content-container">
-        <div class="nbStructure-panel">
+        <div class="nbStructure-panel left-pane" [ngClass]="{ mapPhone: isMapPhone == true }">
           <div class="nbStructuresLabel" [ngPlural]="structuresList.length">
             <ng-template ngPluralCase="0">0 structure trouvée</ng-template>
             <ng-template ngPluralCase="1">1 structure trouvée</ng-template>
             <ng-template ngPluralCase="other">{{ structuresList.length }} structures trouvées</ng-template>
           </div>
-          <div id="listCard" class="left-pane" (mouseleave)="mouseLeave()">
+          <div id="listCard" (mouseleave)="mouseLeave()">
             <app-card
               *ngFor="let structure of structuresList"
               [structure]="structure"
@@ -302,22 +305,27 @@
             </p>
           </div>
         </div>
-        <div class="right-pane">
-          <div class="deep-map">
-            <app-map
-              [structures]="structuresList"
-              [structuresToPrint]="structuresToPrint"
-              [toogleToolTipId]="displayMapMarkerId"
-              [selectedMarkerId]="selectedMarkerId"
-              [locate]="locate"
-              (locatationTrigger)="locatationTrigger($event)"
-              (selectedStructure)="showDetailStructure($event)"
-              [isMapPhone]="isMapPhone"
-              [searchedValue]="searchedValue"
-              [ngClass]="{ mapPhone: isMapPhone == true }"
-            ></app-map>
-          </div>
+        <div class="btnSwitch">
+          <app-button
+            [style]="'roundedButton'"
+            [text]="isMapPhone ? 'Liste' : 'Carte'"
+            [iconBtn]="isMapPhone ? 'liste' : 'map-marker'"
+            (action)="switchMapList()"
+          ></app-button>
         </div>
+        <app-map
+          [structures]="structuresList"
+          [structuresToPrint]="structuresToPrint"
+          [toogleToolTipId]="displayMapMarkerId"
+          [selectedMarkerId]="selectedMarkerId"
+          [locate]="locate"
+          (locatationTrigger)="locatationTrigger($event)"
+          (selectedStructure)="showDetails($event)"
+          [isMapPhone]="isMapPhone"
+          [searchedValue]="searchedValue"
+          class="right-pane deep-map"
+          [ngClass]="{ mapPhone: isMapPhone == true }"
+        ></app-map>
       </div>
     </div>
     <!-- BENEFICIARY ACCOMPANIMENT -->
@@ -436,6 +444,27 @@
       ></app-footer-form>
     </div>
   </div>
+
+  <div *ngIf="currentPage != 0 && currentPage != pageTypeEnum.printResults" class="footer phone">
+    <div fxLayout="row" fxLayoutAlign="center center">
+      <app-footer-form
+        [btnName]="['Précédent', 'Suivant']"
+        (previousPage)="previousPage()"
+        (nextPage)="nextPage()"
+        [isValid]="isPageValid"
+      ></app-footer-form>
+    </div>
+  </div>
+  <div *ngIf="currentPage == pageTypeEnum.printResults" class="footer phone">
+    <div fxLayout="row" fxLayoutAlign="center center">
+      <app-footer-form
+        [btnName]="['Précédent', 'Imprimer']"
+        (previousPage)="previousPage()"
+        (nextPage)="runMultiPrint(true)"
+        [isValid]="isPageValid"
+      ></app-footer-form>
+    </div>
+  </div>
 </div>
 
 <app-structure-list-print
diff --git a/src/app/form/orientation-form/orientation-form.component.scss b/src/app/form/orientation-form/orientation-form.component.scss
index ced3349a7e0f71253bffb910d2fc989779d24cc5..dbeffc59d2c335187f455df2261603f35235f3c9 100644
--- a/src/app/form/orientation-form/orientation-form.component.scss
+++ b/src/app/form/orientation-form/orientation-form.component.scss
@@ -98,3 +98,59 @@
   padding-left: 9px;
   width: 100%;
 }
+
+.footer {
+  padding: 17px 0;
+  width: 100%;
+  max-width: 960px;
+  margin: 20px auto;
+  text-align: center;
+  &.desktop {
+    @media #{$tablet} {
+      display: none;
+    }
+  }
+
+  &.phone {
+    display: none;
+    @media #{$tablet} {
+      margin: 0 auto;
+      border-top: 1px solid $grey-4;
+      display: block;
+    }
+  }
+}
+
+.btnSwitch {
+  position: fixed;
+  left: 50%;
+  bottom: $footer-height + 5px;
+  transform: translate(-50%, -50%);
+  margin: 0 auto;
+  display: none;
+  @media #{$tablet} {
+    display: block;
+    opacity: 0.8;
+    z-index: $btn-phone-switch-map-list-z-index;
+  }
+  @media #{$large-phone} {
+  }
+}
+
+.loader-gif {
+  @media #{$desktop} {
+    width: 20%;
+  }
+  @media #{$large-desktop} {
+    width: 20%;
+  }
+  @media #{$large-phone} {
+    width: 100%;
+  }
+  @media #{$small-phone} {
+    width: 100%;
+  }
+  @media #{$phone} {
+    width: 100%;
+  }
+}
diff --git a/src/app/form/orientation-form/orientation-form.component.ts b/src/app/form/orientation-form/orientation-form.component.ts
index 83a83bf27a974b65141ea5af1152b2fb40d544eb..a76082df793cdbf61c3d03a9ba1fe18943dd1521 100644
--- a/src/app/form/orientation-form/orientation-form.component.ts
+++ b/src/app/form/orientation-form/orientation-form.component.ts
@@ -26,6 +26,8 @@ export class OrientationFormComponent implements OnInit {
   public selectedMarkerId: string;
   public locate = false;
   public noPassNumeric = false;
+  public isMapPhone = false;
+  public isLoading = false;
 
   public orientationForm: FormGroup;
 
@@ -194,6 +196,7 @@ export class OrientationFormComponent implements OnInit {
       }
       this.currentPage--;
       this.progressStatus -= 100 / this.nbPagesForm;
+      this.setStructuresAndCoord();
       this.updatePageValid();
     }
   }
@@ -341,7 +344,7 @@ export class OrientationFormComponent implements OnInit {
   public searchStructures(): void {
     this.filters = [];
     if (this.orientationForm.value.passNumeric) {
-      this.filters.push(new Filter('labelsQualifications', 'passNumerique', 'Passe Numérique'));
+      this.filters.push(new Filter('labelsQualifications', 'passNumerique', 'Pass Numérique'));
     }
     if (this.orientationForm.value.specificProfile) {
       this.orientationForm.get('specificProfile').value.forEach((element) => {
@@ -371,7 +374,7 @@ export class OrientationFormComponent implements OnInit {
   }
 
   public removeDoublonFilters(): void {
-    this.uncheckedFilters.map((elem) => {
+    this.uncheckedFilters.forEach((elem) => {
       this.filters = this.filters.filter((filter) => filter.value != elem.value);
     });
     this.setStructuresAndCoord();
@@ -379,7 +382,7 @@ export class OrientationFormComponent implements OnInit {
 
   public findEquipmentName(equipment): string {
     let name;
-    this.equipmentReferentiel.modules.map((elem) => {
+    this.equipmentReferentiel.modules.forEach((elem) => {
       if (elem.id === equipment) {
         name = elem.text;
       }
@@ -389,7 +392,7 @@ export class OrientationFormComponent implements OnInit {
 
   public findAssistanceName(skill): string {
     let name;
-    this.assistanceReferentiel.modules.map((elem) => {
+    this.assistanceReferentiel.modules.forEach((elem) => {
       if (elem.id === skill) {
         name = elem.text;
       }
@@ -400,31 +403,31 @@ export class OrientationFormComponent implements OnInit {
 
   public findTrainingCategoryForSkill(skill): any {
     let infos = { categ: '', name: '' };
-    this.baseSkillssReferentiel.modules.map((elem) => {
+    this.baseSkillssReferentiel.modules.forEach((elem) => {
       if (elem.id === skill) {
         infos.categ = this.baseSkillssReferentiel.id;
         infos.name = elem.text;
       }
     });
-    this.accessRightsReferentiel.modules.map((elem) => {
+    this.accessRightsReferentiel.modules.forEach((elem) => {
       if (elem.id === skill) {
         infos.categ = this.accessRightsReferentiel.id;
         infos.name = elem.text;
       }
     });
-    this.parentingHelpsReferentiel.modules.map((elem) => {
+    this.parentingHelpsReferentiel.modules.forEach((elem) => {
       if (elem.id === skill) {
         infos.categ = this.parentingHelpsReferentiel.id;
         infos.name = elem.text;
       }
     });
-    this.socialAndProfessionalsReferentiel.modules.map((elem) => {
+    this.socialAndProfessionalsReferentiel.modules.forEach((elem) => {
       if (elem.id === skill) {
         infos.categ = this.socialAndProfessionalsReferentiel.id;
         infos.name = elem.text;
       }
     });
-    this.digitalCultureSecuritysReferentiel.modules.map((elem) => {
+    this.digitalCultureSecuritysReferentiel.modules.forEach((elem) => {
       if (elem.id === skill) {
         infos.categ = this.digitalCultureSecuritysReferentiel.id;
         infos.name = elem.text;
@@ -503,18 +506,25 @@ export class OrientationFormComponent implements OnInit {
     this.setStructuresAndCoord();
   }
 
+  public switchMapList(): void {
+    this.isMapPhone = !this.isMapPhone;
+  }
+
   public getAddress(): void {
     navigator.geolocation.getCurrentPosition((position) => {
+      this.isLoading = true;
       this.geoJsonService.getAddressByCoord(position.coords.longitude, position.coords.latitude).subscribe(
         (location) => {
-          location.properties.housenumber
-            ? this.getOrientationControl('address').get('numero').setValue(location.properties.housenumber)
-            : null;
+          if (location.properties.housenumber) {
+            this.getOrientationControl('address').get('numero').setValue(location.properties.housenumber);
+          }
           this.getOrientationControl('address').get('street').setValue(location.properties.street);
           this.getOrientationControl('address').get('commune').setValue(location.properties.city);
           this.setValidationsForm();
+          this.isLoading = false;
         },
         (err) => {
+          this.isLoading = false;
           throw new Error(err);
         }
       );
diff --git a/src/app/legal-notice/legal-notice.component.html b/src/app/legal-notice/legal-notice.component.html
index aca06d1cc73d93d3eb318554f3cbba3929fa8ec8..a806bda889b03049013961ead4083368971435fb 100644
--- a/src/app/legal-notice/legal-notice.component.html
+++ b/src/app/legal-notice/legal-notice.component.html
@@ -1,7 +1,7 @@
 <div fxLayout="column" class="content-container">
   <h1 style="display: none">Mentions légales</h1>
   <div class="section-container">
-    <h2>Mentions légales du réseau des acteurs de la médiation numérique sur le territoire de la métropole de Lyon</h2>
+    <h1>Mentions légales du réseau des acteurs de la médiation numérique sur le territoire de la métropole de Lyon</h1>
     <p>
       Métropole de Lyon - 20 rue du Lac – CS 33569 - 69505 Lyon cedex 03<br />
       Tél : (33) 4 78 63 40 40<br />
@@ -37,7 +37,7 @@
       numérique de la Métropole de Lyon.
     </p>
     <p>
-      Elles sont conservées tant que leurs utilisations nous est indispensables et sont destinées aux administrateurs de
+      Elles sont conservées jusqu'à 18 mois tant que leurs utilisations nous est indispensables et sont destinées aux administrateurs de
       la plateforme de la Métropole de Lyon.
     </p>
     <p>
diff --git a/src/app/map/components/map.component.ts b/src/app/map/components/map.component.ts
index e432b027e8bab619bbd1aea9443f5e2eacb9a7be..d3871abcfaf3293dfc5e1e6030895ad3920d1969 100644
--- a/src/app/map/components/map.component.ts
+++ b/src/app/map/components/map.component.ts
@@ -141,6 +141,10 @@ export class MapComponent implements OnChanges {
     } else if (this.structures) {
       this.map = this.mapService.cleanMap(this.map);
       this.getStructuresPositions(this.structures);
+      this.structuresToPrint.forEach((structure: Structure) => {
+        this.mapService.setAddedToListMarker(structure._id);
+      });
+
     }
   }
 
diff --git a/src/app/structure-list/components/structure-details/structure-details.component.html b/src/app/structure-list/components/structure-details/structure-details.component.html
index 5d5fcd8d6e6826b2321aa1e3626dad73ff4bbe2d..14d8b2826cb1b8af9faea2342dbe3d3c02308bea 100644
--- a/src/app/structure-list/components/structure-details/structure-details.component.html
+++ b/src/app/structure-list/components/structure-details/structure-details.component.html
@@ -187,7 +187,7 @@
               <h4>{{ day.key | day }}</h4>
               <div class="opening-time" fxLayout="row" fxLayoutAlign="none flex-end">
                 <div *ngFor="let timeRange of day.value.time; let isFirst = first">
-                  <p *ngIf="isFirst">de {{ timeRange.formatOpeningDate() }} à {{ timeRange.formatClosingDate() }}</p>
+                  <p *ngIf="isFirst && timeRange.opening">de {{ timeRange.formatOpeningDate() }} à {{ timeRange.formatClosingDate() }}</p>
                   <p *ngIf="!isFirst && timeRange.opening">
                     et de {{ timeRange.formatOpeningDate() }} à {{ timeRange.formatClosingDate() }}
                   </p>
diff --git a/src/app/structure-list/components/structure-details/structure-details.component.scss b/src/app/structure-list/components/structure-details/structure-details.component.scss
index a5f96348846e57ff7e63623754888e84528c1e9d..8942e91a98032a60065af0729d6207faf0b8036f 100644
--- a/src/app/structure-list/components/structure-details/structure-details.component.scss
+++ b/src/app/structure-list/components/structure-details/structure-details.component.scss
@@ -23,7 +23,7 @@ a {
   overflow: auto;
   @media #{$tablet} {
     width: calc(100% - 2 * 24px);
-    position: fixed;
+    position: inherit;
     height: 100%;
     .printButton {
       display: none !important;
diff --git a/src/index.html b/src/index.html
index 19f2458a1b22bfa974f666c111397e8ecf7f63bf..d27d893783f19ed184fa8554311ebbcf3764ee06 100644
--- a/src/index.html
+++ b/src/index.html
@@ -8,19 +8,19 @@
     <title>Réseau des Acteurs de l'Inclusion Numérique de la Métropole de Lyon</title>
 
     <!-- Search Engine -->
-    <meta name="title" content="Réseau des acteurs de la médiation numérique" />
+    <meta name="title" content="Rés'in : plateforme à destination des acteurs de l'inclusion numérique de la métropole de Lyon" />
     <meta
       name="description"
-      content="Plateforme à destination des acteurs de l'inclusion numérique de la métropole de Lyon"
+      content="Retrouver tous les lieux de la médiation numérique de la métropole mais aussi les actualités, projets, ressources, études et appels à projet liès à l'inclusion numérique..."
     />
     <meta name="image" content="https://resin.grandlyon.com/assets/logos/logo_1200.jpg" />
     <meta name="viewport" content="width=device-width, initial-scale=1" />
 
     <!-- Open Graph general -->
-    <meta property="og:title" content="Réseau des Acteurs de la Médiation" />
+    <meta property="og:title" content="Rés'in : plateforme à destination des acteurs de l'inclusion numérique de la métropole de Lyon" />
     <meta
       property="og:description"
-      content="Plateforme à destination des acteurs de l'inclusion numérique de la métropole de Lyon"
+      content="Retrouver tous les lieux de la médiation numérique de la métropole mais aussi les actualités, projets, ressources, études et appels à projet liès à l'inclusion numérique..."
     />
     <meta property="og:image" content="https://resin.grandlyon.com/assets/logos/logo_1200.jpg" />
     <meta property="og:image:type" content="image/jpeg" />
@@ -33,7 +33,7 @@
     <meta name="twitter:title" content="Réseau des Acteurs de la Médiation" />
     <meta
       name="twitter:description"
-      content="Plateforme à destination des acteurs de l'inclusion numérique de la métropole de Lyon"
+      content="Retrouver tous les lieux de la médiation numérique de la métropole mais aussi les actualités, projets, ressources, études et appels à projet liès à l'inclusion numérique..."
     />
     <meta name="twitter:image" content="https://resin.grandlyon.com/assets/logos/logo_1200.jpg" />
     <meta name="twitter:url" content="https://resin.grandlyon.com" />