diff --git a/src/models/ecogesture.model.ts b/src/models/ecogesture.model.ts
index aedd1dded43510e081a223eb9d82458e11de730e..4eb05ed763f96513b9499e752a3885845441ecda 100644
--- a/src/models/ecogesture.model.ts
+++ b/src/models/ecogesture.model.ts
@@ -10,6 +10,5 @@ export interface Ecogesture {
   fluidTypes: FluidType[]
   nwh: number
   pack: number
-  iconName: string
   unlocked?: boolean
 }
diff --git a/src/services/__mocks__/ecogesturesData.json b/src/services/__mocks__/ecogesturesData.json
new file mode 100644
index 0000000000000000000000000000000000000000..7cd185f6b2466cc98f8b1d50d2a3fd435af0dff1
--- /dev/null
+++ b/src/services/__mocks__/ecogesturesData.json
@@ -0,0 +1,44 @@
+[
+  {
+    "fluidTypes": [0],
+    "id": "0032",
+    "longDescription": "Bien souvent les chauffe-eau sont réglés pour une température de 70 °C dans le ballon, ce qui n’est pas économique et peut même être dangereux ! Au-dessus de 60 °C vous augmentez aussi l’entartrage. L’eau ne doit pas être trop froide non plus pour éviter le risque de prolifération de micro-organismes comme les légionelles. A noter : parfois l’accès au réglage n’est pas directement visible… il faut alors retirer le capot en plastique situé sous le chauffe-eau pour y accéder.",
+    "longName": "Je règle la température de mon eau chaude entre 55 et 60 °C.",
+    "nwh": 6,
+    "pack": 8,
+    "shortDescription": "",
+    "shortName": "Contrôle du nuage",
+    "usage": "Eau chaude sanitaire",
+    "_id": "0032",
+    "_rev": "1-67f1ea36efdd892c96bf64a8943154cd",
+    "_type": "com.grandlyon.ecolyo.ecogesture"
+  },
+  {
+    "fluidTypes": [1],
+    "id": "0034",
+    "longDescription": "Si on n'a pas transpiré la journée et qu'on ne sent pas mauvais, aucune obligation de se laver tous les jours. Il est même conseillé pour la flore de l'épiderme (la fameuse barrière contre certains pathogènes) de ne pas se laver tous les jours. Vous économiserez ainsi une quantité d'eau non négligeable.",
+    "longName": "Je décide de supprimer une douche par semaine.",
+    "nwh": 5,
+    "pack": 6,
+    "shortDescription": "",
+    "shortName": "Vague de sécheresse",
+    "usage": "Eau chaude sanitaire",
+    "_id": "0034",
+    "_rev": "1-ef7ddd778254e3b7d331a88fd17f606d",
+    "_type": "com.grandlyon.ecolyo.ecogesture"
+  },
+  {
+    "fluidTypes": [1],
+    "id": "0037",
+    "longDescription": "Le terme 'mousseur' désigne la pièce qui est située au bout de votre robinet qui permet de canaliser le jet d’eau. La plupart des robinets sont équipés de mousseurs, mais ceux-ci ne réduisent pas le débit. Il existe différents types 'd’éco-mousseurs' qui limitent le débit à des niveaux variables. Choisissez votre matériel en fonction des besoins à chaque robinet : 5 L/min sera adapté pour un robinet servant uniquement à se laver les mains mais sera assez pénible si vous devez remplir un seau !",
+    "longName": "J'équipe mes robinets d’éco-mousseurs.",
+    "nwh": 4,
+    "pack": 0,
+    "shortDescription": "",
+    "shortName": "Super plombier",
+    "usage": "Eau chaude sanitaire",
+    "_id": "0037",
+    "_rev": "1-0b2761dd4aef79556c7aef144060fde6",
+    "_type": "com.grandlyon.ecolyo.ecogesture"
+  }
+]
diff --git a/src/services/ecogesture.service.spec.ts b/src/services/ecogesture.service.spec.ts
index a06515e45d0f4e3b127402a0d1595a8aebc8e449..216c73084c65dede14509ab8eb5f44280f2d64a9 100644
--- a/src/services/ecogesture.service.spec.ts
+++ b/src/services/ecogesture.service.spec.ts
@@ -1,74 +1,37 @@
+import { Client, QueryResult } from 'cozy-client'
+import { Ecogesture } from 'models'
 import EcogestureService from './ecogesture.service'
-import { Client } from 'cozy-client'
+import ecogesturesData from './__mocks__/ecogesturesData.json'
 
 const mockClient = ({
-  find: jest.fn(),
   query: jest.fn(),
   create: jest.fn(),
   destroy: jest.fn(),
 } as unknown) as jest.Mocked<Client>
 
-const mockData = [
-  {
-    fluidTypes: [0],
-    id: '0032',
-    longDescription:
-      'Bien souvent les chauffe-eau sont réglés pour une température de 70 °C dans le ballon, ce qui n’est pas économique et peut même être dangereux ! Au-dessus de 60 °C vous augmentez aussi l’entartrage. L’eau ne doit pas être trop froide non plus pour éviter le risque de prolifération de micro-organismes comme les légionelles. A noter : parfois l’accès au réglage n’est pas directement visible… il faut alors retirer le capot en plastique situé sous le chauffe-eau pour y accéder.',
-    longName: 'Je règle la température de mon eau chaude entre 55 et 60 °C.',
-    nwh: 6,
-    pack: 8,
-    shortDescription: '',
-    shortName: 'Contrôle du nuage',
-    usage: 'Eau chaude sanitaire',
-    _id: '0032',
-    _rev: '1-67f1ea36efdd892c96bf64a8943154cd',
-    _type: 'com.grandlyon.ecolyo.ecogesture',
-  },
-  {
-    fluidTypes: [1],
-    id: '0034',
-    longDescription:
-      "Si on n'a pas transpiré la journée et qu'on ne sent pas mauvais, aucune obligation de se laver tous les jours. Il est même conseillé pour la flore de l'épiderme (la fameuse barrière contre certains pathogènes) de ne pas se laver tous les jours. Vous économiserez ainsi une quantité d'eau non négligeable.",
-    longName: 'Je décide de supprimer une douche par semaine.',
-    nwh: 5,
-    pack: 6,
-    shortDescription: '',
-    shortName: 'Vague de sécheresse',
-    usage: 'Eau chaude sanitaire',
-    _id: '0034',
-    _rev: '1-ef7ddd778254e3b7d331a88fd17f606d',
-    _type: 'com.grandlyon.ecolyo.ecogesture',
-  },
-  {
-    fluidTypes: [1],
-    id: '0037',
-    longDescription:
-      "Le terme 'mousseur' désigne la pièce qui est située au bout de votre robinet qui permet de canaliser le jet d’eau. La plupart des robinets sont équipés de mousseurs, mais ceux-ci ne réduisent pas le débit. Il existe différents types 'd’éco-mousseurs' qui limitent le débit à des niveaux variables. Choisissez votre matériel en fonction des besoins à chaque robinet : 5 L/min sera adapté pour un robinet servant uniquement à se laver les mains mais sera assez pénible si vous devez remplir un seau !",
-    longName: "J'équipe mes robinets d’éco-mousseurs.",
-    nwh: 4,
-    pack: 0,
-    shortDescription: '',
-    shortName: 'Super plombier',
-    usage: 'Eau chaude sanitaire',
-    _id: '0037',
-    _rev: '1-0b2761dd4aef79556c7aef144060fde6',
-    _type: 'com.grandlyon.ecolyo.ecogesture',
-  },
-]
-
 describe('Ecogesture service', () => {
   const ecogestureService = new EcogestureService(mockClient)
 
   describe('getAllEcogestures', () => {
     it('shoud return all ecogestures', async () => {
-      mockClient.query.mockImplementation(() =>
-        Promise.resolve({ data: mockData })
-      )
+      const mockQueryResult: QueryResult<Ecogesture[]> = {
+        data: ecogesturesData,
+        bookmark: '',
+        next: false,
+        skip: 0,
+      }
+      mockClient.query.mockResolvedValueOnce(mockQueryResult)
       const result = await ecogestureService.getAllEcogestures()
-      expect(result).toEqual(mockData)
+      expect(result).toEqual(ecogesturesData)
     })
     it('shoud return empty array when no ecogestures stored', async () => {
-      mockClient.query.mockResolvedValueOnce({ data: [] })
+      const mockQueryResult: QueryResult<Ecogesture[]> = {
+        data: [],
+        bookmark: '',
+        next: false,
+        skip: 0,
+      }
+      mockClient.query.mockResolvedValueOnce(mockQueryResult)
       const result = await ecogestureService.getAllEcogestures()
       expect(result).toEqual([])
     })
@@ -76,23 +39,37 @@ describe('Ecogesture service', () => {
 
   describe('deleteAllEcogestures', () => {
     it('shoud return true when 3 ecogestures stored', async () => {
-      mockClient.query.mockImplementation(() =>
-        Promise.resolve({ data: mockData })
-      )
+      const mockQueryResult: QueryResult<Ecogesture[]> = {
+        data: ecogesturesData,
+        bookmark: '',
+        next: false,
+        skip: 0,
+      }
+      mockClient.query.mockResolvedValueOnce(mockQueryResult)
       const result = await ecogestureService.deleteAllEcogestures()
       expect(mockClient.destroy).toBeCalledTimes(3)
       expect(result).toBe(true)
     })
     it('shoud return true when no ecogestures stored', async () => {
-      mockClient.query.mockImplementation(() => Promise.resolve({ data: [] }))
+      const mockQueryResult: QueryResult<Ecogesture[]> = {
+        data: [],
+        bookmark: '',
+        next: false,
+        skip: 0,
+      }
+      mockClient.query.mockResolvedValueOnce(mockQueryResult)
       const result = await ecogestureService.deleteAllEcogestures()
       expect(result).toBe(true)
     })
     it('shoud return false when error happened on deletion', async () => {
-      mockClient.destroy.mockImplementation(() => Promise.reject(new Error()))
-      mockClient.query.mockImplementation(() =>
-        Promise.resolve({ data: mockData })
-      )
+      const mockQueryResult: QueryResult<Ecogesture[]> = {
+        data: ecogesturesData,
+        bookmark: '',
+        next: false,
+        skip: 0,
+      }
+      mockClient.destroy.mockRejectedValue(new Error())
+      mockClient.query.mockResolvedValueOnce(mockQueryResult)
       const result = await ecogestureService.deleteAllEcogestures()
       expect(result).toBe(false)
     })
diff --git a/src/services/ecogesture.service.ts b/src/services/ecogesture.service.ts
index abd214456cbccd7524b9f28dcb257b3dc20dd14f..6715f4c11e5d4359a665386df9716e64452b989f 100644
--- a/src/services/ecogesture.service.ts
+++ b/src/services/ecogesture.service.ts
@@ -1,4 +1,4 @@
-import { Client } from 'cozy-client'
+import { Client, QueryDefinition, QueryResult, Q } from 'cozy-client'
 import { ECOGESTURE_DOCTYPE } from 'doctypes'
 import { Ecogesture } from 'models'
 
@@ -10,10 +10,11 @@ export default class EcogestureService {
   }
 
   public async getAllEcogestures(): Promise<Ecogesture[]> {
-    const ecogestures = await this._client.query(
-      this._client.find(ECOGESTURE_DOCTYPE)
-    )
-    return ecogestures.data
+    const query: QueryDefinition = Q(ECOGESTURE_DOCTYPE)
+    const {
+      data: ecogestures,
+    }: QueryResult<Ecogesture[]> = await this._client.query(query)
+    return ecogestures
   }
 
   public async deleteAllEcogestures(): Promise<boolean> {