{"id":1043,"date":"2011-12-23T22:14:44","date_gmt":"2011-12-23T21:14:44","guid":{"rendered":"http:\/\/blog.guiguiabloc.fr\/?p=1043"},"modified":"2012-11-13T22:24:03","modified_gmt":"2012-11-13T21:24:03","slug":"projet-xpl-pyhal-un-cerveau-xpl-episode-1","status":"publish","type":"post","link":"http:\/\/blog.guiguiabloc.fr\/index.php\/2011\/12\/23\/projet-xpl-pyhal-un-cerveau-xpl-episode-1\/","title":{"rendered":"Projet xPL-pyHAL, un cerveau xPL, Episode 1"},"content":{"rendered":"<p style=\"text-align: center;\"><a href=\"http:\/\/blog.guiguiabloc.fr\/wp-content\/2011\/12\/xpl-pyHAL.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-1056\" title=\"xpl-pyHAL\" src=\"http:\/\/blog.guiguiabloc.fr\/wp-content\/2011\/12\/xpl-pyHAL.jpg\" alt=\"\" width=\"132\" height=\"113\" \/><\/a><\/p>\n<p>Si vous suivez ce blog et ses derniers billets (grand bien vous en fasse \ud83d\ude42 ), vous savez que je me consacre de plus en plus \u00e0 la domotique (pour diverses raisons dont vous trouverez l&rsquo;explication dans cet historique justement).<\/p>\n<p>En plus de cette passion pour la domotique, je me suis pris d&rsquo;un grand int\u00e9r\u00eat pour le protocole xPL.<br \/>\n(et de nouveau je vous invite \u00e0 lire <a title=\"http:\/\/www.poulpy.com\/2010\/02\/xpl-one-protocol-to-rule-them-all\/\" href=\"http:\/\/www.poulpy.com\/2010\/02\/xpl-one-protocol-to-rule-them-all\/\" target=\"_blank\">l&rsquo;excellent billet de Thibault sur son blog<\/a>).<br \/>\nQui dit xPL, dit forc\u00e9ment une lecture soutenue des diff\u00e9rentes pages du projet xPL et de la rencontre avec ses diff\u00e9rents acteurs.<br \/>\nD&rsquo;ailleurs, mon engouement sur le sujet vient aussi beaucoup de l&rsquo;activit\u00e9 fran\u00e7aise dans ce domaine et des contacts enrichissants et passionnants avec les passionn\u00e9s de Domotique en France, que je salue au passage, dont le d\u00e9vouement et l&rsquo;implication font que cette communaut\u00e9 est a elle seule, une raison de les rejoindre.<\/p>\n<p>Bref, comme vous l&rsquo;avez vu, j&rsquo;ai commenc\u00e9 a poindre mon nez en fournissant un premier <a title=\"http:\/\/blog.guiguiabloc.fr\/index.php\/2011\/10\/31\/xpl-et-nut-recuperer-les-donnees-de-votre-onduleur\/\" href=\"http:\/\/blog.guiguiabloc.fr\/index.php\/2011\/10\/31\/xpl-et-nut-recuperer-les-donnees-de-votre-onduleur\/\" target=\"_blank\">client xPL \u00e9crit en python<\/a>, qui, \u00e0 ma grande surprise, a re\u00e7u un accueil tr\u00e8s favorable et enthousiaste (au point d&rsquo;\u00eatre r\u00e9f\u00e9renc\u00e9 dans les d\u00e9veloppeurs <a title=\"http:\/\/xplproject.org.uk\/\" href=\"http:\/\/xplproject.org.uk\/\" target=\"_blank\">xPL du projet sur la page d&rsquo;accueil<\/a> !!!).<br \/>\nJ&rsquo;avoue avoir \u00e9tait grandement surpris et je remercie les agitateurs du projet pour leur soutien.<br \/>\nD&rsquo;un autre c\u00f4t\u00e9, cela vous met une pression grave \ud83d\ude42 (en plus d&rsquo;une demi-molle je l&rsquo;avoue&#8230;)<\/p>\n<p>Dans cette progression personnelle que j&rsquo;ai, j&rsquo;ai donc commenc\u00e9 \u00e0 pondre du code (et l\u00e0, les gens qui me connaissent bien doivent halluciner \ud83d\ude00 ).<br \/>\nLe langage de d\u00e9veloppement qui m&rsquo;a tr\u00e8s vite attir\u00e9 est bien s\u00fbr Python (loin de moi l&rsquo;id\u00e9e de lancer un troll sans fin sur les remarques \u00ab\u00a0mais t&rsquo;es nul Java c&rsquo;est mieux!\u00a0\u00bb, parce que bon, java, euh, comment dire&#8230; (bah non je vais rien dire mais j&rsquo;en pense pas moins :p ))<br \/>\nAlors attention, je ne suis pas d\u00e9veloppeur du tout, mon m\u00e9tier c&rsquo;est le syst\u00e8me\/r\u00e9seau (plut\u00f4t r\u00e9seau d&rsquo;ailleurs), et donc je con\u00e7ois totalement d&rsquo;\u00eatre hu\u00e9, ha\u00ef, conspu\u00e9 et d\u00e9nigr\u00e9 par des \u00ab\u00a0vrais\u00a0\u00bb d\u00e9veloppeurs (quand ils existent), et si j&rsquo;ai fait le choix de Python comme langage de pr\u00e9dilection, c&rsquo;est qu&rsquo;il r\u00e9pond \u00e0 mes attentes, qu&rsquo;il est tr\u00e8s puissant, et que j&rsquo;aime bien les serpents.<br \/>\nS&rsquo;tout.<\/p>\n<p>Cela \u00e9tant dit, pour en revenir \u00e0 nos moutons, dans une architecture xPL, un des \u00e9l\u00e9ments qui peut s&rsquo;av\u00e9rer important est ce que l&rsquo;on appelle le xPLHal.<br \/>\nVous en trouvez l&rsquo;explication <a href=\"http:\/\/xplproject.org.uk\/wiki\/index.php?title=FAQ#What_is_xPLHal.3F\">ici <\/a>.<br \/>\nC&rsquo;est un \u00ab\u00a0moteur\u00a0\u00bb central xPL, il \u00e9coute les messages transitant dans les hubs xPL et ex\u00e9cutent des actions en cons\u00e9quence de ses messages ou suivant une programmation horaire d\u00e9finie par l&rsquo;utilisateur.<br \/>\nPour contr\u00f4ler ce moteur, il y a un xPL-HalManager qui est l&rsquo;interface entre l&rsquo;utilisateur et le xPLHal.<br \/>\nAlors bien \u00e9videmment, cet xPL-Hal n&rsquo;est pas obligatoire, beaucoup utilisent des scripts maison (surtout dans le monde Linux), ou autres bidouilles.<br \/>\nSous windows, vous trouverez votre bonheur, mais sous Linux, c&rsquo;est un peu le d\u00e9sert, a part un <a title=\"http:\/\/www.xpl4java.org\/\" href=\"http:\/\/www.xpl4java.org\/\" target=\"_blank\">XPLHAL java<\/a> plus maintenu depuis 2008.<\/p>\n<p>Et en python, rien&#8230; (a part le projet Domogik bien s\u00fbr).<br \/>\nParent pauvre de la domotique, Linux est durement support\u00e9 par une poign\u00e9e de personnes face aux mastodontes Windoziens (aka Homeseer bien s\u00fbr) et c&rsquo;est bien dommage au regard des gens qui sont actifs dans ce milieu.<\/p>\n<p>Je me suis donc mis en t\u00eate et en cheval de bataille sur ses prochains mois, d&rsquo;\u00e9crire un xPLHal en python.<br \/>\nLa charge du projet est importante si l&rsquo;on consid\u00e8re les pr\u00e9-requis, et peut-\u00eatre m\u00eame insurmontable, mais apr\u00e8s tout pourquoi pas.<br \/>\nD\u00e9j\u00e0 cela m&rsquo;obligera a me familiariser avec python, avec xPL, et surtout, le plus important \u00e0 mes yeux, d&rsquo;essayer d&rsquo;offrir quelque chose de plus \u00e0 la communaut\u00e9.<\/p>\n<p>Dont acte, d\u00e9but du projet xPL-pyHAL.<\/p>\n<p>J&rsquo;esp\u00e8re vous donner une premi\u00e8re \u00e9bauche de ce que j&rsquo;ai \u00e9crit, mais les premiers pas sont encourageants surtout quand on apprend le langage en m\u00eame temps \ud83d\ude42<br \/>\nJe suis parti pour l&rsquo;instant sur une configuration \u00e0 base de fichiers <a title=\"http:\/\/fr.wikipedia.org\/wiki\/YAML\" href=\"http:\/\/fr.wikipedia.org\/wiki\/YAML\" target=\"_blank\">YAML<\/a> (un simple fichier typ\u00e9 par module \u00e0 surveiller dans lequel vous sp\u00e9cfifiez les r\u00e8gles a d\u00e9clencher quand une action sur le module est d\u00e9tect\u00e9e) et qui pour les premiers tests marchent plut\u00f4t bien (action de type HEYU, stockage dans un Memcached ou message de type Notifry (clin d&rsquo;oeil a Thibault au passage pour son excellent <a title=\"http:\/\/www.poulpy.com\/2011\/09\/xpl-et-notifications-push-sous-android-xpl-pushmsg-v0-3\/\" href=\"http:\/\/www.poulpy.com\/2011\/09\/xpl-et-notifications-push-sous-android-xpl-pushmsg-v0-3\/\" target=\"_blank\">xPL-PushMsg<\/a> \ud83d\ude09 ) etc&#8230;) bref, \u00e7a avance et j&rsquo;esp\u00e8re vous d\u00e9tailler plus tard un peu plus de ce projet qui me tient \u00e0 coeur pour 2012.<\/p>\n<p>Le projet sera h\u00e9berg\u00e9 ici :<a title=\"http:\/\/code.google.com\/p\/guiguiabloc\/\" href=\"http:\/\/code.google.com\/p\/guiguiabloc\/\" target=\"_blank\"> http:\/\/code.google.com\/p\/guiguiabloc\/<\/a> (avec la cr\u00e9ation d&rsquo;un nouveau logo pour l&rsquo;occasion \ud83d\ude00 )<\/p>\n<p>En attendant, je vous souhaite \u00e0 tous d&rsquo;excellentes f\u00eates de No\u00ebl et de fin d&rsquo;ann\u00e9e \ud83d\ude00<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Si vous suivez ce blog et ses derniers billets (grand bien vous en fasse \ud83d\ude42 ), vous savez que je me consacre de plus en plus \u00e0 la domotique (pour diverses raisons dont vous trouverez l&rsquo;explication dans cet historique justement). &hellip; <a href=\"http:\/\/blog.guiguiabloc.fr\/index.php\/2011\/12\/23\/projet-xpl-pyhal-un-cerveau-xpl-episode-1\/\">Read More <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[137],"tags":[170,168,172,179],"_links":{"self":[{"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/posts\/1043"}],"collection":[{"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/comments?post=1043"}],"version-history":[{"count":14,"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/posts\/1043\/revisions"}],"predecessor-version":[{"id":1326,"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/posts\/1043\/revisions\/1326"}],"wp:attachment":[{"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/media?parent=1043"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/categories?post=1043"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/tags?post=1043"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}