{"id":2883,"date":"2016-01-19T15:16:36","date_gmt":"2016-01-19T14:16:36","guid":{"rendered":"http:\/\/iamwcew.fr.oracle.com\/blog\/?p=2883"},"modified":"2017-08-28T21:11:06","modified_gmt":"2017-08-28T19:11:06","slug":"oracle-jet","status":"publish","type":"post","link":"https:\/\/gpmfactory.com\/index.php\/2016\/01\/19\/oracle-jet\/","title":{"rendered":"Oracle JET"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p><strong><a href=\"http:\/\/www.oracle.com\/webfolder\/technetwork\/jet\/index.html\">Oracle JET\u00a0<\/a>?<\/strong> Il s&rsquo;agit d&rsquo;un\u00a0framework de d\u00e9veloppement Javascript, enti\u00e8rement orient\u00e9 cot\u00e9 client (cf <a href=\"http:\/\/www.oracle.com\/technetwork\/developer-tools\/jet\/overview\/jet-datasheet-2714142.pdf\">Datasheet<\/a>).<\/p>\n<p><a href=\"http:\/\/www.oracle.com\/webfolder\/technetwork\/jet\/public_samples\/WorkBetter\/public_html\/index.html\">demo Oracle Jet Workbetter<\/a>\u00a0<strong>\u00a0<\/strong><\/p>\n<p><!--more-->Oracle Jet est constitu\u00e9 d&rsquo;un assemblage de plusieurs sous-frameworks open sources, dont le plus important est Knockout, qui est charg\u00e9 du mod\u00e8le M V VM.<\/p>\n<p>Oracle jet impl\u00e9mente compl\u00e8tement <strong>Alta UI<\/strong>, et on peut puiser sur les <a href=\"http:\/\/www.oracle.com\/webfolder\/ux\/mobile\/patterns.html\">patterns bien document\u00e9s<\/a>.<\/p>\n<p>Pour tester Oracle JET, j\u2019ai r\u00e9cup\u00e9r\u00e9 des l\u00e9gendes de photographies afin de r\u00e9aliser un <em><a href=\"http:\/\/www.oracle.com\/webfolder\/technetwork\/jet\/uiComponents-timeline-basicTimeline.html\">Timeline<\/a><\/em>. Les donn\u00e9es sont accessibles depuis un sch\u00e9ma Apex via des appels REST.<\/p>\n<p>R\u00e9sultat ci-dessous.<\/p>\n<p><a href=\"http:\/\/iamwcew.fr.oracle.com\/blog\/wp-content\/uploads\/2016\/01\/snap01782.jpg\" rel=\"attachment wp-att-2884\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2884\" src=\"http:\/\/iamwcew.fr.oracle.com\/blog\/wp-content\/uploads\/2016\/01\/snap01782.jpg\" alt=\"snap01782\" width=\"1457\" height=\"720\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Mise en place de mon proto\u00a0:<\/p>\n<ul>\n<li>Des photos, horodat\u00e9es par l\u2019appareil num\u00e9rique ont \u00e9t\u00e9 l\u00e9gend\u00e9es avec Picasa.<\/li>\n<li>On extrait dans un fichier CSV, avec l\u2019outil exifTool, l\u2019ensemble des titres des photos avec les <em>timestamps <\/em>et les<em> thumbnails<\/em>.<\/li>\n<li>Ce fichier CSV est upload\u00e9 dans une table avec <strong>Oracle Apex<\/strong><\/li>\n<li>On cr\u00e9e un service REST avec Apex (appel\u00e9 <a href=\"https:\/\/apex.oracle.com\/pls\/apex\/teamfr\/perou\/tml2\">tml2<\/a>) qui renvoie un flux json sur un appel GET.<\/li>\n<li>Dans un fichier .js, on invoque le composant <a href=\"http:\/\/www.oracle.com\/webfolder\/technetwork\/jet\/jsdocs\/oj.ojTimeline.html\">ojTimeline<\/a> et on lui donne en param\u00e8tre <a href=\"https:\/\/apex.oracle.com\/pls\/apex\/teamfr\/perou\/tml2\">l\u2019URL de l\u2019api REST tml2<\/a>.<\/li>\n<\/ul>\n<p>Mon Bilan\u00a0:<\/p>\n<ul>\n<li>Oracle JET n\u2019est pas trivial car il faut se familiariser avec de nouveaux concepts (<em>bindings<\/em> de Knockout).<\/li>\n<li>La <strong>qualit\u00e9 des <a href=\"http:\/\/www.oracle.com\/webfolder\/technetwork\/jet\/uiComponents-formControls.html\">composants graphiques<\/a> <\/strong>est telle que l\u2019investissement est largement r\u00e9compens\u00e9.<\/li>\n<li>Oracle Jet est un super outil pour mettre en valeur des donn\u00e9es provenant d\u2019Apex, par exemple, car il introduit une claire s\u00e9paration des taches.<\/li>\n<\/ul>\n<p>Divers\u00a0:<\/p>\n<ul>\n<li>Oracle JET est particuli\u00e8rement adapt\u00e9 pour construire des <em>widgets<\/em> qui pourront \u00eatre embarqu\u00e9s dans n\u2019importe quelle autre page HTML.<\/li>\n<\/ul>\n<p>(ex\u00a0: WebCenter Sites)<\/p>\n<ul>\n<li><strong>Oracle Jet est dans la licence Mobile Cloud Service<\/strong>. Il est envisag\u00e9 qu\u2019une partie aille dans l\u2019open source.<\/li>\n<\/ul>\n<p>A lire\u00a0:<\/p>\n<p><a href=\"https:\/\/community.oracle.com\/docs\/DOC-984517\">Un post de Andreas Koop\u00a0: Getting started with Oracle JET<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Oracle JET\u00a0? Il s&rsquo;agit d&rsquo;un\u00a0framework de d\u00e9veloppement Javascript, enti\u00e8rement orient\u00e9 cot\u00e9 client (cf Datasheet). demo Oracle Jet Workbetter\u00a0\u00a0<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18],"tags":[],"ppma_author":[150],"class_list":["post-2883","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"authors":[{"term_id":150,"user_id":1,"is_guest":0,"slug":"admin8700","display_name":"Patrick","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/209d5ed69b74d288390621ab4c1d3773?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/posts\/2883","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/comments?post=2883"}],"version-history":[{"count":2,"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/posts\/2883\/revisions"}],"predecessor-version":[{"id":3672,"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/posts\/2883\/revisions\/3672"}],"wp:attachment":[{"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/media?parent=2883"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/categories?post=2883"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/tags?post=2883"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/ppma_author?post=2883"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}