Ghome

Guillaume ABADIE, Thierry CANTENOT, Juliette COURLET, Rémi DOMINGUES, Adrien DUFFY-COISSARD, Ahmed KACHKACH
Un projet innovant

... mais réaliste !

une maison...

... MOINS BÊTE !

Nous surveillons votre maison 24h/24*

* La sécurité de vos données est garantie par notre partenaire, la NSA
Alertes automatisées

Un vrai centre de divertissement !

Des réveils (et une vie) moins difficiles

Un Kiosque à presse

Une garde-robe intelligente
Un système modulable, générique

Démonstration
Architecture & conception

Architecture Réseau

Une architecture modulaire
-
Faible couplage entre les différents blocs (serveur EnOcean, serveur web et serveur multimédia)
- Communication via divers protocoles bas-niveau (EnOcean) ou haut-niveau (HTTP REST, RPC, ...)
Architecture REST
Fonctionnalités GHome exposées et utilisables par de simples requêtes HTTP :
GET /device/1337/readings
POST /device/1337/ignore
GET /temperature/
GET /weather/
POST /play_music/jazzUtilisée pour réaliser notre client web !
Des clients multi-platforme

-
Interfaces responsive
- Exploitent les technologies web
- Fonctionnelles sur téléphone, tablette ou PC.
Un système simple & générique
- Interopérabilité entre différents types de capteurs, actionneurs
- Facilité d'ajout de capteurs (depuis l'interface graphique) et de nouveaux types de capteurs (interface applicative)
Système ÉVÉNEMENTIEL
Un système générique permettant de lier:
. Un événement (ouverture d'une fenêtre, baisse de température, ...)
à
. Une action (allumer une lampe, éteindre le chauffage, faire un appel téléphonique, ....)
. Un événement (ouverture d'une fenêtre, baisse de température, ...)
à
. Une action (allumer une lampe, éteindre le chauffage, faire un appel téléphonique, ....)
Technologies & outils

Backend : Python

MongoDB

-
Base de données NoSQL
- Alliée à un ORM, mongoengine
Réseau : Twisted

Backend web: Flask

Frontend : Handlebarjs

-
Templating côté client
-
Idéal pour une architecture REST
VUE 3D : WEBGL

APIs De Services web
Météo : METWIT
Musique : 8tracks

NEWS : RSS

Vêtements : Shopstyle

TÉLÉPHONE : Twilio

OrganisatioN du projet
Trello

Gestion de projet basée sur le paradigme kanban
Séparation du travail en "modules"
-
Une personne spécialisée dans un ou plusieurs "modules" (vue 3D, musique, news, ...)
- De cette manière nous avons tous fait du full-stack : du frontend (HTML, CSS, JS) au backend (Python, MongoDB)
Qualité & tests
- Tests unitaires et fonctionnels des modules.
-
Utiles pour éviter les régression, même si difficile à mettre en place pour certaines fonctionnalités (réseau)
Fin !
Questions ?
Ghome
By hexamome
Ghome
- 1,035