{"id":1649,"date":"2016-12-14T14:42:53","date_gmt":"2016-12-14T13:42:53","guid":{"rendered":"http:\/\/pcll.ac-dijon.fr\/eole\/?p=1649"},"modified":"2017-12-15T11:48:34","modified_gmt":"2017-12-15T10:48:34","slug":"hackathon-compte-rendu-groupe-eole-devops","status":"publish","type":"post","link":"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/","title":{"rendered":"Hackathon : compte rendu du groupe EOLE et DevOps"},"content":{"rendered":"<p>Il s&rsquo;agit d&rsquo;une r\u00e9flexion d&rsquo;impact des techniques de DevOps sur la distribution EOLE.<\/p>\n<p>Les objectifs de l&rsquo;atelier \u00e9taient :<\/p>\n<ul>\n<li>de tester l&rsquo;utilisation d&rsquo;un outil de Devops (docker) pour sp\u00e9cialiser une application ;<\/li>\n<li>voir comment industrialiser la mise en \u0153uvre de cette sp\u00e9cialisation.<\/li>\n<\/ul>\n<p>Les travaux r\u00e9alis\u00e9s consistaient \u00e0 transformer un module\u00a0 Eolebase afin de g\u00e9rer plusieurs technologies de virtualisation.<\/p>\n<h2>Technologies utilis\u00e9es<\/h2>\n<ul>\n<li>Docker : Cette technologie permet d&#8217;embarquer une application dans un conteneur virtuel qui peut s&rsquo;ex\u00e9cuter sur n&rsquo;importe quel serveur. Elle a pour but de faciliter les d\u00e9ploiements d&rsquo;application et la gestion du dimensionnement de l&rsquo;infrastructure sous-jacente. Un conteneur est <em>bootable<\/em> en quelques secondes. Il existe un\u00a0d\u00e9p\u00f4t <a href=\"https:\/\/hub.docker.com\/\">https:\/\/hub.docker.com\/<\/a>\u00a0 sur lequel nous pouvons trouver plus de 460 000 images de conteneurs qui contiennent diff\u00e9rents produits : Ubuntu, WordPress, MySQL, NodeJS\u2026 Cet espace est \u00e9galement int\u00e9gr\u00e9 \u00e0 GitHub ;<\/li>\n<li>LXC : Un conteneur fait directement appel au syst\u00e8me d&rsquo;exploitation de la machine h\u00f4te pour r\u00e9aliser des appels syst\u00e8me et ex\u00e9cuter des applications. Le conteneur n&#8217;embarque pas de syst\u00e8me d&rsquo;exploitation, \u00e0 la diff\u00e9rence d&rsquo;une machine virtuelle. Il est par cons\u00e9quent beaucoup plus l\u00e9ger que cette derni\u00e8re. Il n&rsquo;a pas besoin d&rsquo;activer un second syst\u00e8me pour ex\u00e9cuter des applications. Cela se traduit par un lancement beaucoup plus rapide, mais aussi par la capacit\u00e9 \u00e0 migrer un conteneur d&rsquo;une machine physique \u00e0 une autre. Un conteneur ne repr\u00e9sente que quelques Mo ;<\/li>\n<li>Qemu\/KVM : Il s&rsquo;agit de la technologie de virtualisation impl\u00e9ment\u00e9e directement dans le noyau Linux. Elle permet, via un hyperviseur, de simuler une ou plusieurs machines virtuelles (VM) sur une machine physique. Ces VM int\u00e8grent elles-m\u00eames un syst\u00e8me d&rsquo;exploitation sur lequel les applications sont ex\u00e9cut\u00e9es. Une machine virtuelle pourra avoir une taille de plusieurs Gigaoctets.<\/li>\n<\/ul>\n<h2>R\u00e9alisations<\/h2>\n<h3>Cr\u00e9ation d&rsquo;un projet Docker<\/h3>\n<p>Pour tester l&rsquo;utilisation de Docker, le projet poc-roland a \u00e9t\u00e9 cr\u00e9\u00e9 sur GitHub : <a href=\"https:\/\/github.com\/GggEole\/poc-roland\">https:\/\/github.com\/GggEole\/poc-roland<\/a>.<\/p>\n<p>L&rsquo;id\u00e9e est de cr\u00e9er une image Docker en sp\u00e9cialisant l&rsquo;outil Tomcat avec notre application \u00ab\u00a0roro.war\u00a0\u00bb.<\/p>\n<pre>\u00a0\u00a0 FROM tomcat:8.5.6-jre8\r\n   COPY roro.war $CATALINA_HOME\/webapps\/\r\n   CMD [\"catalina.sh\", \"run\"]<\/pre>\n<p>ou, par exemple :<\/p>\n<pre>\u00a0\u00a0 FROM eolebase:2.6.0\r\n   COPY config.eol \/etc\/eole\/config.eol\r\n   CMD [\"reconfigure\", \"\"]<\/pre>\n<h3>Eolisation de conteneurs<\/h3>\n<p>En \u00e9tudiant ces diff\u00e9rentes technologies, nous avons identifi\u00e9 plusieurs points :<\/p>\n<ul>\n<li>il faut un acc\u00e8s au service (un nom) ;<\/li>\n<li>la gestion de la persistance des donn\u00e9es implique le partage de r\u00e9pertoires entre le module et le conteneur. Toutes les technologies le permettent ;<\/li>\n<li>les conteneurs publient leurs services gr\u00e2ce \u00e0 des ports IP. Nous devons r\u00e9aliser le lien entre le frontal web et ces services.<\/li>\n<\/ul>\n<p>Il s&rsquo;agit de cr\u00e9er les dictionnaires et les templates EOLE pour g\u00e9rer plusieurs conteneurs, et de proposer un moyen d&rsquo;acc\u00e8s \u00e0 chacun des ces conteneurs.<\/p>\n<ul style=\"list-style-type: square\">\n<li>cr\u00e9ation des dicos ;<\/li>\n<li>cr\u00e9ation des templates ;<\/li>\n<li>mise au point du script d&rsquo;instanciation ;<\/li>\n<li>configuration de Nginx ;<\/li>\n<li>cr\u00e9ation des dicos.<\/li>\n<\/ul>\n<p>Plusieurs dictionnaires ont \u00e9t\u00e9 cr\u00e9\u00e9s : 1 dictionnaire global et autant de dictionnaires que de conteneurs souhait\u00e9s.<\/p>\n<ul style=\"list-style-type: circle\">\n<li>dico global : \u00ab\u00a010_conteneur\u00a0\u00bb\n<ul style=\"list-style-type: circle\">\n<li>fichier de variable : \/etc\/eole\/conteneur-vars.conf<\/li>\n<li>variable &lsquo;nombre_conteneur&rsquo; : nombre de conteneurs \u00e0 activer<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul style=\"list-style-type: circle\">\n<li>dico conteneur : \u00ab\u00a025_conteneurX\u00a0\u00bb\n<ul style=\"list-style-type: circle\">\n<li>variable &lsquo;conteneur1_name&rsquo; : nom du conteneur, mais aussi le nom de la web apps pr\u00e9sent\u00e9e sur le module\n<ul style=\"list-style-type: circle\">\n<li>ex: si &lsquo;rocketchat&rsquo;, alors l\u2019acc\u00e8s se fera par http:\/\/&lt;module&gt;\/rocketchat ou par https:\/\/&lt;module&gt;\/rocketchat<\/li>\n<\/ul>\n<\/li>\n<li>variable &lsquo;conteneur1_type&rsquo;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : type de technologie\n<ul style=\"list-style-type: circle\">\n<li>il s&rsquo;agit d&rsquo;une liste des diff\u00e9rentes technologies pouvant \u00eatre utilis\u00e9es<\/li>\n<li>ex: docker, docker+git, snap, snapcraft, vagrant, lxc<\/li>\n<\/ul>\n<\/li>\n<li>variable &lsquo;conteneur1_url&rsquo;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : URL du conteneur\n<ul style=\"list-style-type: circle\">\n<li>c&rsquo;est le nom publi\u00e9 de l&rsquo;image<\/li>\n<\/ul>\n<\/li>\n<li>variable &lsquo;conteneur1_tag&rsquo;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : tag de version du conteneur\n<ul style=\"list-style-type: circle\">\n<li>c&rsquo;est l&rsquo;identifiant de version de l&rsquo;image.<\/li>\n<li>Dans le cas d&rsquo;un d\u00e9p\u00f4t Git, il s&rsquo;agit du tag du source<\/li>\n<\/ul>\n<\/li>\n<li>variable &lsquo;conteneur1_repository&rsquo;\u00a0\u00a0\u00a0\u00a0 : URL du repository\n<ul style=\"list-style-type: circle\">\n<li>Il s&rsquo;agit de l&rsquo;URL du d\u00e9pot ou l&rsquo;on trouve l&rsquo;image &lsquo;conteneur1_url&rsquo;<\/li>\n<\/ul>\n<\/li>\n<li>variable &lsquo;conteneur1_mountpoint_in&rsquo;\u00a0 : volumes partag\u00e9s dans le conteneur<\/li>\n<li>variable &lsquo;conteneur1_mountpoint_out&rsquo; : volumes partag\u00e9s par le module<\/li>\n<li>variable &lsquo;conteneur1_port_in&rsquo;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : ports IP expos\u00e9s dans le conteneur<\/li>\n<li>variable &lsquo;conteneur1_port_out&rsquo;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : ports IP expos\u00e9s par le module<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Lors de l&rsquo;instance, il faut :<\/p>\n<ul>\n<li>arr\u00eater le conteneur s&rsquo;il \u00e9tait d\u00e9j\u00e0 en cours ;<\/li>\n<li>t\u00e9l\u00e9charger l&rsquo;image (docker, vagrant, lxc, &#8230;) sur le d\u00e9p\u00f4t du fournisseur. L&rsquo;op\u00e9ration ne se fait qu&rsquo;une fois tant que nous ne modifions pas l&rsquo;image ;<\/li>\n<li>d\u00e9marrer le conteneur en lui affectant le nom du conteneur ;<\/li>\n<li>configurer la redirection Nginx du nom de conteneur vers un port expos\u00e9 par le conteneur.<\/li>\n<\/ul>\n<p>Voici une image \u00e9cran de la description d&rsquo;un conteneur (docker \/ rocketchat ):<\/p>\n<p><a href=\"http:\/\/pcll.ac-dijon.fr\/eole\/wp-content\/uploads\/sites\/4\/2016\/12\/snapshot_genconfig.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1660 size-large aligncenter\" src=\"http:\/\/pcll.ac-dijon.fr\/eole\/wp-content\/uploads\/sites\/4\/2016\/12\/snapshot_genconfig-1024x788.png\" alt=\"snapshot_genconfig\" width=\"650\" height=\"500\" srcset=\"https:\/\/pcll.ac-dijon.fr\/eole\/wp-content\/uploads\/sites\/4\/2016\/12\/snapshot_genconfig-1024x788.png 1024w, https:\/\/pcll.ac-dijon.fr\/eole\/wp-content\/uploads\/sites\/4\/2016\/12\/snapshot_genconfig-300x231.png 300w, https:\/\/pcll.ac-dijon.fr\/eole\/wp-content\/uploads\/sites\/4\/2016\/12\/snapshot_genconfig-768x591.png 768w, https:\/\/pcll.ac-dijon.fr\/eole\/wp-content\/uploads\/sites\/4\/2016\/12\/snapshot_genconfig.png 1027w\" sizes=\"auto, (max-width: 650px) 100vw, 650px\" \/><\/a><\/p>\n<h2>Bilan<\/h2>\n<ul>\n<li>il est facile de mettre en place un nouveau service gr\u00e2ce \u00e0 ces techniques ;<\/li>\n<li>l&rsquo;ind\u00e9pendance entre les services et le syst\u00e8me d&rsquo;exploitation est plus importante ;<\/li>\n<li>nous pouvons changer de technologie (ex: docker vers snap ) en changeant seulement une variable ;<\/li>\n<li>la gestion des versions est enti\u00e8rement renvoy\u00e9e \u00e0 la phase de d\u00e9veloppement. La modification d&rsquo;une librairie, ou d&rsquo;un service, ne risque pas de changer le fonctionnement du conteneur ;<\/li>\n<li>dans notre cas, nous nous sommes limit\u00e9s \u00e0 des services de type Web.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p> R\u00e9flexion d&rsquo;impact des techniques de DevOps sur la distribution EOLE.<\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2],"tags":[14,52,50,13,51,53],"class_list":["post-1649","post","type-post","status-publish","format-standard","hentry","category-evenements","tag-compte-rendu","tag-conteneur","tag-docker","tag-hackathon","tag-lxc","tag-virtualisation"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Hackathon : compte rendu du groupe EOLE et DevOps - EOLE<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hackathon : compte rendu du groupe EOLE et DevOps - EOLE\" \/>\n<meta property=\"og:description\" content=\"R\u00e9flexion d&#039;impact des techniques de DevOps sur la distribution EOLE.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/\" \/>\n<meta property=\"og:site_name\" content=\"EOLE\" \/>\n<meta property=\"article:published_time\" content=\"2016-12-14T13:42:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-12-15T10:48:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/pcll.ac-dijon.fr\/eole\/wp-content\/uploads\/sites\/4\/2016\/12\/snapshot_genconfig.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1027\" \/>\n\t<meta property=\"og:image:height\" content=\"790\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Gilles Grandg\u00e9rard\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@PoleEole\" \/>\n<meta name=\"twitter:site\" content=\"@PoleEole\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Gilles Grandg\u00e9rard\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/\"},\"author\":{\"name\":\"Gilles Grandg\u00e9rard\",\"@id\":\"https:\/\/pcll.ac-dijon.fr\/eole\/#\/schema\/person\/4064f1008c2fb4eb64c5283b13a0b660\"},\"headline\":\"Hackathon : compte rendu du groupe EOLE et DevOps\",\"datePublished\":\"2016-12-14T13:42:53+00:00\",\"dateModified\":\"2017-12-15T10:48:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/\"},\"wordCount\":849,\"image\":{\"@id\":\"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/pcll.ac-dijon.fr\/eole\/wp-content\/uploads\/sites\/4\/2016\/12\/snapshot_genconfig-1024x788.png\",\"keywords\":[\"compte rendu\",\"conteneur\",\"Docker\",\"Hackathon\",\"LXC\",\"virtualisation\"],\"articleSection\":[\"\u00c9v\u00e9nements\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/\",\"url\":\"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/\",\"name\":\"Hackathon : compte rendu du groupe EOLE et DevOps - EOLE\",\"isPartOf\":{\"@id\":\"https:\/\/pcll.ac-dijon.fr\/eole\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/pcll.ac-dijon.fr\/eole\/wp-content\/uploads\/sites\/4\/2016\/12\/snapshot_genconfig-1024x788.png\",\"datePublished\":\"2016-12-14T13:42:53+00:00\",\"dateModified\":\"2017-12-15T10:48:34+00:00\",\"author\":{\"@id\":\"https:\/\/pcll.ac-dijon.fr\/eole\/#\/schema\/person\/4064f1008c2fb4eb64c5283b13a0b660\"},\"breadcrumb\":{\"@id\":\"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/#primaryimage\",\"url\":\"http:\/\/pcll.ac-dijon.fr\/eole\/wp-content\/uploads\/sites\/4\/2016\/12\/snapshot_genconfig-1024x788.png\",\"contentUrl\":\"http:\/\/pcll.ac-dijon.fr\/eole\/wp-content\/uploads\/sites\/4\/2016\/12\/snapshot_genconfig-1024x788.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/pcll.ac-dijon.fr\/eole\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Hackathon : compte rendu du groupe EOLE et DevOps\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/pcll.ac-dijon.fr\/eole\/#website\",\"url\":\"https:\/\/pcll.ac-dijon.fr\/eole\/\",\"name\":\"EOLE\",\"description\":\"Ensemble Ouvert Libre Evolutif\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/pcll.ac-dijon.fr\/eole\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/pcll.ac-dijon.fr\/eole\/#\/schema\/person\/4064f1008c2fb4eb64c5283b13a0b660\",\"name\":\"Gilles Grandg\u00e9rard\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/pcll.ac-dijon.fr\/eole\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/fc3739f888a579f49338911b24e0d5c1f4233823f71bd1829e1e3929678b6128?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/fc3739f888a579f49338911b24e0d5c1f4233823f71bd1829e1e3929678b6128?s=96&d=mm&r=g\",\"caption\":\"Gilles Grandg\u00e9rard\"},\"url\":\"https:\/\/pcll.ac-dijon.fr\/eole\/author\/gilles\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Hackathon : compte rendu du groupe EOLE et DevOps - EOLE","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/","og_locale":"fr_FR","og_type":"article","og_title":"Hackathon : compte rendu du groupe EOLE et DevOps - EOLE","og_description":"R\u00e9flexion d'impact des techniques de DevOps sur la distribution EOLE.","og_url":"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/","og_site_name":"EOLE","article_published_time":"2016-12-14T13:42:53+00:00","article_modified_time":"2017-12-15T10:48:34+00:00","og_image":[{"width":1027,"height":790,"url":"https:\/\/pcll.ac-dijon.fr\/eole\/wp-content\/uploads\/sites\/4\/2016\/12\/snapshot_genconfig.png","type":"image\/png"}],"author":"Gilles Grandg\u00e9rard","twitter_card":"summary_large_image","twitter_creator":"@PoleEole","twitter_site":"@PoleEole","twitter_misc":{"\u00c9crit par":"Gilles Grandg\u00e9rard","Dur\u00e9e de lecture estim\u00e9e":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/#article","isPartOf":{"@id":"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/"},"author":{"name":"Gilles Grandg\u00e9rard","@id":"https:\/\/pcll.ac-dijon.fr\/eole\/#\/schema\/person\/4064f1008c2fb4eb64c5283b13a0b660"},"headline":"Hackathon : compte rendu du groupe EOLE et DevOps","datePublished":"2016-12-14T13:42:53+00:00","dateModified":"2017-12-15T10:48:34+00:00","mainEntityOfPage":{"@id":"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/"},"wordCount":849,"image":{"@id":"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/#primaryimage"},"thumbnailUrl":"http:\/\/pcll.ac-dijon.fr\/eole\/wp-content\/uploads\/sites\/4\/2016\/12\/snapshot_genconfig-1024x788.png","keywords":["compte rendu","conteneur","Docker","Hackathon","LXC","virtualisation"],"articleSection":["\u00c9v\u00e9nements"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/","url":"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/","name":"Hackathon : compte rendu du groupe EOLE et DevOps - EOLE","isPartOf":{"@id":"https:\/\/pcll.ac-dijon.fr\/eole\/#website"},"primaryImageOfPage":{"@id":"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/#primaryimage"},"image":{"@id":"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/#primaryimage"},"thumbnailUrl":"http:\/\/pcll.ac-dijon.fr\/eole\/wp-content\/uploads\/sites\/4\/2016\/12\/snapshot_genconfig-1024x788.png","datePublished":"2016-12-14T13:42:53+00:00","dateModified":"2017-12-15T10:48:34+00:00","author":{"@id":"https:\/\/pcll.ac-dijon.fr\/eole\/#\/schema\/person\/4064f1008c2fb4eb64c5283b13a0b660"},"breadcrumb":{"@id":"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/#primaryimage","url":"http:\/\/pcll.ac-dijon.fr\/eole\/wp-content\/uploads\/sites\/4\/2016\/12\/snapshot_genconfig-1024x788.png","contentUrl":"http:\/\/pcll.ac-dijon.fr\/eole\/wp-content\/uploads\/sites\/4\/2016\/12\/snapshot_genconfig-1024x788.png"},{"@type":"BreadcrumbList","@id":"https:\/\/pcll.ac-dijon.fr\/eole\/hackathon-compte-rendu-groupe-eole-devops\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/pcll.ac-dijon.fr\/eole\/"},{"@type":"ListItem","position":2,"name":"Hackathon : compte rendu du groupe EOLE et DevOps"}]},{"@type":"WebSite","@id":"https:\/\/pcll.ac-dijon.fr\/eole\/#website","url":"https:\/\/pcll.ac-dijon.fr\/eole\/","name":"EOLE","description":"Ensemble Ouvert Libre Evolutif","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/pcll.ac-dijon.fr\/eole\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/pcll.ac-dijon.fr\/eole\/#\/schema\/person\/4064f1008c2fb4eb64c5283b13a0b660","name":"Gilles Grandg\u00e9rard","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/pcll.ac-dijon.fr\/eole\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/fc3739f888a579f49338911b24e0d5c1f4233823f71bd1829e1e3929678b6128?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fc3739f888a579f49338911b24e0d5c1f4233823f71bd1829e1e3929678b6128?s=96&d=mm&r=g","caption":"Gilles Grandg\u00e9rard"},"url":"https:\/\/pcll.ac-dijon.fr\/eole\/author\/gilles\/"}]}},"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/pcll.ac-dijon.fr\/eole\/wp-json\/wp\/v2\/posts\/1649","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcll.ac-dijon.fr\/eole\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pcll.ac-dijon.fr\/eole\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pcll.ac-dijon.fr\/eole\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/pcll.ac-dijon.fr\/eole\/wp-json\/wp\/v2\/comments?post=1649"}],"version-history":[{"count":17,"href":"https:\/\/pcll.ac-dijon.fr\/eole\/wp-json\/wp\/v2\/posts\/1649\/revisions"}],"predecessor-version":[{"id":2315,"href":"https:\/\/pcll.ac-dijon.fr\/eole\/wp-json\/wp\/v2\/posts\/1649\/revisions\/2315"}],"wp:attachment":[{"href":"https:\/\/pcll.ac-dijon.fr\/eole\/wp-json\/wp\/v2\/media?parent=1649"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pcll.ac-dijon.fr\/eole\/wp-json\/wp\/v2\/categories?post=1649"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pcll.ac-dijon.fr\/eole\/wp-json\/wp\/v2\/tags?post=1649"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}