Mai 2013
L M M J V S D
« avr    
 12345
6789101112
13141516171819
20212223242526
2728293031  

Devoxx France 2013 - Posez vos conventions Java sur le divan de Freud

Parmi les quickies de Devoxx France 2013, j’ai assisté à la présentation intitulée « Posez vos conventions Java sur le divan de Freud » présentée par Raphael Brugier.

Freud est un outil d’analyse statique qui permet de forcer l’application de certaines conventions et interdire l’utilisation de certaines librairies ou API.

Dans les projets classiques, ces conventions sont écrites dans un document ou sur un wiki. C’est juste une documentation qui ne force pas réellement son application. Une autre alternative est l’utilisation de Checkstyle mais celui-ci n’est pas toujours facile à adapter aux besoins et surtout l’analyse du code est tardive (après la compilation).

Freud fournit un DSL (langage spécifique au domaine) du code java, utilisable pour des assertions dans les tests JUnit. Son analyse peut se faire à différents niveaux : code source, classe (par l’API reflection), bytecode …

D’autres types de fichier sont également supportés : fichier de propriétés,

> Suite de l’article : Devoxx France 2013 – Posez vos conventions Java sur le divan de Freud

Devoxx France 2013 - Déminage d'une application avec JRockit Mission Control

A l’occasion de Devoxx France 2013, j’ai assisté à la conférence intitulée «

> Suite de l’article : Devoxx France 2013 – Déminage d’une application avec JRockit Mission Control

Devoxx France 2013 - Simplifiez vos tests avec les assertions AssertJ !

Parmi les quickies de Devoxx France 2013, j’ai assisté à la présentation intitulée « Simplifiez vos tests avec les assertions AssertJ ! » présentée par Joel Costigliola (compte github).

Joel était contributeur du projet FEST Assertions, dont la prochaine version contiendra moins d’assertions. Pensant qu’il faut au contraire rajouter plus d’assertions, il a fait un fork du projet sous le nom AssertJ.

Les principaux modules d’AssertJ sont :

assertj-core : le module principal assertj-guava : une extension pour faire des assertions sur les types Guava assertj-joda-time : une extension pour faire des assertions sur les types Joda Time assertj-examples : des exemples de tests JUnit utilisant les modules ci-dessus

De plus, un outil en ligne de commande permet de créer des assertions spécifiques au métier de l’utilisateur. Celui-ci s’intègre aux outils existants à l’aide d’un plugin maven et d’un plugin eclipse (prévu pour avril). Du code est généré à partir

> Suite de l’article : Devoxx France 2013 – Simplifiez vos tests avec les assertions AssertJ !

Devoxx France 2013 - Implémenter la qualité sur un projet Java

A l’occasion de Devoxx France 2013, j’ai assisté à la conférence intitulée « Implémenter la qualité sur un projet Java » présentée par Vincent Massol (profil github), contributeur du projet XWiki.

Vincent nous parle des bonnes pratiques dans la gestion d’un projet Java, en prenant comme modèle son expérience sur XWiki.

Stabilité de l’API

Il faut faire attention aux utilisateurs et même aux développeurs du framework.

Clirr est un outil qui casse la construction d’un projet s’il y a un changement dans une API. La comparaison peut se faire au niveau binaire ou au niveau du code source. Lorsque l’on a intentionnellement changé l’API, il faut documenter le changement pour qu’il soit ignoré par l’outil, qui signalera cela dans son rapport.

Voici quelques pratiques mise en place sur le projet XWiki pour la gestion de ses API :

Création d’un package ‘internal’ : Les classes/méthodes/attributs présents dans ce paquetage peuvent

> Suite de l’article : Devoxx France 2013 – Implémenter la qualité sur un projet Java

Devoxx France 2013 - SARAH une maison intelligente pour connecter les objets

A l’occasion de Devoxx France 2013, j’ai assisté à la conférence intitulée « SARAH une maison Intelligente pour connecter les objets » présentée par Jean-philippe Encausse.

Le projet SARAH (abréviation de Self Actuated Residential Automated Habitat) est inspiré de la série de science fiction américaine EURᵉKA. Son but est de créer une maison « intelligente » où tous les objets sont connectés entre eux ainsi qu’à internet. La première chose qui m’a marqué est la manière dont Jean-philippe passait d’une diapositive à une autre :

un mouvement de bras vers la gauche pour passer à la diapositive suivante un mouvement de bras vers la droite pour retourner à la diapositive précédente

Cela est rendu possible grâce aux API C# de la Kinect, qui permettent notamment de faire de la reconnaissance faciale et gestuelle. L’inconvénient de cette technologie est qu’elle ne fonctionne que sous Windows (mais je viens de découvrir le projet libre

> Suite de l’article : Devoxx France 2013 – SARAH une maison intelligente pour connecter les objets