{"id":1059,"date":"2012-01-06T23:55:31","date_gmt":"2012-01-06T22:55:31","guid":{"rendered":"http:\/\/blog.guiguiabloc.fr\/?p=1059"},"modified":"2012-01-07T00:10:29","modified_gmt":"2012-01-06T23:10:29","slug":"dropbox-allume-vos-lumieres","status":"publish","type":"post","link":"http:\/\/blog.guiguiabloc.fr\/index.php\/2012\/01\/06\/dropbox-allume-vos-lumieres\/","title":{"rendered":"Dropbox allume vos lumi\u00e8res"},"content":{"rendered":"<p style=\"text-align: center;\"><a href=\"http:\/\/blog.guiguiabloc.fr\/wp-content\/2012\/01\/lumieredivine.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-1060\" title=\"lumieredivine\" src=\"http:\/\/blog.guiguiabloc.fr\/wp-content\/2012\/01\/lumieredivine.jpg\" alt=\"\" width=\"248\" height=\"168\" \/><\/a><\/p>\n<p>Tout d&rsquo;abord, je vous souhaite \u00e0 tous une excellente ann\u00e9e 2012 \ud83d\ude00<\/p>\n<p>Qu&rsquo;elle vous apporte plein de petits plaisirs et de grand bonheur qui font la joie de notre vie de tout les jours \ud83d\ude42<\/p>\n<p>Je vous propose une petite bidouille rigolote dont je me suis servie derni\u00e8rement en l&rsquo;absence d&rsquo;acc\u00e8s web sur mon serveur domotique.<\/p>\n<p>Comme nombreux parmi vous je me sers de Dropbox entre mes serveurs, pcs, t\u00e9l\u00e9phone Android etc..<\/p>\n<p>Bien \u00e9videmment, mon serveur domotique dispose d&rsquo;un r\u00e9pertoire partag\u00e9 avec mes autres \u00e9quipements.<\/p>\n<p>Il m&rsquo;est arriv\u00e9 de devoir ouvrir la porte de mon garage \u00e0 distance (chose courante qui se g\u00e8re par diff\u00e9rents acc\u00e8s SSH, API ou interface Web) mais je n&rsquo;avais pas acc\u00e8s \u00e0 ses environnements depuis le lieu o\u00f9 je me trouvais. A part un acc\u00e8s a mon Dropbox&#8230;<\/p>\n<p>Et l\u00e0, j&rsquo;ai eu une id\u00e9e farfelue, controler par Dropbox l&rsquo;interaction avec les \u00e9quipements domotique \ud83d\ude00<\/p>\n<p>Hop, c&rsquo;est parti, comment j&rsquo;ai mis cela en place.<\/p>\n<p>Tout d&rsquo;abord, bien s\u00fbr, il faut sur votre serveur domotique un Dropbox qui tourne \ud83d\ude09<\/p>\n<p>Ensuite, on va utiliser l&rsquo;excellentissime <a title=\"http:\/\/inotify.aiken.cz\/?section=incron&amp;page=about&amp;lang=en\" href=\"http:\/\/inotify.aiken.cz\/?section=incron&amp;page=about&amp;lang=en\" target=\"_blank\">INCRON<\/a><\/p>\n<p>Quoi que c&rsquo;est INCRON ?<\/p>\n<p>Et bien, c&rsquo;est une sorte de crontab mais qui se base sur la librairie <a title=\"http:\/\/fr.wikipedia.org\/wiki\/Inotify\" href=\"http:\/\/fr.wikipedia.org\/wiki\/Inotify\" target=\"_blank\">Inotify<\/a> du noyau.<\/p>\n<p>En gros, le d\u00e9mon INCRON d\u00e9tecte tout changement sur un ou des fichiers dans un r\u00e9pertoire d\u00e9fini, et ex\u00e9cute une action en cons\u00e9quence.<\/p>\n<p>Magique \ud83d\ude42<\/p>\n<p>On installe donc INCRON sur notre serveur<\/p>\n<pre lang=\"bash\">\r\napt-get install incron\r\n<\/pre>\n<p>Dans le fichier \/etc\/incron.allow on ajoute les utilisateurs autoris\u00e9s.<br \/>\nOn se configure dans le r\u00e9pertoire \/etc\/incron.d\/ deux petites actions, l&rsquo;un en cas de cr\u00e9ation ou de copie de fichier dans le r\u00e9pertoire cible, l&rsquo;autre en cas de suppression de ce fichier.<\/p>\n<pre lang=\"bash\">\r\ncat \/etc\/incron.d\/lumieres\r\n\r\n\/home\/guiguiabloc\/Dropbox\/domodrop IN_CREATE,IN_MOVED_TO \/usr\/local\/bin\/heyu on $#\r\n\r\ncat \/etc\/incron.d\/lumieresoff\r\n\/home\/guiguiabloc\/Dropbox\/domodrop IN_DELETE,IN_MOVED_FROM \/usr\/local\/bin\/heyu off $#\r\n<\/pre>\n<p>Petite explication :<\/p>\n<p>D&rsquo;abord, le r\u00e9pertoire \u00e0 surveiller : \/home\/guiguiabloc\/Dropbox\/domodrop<\/p>\n<p>Ensuite l&rsquo;\u00e9v\u00e8nement \u00e0 surveiller (cr\u00e9ation, d\u00e9placement dedans, suppression, d\u00e9placement en dehors etc..)<\/p>\n<p>La liste de tout les \u00e9v\u00e8nements possibles est visible en tapant :<\/p>\n<pre lang=\"bash\">\r\n$ incrontab -t\r\n\r\nIN_ACCESS,IN_MODIFY,IN_ATTRIB,IN_CLOSE_WRITE,IN_CLOSE_NOWRITE,IN_OPEN,\r\n\r\nIN_MOVED_FROM,IN_MOVED_TO,IN_CREATE,IN_DELETE,IN_DELETE_SELF,IN_CLOSE,\r\n\r\nIN_MOVE,IN_ONESHOT,IN_ALL_EVENTS,IN_DONT_FOLLOW,IN_ONLYDIR,IN_MOVE_SELF\r\n<\/pre>\n<p>Enfin, l&rsquo;action a effectuer, dans le cas de ce test, j&rsquo;appelle l&rsquo;utilitaire HEYU ( contr\u00f4le X10) et je lui passe en param\u00e8tre le nom du fichier par la variable $#.<\/p>\n<p>Et voila, maintenant, par un simple copier-coller, si je d\u00e9pose le fichier nomm\u00e9 \u00ab\u00a0A2\u00a0\u00bb dans le r\u00e9pertoire domodrop de mon Dropbox, la lumi\u00e8re r\u00e9f\u00e9renc\u00e9 par le module A2 s&rsquo;allume, si je supprime le fichier, elle s&rsquo;\u00e9teint \ud83d\ude42 (bien \u00e9videmment avec le temps de d\u00e9calage de synchronisation de Dropbox)<\/p>\n<p>Pour voir ce que cela donne,<a href=\"http:\/\/www.dailymotion.com\/video\/xnhz81_domodrop_tech\"  target=\"_blank\"> je vous ai m\u00eame fait un petit film<\/a> ! \ud83d\ude42<\/p>\n<p>Marrant \ud83d\ude00 \ud83d\ude00\u00a0 \ud83d\ude00<\/p>\n<p>Alors je ne sais pas si cela va vous servir, en tout cas, c&rsquo;est bien fun :p<\/p>\n<p>Amusez vous bien \ud83d\ude00<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tout d&rsquo;abord, je vous souhaite \u00e0 tous une excellente ann\u00e9e 2012 \ud83d\ude00 Qu&rsquo;elle vous apporte plein de petits plaisirs et de grand bonheur qui font la joie de notre vie de tout les jours \ud83d\ude42 Je vous propose une petite &hellip; <a href=\"http:\/\/blog.guiguiabloc.fr\/index.php\/2012\/01\/06\/dropbox-allume-vos-lumieres\/\">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":[],"_links":{"self":[{"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/posts\/1059"}],"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=1059"}],"version-history":[{"count":9,"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/posts\/1059\/revisions"}],"predecessor-version":[{"id":1069,"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/posts\/1059\/revisions\/1069"}],"wp:attachment":[{"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/media?parent=1059"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/categories?post=1059"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/tags?post=1059"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}