Présentation & concepts
Je vais essayer de vous présenter brièvement mon projet domotique (qui s’appelle Jeedom) ainsi que le concept.
Passionné de domotique j’ai voulu me lancer mais j’avais certaines exigences :
- Mon système devait être local (pas d’offre cloud, ou de truc décentralisé, pour de la domotique c’est un peu une aberration)
- L’application devait être flexible et modulable pour pouvoir intégrer de nouvelles technologies facilement
- Elle doit s’adapter à mes besoins et pas l’inverse
- Étant développeur je voulais aussi pouvoir rajouter mes propres « plugins » si besoin
- Une consommation modérée de ressource contenu, facile d’installation
Après avoir fait le tour de ce qui existait j’en suis arrivé a la conclusion qu’aucune box/application existante ne remplissait tous mes critères à 100%. Je me suis donc lancé dans la conception d’une application avec les contraintes suivantes :
- Système facilement maintenable et compréhensible
- Organisation en plugin pour rajouter des briques facilement
- Éviter si-possible les usines à gaz
- Design robuste
J’en suis donc arrivé au choix suivant :
- Technologie web : PHP/JS/HTML/CSS/NodeJS le tout couplé à une BDD MySQL ou MariaDB
- Un core qui sera en charge des fonctions suivantes :
- Historisation
- Scénario
- Configuration générale
- Affichage/vues
- Interaction
- Logs
- Tout le reste dans des plugins (ça permet de faire en sorte que le core fassent abstraction de la gestion même des équipements)
Petit schéma récapitulatif :