diff --git a/src/app/components/index.ts b/src/app/components/index.ts
index bf1009fec3bdbee4dda4eff8617cb97ff4a11e96..7f1e30b9d58971ad2f9ce73a24c72cee11789485 100644
--- a/src/app/components/index.ts
+++ b/src/app/components/index.ts
@@ -13,7 +13,8 @@ import { FormatDetailComponent } from './formats/detail/format-detail.component'
 import { FormatFormComponent } from './formats/edit/format-form.component';
 import { ImageUploadComponent } from './image-upload/image-upload.component';
 import { NotificationsComponent } from './notifications/notifications.component';
-import { LogsDataComponent } from './logs-dashboard/report/logs-data/logs-data.component';
+import { LogsInfoComponent } from './logs-dashboard/report/logs-info/logs-info.component';
+import { LogsErrorComponent } from './logs-dashboard/report/logs-error/logs-error.component';
 import { LogsGraphComponent } from './logs-dashboard/report/logs-graph/logs-graph.component';
 import { LogsSessionsComponent } from './logs-dashboard/logs-sessions/logs-sessions.component';
 import { LogsSlugsComponent } from './logs-dashboard/logs-slugs/logs-slugs.component';
@@ -38,7 +39,8 @@ export {
   FormatFormComponent,
   ImageUploadComponent,
   NotificationsComponent,
-  LogsDataComponent,
+  LogsInfoComponent,
+  LogsErrorComponent,
   LogsGraphComponent,
   LogsSessionsComponent,
   LogsSlugsComponent,
@@ -65,7 +67,8 @@ export const AppComponents = [
   FormatFormComponent,
   ImageUploadComponent,
   NotificationsComponent,
-  LogsDataComponent,
+  LogsInfoComponent,
+  LogsErrorComponent,
   LogsGraphComponent,
   LogsSessionsComponent,
   LogsSlugsComponent,
diff --git a/src/app/components/logs-dashboard/report/logs-data/logs-data.component.html b/src/app/components/logs-dashboard/report/logs-data/logs-data.component.html
deleted file mode 100644
index 7e174e0e76c2d64c0bbe991e2ec5d9d61bfb9d33..0000000000000000000000000000000000000000
--- a/src/app/components/logs-dashboard/report/logs-data/logs-data.component.html
+++ /dev/null
@@ -1,99 +0,0 @@
-<div class="section">
-  <label class="btn btn-outline-secondary" *ngFor="let logType of logTypes">
-    <input type="checkbox" [(ngModel)]="logType.selected"> {{logType.name}}
-  </label>
-</div>
-<div class="section">
-  <div class="columns is-centered is-marginless">
-
-    <div class="column has-text-left">
-      <div *ngFor="let oneStepData of allStepsData">
-        <div class="mini-info-card" *ngIf="oneStepData" (click)='getLogsSelector(oneStepData._id.step);'>
-            <div class="table">
-                <div class="columns is-marginless">
-                    <div class="column is-3 has-text-left">
-                    </div>
-                <div class="column is-5 has-text-center">
-                    <h3>Step: {{oneStepData._id.step}}</h3>
-                </div>
-                <div class="column is-2 has-text-left">
-                </div>
-                </div>
-                <div class="columns is-marginless">
-                <div class="column is-5 has-text-left">
-                    <span>
-                        <h3>
-                            <p>total-time: {{oneStepData.totalHoursSpent}}h : {{oneStepData.totalMinutesSpent}}m :
-                            {{oneStepData.totalSecondsSpent}}s </p>
-                            <p>Info(s):  {{oneStepData.counts.INFO}}</p>
-                            <p>Erreur(s):  {{oneStepData.counts.ERROR}}</p>
-                        </h3>
-                      </span>
-                </div>
-
-                <div class="column is-6 has-text-right">
-                  <br>
-                    <span>
-                        <div class="arrows" [ngClass]="{'is-displayed': displayedStep === oneStepData._id.step}">
-                        <svg xmlns="https://www.w3.org/2000/svg" id="chevron" viewBox="0 0 15 9">
-                          <path
-                            d="M7.5 7.5c-.1 0-.3-.1-.4-.1l-6-6C1 1.1 1 .8 1.1.6s.5-.2.7 0l5.6 5.6L13 .6c.2-.2.5-.2.7 0s.2.5 0 .7l-6 6c.1.1-.1.2-.2.2z"
-                            class="brandcolor" />
-                          <path
-                            d="M7.5 7.5c-.1 0-.3-.1-.4-.1l-6-6C1 1.1 1 .8 1.1.6s.5-.2.7 0l5.6 5.6L13 .6c.2-.2.5-.2.7 0s.2.5 0 .7l-6 6c.1.1-.1.2-.2.2z"
-                            class="brandcolor" />
-                        </svg>
-                      </div>
-                    </span>
-                </div>
-              </div>
-            </div>    
-        </div>
-      </div>
-    </div>
-
-    <div class="column has-text-left">
-      <div class="mini-log-card" *ngIf="allLogs?.lenght==0">
-        <p>No DATA</p>
-      </div>
-      <!-- <div class="mini-error-card" *ngIf="!allErrorLogs?.lenght>0">
-          <p>No DATA</p>
-      </div> -->
-
-      <div *ngFor="let oneLog of allLogs">
-
-        <div class="mini-log-card" *ngIf="oneLog">
-          <span>
-            <!-- <p>slug: {{oneLog.slug}} </p>
-                <p>uuid: {{oneLog.uuid}} </p>
-                <p>sessionId: {{oneLog.session_id}} </p> -->
-            <h3>
-              <p>step: {{oneLog.step}}</p>
-              <p>status: {{oneLog.status}}</p>
-              <p>info: {{oneLog.info}}</p>
-              <p>progress-ratio: {{oneLog.progress_ratio}}</p>
-
-            </h3>
-          </span>
-        </div>
-      </div>
-      <div *ngFor="let oneErrorLog of allErrorLogs">
-
-        <div class="mini-error-card" *ngIf="oneErrorLog">
-          <span>
-            <p>slug: {{oneErrorLog.slug}} </p>
-            <p>uuid: {{oneErrorLog.uuid}} </p>
-            <p>sessionId: {{oneErrorLog.session_id}} </p>
-            <h3>
-              <p>step: {{oneErrorLog.step}}</p>
-              <p>status: {{oneErrorLog.status}}</p>
-              <p>info: {{oneErrorLog.info}}</p>
-              <p>progress-ratio: {{oneErrorLog.progress_ratio}}</p>
-
-            </h3>
-          </span>
-        </div>
-      </div>
-    </div>
-  </div>
-</div>
\ No newline at end of file
diff --git a/src/app/components/logs-dashboard/report/logs-error/logs-error.component.html b/src/app/components/logs-dashboard/report/logs-error/logs-error.component.html
new file mode 100644
index 0000000000000000000000000000000000000000..1137e233ddbfdc6fb1fd3a842b909901ad5cb25a
--- /dev/null
+++ b/src/app/components/logs-dashboard/report/logs-error/logs-error.component.html
@@ -0,0 +1,94 @@
+<!-- <div class="columns is-centered is-marginless">
+    <label class="btn btn-outline-secondary" *ngFor="let logType of logTypes">
+        <input type="checkbox" class="checkbox" [(ngModel)]="logType.selected"> {{logType.name}}
+    </label>
+</div> -->
+
+<div class="columns is-centered is-marginless paginator-container">      
+
+  <!-- this.paginator.limit: {{this.paginator.limit}}<br>
+  pageIndex: {{ this.paginator.pageIndex }}<br>
+  lenght: {{this.paginator.length}}<br> -->
+</div>
+
+<div class="section">
+  <div class="columns is-centered is-marginless">
+
+      <div class="column has-text-left">
+
+          <div *ngFor="let oneStepData of allStepsData; let i=index; let odd=odd; let even=even;">
+            <div *ngIf="oneStepData" (click)='getLogsSelector(oneStepData._id.step, oneStepData.counts);'>
+              <div class="table entity-list-table">
+                <div class="columns is-marginless">
+                  <div class="column is-6 has-text-left">
+                    <p>Step: {{oneStepData._id.step}}</p>
+                  </div>
+                </div>
+                <div class="columns is-marginless">
+                  <div class="column is-6 has-text-left">
+                    <p>Durée: {{oneStepData.totalHoursSpent}}h : {{oneStepData.totalMinutesSpent}}m :
+                      {{oneStepData.totalSecondsSpent}}s</p>
+                  </div>
+                  <div class="column is-6 has-text-right">
+    
+                    <div class="arrows" [ngClass]="{'is-displayed': displayedStep === oneStepData._id.step}">
+                      <svg xmlns="https://www.w3.org/2000/svg" id="chevron" viewBox="0 0 15 9">
+                        <path
+                          d="M7.5 7.5c-.1 0-.3-.1-.4-.1l-6-6C1 1.1 1 .8 1.1.6s.5-.2.7 0l5.6 5.6L13 .6c.2-.2.5-.2.7 0s.2.5 0 .7l-6 6c.1.1-.1.2-.2.2z"
+                          class="brandcolor" />
+                        <path
+                          d="M7.5 7.5c-.1 0-.3-.1-.4-.1l-6-6C1 1.1 1 .8 1.1.6s.5-.2.7 0l5.6 5.6L13 .6c.2-.2.5-.2.7 0s.2.5 0 .7l-6 6c.1.1-.1.2-.2.2z"
+                          class="brandcolor" />
+                      </svg>
+                    </div>
+    
+                  </div>
+                </div>
+                <div class="columns is-marginless">
+                  <div class="column is-6 has-text-left">
+                    <p>Erreur(s): {{oneStepData.counts.ERROR}}</p>
+                  </div>
+                  <div class="column is-6 has-text-left">
+                    <p>Info(s): {{oneStepData.counts.INFO}}</p>
+                  </div>
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+
+    <div class="column has-text-left">
+      <div class="mini-log-card" *ngIf="allLogs?.lenght==0">
+        <p>No DATA</p>
+      </div>
+      <!-- <div class="mini-error-card" *ngIf="!allErrorLogs?.lenght>0">
+          <p>No DATA</p>
+      </div> -->
+      <app-paginator [length]="paginator.length" [pageSize]="paginator.limit"
+      [pageSizeOptions]="paginator.pageSizeOptions" [pageIndex]="paginator.pageIndex" [pagesToShow]="5"
+      [showFirstLastButtons]="true" (page)="changePagination($event)" (pageSizeChanged)="changePageSize($event)">
+      </app-paginator>
+      <div *ngFor="let oneErrorLog of allErrorLogs">
+
+        <div class="mini-error-card" *ngIf="oneErrorLog">
+          <span>
+            <p>slug: {{oneErrorLog.slug}} </p>
+            <p>uuid: {{oneErrorLog.uuid}} </p>
+            <p>sessionId: {{oneErrorLog.session_id}} </p>
+            <h3>
+              <p>step: {{oneErrorLog.step}}</p>
+              <p>status: {{oneErrorLog.status}}</p>
+              <p>info: {{oneErrorLog.info}}</p>
+              <p>progress-ratio: {{oneErrorLog.progress_ratio}}</p>
+
+            </h3>
+          </span>
+        </div>
+      </div>
+      <div>
+
+      </div>
+    </div>
+  </div>
+  
+</div>
\ No newline at end of file
diff --git a/src/app/components/logs-dashboard/report/logs-data/logs-data.component.scss b/src/app/components/logs-dashboard/report/logs-error/logs-error.component.scss
similarity index 93%
rename from src/app/components/logs-dashboard/report/logs-data/logs-data.component.scss
rename to src/app/components/logs-dashboard/report/logs-error/logs-error.component.scss
index faa87dd1bd1a794621498ead6b04d4f87c98b653..91621a1498800586833571ca6c9105dc95dfe5e1 100644
--- a/src/app/components/logs-dashboard/report/logs-data/logs-data.component.scss
+++ b/src/app/components/logs-dashboard/report/logs-error/logs-error.component.scss
@@ -53,5 +53,8 @@ figure {
   .arrows.is-displayed svg {
     transform: rotate(-90deg);
   }
+  .paginator-container{
+    background-color: yellowgreen;
+  }
 
 
diff --git a/src/app/components/logs-dashboard/report/logs-error/logs-error.component.ts b/src/app/components/logs-dashboard/report/logs-error/logs-error.component.ts
new file mode 100644
index 0000000000000000000000000000000000000000..5ba199e7a49c7bda490890f2bb0fdec5af2b3bf9
--- /dev/null
+++ b/src/app/components/logs-dashboard/report/logs-error/logs-error.component.ts
@@ -0,0 +1,163 @@
+import { Component, OnChanges, SimpleChanges, Input } from '@angular/core';
+import { DataLogsService } from 'src/app/services/data-logs.service';
+import { ActivatedRoute, ParamMap } from '@angular/router';
+import { switchMap } from 'rxjs/operators';
+import { ILogs } from 'src/app/models/logs.model';
+import { FormsModule } from '@angular/forms';
+import { PaginatorOptions } from 'src/app/models/paginator-options.model';
+import { Subscription } from 'rxjs';
+
+@Component({
+  selector: 'app-logs-error',
+  templateUrl: './logs-error.component.html',
+  styleUrls: ['./logs-error.component.scss'],
+})
+export class LogsErrorComponent implements OnChanges {
+  @Input() childUuid: string = '';
+  @Input() childSessionId: string = '';
+  @Input() childSlug: string;
+  searchChangeSub: Subscription;
+  selectedStep  = {
+    step:'main',
+    nbErrors: 0,
+    nbInfos: 0,
+  };
+
+  displayedStep: string = 'none';
+  logTypes: any = [
+    {
+      name : 'erreurs',
+      selected : true,
+    },
+    {
+      name : 'infos',
+      selected : false,
+    },
+  ];
+  uuid: string;
+  sessionId: string;
+  slug: string;
+  data: any;
+  stepData: ILogs;
+  allStepsData: any;
+  allErrorLogs: any;
+  allLogs: any;
+  nbSessionId: number;
+  nbUuid: number;
+  nbSlug: number;
+  // Paginator options
+  paginator: PaginatorOptions;
+  pageSizeOptions = [5, 10, 25, 100];
+  sessionIdList: [string];
+  constructor(
+    private dataLogsService: DataLogsService,
+    private route: ActivatedRoute,
+  ) {
+    this.paginator = {
+      pageIndex: this.dataLogsService.pageNumber,
+      length: 1,
+      limit: this.dataLogsService.limit,
+      pageSizeOptions: [5, 10, 20],
+    };
+  }
+
+  ngOnChanges(changes: SimpleChanges): void {
+    this.data = [];
+    this.slug = this.childSlug;
+    this.allStepsData = [];
+    this.allErrorLogs = [];
+    this.getLogsSteps();
+    this.searchChangeSub = this.dataLogsService.searchChange$.subscribe(
+      () => {
+        this.paginator.limit = this.dataLogsService.limit;
+        this.paginator.pageIndex = this.dataLogsService.pageNumber;
+        if (this.logTypes[0].selected === true) {
+          this.getErrorStepsLogs(this.selectedStep.step, this.selectedStep.nbErrors, this.paginator.pageIndex);
+        }
+        if (this.logTypes[1].selected === true) {
+          this.getSimpleStepsLogs(this.selectedStep.step, this.selectedStep.nbInfos, this.paginator.pageIndex);
+        }
+      },
+    );
+  }
+
+  getLogsSteps() {
+    if ((this.childUuid != null) && (this.childSessionId != null)) {
+      // console.log('parameters', this.childUuid, this.childSessionId);
+
+      this.dataLogsService.getAllStepsDuration(
+        this.childUuid,
+        this.childSessionId,
+      ).subscribe((results) => {
+        console.log('getAllStepsDuration results', results);
+        this.allStepsData = results;
+      },
+      );
+    }
+  }
+  getLogsSelector(step, counts) {
+    this.selectedStep.step = step;
+    this.selectedStep.nbErrors = counts.ERROR;
+    this.selectedStep.nbInfos = counts.INFO;
+    this.allErrorLogs = [];
+    this.allLogs = [];
+    this.displayedStep = step;
+    if (this.logTypes[0].selected === true) {
+      this.getErrorStepsLogs(step, this.selectedStep.nbErrors, 1);
+    }
+    if (this.logTypes[1].selected === true) {
+      this.getSimpleStepsLogs(step, this.selectedStep.nbInfos, 1);
+    }
+  }
+  getErrorStepsLogs(step, nbErrors, pageNumber) {
+    if ((this.childUuid != null) && (this.childSessionId != null)) {
+      // console.log('parameters', this.childUuid, this.childSessionId);
+
+      this.dataLogsService.getLogsStepsLogs(
+        step,
+        this.childSessionId,
+        this.childUuid,
+        'ERROR',
+        nbErrors,
+        pageNumber,
+      ).subscribe((results) => {
+        // console.log('results', results);
+        this.allErrorLogs = results;
+        this.paginator.limit = this.dataLogsService.limit;
+        this.paginator.pageIndex = this.dataLogsService.pageNumber;
+        this.paginator.length = this.dataLogsService.length;
+      },
+      );
+    }
+  }
+  getSimpleStepsLogs(step, nbInfos, pageNumber) {
+    if ((this.childUuid != null) && (this.childSessionId != null)) {
+      // console.log('parameters', this.childUuid, this.childSessionId);
+
+      this.dataLogsService.getLogsStepsLogs(
+        step,
+        this.childSessionId,
+        this.childUuid,
+        'INFO',
+        nbInfos,
+        pageNumber,
+      ).subscribe((results) => {
+        // console.log('results', results);
+        this.allLogs = results;
+        this.paginator.limit = this.dataLogsService.limit;
+        this.paginator.pageIndex = this.dataLogsService.pageNumber;
+        this.paginator.length = this.dataLogsService.length;
+      },
+      );
+    }
+  }
+
+    // When pagination is changed by user, we update datasetList with new pagination options
+  changePagination(pageIndex) {
+    this.dataLogsService.paginationChanged(this.paginator.limit, pageIndex);
+  }
+
+  changePageSize(pageSize) {
+    this.dataLogsService.paginationChanged(pageSize, 1);
+  }
+}
diff --git a/src/app/components/logs-dashboard/report/logs-graph/logs-graph.component.html b/src/app/components/logs-dashboard/report/logs-graph/logs-graph.component.html
index 015ef8e0a68d39107882e55a81287c5e0edfde21..aab7e313050a7ef234174da04ce76a608ef40e0f 100644
--- a/src/app/components/logs-dashboard/report/logs-graph/logs-graph.component.html
+++ b/src/app/components/logs-dashboard/report/logs-graph/logs-graph.component.html
@@ -1,19 +1,24 @@
-<p>
-</p>
-<div class="graph-component">
-  <div *ngFor="let data of this.graphData">
-    <div *ngFor="let timestamp of data.timestamps">
-    </div>
+<ng-container>
+  <div>
+    <div class="section">
+      <div class="graph-component">
+        <div class="columns is-left ">
+          <p>slug: {{childSlug}} &nbsp; sessionId: {{childSessionId}} </p>
+        </div>
+        <div class="columns is-left ">
+          <p>uuid: {{childUuid}} </p>
+        </div>
+        <a class="button button-gl is-centered" (click)="replotGraph()">
+          Reload Chart
+        </a>
+        <div class="columns is-centered">
+          <div class="graph-div-canvas">
 
-  </div>
-  <a class="button button-gl is-centered" (click)="replotGraph()">
-      Reload Chart
-    </a>
-  <div class="graph-div-canvas">
-      <p>uuid: {{childUuid}} </p>
-      <p>sessionId: {{childSessionId}} </p>
-      <p>slug: {{childSlug}} </p>
-    <canvas id="graphCanvas">{{ chart }}</canvas>
+            <canvas id="graphCanvas">{{ chart }}</canvas>
 
+          </div>
+        </div>
+      </div>
+    </div>
   </div>
-</div>
\ No newline at end of file
+</ng-container>
diff --git a/src/app/components/logs-dashboard/report/logs-graph/logs-graph.component.scss b/src/app/components/logs-dashboard/report/logs-graph/logs-graph.component.scss
index 04e7e7a073c13380c206cc5c8e8025f014d1ad3a..81e12ca709368a7309dbf7d9663108997ba8538d 100644
--- a/src/app/components/logs-dashboard/report/logs-graph/logs-graph.component.scss
+++ b/src/app/components/logs-dashboard/report/logs-graph/logs-graph.component.scss
@@ -1,3 +1,4 @@
 .graph-div-canvas{
-    width: 95%;
+    width: 80%;
+    left: 10%;
 }
\ No newline at end of file
diff --git a/src/app/components/logs-dashboard/report/logs-info/logs-info.component.html b/src/app/components/logs-dashboard/report/logs-info/logs-info.component.html
new file mode 100644
index 0000000000000000000000000000000000000000..83e789607ea41ca5adab2c3612ad2d85ca4a5af1
--- /dev/null
+++ b/src/app/components/logs-dashboard/report/logs-info/logs-info.component.html
@@ -0,0 +1,112 @@
+<!-- <div class="columns is-centered is-marginless">
+  <label class="btn btn-outline-secondary" *ngFor="let logType of logTypes">
+    <input type="checkbox" class="checkbox" [(ngModel)]="logType.selected"> {{logType.name}}
+  </label>
+</div> -->
+
+<div class="columns is-centered is-marginless paginator-container">
+
+  <!-- this.paginator.limit: {{this.paginator.limit}}<br>
+  pageIndex: {{ this.paginator.pageIndex }}<br>
+  lenght: {{this.paginator.length}}<br> -->
+</div>
+
+<div class="section">
+  <div class="columns is-centered is-marginless">
+
+    <div class="column has-text-left">
+
+      <div *ngFor="let oneStepData of allStepsData; let i=index; let odd=odd; let even=even;">
+        <div *ngIf="oneStepData" (click)='getLogsSelector(oneStepData._id.step, oneStepData.counts);'>
+          <div class="table entity-list-table">
+            <div class="columns is-marginless">
+              <div class="column is-6 has-text-left">
+                <p>Step: {{oneStepData._id.step}}</p>
+              </div>
+            </div>
+            <div class="columns is-marginless">
+              <div class="column is-6 has-text-left">
+                <p>Durée: {{oneStepData.totalHoursSpent}}h : {{oneStepData.totalMinutesSpent}}m :
+                  {{oneStepData.totalSecondsSpent}}s</p>
+              </div>
+              <div class="column is-6 has-text-right">
+
+                <div class="arrows" [ngClass]="{'is-displayed': displayedStep === oneStepData._id.step}">
+                  <svg xmlns="https://www.w3.org/2000/svg" id="chevron" viewBox="0 0 15 9">
+                    <path
+                      d="M7.5 7.5c-.1 0-.3-.1-.4-.1l-6-6C1 1.1 1 .8 1.1.6s.5-.2.7 0l5.6 5.6L13 .6c.2-.2.5-.2.7 0s.2.5 0 .7l-6 6c.1.1-.1.2-.2.2z"
+                      class="brandcolor" />
+                    <path
+                      d="M7.5 7.5c-.1 0-.3-.1-.4-.1l-6-6C1 1.1 1 .8 1.1.6s.5-.2.7 0l5.6 5.6L13 .6c.2-.2.5-.2.7 0s.2.5 0 .7l-6 6c.1.1-.1.2-.2.2z"
+                      class="brandcolor" />
+                  </svg>
+                </div>
+
+              </div>
+            </div>
+            <div class="columns is-marginless">
+              <div class="column is-6 has-text-left">
+                <p>Erreur(s): {{oneStepData.counts.ERROR}}</p>
+              </div>
+              <div class="column is-6 has-text-left">
+                <p>Info(s): {{oneStepData.counts.INFO}}</p>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+
+    <div class="column has-text-left">
+      <div class="mini-log-card" *ngIf="allLogs?.lenght==0">
+        <p>No DATA</p>
+      </div>
+      <!-- <div class="mini-error-card" *ngIf="!allErrorLogs?.lenght>0">
+          <p>No DATA</p>
+      </div> -->
+      <app-paginator [length]="paginator.length" [pageSize]="paginator.limit"
+        [pageSizeOptions]="paginator.pageSizeOptions" [pageIndex]="paginator.pageIndex" [pagesToShow]="5"
+        [showFirstLastButtons]="true" (page)="changePagination($event)" (pageSizeChanged)="changePageSize($event)">
+      </app-paginator>
+      <div *ngFor="let oneLog of allLogs">
+
+        <div class="mini-log-card" *ngIf="oneLog">
+          <span>
+            <!-- <p>slug: {{oneLog.slug}} </p>
+                <p>uuid: {{oneLog.uuid}} </p>
+                <p>sessionId: {{oneLog.session_id}} </p> -->
+            <h3>
+              <p>step: {{oneLog.step}}</p>
+              <p>status: {{oneLog.status}}</p>
+              <p>info: {{oneLog.info}}</p>
+              <p>progress-ratio: {{oneLog.progress_ratio}}</p>
+
+            </h3>
+
+          </span>
+        </div>
+      </div>
+      <div *ngFor="let oneErrorLog of allErrorLogs">
+
+        <div class="mini-error-card" *ngIf="oneErrorLog">
+          <span>
+            <p>slug: {{oneErrorLog.slug}} </p>
+            <p>uuid: {{oneErrorLog.uuid}} </p>
+            <p>sessionId: {{oneErrorLog.session_id}} </p>
+            <h3>
+              <p>step: {{oneErrorLog.step}}</p>
+              <p>status: {{oneErrorLog.status}}</p>
+              <p>info: {{oneErrorLog.info}}</p>
+              <p>progress-ratio: {{oneErrorLog.progress_ratio}}</p>
+
+            </h3>
+          </span>
+        </div>
+      </div>
+      <div>
+
+      </div>
+    </div>
+  </div>
+
+</div>
\ No newline at end of file
diff --git a/src/app/components/logs-dashboard/report/logs-info/logs-info.component.scss b/src/app/components/logs-dashboard/report/logs-info/logs-info.component.scss
new file mode 100644
index 0000000000000000000000000000000000000000..91621a1498800586833571ca6c9105dc95dfe5e1
--- /dev/null
+++ b/src/app/components/logs-dashboard/report/logs-info/logs-info.component.scss
@@ -0,0 +1,60 @@
+@import "../../../../../scss/variables.scss";
+@import "../../../../../../node_modules/bulma/sass/utilities/_all.sass";
+
+figure {
+    text-align: center;
+  }
+  figure img{
+    max-width: 150px;
+    display: inline-block;
+    margin-top: 20px;
+  }
+  
+  .card-header-title {
+    justify-content: center;
+  }
+
+  .mini-info-card{
+    margin-top: 20px;
+    padding: 20px;
+    background-color: yellow;
+
+  }
+  .mini-log-card{
+    margin-top: 20px;
+    padding: 20px;
+    background-color: greenyellow;
+
+  }
+  
+  .mini-error-card{
+    margin-top: 20px;
+    padding: 20px;
+    background-color: red;
+
+  }
+  .input-field{
+    width: 200%;
+    margin-top: 20px;
+  }
+
+  .hidden {
+    display: none;
+  }
+
+  .arrows {
+    svg {
+      width: 16px;
+      fill: $grey-dark-color;
+      transform: rotate(0deg);
+    }
+  }
+
+  .arrows.is-displayed svg {
+    transform: rotate(-90deg);
+  }
+  .paginator-container{
+    background-color: yellowgreen;
+  }
+
+
diff --git a/src/app/components/logs-dashboard/report/logs-data/logs-data.component.ts b/src/app/components/logs-dashboard/report/logs-info/logs-info.component.ts
similarity index 52%
rename from src/app/components/logs-dashboard/report/logs-data/logs-data.component.ts
rename to src/app/components/logs-dashboard/report/logs-info/logs-info.component.ts
index 465b1cd4a09ddffd291e4748ca9ce89de3c03b0d..a1a3d607a069ed3e57c7ac16edf4b7416792e883 100644
--- a/src/app/components/logs-dashboard/report/logs-data/logs-data.component.ts
+++ b/src/app/components/logs-dashboard/report/logs-info/logs-info.component.ts
@@ -4,16 +4,25 @@ import { ActivatedRoute, ParamMap } from '@angular/router';
 import { switchMap } from 'rxjs/operators';
 import { ILogs } from 'src/app/models/logs.model';
 import { FormsModule } from '@angular/forms';
+import { PaginatorOptions } from 'src/app/models/paginator-options.model';
+import { Subscription } from 'rxjs';
 
 @Component({
-  selector: 'app-logs-data',
-  templateUrl: './logs-data.component.html',
-  styleUrls: ['./logs-data.component.scss'],
+  selector: 'app-logs-info',
+  templateUrl: './logs-info.component.html',
+  styleUrls: ['./logs-info.component.scss'],
 })
-export class LogsDataComponent implements OnChanges {
+export class LogsInfoComponent implements OnChanges {
   @Input() childUuid: string = '';
   @Input() childSessionId: string = '';
   @Input() childSlug: string;
+  searchChangeSub: Subscription;
+  selectedStep  = {
+    step:'main',
+    nbErrors: 0,
+    nbInfos: 0,
+  };
+
   displayedStep: string = 'none';
   logTypes: any = [
     {
@@ -36,13 +45,21 @@ export class LogsDataComponent implements OnChanges {
   nbSessionId: number;
   nbUuid: number;
   nbSlug: number;
-  tempStep: string = '';
-
+  // Paginator options
+  paginator: PaginatorOptions;
+  pageSizeOptions = [5, 10, 25, 100];
   sessionIdList: [string];
   constructor(
     private dataLogsService: DataLogsService,
     private route: ActivatedRoute,
-  ) { }
+  ) {
+    this.paginator = {
+      pageIndex: this.dataLogsService.pageNumber,
+      length: 1,
+      limit: this.dataLogsService.limit,
+      pageSizeOptions: [5, 10, 20],
+    };
+  }
 
   ngOnChanges(changes: SimpleChanges): void {
     this.data = [];
@@ -50,6 +67,18 @@ export class LogsDataComponent implements OnChanges {
     this.allStepsData = [];
     this.allErrorLogs = [];
     this.getLogsSteps();
+    this.searchChangeSub = this.dataLogsService.searchChange$.subscribe(
+      () => {
+        this.paginator.limit = this.dataLogsService.limit;
+        this.paginator.pageIndex = this.dataLogsService.pageNumber;
+        if (this.logTypes[0].selected === true) {
+          this.getErrorStepsLogs(this.selectedStep.step, this.selectedStep.nbErrors, this.paginator.pageIndex);
+        }
+        if (this.logTypes[1].selected === true) {
+          this.getSimpleStepsLogs(this.selectedStep.step, this.selectedStep.nbInfos, this.paginator.pageIndex);
+        }
+      },
+    );
   }
 
   getLogsSteps() {
@@ -66,19 +95,21 @@ export class LogsDataComponent implements OnChanges {
       );
     }
   }
-  getLogsSelector(step) {
-    this.tempStep = step;
+  getLogsSelector(step, counts) {
+    this.selectedStep.step = step;
+    this.selectedStep.nbErrors = counts.ERROR;
+    this.selectedStep.nbInfos = counts.INFO;
     this.allErrorLogs = [];
     this.allLogs = [];
     this.displayedStep = step;
     if (this.logTypes[0].selected === true) {
-      this.getErrorStepsLogs(step);
+      this.getErrorStepsLogs(step, this.selectedStep.nbErrors, 1);
     }
     if (this.logTypes[1].selected === true) {
-      this.getSimpleStepsLogs(step);
+      this.getSimpleStepsLogs(step, this.selectedStep.nbInfos, 1);
     }
   }
-  getErrorStepsLogs(step) {
+  getErrorStepsLogs(step, nbErrors, pageNumber) {
     if ((this.childUuid != null) && (this.childSessionId != null)) {
       // console.log('parameters', this.childUuid, this.childSessionId);
 
@@ -87,14 +118,19 @@ export class LogsDataComponent implements OnChanges {
         this.childSessionId,
         this.childUuid,
         'ERROR',
+        nbErrors,
+        pageNumber,
       ).subscribe((results) => {
         // console.log('results', results);
         this.allErrorLogs = results;
+        this.paginator.limit = this.dataLogsService.limit;
+        this.paginator.pageIndex = this.dataLogsService.pageNumber;
+        this.paginator.length = this.dataLogsService.length;
       },
       );
     }
   }
-  getSimpleStepsLogs(step) {
+  getSimpleStepsLogs(step, nbInfos, pageNumber) {
     if ((this.childUuid != null) && (this.childSessionId != null)) {
       // console.log('parameters', this.childUuid, this.childSessionId);
 
@@ -103,11 +139,25 @@ export class LogsDataComponent implements OnChanges {
         this.childSessionId,
         this.childUuid,
         'INFO',
+        nbInfos,
+        pageNumber,
       ).subscribe((results) => {
         // console.log('results', results);
         this.allLogs = results;
+        this.paginator.limit = this.dataLogsService.limit;
+        this.paginator.pageIndex = this.dataLogsService.pageNumber;
+        this.paginator.length = this.dataLogsService.length;
       },
       );
     }
   }
+
+    // When pagination is changed by user, we update datasetList with new pagination options
+  changePagination(pageIndex) {
+    this.dataLogsService.paginationChanged(this.paginator.limit, pageIndex);
+  }
+
+  changePageSize(pageSize) {
+    this.dataLogsService.paginationChanged(pageSize, 1);
+  }
 }
diff --git a/src/app/components/logs-dashboard/report/logs-report/logs-report.component.html b/src/app/components/logs-dashboard/report/logs-report/logs-report.component.html
index e54d04c0b2c92586ea25962daf75aa62d00e1120..0c240089181d0889bdd490af1f6e8f6595522602 100644
--- a/src/app/components/logs-dashboard/report/logs-report/logs-report.component.html
+++ b/src/app/components/logs-dashboard/report/logs-report/logs-report.component.html
@@ -2,12 +2,25 @@
   <div class="section page-container">
     <app-page-header [pageInfo]="pageHeaderInfo" [goToThisUrl]='previousUrl' [hideBackButton]="false"></app-page-header>
 
-    <app-logs-graph [childUuid]="uuid" [childSessionId]="sessionId" [childSlug]="slug"></app-logs-graph>
-    <div class="columns is-centered ">
+    <ul class="tabs-container">
+        <li *ngFor="let tab of tabs" (click)="tabsToggler(tab.name)" [ngClass]="{'is-active':tab.isActive}">
+          <!-- [routerLink]="tab.fullRouterLinkPath" routerLinkActive="is-active" -->
+          <span class="tab-label">{{ tab.name }}</span>
+        </li>
+      </ul>
+
+
+    <app-logs-graph [hidden]="!isToggled" [childUuid]="uuid" [childSessionId]="sessionId" [childSlug]="slug"></app-logs-graph>
+    
+    
+    <div class="columns is-centered " [hidden]="isToggled">
         <hr>
         <h3>Détails de la session:</h3>
         <hr>
       </div>
-    <app-logs-data [childUuid]="uuid" [childSessionId]="sessionId" [childSlug]="slug"></app-logs-data>
+    
+      <app-logs-info [hidden]="isToggled||isToggled==undefined" [childUuid]="uuid" [childSessionId]="sessionId" [childSlug]="slug"></app-logs-info>
+      <app-logs-error [hidden]="isToggled!=undefined" [childUuid]="uuid" [childSessionId]="sessionId" [childSlug]="slug"></app-logs-error>
+
   </div>
 </ng-container>
\ No newline at end of file
diff --git a/src/app/components/logs-dashboard/report/logs-report/logs-report.component.scss b/src/app/components/logs-dashboard/report/logs-report/logs-report.component.scss
index 0d8923b0348a24a396f4f5cd0dfcaa42e769518e..2fb6966f33587bbd022936394b6a91df27e628f0 100644
--- a/src/app/components/logs-dashboard/report/logs-report/logs-report.component.scss
+++ b/src/app/components/logs-dashboard/report/logs-report/logs-report.component.scss
@@ -1,3 +1,117 @@
+@import "../../../../../scss/variables.scss";
+@import "../../../../../../node_modules/bulma/sass/utilities/_all.sass";
+
+figure {
+    text-align: center;
+  }
+  figure img{
+    max-width: 150px;
+    display: inline-block;
+    margin-top: 20px;
+  }
+  
+  .card-header-title {
+    justify-content: center;
+  }
+
+  .mini-log-card{
+    margin-top: 20px;
+    padding: 20px;
+    background-color: yellow;
+
+  }
+  .input-field{
+    width: 200%;
+    margin-top: 20px;
+  }
+
+  .hidden {
+    display: none;
+  }
+  .icon {
+    cursor: pointer;
+    &:hover {
+      .fa-plus {
+        color: lightblue;
+      }
+      .fa-trash {
+        color: #d5232a;
+      }
+    }
+  }
+  .tabs-container {
+  display: flex;
+  align-content: stretch;
+  flex-wrap: wrap;
+  border-bottom: 1px solid $grey-super-light-color;
+
+  li {
+    display: flex;
+    align-items: center;
+    padding-right: 2rem;
+    padding-bottom: 0.4rem;
+    padding-top: 0.4rem;
+    cursor: pointer;
+    position: relative;
+    margin-bottom: 1px;
+    width: 50%;
+
+    @media screen and (min-width: $tablet) {
+      width: 33%;
+      padding-right: 3rem;
+    }
+
+    @media screen and (min-width: $desktop) {
+      width: 20%;
+    }
+  }
+
+  li:last-child {
+    padding-right: 0;
+  }
+
+  .tab-label {
+    font-size: 1rem;
+    font-weight: 500;
+    color: $brand-color;
+  }
+
+  li:hover {
+    .tab-label {
+      font-weight: 700;
+    }
+  }
+
+  li:focus{
+    .tab-label {
+      color: $tomato-color;
+      font-weight: 700;
+    }
+  }
+  li.is-active {
+    .tab-label {
+      color: $tomato-color;
+      font-weight: 600;
+    }
+  }
+
+  li::after {
+    content: '';
+    display: block;
+    height: 2px;
+    background: $tomato-color;
+    width: 0;
+    position: absolute;
+    bottom: -2px;
+  }
+
+  li.is-active::after {
+    transition: width 0.3s;
+    width: 100%;
+  }
+}
+
+
 .full-width {
   width: 100%;
 }
diff --git a/src/app/components/logs-dashboard/report/logs-report/logs-report.component.ts b/src/app/components/logs-dashboard/report/logs-report/logs-report.component.ts
index aa4b22915fbef84ea9713c3bf0427274d467a467..7a87faf32f138390f8ec84736c7e0cf19aecebfd 100644
--- a/src/app/components/logs-dashboard/report/logs-report/logs-report.component.ts
+++ b/src/app/components/logs-dashboard/report/logs-report/logs-report.component.ts
@@ -5,6 +5,7 @@ import { filter, switchMap } from 'rxjs/operators';
 import { Format } from 'src/app/models/format.model';
 import { DataLogsService } from 'src/app/services/data-logs.service';
 import { IPageHeaderInfo } from 'src/app/models/page.model';
+import { ISimpleTab } from 'src/app/models/basic-tabs.model';
 
 @Component({
   selector: 'app-logs-report',
@@ -16,6 +17,7 @@ export class LogsReportComponent implements OnInit {
     title: 'Data-Logs Report',
   };
   responseArray: any = [];
+  isToggled: boolean = true;
   form: FormGroup;
   title: string;
   slug: string ;
@@ -26,7 +28,20 @@ export class LogsReportComponent implements OnInit {
   urlCode: string = '';
   isSession:boolean = false;
   previousUrl: string;
-
+  tabs: ISimpleTab[] =  [
+    {
+      name: 'Graph',
+      isActive: true,
+    },
+    {
+      name: 'Infos',
+      isActive: false,
+    },
+    {
+      name: 'Errors',
+      isActive: false,
+    },
+  ];
   constructor(
     private _dataLogsService: DataLogsService,
     private _route: ActivatedRoute,
@@ -59,4 +74,27 @@ export class LogsReportComponent implements OnInit {
     );
   }
 
+  tabsToggler(tabName) {
+    if (tabName === 'Graph') {
+      this.isToggled = true;
+      this.tabs[1].isActive = false;
+      this.tabs[0].isActive = true;
+      this.tabs[2].isActive = false;
+
+    }
+    if (tabName === 'Infos') {
+      this.isToggled = false;
+      this.tabs[1].isActive = true;
+      this.tabs[0].isActive = false;
+      this.tabs[2].isActive = false;
+
+    }
+    if (tabName === 'Errors') {
+      this.isToggled = undefined;
+      this.tabs[2].isActive = true;
+      this.tabs[1].isActive = false;
+      this.tabs[0].isActive = false;
+    }
+  }
+
 }
diff --git a/src/app/components/paginator/paginator.component.ts b/src/app/components/paginator/paginator.component.ts
index 0debb3cfb0985ef9dcbd7c8d8542880645b099d7..53b60326350a82d101242cec4206a22c14f3d835 100644
--- a/src/app/components/paginator/paginator.component.ts
+++ b/src/app/components/paginator/paginator.component.ts
@@ -39,6 +39,7 @@ export class PaginatorComponent implements OnInit {
     this.scrollTop();
     if (this.pageIndex + 1 <= this.totalPages()) {
       this.page.emit(this.pageIndex + 1);
+      console.log(this.pageIndex + 1);
     }
   }
 
@@ -58,6 +59,8 @@ export class PaginatorComponent implements OnInit {
   changePageSize(size: number) {
     this.pageSize = size;
     this.pageSizeChanged.emit(this.pageSize);
+    console.log(this.pageSize);
+
   }
 
   getPages(): number[] {
diff --git a/src/app/services/data-logs.service.ts b/src/app/services/data-logs.service.ts
index 3b3dcd0f487c58dcc9a5ad4a9e87f8a1820cf504..2dbbfe6f1baec04013baf7a0e20377279a7edba9 100644
--- a/src/app/services/data-logs.service.ts
+++ b/src/app/services/data-logs.service.ts
@@ -11,19 +11,24 @@ export class DataLogsService {
   resourceServiceUrl: string;
   limit: number;
   pageNumber: number;
+  length: number;
   sortOptions: {
     value: string,
     order: string,
   };
 
   private _launchNewAggregationSubject: Subject<any>;
+  private _searchChangeSubject: Subject<any>;
 
   constructor(
     private _httpClient: HttpClient) {
     this.resourceServiceUrl = `${APP_CONFIG.restHeartAggregations.url}`;
     this._launchNewAggregationSubject = new Subject<any>();
-    this.limit = 10;
+    this._searchChangeSubject = new Subject<any>();
+
+    this.limit = 5;
     this.pageNumber = 1;
+    this.length = 1;
   }
 
   uuidToSessionId(uuid): Observable<any[]> {
@@ -159,11 +164,15 @@ export class DataLogsService {
     );
   }
 
-  getLogsStepsLogs(step, sessionId, uuid, loglevel): Observable<any[]> {
+  getLogsStepsLogs(step, sessionId, uuid, loglevel, nbLogs, pageNumber): Observable<any[]> {
     const query = { step, uuid, loglevel, session_id : sessionId };
-    const stringQuery = JSON.stringify(query);
+    let stringQuery = JSON.stringify(query);
+    this.length = nbLogs;
+    this.pageNumber = pageNumber;
+    stringQuery += `&pagesize=${(this.limit)}`;
+    stringQuery += `&page=${(pageNumber)}`;
     const aggregationEndPoint = '?filter=';
-    return this._httpClient.get<any[]>(this.resourceServiceUrl + aggregationEndPoint + stringQuery).pipe(
+    return this._httpClient.get<any>(this.resourceServiceUrl + aggregationEndPoint + stringQuery).pipe(
       map((response) => {
         return response;
       }),
@@ -194,4 +203,24 @@ export class DataLogsService {
 
   }
 
+    /* PAGINATION */
+  paginationChanged(limit: number, pageNumber: number) {
+    console.log('inside pagination changed : ', limit, pageNumber);
+    this.limit = limit;
+    this.pageNumber = pageNumber;
+    this._searchChangeSubject.next();
+
+  }
+
+  reverseSortOrder(): void {
+    if (this.sortOptions.order === 'asc') {
+      this.sortOptions.order = 'desc';
+    } else {
+      this.sortOptions.order = 'asc';
+    }
+  }
+  get searchChange$(): Observable<string> {
+    return this._searchChangeSubject.asObservable();
+  }
+
 }