lundi, décembre 11, 2017

Liens pratiques de la semaine (le retour)

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java et autres qui m'ont particulièrement intéressées ces dernières semaines. Pour la plupart des entrées, je les ai déjà diffusées via Twitter https://twitter.com/mickaelbaron.

Java
  • Java 9 est disponible. Ok ce n'est pas tout neuf mais une news avait été rédigée sur le site de Developpez.com.
  • GWT 2.8.2 est disponible avec la possibilité de compiler les projets GWT avec une JDK 9. Attention les fonctionnalités Java 9 ne sont pas encore supportées par GWT. Mes applications sont encore en 2.8.0...
  • DuctTape est une bibliothèque permettant la gestion des erreurs quand vous avez du code qui doit accéder à des API externes. Grosso-modo, vous pouvez expliciter quoi faire quand interroger un service web qui ne répond pas tout de suite (retenter au bout de X secondes...).
  • Une nouvelle version pour JITWatch, un outil de profiling de la JVM.
  • Pour utiliser Docker depuis Java, différentes bibliothèques sont disponibles : DockerJava utilisé dans TestContainers, DockerClient proposé par Spotify et dernièrement Jocker. Pour ce dernier, l'objectif est d'utiliser le moins de dépendance Maven possible.
  • JUnit 5 est désormais disponible. Allez faire un tour sur le documentation en ligne très riche.
  • Jocker est une nouvelle API pour communiquer depuis Java vers les services Docker. Sinon il existe DockerJava utilisé par TestContainers, DockerClient proposée par Spotify, un peu plus éloigné Fabric8io ou docker-client pour le langage Groovy.
  • Simple Theme Plugin est un plugin pour rendre plus joli son Jenkins.
Eclipse
Divers
  • De très bons tutoriels vidéos pour comprendre Git. Celui sur le reset est très bien fait.
  • L'outil Docify permet de générer des documentations techniques à partir de document Markdown.
  • J'expérimente depuis peu l'écosystème ArduPilot. Comme je commence à me Dockeriser à l'extrême, j'ai réalisé une version conteneur du simulateur SITL (Software In The Loop). Dans le dépôt Git il est expliqué comment utilisé l'option console pour avoir l'interface graphique.
  • Pour gérer les fenêtres sous MacOS, j'utilisais SizeUP qui était payant. Une alternative gratuite et OpenSource est disponible via Spectacle.  
  • Si vous souhaitez tester la première version d'Unix (1972), vous pouvez par l'intermédiaire de Docker.
  • 10 animations sympathiques à faire avec HTML5
  • Faire de son crack en informatique avec l'animation Hollywood. Saisir cette commande docker run -it --rm jess/hollywood
  • gtop est une version graphique (en mode texte) de l'application Linux top




jeudi, juillet 20, 2017

Liens pratiques de la semaine (très longue semaine...)

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java et autres qui m'ont particulièrement intéressées ces dernières semaines. Pour la plupart des entrées, je les ai déjà diffusées via Twitter https://twitter.com/mickaelbaron.

Java
  • Un tutoriel pour comprendre les bases avec RxJava 2.
  • Un billet sur la bibliothèque Quartz pour la planification de tâches
  • Une série d'articles sur Java Command-Line Interfaces, une bibliothèque pour parser les paramètres de la ligne de commande (billet 1, billet 2, billet 3, billet 4, billet 5, billet 6 et billet 7)
  • Un article sur VertxUI, une bibliothèque pour traiter les pages web pour VertX.

Docker
  • Une application web pour l'apprentissage de Docker. Basée sur des exemples concrets et une console pour expérimenter, cette application est vraiment bien faite. 
Divers
Big-Data
  • Un tutoriel d'une introduction au monde du Big Data


vendredi, avril 21, 2017

Liens pratiques des semaines

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java et autres qui m'ont particulièrement intéressées ces dernières semaines. Pour la plupart des entrées, je les ai déjà diffusées via Twitter https://twitter.com/mickaelbaron.

Java

  • Nudge4J est une solution permettant d'utiliser une JVM depuis son navigateur. Cette solution s'appuie sur un serveur où la JVM est installée.
  • Une très bonne introduction à cglib, une bibliothèque Java connue pour la génération de code.
  • Un benchmark de performance pour JavaFX. Les applications de test ressemblent aux Demomakers de l'époque Amiga et Atari.
  • JITWatch est un outil pour analyser la compilation JIT de HotSpot. 
  • Une introduction rapide sur JiBX, une bibliothèque pour faire du binding XML vers des objets Java.
  • Une introduction sur Ratpack, une bibliothèque de type microservice Java.
  • Une introduction sur Javaassist, la bibliothèque de manipulation du bytecode Java. 
  • Un billet qui montre comment utiliser les WebSockets avec GWT et Spring Boot Server.
  • Un billet qui présente une introduction à Google Guice, la bibliothèque d'injection de dépendance.
  • Un billet qui présente comment manipuler les WebSockets avec Java.
  • Une présentation rapide du prochain REPL proposé par Java 9.
  • Une présentation rapide d'une nouvelle API pour Java 9 pour exécuter des processus externes. En gros cela va compléter (rendre obsolète) le simpliste Runtime.getRuntime().exec().  
  • TweetwallFX est une application qui permet d'afficher les Tweets et images relatifs à un hashtag donné. Cette application a été utilisée lors de la précédente édition de DevoxxFR.

Eclipse

  • La suite de la série de billets qui montre comment utiliser le framework de modélisation EMF sur EclipseCHE : billet 4.
  • La prochaine version d'Eclipse sera Eclipse Photon

Divers

  • Un article qui résume bien l'Unicode
  • PoisonTap permet d'exploiter une faille pour prendre le contrôle d'un Windows, Mac OS ou Linux.
  • Animista est un outil en ligne permettant de construire graphiquement ses animations CSS.
  • Une présentation complète sur Homebrew, l'outil de gestion alternative de packages sous MacOS X.
  • SimpleDB est une base de données pédagogique. Une base de données codée en Java et qui montre comment réaliser les principales fonctionnalités d'un SGBD.
  • AutoDraw est un logiciel de dessin qui permet de reconnaitre les formes que vous dessinez.
  • Kanboard est un outil pour faire du Kanban, une alternative à Trello et Wekan








lundi, février 27, 2017

Liens pratiques de la semaine (premier billet 2017 !!!)

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java et autres qui m'ont particulièrement intéressées ces dernières semaines. Pour la plupart des entrées, je les ai déjà diffusées via Twitter https://twitter.com/mickaelbaron

Eclipse
Java
  • Mise à jour du look & feel Substance bien connu des développeurs Swing. Le projet Github de la bibliothèque : https://github.com/kirill-grouchnikov/substance
  • Vue-GWT est une adaptation de Vue.JS pour GWT
  • Un billet de blog qui présente 25 astuces sur Java.
  • Un billet qui montre comment construire un gros Jar avec Maven contenant des classes identiques mais fonctionnant avec différents JVM => Multi-Release Jar
Docker

  • Des astuces pour utiliser convenablement Docker

Divers
  • Un billet de blog qui montre comment faire joujou avec des conteneurs Windows avec Docker pour Windows Server 2016
  • Node-RED permet de développer et déployer graphiquement des scénarios d'automatisation dans l'univers de l'internet des objets
  • Hostess est un outil en ligne de commande qui permet de gérer son fichier /etc/hosts
  • Un blog qui contient plein de ressources pour Linux
  • Shellcheck est un analyseur de script shell
  • Pexels est un site où les photos sont libres de droit
  • Hyper un terminal multi-platforme via Node.js
  • Un billet qui explique comment monter un tunnel SSH pour détourner certaines restrictions 
  • Un bonne introduction au Machine Learning par James Weaver (expert JavaFX)
  • Des astuces bien utiles pour invoquer un service web en POST avec CURL
  • 10 excuses de programmeurs qui ne trouvent pas d'utilité aux tests unitaires

dimanche, décembre 18, 2016

Liens pratiques des dernières semaines

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java et autres qui m'ont particulièrement intéressées ces dernières semaines. Pour la plupart des entrées, je les ai déjà diffusées via Twitter https://twitter.com/mickaelbaron

Eclipse
  • Un nouveau plugin pour développer avec Eclipse et GWT.
GWT
  • Un billet qui présente une recette pour correctement décomposer son application web GWT en plusieurs modules Maven.
Divers
  • Un atelier vidéo sympathique pour faire du Docker sur un RaspberryPI.
  • Caddy un nouveau serveur web compatible HTTP/2. La certification HTTPS est automatique via Let's Encrypt.
  • Oh My Zsh, basé sur le shell Zsh est un shell super vitaminé : à installer sur tout nouveau système basé sur Linux/Unix.
  • Un très bon tutoriel sur Let's Encrypt.
  • FileZ est un outil à déployer sur son serveur qui permet de publier de gros fichiers. Cela permet de répondre à la problématique : "comment te partager un gros fichier".
  • Faker.js est un bibliothèque JS qui permet de générer des données.

Joyeuses fêtes ami(e)s informaticien(ne)s et pleins d'astuces et de bonnes bibliothèques pour 2017 !!!


jeudi, octobre 27, 2016

Liens pratiques des dernières semaines

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java et autres qui m'ont particulièrement intéressées ces dernières semaines. Pour la plupart des entrées, je les ai déjà diffusées via Twitter https://twitter.com/mickaelbaron

Java

  • Un billet qui montre l'utilisation de JWT (à ne pas confondre avec GWT) et de JAX-RS. JWT est un standard pour l'échange de données de manière sécurisée. En gros cela remplace les cookies et les tokens. Le code source de l'exemple complet.

Eclipse

  • Pour tester un bout de code en Java, il faut faire un projet, une classe et une méthode main. En utilisant les Scrapbook vous pouvez copier/coller du code et l'exécuter par sélection. Un billet de blog qui explique tout cela.
  • Eclipse 4.7 M2 est disponible depuis septembre 2016. Cette version se concentre sur l'utilisabilité.

GWT

  • GWT 2.8 est disponible (source 1 et 2). Au menu, support de Java 8, JSInterop pour faciliter l'utilisation des bibliothèques JS existantes, Guava utilisable dans la partie cliente, CSS3 avec GSS et un super Dev Mode amélioré. 
  • GWT-Numeral est un wrapper pour la bibliothèque JS Numeral qui sert à formatter et manipuler les nombres.
  • GWT-SoundJS est un wrapper pour la bibliothèque JS CreateJS qui permet d'utiliser du son.
  • Un billet de blog qui explique comment utiliser Docker pour faire un build d'une application GWT et comment exécuter une application GWT avec une image utilisant Jetty.
  • Un billet de blog qui montre les alternatives au système RPC utilisé par GWT, les alternatives focalisent essentiellement sur des API Rest. GWT a été créé trop tôt, RPC était hyper à l'époque ;-)

BigData

  • Un très bon billet qui montre comment utiliser conjointement Hadoop et ElasticSearch. Pour le premier c'est surtout pour les aspects stockages distribués.

JavaScript

  • FlipClock.js est une bibliothèque JavaScript qui montre de manière élégante une horloge. Vous pouvez vous en servir comme compteur.
  • Un billet simple mais efficace sur l'usage des variables d'environnement dans AngularJS. Avec cette explication il est facile d'externaliser l'URL d'un backend. Pratique si vous utilisez Docker pour le déploiement, il suffit de donner un fichier env.js lors de la construction du conteneur.

Docker

  • Des astuces pour réduire la taille de vos images Docker.
  • Un billet qui montre comment utiliser un ElasticSearch avec Docker.
Divers

  • OpenShot est un logiciel de montage vidéo gratuit et Open Source 
  • Si vous souhaitez configurez l'installation de votre Raspberry PI (Wifi activé avec le bon mot de passe...) en utilisant un DSL proche de Scratch, PiBakery est fait pour vous.
  • Insomnia est un outil pour faire des tests de services Rest. Il est agréable à utiliser et la version gratuite est suffisante pour faire de petits tests.
  • Un billet de blog qui explique très simplement l'injection de dépendance.
  • Depuis PostgreSQL 9.5, il existe le support de TableSample qui permet de générer aléatoirement des données pour une table. Ce billet de blog explique son utilisation. 
  • Le projet Jupyter permet d'avoir un environnement d'exécution en live d'un langage de programmation donné dans une application web. En gros, si vous cherchez le moyen de fournir des bouts de code exécutables en live, ce projet est fait pour vous. À noter qu'il existe une version expérimentale pour Java via l'utilisation du REPL du prochain Java 9.
  • Une bonne explication de la licence LGPL.

jeudi, septembre 22, 2016

Liens pratiques des dernières semaines

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java et autres qui m'ont particulièrement intéressées ces dernières semaines. Pour la plupart des entrées, je les ai déjà diffusées via Twitter => https://twitter.com/mickaelbaron

Eclipse
  • Une série d'articles sur Oomph, le configurateur d'installation d'Eclipse.

Java
  • PlayN est une bibliothèque graphique Java pour le développement de jeux vidéos.
  • Pi4J, la bibliothèque pour manipuler les entrées/sorties d'un Raspberry PI, est disponible en version 1.1
  • Une astuce pour créer de gros Jar avec le plugin Shade (votre code source + les bibliothèques tiers).  
GWT
  • Une liste d'archetypes Maven pour la création de projet GWT.
  • Une page Zeef qui référence toutes les ressources pour GWT.
  • Une autre série d'archetypes Maven pour la création de projets GWT dédiés à la création de projet GWT Polymer. 
Docker
  • Un billet qui montre que la création d'images à partir d'une base Alpine réduit la taille finale.
  • Un billet qui montre comment utiliser les applications Linux avec interface graphique sous Mac via l'utilisation d'un serveur X.
Divers
  • Tails est une distribution Linux pour garder l'anonymat, penser à créer une version bootable avec une clé USB.
  • Un billet de Korben qui présente les différents outils pour lancer une commande sur plusieurs serveurs Linux en même temps.
  • Un article qui présente l'éco-système Hadoop.
  • Pour faire du JavaScript et de l'AngularJS, j'utilise Visual Studio Code. Afin de prendre en compte toutes les directives AngularJS sous VSC, ce billet explique comment bien configurer.
  • Un émulateur sympathique Android : LeapDroid.

dimanche, août 07, 2016

Liens pratiques des dernières semaines

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java et autres qui m'ont particulièrement intéressées ces dernières semaines. Pour la plupart des entrées, je les ai déjà diffusées via Twitter.

Eclipse
  • EMF-REST permet d'exposer son modèle EMF à travers une API REST.
Java
  • Lagom est un framework pour développer des microservices.
  • JAXRS-Analyser permet d'analyser le bytecode pour créer de la documentation de projet REST.
  • 10 exemples pour lire un fichier texte en Java.
  • Un billet qui montre comment utiliser Node.JS depuis la JVM. Ceci est rendu possible via l'utilisation de J2V8, un binding vers Java du moteur JavaScript V8 de Google.
GWT
  • GWTY-Leaflet est un portage de Leaftlet (bibliothèque JavaScript pour la manipulation de carte OpenStreetMap) sur GWT par l'intermédaire de JsInterop. Vous trouverez ici, un exemple d'utilisation de cette bibliothèque.
  • GWTReact est un portage de React pour GWT.
  • GWT-JQuery est un portage de JQuery pour GWT.
Docker
  • Un billet qui montre des astuces pour nettoyer son instance de Docker.
  • Un tutoriel pour apprendre les bases de Docker.
  • Un billet qui montre comment notifier la présence d'un nouveau périphérique USB dans un conteneur Docker.
  • Un article très complet sur Docker, un must pour les débutants.
Divers
  • Un site web pour tester des expressions régulières.
  • HTTP-Prompt est une application en ligne de commande qui permet de réaliser des appels HTTP avec de la coloration syntaxique et de la complétion.
  • Un article qui montre comment utiliser Minecraft comme outil pédagogique.
  • Textillate est une bibliothèque JavaScript pour réaliser de belles animations sur le texte. Dans le même genre il y a aussi Typed.js.
  • Habitica est une application de type Trello (ou Wekan) mais avec une dimension gamification. 
  • Clippy.js est une bibliothèque JavaScript qui simule le trombone des anciennes versions de Microsoft Office.
  • Sandstorm est une plateforme pour la création d'instances d'application. En gros, si vous souhaitez fournir une démonstration de votre application, c'est le genre de solution adaptée.
  • Zeef est une service du web permettant d'organiser les bookmarks.


vendredi, mai 13, 2016

Liens pratiques de la semaine

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java et autres qui m'ont particulièrement intéressées ces dernières semaines. Pour la plupart des entrées, je les ai déjà diffusées via Twitter.

Java
Divers
  • Un benchmark pour évaluer de nombreux frameworks web.
  • Netdata est une application de monitoring de serveur qui propose une interface graphique très sexy. Une démonstration est proposée ici : http://netdata.firehol.org/
  • Grafana une autre application de monitoring qui permet d'analyser certaines solutions de stockage comme ElasticSearch.
  • Remark est un outil pour faire des présentations à partir de Markdown.
  • ClearText est un éditeur de texte qui n'autorise que l'utilisation des 1000 mots les plus courants. Disponible uniquement en anglais.
  • Une API Rest fournit par le gouvernement Français qui permet de récupérer des informations d'une adresse. Par exemple vous pouvez récupérer la latitude, la longitude, une recherche fulltext, etc.
  • hogwatch est une application graphique sur Mac qui permet de savoir ce qui transite via le réseau de votre machine.
  • Un aide mémoire très bien fait pour Bootstrap 4 : http://hackerthemes.com/bootstrap-cheatsheet/ 
Docker

vendredi, avril 15, 2016

Docker Beta, ma première journée de test

La société Docker a lancé fin mars une opération "beta-test" pour tester une version Docker pour Mac et Windows (https://blog.docker.com/2016/03/docker-for-mac-windows-beta/). Les avantages sont sans être exhaustif : une abstraction de VirtualBox, une gestion performante des volumes et une meilleure intégration du système d'exploitation.

Je me suis donc inscrit au programme de test début avril via cette URL : https://beta.docker.com. J'ai reçu mon invitation hier et j'ai testé dans la foulée.

Je ne vais pas faire un article complet car il en existe beaucoup sur la toile et de bonnes qualités :

Voici quelques constats rapides après mon test. 
  1. Même si Docker for Mac n'utilise pas de machine virtuelle gérée par VirtualBox, l'application m'a demandé de mettre à jour mon VirtualBox (4.12) vers une version plus récente 5.x. L'explication du pourquoi est donnée ici : https://forums.docker.com/t/fatal-error-after-install-virtualbox-requirements/8350.
  2. Le répertoire de travail de Docker for Mac se trouve ici : /Users//Library/Containers/com.docker.docker.
  3. Docker Engine fonctionne depuis la distribution Alpine Linux qui est elle même virtualisée depuis le virtualiseur xhyve (https://github.com/mist64/xhyve). Par conséquent le fichier utilisé pour la virtualisation de la distribution Alpine (Docker.qcow2) grossit au fur et à mesure. En effet, si vous supprimez des images, le fichier ne réduit pas. 
  4. J'en ai profité pour installer Kitematic à partir de ce lien (https://github.com/docker/kitematic/releases). Il n'y a pas besoin de télécharger Docker Toolbox pour installer Kitematic. À noter que bizarrement Kitematic n'est pas disponible pour Linux. Un comble sachant que Docker n'est vraiment disponible que sous Linux. L'utilisation de Kitematic avec Docker for Mac fonctionne bien. Par exemple, quand je crée un conteneur depuis Kitematic, je vois le résultat via le CLI ($ docker images et $ docker ps) de Docker et inversement. 
  5. Docker for Mac fonctionne plutôt pas mal (docker et docker-compose). J'ai testé mon application jouet développée dans le cadre d'un TP : https://github.com/mickaelbaron/helloworldmicroservices. Le seul petit défaut c'est qu'à la différence d'une version sous Linux où je pouvais rediriger les ports des conteneurs vers les ports de localhost ici on ne peut pas utiliser localhost mais une adresse de sous réseau 192.168.64.2 associé au hosts docker.local.
Si vous avez des retours n'hésitez pas à venir compléter mon billet.


dimanche, mars 27, 2016

Liens pratiques de la semaine

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java et autres qui m'ont particulièrement intéressées ces dernières semaines. Pour la plupart des entrées, je les ai diffusés via Twitter.

Eclipse
  • BNDTools, une série d'outils pour développer autour d'OSGi.
Java
  • "Sunday", une application web qui permet de désassembler une application Java. Cette application est codée en partie dans le langage Golo. 
  • HTTP2 en Java, c'est possible.
  • Un très bon aide mémoire sur les Streams Java 8.
  • Un billet qui explique comment démarrer plusieurs instances de Tomcat (sans utiliser Docker).
  • Une vidéo qui aide à comprendre pourquoi votre Maven est lent.
  • Un catalogue des principaux frameworks et outils Java.
Docker
  • Subuser est une sur-couche à Docker. Il permet en gros de traiter des conteneurs Docker comme si c'était des programmes Linux (gestion de la sécurité et du serveur X).
Divers
  • Si comme moi vous utilisiez KeePass pour gérer vos mots de passe, il y a un nouveau client sympathique : KeeWeb.  Le gros avantage c'est qu'il est multiplateforme. C'est à la base une application web mas grace à Electron il peut être utilisé comme client lourd.
  • Gitlab un Github privé.
  • Pleins de ressources sur le langage Go (le nouveau C/C++ de Google).
  • Un projet tout simple pour s'entrainer sur les tables de multiplication => s'adresse aux enfants.
  • Un très bon aide mémoire sur les principales commandes Git.
  • HTTPie est un CURL en plus jolie et avec plus de fonctionnalités.
  • ICDiff est un remplaçant de la commande diff. Il ajoute la coloration syntaxique.
  • Le jeu Tron depuis un SSH. C'est codé en Go. Intéressant de voir comment lancer le jeu quand on se connecte en SSH.
  • Deux billets intéressant sur le Raspberry (billet 1 et billet 2).
  • Un aide mémoire pour les combinaisons de touches lors du démarrage d'un Mac.
  • Une application sympathique qui permet de chercher des logos. Le code source est disponible sous Github.
  • SchemaSpy permet d'analyser un schéma d'une base de données.
  • UserBenchmark est un outil qui permet d'analyser les performances de votre PC. C'est aussi une énorme base de données des composants PC. Très utile si vous avez besoin de choisir des composants.
  • Cozy est un Cloud OpenSource qui se veut être un concurrent à OwnCloud and Co.


jeudi, mars 24, 2016

Tutoriel sur le développement d'une application basée sur une architecture microservice avec Docker

Je viens de publier sur le site de Developpez.com un tutoriel concernant le développement d'une application basée sur une architecture microservice avec Docker.

L'objectif de cette troisième série d'exercices est d'apprendre à construire une application en respectant une architecture à base de microservices. Nous utiliserons pour cela plusieurs technologies : 
  • la bibliothèque KumuluzEE pour packager et exécuter une application Java EE en ligne de commande ;
  • l'outil Docker pour l'isolation des microservices ;
  • la bibliothèque et le serveur RabbitMQ pour la gestion d'un bus d'événements afin que les microservices communiquent de manière asynchrone ;
  • finalement l'outil Docker Compose pour la composition des microservices.
La grande majorité du code contenu dans les microservices vous sera donnée comme support. En effet, ces exercices se focaliseront principalement sur les problématiques de déploiement. 


La solution complète de cette série d'exercices est disponible en téléchargement : helloworldmicroservices-sol.zip. ou directement sur mon Github : https://github.com/mickaelbaron/helloworldmicroservices.

Ce tutoriel a été utilisé dans le cadre du cours que j'ai dispensé à l'ISAE / ENSMA et à l'Université de Poitiers pour des étudiants en dernière année du cycle d'ingénieur et de Master 2.

Profitez de ce billet pour laisser vos commentaires.


jeudi, février 25, 2016

Support de cours : Introduction aux architectures microservices disponible via Developpez.com

Mon support de cours sur une introduction aux architectures microservices (annoncé dernièrement) est désormais disponibles sur le site de Developpez.com.


Merci à Developpez.com pour la diffusion massive de mon support. Je suis passé de 100 visites à la journée à plus de 2300 visites pour le seul jour de l'annonce.

Developpez.com est une très bonne communauté pour se faire rapidement connaître.  Si vous êtes intéressés par soumettre des tutoriels ou autre, contacter la rubrique qui vous intéresse. Dans le cas de Java c'est via cette adresse : java@redaction-developpez.com.

mercredi, février 17, 2016

Liens pratiques de la semaine

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java et autres qui m'ont particulièrement intéressées ces dernières semaines. J'en profite pour vous souhaiter de très bonnes fêtes de fin d'année.

Java
  • La version GWT 2.8.0 (Beta 1) est disponible en téléchargement. Au menu, le support de Java 8 et JsInterop pour facilement mapper avec des bibliothèques JS existantes.
Eclipse
  • La fondation Eclipse recrute (ou l'a peut-être déjà fait) une personne en charge d'améliorer l'environnement de développement. C'est plutôt une bonne nouvelle.
  • Eclipse CHE, c'est l'environnement de développement intégré dans le navigateur. Il y a quelques années quand on parlait d'Eclipse 4, il se murmurait l'envie d'avoir ce type d'évolution. Je pense que c'est bien parti pour être réalisé. Il faut juste que l'éditeur dans le navigateur soit de même qualité voir meilleur que ce qui est proposé par son homologue bureau ou voir IntelliJ.
Divers
  • Markdown preview est un plugin pour Sublimetext afin de visualiser un document Markdown
  • Asciinema est un outil pour enregistrer le contenu de votre console (Linux et MacOS X). Vous pouvez enregistrer sur la plateforme en ligne ou vers un fichier JSON. 
  • Asciinema2GIF est util, pour transformer un contenu Asciinema en GIF.
  • ttystudio est un autre outil pour sauvegarder son terminal.
  • GitUp un outil pour vous aider à gérer le contenu d'un GIT. 
  • Très bonne explication de la différence entre CMD et ENTRYPOINT au niveau de Docker.
  • Wekan c'est le Trello open source.
  • Electron permet de transformer une application HTML/JS/Node.js en une application bureau.
  • Quelques outils pour manipuler du PDF et se passer de cette usine à gaz payante d'Acrobat Writer. Briss pour rogner (crop) une page PDF. PDFShuffler pour ajouter des pages, rogner, faire des rotations, supprimer des pages... PDFTk fait aussi beaucoup de choses. Merci à Henri pour les tuyaux.
  • Une plateforme qui permet de faire fonctionner du Node.js sur pratiquement toutes les cartes micro-controlleurs. Le site web est très bien fait.   

mardi, février 16, 2016

Nouveau support de cours disponible : Introduction aux architectures microservices - mise en oeuvre

Il y a quelques jours, je mettais en ligne la première partie de mon support de cours dédiée sur les architectures microservices. Cette première partie se focalisée sur une introduction générale. Je vous propose maintenant la seconde partie dédiée aux technologies pour la mise en oeuvre de microservices. 

Nous commencerons par une présentation de la bibliothèque KumuluzEE pour faire des microservices avec la plateforme Java. Une grande partie sera consacré à Docker, puis nous présenterons Docker Compose. Deux parties (RabbitMQ et NGINX) sont actuellement en cours de rédaction. Elles adresserons les problématiques de bus d'événements et d'équilibrage de chager/reverse Proxy.

Je m'appuierai sur une application « fil rouge » qui sera déroulée au fur et à mesure du support de cours.

Voici un plan détaillé. 
  • Architecture microservices « fil rouge ».
  • Coder avec KumuluzEE.
  • Isoler avec Docker.
  • Communiquer avec RabbitMQ.
  • Composer avec Docker Compose.
  • Répartir la charge avec Nginx.
Si vous avez des commentaires concernant ce support de cours, exprimez-vous à partir de ce billet.

lundi, février 15, 2016

Eclipse Che, la nouvelle génération de l'EDI Eclipse accessible depuis un navigateur web. Tester avec Vagrant

Eclipse CHE est disponible en version beta depuis le mois de janvier. Pour faire simple, il s'agit d'un Eclipse dans le navigateur et où le workspace est déporté sur le serveur. Le workspace est géré par des conteneurs Docker.

Le site web d'Eclipse CHE est tout beau et la documentation est très complète. J'ai donc voulu l'installer pour tester. 

Les pré-requis logiciels sont :
  • Java 8
  • Docker 
Pour information je suis sous Mac OS X et pour Docker je n'ai jamais installé la suite logicielle boot2docker ou DockerMachine. Je passe par une box Linux Ubuntu Vagrant avec les bonnes redirections de ports.

J'ai donc préparé sur mon github un projet Vagrant pour tester Eclipse CHE. Je vous invite à télécharger :
Il n'y qu'à faire vagrant up et ouvrir son navigateur web à l'adresse http://localhost:8080.

Le principe de workspace déporté c'est vraiment pas mal. Le navigateur est très simpliste mais quel bonheur de pouvoir partager son espace de travail.

Voici par contre quelques points à souligner.
  • chaque workspace utilise un conteneur Docker suivant une image différente selon la plateforme utilisée (une image pour Java, pour PHP, ...). Chaque conteneur expose au moins cinq ports différents suivant une plage déterminée. 
  • l'éditeur de code est très simpliste pour l'instant. Il n'est même pas au niveau d'un Eclipse version bureau. Quand on voit ce que prend Eclipse comme critiques face à IntelliJ... 
  • cette version n'est que le début, j'espère qu'on pourra croiser un jour la partie EMF voir un SIRIUS sur Eclipse CHE pour faire de la modélisation.  
En tout cas bravo à l'équipe Eclipse CHE.

dimanche, février 14, 2016

Nouveau support de cours disponible : Introduction aux architectures microservices - introduction générale

Ce support de cours présente les architectures microservices. Nous commençons par un parallèle avec les applications monolithiques puis nous motivons du pourquoi les architectures microservices sont nécessaires. Nous terminons le support de cours avec les technologies utilisées pour mettre en oeuvre ce type d'architecture.

Voici un plan détaillé.
  • Contexte des applications monolithiques.
  • Microservice : quels sont les besoins ?
  • †Architecture microservices c’est quoi ?
  • †Comparaison avec les architectures existantes.
  • †Technologies mises en oeuvre.
À noter que ce cours fait suite aux cours sur les architectures orientées services.

Si vous avez des commentaires concernant ce support de cours, exprimez-vous à partir de ce billet.

lundi, février 01, 2016

Atelier SOA - Leçon 3 : Développement de services web Rest avec JAX-RS, Maven et Eclipse

Je viens de publier un tutoriel sur le développement de services web Rest avec JAX-RS en utilisant principalement Maven. Le tutoriel est disponible ici :
Ce tutoriel est une version modifiée du tutoriel qui utilisait massivement l'environnement de développement Netbeans pour la construction des classes. 
Tout comme le tutoriel sur les services web étendus avec JAX-WS (http://keulkeul.blogspot.fr/2016/01/atelier-soa-lecon-2-developpement-de.html), ce tutoriel sur JAX-RS fait abstraction d'un environnement de développement. 

L'objectif de ce tutoriel est de proposer une série d'exercices afin d'apprendre à manipuler l'API JAX-RS pour le développement de services web Rest à partir de la plateforme de développement Java.

Chaque exercice est fourni avec un projet Java Maven contenant des classes et des fichiers de configuration qu'il faudra compléter au fur et à mesure des questions. À la fin de chaque exercice, une solution du projet Java sera donnée.

N'hésitez pas à profiter des commentaires du blog pour laisser vos remarques sur le contenu.

lundi, janvier 25, 2016

Atelier SOA - Leçon 2 : Développement de services web étendus avec JAX-WS, Maven et Eclipse

Je viens de publier un tutoriel sur le développement de services web étendus avec JAX-WS en utilisant principalement Maven. Le tutoriel est disponible ici :

Ce tutoriel est une version modifiée du tutoriel qui utilisait massivement l'environnement de développement Netbeans pour la construction des classes. 

J'ai donc voulu dans cette version m'abstraire complètement d'un environnement de développement. Les étudiants passés plus de temps à manipuler Netbeans via des wizard sans vraiment comprendre les concepts. Même si j'utilise Eclipse vous pouvez sans problème utiliser votre environnement de développement préféré.

L'objectif de ce tutoriel est de proposer une série d'exercices afin d'apprendre à manipuler l'API JAX-WS pour le développement de services web étendus à partir de la plateforme de développement Java.

Chaque exercice est fourni avec un projet Java Maven contenant des classes et des fichiers de configuration qu'il faudra compléter au fur et à mesure des questions. À la fin de chaque exercice, une solution du projet Java sera donnée.

Pour rappel l'adresse : 
N'hésitez pas à profiter des commentaires du blog pour laisser vos remarques sur le contenu.

vendredi, janvier 15, 2016

Prochaine version d'Eclipse Neon+1 sera ...

Le nom de la prochaine version d'Eclipse a été dévoilé suite à un sondage. La prochaine version qui suivra Eclipse Neon (prévue pour juin 2016) sera Eclipse Oxygen.

Pour en savoir plus sur les autres noms qui étaient en compétition : https://bugs.eclipse.org/bugs/show_bug.cgi?id=485861

Il faudra attendre juin 2017 pour profiter de cette nouvelle version. On aura droit à des versions en développement à partir de juillet 2016.

Et vous que pensez-vous de ce nouveau nom ? La première chose à laquelle je pense ce sont les albums de Jean-Michel Jarre...