{"id":1880,"date":"2014-11-29T11:53:19","date_gmt":"2014-11-29T09:53:19","guid":{"rendered":"http:\/\/blog.nebule.org\/?p=1880"},"modified":"2016-03-29T19:00:22","modified_gmt":"2016-03-29T17:00:22","slug":"arborescence-virtuelle","status":"publish","type":"post","link":"http:\/\/blog.nebule.org\/?p=1880","title":{"rendered":"Arborescence virtuelle"},"content":{"rendered":"<p style=\"text-align: justify;\">Dans nos syst\u00e8mes d&rsquo;information actuels, le rangement des fichiers dans une arborescence est non seulement classique mais fondamentale et souvent incontournable. L&rsquo;autre forme de rangement est d&rsquo;utiliser une base de donn\u00e9es.<\/p>\n<p id=\"firstHeading\">Il est possible avec <a title=\"Projet nebule\" href=\"http:\/\/www.nebule.org\" target=\"_blank\">nebule<\/a> de simuler une arborescence mais virtuelle et uniquement constitu\u00e9e d&rsquo;objets et de liens.<br \/>\nCF <a title=\"Wiki - R\u00e9flexion - analyse des applications - Syst\u00e8me de fichiers\" href=\"http:\/\/wiki.nebule.org\/index.php\/R%C3%A9flexion_-_analyse_des_applications_-_Syst%C3%A8me_de_fichiers\" target=\"_blank\">Wiki &#8211; R\u00e9flexion &#8211; analyse des applications &#8211; Syst\u00e8me de fichiers<\/a><\/p>\n<p style=\"text-align: justify;\">Un arborescence commence par une racine, par exemple &lsquo;<code>\/<\/code>&lsquo;. Dans cette racine on va trouver des fichiers, des sous-dossiers et des fichiers dans les sous-dossiers.<br \/>\nChaque fichier a nativement un nom ou au pire un identifiant unique. Les fichiers vont avoir en plus un ou des liens pour les positionner dans l&rsquo;arborescence \u00e0 un ou plusieurs endroits.<br \/>\nChaque dossier est constitu\u00e9 de l&rsquo;objet contenant son nom. Cet objet de nommage est li\u00e9 au dossier parent par un lien, lui-m\u00eame reli\u00e9 \u00e0 son dossier parent&#8230; jusqu&rsquo;\u00e0 la racine.<\/p>\n<p style=\"text-align: justify;\">Le nom des objets ne pose pas de probl\u00e8me, il risque juste de changer d&rsquo;une entit\u00e9 \u00e0 l&rsquo;autre. Le nom d&rsquo;un dossier peut par contre avoir deux formes, mais on ne doit en g\u00e9rer qu&rsquo;une seule.<br \/>\nSoit le nom d&rsquo;un dossier ne contient que sont nom et pas l&rsquo;ensemble de l&rsquo;arborescence. Dans ce cason peut avoir n&rsquo;importe quel nom, y compris des noms avec le caract\u00e8re s\u00e9parateur de dossiers &lsquo;\/&rsquo;. Mais si on souhaite mettre deux dossiers avec le m\u00eame nom dans deux branches diff\u00e9rentes de l&rsquo;arborescence, il y a conflit sur le nom et donc m\u00e9lange des fichiers enfants.<br \/>\nSoit le nom d&rsquo;un dossier contient l&rsquo;ensemble de l&rsquo;arborescence. On r\u00e9soud les probl\u00e8mes de conflit. Et on n&rsquo;accepte pas des noms de dossiers avec le caract\u00e8re s\u00e9parateur de dossiers. C&rsquo;est la meilleur solution.<\/p>\n<p style=\"text-align: justify;\">Comme il est possible que plusieurs entit\u00e9s cr\u00e9ent plusieurs arborescences diff\u00e9rentes ou en reconna\u00eessent plusieurs, il faut un objet unique de r\u00e9f\u00e9rence de cette arborescence. L&rsquo;objet contenant &lsquo;\/&rsquo; doit dans ce cas \u00eatre li\u00e9 \u00e0 l&rsquo;objet de r\u00e9f\u00e9rence, et il en est de m\u00eame pour tous les objets de l&rsquo;aborescence.<br \/>\nAinsi, comme pour l&rsquo;\u00e9mulation de commentaires dans le blog, les objets on des liens entre eux avec comme contexte un objet de r\u00e9f\u00e9rence. Les m\u00eames liens peuvent tout \u00e0 fait \u00eatre reproduire int\u00e9gralement ou partiellement avec un autre objet de r\u00e9f\u00e9rence et ne pas entrer en conflit.<\/p>\n<p style=\"text-align: justify;\">On obtient, du fait m\u00eame de la base nebulis\u00e9e, des comportements sp\u00e9cifiques sur l&rsquo;arborescence.<br \/>\nPar exemple dans une arborescence de fichiers d&rsquo;une soci\u00e9t\u00e9, le chef pose un nouveau fichier dans un sous-dossier. Tout le monde dans la soci\u00e9t\u00e9 va voir ce nouveau fichier. Un des employ\u00e9 &lsquo;copie&rsquo; le fichier ailleurs dans l&rsquo;arborescence, tout le monde voit le nouveau fichier. Si il le modifie, il cr\u00e9e un objet de mise \u00e0 jour et les deux fichiers sont mis \u00e0 jours. Cela est int\u00e9ressant puisque tous les emplacements sont tenus \u00e0 jours mais cela peut d\u00e9j\u00e0 poser probl\u00e8me puisque l&rsquo;on ne voulait peut-\u00eatre pas tout mettre \u00e0 jour. Il faut donc bien distinguer la mise \u00e0 jour et le d\u00e9riv\u00e9.<br \/>\nPrenons un autre cas. Un des employ\u00e9 modifie le nom du fichier cr\u00e9\u00e9 par le chef. tout le monde voit la modification. Le chef d\u00e9cide d&rsquo;annuler le nouveau nom, de redonner le nom d&rsquo;origine au fichier. Tout le monde va voir le fichier revenir \u00e0 son nom d&rsquo;origine&#8230; sauf peut-\u00eatre celui qui avait renomm\u00e9 le fichier puisque la gestion sociale des liens va peut-\u00eatre d\u00e9cider que personne ne peut annuler son op\u00e9ration, m\u00eame si le chef est son sup\u00e9rieur hi\u00e9rarchique dans la soci\u00e9t\u00e9.<\/p>\n<p style=\"text-align: justify;\">Cette arborescence virtuelle sera ajout\u00e9e pour exp\u00e9rimentation \u00e0 <a title=\"Projet sylabe\" href=\"http:\/\/www.sylabe.org\/\" target=\"_blank\">sylabe<\/a>. Comme ce n&rsquo;est pas quelque chose de vraiment natif dans la philosophie de <em>nebule<\/em>, l&rsquo;impl\u00e9mentation se fera sous forme d&rsquo;un module.<\/p>\n<p style=\"text-align: justify;\">On peut ensuite, sur cette base, aller plus loin avec par exemple <a title=\"man inotify\" href=\"http:\/\/man7.org\/linux\/man-pages\/man7\/inotify.7.html\" target=\"_blank\">inotify<\/a>. Pour un dossier sp\u00e9cifi\u00e9 et ses sous dossiers, tout changement sur un dossier ou un fichier serait imm\u00e9diatement n\u00e9bulis\u00e9 et synchronis\u00e9 vers un serveur local ou distant.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans nos syst\u00e8mes d&rsquo;information actuels, le rangement des fichiers dans une arborescence est non seulement classique mais fondamentale et souvent incontournable. L&rsquo;autre forme de rangement est d&rsquo;utiliser une base de donn\u00e9es. Il est possible avec nebule de simuler une arborescence mais virtuelle et uniquement constitu\u00e9e d&rsquo;objets et de liens. CF Wiki &#8211; R\u00e9flexion &#8211; analyse &hellip; <a href=\"http:\/\/blog.nebule.org\/?p=1880\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Arborescence virtuelle<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[56,89,7,99,16,108,110,24,35,39],"tags":[],"_links":{"self":[{"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/1880"}],"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=1880"}],"version-history":[{"count":1,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/1880\/revisions"}],"predecessor-version":[{"id":2146,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/1880\/revisions\/2146"}],"wp:attachment":[{"href":"http:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1880"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1880"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1880"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}