jeudi, juillet 11, 2019

Déménagement de ce blog vers https://mickael-baron.fr

Juste vous prévenir que mon blog a déménagé vers https://mickael-baron.fr

J'utilise désormais Jekyll, Gihub Pages et un nom de domaine personnel. Si par la suite, je devais encore changer de technologies, le point d'entrée serait https://mickael-baron.fr.

Merci à Blogger qui m'accompagne depuis septembre 2006. Malheureusement, je souhaite prendre les devants avant la fermeture de ce service par Google et utiliser des outils plus adaptés à mes habitudes.

mardi, janvier 01, 2019

Bonne Année 2019

Bonjour à tous,

Très bonne année 2019, l'année 2018 se termine.

Par rapport à ce que j'avais prévu, j'ai pratiquement tout réalisé :


Pour 2019, je vais être plus productif :

  • passer tous mes articles et séries d'exercices sur Github avec pour chacun une version pour Developpez.com
  • mise à jour de tous les supports de cours sur SOA
  • migrer ce blog sur Github Pages avec Jekyll. Comme je sens que Blogger va bientôt disparaître, il faut penser à anticiper avant que le service de Google ne ferme
  • support de cours sur les techniques de communication serveur vers client (Streaming API) et tutoriel pour apprendre à développer des WebSocket et des services SSEvent
  • tutoriel pour démarrer avec Vue.js et VueCli 3
  • tutoriel pour développer pour ROS avec le langage Java
Rendez-vous donc pendant cette année et peut-être sur la nouvelle plateforme de blog.

Mickael

mercredi, novembre 14, 2018

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 https://twitter.com/mickaelbaron. Il s'agit en gros d'un résumé de mon compte Twitter.

Java
  • La spécification MicroProfile 2.1 est disponible.
  • Java 11 est disponible. Voici deux liens intéressants pour apprendre rapidement ce qu'il y a de nouveau : lien 1 et lien 2.
  • Un sondage des habitudes des développeurs Java pour l'année 2018. On apprend que 80% des interrogés utilisent Java 8 en production et que 45% des interrogés utilisent l'IDE IntelliJ IDEA et 38% Eclipse.
  • Pour installer Java depuis une version fournie par OpenJDK sous macOS, il suffit de décompresser l'archive dans le répertoire /Library/Java/JavaVirtualMachines. Par défaut, la version la plus récente sera utilisée. Pour désactiver une version récente, il suffit de renommer le fichier Info.plist dans /Library/Java/JavaVirtualMachines/JAVA_VERSION/Contents en Info.plist.disabled.
  • Un article qui montre comment migrer ses projets Java avec Maven vers Java 11.
Docker
JavaScript/HTML/CSS
  • Un exemple intéressant d'une interface de login/password faite en JS/HTML/CSS.
  • Un article qui présente comment utiliser la nouvelle interface graphique de VueCli3 pour construire et configurer (plugins, dépendances...) un projet Vue.js.
  • Un article qui montre comment utiliser Flex Box, un standard CSS3 de disposition des éléments dans une page web.
  • Comprendre en détail le fichier package.json.
Divers
  • Un résumé intéressant des différentes algorithmes d'apprentissage automatique à utiliser selon le contexte.
  • Mole est une application en ligne de commande pour faciliter la création de tunnels SSH.
  • htrace.sh est un script Shell pour débogguer les traces de connexion HTTP/HTTPS et analyser les en-têtes...
  • Un site web qui fournit une base pour apprendre à fabriquer des avions en papier.
  • Les slides d'une présentation sur des cas de scénarios de Git.
  • Le projet Common Voice est une initiative de Mozilla pour aider à apprendre aux machines à parler comme tout un chacun. Les interfaces sont très simplistes et efficace. Vous dictez un texte ou vous confirmez qu'un texte a été correctement lu.
  • Un article pour comprendre rapidement Tmux, un multiplexeur de terminaux.
  • Un aide mémoire interactif sur Git.
  • Une commande Linux a échoué car vous n'étiez pas sudo, rappelez la dernière commande via sudo !! ou sudo !-1.
  • lazyGit est une interface graphique en ligne de commande pour Git.





vendredi, août 10, 2018

Tutoriel pour préparer son environnement de développement ROS avec Docker : partie 1

D'habitude quand je publiais un tutoriel, je créais un billet sur mon blog. La priorité avait été donnée à Twitter. Pour corriger ce manque à mon cher blog, voici un billet informatif pour vous avertir (en retard) qu'un tutoriel sur ROS avait été annoncé en mai 2018. Ce tutoriel concerne l'utilisation de ROS (Robot Operating System). 

Ce tutoriel s'intéresse donc à présenter ROS (Robot Operating System) et à décrire comment proposer à un développeur un environnement de développement prêt à l'emploi quel que soit le système d'exploitation utilisé pour le développement et pour le déploiement. Mon idée est de s'appuyer sur l'utilisation exclusive des outils Docker pour créer des conteneurs basés sur des images Docker ROS.

L'adresse du tutoriel est disponible sur mon hébergement de Developpez.com :

  • https://mbaron.developpez.com/tutoriels/ros/environnement-developpement-ros-docker/
Le second tutoriel devrait arriver prochainement, il faut juste trouver du temps sur ce travail qui est un peu en dehors du scope que j'ai l'habitude de traiter.

N'hésitez pas si vous avez des commentaires à publier sur mon blog ou directement sur le site de Developpez.com.

mercredi, mai 16, 2018

Liens pratiques de la semaine

Java
  • Un dépôt Github pour la comparaison des clients Java pour manipuler l'API Docker
  • Le projet Amber qui inclut notamment le typage implicite (var) est détaillé dans ce billet de blog.
  • Dans la suite du premier item, voici les autres nouveautés pour Java 10. Depuis la sortie, voici un article qui présente les 10 principales nouveautés.
  • Un billet de blog qui détaille comment utiliser Server-Sent Events SSE (technologie pour envoyer des messages du serveur vers le client, une technologie concurrente aux WebSockets) avec JAX-RS. Au passage, un article qui parle des autres technologies autre que SSE.
  • GWT-Jackson est une bibliothèque pour GWT pour fournir l'intégration de Jackson (mapping JSON). 
  • vue-gwt est un wrapper de la bibliothèque Vue.js. Le langage Java est utilisé pour remplacer Javascript pour toute la partie contrôleur. Un billet qui montre comment l'utiliser.
  • Un article qui traite de JNoSQL, une bibliothèque qui fournit un accès JDBC "avancé" pour les bases de données NoSQL. 
  • Java EE est devenu Jakarta EE et est désormais soutenue par la fondation Eclipse, j'espère que cela permettra d'accélérer les nouveautés.
  • Un billet de blog qui montre comment utiliser RXJava avec GWT.
  • Une série de trois billets sur JShell, l'interpréteur Java introduit depuis Java 9 (billet 1, billet 2 et billet 3)
  • Un billet intéressant sur les possibilités de JShell pour créer un serveur HTTP minimaliste.
Javascript / Web
  • Une page Github de type Awesome qui regroupe beaucoup de liens autour de Vue.js.
  • Toujours dans la série de Vue.js, voici un livre de recettes (Cookbook) des meilleures pratiques.
  • Un billet de blog qui montre comment utiliser les variables d'environnement dans ses projets Vue.js
  • Une très bonne présentation de Vue.js par un Core développeur (slides de la présentation).
  • Des comparatifs (lien 1 et lien 2) de framework web natif pour développer par exemple des applications Progressive Web App. Pour le second comparatif, une vidéo est disponible.
Divers
  • Un billet de blog qui montre comment choisir et utiliser une API pour la reconnaissance faciale. 
  • Quelques outils à posséder quand on fait du développement web.
  • Saviez-vous que pour Docker il y a deux options pour "monter" des volumes : -v et --mount. Cet article explique la différence de ces deux options.

mercredi, janvier 03, 2018

Bonne année 2018, les petites résolutions

L'année 2017 se termine et voilà l'année 2018. Très peu présent sur ce blog, peu d'articles cette année. Je me disperse et j'ai aussi beaucoup moins de temps.

Pour 2018, du côté de mes activités extra professionnel je reste en poste de responsable des rubriques Java sur Developpez.com. C'est très intéressant même si cela devient de plus en plus dur de mobiliser les bénévoles.  

Au niveau des articles, support de cours et tutoriels, je co-prépare un article technique sur Citus Data, une version distribuée de Postgres, un support de cours sur les techniques de communication serveur vers client et surement un tutoriel pour mettre en oeuvre ces concepts.

Excellente année 2018 à très bientôt

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.