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

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
Une garde-robe intelligente
Un système modulable, générique

Architecture & conception
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/jazz
Utilisé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, ....)
MongoDB

-
Base de données NoSQL
- Alliée à un ORM, mongoengine
Frontend : Handlebarjs
-
Templating côté client
-
Idéal pour une architecture REST
Météo : METWIT
Musique : 8tracks

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)