<?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>Angularjs on Java &amp; Moi</title><link>https://javaetmoi.com/tags/angularjs/</link><description>Recent content in Angularjs on Java &amp; Moi</description><generator>Hugo</generator><language>fr</language><lastBuildDate>Wed, 21 Dec 2016 16:20:08 +0000</lastBuildDate><atom:link href="https://javaetmoi.com/tags/angularjs/feed.xml" rel="self" type="application/rss+xml"/><item><title>Découvrez les forks de Spring Petclinic</title><link>https://javaetmoi.com/2016/12/les-forks-de-spring-petclinic/</link><pubDate>Wed, 21 Dec 2016 16:20:08 +0000</pubDate><guid isPermaLink="false">http://javaetmoi.com/?p=1657</guid><description>&lt;p&gt;L’ &lt;a href="https://github.com/spring-projects/spring-petclinic"&gt;&lt;strong&gt;application démo Spring Petclinic&lt;/strong&gt;&lt;/a&gt; a été conçue pour montrer comment le framework Spring peut être utilisé pour développer une &lt;strong&gt;application web&lt;/strong&gt; secondée par une base de données relationnelle. En somme, rien de révolutionnaire. Mais c’est ce qui fait tout son intérêt : présenter une &lt;strong&gt;architecture logicielle&lt;/strong&gt; respectant &lt;strong&gt;l’état de l’art&lt;/strong&gt; d’une application conçue avec &lt;strong&gt;Spring&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Avec plus de 2000 forks sur GitHub, la communauté a créé de nombreux forks de Spring Petclinic : &lt;strong&gt;Angular&lt;/strong&gt;, &lt;strong&gt;React&lt;/strong&gt;, &lt;strong&gt;REST&lt;/strong&gt;, &lt;strong&gt;Spring Cloud&lt;/strong&gt; … Afin de fédérer cet engouement, l’ &lt;a href="https://github.com/spring-petclinic"&gt;&lt;strong&gt;organisation GitHub Spring Petclinic&lt;/strong&gt;&lt;/a&gt; a été créé sur GitHub en novembre 2016. La version de référence de Spring Petclinic reste sur &lt;a href="https://github.com/spring-projects/spring-petclinic"&gt;https://github.com/spring-projects/spring-petclinic&lt;/a&gt;. Les branches et les forks ont basculé sur &lt;a href="https://github.com/spring-petclinic"&gt;https://github.com/spring-petclinic&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Ce billet a pour objectif de vous présenter cette récente initiative puis de vous présenter les &lt;strong&gt;différents forks&lt;/strong&gt; d’ores et déjà disponible dans l’organisation Spring Petclinic. Mais avant cela, remontons le temps.&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>14 prises de notes à Devoxx France 2014</title><link>https://javaetmoi.com/2014/04/14-prises-de-notes-a-devoxx-france-2014/</link><pubDate>Wed, 23 Apr 2014 15:28:37 +0000</pubDate><guid isPermaLink="false">http://javaetmoi.com/?p=1082</guid><description>&lt;p&gt;En attendant que les vidéos des &lt;a href="http://cfp.devoxx.fr/devoxxfr2014"&gt;différentes conférences de l’édition 2014&lt;/a&gt; de Devoxx France soient mises en ligne sur &lt;a href="http://www.parleys.com/"&gt;Parleys&lt;/a&gt; et en complément des &lt;a href="http://www.parleys.com/"&gt;supports&lt;/a&gt; déjà mis en ligne par certains Speakers, je mets librement à votre disposition les différentes notes que j’ai pu prendre sur mon laptop.
Les sujets sont variés : de Docker à Angular JS, en passant par Java 8. Certaines pourront être lues de manière autonome ; je pense par exemple au quickie &lt;a href="wp-content/uploads/2014/04/Outils-pour-manager-une-%C3%A9quipe.pdf"&gt;Outils pour manager une équipe&lt;/a&gt; et à la conférence &lt;a href="wp-content/uploads/2014/04/33-things-your-want-to-do-better.pdf"&gt;33 things your want to do better&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;a href="wp-content/uploads/2014/04/devoxx-france-2014-les-cast-codeurs.jpg"&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="devoxx-france-2014-les-cast-codeurs"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2014/04/devoxx-france-2014-les-cast-codeurs.jpg"
/&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="devoxx-france-2014-les-cast-codeurs"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2014/04/devoxx-france-2014-les-cast-codeurs.jpg"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;</description></item><item><title>Comprendre AngularJS en le recodant à Devoxx France 2014</title><link>https://javaetmoi.com/2014/04/lab-angularjs-from-scratch-devoxx-france-2014/</link><pubDate>Sat, 19 Apr 2014 08:41:24 +0000</pubDate><guid isPermaLink="false">http://javaetmoi.com/?p=1068</guid><description>&lt;p&gt;Lors de Devoxx France 2013, je découvrais AngularJS lors de l’Université sur AngularJS animée par Thierry Chatel. Enthousiasmé par ce framework, je vous faisais ici même &lt;a href="http://javaetmoi.com/2013/04/angularjs-devoxx-france-2013/"&gt;une restitution de cette Université&lt;/a&gt;. Depuis un an, j’ai poursuivi mon initiation en codant un &lt;a href="http://javaetmoi.com/2014/02/developper-industrialiser-web-app-recherche-angularjs/"&gt;front-end pour Elasticsearch avec Angular&lt;/a&gt;. Lorsque j’ai découvert que &lt;a href="http://swiip.github.io/"&gt;Matthieu Lux&lt;/a&gt; et &lt;a href="https://twitter.com/@olivierhuber"&gt;Olivier Huber&lt;/a&gt; proposaient le &lt;a href="http://cfp.devoxx.fr/devoxxfr2014/talk/FWA-551/AngularJS%20from%20scratch%20:%20comprendre%20Angular%20en%20le%20re-faisant%20de%20z%C3%A9ro"&gt;&lt;strong&gt;Hand’s-on-Lab&lt;/strong&gt; &lt;strong&gt;« Angular JS from scratch : comprendre Angular en le refaisant de zéro »&lt;/strong&gt;&lt;/a&gt; à &lt;a href="http://www.devoxx.fr/"&gt;Devoxx France 2014&lt;/a&gt;, j’y ai vu l’occasion ou jamais d’approfondir mes connaissances et de découvrir les mécanismes se cachant derrière la magie d’Angular.&lt;/p&gt;
&lt;p&gt;&lt;a href="wp-content/uploads/2014/04/2014-04-comprendre-AngularJS-en-le-recodant-photo.jpg"&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="angular-from-scratch-devoxx-france-2014"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2014/04/2014-04-comprendre-AngularJS-en-le-recodant-photo.jpg"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ce workshop a eu un beau succès : une salle comble 10 minutes avant son début et &lt;a href="https://twitter.com/Swiip/status/456721029897781248/photo/1"&gt;une place sur le podium des meilleures sessions de la matinée&lt;/a&gt;.
Pour coder les différents exercices sans avoir à se tourner régulièrement vers les solutions, de solides connaissances en JavaScript étaient nécessaires : héritage par prototype, constructeur, portée du this, couteau suisse underscore (each, clone, isEqual) …
Par ailleurs, pour apprécier la démarche, une connaissance minimaliste d’Angular me paraissait également indispensable.
Durant les 3 heures du Lab, nous avons pu implémenter 11 des 12 étapes prévues initialement (la dernière étant en bonus). Timing parfaitement respecté. Si vous n’avez pas eu la chance d’assister à cette présentation et si vous disposez de 3 heures devant vous, je vous conseille de tenter de le réaliser chez vous.
Les slides du workshop, le code source de départ, les solutions et les tests unitaires sous Jasmine sont disponibles dans le repo Github &lt;a href="https://github.com/zenika/angular-from-scratch"&gt;angular-from-scratch&lt;/a&gt; de Zenika.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="angular-from-scratch-devoxx-france-2014"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2014/04/2014-04-comprendre-AngularJS-en-le-recodant-photo.jpg"
/&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>Elastifiez la base MusicBrainz sur OpenShift</title><link>https://javaetmoi.com/2013/11/musicbrainz-elasticsearch-angularjs-openshift/</link><pubDate>Fri, 15 Nov 2013 19:35:01 +0000</pubDate><guid isPermaLink="false">http://javaetmoi.com/?p=782</guid><description>&lt;p&gt;Pour les besoins d’un workshop sur Elasticsearch, je me suis amusé à &lt;strong&gt;indexer une encyclopédie musicale&lt;/strong&gt; et à mettre en ligne une petite &lt;strong&gt;application HTML 5&lt;/strong&gt; permettant de réaliser des &lt;strong&gt;recherches&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Comme source de données musicale, j’ai opté pour &lt;strong&gt;&lt;a href="http://musicbrainz.org/" title="MusicBrainz Home"&gt;MusicBrainz&lt;/a&gt;&lt;/strong&gt; qui est une plateforme ouverte collectant des méta-données sur les artistes, leurs albums et leurs chansons puis les mettant à disposition du publique.&lt;/p&gt;
&lt;p&gt;Pour indexer les données depuis une base PostgreSQL, j’ai privilégié &lt;strong&gt;Spring Batch&lt;/strong&gt; au détriment d&amp;rsquo;une river. Pour l’IHM, j’ai adapté un prototype basé sur &lt;strong&gt;AngularJS&lt;/strong&gt;, jQuery et Bootstrap qu’avait réalisé &lt;a href="https://twitter.com/lucianprecup"&gt;Lucian Precup&lt;/a&gt; pour la &lt;a href="http://agenda2013.scrumday.fr/event/149"&gt;Scrum Day 2013&lt;/a&gt;. La mise en ligne de l’index Elasticsearch m’aura permis de tester la plateforme Cloud &lt;strong&gt;OpenShift&lt;/strong&gt; de Redhat.&lt;/p&gt;
&lt;p&gt;Cet article a pour objectif de décrire les différentes étapes qui m’ont été nécessaires pour réaliser ma démo et d’expliquer ce que j’ai librement rendu accessible sur &lt;a href="https://github.com/arey/musicbrainz-elasticsearch/blob/musicbrainz-elasticsearch-1.0.0/src/main/java/com/javaetmoi/core/batch/item/EsDocumentWriter.java"&gt;GitHub&lt;/a&gt; et &lt;a href="http://musicsearch.javaetmoi.com/"&gt;Internet&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="logo-musicbrainz"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2013/11/logo-musicbrainz.jpg"
/&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>