<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Javascript on Java &amp; Moi</title><link>https://javaetmoi.com/tags/javascript/</link><description>Recent content in Javascript on Java &amp; Moi</description><generator>Hugo</generator><language>fr</language><lastBuildDate>Thu, 18 May 2017 16:15:36 +0000</lastBuildDate><atom:link href="https://javaetmoi.com/tags/javascript/feed.xml" rel="self" type="application/rss+xml"/><item><title>Formulaire dynamique en Vue.Js</title><link>https://javaetmoi.com/2017/05/formulaire-dynamique-en-vue-js/</link><pubDate>Thu, 18 May 2017 16:15:36 +0000</pubDate><guid isPermaLink="false">http://javaetmoi.com/?p=1726</guid><description>&lt;p&gt;Dans ce billet, nous allons mettre en pratique l’initiation à Vue.js reçue le mois dernier. Je vous propose de &lt;strong&gt;coder un pseudo Google Form&lt;/strong&gt; avec l’aide de &lt;a href="https://vuejs.org/"&gt;&lt;strong&gt;Vue.js&lt;/strong&gt;&lt;/a&gt;, de &lt;strong&gt;Bootsrap&lt;/strong&gt; et du framework de validation &lt;a href="http://vee-validate.logaretm.com/"&gt;&lt;strong&gt;VeeValidate&lt;/strong&gt;&lt;/a&gt;.
Le &lt;strong&gt;formulaire HTML&lt;/strong&gt; est généré automatiquement à partir d’un &lt;strong&gt;paramétrage JSON&lt;/strong&gt; récupéré par une API REST. Nous n’aborderons pas ici la partie serveur.
Un utilisateur peut sauvegarder son formulaire à l’état de brouillon afin de poursuivre ultérieurement sa saisie. Le formulaire à afficher peut donc être pré-saisi.
La &lt;strong&gt;validation&lt;/strong&gt; est &lt;strong&gt;dynamique&lt;/strong&gt;: elle se fait au fur et à mesure de la saisie du formulaire.
Voici un exemple de formulaire :&lt;/p&gt;
&lt;p&gt;&lt;a href="wp-content/uploads/2017/05/2017-05-Formulaire-dynamique-en-Vue.js.png"&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2017/05/2017-05-Formulaire-dynamique-en-Vue.js.png"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="Formulaire dynamique en Vue.Js"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2017/05/2017-05-Formulaire-dynamique-en-Vue.js.png"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;</description></item><item><title>Codez le lab Vue.js de Devoxx France 2017</title><link>https://javaetmoi.com/2017/04/codez-lab-vue-js-devoxx-france-2017/</link><pubDate>Sun, 09 Apr 2017 18:16:16 +0000</pubDate><guid isPermaLink="false">http://javaetmoi.com/?p=1677</guid><description>&lt;p&gt;Au cours des précédentes éditions de Devoxx France, je me suis familiarisé avec les frameworks JavaScript du moment : &lt;a href="http://javaetmoi.com/2013/04/angularjs-devoxx-france-2013/"&gt;AngularJS&lt;/a&gt; en 2013 puis &lt;a href="http://javaetmoi.com/2016/04/angular-2-hands-on-lab-devoxx-france/"&gt;Angular 2&lt;/a&gt; et &lt;a href="wp-content/uploads/2016/05/Devoxx_France-2016-Let_s_React.pdf"&gt;ReactJS&lt;/a&gt; en 2016. Cette année, ce fut au tour d’un nouveau venu, à savoir &lt;strong&gt;Vue.js&lt;/strong&gt;. Je l’ai testé au travers du &lt;a href="http://cfp.devoxx.fr/2017/talk/USM-5688/Apres_Angular_et_React,_voici_..._VueJS"&gt;Hands-on Lab&lt;/a&gt; animé par Emmanuel Demey et Aurélien Loyer. Si vous n’avez pas eu la chance d’y participer, cet article a pour humble &lt;strong&gt;objectif de vous aider à réaliser ce Lab par vous-même&lt;/strong&gt;, tel un &lt;strong&gt;tutoriel&lt;/strong&gt;. Il complète le code disponible sur le &lt;a href="https://github.com/Gillespie59/devoxx-vuejs/"&gt;dépôt GitHub du Lab&lt;/a&gt; ainsi que &lt;a href="http://slides.com/emmanueldemey-1/deck-13"&gt;les slides consultables en ligne&lt;/a&gt;. Vous pouvez également l’utiliser pour étudier à quoi ressemble une application Vue.js et découvrir ses principaux concepts.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2017/04/vuejs-emmanuel.png"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
Emmanuel et Aurélien sont consultants web chez Zenika Lille. Familiarisés avec Angular, ils ont découvert VueJS au travers d’un projet personnel.
VueJS nous est présenté comme une librairie (et non un framework) dédiée à la création d’interfaces web HTML. Il se veut &lt;strong&gt;simple&lt;/strong&gt; et efficace, idéal pour créer rapidement une application web. Ses concepts principaux sont les &lt;strong&gt;Vues&lt;/strong&gt;(il ne s’appelle pas Vue.js pour rien), les &lt;strong&gt;Directives&lt;/strong&gt;, les &lt;strong&gt;Composants&lt;/strong&gt; et le &lt;strong&gt;Binding&lt;/strong&gt;. Tels les Web Components, Vue.js utilise le &lt;strong&gt;Shadow DOM&lt;/strong&gt; pour scoper le style CSS des composants.
Après cette courte introduction, place au CodeLab.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="Codez le lab Vue.js de Devoxx France 2017"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2017/04/vuejs-emmanuel.png"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;</description></item><item><title>Devoxx France 2016 : une conf appréciée, un slide</title><link>https://javaetmoi.com/2016/05/devoxx-france-2016-un-slide-par-conf/</link><pubDate>Sat, 14 May 2016 09:10:07 +0000</pubDate><guid isPermaLink="false">http://javaetmoi.com/?p=1608</guid><description>&lt;p&gt;Voici la présentation que j&amp;rsquo;ai animée auprès de mes collègues afin de leur faire un retour suite à ma participation à Devoxx France 2016. Le leitmotiv était &lt;strong&gt;&lt;em&gt;&amp;ldquo;1&lt;/em&gt; &lt;em&gt;conférence appréciée =&amp;gt; 1 slide&amp;rdquo;&lt;/em&gt;&lt;/strong&gt;.Au menu : Angular 2, ECMASript 2015, Kakfa, Spring Cloud, architecture StackOverflow, Jenkins pipeline, React, revues de code et documentation.&lt;/p&gt;
&lt;p&gt;[slideshare id=61995666&amp;amp;doc=2016-05-13-retoursdevoxxfrance2016-160513175637]&lt;/p&gt;</description></item><item><title>16 prises de notes à Devoxx France 2016</title><link>https://javaetmoi.com/2016/05/16-prises-de-notes-a-devoxx-france-2016/</link><pubDate>Thu, 12 May 2016 17:14:54 +0000</pubDate><guid isPermaLink="false">http://javaetmoi.com/?p=1580</guid><description>&lt;p&gt;Pour vous aider à choisir quelle conférence visionner sur la &lt;strong&gt;&lt;a href="https://www.youtube.com/channel/UCsVPQfo5RZErDL41LoWvk0A"&gt;chaîne Devoxx FR 2016 de Youtube&lt;/a&gt;&lt;/strong&gt; ou pour vous remémorer certaines chose, je mets librement à votre disposition les différentes notes que j’ai pu prendre sur mon laptop.&lt;/p&gt;
&lt;p&gt;Les sujets sont variés : des &lt;strong&gt;Microservices&lt;/strong&gt; avec Spring Boot et Spring Cloud, du &lt;strong&gt;Big Data&lt;/strong&gt; avec Kafka et Elasticsearch, du &lt;strong&gt;Front End&lt;/strong&gt; avec ECMAScript 2015 et React, du &lt;strong&gt;Java 8&lt;/strong&gt; et &lt;strong&gt;9&lt;/strong&gt; ou bien encore de la &lt;strong&gt;méthodologie&lt;/strong&gt; avec les revues de code et de la living documentation.&lt;/p&gt;
&lt;p&gt;Certaines notes pourront être lues de manière autonome ; je pense par exemple au quickie &lt;a href="wp-content/uploads/2016/05/Devoxx_France-2016-Comment_rater_ses_revues_de_code.pdf"&gt;Comment rater ses revues de code ?&lt;/a&gt; et à la conférence &lt;a href="wp-content/uploads/2016/05/Devoxx_France-2016-Stack_Overflow_behind_the_scenes.pdf"&gt;Stack Overflow behind the scenes&lt;/a&gt;. Pour être exploitables en l’état, d’autres notes demanderont à ce que vous ayez assisté à la conférence ou que vous ayez pu récupérer les supports de présentation.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="2016_04_21_Devoxx_France_2016_keynote"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2016/05/2016_04_21_Devoxx_France_2016_keynote.jpg"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;</description></item><item><title>Introduction à Angular JS</title><link>https://javaetmoi.com/2015/05/introduction-a-angularjs/</link><pubDate>Wed, 20 May 2015 17:36:21 +0000</pubDate><guid isPermaLink="false">http://javaetmoi.com/?p=1316</guid><description>&lt;p&gt;Si vous pensez encore que le &lt;strong&gt;data-binding&lt;/strong&gt;, l’ &lt;strong&gt;inversion de dépendances&lt;/strong&gt;, le &lt;strong&gt;pattern MVC&lt;/strong&gt; ou bien encore la gestion de la &lt;strong&gt;navigation&lt;/strong&gt; sont réservés au code Java des applications web modernes, courrez visionner cette présentation.
&lt;strong&gt;AngularJS&lt;/strong&gt;, le dernier framework JavaScript de chez Google, devrait vous surprendre.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Basée sur l’université AngularJS, ou le futur du développement Web présentée lors de Devoxx France 2013&lt;/strong&gt;, cette présentation a pour objectif de vous initier à AngularJS.
Les concepts fondamentaux seront mis en action au travers de l&amp;rsquo;application Game Store.
Côté industrialisation, nous verrons que tests unitaires, tests fonctionnels et infrastructure de build ne sont pas non plus délaissés.&lt;/p&gt;</description></item><item><title>Tester le code JavaScript de vos webapp Java</title><link>https://javaetmoi.com/2014/03/tester-code-javascript-webapp-java/</link><pubDate>Tue, 04 Mar 2014 09:27:15 +0000</pubDate><guid isPermaLink="false">http://javaetmoi.com/?p=995</guid><description>&lt;p&gt;&lt;a href="wp-content/uploads/2014/03/tester-code-javascript-webapp-logo.png"&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="tester-code-javascript-webapp-logo"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2014/03/tester-code-javascript-webapp-logo.png"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/a&gt; Vous développez une &lt;strong&gt;application web&lt;/strong&gt; en &lt;strong&gt;Java&lt;/strong&gt;. Le couche présentation est assurée typiquement par un &lt;strong&gt;framework MVC&lt;/strong&gt; situé côté &lt;strong&gt;serveur&lt;/strong&gt; : Spring MVC, Struts 2, Tapestry ou bien encore JSF. Votre projet est parfaitement industrialisé : infrastructure de build sous maven, intégration continue, tests unitaires, tests Selenium, analyse qualimétrique via Sonar.&lt;/p&gt;
&lt;p&gt;A priori, vous n’avez rien à envier à la richesse grandissante de l’écosystème JavaScript, de l’outillage et des frameworks MV* côté clients. Et pourtant, quelque chose vous manque cruellement. En effet, depuis que RIA et Ajax se sont imposés, votre application Java contient davantage de code JavaScript qu’il y’a 10 ans. S’appuyant sur des librairies telles que jQuery ou Underscore, ce code JavaScript est typiquement embarqué dans votre &lt;strong&gt;WAR&lt;/strong&gt;. Pour le valider, les développeurs doivent démarrer leur conteneur web et accéder à l’écran sur lequel le code est utilisé. Firebug ou Chrome sont alors vos meilleurs amis pour la mise au point du script.&lt;/p&gt;
&lt;p&gt;Ce code JavaScript n’est généralement pas documenté. Le tester manuellement demande du temps. Les modifications sont sources d’erreur. Tout changement est donc périlleux. Si, à l’instar de vos tests JUnit pour vous classes Java, vous disposiez de &lt;strong&gt;tests JavaScript&lt;/strong&gt;, vous en seriez comblés. Or, c’est précisément ce qu’il vous manque. Et c’est là où &lt;strong&gt;Jasmine&lt;/strong&gt; et &lt;strong&gt;son plugin maven&lt;/strong&gt; viennent à votre rescousse.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="tester-code-javascript-webapp-logo"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2014/03/tester-code-javascript-webapp-logo.png"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;</description></item><item><title>Développer et industrialiser une web app avec AngularJS</title><link>https://javaetmoi.com/2014/02/developper-industrialiser-web-app-recherche-angularjs/</link><pubDate>Sun, 09 Feb 2014 19:13:56 +0000</pubDate><guid isPermaLink="false">http://javaetmoi.com/?p=898</guid><description>&lt;p&gt;Au travers du billet &lt;a href="https://github.com/angular/angular-seed/blob/master/README.md"&gt;Elastifiez la base MusicBrainz sur OpenShift&lt;/a&gt;, je vous ai expliqué comment indexer dans &lt;strong&gt;Elasticsearch&lt;/strong&gt; et avec &lt;strong&gt;Spring Batch&lt;/strong&gt; l’encyclopédie musicale &lt;strong&gt;MusicBrainz.&lt;/strong&gt; L’index avait ensuite été déployé sur le Cloud &lt;strong&gt;OpenShift&lt;/strong&gt; de RedHat.&lt;br&gt;Une application HTML 5 était mise à disposition pour consulter les albums de musique ainsi indexés. Pour m’y aider, &lt;a href="https://twitter.com/lucianprecup"&gt;Lucian Precup&lt;/a&gt; m’avait autorisé à adapter l’application qu’il avait mise au point pour l’atelier &lt;a href="http://agenda2013.scrumday.fr/event/149"&gt;Construisons un moteur de recherche&lt;/a&gt; de la conférence Scrum Day 2013.&lt;br&gt;Afin d’approfondir mes connaissances de l’ &lt;strong&gt;écosystème JavaScript,&lt;/strong&gt; je me suis amusé à recoder cette &lt;strong&gt;application front-end&lt;/strong&gt; en partant de zéro. Ce fut l’occasion d’adopter les meilleures pratiques en vigueur : framework JavaScript MV*, outils de builds, tests, qualité du code, packaging …&lt;br&gt;Au travers de ce article, je vous présenterai comment :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Mettre en place un projet Anguler à l’aise d’ &lt;strong&gt;Angular Seed&lt;/strong&gt;, &lt;strong&gt;Node.js&lt;/strong&gt; et &lt;strong&gt;Bower&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Développer en full &lt;strong&gt;AngularJS&lt;/strong&gt; et &lt;strong&gt;Angular UI Bootstrap&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Utiliser le framework &lt;strong&gt;elasticsearch-js&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Internationaliser&lt;/strong&gt; une application Angular&lt;/li&gt;
&lt;li&gt;Tester unitairement et fonctionnellement une application JS avec &lt;strong&gt;Jasmine&lt;/strong&gt; et &lt;strong&gt;Karma&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Analyser du code source JavaScript avec &lt;strong&gt;jshint&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Packager avec &lt;strong&gt;Grunt&lt;/strong&gt; le livrable à déployer&lt;/li&gt;
&lt;li&gt;Utiliser l’ &lt;strong&gt;usine de développement&lt;/strong&gt; JavaScript disponible sur le Cloud : Travis CI, Coversall.io et David&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Le code source de l’application est bien entendu &lt;a href="https://github.com/arey/angular-musicbrainz"&gt;disponible sur GitHub&lt;/a&gt; et &lt;a href="http://angular-musicbrainz.javaetmoi.com/"&gt;testable en ligne&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="Angular MusicBrainz web app screenshot"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2014/02/angular-musicbrainz-screenshot.png"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;</description></item><item><title>AngularJS à Devoxx France 2013</title><link>https://javaetmoi.com/2013/04/angularjs-devoxx-france-2013/</link><pubDate>Tue, 02 Apr 2013 16:44:53 +0000</pubDate><guid isPermaLink="false">http://javaetmoi.com/?p=667</guid><description>&lt;p&gt;&lt;a href="wp-content/uploads/2013/04/devoxxfr-2013-angularjs.jpg"&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="Université AngularJS ou le futur du développement Web à devoxxx France 2013"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2013/04/devoxxfr-2013-angularjs.jpg"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A deux semaines de sa première formation en entreprise sur &lt;strong&gt;AngularJS&lt;/strong&gt;, répétition générale pour Thierry Chatel devant 200 développeurs avides d’en apprendre un peu plus sur le dernier né des frameworks JavaScript de &lt;strong&gt;Google&lt;/strong&gt;. Développeur Java / Swing chez IBM au début des années 2000, Thierry s’est ensuite dirigé vers du conseil en architecture avant de découvrir AngularJS durant l’été 2011. Depuis, il y consacre beaucoup d’énergie et anime notamment le site &lt;a href="http://www.frangular.com/"&gt;FrAngular.com&lt;/a&gt;, premier blog francophone dédié à ce framework.
Assez parlé de sa personne, lui-même n’en serait que trop gêné.&lt;/p&gt;
&lt;p&gt;Comme de nombreux développeurs venus assister à cette conférence, j’étais curieux de découvrir à mon tour le framework qui avait fait autant parlé de lui lors de Devoxx World 2012. Et autant vous l’annoncer dès maintenant : je n’ai pas été déçu.&lt;/p&gt;
&lt;p&gt;D’une durée de 3h, cette Université intitulée &lt;strong&gt;&lt;a href="http://www.devoxx.com/display/FR13/AngularJS%2C&amp;#43;ou&amp;#43;le&amp;#43;futur&amp;#43;du&amp;#43;developpement&amp;#43;Web"&gt;AngularJS, ou le futur du développement Web&lt;/a&gt;&lt;/strong&gt; s’est décomposée en une première partie théorique suivie d’une seconde plus pratique basée sur différents types d’applications : &lt;a href="http://jsfiddle.net/tchatel/4FNeB/"&gt;Last Tweets&lt;/a&gt;, &lt;a href="http://plnkr.co/edit/gn1jVW?p=preview"&gt;directive Google Maps&lt;/a&gt; et &lt;a href="https://github.com/tchatel/angular-gamestore"&gt;Game Store&lt;/a&gt;. Live coding et démos furent au rendez-vous.
Pour la petite anecdote, &lt;a href="http://tchatel.github.com/slides-angularjs/"&gt;les slides de la présentation&lt;/a&gt; sont écrits avec la syntaxe Markdown et sont interprétés par l’outil &lt;a href="https://github.com/tchatel/angular-showoff"&gt;Angular Showoff&lt;/a&gt; reposant, vous l’aurez deviné, sur Angular. L’intérêt majeur est qu’ils peuvent embarquer du code Angular, pratique pour les démos in-slides telles que :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-xhtml" data-lang="xhtml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Your name:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Hello {{me}}!
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="Université AngularJS ou le futur du développement Web à devoxxx France 2013"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2013/04/devoxxfr-2013-angularjs.jpg"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;</description></item></channel></rss>