{"id":181,"date":"2013-08-28T00:01:40","date_gmt":"2013-08-27T22:01:40","guid":{"rendered":"http:\/\/blog.sylabe.org\/?p=181"},"modified":"2016-03-29T19:03:28","modified_gmt":"2016-03-29T17:03:28","slug":"arborescence-sur-serveur-web","status":"publish","type":"post","link":"http:\/\/blog.sylabe.org\/?p=181","title":{"rendered":"Arborescence sur serveur web"},"content":{"rendered":"<p style=\"text-align: justify;\">L&rsquo;impl\u00e9mentation de r\u00e9f\u00e9rence de <em>nebule<\/em> en <em>bash<\/em> utilise cette arborescence pour son fonctionnement :<\/p>\n<ul>\n<li><code>pub<\/code>\n<ul>\n<li><code>o<\/code><\/li>\n<li><code>l<\/code><\/li>\n<\/ul>\n<\/li>\n<li><code>priv<\/code>\n<ul>\n<li><code>o<\/code><\/li>\n<li><code>l<\/code><\/li>\n<\/ul>\n<\/li>\n<li><code>tmp<\/code><\/li>\n<\/ul>\n<p style=\"text-align: justify;\">On trouve notamment dans <em>pub<\/em> et <em>priv<\/em> un fichier <em>e<\/em> contenant l&rsquo;identifiant de l&rsquo;objet entit\u00e9, la cl\u00e9 publique pour le premier et la cl\u00e9 secr\u00e8te pour le seconde.<\/p>\n<p style=\"text-align: justify;\">Dans <em>pub<\/em>, on peut encore trouver sur certaines machines <em>gnav.php<\/em> et un r\u00e9pertoire <em>g<\/em>. C&rsquo;est la page de trac\u00e9 du graphe d&rsquo;un objet. Cette page <em>php<\/em> est vou\u00e9e \u00e0 dispara\u00eetre sous cette forme.<\/p>\n<p style=\"text-align: justify;\">Le contenu du r\u00e9pertoire <em>pub<\/em> avait \u00e9t\u00e9 volontairement s\u00e9par\u00e9, c&rsquo;est \u00e0 dire les r\u00e9pertoires <em>o<\/em> et <em>l<\/em> en dessous, des scripts et autres fichiers <em>bash<\/em>, cl\u00e9s RSA, etc&#8230; Est apparu avec le temps les dossiers <em>priv<\/em> et <em>tmp<\/em> pour manipuler les objets soit qui ne devaient pas \u00eatre diffus\u00e9s soit les fichiers temporaires. Et le r\u00e9pertoire <em>pub<\/em> \u00e0 rapidement servit \u00e0 stocker aussi de nouvelles pages web en <em>php<\/em> comme <em>gnav.php<\/em> et <em>webcli.php<\/em> . Ce r\u00e9pertoire devenait donc directement public, ce pour quoi il est fait d\u00e8s le d\u00e9but en fait&#8230;<\/p>\n<p style=\"text-align: justify;\">Lors de la mise en place de <em>sylabe<\/em>, j&rsquo;ai conserv\u00e9 cette arborescence par d\u00e9faut. Mais elle pose probl\u00e8me.<br \/>\nLes objets et liens sont t\u00e9l\u00e9charg\u00e9s sur des url du type <em>http:\/\/site.net\/o\/<\/em> ou <em>http:\/\/site.net\/l\/<\/em> . Or le serveur web utilise par d\u00e9faut le dossier parent pour l&rsquo;affichage des pages. Cela n\u00e9cessite de faire le lien entre le pseudo dossier <em>o<\/em> et son r\u00e9el emplacement en <em>pub\/o<\/em> . En fonction du syst\u00e8me d&rsquo;exploitation et du logiciel serveur web, la mani\u00e8re de contourner ce probl\u00e8me est diff\u00e9rente. Ce n&rsquo;est pas vraiment optimal.<\/p>\n<p style=\"text-align: justify;\">Il faut cependant pouvoir faire cohabiter simultan\u00e9ment les scripts <em>bash<\/em> et les pages <em>php<\/em>, voir peut-\u00eatre d&rsquo;autres choses par la suite.<\/p>\n<p style=\"text-align: justify;\">Il y a une solution, remettre le dossier <em>pub<\/em> comme r\u00e9pertoire par d\u00e9faut dans le serveur web, c&rsquo;est \u00e0 dire l&rsquo;arborescence racine. Les scripts <em>bash<\/em> peuvent rester dans le r\u00e9pertoire parent sans entrer en conflit avec les pages <em>php<\/em> dans <em>pub<\/em>, tout en exploitant la m\u00eame base d&rsquo;objets et de liens. En <em>bash<\/em>, les objets sont dans <em>pub\/o<\/em> alors que en <em>php<\/em> ils sont dans <em>o<\/em> tout simplement.<\/p>\n<p style=\"text-align: justify;\">Et comment dans <em>sylabe<\/em> va-t-on g\u00e9rer les fichiers temporaires et fichiers \u00e0 ne pas partager ?<br \/>\nCela peut \u00eatre fait de deux fa\u00e7ons. Soit on cr\u00e9e un sous dossier avec des restrictions via un fichier <em>.htaccess<\/em>. Cette m\u00e9thode \u00e0 inconv\u00e9nient de se restreindre \u00e0 un seul type de serveur web. Et plus grave, tous les objets priv\u00e9s de toutes les entit\u00e9s connect\u00e9es sont ainsi m\u00e9lang\u00e9s&#8230; Soit on fait du d\u00e9chiffrement \u00e0 la vol\u00e9e et du stockage de petits objets dans la session <em>php<\/em>.<br \/>\nLes fichiers temporaires peuvent eux \u00eatre m\u00e9lang\u00e9s tant qu&rsquo;ils ne sont pas \u00e9cras\u00e9s ou r\u00e9utilis\u00e9s entre deux sessions diff\u00e9rentes. Dans ce cas il faut peut-\u00eatre pr\u00e9voir un sous dossier <em>tmp<\/em>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>L&rsquo;impl\u00e9mentation de r\u00e9f\u00e9rence de nebule en bash utilise cette arborescence pour son fonctionnement : pub o l priv o l tmp On trouve notamment dans pub et priv un fichier e contenant l&rsquo;identifiant de l&rsquo;objet entit\u00e9, la cl\u00e9 publique pour le premier et la cl\u00e9 secr\u00e8te pour le seconde. Dans pub, on peut encore trouver &hellip; <a href=\"http:\/\/blog.sylabe.org\/?p=181\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Arborescence sur serveur web<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[34,36,7,49,17,21,24],"tags":[],"_links":{"self":[{"href":"http:\/\/blog.sylabe.org\/index.php?rest_route=\/wp\/v2\/posts\/181"}],"collection":[{"href":"http:\/\/blog.sylabe.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.sylabe.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.sylabe.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.sylabe.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=181"}],"version-history":[{"count":1,"href":"http:\/\/blog.sylabe.org\/index.php?rest_route=\/wp\/v2\/posts\/181\/revisions"}],"predecessor-version":[{"id":1220,"href":"http:\/\/blog.sylabe.org\/index.php?rest_route=\/wp\/v2\/posts\/181\/revisions\/1220"}],"wp:attachment":[{"href":"http:\/\/blog.sylabe.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=181"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.sylabe.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=181"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.sylabe.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=181"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}