{"id":225,"date":"2009-12-06T19:24:11","date_gmt":"2009-12-06T17:24:11","guid":{"rendered":"http:\/\/fabianpiau.com\/?p=225"},"modified":"2020-04-09T22:52:42","modified_gmt":"2020-04-09T21:52:42","slug":"google-at-jug","status":"publish","type":"post","link":"https:\/\/blog.fabianpiau.com\/fr\/2009\/12\/06\/google-at-jug\/","title":{"rendered":"Google s\u2019invite au JUG"},"content":{"rendered":"<p><a class=\"lang\" href=\"https:\/\/blog.fabianpiau.com\/en\/2009\/12\/06\/google-at-jug\/\" title=\"Read in english\"><strong class=\"labellang\"><span class=\"en\">&nbsp;<\/span>English version available<\/strong><\/a><\/p>\n<p>Avec un peu de retard, voici le compte rendu du dernier JUG nantais. Le sujet abord\u00e9 est un sujet bien connu, puisqu&rsquo;il s&rsquo;agissait, ni plus ni moins, du g\u00e9ant Google. Une fois de plus, la d\u00e9mesure de Google a encore frapp\u00e9 et de surcro\u00eet un vendredi soir. En effet, la salle \u00e9tait pleine \u00e0 craquer, comme le t\u00e9moigne la photo.<\/p>\n<p style=\"text-align: center;\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" title=\"Salle remplie JUG Nantes\" src=\"https:\/\/i0.wp.com\/blog.fabianpiau.com\/wp-content\/uploads\/post\/00012\/photo-jug.png?resize=530%2C405&#038;ssl=1\" alt=\"Salle remplie JUG Nantes\" width=\"530\" height=\"405\" \/><\/p>\n<p>Il faut dire que le succ\u00e8s de Google fascine. En France et dans beaucoup de pays \u00e0 travers le monde, des millions d&rsquo;internautes utilisent quotidiennement son moteur de recherche.<\/p>\n<p>Cet article ne fait pas l&rsquo;apologie de Google, mais pr\u00e9sente quelques technologies et savoir-faire qui se cachent sous la \u00ab\u00a0b\u00eate\u00a0\u00bb, et qui ont contribu\u00e9 \u00e0 son succ\u00e8s depuis plusieurs ann\u00e9es.<\/p>\n<p style=\"text-align: center;\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" title=\"Logo Google\" src=\"https:\/\/i0.wp.com\/blog.fabianpiau.com\/wp-content\/uploads\/post\/00012\/google-logo.gif?resize=276%2C110&#038;ssl=1\" alt=\"Logo Google\" width=\"276\" height=\"110\" \/>&nbsp; &nbsp; &nbsp; <\/p>\n<h4>Une infrastructure technologique globale singuli\u00e8re<\/h4>\n<p><br clear=\"none\" \/>Google concentre sa force sur quelques grands principes.<\/p>\n<p>Tout d&rsquo;abord, la firme se base sur une <a href=\"https:\/\/larlet.fr\/david\/biologeek\/archives\/20070629-architecture-orientee-ressource-pour-faire-des-services-web-restful\/\" target=\"_blank\" title=\"Architecture orient\u00e9e ressource\" rel=\"noopener noreferrer\">architecture orient\u00e9e ressource<\/a> (ROA, <strong>Resource Oriented Architecture<\/strong>). Concr\u00e8tement, une ressource correspond \u00e0 une URL pour y acc\u00e9der. Si vous \u00eates un utilisateur de Gmail, vous \u00eates-vous d\u00e9j\u00e0 fait la r\u00e9flexion qu&rsquo;un email \u00e9tait identifiable et retrouvable par une adresse unique ? Ce couple URL-ressource est g\u00e9n\u00e9ralisable \u00e0 l&rsquo;ensemble des applications Google : un document sous Google docs, une coordonn\u00e9e sous Google Maps, une image sous Picasa, etc. Voici quelques exemples d&rsquo;URL.<\/p>\n<ul>\n<li><code>http:\/\/docs.google.com\/Doc?docid=0Ad7BNmFSF7hvZGzYm03dzJfNGhkdeZrbmc0<\/code><\/li>\n<li><code>https:\/\/mail.google.com\/mail\/#inbox\/12537bz86989ed71<\/code><\/li>\n<li><code>http:\/\/picasaweb.google.com\/fabian.piau\/MonAlbum#5409584261851169554<\/code><\/li>\n<li><code>http:\/\/www.youtube.com\/watch?v=LafUQYHSnhU<\/code><\/li>\n<\/ul>\n<p><br clear=\"none\" \/>Google se base sur un <strong>standard<\/strong> du Web : HTML 5. Le format est tr\u00e8s r\u00e9cent et utilise une multitude de nouvelles balises comme l&rsquo;int\u00e9gration native des vid\u00e9os, des documents audios, les canevas pour dessiner par scripting ou bien encore la g\u00e9olocalisation.<\/p>\n<p>De plus, Google ne d\u00e9veloppe principalement que sur deux langages de programmation : le <strong>Java<\/strong> et le <strong>Javascript<\/strong>. La technologie est donc bien d\u00e9limit\u00e9e pour une plus grande maitrise.<\/p>\n<p><br clear=\"none\" \/>Ensuite, l&rsquo;infrastructure informatique de Google est \u00e9clat\u00e9e et se base sur le Cloud computing. Vous connaissez tr\u00e8s certainement une des utilisations du <strong>Cloud computing<\/strong>. La plus connue est sans doute la mise en commun de la puissance de calcul (processeur) de plusieurs ordinateurs \u00e9loign\u00e9s afin de former un super calculateur (par exemple, le logiciel <a href=\"https:\/\/fr.wikipedia.org\/wiki\/SETI@home\" target=\"_blank\" title=\"SETI@home\" rel=\"noopener noreferrer\">SETI@home<\/a> utilise ce proc\u00e9d\u00e9, plus sp\u00e9cifiquement appel\u00e9 \u00ab\u00a0Grid computing\u00a0\u00bb , le but est d&rsquo;analyser la quantit\u00e9 ph\u00e9nom\u00e9nale de donn\u00e9es provenant de l&rsquo;espace pour, peut-\u00eatre, y d\u00e9couvrir la pr\u00e9sence d&rsquo;une vie extraterrestre&#8230;). On peut g\u00e9n\u00e9raliser ce partage de ressource \u00e0 l&rsquo;ensemble des pi\u00e8ces d&rsquo;une machine, comme sa m\u00e9moire physique.<\/p>\n<p>Ce type de Cloud computing n&rsquo;est pas le seul qui existe. Il y a deux autres utilisations qui font parties int\u00e9grantes de Google. Le PAAS (Platform As A Service) permet de louer un serveur d&rsquo;application complet pour h\u00e9berger ses programmes. Il y a aussi le SAAS (Software As A Service) qui permet de louer un logiciel. Les applications Google entrent clairement dans la cat\u00e9gorie SAAS. Par exemple, quand on utilise Google Documents, c&rsquo;est comme si on loue le logiciel malgr\u00e9 sa gratuit\u00e9. On a acc\u00e8s \u00e0 un tableur, un traitement de texte complet, un espace de stockage pour ses documents, le tout depuis le navigateur.<\/p>\n<p><br clear=\"none\" \/>Dernier standard chez Google, les applications (\u00e0 quelques exceptions pr\u00e8s) sont plac\u00e9es sous licence <strong>Open-Source<\/strong>. R\u00e9cemment, la compagnie a d\u00e9voil\u00e9 l&rsquo;ensemble du code source de son syst\u00e8me d&rsquo;exploitation <a href=\"https:\/\/fr.wikipedia.org\/wiki\/Google_Chrome_OS\" target=\"_blank\" title=\"Chrome OS\" rel=\"noopener noreferrer\">Chrome OS<\/a> \u00e0 la communaut\u00e9.<\/p>\n<p><br clear=\"none\" \/><\/p>\n<h4>AppEngine, l&rsquo;offre PAAS par Google<\/h4>\n<p style=\"text-align: center; float : left;\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" title=\"Logo AppEngine\" src=\"https:\/\/i0.wp.com\/blog.fabianpiau.com\/wp-content\/uploads\/post\/00012\/appengine-logo.png?resize=240%2C226&#038;ssl=1\" alt=\"Logo AppEngine\" width=\"240\" height=\"226\" \/>&nbsp; &nbsp; &nbsp; <\/p>\n<p>Google fait du SAAS, mais aussi du PAAS. Il propose ainsi d&rsquo;h\u00e9berger vos applications en vous fournissant tout le mat\u00e9riel n\u00e9cessaire. L&rsquo;offre est d\u00e9clin\u00e9e en deux versions pour deux langages de programmation : Java et Python.<\/p>\n<p>Pour Java, l&rsquo;offre est compos\u00e9e de :<\/p>\n<ul>\n<li>Un conteneur de servlets (Jetty);<\/li>\n<li>Une base de donn\u00e9es de type <a href=\"https:\/\/fr.wikipedia.org\/wiki\/BigTable\" target=\"_blank\" title=\"BigTable\" rel=\"noopener noreferrer\">BigTable<\/a> (structure hi\u00e9rarchique, NOSQL);<\/li>\n<li>Un serveur de mails;<\/li>\n<li>XMPP (pour la messagerie instantan\u00e9e);<\/li>\n<li>Cron (t\u00e2ches de fond);<\/li>\n<li>La possibilit\u00e9 d&rsquo;\u00e9crire des tests unitaires (si !);<\/li>\n<li>Un d\u00e9ploiement en un clic.<\/li>\n<\/ul>\n<p><br clear=\"none\" \/>Vous pouvez consulter cette page pour avoir <a href=\"https:\/\/cloud.google.com\/appengine\/docs\/\" target=\"_blank\" title=\"AppEngine\" rel=\"noopener noreferrer\">plus d&rsquo;information sur AppEngine<\/a>.\t <\/p>\n<p><br clear=\"none\" \/><\/p>\n<p style=\"text-align: center;\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" title=\"Architecture AppEngine\" src=\"https:\/\/i0.wp.com\/blog.fabianpiau.com\/wp-content\/uploads\/post\/00012\/appengine-schema.png?resize=336%2C658&#038;ssl=1\" alt=\"Architecture AppEngine\" width=\"336\" height=\"658\" \/><\/p>\n<p><br clear=\"none\" \/>L&rsquo;offre est gratuite, mais comporte quelques limitations. Par exemple, il y a des  <a href=\"https:\/\/cloud.google.com\/appengine\/quotas\" target=\"_blank\" title=\"Quotas AppEngine\" rel=\"noopener noreferrer\">quotas<\/a> (CPU par jour, nombre de requ\u00eates, nombre de pages vues, espace disque, etc.). Pour un simple particulier, on comprendra que cela sera amplement suffisant. Quoique, d&rsquo;apr\u00e8s l&rsquo;intervenant, il semblerait que la limitation la plus contraignante serait le quota sur la bande passante qui est rapidement atteint. Quoiqu&rsquo;il en soit, pour une entreprise, il sera plus judicieux de se tourner vers l&rsquo;offre payante, qui vous permettra d&rsquo;augmenter les quotas, mais aussi de choisir votre propre solution de stockage (base de donn\u00e9es relationnelle SQL h\u00e9berg\u00e9e chez vous par exemple)&#8230;<\/p>\n<p><br clear=\"none\" \/>Pour la pr\u00e9sentation d&rsquo;AppEngine, nous avons eu le droit \u00e0 une petite d\u00e9monstration de la fameuse application \u00ab\u00a0Hello World\u00a0\u00bb. Rien de tr\u00e8s impressionnant, mais cela a l&rsquo;avantage d&rsquo;\u00eatre d\u00e9ploy\u00e9 et disponible sur internet en quelques minutes. La d\u00e9monstration a \u00e9t\u00e9 r\u00e9alis\u00e9e sous Eclipse en GWT, avec le plug-in <a href=\"https:\/\/cloud.google.com\/eclipse\/docs\/migrating-gpe\" target=\"_blank\" title=\"Google Eclipse Plugin\" rel=\"noopener noreferrer\">Google Eclipse Plugin<\/a>. Ce plug-in permet notamment de tester l&rsquo;application en locale sans avoir besoin de la d\u00e9ployer sur le serveur, un indispensable donc.<\/p>\n<p><br clear=\"none\" \/>Si des fournisseurs d&rsquo;acc\u00e8s internet comme Free vous permettent d&rsquo;h\u00e9berger gratuitement vos sites en PHP\/SQL, Google va plus loin en vous permettant d&rsquo;h\u00e9berger vos programmes Java. Google est un des pr\u00e9curseurs dans ce domaine. Le SAAS\/PAAS semble se d\u00e9velopper de plus en plus, ainsi d&rsquo;autres g\u00e9ants informatiques lui emboite le pas, comme un certain Microsoft avec sa plateforme <a href=\"https:\/\/azure.microsoft.com\/\" target=\"_blank\" title=\"Windows Azure\" rel=\"noopener noreferrer\">Azure<\/a> ou encore SpringSource.<\/p>\n<p><br clear=\"none\" \/><\/p>\n<h4>GWT, le langage de programmation par Google<\/h4>\n<p><br clear=\"none\" \/><\/p>\n<p style=\"text-align: center; float : left;\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" title=\"Logo GWT\" src=\"https:\/\/i0.wp.com\/blog.fabianpiau.com\/wp-content\/uploads\/post\/00012\/gwt-logo.png?resize=249%2C143&#038;ssl=1\" alt=\"Logo GWT\" width=\"249\" height=\"143\"\/>&nbsp; &nbsp; &nbsp; <\/p>\n<p>Le principe est simple \u00e0 comprendre, avec GWT, on fait de la <a href=\"https:\/\/fr.wikipedia.org\/wiki\/Rich_Internet_Application\" title=\"Rich Internet Application\">RIA<\/a> (Rich Internet Application, AJAX&#8230;) sans avoir besoin de programmer en Javascript.<\/p>\n<p><br clear=\"none\" \/>La cr\u00e9ation de l&rsquo;application se fait principalement par glisser\/d\u00e9poser, le code Java\/Javascript est g\u00e9n\u00e9r\u00e9 automatiquement. Bien s\u00fbr, c&rsquo;est toujours \u00e0 vous de faire le code m\u00e9tier.<\/p>\n<p><br clear=\"none\" \/>C&rsquo;est un langage qu&rsquo;on l&rsquo;on peut qualifier de swing-like, car en regardant de plus pr\u00e8s le code g\u00e9n\u00e9r\u00e9, on s&rsquo;aper\u00e7oit qu&rsquo;il est assez similaire \u00e0 <a href=\"https:\/\/fr.wikipedia.org\/wiki\/Swing_(Java)\" target=\"_blank\" title=\"Swing\" rel=\"noopener noreferrer\">Swing<\/a> avec des \u00e9v\u00e9nements, des labels, etc. Avec GWT, on code son interface en Java et le code g\u00e9n\u00e9r\u00e9 n&rsquo;est pas tr\u00e8s propre (donc peu maintenable) et surtout tr\u00e8s lourd (malgr\u00e9 des optimisations).<\/p>\n<p>De plus, la richesse des librairies de la communaut\u00e9 s&rsquo;oppose \u00e0 la pauvret\u00e9 des librairies disponibles par d\u00e9faut. Ces derni\u00e8res \u00e9tant les seules vraiment maintenues par Google. Allez expliquer \u00e0 un client, qu&rsquo;on lui a d\u00e9velopp\u00e9 une belle application avec pleins de drag &#038; drop et du web 2.0 \u00e0 tout va, mais que dans 6 mois, les composants ne seront peut-\u00eatre plus maintenus&#8230; Bien s\u00fbr, ce risque peut \u00eatre pris pour des petites applications qui ne sont pas amen\u00e9es \u00e0 \u00e9voluer dans le temps.<\/p>\n<p><br clear=\"none\" \/>Autre ombre au tableau, par d\u00e9faut, le d\u00e9veloppeur n&rsquo;a pas d&rsquo;autres choix que de tester son application dans un navigateur web interne \u00e0 Google (c&rsquo;est le \u00ab\u00a0hosted mode\u00a0\u00bb). Cela est tr\u00e8s contraignant, car vous pouvez dire adieu \u00e0 vos plug-ins pr\u00e9f\u00e9r\u00e9s comme <a href=\"https:\/\/getfirebug.com\/\" target=\"_blank\" title=\"Firebug\" rel=\"noopener noreferrer\">Firebug<\/a>. Heureusement, on peut contourner cette difficult\u00e9 en utilisant un plug-in d\u00e9di\u00e9 par navigateur qui va s&rsquo;occuper d&rsquo;\u00e9muler le \u00ab\u00a0hosted mode\u00a0\u00bb de Google.<\/p>\n<p><br clear=\"none\" \/>Une contrainte de taille pour GWT : pour lancer une application, l&rsquo;utilisateur doit obligatoirement t\u00e9l\u00e9charger l&rsquo;application dans sa globalit\u00e9 avant de pouvoir commencer \u00e0 l&rsquo;utiliser. T\u00e9l\u00e9charger un m\u00e9gaoctet pour afficher l&rsquo;\u00e9cran de login peut paraitre un peu d\u00e9mesur\u00e9&#8230;<\/p>\n<p><br clear=\"none\" \/><\/p>\n<h4>GWT 2, un GWT 1 sans les inconv\u00e9nients ?<\/h4>\n<p>GWT 1 a quand m\u00eame des atouts, mais il peut en effrayer plus d&rsquo;un pour les raisons que j&rsquo;ai \u00e9voqu\u00e9 pr\u00e9c\u00e9demment. C&rsquo;est pour cela que Google travaille depuis pr\u00e8s d&rsquo;un an sur la seconde version de son langage.<\/p>\n<p><br clear=\"none\" \/>Pour l&rsquo;instant disponible \u00e0 l&rsquo;\u00e9tat de RC (Release Candidate), l&rsquo;objectif de GWT 2 est de faire disparaitre tous ces inconv\u00e9nients. Esp\u00e9rons que le pari sera r\u00e9ussi.<\/p>\n<p><br clear=\"none\" \/>Parmi les \u00e9volutions, notons :<\/p>\n<ul>\n<li>La simplification du code avec l&rsquo;utilisation d&rsquo;annotations;<\/li>\n<li>La possibilit\u00e9 de tester son application avec n&rsquo;importe quel navigateur;<\/li>\n<li>Gr\u00e2ce \u00e0 <a href=\"http:\/\/www.gwtproject.org\/doc\/latest\/DevGuideUiBinder.html\" target=\"_blank\" title=\"UIBinder\" rel=\"noopener noreferrer\">UIBinder<\/a>, la gestion du layout sera externalis\u00e9e dans un fichier XML. La collaboration entre le d\u00e9veloppeur et le designer sera ainsi grandement facilit\u00e9e;<\/li>\n<li>Le chargement diff\u00e9r\u00e9 : l&rsquo;utilisateur ne t\u00e9l\u00e9charge que ce dont il a besoin (code-spliting);<\/li>\n<li>La prise en charge des tests unitaires.<\/li>\n<\/ul>\n<p><br clear=\"none\" \/><\/p>\n<h4>Android, le mobile par Google<\/h4>\n<p style=\"text-align: center;\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" title=\"Android\" src=\"https:\/\/i0.wp.com\/blog.fabianpiau.com\/wp-content\/uploads\/post\/00012\/android-logo.png?resize=418%2C236&#038;ssl=1\" alt=\"Android\" width=\"418\" height=\"236\"\/><\/p>\n<p>Android a \u00e9t\u00e9 le dernier sujet trait\u00e9 au cours du JUG, il commen\u00e7ait \u00e0 se faire tard&#8230; Nous avons eu le droit, une fois n&rsquo;est pas coutume, au d\u00e9veloppement d&rsquo;un \u00ab\u00a0Hello World\u00a0\u00bb sur la plateforme mobile Android.<\/p>\n<p><br clear=\"none\" \/>Les applications sont en Java, il y a un <a href=\"https:\/\/developer.android.com\/studio\/\" target=\"_blank\" title=\"SDK Android\" rel=\"noopener noreferrer\">SDK<\/a> sp\u00e9cial pour Android. <\/p>\n<p>Concr\u00e8tement, on d\u00e9veloppe son programme sous Eclipse. Pour ex\u00e9cuter et tester son programme, on peut \u00e9muler un t\u00e9l\u00e9phone \u00e0 l&rsquo;aide d&rsquo;un plug-in Eclipse. <\/p>\n<p><br clear=\"none\" \/>Ensuite, si le programme convient, on peut le mettre sur son portable, ou bien encore le mettre en ligne sur la <a href=\"https:\/\/play.google.com\/store\" target=\"_blank\" title=\"Android Market place\" rel=\"noopener noreferrer\">Market place<\/a>. Pour que la d\u00e9mo soit compl\u00e8te, l&rsquo;intervenant a mis en ligne son \u00ab\u00a0Hello World\u00a0\u00bb pour 0\u20ac (heureusement !) et une personne du public a ainsi pu t\u00e9l\u00e9charger et ex\u00e9cuter avec succ\u00e8s l&rsquo;application sur son t\u00e9l\u00e9phone. Plut\u00f4t bluffant, la mise \u00e0 disposition sur internet a \u00e9t\u00e9 tr\u00e8s rapide.<\/p>\n<p><br clear=\"none\" \/>Il ne vous reste plus qu&rsquo;\u00e0 vous d\u00e9cider entre un iPhone et un portable Android pour No\u00ebl&#8230;<\/p>\n<p><br clear=\"none\" \/><\/p>\n<h4>Le mod\u00e8le de management selon Google (conclusion)<\/h4>\n<p>Contrairement \u00e0 certains mod\u00e8les standards de management, chez Google la fronti\u00e8re entre d\u00e9veloppeur et utilisateur est totalement invisible. La hi\u00e9rarchie est tr\u00e8s aplatie entre les deux.<\/p>\n<p><br clear=\"none\" \/>Vous l&rsquo;aurez s\u00fbrement remarqu\u00e9, lors des Google I\/O ou lors d&rsquo;autres conf\u00e9rences, ce sont toujours des d\u00e9veloppeurs ou des team leaders qui pr\u00e9sentent les nouvelles applications, ce ne sont jamais des \u00e9quipes de marketing&#8230;<\/p>\n<p><br clear=\"none\" \/>Le d\u00e9veloppeur devient l&rsquo;innovateur, il a un r\u00f4le central chez Google. Google fonctionne ainsi et, \u00e0 en voir le r\u00e9sultat, \u00e7a m&rsquo;a tout l&rsquo;air de bien fonctionner!<\/p>","protected":false},"excerpt":{"rendered":"<p>&nbsp;English version available Avec un peu de retard, voici le compte rendu du dernier JUG nantais. Le sujet abord\u00e9 est un sujet bien connu, puisqu&rsquo;il s&rsquo;agissait, ni plus ni moins, du g\u00e9ant Google. Une fois de plus, la d\u00e9mesure de Google a encore frapp\u00e9 et de surcro\u00eet un vendredi soir. En effet, la salle \u00e9tait [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1415,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[6],"tags":[62,63,31,64,51,52],"class_list":["post-225","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-event","tag-android","tag-appengine","tag-google","tag-gwt","tag-jug","tag-nantes"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Google s\u2019invite au JUG | CarmaBlog<\/title>\n<meta name=\"description\" content=\"&nbsp;English version available Avec un peu de retard, voici le compte rendu du dernier JUG nantais. Le sujet abord\u00e9 est un sujet bien connu, puisqu&#039;il\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.fabianpiau.com\/fr\/2009\/12\/06\/google-at-jug\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Google s\u2019invite au JUG | CarmaBlog\" \/>\n<meta property=\"og:description\" content=\"&nbsp;English version available Avec un peu de retard, voici le compte rendu du dernier JUG nantais. Le sujet abord\u00e9 est un sujet bien connu, puisqu&#039;il\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.fabianpiau.com\/fr\/2009\/12\/06\/google-at-jug\/\" \/>\n<meta property=\"og:site_name\" content=\"CarmaBlog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/fabian.piau\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/fabian.piau\" \/>\n<meta property=\"article:published_time\" content=\"2009-12-06T17:24:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-04-09T21:52:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i2.wp.com\/blog.fabianpiau.com\/wp-content\/uploads\/2009\/12\/00012.gif?fit=276%2C276&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"276\" \/>\n\t<meta property=\"og:image:height\" content=\"276\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/gif\" \/>\n<meta name=\"author\" content=\"Fabian Piau\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@fabianpiau\" \/>\n<meta name=\"twitter:site\" content=\"@fabianpiau\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fabian Piau\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blog.fabianpiau.com\\\/fr\\\/2009\\\/12\\\/06\\\/google-at-jug\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.fabianpiau.com\\\/fr\\\/2009\\\/12\\\/06\\\/google-at-jug\\\/\"},\"author\":{\"name\":\"Fabian Piau\",\"@id\":\"https:\\\/\\\/blog.fabianpiau.com\\\/#\\\/schema\\\/person\\\/c5cbffd7cf0b10117877f5dfd1b35f14\"},\"headline\":\"Google s\u2019invite au JUG\",\"datePublished\":\"2009-12-06T17:24:11+00:00\",\"dateModified\":\"2020-04-09T21:52:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blog.fabianpiau.com\\\/fr\\\/2009\\\/12\\\/06\\\/google-at-jug\\\/\"},\"wordCount\":3202,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/blog.fabianpiau.com\\\/#\\\/schema\\\/person\\\/c5cbffd7cf0b10117877f5dfd1b35f14\"},\"image\":{\"@id\":\"https:\\\/\\\/blog.fabianpiau.com\\\/fr\\\/2009\\\/12\\\/06\\\/google-at-jug\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/blog.fabianpiau.com\\\/wp-content\\\/uploads\\\/2009\\\/12\\\/00012.gif?fit=276%2C276&ssl=1\",\"keywords\":[\"android\",\"appengine\",\"google\",\"gwt\",\"jug\",\"nantes\"],\"articleSection\":[\"Ev\u00e9nement\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blog.fabianpiau.com\\\/fr\\\/2009\\\/12\\\/06\\\/google-at-jug\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blog.fabianpiau.com\\\/fr\\\/2009\\\/12\\\/06\\\/google-at-jug\\\/\",\"url\":\"https:\\\/\\\/blog.fabianpiau.com\\\/fr\\\/2009\\\/12\\\/06\\\/google-at-jug\\\/\",\"name\":\"Google s\u2019invite au JUG | CarmaBlog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.fabianpiau.com\\\/fr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blog.fabianpiau.com\\\/fr\\\/2009\\\/12\\\/06\\\/google-at-jug\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blog.fabianpiau.com\\\/fr\\\/2009\\\/12\\\/06\\\/google-at-jug\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/blog.fabianpiau.com\\\/wp-content\\\/uploads\\\/2009\\\/12\\\/00012.gif?fit=276%2C276&ssl=1\",\"datePublished\":\"2009-12-06T17:24:11+00:00\",\"dateModified\":\"2020-04-09T21:52:42+00:00\",\"description\":\"&nbsp;English version available Avec un peu de retard, voici le compte rendu du dernier JUG nantais. Le sujet abord\u00e9 est un sujet bien connu, puisqu'il\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blog.fabianpiau.com\\\/fr\\\/2009\\\/12\\\/06\\\/google-at-jug\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[[\"https:\\\/\\\/blog.fabianpiau.com\\\/fr\\\/2009\\\/12\\\/06\\\/google-at-jug\\\/\"]]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/blog.fabianpiau.com\\\/fr\\\/2009\\\/12\\\/06\\\/google-at-jug\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/blog.fabianpiau.com\\\/wp-content\\\/uploads\\\/2009\\\/12\\\/00012.gif?fit=276%2C276&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/blog.fabianpiau.com\\\/wp-content\\\/uploads\\\/2009\\\/12\\\/00012.gif?fit=276%2C276&ssl=1\",\"width\":276,\"height\":276,\"caption\":\"Google\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blog.fabianpiau.com\\\/fr\\\/2009\\\/12\\\/06\\\/google-at-jug\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Homepage\",\"item\":\"https:\\\/\\\/blog.fabianpiau.com\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ev\u00e9nement\",\"item\":\"https:\\\/\\\/blog.fabianpiau.com\\\/fr\\\/category\\\/event\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Google s\u2019invite au JUG\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blog.fabianpiau.com\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/blog.fabianpiau.com\\\/fr\\\/\",\"name\":\"CarmaBlog\",\"description\":\"Agilit\u00e9, D\u00e9veloppement Java, Nouvelles technologies et plus...\",\"publisher\":{\"@id\":\"https:\\\/\\\/blog.fabianpiau.com\\\/fr\\\/#\\\/schema\\\/person\\\/c5cbffd7cf0b10117877f5dfd1b35f14\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blog.fabianpiau.com\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/blog.fabianpiau.com\\\/fr\\\/#\\\/schema\\\/person\\\/c5cbffd7cf0b10117877f5dfd1b35f14\",\"name\":\"Fabian Piau\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/i0.wp.com\\\/blog.fabianpiau.com\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/fabian-pro-small.jpg?fit=567%2C667&ssl=1\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/blog.fabianpiau.com\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/fabian-pro-small.jpg?fit=567%2C667&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/blog.fabianpiau.com\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/fabian-pro-small.jpg?fit=567%2C667&ssl=1\",\"width\":567,\"height\":667,\"caption\":\"Fabian Piau\"},\"logo\":{\"@id\":\"https:\\\/\\\/i0.wp.com\\\/blog.fabianpiau.com\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/fabian-pro-small.jpg?fit=567%2C667&ssl=1\"},\"description\":\"D\u00e9veloppeur Java, Fabian s'int\u00e9resse aux nouvelles technologies et plus particuli\u00e8rement \u00e0 leur utilisation dans un contexte agile.\",\"sameAs\":[\"https:\\\/\\\/blog.fabianpiau.com\",\"https:\\\/\\\/www.facebook.com\\\/fabian.piau\",\"https:\\\/\\\/www.instagram.com\\\/fabianpiau\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/fabianpiau\\\/\",\"https:\\\/\\\/x.com\\\/fabianpiau\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Google s\u2019invite au JUG | CarmaBlog","description":"&nbsp;English version available Avec un peu de retard, voici le compte rendu du dernier JUG nantais. Le sujet abord\u00e9 est un sujet bien connu, puisqu'il","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:\/\/blog.fabianpiau.com\/fr\/2009\/12\/06\/google-at-jug\/","og_locale":"fr_FR","og_type":"article","og_title":"Google s\u2019invite au JUG | CarmaBlog","og_description":"&nbsp;English version available Avec un peu de retard, voici le compte rendu du dernier JUG nantais. Le sujet abord\u00e9 est un sujet bien connu, puisqu'il","og_url":"https:\/\/blog.fabianpiau.com\/fr\/2009\/12\/06\/google-at-jug\/","og_site_name":"CarmaBlog","article_publisher":"https:\/\/www.facebook.com\/fabian.piau","article_author":"https:\/\/www.facebook.com\/fabian.piau","article_published_time":"2009-12-06T17:24:11+00:00","article_modified_time":"2020-04-09T21:52:42+00:00","og_image":[{"width":276,"height":276,"url":"https:\/\/i2.wp.com\/blog.fabianpiau.com\/wp-content\/uploads\/2009\/12\/00012.gif?fit=276%2C276&ssl=1","type":"image\/gif"}],"author":"Fabian Piau","twitter_card":"summary_large_image","twitter_creator":"@fabianpiau","twitter_site":"@fabianpiau","twitter_misc":{"\u00c9crit par":"Fabian Piau","Dur\u00e9e de lecture estim\u00e9e":"16 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.fabianpiau.com\/fr\/2009\/12\/06\/google-at-jug\/#article","isPartOf":{"@id":"https:\/\/blog.fabianpiau.com\/fr\/2009\/12\/06\/google-at-jug\/"},"author":{"name":"Fabian Piau","@id":"https:\/\/blog.fabianpiau.com\/#\/schema\/person\/c5cbffd7cf0b10117877f5dfd1b35f14"},"headline":"Google s\u2019invite au JUG","datePublished":"2009-12-06T17:24:11+00:00","dateModified":"2020-04-09T21:52:42+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.fabianpiau.com\/fr\/2009\/12\/06\/google-at-jug\/"},"wordCount":3202,"commentCount":0,"publisher":{"@id":"https:\/\/blog.fabianpiau.com\/#\/schema\/person\/c5cbffd7cf0b10117877f5dfd1b35f14"},"image":{"@id":"https:\/\/blog.fabianpiau.com\/fr\/2009\/12\/06\/google-at-jug\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/blog.fabianpiau.com\/wp-content\/uploads\/2009\/12\/00012.gif?fit=276%2C276&ssl=1","keywords":["android","appengine","google","gwt","jug","nantes"],"articleSection":["Ev\u00e9nement"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.fabianpiau.com\/fr\/2009\/12\/06\/google-at-jug\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.fabianpiau.com\/fr\/2009\/12\/06\/google-at-jug\/","url":"https:\/\/blog.fabianpiau.com\/fr\/2009\/12\/06\/google-at-jug\/","name":"Google s\u2019invite au JUG | CarmaBlog","isPartOf":{"@id":"https:\/\/blog.fabianpiau.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.fabianpiau.com\/fr\/2009\/12\/06\/google-at-jug\/#primaryimage"},"image":{"@id":"https:\/\/blog.fabianpiau.com\/fr\/2009\/12\/06\/google-at-jug\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/blog.fabianpiau.com\/wp-content\/uploads\/2009\/12\/00012.gif?fit=276%2C276&ssl=1","datePublished":"2009-12-06T17:24:11+00:00","dateModified":"2020-04-09T21:52:42+00:00","description":"&nbsp;English version available Avec un peu de retard, voici le compte rendu du dernier JUG nantais. Le sujet abord\u00e9 est un sujet bien connu, puisqu'il","breadcrumb":{"@id":"https:\/\/blog.fabianpiau.com\/fr\/2009\/12\/06\/google-at-jug\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":[["https:\/\/blog.fabianpiau.com\/fr\/2009\/12\/06\/google-at-jug\/"]]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/blog.fabianpiau.com\/fr\/2009\/12\/06\/google-at-jug\/#primaryimage","url":"https:\/\/i0.wp.com\/blog.fabianpiau.com\/wp-content\/uploads\/2009\/12\/00012.gif?fit=276%2C276&ssl=1","contentUrl":"https:\/\/i0.wp.com\/blog.fabianpiau.com\/wp-content\/uploads\/2009\/12\/00012.gif?fit=276%2C276&ssl=1","width":276,"height":276,"caption":"Google"},{"@type":"BreadcrumbList","@id":"https:\/\/blog.fabianpiau.com\/fr\/2009\/12\/06\/google-at-jug\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Homepage","item":"https:\/\/blog.fabianpiau.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Ev\u00e9nement","item":"https:\/\/blog.fabianpiau.com\/fr\/category\/event\/"},{"@type":"ListItem","position":3,"name":"Google s\u2019invite au JUG"}]},{"@type":"WebSite","@id":"https:\/\/blog.fabianpiau.com\/fr\/#website","url":"https:\/\/blog.fabianpiau.com\/fr\/","name":"CarmaBlog","description":"Agilit\u00e9, D\u00e9veloppement Java, Nouvelles technologies et plus...","publisher":{"@id":"https:\/\/blog.fabianpiau.com\/fr\/#\/schema\/person\/c5cbffd7cf0b10117877f5dfd1b35f14"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.fabianpiau.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":["Person","Organization"],"@id":"https:\/\/blog.fabianpiau.com\/fr\/#\/schema\/person\/c5cbffd7cf0b10117877f5dfd1b35f14","name":"Fabian Piau","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/i0.wp.com\/blog.fabianpiau.com\/wp-content\/uploads\/2022\/08\/fabian-pro-small.jpg?fit=567%2C667&ssl=1","url":"https:\/\/i0.wp.com\/blog.fabianpiau.com\/wp-content\/uploads\/2022\/08\/fabian-pro-small.jpg?fit=567%2C667&ssl=1","contentUrl":"https:\/\/i0.wp.com\/blog.fabianpiau.com\/wp-content\/uploads\/2022\/08\/fabian-pro-small.jpg?fit=567%2C667&ssl=1","width":567,"height":667,"caption":"Fabian Piau"},"logo":{"@id":"https:\/\/i0.wp.com\/blog.fabianpiau.com\/wp-content\/uploads\/2022\/08\/fabian-pro-small.jpg?fit=567%2C667&ssl=1"},"description":"D\u00e9veloppeur Java, Fabian s'int\u00e9resse aux nouvelles technologies et plus particuli\u00e8rement \u00e0 leur utilisation dans un contexte agile.","sameAs":["https:\/\/blog.fabianpiau.com","https:\/\/www.facebook.com\/fabian.piau","https:\/\/www.instagram.com\/fabianpiau\/","https:\/\/www.linkedin.com\/in\/fabianpiau\/","https:\/\/x.com\/fabianpiau"]}]}},"views":1768,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/blog.fabianpiau.com\/wp-content\/uploads\/2009\/12\/00012.gif?fit=276%2C276&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pbSHyl-3D","_links":{"self":[{"href":"https:\/\/blog.fabianpiau.com\/fr\/wp-json\/wp\/v2\/posts\/225","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.fabianpiau.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.fabianpiau.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.fabianpiau.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.fabianpiau.com\/fr\/wp-json\/wp\/v2\/comments?post=225"}],"version-history":[{"count":0,"href":"https:\/\/blog.fabianpiau.com\/fr\/wp-json\/wp\/v2\/posts\/225\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.fabianpiau.com\/fr\/wp-json\/wp\/v2\/media\/1415"}],"wp:attachment":[{"href":"https:\/\/blog.fabianpiau.com\/fr\/wp-json\/wp\/v2\/media?parent=225"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.fabianpiau.com\/fr\/wp-json\/wp\/v2\/categories?post=225"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.fabianpiau.com\/fr\/wp-json\/wp\/v2\/tags?post=225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}