Parmi les différentes solutions domotiques Open Source, il existe Gladys, un assistant intelligent qui permet d’améliorer son quotidien grâce à sa compatibilité avec différents dispositifs, technologies et services. Son fondateur nous donne les détails de son projet Gladys.

1- Pour débuter ce nouvel épisode, peux-tu nous décrire qui est Pierre-Gilles et quel est ton background ?

Je m’appelle Pierre-Gilles Leymarie, j’ai 24 ans et je suis le fondateur du projet Gladys. Je suis Ingénieur logiciel originellement. Avant de me lancer pleinement sur Gladys, je travaillais en tant que Lead Back-End Engineer chez BulldozAIR, une startup qui commercialise un logiciel de gestion de projets destinés au monde de la construction. J’étais responsable de toute l’infrastructure serveur, autant en terme de développements, de déploiement et de monitoring. J’ai travaillé avec eux sur Paris et San Francisco pendant 3 ans et j’ai quitté l’entreprise cet été pour pouvoir me dédier à Gladys.

2- Qu’est-ce que Gladys et quel est son intérêt ?

Gladys, c’est un assistant intelligent open-source qui se connecte à tous les périphériques connectés de la maison: lampes, musique, volets roulants, chauffage, avec pour objectif d’aider l’utilisateur au quotidien.

Gladys intègre toutes les fonctionnalités d’un logiciel domotique traditionnel: création de scénarios, gestion des périphériques, réveils, visualisation des données de la maison, etc.

Mais Gladys c’est surtout un assistant avec une couche dialogue, que ce soit textuel ou vocalement. Il est possible d’envoyer des messages à Gladys, “Je rentre à la maison” , “Quel temps fait-il ?”, “Allume la lumière du salon”, tout ça grâce à une couche machine learning développée en interne, complètement open-source et qui tourne localement chez l’utilisateur.

L’autre aspect vers lequel on tend c’est l’aspect intelligence. Gladys peut par exemple vous réveiller automatiquement en fonction de votre calendrier, du lieu du premier évènement et du temps de traffic pour aller à l’événement, tout ça sans même avoir programmé de réveil !

Et ce n’est que le début.

3- Pour quelles raisons as-tu développé ce projet Gladys ?

J’ai commencé à travailler sur ce projet Gladys il y a 5 ans, en 2013. A l’époque j’étais étudiant, je venais d’avoir un Raspberry Pi et je cherchais à contrôler quelques périphériques que j’avais dans ma chambre d’étudiant. Je voulais créer mon propre Jarvis comme dans Iron Man.

J’ai donc commencé à faire quelques scripts pour pouvoir contrôler ces périphériques et à l’époque j’écrivais toutes ces expériences sur un blog que j’avais et ma vision du Jarvis parfait.

Petit à petit, j’ai commencé à me constituer une audience et celle-ci me demandait de sortir un logiciel clé en main intégrant tous les bouts de scripts que je postais en ligne.

Et quasiment 8 mois après, la première version de Gladys est née !

4- Comment ça fonctionne ?

Gladys c’est un programme qui tourne sur n’importe quel système (Linux, MacOS, Windows), mais que la plupart de nos utilisateurs font tourner sur Raspberry Pi.

Pour installer Gladys, il faut télécharger une image Raspbian Gladys, cloner l’image sur une carte micro-SD puis l’insérer dans le Raspberry Pi.

Ensuite l’utilisateur va pouvoir se connecter à Gladys depuis son navigateur, configurer son logement, ses périphériques, ses scénarios.

5- Quelles ont été les évolutions de Gladys ?

Gladys a commencé en 2013, et depuis nous avons eu 3 version majeures.

La première version de Gladys était avant tout une preuve de concept, l’objectif était de voir si il y avait un public pour ce genre de logiciel. C’était une version très basique avec des fonctionnalités limitées.

Ensuite est venu la version 2 de Gladys. Il y avait un vrai intérêt pour le projet, et de mon côté je n’étais pas satisfait des technologies utilisées dans la v1, donc je suis reparti de zéro. C’était l’occasion de mettre en place un système de modules pour permettre à des développeurs externes d’ajouter des compatibilités à Gladys très facilement.

Enfin, il y a la version 3 de Gladys, c’est la version actuellement en circulation. Dans cette version nous avons revu toute la partie gestion des périphériques et ajouté les discussions grâce au machine learning.

Je peux d’ailleurs annoncer qu’une version 4 de Gladys est dans les cartons, avec pas mal d’améliorations, je n’en dis pas plus…

6- De quoi se compose Gladys ?

Il y a 2 parties dans Gladys: le coeur de Gladys, et les modules.

Le coeur de Gladys est une couche d’abstraction: tout est abstrait dans le coeur. Une lampe n’est qu’un périphérique abstrait avec un ensemble de fonctionnalités (On/Off, couleur, intensité), fonctionnalités qui ont des états (allumé/éteint, rouge, 90%).

Les modules sont des drivers qui font le lien entre la représentation abstraite des périphériques et le monde réel.

Les modules peuvent être développés par n’importe qui !

7- Tu as désormais lancé le Gladys Gateway, peux-tu m’en dire plus ?

Après toutes ces années à travailler sur Gladys, j’avais remarqué un problème récurrent lors de l’usage de Gladys, problème qui est commun à toute l’industrie domotique :

Il est facile d’accéder à sa domotique sur son réseau local, mais plus complexe de l’extérieur du réseau. A ce problème il y a plusieurs solutions :

  • Rendre son Raspberry Pi accessible publiquement sur internet.
  • Utiliser un VPN.
  • Certaines plateformes fournissent un service cloud (Philips Hue).

Mais aucune de ces solutions n’étaient satisfaisantes pour moi :

  • Rendre son Raspberry accessible publiquement, ce n’est pas pour tout le monde et cela demande de la maintenance pour ne pas se faire pirater son instance.
  • Utiliser un VPN c’est contraignant à l’usage.
  • Les services cloud cassent l’objectif de ce genre de solution car les informations de l’utilisateur transitent via un tiers et ainsi la vie privée de l’utilisateur n’est plus respectée.

J’ai donc créé le Gladys Gateway, une plateforme chiffrée de bout en bout qui permet de contrôler sa domotique de n’importe où dans le monde.

L’utilisateur a accès à un page web qui lui permet de contrôler son Gladys. Tout le contenu qui transite entre le navigateur et le Raspberry Pi de l’utilisateur est chiffré de bout en bout. Ainsi, la vie privée de l’utilisateur est respecté.

8- Quels sont les dispositifs, technologies et services compatibles avec Gladys ?

Je ne pourrais pas faire la liste exhaustive ici, mais il est possible de contrôler tout un ensemble de périphériques: Z-Wave, EnOcean, 433Mhz, Philips Hue, Sonos, Sonoff et plein d’autres !

9- Quel est son prix et qu’inclue-t-il ?

Gladys est 100% gratuit, c’est open-source. Il faut juste avoir un Raspberry Pi et on peut installer gratuitement Gladys et tous ses modules.

Afin d’être viable économiquement, je propose un package communauté complètement facultatif. Il coûte 9.99€ par mois. Il donne notamment accès au Gladys Gateway et à un Slack pour discuter avec d’autres membres de la communauté.

Le prix de ce package est avant tout là pour permettre à ce projet d’être viable économiquement et financer le développement de nouvelles fonctionnalités !

10- En terme d’informations personnelles, Gladys est-il une solution sécurisée ?

Complètement ! Déjà Gladys est une solution qui est hébergée chez l’utilisateur. En effet, toutes les données de l’utilisateur sont enregistrées en local sur son Raspberry Pi et ne quittent jamais sa machine. Donc déjà il n’y a pas de risque de voir un serveur distant piraté car il n’y a pas de serveurs distants !

Ensuite, même si votre réseau Wi-Fi local est compromis, l’accès à Gladys est sécurisé par un compte avec mot de passe, défini par l’utilisateur à la première connexion à Gladys. En effet, il n’y a pas de compte par défaut ni de mot de passe par défaut. L’utilisateur est forcé de choisir un mot de passe à la première connexion.

Enfin, Gladys implémente de nombreuses sécurités pour éviter tout type d’attaque.

Pour parler du Gladys Gateway, même dans l’hypothèse où celui-ci serait compromis, il serait impossible pour l’attaquant de contrôler votre instance Gladys. Comme le Gateway est chiffré de bout en bout, l’attaquant ne possède pas la clé privée de l’utilisateur nécessaire pour contrôler sa maison.

11- Combien de personnes ont adopté le projet Gladys ?

Gladys a été téléchargé plus de 35 000 fois et la communauté en ligne compte plus de 3 000 membres.

12- En quoi consiste le programme développeur de Gladys et quel est son intérêt ?

Le but du programme développeur est de permettre à n’importe qui de développer des compatibilités Gladys et donc d’ajouter de nouvelles possibilités à sa maison.

Par conséquent, il est possible en quelques minutes de créer un module Gladys et ensuite de le distribuer à la communauté via notre store en ligne.

13- Si demain, tu abandonnes le projet, pourra-t-on toujours utiliser Gladys ?

Oui ! Absolument tout dans le projet est open-source. Pour être précis : notre site est open-source, le Gladys Gateway est open-source, les modules sont open-source, tout est open-source !

14- Quels sont tes prochains projets d’évolution ?

J’ai beaucoup de projets pour les mois/années à venir. Gladys v4 est un des principal projet que j’ai en tête. C’est une version majeure qui va apporter de nombreuses améliorations ! J’en parlerais plus dans les semaines/mois qui viennent.

Nous avons une application Android qui est en bêta publique depuis un bout de temps et qui va sortir bientôt officiellement.

Ensuite, beaucoup d’utilisateurs demandent des compatibilités avec des gammes de périphériques et de services (Amazon Alexa par exemple), l’accent va être mis sur les compatibilités.

Enfin en plus long terme je veux ajouter plus de machine learning dans Gladys pour que l’assistant devienne encore plus intelligent.

Mon ambition est que mon projet Gladys devienne une référence en terme de domotique open-source.

Partagez cet article !

A propos de l'auteur

Titulaire d'un BTS domotique ainsi que d'une Licence professionnelle en web marketing et communication, mon objectif est de vous partager mon expérience au sujet du logement connecté et ainsi, vous accompagner au mieux dans vos recherches.

Commencer une discussion community.domadoo.com