{"id":2016,"date":"2015-10-18T23:38:29","date_gmt":"2015-10-18T21:38:29","guid":{"rendered":"http:\/\/blog.nebule.org\/?p=2016"},"modified":"2016-07-04T13:09:31","modified_gmt":"2016-07-04T11:09:31","slug":"gestion-des-applications-au-niveau-du-bootstrap","status":"publish","type":"post","link":"http:\/\/blog.nebule.org\/?p=2016","title":{"rendered":"Gestion des applications au niveau du bootstrap"},"content":{"rendered":"<p style=\"text-align: justify;\">Le <em>bootstrap<\/em> \u00e9tait jusque l\u00e0 assez sommaire. Il se contentait de trouver la derni\u00e8re version valide de l&rsquo;application en cours puis la chargeait pour affichage \u00e0 l&rsquo;utilisateur. Une page sp\u00e9cifique permettait, et permet toujours, de voir les caract\u00e9ristiques du <em>bootstrap<\/em> et de son travail \u00e0 des fins de d\u00e9pannage, mais sans interaction possible.<\/p>\n<p style=\"text-align: center;\"><a href=\"\/wp-content\/uploads\/nebule\/2015\/10\/20151018-nebule_bootstrap_-_2015-10-18_23.19.212.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-2017\" src=\"\/wp-content\/uploads\/nebule\/2015\/10\/20151018-nebule_bootstrap_-_2015-10-18_23.19.212-600x408.png\" alt=\"20151018 nebule_bootstrap_-_2015-10-18_23.19.21\" width=\"600\" height=\"408\" srcset=\"\/wp-content\/uploads\/nebule\/2015\/10\/20151018-nebule_bootstrap_-_2015-10-18_23.19.212-600x408.png 600w, \/wp-content\/uploads\/nebule\/2015\/10\/20151018-nebule_bootstrap_-_2015-10-18_23.19.212.png 1024w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><br \/>\n<\/a><em>La page de d\u00e9pannage du bootstrap.<\/em><!--more--><\/p>\n<p style=\"text-align: justify;\">Puis est venu la g\u00e9n\u00e9ration de l&rsquo;environnement sur un nouveau serveur. Il n&rsquo;y a pas plus d&rsquo;interaction mais si il manque des choses importantes, tout est recr\u00e9\u00e9. Cela inclut la g\u00e9n\u00e9ration d&rsquo;une nouvelle entit\u00e9.<\/p>\n<p style=\"text-align: center;\"><a href=\"\/wp-content\/uploads\/nebule\/2015\/10\/20151018-nebule_bootstrap_-_2015-10-18_23.55.542.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-2023\" src=\"\/wp-content\/uploads\/nebule\/2015\/10\/20151018-nebule_bootstrap_-_2015-10-18_23.55.542-600x489.png\" alt=\"20151018 nebule_bootstrap_-_2015-10-18_23.55.54\" width=\"600\" height=\"489\" srcset=\"\/wp-content\/uploads\/nebule\/2015\/10\/20151018-nebule_bootstrap_-_2015-10-18_23.55.542-600x489.png 600w, \/wp-content\/uploads\/nebule\/2015\/10\/20151018-nebule_bootstrap_-_2015-10-18_23.55.542.png 1024w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><br \/>\n<em>Pr\u00e9paration d&rsquo;un nouvel environnement.<\/em><\/p>\n<p style=\"text-align: justify;\">Cependant, le <em>bootstrap<\/em> n&rsquo;a pas vocation a charger uniquement et exclusivement l&rsquo;interface <a title=\"Projet sylabe\" href=\"http:\/\/blog.sylabe.org\" target=\"_blank\">sylabe<\/a>, m\u00eame si c&rsquo;est la seule disponible actuellement.<\/p>\n<p style=\"text-align: justify;\">Et puis il y avait cette mini application pour les serveurs, <em>nServ<\/em>. C&rsquo;est une sorte de copie du <em>bootstrap<\/em> mais sans les informations de d\u00e9pannage. Plut\u00f4t que de la laisser de c\u00f4t\u00e9, inutilis\u00e9e, elle est maintenant int\u00e9gr\u00e9e comme application par d\u00e9faut en l&rsquo;absence de directive contraire.<br \/>\nCette application par d\u00e9faut va quand m\u00eame apporter quelque chose de plus. Si elle \u00e9tait elle aussi statique, il serait difficile sur un nouveau serveur d&rsquo;installer et d&rsquo;utiliser une autre application. C&rsquo;est donc l&rsquo;application par d\u00e9faut qui va faire le lien entre le <em>bootstrap<\/em> et la ou les applications disponibles. Et bien s\u00fcr, <em>sylabe<\/em> sera list\u00e9 par d\u00e9faut, au moins au d\u00e9but.<br \/>\nLe code n&rsquo;est pas complet, il faut ajouter la d\u00e9tection des applications disponibles et g\u00e9rer la s\u00e9lection de l&rsquo;application et son usage dans la session <em>PHP<\/em> sans avoir \u00e0 y faire r\u00e9f\u00e9rence dans tous les liens <em>HTML<\/em>.<\/p>\n<p style=\"text-align: center;\"><a href=\"\/wp-content\/uploads\/nebule\/2015\/10\/20151018-nebule_bootstrap_-_2015-10-18_23.19.572.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-2018\" src=\"\/wp-content\/uploads\/nebule\/2015\/10\/20151018-nebule_bootstrap_-_2015-10-18_23.19.572-600x408.png\" alt=\"20151018 nebule_bootstrap_-_2015-10-18_23.19.57\" width=\"600\" height=\"408\" srcset=\"\/wp-content\/uploads\/nebule\/2015\/10\/20151018-nebule_bootstrap_-_2015-10-18_23.19.572-600x408.png 600w, \/wp-content\/uploads\/nebule\/2015\/10\/20151018-nebule_bootstrap_-_2015-10-18_23.19.572.png 1024w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><br \/>\n<em>L&rsquo;application par d\u00e9faut avec la liste des applications disponibles (ici juste sylabe).<\/em><\/p>\n<p style=\"text-align: justify;\">Enfin, la seule interaction possible ici est de synchroniser les applications via les boutons correspondants. On fait une seule application \u00e0 la fois parce que le processus de synchronisation peut \u00eatre un peu long.<\/p>\n<p style=\"text-align: center;\"><a href=\"\/wp-content\/uploads\/nebule\/2015\/10\/20151018-nebule_bootstrap_-_2015-10-18_23.20.282.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-2019\" src=\"\/wp-content\/uploads\/nebule\/2015\/10\/20151018-nebule_bootstrap_-_2015-10-18_23.20.282-600x408.png\" alt=\"20151018 nebule_bootstrap_-_2015-10-18_23.20.28\" width=\"600\" height=\"408\" srcset=\"\/wp-content\/uploads\/nebule\/2015\/10\/20151018-nebule_bootstrap_-_2015-10-18_23.20.282-600x408.png 600w, \/wp-content\/uploads\/nebule\/2015\/10\/20151018-nebule_bootstrap_-_2015-10-18_23.20.282.png 1024w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><br \/>\n<em>Synchronisation d&rsquo;une application.<\/em><\/p>\n<p style=\"text-align: justify;\">La d\u00e9tection des applications est assez simple. Seule l&rsquo;entit\u00e9 locale du serveur peut d\u00e9finir des applications utilisables. M\u00eame si il y en a plus de disponibles, les autres ne seront ni visibles ni utilisables par le <em>bootstrap<\/em>. Deux objets r\u00e9serv\u00e9s sont cr\u00e9\u00e9s \u00e0 cette fin :<\/p>\n<ul>\n<li>nebule\/objet\/entite\/web<\/li>\n<li>nebule\/objet\/entite\/web\/applications<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Le bootstrap \u00e9tait jusque l\u00e0 assez sommaire. Il se contentait de trouver la derni\u00e8re version valide de l&rsquo;application en cours puis la chargeait pour affichage \u00e0 l&rsquo;utilisateur. Une page sp\u00e9cifique permettait, et permet toujours, de voir les caract\u00e9ristiques du bootstrap et de son travail \u00e0 des fins de d\u00e9pannage, mais sans interaction possible. La page &hellip; <a href=\"http:\/\/blog.nebule.org\/?p=2016\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Gestion des applications au niveau du bootstrap<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[55,363,67,92,7,17,39],"tags":[],"_links":{"self":[{"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/2016"}],"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=2016"}],"version-history":[{"count":2,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/2016\/revisions"}],"predecessor-version":[{"id":2456,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/2016\/revisions\/2456"}],"wp:attachment":[{"href":"http:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2016"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2016"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2016"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}