{"id":76,"date":"2012-06-10T19:05:29","date_gmt":"2012-06-10T17:05:29","guid":{"rendered":"http:\/\/blog.nebule.org\/?p=76"},"modified":"2016-03-29T19:05:22","modified_gmt":"2016-03-29T17:05:22","slug":"environnement-cooperatif","status":"publish","type":"post","link":"https:\/\/blog.nebule.org\/?p=76","title":{"rendered":"Environnement coop\u00e9ratif"},"content":{"rendered":"<p style=\"text-align: justify;\">Revenons un peu en arri\u00e8re, un peu&#8230;<\/p>\n<p style=\"text-align: justify;\">En septembre 1987 est apparut le protocole <a title=\"http:\/\/en.wikipedia.org\/wiki\/X_Window_System\" href=\"http:\/\/en.wikipedia.org\/wiki\/X_Window_System\" target=\"_blank\">X<\/a>. Celui-ci, dans sa version<em> <\/em>majeur X11, permet le dialogue entre un serveur X et un client X (on n&rsquo;est pas en science naturelle mais en informatique), typiquement sous UNIX et affili\u00e9s, mais pas exclusivement.<\/p>\n<p style=\"text-align: justify;\">Un de ses avantages, c&rsquo;est la <strong>transparence r\u00e9seau<\/strong>. Mais, \u00e9tant finalement peu employ\u00e9e, c&rsquo;est aussi un inconv\u00e9nient.<\/p>\n<p style=\"text-align: justify;\">A quoi sert donc cette transparence r\u00e9seau?<br \/>\nQue gagne-t-on \u00e0 la garder?<br \/>\nQuel aurait pu \u00eatre son avenir?<!--more--><\/p>\n<h2>X11<\/h2>\n<p>A quoi sert X11 et son protocole?<br \/>\nC&rsquo;est le moteur de l&rsquo;affichage graphique. Il fait le lien entre l&rsquo;application que l&rsquo;utilisateur manipule et la carte graphique qui fait afficher cette m\u00eame application sur l&rsquo;\u00e9cran. Le lecteur vid\u00e9o (comme VLC par exemple) demande au serveur graphique X d&rsquo;afficher \u00e0 l&rsquo;\u00e9cran le contenu du film au fur et \u00e0 mesure de la lecture de celui-ci. C&rsquo;est l&rsquo;application qui ma\u00eetrise ce qu&rsquo;elle veut afficher, mais elle doit passer par l&rsquo;interm\u00e9diaire du serveur graphique pour l&rsquo;afficher \u00e0 l&rsquo;\u00e9cran.<\/p>\n<p>X11 permet cet affichage indiff\u00e9remment sur l&rsquo;\u00e9cran de l&rsquo;ordinateur qui lit la vid\u00e9o ou sur l&rsquo;\u00e9cran d&rsquo;un autre ordinateur via le r\u00e9seau, c&rsquo;est la <em>transparence r\u00e9seau<\/em>.<\/p>\n<p style=\"text-align: justify;\">Il avait \u00e9t\u00e9 cr\u00e9\u00e9 pour r\u00e9pondre \u00e0 des probl\u00e9matiques de l&rsquo;\u00e9poque. Les <em>grosses<\/em> applications tournaient sur un gros serveur et l&rsquo;affichage de ces applications se faisaient sur l&rsquo;\u00e9cran des terminaux, eux-m\u00eame aux capacit\u00e9s tr\u00e8s limit\u00e9es. Le protocole X r\u00e9pondait parfaitement \u00e0 ce besoin. Aujourd&rsquo;hui les terminaux sont presque aussi puissants que les serveurs et utilisent directement les applications. Se pose donc r\u00e9guli\u00e8rement la question du remplacement de X11. Les distributions Linux Ubuntu et Fedora travaillent \u00e0 <a title=\"Wayland\" href=\"http:\/\/wayland.freedesktop.org\/\" target=\"_blank\">Wayland<\/a> (voir <a title=\"Unity on Wayland\" href=\"http:\/\/www.markshuttleworth.com\/archives\/551\" target=\"_blank\">1<\/a> et <a title=\"Move to Wayland\" href=\"http:\/\/lists.fedoraproject.org\/pipermail\/devel\/2010-November\/145273.html\" target=\"_blank\">2<\/a>). D&rsquo;autres <a title=\"Competitors\" href=\"http:\/\/en.wikipedia.org\/wiki\/X_Window_System#Competitors\" target=\"_blank\">pr\u00e9tendants<\/a> au remplacement de X11 ont vu le jour mais ne se sont pas vraiment impos\u00e9s : DirectFB, NX, Y, etc&#8230;<\/p>\n<p style=\"text-align: justify;\">Bien qu&rsquo;\u00e9tant \u00e0 base d&rsquo;UNIX , les syst\u00e8mes embarqu\u00e9s (comme Google Android et Apple iOS) et des solutions r\u00e9solument orient\u00e9s <em>utilisateurs<\/em> (comme Apple MacOS X) n&rsquo;utilisent plus X11. L&rsquo;affichage se fait uniquement sur le mat\u00e9riel pr\u00e9sent directement (localement) sur l&rsquo;appareil.<\/p>\n<h2>Transparence r\u00e9seau<\/h2>\n<p style=\"text-align: justify;\">Un des int\u00e9r\u00eats que l&rsquo;on perd en rempla\u00e7ant X11, c&rsquo;est la transparence r\u00e9seau. Peu de projets concurrents le proposent, d&rsquo;o\u00f9 justement et paradoxalement leur int\u00e9r\u00eat pour certains. Les contraintes n\u00e9cessaires \u00e0 l&rsquo;int\u00e9gration de cette transparence r\u00e9seau p\u00e9nalisent les performances de l&rsquo;ensemble.<\/p>\n<p style=\"text-align: justify;\">Sous M$ Windows, quelque soit la version, cette capacit\u00e9 n&rsquo;existe pas. Le d\u00e9port d&rsquo;affichage est total ou n&rsquo;est pas. Que ce soit avec RDP et d\u00e9riv\u00e9s ou VNC et consorts, on se contente de d\u00e9porter l&rsquo;int\u00e9gralit\u00e9 de l&rsquo;\u00e9cran. Il n&rsquo;est pas possible de n&rsquo;exporter qu&rsquo;une seule fen\u00eatre, qu&rsquo;une seule application \u00e0 l&rsquo;int\u00e9rieur de l&rsquo;affichage. Mais il est vrai que son impl\u00e9mentation est plus simple et aujourd&rsquo;hui plus performante (gr\u00e2ces aux diff\u00e9rentes am\u00e9liorations de ces produits et des protocoles associ\u00e9s). Et comme avec X11, ce d\u00e9port d&rsquo;affichage sert assez rarement.<\/p>\n<h2>Futur alternatif<\/h2>\n<p style=\"text-align: justify;\"><strong>Qu&rsquo;aurions nous pu avoir si X11 et la transparence r\u00e9seau avait \u00e9volu\u00e9?<\/strong><\/p>\n<p style=\"text-align: justify;\">Regardons un peu le DLNA. Un consortium de producteurs de mat\u00e9riels essentiellement centr\u00e9 sur le multim\u00e9dia \u00e0 mis au point ce protocole d&rsquo;\u00e9change de contenus. Dans le principe un <em>server <\/em>partage un flux (film, musique ou photo) vers un <em>player <\/em>(client) \u00e9ventuellement via un <em>renderer<\/em>. Un <em>controler <\/em>permet de contr\u00f4ler le flux diffus\u00e9 ou de parcourir le <em>server <\/em>\u00e0 la recherche d&rsquo;autres flux \u00e0 lire.<br \/>\nLe c\u00c5\u201cur de m\u00e9tier de ce protocole \u00e9tant le multim\u00e9dia, il est fortement adapt\u00e9 et donc performant. Sauf que tout ne semble pas rose non plus, notamment concernant la r\u00e9elle interop\u00e9rabilit\u00e9 des \u00e9l\u00e9ments. De plus, il est par nature incapable de servir \u00e0 autre chose qu&rsquo;au multim\u00e9dia. Impossible par exemple de parcourir des pages web, de faire du traitement de texte, du dessin architectural, etc&#8230; En clair, permettre d&rsquo;afficher une application sur un autre \u00e9cran via le r\u00e9seau, bref la fameuse transparence r\u00e9seau.<\/p>\n<p style=\"text-align: justify;\">Reprenons ce m\u00eame besoin d&rsquo;affichage d&rsquo;un flux vid\u00e9o \u00e0 partir d&rsquo;un serveur vers un client, le tout via X11. Nous n&rsquo;avons pas les probl\u00e8mes d&rsquo;interop\u00e9rabilit\u00e9 du DLNA. A partir du moment o\u00f9 <em>server <\/em>et <em>player <\/em>g\u00e8rent X11 et la transparence r\u00e9seau, ils savent afficher l&rsquo;application. Le contr\u00f4le du flux de la vid\u00e9o se fait directement dans l&rsquo;application, l\u00e0 o\u00f9 elle s&rsquo;affiche, plus besoin de <em>controler<\/em>.<\/p>\n<p style=\"text-align: justify;\">Si on ajoute \u00e0 la transparence r\u00e9seau de X11 les capacit\u00e9s de partage du DLNA, et plus encore, on obtient une capacit\u00e9 unique de :<\/p>\n<ul>\n<li>travailler sur un \u00e9cran de t\u00e9l\u00e9vision mais avec les applications de son t\u00e9l\u00e9phone, qui sert pour l&rsquo;occasion d&rsquo;ordinateur, de clavier et de souris ;<\/li>\n<li>basculer une application d&rsquo;un \u00e9cran \u00e0 l&rsquo;autre sans avoir \u00e0 brancher un <em>autre<\/em> c\u00e2ble ;<\/li>\n<li>afficher une vid\u00e9o sur plusieurs \u00e9crans dans la maison, la bande son de la vid\u00e9o sur d&rsquo;autres appareils encore comme un t\u00e9l\u00e9phone portable avec un casque audio HiFi ;<\/li>\n<li>faire du multi-\u00e9crans depuis un ordinateur en exploitant le moniteur \u00e0 haute r\u00e9solution, la t\u00e9l\u00e9vision \u00e0 c\u00f4t\u00e9, et pourquoi pas la tablette tactile comme troisi\u00e8me \u00e9cran avec les commandes de l&rsquo;application en cours ;<\/li>\n<li>etc&#8230;<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Ainsi, en fonction des capacit\u00e9s (affichage, son, puissance de calcul, r\u00e9seau), on peut exploiter indiff\u00e9remment tous les appareils de la maison ou du travail.<\/p>\n<p style=\"text-align: justify;\"><strong>Notre espace num\u00e9rique ne serait plus un enchev\u00eatrement d&rsquo;appareils qui s&rsquo;ignorent mais un espace unique constitu\u00e9 de plusieurs p\u00e9riph\u00e9riques.<\/strong><\/p>\n<h2>Canal alpha<\/h2>\n<p style=\"text-align: justify;\">On peut aller encore plus loin pour X11. Par exemple le <em>canal alpha<\/em> n&rsquo;est pas exploit\u00e9. C&rsquo;est la gestion de la transparence (qui n&rsquo;a rien \u00e0 voir avec la transparence r\u00e9seau). Habituellement un \u00e9cran n&rsquo;est pas transparent, mais il pourrait l&rsquo;\u00eatre, des lunettes de vue am\u00e9lior\u00e9es par exemple.<\/p>\n<p style=\"text-align: justify;\">Aujourd&rsquo;hui, l&rsquo;image que l&rsquo;on envoie \u00e0 un \u00e9cran est un bloc rectangulaire compl\u00e8tement opaque avec toute la palette de couleurs. Et si l&rsquo;on veux voir au travers \u00e0 certains endroits? C&rsquo;est le r\u00f4le du canal alpha, la gestion de la transparence des pixels.<\/p>\n<p style=\"text-align: justify;\">Par exemple, l&rsquo;appareil photo :<\/p>\n<ul>\n<li>Il peut n&rsquo;\u00eatre r\u00e9duit qu&rsquo;\u00e0 la partie optique, m\u00e9canique et au capteur num\u00e9rique.<\/li>\n<li>La visualisation de la photo captur\u00e9e se fait dans les lunettes, sans transparence.<\/li>\n<li>Les param\u00e8tres de la prise de vue comme l&rsquo;histogramme peuvent s&rsquo;afficher aussi dans les lunettes, mais en transparence partielle et en temps r\u00e9el.<\/li>\n<li>Et le t\u00e9l\u00e9phone peut enfin servir de contr\u00f4le pour l&rsquo;appareil photo et l&rsquo;affichage qu&rsquo;il d\u00e9porte vers les lunettes.<\/li>\n<\/ul>\n<h2>Conclusion<\/h2>\n<p style=\"text-align: justify;\">Que manque-t-il?<br \/>\nIl faut qu&rsquo;une norme unique soit propos\u00e9e, que tout le monde l&rsquo;accepte, et que les industriels ne la d\u00e9tournent pas \u00e0 leur avantage exclusif (comme M$ IE6 avec le HTML).<\/p>\n<p style=\"text-align: justify;\">Bref, de tout \u00e7a, avec les orientations actuelles de la technologie, on n&rsquo;est pas pr\u00eat de les voir de si t\u00f4t chez nous&#8230;<\/p>\n<h2>Liens<\/h2>\n<p>&#8211; X Windows System &#8211; <a title=\"http:\/\/en.wikipedia.org\/wiki\/X_Window_System\" href=\"http:\/\/en.wikipedia.org\/wiki\/X_Window_System\" target=\"_blank\">http:\/\/en.wikipedia.org\/wiki\/X_Window_System<\/a><br \/>\n&#8211; Unity on Wayland &#8211; <a title=\"http:\/\/www.markshuttleworth.com\/archives\/551\" href=\"http:\/\/www.markshuttleworth.com\/archives\/551\" target=\"_blank\">http:\/\/www.markshuttleworth.com\/archives\/551<\/a><br \/>\n&#8211; Move to Wayland &#8211; <a title=\"http:\/\/lists.fedoraproject.org\/pipermail\/devel\/2010-November\/145273.html\" href=\"http:\/\/lists.fedoraproject.org\/pipermail\/devel\/2010-November\/145273.html\" target=\"_blank\">http:\/\/lists.fedoraproject.org\/pipermail\/devel\/2010-November\/145273.html<\/a><br \/>\n&#8211; Wayland &#8211; <a title=\"http:\/\/wayland.freedesktop.org\/\" href=\"http:\/\/wayland.freedesktop.org\/\" target=\"_blank\">http:\/\/wayland.freedesktop.org\/<\/a><br \/>\n&#8211; DLNA &#8211; <a title=\"http:\/\/fr.wikipedia.org\/wiki\/Digital_Living_Network_Alliance\" href=\"http:\/\/fr.wikipedia.org\/wiki\/Digital_Living_Network_Alliance\" target=\"_blank\">http:\/\/fr.wikipedia.org\/wiki\/Digital_Living_Network_Alliance<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Revenons un peu en arri\u00e8re, un peu&#8230; En septembre 1987 est apparut le protocole X. Celui-ci, dans sa version majeur X11, permet le dialogue entre un serveur X et un client X (on n&rsquo;est pas en science naturelle mais en informatique), typiquement sous UNIX et affili\u00e9s, mais pas exclusivement. Un de ses avantages, c&rsquo;est la &hellip; <a href=\"https:\/\/blog.nebule.org\/?p=76\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Environnement coop\u00e9ratif<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[23],"tags":[146,167,270,323,345,351,353],"_links":{"self":[{"href":"https:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/76"}],"collection":[{"href":"https:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=76"}],"version-history":[{"count":1,"href":"https:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/76\/revisions"}],"predecessor-version":[{"id":2367,"href":"https:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/76\/revisions\/2367"}],"wp:attachment":[{"href":"https:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=76"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=76"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=76"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}