{"id":413,"date":"2012-10-19T16:42:10","date_gmt":"2012-10-19T14:42:10","guid":{"rendered":"http:\/\/blog.nebule.org\/?p=413"},"modified":"2016-03-29T19:04:42","modified_gmt":"2016-03-29T17:04:42","slug":"gestion-de-programmes","status":"publish","type":"post","link":"https:\/\/blog.nebule.org\/?p=413","title":{"rendered":"Gestion de programmes"},"content":{"rendered":"<p style=\"text-align: justify;\">Lors des exp\u00e9riences, il est apparut qu&rsquo;il \u00e9tait assez facile de diffuser des programmes, dans notre cas des pages web en <em>php<\/em>, comme des objets \u00e0 part enti\u00e8re.<\/p>\n<p style=\"text-align: justify;\">Il faut deux choses.<\/p>\n<p style=\"text-align: justify;\">La premi\u00e8re c&rsquo;est qu&rsquo;il faut une page web de <em>bootstrap<\/em> (marche pied). C&rsquo;est cette page qui va d\u00e9terminer si il existe une page \u00e0 afficher dans les objets, et la lancer. La page en question doit \u00eatre un d\u00e9riv\u00e9 (lien F) de l&rsquo;objet \u00ab\u00a0nebule\/objet\/entite\/webaccess\/firstofall\u00a0\u00bb, et \u00eatre de mime-type \u00ab\u00a0application\/x-php\u00a0\u00bb.<\/p>\n<p style=\"text-align: justify;\">Et il faut que le programme en question puisse se mettre \u00e0 jour. Ce peut \u00eatre fait en suivant les liens de mise \u00e0 jour d&rsquo;objet (lien U) du programme en question. On peut aussi suivre les nouveaux liens de l&rsquo;objet \u00ab\u00a0nebule\/objet\/entite\/webaccess\/firstofall\u00a0\u00bb d&rsquo;une autre entit\u00e9. Ne reste plus qu&rsquo;\u00e0 t\u00e9l\u00e9chager le nouvel objet et mettre \u00e0 jour sont propre objet \u00ab\u00a0nebule\/objet\/entite\/webaccess\/firstofall\u00a0\u00bb.<\/p>\n<p><!--more--><\/p>\n<p style=\"text-align: justify;\">Exemple de page de <em>bootstrap<\/em>, la page <em>index.php<\/em> des entit\u00e9s :<\/p>\n<pre style=\"text-align: justify;\">&lt;?\n\/*\nBootstrap page web sur nebule\n\nLicence GNU GPL\nProjet nebule - www.nebule.org - Stephane DENDIEVEL\n*\/\n\n$hashmimetype = hash(\"sha256\", \"mime-type\");\n$hashphptype = hash(\"sha256\", \"application\/x-php\");\n$hashfirstdesc = hash(\"sha256\", \"nebule\/objet\/entite\/webaccess\/firstofall\");\n$hashfirst = \"\";\nif (file_exists(\"$hashfirstdesc\/l\"))\n{ $lines = file(\"$hashfirstdesc\/l\");\n\u00c2\u00a0 foreach ( $lines as $line_num =&gt; $line )\n\u00c2\u00a0 { $i = 1;\n\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 $count = substr_count(rtrim($line), \"-\");\n\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 $loopelem = strtok(rtrim($line), \"-\");\n\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 while ($loopelem !== false)\n\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 { if ( $i == 5 ) { $hashsrc = $loopelem; }\n\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 if ( $i == 6 ) { $hashdst = $loopelem; }\n\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 $i += 1;\n\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 $loopelem = strtok(\"-\");\n\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 }\n\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 if (file_exists(\"$hashdst\/l\"))\n\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 { $lines2 = file(\"$hashdst\/l\");\n\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 foreach ( $lines2 as $line_num2 =&gt; $line2 )\n\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 { $j = 1;\n\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 $count2 = substr_count(rtrim($line2), \"-\");\n\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 $loopelem2 = strtok(rtrim($line2), \"-\");\n\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 while ($loopelem2 !== false)\n\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 { if ( $j == 5 ) { $hashcsrc = $loopelem2; }\n\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 if ( $j == 6 ) { $hashcdst = $loopelem2; }\n\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 if ( $j == 7 ) { $hashcmet = $loopelem2; }\n\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 $j += 1;\n\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 $loopelem2 = strtok(\"-\");\n\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 }\n\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 if ( ( $hashsrc == $hashfirstdesc ) &amp;&amp; ( $hashdst != \"\" ) &amp;&amp; ( $hashcdst == $hashphptype )\u00c2\u00a0&amp;&amp; ( $hashcmet == $hashmimetype ) )\n        { $hashfirst = $hashdst;\n       \u00c2\u00a0}\n\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 }\n\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 }\n\u00c2\u00a0 }\n}\n\nif ( $hashfirst != \"\" &amp;&amp; file_exists(\"$hashfirst\/o\") )\n{ include(\"$hashfirst\/o\");\n}\nelse\n{\n?&gt;\n&lt;html&gt;\n\u00c2\u00a0&lt;head&gt;\n\u00c2\u00a0 &lt;meta http-equiv=\"content-type\" content=\"text\/html; charset=utf-8\" \/&gt;\n\u00c2\u00a0 &lt;title&gt;nebule&lt;\/title&gt;\n\u00c2\u00a0&lt;\/head&gt;\n\u00c2\u00a0&lt;body bgcolor=\"#454545\" text=\"#ababab\" style=\"font: normal 15px monospace;\"&gt;\n\u00c2\u00a0 &lt;center&gt;\n\u00c2\u00a0 &lt;br \/&gt;&lt;br \/&gt;&lt;br \/&gt;\n\u00c2\u00a0 &lt;img src=\"nebule_256_ababab.png\" alt=\"nebule\" border=0 \/&gt;\n\u00c2\u00a0 &lt;br \/&gt;&lt;br \/&gt;\n\u00c2\u00a0 | nebule |\n\u00c2\u00a0 &lt;br \/&gt;&lt;br \/&gt;\n\u00c2\u00a0 &lt;img src=\"CC_BY-SA.png\" alt=\"(CC) BY-SA\" border=0 \/&gt;&lt;br \/&gt;\n\u00c2\u00a0 &lt;font size=1&gt;nebule.org 2012&lt;\/font&gt;\n\u00c2\u00a0 &lt;\/center&gt;\n\u00c2\u00a0&lt;\/body&gt;\n&lt;\/html&gt;\n&lt;?\n}\n?&gt;<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Lors des exp\u00e9riences, il est apparut qu&rsquo;il \u00e9tait assez facile de diffuser des programmes, dans notre cas des pages web en php, comme des objets \u00e0 part enti\u00e8re. Il faut deux choses. La premi\u00e8re c&rsquo;est qu&rsquo;il faut une page web de bootstrap (marche pied). C&rsquo;est cette page qui va d\u00e9terminer si il existe une page &hellip; <a href=\"https:\/\/blog.nebule.org\/?p=413\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Gestion de programmes<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[86,6,110,113,115,24],"tags":[268],"_links":{"self":[{"href":"https:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/413"}],"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=413"}],"version-history":[{"count":1,"href":"https:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/413\/revisions"}],"predecessor-version":[{"id":2332,"href":"https:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/413\/revisions\/2332"}],"wp:attachment":[{"href":"https:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=413"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=413"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=413"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}