diff --git a/src/app/admin/components/structures-list/admin-structures-list.component.html b/src/app/admin/components/structures-list/admin-structures-list.component.html
index 6032db48bd205c1d6cc3bfd5370705d0bc3035a3..aef30389371bef50c6774e038248607b4e9ee081 100644
--- a/src/app/admin/components/structures-list/admin-structures-list.component.html
+++ b/src/app/admin/components/structures-list/admin-structures-list.component.html
@@ -1,7 +1,12 @@
-<div fxLayout="column" fxLayoutAlign="center center">
+<div *ngIf="isLoading" class="loader">
+  <img class="loader-gif" src="/assets/gif/loader_circle.gif" alt />
+</div>
+<div *ngIf="!isLoading" fxLayout="column" fxLayoutAlign="center center">
   <table aria-describedby="demands attachment results" class="results-tab results-column">
     <thead>
-      <th scope="col">Structures avec des données manquantes ({{ structuresIncomplete?.length }})</th>
+      <th scope="col">
+        Structures avec des données manquantes ({{ structuresIncomplete ? structuresIncomplete.length : 0 }})
+      </th>
     </thead>
     <tbody>
       <tr *ngFor="let structure of structuresIncomplete">
diff --git a/src/app/admin/components/structures-list/admin-structures-list.component.ts b/src/app/admin/components/structures-list/admin-structures-list.component.ts
index 5652fd5b5bc21637f2724ca393555a0f60f1f9ab..fe80c104710d785360121e11ff05ab0e70616be9 100644
--- a/src/app/admin/components/structures-list/admin-structures-list.component.ts
+++ b/src/app/admin/components/structures-list/admin-structures-list.component.ts
@@ -1,4 +1,5 @@
 import { Component, OnInit } from '@angular/core';
+import { finalize } from 'rxjs/operators';
 import { StructureAdminInfo } from '../../models/demandAttachment.model';
 import { AdminService } from '../../services/admin.service';
 
@@ -13,14 +14,18 @@ export class AdminStructuresListComponent implements OnInit {
   public structuresClaimed: StructureAdminInfo[];
   public structuresIncomplete: StructureAdminInfo[];
   public isAll: boolean = false;
+  public isLoading: boolean = true;
   constructor(private adminService: AdminService) {}
 
   ngOnInit(): void {
-    this.adminService.getAllStructureAdmin().subscribe((structures) => {
-      this.structuresClaimed = structures.claimed;
-      this.structuresInClaim = structures.inClaim;
-      this.structuresToClaim = structures.toClaim;
-      this.structuresIncomplete = structures.incomplete;
-    });
+    this.adminService
+      .getAllStructureAdmin()
+      .pipe(finalize(() => (this.isLoading = false)))
+      .subscribe((structures) => {
+        this.structuresClaimed = structures.claimed;
+        this.structuresInClaim = structures.inClaim;
+        this.structuresToClaim = structures.toClaim;
+        this.structuresIncomplete = structures.incomplete;
+      });
   }
 }
diff --git a/src/app/post/components/post-list/post-list.component.scss b/src/app/post/components/post-list/post-list.component.scss
index a4b612844251f4e976076911f45d4933b3d05461..43d3381e4e5a290b96e83a43c57ae0335d204566 100644
--- a/src/app/post/components/post-list/post-list.component.scss
+++ b/src/app/post/components/post-list/post-list.component.scss
@@ -3,15 +3,6 @@
 @import '../../../../assets/scss/shapes';
 @import '../../../../assets/scss/breakpoint';
 
-.loader {
-  width: 100%;
-  text-align: center;
-  .loader-gif {
-    min-width: 10%;
-    min-height: 10%;
-  }
-}
-
 .section-container {
   background: $grey-6;
   min-height: 68vh;
diff --git a/src/index.html b/src/index.html
index 0e9dd0d97f112a8faae158f6b94d5c76947598c9..c9703dd3515e00bef74d2ce52b5b07e9f90a4fca 100644
--- a/src/index.html
+++ b/src/index.html
@@ -13,7 +13,7 @@
       name="description"
       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="image" content="https://resin.grandlyon.com/assets/logos/resin-logo-1024x512.png" />
     <meta name="viewport" content="width=device-width, initial-scale=1" />
 
     <!-- Open Graph general -->
@@ -22,10 +22,11 @@
       property="og:description"
       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:type" content="website" />
     <meta property="og:image" content="https://resin.grandlyon.com/assets/logos/resin-logo-1024x512.png" />
-    <meta property="og:image:type" content="image/jpeg" />
-    <meta property="og:image:width" content="1200" />
-    <meta property="og:image:height" content="627" />
+    <meta property="og:image:type" content="image/png" />
+    <meta property="og:image:width" content="1024" />
+    <meta property="og:image:height" content="512" />
     <meta property="og:url" content="https://resin.grandlyon.com" />
 
     <!-- Twitter -->
diff --git a/src/styles.scss b/src/styles.scss
index 9f5d91e585fb301090ac81683675d871ab64fde2..1e80fc9f46ed949568c4ec1f57e01aa63504d33f 100644
--- a/src/styles.scss
+++ b/src/styles.scss
@@ -266,6 +266,15 @@ button {
   @include background-hash($grey-2);
 }
 
+.loader {
+  width: 100%;
+  text-align: center;
+  .loader-gif {
+    min-width: 10%;
+    min-height: 10%;
+  }
+}
+
 .no-margin {
   margin: 0 !important;
 }