Les agents Java Jun 15, 2012

Les Agents Java ? Pas la moindre idée de ce que c’est ? Mais si, vous en avez certainement déja vu, ils se cachent dans la ligne de commande Java via ce paramètre -javaagent:vers/mon/agent.jar.

Ceux-ci interviennent lors du chargement des classes par un classloader, et ont la possiblité de venir modifier la classe en cours de chargement. Ce mécanisme est utilisé par divers outils et frameworks :

  • AspectJ pour faire du tissage d’Aspect au chargement
  • Par des outils de Profiling pour venir ajouter du code permettant de tracer les appels
  • … et plein d’autres
... Read more ➦
Mon retour sur Devoxx France, en tant que conférencier Apr 30, 2012

Le début du rêve

L’histoire a commencé à Anvers, durant une keynote à Devoxx de Stefan Janssens où il lance une bombe atomique. En collaboration avec l’équipe du ParisJUG, ils ont commencé à préparer en secret LA conférence de France : Devoxx France.

Cette conférence reprend les mêmes concepts de l’original, mais en plus court : 1 jour d’université, 2 jours de conférences. Mais France oblige, une majorité de présentation seront en français.

A ce moment, ayant déja fait plusieurs conférences dans les JUGs, j’espérais faire un jour une présentation à Devoxx. Malheureusement mon anglais n’étant pas assez au point, ce n’était pas pour demain. Mais Devoxx France était pour moi la solution idéale, et je me voyais bien un jour y venir présenter un sujet.

De retour d’Anvers, l’idée me trotte dans la tête, mais ma présentation sur les nouveautés de Spring 3.0 n’est plus d’actualité… Et je ne maitrise pas d’autre sujet  suffisement pour être prêt dans les temps.

Bref, je me dis que Devoxx France, c’est pas encore pour tout de suite !

... Read more ➦
Installer CRaSH sous Mac OS X Apr 03, 2012

CRaSH, c’est quoi ?

Derrière un nom qui ferait fuir n’importe qui, se cache un outil assez prometteur. CRaSH est un projet Open Source, sous licence LGPL, créé par Julien Viet. Et plus exactement un Shell qui permet de se connecter à une JVM et de la contrôler à l’aide de commande développée en Groovy.

Il est assez extensible, mais de base il vient avec des commandes pour JDBC, le logging, les Thread. Pour en savoir plus, je vous recommande la lecture de la documentation, de regarder un screencast ou de parcourir les slides de Julien lors de son quickies à Devoxx France

... Read more ➦
Spring MongoDB en 5 minutes Mar 17, 2012 Créer sa base MongoDB Bien qu’il soit assez simple d’installer MongoDB sur un poste de développement, avec l’arrivée du cloud et des SaaS, il est très simple et très rapide d’avoir une instance de Mongo. MongoHQ offre des solutions d’hébergement de Mongo à la demande, à plusieurs tarifs. L’offre starter est gratuite, mais apporte une limite de 16 Mo. En plus d’héberger l’instance, MongoHQ offre également une interface graphique très pratique pour parcourir votre base, vos collections et leurs données, ou encore gérer les indexes. ... Read more ➦
Présentation de xdt4j Mar 15, 2012

Introduction

Chez mon client, nous avons eu un besoin particulier : celui de pouvoir étendre des archetypes Maven. Autrement dit, pouvoir créer un archetype qui se baserait sur un autre, et qui apporterait uniquement le delta de différence.

Pour certain fichier, nous n’avons pas eu le choix, nous avons été obliger de fournir une nouvelle version qui remplacerait la version initiale, par exemple les fichiers binaires tels que les images.

Par contre, pour le fichiers XML, et en particulier les fichiers pom.xml ou encore le fichier archetype-metadata.xml, c’était plus problématique. En effet, en cas de modification de l’un des ces fichiers dans l’archetype de base, nous aurions été obligé de copier ceux-ci, et ré-introduire les delta à la main… ce qui ne serait pas très productifs.

Partant du fait que ces fichiers sont du XML, il me semblait plus logique de partir du fichier de base et de ne décrire que les transformations à lui apporter. Quand on parle de transformation en XML, on pense tout de suite à XSLT. Mais il faut avouer que s’il est très puissant, il n’est pas forcément le plus simple à appréhender.

J’ai donc cherché des alternatives plus simples. En discutant avec un consultant .Net, celui-ci m’a présenté le système qui est utilisé par Microsoft pour gérer les fichiers de configuration de IIS : XML Document Transform. J’ai tout de suite trouvé cette solution élégante pour répondre à notre problème.

Par chance, quelqu’un a eu la bonne idée de faire une première implémentation OpenSource ( en se basant sur tout les exemples qu’il à trouvé dans la documentation et sur internet. Son implémentation se basait sur des spécificités .Net, donc impossible de le porter tel quel en Java. Cependant, son jeu de test était assez complet.

Grâce à celui-ci tests, j’ai pu développer en TDD une implémentation en Java : xdt4j.

... Read more ➦
Tutoriel : Comment créer un DMG May 11, 2011

Les utilisateurs de Mac utilisent souvent de type de fichier, qui sont en fait des images disques (comme des .iso) qui peuvent être montées et qui apparaitront comme un nouveau disque sous Mac OS X.

Ce type de fichier est très souvent utilisé sous Mac comme moyen d’installer des logiciels. Afin de fournir un Bundle pour OpenJDK pour Mac OS X, j’ai voulu regarder de plus près comment faire pour créer un tel fichier.

... Read more ➦
Feedback : Switch PC vers Mac Apr 28, 2010

Tentation, doute et ..

Ceci n’est pas un billet de plus pour faire de la propagande Apple, mais juste l’envie de partager mon expérience sur le switch de Pc vers Mac.

J’ai eu l’occasion de tester, très épisodiquement, Mac OS X chez mon premier employeur. J’ai trouvé le concept intéressant, plutôt bien fini esthétiquement et simple à utiliser. Mais en tant que développeur/administrateur système, j’ai également découvert avec horreur le clavier Apple..

Quelques temps plus tard, un ami proche, administrateur système de profession, à tenter le switch vers un portable Apple. Mais il a rapidement changé, en particulier à cause du clavier qui ne lui était pas fort pratique.

Suite à cela, moi qui était jusque la tenter de passer le pas, j’ai été fort refroidit. Et quand j’ai effectivement été forcé de changer de portable, je suis resté sur le marque PC qui ne m’a jamais fait défaut. Mais avec un léger regret tout de même.

Et finalement, fin 2009, j’ai franchi le cap et me suis commandé un Mac Book Pro 15”.

... Read more ➦
Créer un namespace Spring Apr 24, 2010

Une des fonctionnalités fort pratique avec Spring est la notion de namespace. Ceux-ci permettre de simplifier et réduire de manière significative une configuration XML.

Spring en possède plusieurs de bases : jms, jee, scheduling, jdbc, mvc, …

Cependant, il est tout à fait possible d’en créer des spécifiques à nos propres besoins, et sans trop de difficulté.

... Read more ➦