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...


lundi, décembre 28, 2015

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
  • Un billet intéressant qui présente les nouveautés de Jigsaw, la grosse nouveauté pour Java 9. Ceux qui ont fait de l'OSGi reconnaîtront surement des choses. A la fin du billet, une description intéressante de l'outil jlink qui va pouvoir générer une sorte d'exécutable embarquant une micro JVM.
  • Ce billet explique pourquoi 100 == 100 est vrai et 1000 == 1000 est faux. 
  • Un article intéressant qui explique les nouveautés de Java 8.
  • Pom-Explorer est un outil qui permet de visualiser les dépendances entre les Jar dans un projet Maven.
  • Builder-Generator est une bibliothèque sympathique qui permet de générer le code correspondant au patron de conception Builder. La bibliothèque utilise la JSR 269 qui traite des annotations processors.

Divers
  • J'ai découvert cela il n'y a pas si longtemps, Twitter a quelques outils sympathique. Tout d'abord Analytics qui permet d'avoir des statistiques sur son compte. TweetDeck est un outil pour gérer plusieurs comptes Twitter en même temps.
  • JSON-Generator est un outil sympathique sur le web permettant de générer du JSON à partir d'un template.
  • Gogs est un Github like qui peut-être héberger sur son serveur. Pour rappel il y a le minimaliste Gitblit qui fait la même chose mais qui ressemble moins à Github.
  • Un guide intéressant très simple pour commencer avec Git.
  • Korben explique dans un billet comment modifier son adresse MAC.
  • Un projet appelé Neuraltalk2 qui permet d'analyser des images et dire avec des phrases leur contenu. Il y a aussi cette vidéo où une personne a utilisé son portable PC avec le projet pour une description temps-réel.

samedi, octobre 31, 2015

Mes applications pour travailler sous MAC OS X

Depuis quelques temps, je suis repassé à Mac OS X. Voici une liste des outils que j'utilise.
  • Homebrew : un gestionnaire de paquet. Pratique pour installer Maven par exemple. Si vous avez un problème avec El Capitain suivez les informations apportées par ce lien.
  • Cask : un extension à Homebrew pour installer des applications autrement que par le DMG classique
  • Microsoft Remote Desktop : pour le bureau à distance avec des machines Windows. Switcher entre les deux OS n'est pas simple à cause des touches CMD (Mac OS X) = CTRL (Windows)
  • Eclipse : le meilleur environnement de développement pour coder Java... si cette phrase vous choque veuillez donner votre avis ici. Par ailleurs, je vous conseille d'installer ce plugin pour lancer plusieurs instances d'Eclipse.
  • FileZilla : un client FTP pas le meilleur mais multi-plateformes
  • Chrome : navigateur web, je l'ai choisi à la place de Firefox à cause des modules proposés (postman par exemple) et de la possibilité de conserver ses préférences d'une machine à l'autre via son compte Google.
  • Google Drive : pour synchroniser mes données 
  • iTerm 2 : remplace Terminal de Mac OS X. J'en avais profité pour installer byobu afin de diviser mon terminal. Depuis El Capitain j'ai de gros problème avec.
  • Java : sans commentaire.
  • KeePassX : mon trousseau de clés que j'utilisais sous Windows. Ce portage est fonctionnel. Ce n'est pas très sexy mais ça marche.
  • Path Finder : le remplaçant du simpliste finder.
  • PixelMator : mon logiciel de dessin simpliste.
  • SourceTree : un super client GIT.
  • SublimeText : l'éditeur de texte.
  • Thunderbird : le client email. J'ai ajouté en module Nostaly (pour déplacer des emails par le clavier) et Provider for Google Calendar pour ajouter mes agendas Google.
  • Nimu : une calculatrice assez originale.
  • TexStudio : l'éditeur pour faire du Latex.
  • Office 2011 et LibreOffice : les outils pour transmettre des documents avec d'autres gens.
  • Skype : pour la messagerie instantanée
  • Vagrant : pour gérer mes machines virtuelles Linux. Je suis peut être bizarre mais c'est à l'intérieur d'une VM Linux que je fais les tests sur Docker, habitude de Windows. Le virtualiseur utilisé est VirtualBox. Avec ce dernier j'ai installé un Windows 10 pour continuer à utiliser le kit de Developpez.com.
Mon objectif était d'éviter les applications Apple (qui sont très bien) genre le client de messagerie, le navigateur, le calendrier ou les outils pour la bureautique. On ne sait jamais je pourrais revenir sous Windows dans l'avenir ou passer sous Linux. Il y a quand même Time Machine qui reste simple et puissant pour sauvegarder son Mac.

Et vous qu'avez-vous installé en plus sous votre Mac ?

vendredi, octobre 23, 2015

Liens pratiques de la semaine

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement intéressées ces dernières semaines.

Eclipse
  • La prochaine version d'Eclipse s'appellera Eclipse Neon
  • AQL un langage de requête pour Eclipse Sirius.
Java (spécial GWT)
  • GWT Cropper est un composant GWT qui permet de sélectionner une zone graphique.
  • Sortie de la version 3 de GWTChosen, un composant GWT de type liste très évolué. 
  • Arnaud Tournier a fait une présentation à Toulouse sur la JSR 269. Cette spécification permet d'exploiter les annotations présentes dans le code pendant le processus de compilation pour générer d'autres codes sources. Toutes les ressources de sa présentation sont disponibles ici.
  • D'autres bibliothèques GWT qui sont pour la plupart des wrappers de bibliothèques JS (source DVP) : Guava pour GWT, GWT-Charts, GWT-Maps-API, GWT-OAuth2, GWTEventBinder.
  • Un article sur GWT en général. 
  • Si vous souhaitez en savoir plus sur JsInterop, la nouvelle façon d’interagir avec GWT, vous pouvez consulter ce document.
Divers
  • Leaflet est une bibliothèque Javascript pour encapsuler de la cartographie.


lundi, juillet 13, 2015

Liens pratiques de la semaine


Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement intéressées ces dernières semaines.

Eclipse
  • Le rapport annuel sur la fondation Eclipse.
  • A l'occasion de la sortie d'Eclipse Mars, Mélanie Bats a rédigé un billet sur Sirius, comme toujours très original.
Java
  • Un billet très intéressant sur JMH, l'outil pour faire du microbenchmarking.
  • Un exemple qui montre comment créer une archive ZIP avec mot de passe sous Java.
  • JDK 9 proposera un shell pour Java appelé jshell. Cet article de Xebia propose un tutoriel pour une première prise en main. Vous trouverez ici un tutoriel au format PDF.
  • Un billet de chez Arcbees qui montre comment créer des animations en CSS sous GWT avec GSSS (oui oui il y a bien trois S).
  • Comment utiliser les Stream de Java 8 pour OpenCV, un billet intéressant.
  • Sortie de JFreeSVG, une API pour manipuler du SVG.
  • Un billet qui présente Apache Flink qui se veut être une alternative à Spark.
Divers
  • Un graphique sorti par Linkedin qui montre les compétences des développeurs sur les technologies NoSQL 
  • Des exemples des principales commandes Linux
  • Le projet Cokpit est un outil permettant d'administrer ses serveurs Linux.
  • Gridster.js est un framework JS qui permet de gérer facilement le Drag & Drop sur ses applications Web.
  • TiddlyWiki est un Wiki très léger qui fonctionne côté client (la sauvegarde peut-être gérée par un plugin firefox), merci Henri pour le tuyau.
  • jrnl est une application qui permet d'écrire ses mémoires depuis la ligne de commande Linux.
  • Un billet de PresseCitron qui présente trois sites pour obtenir des images gratuites.

mercredi, juin 24, 2015

Liens pratique de la semaine

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement intéressées ces dernières semaines.

Eclipse
  • Eclipse Mars est sortie le mercredi 24 juin. Si vous souhaitez plus de détail sur les nouveautés, vous pouvez aller voir sur Developpez.com ou sur EclipseSource via le TOP 10. 
Java
  • Ce billet de blog vous montre comme réaliser une version portable (sans passer par l’installeur) de Java 8 sur Windows.
  • Un article qui présente GWT-Theo (portage de Theo sur GWT). L'objectif de Theo est de faciliter la configuration de l'apparence de son application Web.  
  • MapDB est une base de données embarquée qui s'intéresse aux structures de type collection.  
  • Cucumber est une bibliothèque pour faire du test fonctionnel (pas simplement limitée à Java au passage).
Divers
  • Un site qui propose une base de connaissances pour GIT
  • Un annuaire des bibliothèques et outils autour du développement de site Web
  • Un retour intéressant sur le passage d'entretiens d'embauche chez Google et Facebook. L'importance des matières théoriques est sans appel.
  • Knwl.js est une bibliothèque JS pour extraire des informations (date, lieu, heure...) depuis du contenu (source Proxiad)
  • CamanJS est une autre bibliothèque JS pour faire du traitement sur des images.