Soirée FinistJUG du 15 mars : Et si on codait un bot ? & Une app social pour Devoxx

Pour notre soirée du mois de Mars, le FinistJUG et le GDG Finistère avons le plaisir de vous proposer une soirée très pratique avec deux talks basés sur du live coding.

LE PROGRAMME DE LA SOIRÉE

Et si on codait un bot ?

Depuis 2016, on entend parler des assistants conversationnels partout. Et pourtant ils ne font qu’arriver. Messenger, Slack, Assistant, Alexa, … Toutes ces plateformes appâtent et retiennent vos utilisateurs.

Comment pouvez vous donc profiter du temps passé sur ces outils pour développer votre audience et fournir des services simples et innovants ?

En sortant de cette session, vous aurez toutes les clefs en mains pour développer l’agent conversationnel qui transformera la vie de vos utilisateurs.

Stéphane Castrec est développeur à l’innovation du Crédit Mutuel Arkéa pour allier le meilleur de l’usage et de la technologie au service de nos clients. 

Une appli social pour Devoxx

En Octobre dernier j’ai refait le site web de Devoxx Belgique sous la forme d’une Progressive Web App, pour montrer les possibilités de la technologie. Et suite à ce projet les organisateurs de Devoxx m’ont posé un challenge : faire une application permettant aux sponsors et si possible au public de Devoxx de faire de la prise de contact en scannant le badge d’autres assistants à la conférence. 

Le front de l’application devait être full PWA, fonctionnant sur Chrone, Firefox, Edge et Safari, sur ordinateur, smartphone et tablette. Bien entendu, avec un mode offline et accès direct à l’appareil photo pour le scan de badges (y compris sur iOS). Le tout s’appuyant sur un back en Play Framework de Devoxx pour les profiles et sur un Warp10 pour l’historisation.

Dans cette séance je vais vous live coder la version minimale de cette appli front, avec le scan de badges, la liste de contacts, les détails de chaque contact et le mode offline. Le tout en utilisant la puissance des composants web (what else?).

Malgré ce que son accent espagnol bien prononcé peut suggérer, Horacio Gonzalez est arrivé en France il y a une quinzaine d’années déjà. Passionné d’informatique, dans laquelle il est tombé depuis tout petit, il a découvert Java en 1997 et depuis il n’a pas arrêté de bosser autour.

Après quelques années comme architecte technique au Crédit Mutuel Arkea, Horacio travaille actuellement à Cityzen Data, entreprise spécialisée dans la collecte, stockage et traitement de données des capteurs. Il est aussi leader et cofondateur du GDG Finistère et du FinistJUG (le JUG français le plus proche de la Silicon Valley !) et il a été nommé Google Developer Expert en technologies web.

INFORMATIONS PRATIQUES

La soirée se passera donc le mercredi 15 mars à partir de 18h30 dans les nouveaux locaux de La Cantine Brest, aux Ateliers des Capucins (25 Rue de Pontaniou, juste à la sortie de Téléphérique côté Rive Droite). 

Important : Si vous arrivez après 19h, allez au p.c. sécurité des Capucins et dites que vous venez au JUG.

L’entrée est libre et gratuite, comme d’habitude, mais nous vous demandons de vos inscrire à l’avance pour nous aider à gérer l’aspect logistique (et l’apéro, bien entendu). Le tirage au sort de la licence IntelliJ se fera parmi les personnes inscrites, bien entendu.

LE TIRAGE AU SORT ?

Et oui, vous le savez bien, grâce à notre partenariat avec JetBrains nous avons une licence de IntelliJ Idea à offrir pendant la soirée. IntelliJ est considéré par beaucoup de développeurs comme le meilleur éditeur Java actuel. Sa version Community est gratuite, et elle permet de voir pourquoi tant de développeurs aiment cet IDE (d’ailleurs, le nouveau éditeur Android, Android Studio est basé sur cette version Community d’IntelliJ).

Et comme la dernière fois nous n’avons pas eu de tirage, nous vous proposons un tirage double pour cette soirée, deux licences seront mises en jeu.

Soirée NativeScript et retours sur Devoxx – Mardi 1er décembre

Notre soirée de novembre a subi un léger décalage et se tiendra le mardi 1er décembre. Au menu, une introduction à NativeScript, un framework open-source permettant de développer en JavaScript des applications natives iOS et Android, mais aussi un retour d’expérience sur la dernière édition de Devoxx, qui s’est tenu en Belgique à la mi-novembre.

Le programme de la soirée

1 – NativeScript

Horacio Gonzalez

En mai 2015, Telerik, une entreprise bulgare spécialisée dans les outils de développement, a lancé son framework de développement d’applications mobiles natives dénommé NativeScript. NativeScript est une plateforme Open source permettant aux développeurs de concevoir des applications mobiles natives capables de fonctionner sur iOS, Android et Windows Universal, cela en n’utilisant que du JavaScript.

Introduction à NativeScript

NativeScript

NativeScript apporte une bonne intégration entre JavaScript et les écosystèmes natifs iOS, Android et Windows existants. Il prend en charge les bibliothèques JavaScript ainsi que les bibliothèques natives Objective-C, Java et .NET existantes. Il ne nécessite pas non plus de connaissance des langages de programmation spécifiques aux applications iOS, Android ou Windows Phone pour réutiliser les bibliothèques associées, leurs APIs sont disponibles en JavaScript, grâce à la NativeScript Modules Layer qui permet de convertir les API des plateformes spécifiques en JavaScript natif.

Nous avons prévu faire un bootcamp NativeScript à la Cantine, mais en attendant nous allons vous présenter les principes de NativeScript ainsi que quelques exemples simples d’utilisation.

Malgré ce que son accent espagnol bien prononcé peut suggérer, Horacio Gonzalez est arrivé en France il y a une quinzaine d’années déjà. Passionné d’informatique, dans laquelle il est tombé depuis tout petit, il a découvert Java en 1997 et depuis il n’a pas arrêté de bosser autour.

Après quelques années comme architecte technique au Crédit Mutuel Arkea, Horacio travaille actuellement à Cityzen Data, entreprise spécialisée dans la collecte, stockage et traitement de données des capteurs. Il est aussi leader et cofondateur du GDG Finistère et du FinistJUG (le JUG français le plus proche de la Silicon Valley !).

1 – Retours sur Devoxx

Au fil des années, Devoxx est devenue la conférence de référence dans le l’univers Java. Restant généraliste, il offre un éventail assez large des tendences et nouveautés autour de Java dans un sens large, du côté embarqué au web, du client riche au technos serveur, de la JVM aux briques d’outillage.

Dans cette deuxième parti de soirée nous allons essayer de vous faire un retour sur ce qui a été la Devoxx 2015, qui s’est tenu à Anvers à la mi-novembre. Nous vous parlerons des choses qui nous avons vu, de ce qui nous a plu et ce qui nous a plu, de ce qui nous a étonné, de dce qui nous a déçu.


Informations pratiques

La Cantine

La soirée se passera le mardi 1er décembre à La Cantine Brest, dans les locaux de la Faculté des Lettres et Sciences Humaines (20 rue Duquesne, au centre ville de Brest), à partir de 18h30.

L’entrée est libre et gratuite, comme d’habitude, mais nous vous demandons de vos inscrire à l’avance pour nous aider à gérer l’aspect logistique (et l’apéro, bien entendu). Le tirage au sort de la licence IntelliJ se fera parmi les personnes inscrites, bien entendu.

Le tirage au sort ?

JetBrains

Et oui, vous le savez bien, grâce à notre partenariat avec JetBrains nous avons une licence de IntelliJ Idea à offrir pendant la soirée. IntelliJ est considéré par beaucoup de développeurs comme le meilleur éditeur Java actuel. Sa version Community est gratuite, et elle permet de voir pourquoi tant de développeurs aiment cet IDE (d’ailleurs, le nouveau éditeur Android, Android Studio est basé sur cette version Community d’IntelliJ).

Inscriptions

Les inscriptions à l’événement se font via EventBrite :

Il y a aussi un Evénement G+ sur lequel pour pouvez vous inscrire, si vous préférez ce système.

Venez nombreux, passez l’information autour de vous. Aidez-nous à que toutes les personnes potentiellement intéressées reçoivent l’information !

Devoxx jour 2

J’avais commencé la Devoxx 2011 avec la ferme intention de faire des comptes rendus journaliers. Et comme souvent, le plan n’a pas survecu au contact avec la réalité. Entre un WiFi extrêmement irrégulier, des journées très chargées et des soirées passées à socialiser plutôt qu’à faire le geek dans mon coin, je n’ai pas réussi à tenir mon planning.

Horacio@FinistJUG devant le booth Google

Horacio@FinistJUG devant le booth Google

Après une petite balade par le hall d’expositions et quelques photos, le deuxième jour de la Devoxx est bien démarré avec une session sur méthodologie et software craftsmanship : The Well-Grounded Java Developer, par Ben Evans et Martijn Verburg, sur l’évolution du métier de développeur en général et de développeur Java en particulier.
Ils passaient en revues des sujets qui deviennent centraux pour un développeur Java : parallélisation et concurrence, programmation fonctionnelle, modularité…lIls soutenaient que les développeurs ne peuvent plus se permettre de se reposer sur leurs acquis, et il recommandait d’apprendre au moins un nouveau langage et trois ou quatre frameworks par année, afin d’avoir une certaine perspective globale sur le développement, car seulement en ayant cette perspective on peut faire des choix informées.

The Well-Grounded Java Developer - Ben Evans et Martijn Verburg

The Well-Grounded Java Developer – Ben Evans et Martijn Verburg

D’ailleurs, dans deux mois ils sortiront un livre avec le même titre chez Manning, et vous pouvez déjà avoir un résumé dans un article qu’ils viennent de publier sur The Java Magazine (disponible gratuitement), The poligloth programmer. A montrer à votre chef la prochaine fois qu’il vous disse de ne faire que du Java…

The Well-Grounded Java Developer - Ben Evans et Martijn Verburg

The Well-Grounded Java Developer – Ben Evans et Martijn Verburg, photo de l’album officiel Devoxx

Avec toutes ces idées en tête, je suis descendu au hall chercher le repas, assez frugal comme d’habitude à Devoxx :

Pause midi frugale

Pause midi frugale

Je ne me suis pas donné le temps de le manger tranquillement, car le Quickie suivant commençait déjà, When code gets older – Tips for keeping maintenance projects alive and kicking. Quinze minutes de présentation par Sven Peters, d’Attlassian, qui expliquait, d’une façon assez drôle et caustique, pourquoi le code devenait inmaintenable et obsolète avec le temps, et qui donnait des suggestions pour essayer d’éviter ce processus, d’une façon assez pragmatique.

Sven Peters - When code gets older – Tips for keeping maintenance projects alive and kicking

Sven Peters – When code gets older – Tips for keeping maintenance projects alive and kicking

Sven vient juste de me dire par Twitter que ses slides sont disponibles.

Après cette pause midi assez qui n’était vraiment pas une, je suis allé à Building Android Applications for Performance and Usability par Bruno Oliveira, développeur Android chez Google. Sa conférence avait deux parties clairement différentes.

Building Android Applications for Performance and Usability - Bruno Oliveira

Building Android Applications for Performance and Usability – Bruno Oliveira

La première, très générique (pouvant s’appliquer à n’importe quel UI mobile), passait en revue des bons pratiques pour la conception des interfaces d’utilisateur mobiles. La deuxième, beaucoup plus technique et centré sur Android, donnait des conseils pour améliorer la performance des applications, éliminer des goulots d’étranglement et rendre les applis plus fluides, ainsi que des outils pour aider à analyser et corriger des problèmes de performance.

Building Android Applications for Performance and Usability - Bruno Oliveira

Building Android Applications for Performance and Usability – Bruno Oliveira, photo de l’album officiel Devoxx

Ensuite j’ai assisté à un Tools in Action par John Smart, Jenkins: From Continuous Integration to Continuous Delivery. J’avais déjà vu une présentation de Smart à Devox l’année dernière, sur le déploiement continu, et j’appréciais sa façon de présenter. Sa session de cette année m’a conforté dans mon avis, une présentation claire qui challengeait certaines idées pré-conçues (en nous invitant, par exemple, à tenir des différentes branches de fonctionnalités et profiter de Git et Jenkins pour garder tout ordonné, intégré et testé).

Jenkins: From Continuous Integration to Continuous Delivery - John Smart

Jenkins: From Continuous Integration to Continuous Delivery – John Smart, photo de l’album officiel Devoxx

Si vous voulez regarder un peu plus en détail, les slides de la conf sont aussi disponibles en ligne.

La journée de conférences continuait avec un Fireside Chat, un débat informelle avec Tim Bray, Cameron Purdy, Mark Reinhold et Henrik Ståhl. Un gars de Google (Bray) et trois gars d’Oracle, le débat est presque tourné au règlement de comptes, mais Tim Bray étant assez doué, le pire a été évité. Un moment agréablement geek en voyant ces quatre développeurs discuter sur le présent et le future de Java.

Fireside Chat - Tim Bray,  Henrik Ståhl, Mark Reinhold et Cameron Purdy

Fireside Chat – Tim Bray, Henrik Ståhl, Mark Reinhold et Cameron Purdy

Ensuite, pour bien finir la journée, j’ai assisté au BOF bien frenchy par Nicolas Martignol et Nicolas Leroux : Let’s Play! with Scala. Et c’est parti pour une heure de bon humeur autour de deux de mes sujets favoris, Play Framework et de Scala. Apparemment, l’accent français des deux Nicolas rendait la session encore plus sympathique, car exotique, mais je ne suis pas doué pour les accents 😉 En tout cas, une séance bien ficelée, pratique et utile.

Après le BOF on est rentré à l’hôtel, en bavardant avec Guillaume Scheibel, du ElsassJUG. Ensuite on est parti dîner, encore au Kelly’s (le pub irlandais près de la gare), où on été rejoint par des autres groupes de français et par deux collègues qui arrivaient de Brest pour la deuxième partie de la Devoxx. Une très bonne soirée, encore avec une hamburger géante, quelques pintes de Guinness et du bavardage sur la technique et aussi sur le métier d’informaticien.

Bref, une autre excellente journée, riche en découvertes.

Devoxx France !

Hier mercredi, dans la première keynote de la troisième journée de Devoxx, il y a eu une annonce inespéré : au mois d’avril 2012 il y aura une Devoxx France à Paris !

Devoxx France !

Sur le modèle de la conférence mère, cette Devoxx France se fera sur plusieurs jours, du 18 au 20 avril 2012, avec un format semblable : un jour d’université et deux jours de conférence.

Si vous voulez plus d’information, allez voir le site de Devoxx France et suivez-le sur Twitter !

Bien sûr, depuis FinistJUG on soutient à fond cette initiative, et on essayera d’aider un maximum pour que ça soit un énorme succès !

Devoxx jour 1 (III)

Troisième et dernière partie de mon compte-rendu de la première journée de Devoxx. La première partie est ici, la deuxième est .

Je m’était arrêté après la présentation Vaadin-Scala-HTML5. Ensuite, comme d’habitude, encore un café (punaise, je suis accro !), et rapidement j’ai filé vers le dernier Tools in action de la journée. Dans mon cas, j’avais choisi GlassFish : Application versioning and high-availability rolling upgrade, par Marian Muller.

Au travail je n’utilise pas GlassFish encore 😉 ), plutôt Tomcat avec quelques Jetty et JBoss par-ci et par-là. Mais le sujet de la présentation en soi était très intéressant pour moi, car les mises en production sans interruption de service, le versionng des livrables et les retours en arrière rapide sont des sujets très sensibles, surtout dans un environnement bancaire.

Marian nous a présenté comment la nouvelle version de GlassFish va permettre de gérer ce cycle de déploiement de façon native et très simple. Bien sûr, avec l’outillage qui va bien, il est possible de faire la même chose, voire mieux, sur Tomcat… mais il faut construire (et ensuite maintenir et faire évoluer) cet outillage. Il faudra que je regarde si sur les dernières versions de Tomcat ou Jetty ils incorporent ce type d’outil…

Après cette session, j’ai hésité à rentrer à l’hôtel, la journée avait été chargé et les BOFs (discussions plus informelles du soir, dans des petites salles) ne m’intéressaient pas trop. Mais je me suis donné du courage et je suis resté au BOF de Vaadin.

Normalement c’était une rencontre pour des utilisateurs de Vaadin, et moi je voulais surtout le découvrir et le comparer avec notre approche full GWT. Mais je me suis dit qu’il serait un bon moment pour initier la conversation avec des gurus Vaadin et avoir quelques pistes pour notre réflexion.

Et quelque part ça a marché, même très bien. Je suis sorti de là avec un bouquin sur Vaadin (et un t-shirt), quelques réponses, encore plus de questions et une certitude : il faut que je teste Vaadin, mais pas qu’un Hello World: mais une vrai POC sur des vrais problématiques, afin de pouvoir confirmer (ou pas) les premières impressions. Car de mon point de vue de développeur GWT, Vaadin semble la même chose mais beaucoup plus simple…

Et après Vaadin, on a décidé que la journée a été bien chargée, et on a pris le tranway pour l’hôtel. Ensuite, pour bien fini la journée, on est allé dîner avec les JUGers français à un pub irlandais près de la gare. Un dîner donc très geek, entre développeurs, des gars qui aiment coder, qui aiment la technique, qui n’aspirent pas à devenir des chef de projet, remplir des tableurs de plannings, ou partir à une MOA quelconque…

Bref, un très bon moment de partage, avec quelques bières et un énorme hamburger pour le rendre encore meilleur.

Bila de la journée ? Très positif ! Malgré un début un peu décevant, le reste des sessions ont été très intéressantes, les échanges enrichissants et le dîner entre JUGers a été la cerise sur le gâteau.

Devoxx jour 1 (II)

Attaquons maintenant la deuxième partie de la première journée de Devoxx. Et si la première session était un peu décevante, la situation s’est rapidement amélioré, comme vous allez voir.

Après la pause midi (potage, sandwich et beaucoup de café), je suis allé à la session Android Awesomeness, par Romain Guy, Chet Haase et Philippe Milne, de Google.

Romain Guy et Chet Hesse dans Android Awesomeness présentation

Romain Guy et Chet Hesse dans Android Awesomeness présentation

La présentation a été un vrai régal, un sujet très attirant, des speakers très motivés, maîtrisant parfaitement leur sujet (après tous ils sont dans l’Android Team chez Google 😉 ), avec un vrai sens de la communication et une bonne dynamique. Ils ont présenté Android 4.0 Ice Cream Sandwich (ICS), ses nouveautés autant du point de vue de l’utilisateur que du développeur. Ensuite, ils sont rentré dans le détail du Grid Layout pour la définition des interfaces d’utilisateur, et ils sont fini avec une partie encore plus technique (yeah!) avec des outils de diagnostique système et mémoire pour Android.

Bref, une session très intéressante, un grand regain de motivation et envie de me remettre à Android et enfin coder une appli qui vaille la peine.

Une pause café encore et c’est reparti, cette fois pour une séance d’une demi-heure Tools in action, dans mon cas Using Vaadin to create HTML5-enabled webapps in Scala, par Henri Muurimaa. Le titre avait l’air accrocheur, avec plein de mots clés différentes, mais j’ai fait confiance et je suis allé… et je n’ai pas regretté, au contraire !

Henri Muurimaa codant en live un Game of Life

Henri Muurimaa codant en live un Game of Life

Depuis plus de deux ans et demi, je travaille avec GWT, et j’en suis très content. J’ai des collègues qui m’ont parlé de Vaadin, de sa relation avec GWT, de comment ça semble plus simple et intuitif. J’avais un peu regardé, fait un exemple ou deux, mais faute de temps, j’avais mis de côté. Je me suis donc dit que cette présentation pouvait être le bon moment pour apprendre plus sur Vaadin. Et en plus, fait avec Scala, que j’aime beaucoup, et générant du HTML5…

Et là, je dois dire que j’ai été bluffé. Dans une petite demi-heure, le gars a expliqué les principes de base de Vaadin et il a codé en direct un Jeu de la Vie de Conway en quelque cinquante lignes de Scala, tout compris.

Définitivement, il faut que je teste Vaadin sérieusement…

Encore une pause café (caaaaaaaaafééééééé), et le deuxième Tools in action commence. La je vais à une session technico-technique : Are your GC logs speaking to you, par Ben Evans. A priori, Mr. Evans n’était pas censé être le speaker de cette conférence, il a appris avec seulement deux heures d’avance qu’il devait remplacer le speaker. Et je dois dire qu’il a fait un super boulot avec ce remplacement !

Ben Evans expliquant les pools de mémoire en Java

Ben Evans expliquant les pools de mémoire en Java

D’abord il a présenté d’une façon très interactive les modèle de gestion de mémoire de la JVM. Ensuite il est parti sur l’analyse des logs du Garbage Collector, avec somme Puzzlers pour montrer par l’exemple la façon d’analyser ces log. Présentation donc très technique, et très intéressante.

Pour le reste de la journée, il faudra attendre, ma prochaine session va démarrer…

Devoxx jour 1 (I)

Quelques retours rapides sur ma première journée à Devoxx. Dans cette première journée, j’ai assisté à deux sessions de type University (durant trois heures chacune), à trois sessions Tools in action de trente minutes chacune et à un BOF d’une heure.

Je pars vers le centre de conférences, avec mon t-shirt FinistJUG

Je pars vers le centre de conférences, avec mon t-shirt FinistJUG

La première session était Scala crash cours. Elle était divisé en deux parties.

La première, Part 1: Scala: where objects and functions meet, presenté par Mario Fusco, était censé introduire le langage Scala, en exposant ses particularités et en le comparant à d’autres langages connus. Il a surtout comparé avec Java (pour le côté orienté objet), Groovy(pour la concision et le typage) et Erlang (pour l’aspect fonctionnel). Le présentateur n’était pas trop dynamique, et à mon sens il ne montrait pas vraiment les possibilités du langage, il se limitait à lister des features.

Scala crash course... crashed, IMHA

Scala crash course… crashed, IMHA

La deuxième, Part 2: Scala as an Agile Enabler, par Kevin Wright était assez décevante. Quelques lignes de live coding, du blabla, des phrases surréalistes (« je ne sais plus quoi dire d’autre alors je vais meubler jusqu’à la fin ») et une attitude globalement nonchalante. Ce qui m’attriste le plus, c’est que pour beaucoup de monde, c’était leur première introduction à Scala et cela risque de les détourner du langage, pourtant très intéressant et avec plein de possibilités.

La journée démarrait donc pas super bien… mais c’était sans compter avec le reste des sessions, qui ont largement compensé ce début.

Mais je vous raconterait tout ça dans la deuxième partie.