# Configuration d'une plateforme dev pour Gladys 4

**URL:** <https://community.gladysassistant.com/t/configuration-dune-plateforme-dev-pour-gladys-4/4984>\
**Category:** Développement\
**Created:** [Octobre 17, 2019, 9:35 UTC](https://community.gladysassistant.com/t/configuration-dune-plateforme-dev-pour-gladys-4/4984 "2019-10-17T09:35:55Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![billona](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/billona/32/4330_2.png) [@billona](https://community.gladysassistant.com/u/billona)\
**Post date:** [Octobre 17, 2019, 9:35 UTC](https://community.gladysassistant.com/t/configuration-dune-plateforme-dev-pour-gladys-4/4984/1 "2019-10-17T09:35:55Z")

</div>

Bonjour,

Cela fait maintenant 2 jours que mon raspberry pi 4 est mis à disposition pour créer un petit serveur pour faire tourner Gladys 4. Dans le but d’apporter mes modifications je passe directement par le Git, comme décrit dans la doc.

J’ai donc cloné le repo dans un dossier, installé via npm le server et le front, migré la base, mais malgré tout j’obtiens ces erreurs après lancement de test :

Côté serveur :

```
pi@raspberrypi:~/gladys/server $ npm test

> gladys-server@ pretest /home/pi/gladys/server
> cross-env SQLITE_FILE_PATH=/tmp/gladys-test.db npm run db-migrate:test && npm run eslint

> gladys-server@ db-migrate:test /home/pi/gladys/server
> cross-env NODE_ENV=test node_modules/.bin/sequelize db:migrate

Sequelize CLI [Node: 10.16.3, CLI: 5.4.0, ORM: 4.44.3]

Loaded configuration file "config/config.js".
Using environment "test".
== 20190211042644-create-calendar-event: migrating =======

ERROR: SQLITE_ERROR: index t_calendar_event_calendar_id already exists

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! gladys-server@ db-migrate:test: `cross-env NODE_ENV=test node_modules/.bin/sequelize db:migrate`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the gladys-server@ db-migrate:test script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /home/pi/.npm/_logs/2019-10-17T09_25_49_725Z-debug.log
npm ERR! Test failed. See above for more details.

```

Côté front :

```
pi@raspberrypi:~/gladys/server $ cd ../front/
pi@raspberrypi:~/gladys/front $ npm test

> gladys-front@ test /home/pi/gladys/front
> jest --coverage

 FAIL tests/header.test.js
  Initial Test of the Header
    ✕ Header renders Gladys Assistant title and 8 items in header (78ms)
    ✓ Should return null, login page doesnt need a header (2ms)
    ✕ [Backslash URL] Header renders Gladys Assistant title and 8 items in header (17ms)
    ✓ [Backslash URL] Should return null, login page doesnt need a header (1ms)

  ● Initial Test of the Header › Header renders Gladys Assistant title and 8 items in header

    expect(received).toBe(expected)

    Expected value to be (using ===):
      "Gladys Assistant"
    Received:
      ""

      at Object.<anonymous> (tests/header.test.js:25:305)
          at new Promise (<anonymous>)

  ● Initial Test of the Header › [Backslash URL] Header renders Gladys Assistant title and 8 items in header

    expect(received).toBe(expected)

    Expected value to be (using ===):
      "Gladys Assistant"
    Received:
      ""

      at Object.<anonymous> (tests/header.test.js:25:728)
          at new Promise (<anonymous>)

Test Suites: 1 failed, 1 total
Tests: 2 failed, 2 passed, 4 total
Snapshots: 0 total
Time: 1.956s
Ran all test suites.
-------------------|----------|----------|----------|----------|-------------------|
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s |
-------------------|----------|----------|----------|----------|-------------------|
All files | 100 | 66.67 | 100 | 100 | |
 components/header | 100 | 57.14 | 100 | 100 | |
  index.jsx | 100 | 57.14 | 100 | 100 |35,41,45,73,96,114 |
 utils | 100 | 100 | 100 | 100 | |
  url.js | 100 | 100 | 100 | 100 | |
-------------------|----------|----------|----------|----------|-------------------|
npm ERR! Test failed. See above for more details.
pi@raspberrypi:~/gladys/front $

```

Pourtant, j’ai bien sqlite3 d’installé, node et npm tournent bien, et j’essaie d’installer directement après clonage du repo [Gladys](https://github.com/GladysAssistant/Gladys).

Côté serveur, le problème viendrait d’index dupliqués dans la base.  
Côté front, j’ai une erreur au niveau de la définition du Header.

Pourriez-vous me fournir des pistes de recherches ? J’ai très hâte de pouvoir commencer à développer les services dont j’ai besoin 😁

Merci d’avance.

---

<div class="post-metadata">

**Author:** ![billona](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/billona/32/4330_2.png) [@billona](https://community.gladysassistant.com/u/billona)\
**Post date:** [Octobre 24, 2019, 8:44 UTC](https://community.gladysassistant.com/t/configuration-dune-plateforme-dev-pour-gladys-4/4984/2 "2019-10-24T08:44:03Z")

</div>

Petit up !

Cela fait une semaine, et entre temps j’ai essayé d’installer un serveur directement sur le WSL de mon pc. Après installation, j’en arrive exactement au même niveau. Quelqu’un aurait-il l’amabilité de m’apporter de l’aide s’il vous plaît ?

Merci 😉

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Octobre 24, 2019, 8:54 UTC](https://community.gladysassistant.com/t/configuration-dune-plateforme-dev-pour-gladys-4/4984/3 "2019-10-24T08:54:49Z")

</div>

Oups désolé j’avais zappé ton message! 🙂

Déjà clairement je te conseille de faire tourner ça sur ton laptop windows, pas sur ton Pi, c’est impossible de développer sur Pi!

Il faut que tu supprime le fichier `/tmp/gladys-test.db`, visiblement ta DB existe déjà (c’est là où est situé la db pour les tests). Sur windows je sais pas si ça marche ce genre de path? Il faut peut être le changer… (dans le fichier `server/package.json`, dans l’endroit ou sont définis les scripts )

---

<div class="post-metadata">

**Author:** ![VonOx](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/vonox/32/10128_2.png) [@VonOx](https://community.gladysassistant.com/u/VonOx)\
**Post date:** [Octobre 24, 2019, 9:45 UTC](https://community.gladysassistant.com/t/configuration-dune-plateforme-dev-pour-gladys-4/4984/4 "2019-10-24T09:45:14Z")

</div>

Oui ça marche en WSL 😉

---

<div class="post-metadata">

**Author:** ![billona](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/billona/32/4330_2.png) [@billona](https://community.gladysassistant.com/u/billona)\
**Post date:** [Octobre 24, 2019, 1:59 UTC](https://community.gladysassistant.com/t/configuration-dune-plateforme-dev-pour-gladys-4/4984/5 "2019-10-24T13:59:20Z")

</div>

Merci pour vos retours ! 😁

Après une journée acharnée j’ai finalement réussi à installer mon serveur, j’ai donc pu vérifier mes premiers apports :

 ![Arduino%20Gladys](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/c/c11184751ad4c6f8d780e86c0aae1f9207b14259.png)

Le développement du service Arduino commence !

J’ai beaucoup d’idée concernant les pages de configuration et d’interaction avec les devices associés. J’ai une semaine de vacances, j’en profiterai donc pour avancer au maximum, je vous ferai un retour dès que j’ai un début fonctionnel 😉

Merci encore pour votre aide 🙂

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Octobre 24, 2019, 2:02 UTC](https://community.gladysassistant.com/t/configuration-dune-plateforme-dev-pour-gladys-4/4984/6 "2019-10-24T14:02:41Z")

</div>

Génial @billona! N’hésite pas si tu as des questions 🙂

---

<div class="post-metadata">

**Author:** ![ProtZ](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/protz/32/1641_2.png) [@ProtZ](https://community.gladysassistant.com/u/ProtZ)\
**Post date:** [Novembre 15, 2019, 8:34 UTC](https://community.gladysassistant.com/t/configuration-dune-plateforme-dev-pour-gladys-4/4984/8 "2019-11-15T08:34:44Z")

</div>

Hello à tous,

Ce sujet m’intéresse (monter une plateforme dev pour Gladys 4).

J’ai l’intuition qu’il est possible de faire cela avec Docker.  
Je ne suis pas devops et je n’ai malheureusement que très peu de temps à consacrer à ce type de chose  
Dites-moi si cela vous semble possible de monter une plateforme de dev avec Docker en suivant un tuto du type :

- Monter le docker avec le docker-compose.yml =\> image node et un montage de volumes qui va bien
- poser le git Gladys v4 dans le mount
- builder le tout en mode dev

En vous souhaitant une bonne journée 🙂

---

<div class="post-metadata">

**Author:** ![VonOx](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/vonox/32/10128_2.png) [@VonOx](https://community.gladysassistant.com/u/VonOx)\
**Post date:** [Novembre 16, 2019, 1:26 UTC](https://community.gladysassistant.com/t/configuration-dune-plateforme-dev-pour-gladys-4/4984/10 "2019-11-16T13:26:17Z")

</div>

Y’a rien à faire de particulier pour dev avec docker, il suffit d’ajouter un volume lors de la création ( le dossier ou est installer Gladys)

Mais y’a rien de pratique car l’image c’est pour de la prod ( pas de hot reload)

Le WSL c’est le top sous Windows

---

<div class="post-metadata">

**Author:** ![Ilyma](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/ilyma/32/3048_2.png) [@Ilyma](https://community.gladysassistant.com/u/Ilyma)\
**Post date:** [Novembre 16, 2019, 4:32 UTC](https://community.gladysassistant.com/t/configuration-dune-plateforme-dev-pour-gladys-4/4984/12 "2019-11-16T16:32:40Z")

</div>

@renaiku , voila la démarche assez simple que j’ai fait

Alors, je l’ai fait il y a longtemps donc j’ai pas suivis la doc de maintenant, il était deja sur mon ordi depuis ça sortie mais je sais que c’est simple a configurer. ça t’installe un bon vieux ubuntu (ou debian ou autre selon tes préférences)

> **[Install WSL](https://docs.microsoft.com/en-us/windows/wsl/install)**
>
> Install Windows Subsystem for Linux with the command, wsl --install. Use a Bash terminal on your Windows machine run by your preferred Linux distribution - Ubuntu, Debian, SUSE, Kali, Fedora, Pengwin, Alpine, and more are available.

Tu installe WSL, tu peux retourner dans ton projet (ou le réinstaller comme tu préfere)  
NOTE : A savoir, le dossier `c://` se trouve sous cette forme `/mnt/c/` sous WSL

Puis apres, tu suis l’installation standard sous windows pour node module qui utilise le path `c:/` de la doc gladys v4 et tu run les server sous WSL

> **[A privacy-first, open-source home assistant | Gladys Assistant](https://gladysassistant.com/)**
>
> Gladys Assistant is a modern, privacy-first & open-source home automation software that runs anywhere.

et en théorie, ça devrait fonctionner parfaitement ^^

Merci @VonOx pour l’info 🙂

---

<div class="post-metadata">

**Author:** ![Ilyma](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/ilyma/32/3048_2.png) [@Ilyma](https://community.gladysassistant.com/u/Ilyma)\
**Post date:** [Novembre 16, 2019, 6:00 UTC](https://community.gladysassistant.com/t/configuration-dune-plateforme-dev-pour-gladys-4/4984/14 "2019-11-16T18:00:20Z")

</div>

@renaiku Personnellement, je te conseillerais d’installer nvm pour switcher de version de node quand tu veux, enfin, si c’est pas deja le cas ^^. c’est pas mal de manipulation sur windows mais tu est tellement tranquille apres ^^

---

<div class="post-metadata">

**Author:** ![VonOx](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/vonox/32/10128_2.png) [@VonOx](https://community.gladysassistant.com/u/VonOx)\
**Post date:** [Novembre 16, 2019, 8:41 UTC](https://community.gladysassistant.com/t/configuration-dune-plateforme-dev-pour-gladys-4/4984/16 "2019-11-16T20:41:20Z")

</div>

> [@renaiku](#):
>
> Merci ca marche niquel. Faudrait réécrire la doc pour windows du coup.
> 
> A savoir que j’avais node d’installée dans mon windows qui posait un pb. j’ai du apt-get install node et aussi `export PATH=/usr/bin:$PATH` car le node de mon windows était selectionné par défaut. Maintenat tout marche youpi !

Bah non pourquoi tu veux réécrire la doc, WSL c’est Linux donc les dépendances sont les mêmes. Ou alors j’ai pas compris ce que tu as voulu dire.

Pour ton path tu veux dire que node.exe était utilisé sous WSL ? ( ça m’étonne vraiment )

---

<div class="post-metadata">

**Author:** ![VonOx](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/vonox/32/10128_2.png) [@VonOx](https://community.gladysassistant.com/u/VonOx)\
**Post date:** [Novembre 16, 2019, 8:54 UTC](https://community.gladysassistant.com/t/configuration-dune-plateforme-dev-pour-gladys-4/4984/18 "2019-11-16T20:54:29Z")

</div>

> [@renaiku](#):
>
> Ben c’est plus pratique de mettre WSL que d’installer python et compagnie puis de l’ajouter dans le path windows etc. Enfin je trouves.

Ah oui clairement je suis d’accord.

> [@renaiku](#):
>
> pour ce qui est de node.exe … c’était pourtant le cas. Et j’ai vu pas mal d’issue à ce sujet et j’ai fini par trouver cette solution dans un commentaire sur le git du projet.

OK je vois, j’ai jamais eu de node windows + WSL pour ça que j’ai jamais constaté ce problème.
