{"id":128,"date":"2012-06-20T20:58:29","date_gmt":"2012-06-20T18:58:29","guid":{"rendered":"http:\/\/blog.nebule.org\/?p=128"},"modified":"2016-03-29T19:05:04","modified_gmt":"2016-03-29T17:05:04","slug":"openmail","status":"publish","type":"post","link":"http:\/\/blog.nebule.org\/?p=128","title":{"rendered":"OpenMail"},"content":{"rendered":"<p>En suivant le raisonnement sur <a title=\"Annuaire et messagerie\" href=\"http:\/\/blog.nebule.org\/?p=86\" target=\"_blank\">l&rsquo;annuaire et la messagerie<\/a>, on peut aller encore plus loin.<\/p>\n<p>Finalement, rien n&#8217;emp\u00eache que les entit\u00e9s s&rsquo;\u00e9changent directement les objets messages.<\/p>\n<p><!--more--><\/p>\n<p>Lorsqu&rsquo;une entit\u00e9 source souhaite envoyer un objet message \u00e0 une autre entit\u00e9 cible, elle cr\u00e9e le lien :<\/p>\n<ol>\n<li>objet source = objet message<\/li>\n<li>objet cible = entit\u00e9 cible<\/li>\n<li><del>objet meta = entit\u00e9 annuaire<\/del><\/li>\n<li>signataire = entit\u00e9 source<\/li>\n<\/ol>\n<p>Volontairement, on ne met pas d&rsquo;objet m\u00e9ta, on ne passe pas par l&rsquo;annuaire.<\/p>\n<p>Ensuite, l&rsquo;entit\u00e9 source se connecte \u00e0 l&rsquo;entit\u00e9 cible pour v\u00e9rifier (une des seules choses qu&rsquo;elle peut faire) si les liens de son propre objet \u00e0 changer chez l&rsquo;entit\u00e9 cible (pr\u00e9sence d&rsquo;un message par exemple).<\/p>\n<p>L&rsquo;entit\u00e9 cible, en tant que service et processus sur une machine, voit la connexion et l&rsquo;interrogation de cet (copie) objet entit\u00e9. Si c&rsquo;est une entit\u00e9 \u00e0 laquelle elle est li\u00e9e, elle peut en retour aller v\u00e9rifier si les liens de son propre objet \u00e0 chang\u00e9 chez l&rsquo;entit\u00e9 source. Et c&rsquo;est gagn\u00e9.<\/p>\n<p>Une entit\u00e9 pr\u00e9c\u00e9demment indisponible, en se reconnectant, va interroger toutes les entit\u00e9s auxquelles elle est li\u00e9 pour voir si elle n&rsquo;a pas manqu\u00e9 des messages. En voyant cette connexion, les autres entit\u00e9s vont faire de m\u00eame avec la nouvelle arrivante. Ainsi, une diffusion imm\u00e9diate des objets messages est faite.<\/p>\n<p>Il faut cependant un m\u00e9canisme pour r\u00e9guler les \u00e9changes en boucle infinie.<\/p>\n<p>Conclusion.<br \/>\nOui, on peut \u00e9changer des messages sans passer par un annuaire. La condition \u00e9tant d&rsquo;avoir une vue sur les connexions entrantes.<br \/>\nOui, l&rsquo;annuaire peut servir de relais de messages en cas de besoin. L&rsquo;un n&#8217;emp\u00eache pas l&rsquo;autre.<br \/>\nOui, si l&rsquo;annuaire est aussi relais, il fait office de serveur de messagerie \u00e0 part enti\u00e8re.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En suivant le raisonnement sur l&rsquo;annuaire et la messagerie, on peut aller encore plus loin. Finalement, rien n&#8217;emp\u00eache que les entit\u00e9s s&rsquo;\u00e9changent directement les objets messages.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[53,99,103,24],"tags":[],"_links":{"self":[{"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/128"}],"collection":[{"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=128"}],"version-history":[{"count":1,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/128\/revisions"}],"predecessor-version":[{"id":2362,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/128\/revisions\/2362"}],"wp:attachment":[{"href":"http:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=128"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=128"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=128"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}