On dit souvent que le développement mobile ressemble au développement web d’il y a 10 ans. Jusqu’à présent, il fallait choisir entre développer une application native ou une application Web Mobile. Les applications natives sont souvent préférées pour le moment, car elles offrent souvent une meilleure expérience utilisateur.
Quant aux applications Web Mobile, elles ont l’avantage de faciliter la mise à jour et le déploiement d’application, et ont le mérite d’être accessibles quelle que soit votre plateforme, pour peu que vous disposiez d’une connexion internet. Et bien, il se pourrait bien qu’Adobe soit en train de changer la donne en introduisant sa solution Air qui vous promet le meilleur des 2 mondes !
Lors du dernier XKE, nous avons eu la visite de Michaël Chaize qui est venu nous présenter les nouvelles solutions Adobe. Fort d’une matinée plutôt réussie, j’arrive à ce slot un peu blasé et fatigué en me demandant un peu l’intérêt d’une telle présentation. Allez c’est reparti, je vais encore avoir le droit au discours technico-commercial que j’ai eu chez mon cher client quelques semaines auparavant.
Et bien que nenni ! Bien au contraire ! Je suis sorti de celui-ci avec une folle envie d’essayer de suite les technologies qu’il nous a présenté, en particulier celles qui touchaient à la mobilité.
Avant ce slot, j’avais bien entendu parler ici et là de l’émergence d’une telle solution, mais rien ne m’avait donné l’envie de m’y essayer. C’est maintenant chose faite !
La plateforme Air propose donc :
Lire la suite de cet article »
Android ne propose nativement aucune solution pour générer des courbes, camemberts et autres graphiques. Lors du développement d’applications, il est pourtant fréquent que l’on veuille afficher ce genre d’informations. Les terminaux Android disposant pour la plupart d’une résolution plutôt petite (< 800*600), il est souvent plus simple et plus efficace d'afficher les valeurs d'un tableau sous forme de graphique.
Cet article a pour but de vous présenter quelques-unes des solutions les plus répandues pour répondre à ce besoin. Pour cela, nous allons créer un camembert de 3 manières différentes :
Vous souvenez-vous de la course au Web ? Cette période pas si lointaine où bon nombre d’entre nous voulions un site Web sans trop savoir quoi mettre dedans ni trop comment s’y prendre. Plus que le contenu, l’important était d’être présent sur la toile même si on ne savait pas trop quoi y exposer. Depuis, notre vitrine a bien évolué, nous nous sommes approprié ce nouvel espace et nous avons adapté le contenu à ce nouveau support.
Avec la popularisation des smartphones, une nouvelle course démarre. Le nombre d’applications et de sites mobiles explose. Avant de jaillir des starting blocks, prenons le temps de connaitre les spécificités du parcours de cette nouvelle course.
Lire la suite de cet article »
Je considère Spring MVC comme l’un des framework web action-based les plus conviviaux du moment. Pourtant, il faut avouer que pour répondre à certaines problématiques simples, il nous oblige à inventer des solutions alambiquées, en voici un exemple. Je suis preneur de toute autre meilleure solution 
Le besoin : afficher une liste de civilité internationalisée dans un formulaire
La solution : utiliser un custom property editor
Lire la suite de cet article »
Si vous êtes développeur Android, vous aurez sans doute remarqué qu’aucun mécanisme ne permet de partager des ressources entre plusieurs projets. Étant l’auteur d’une petite dizaine d’applications, la gestion des ressources communes commence à devenir un véritable problème. En effet, s’il est très simple de partager du code Java par l’intermédiaire de jars, il vous est impossible de partager des images ou des layouts entre plusieurs applications. Ceci vient de la gestion même des ressources dans un projet Android et de leur utilisation. En effet chaque ressource est référencée sous la forme d’une constante dans un fichier ‘R.java’ automatiquement généré. C’est cette constante que vous devez utiliser pour utiliser vos différentes ressources dans vos applications. Comme il n’est pas possible d’inclure un projet Android dans un autre, nous somme bloqués.
Étonnamment, ce besoin ne semble pas intéresser plus que cela la communauté Android. En consultant la liste des demandes d’évolutions, seule une fiche fait référence à ce type de besoin. Cette demande me paraissant pourtant légitime, j’en ai discuté avec Romain Guy, l’un des développeurs Android. Selon lui, la plateforme Android ne permet pas de répondre directement à cette problématique. Tournons-nous donc vers nos outils de builds.
Cet article présente une manière de configurer un build Maven sur une application Android. Après la lecture de cet article, vous saurez comment construire et déployer un projet Android en utilisant Maven, mais également comment découper vos applications pour partager du code entre votre application Android et sa partie serveur, et comment partager du code et des ressources entre différentes applications Android. Le contenu de cet article est largement inspiré de la traduction officielle du chapitre Android du Maven Reference Guide que je viens tout juste de terminer.
Lire la suite de cet article »

Les 19 chapitres de la traduction officielle du Maven Definitive Guide terminés, il est grand temps de nous lancer dans la dernière ligne droite avant la fin du projet : la relecture publique complète de la traduction. En tant que participant à ce projet, c’est avec un certain enjouement (ndlr : ouf, c’est fini !) que je relaie donc cet appel pour relire les 430 pages de ce guide. Je profite de cette occasion pour remercier les relecteurs de la première partie, et espère vous voir au moins aussi nombreux cette fois-ci. Notez que nous avons besoin de tout type de contributeur : vous lancer dans la relecture ne signifie pas forcément vous engager sur la relecture complète du livre.
Pour ceux que ça intéresserait, veuillez noter les points suivants :
- Les chapitres 1 à 8 (toute la première partie) ont déjà été relus fin septembre, privilégiez les suivants.
- Il est préférable de nous contacter avant de vous lancer dans la relecture, nous pourrons ainsi répartir uniformément les relectures et éviter les corrections parallèles.
- Privilégiez les versions HTML ou PDF pour la relecture.
Pour bien démarrer :
N’hésitez pas à en parler autour de vous, que ce soit à l’oral, par mail, ou sur vos blogs 
Bonnes relectures.

Pour en avoir parlé fin septembre, vous savez peut-être que je participe à la traduction française du Maven Definitive Guide. Comme vous pouvez le constater, la traduction est maintenant bien avancée, nous lancerons d’ailleurs probablement très bientôt les demandes de relecture de la seconde et dernière partie (vous en serez informé sur ce blog).
Je profite de cette occasion pour vous en présenter un extrait en prenant l’exemple d’une fonctionnalité que je ne connaissais pas avant de m’y atteler : comment chiffrer vos mots de passe dans vos Settings Maven.
Lire la suite de cet article »
Comme l’année dernière, j’ai assisté ce mercredi 4 novembre aux rencontres Spring Paris. Cette journée est l’occasion de rencontrer des acteurs de renom de la communauté Spring venant présenter leurs solutions et partager leur vision de l’écosystème Java.
Les grands thèmes du jour :
- Présentation de Spring 3.0 et de la roadmap SpringSource.
- Amélioration de la productivité avec Spring ROO.
- Standardisation et positionnement stratégique et face à Java EE.
- Cloud Computing avec le nouveau mouvement lancé par le rachat de SpringSource par VMWare.
Dans ce cadre, j’ai eu l’occasion de mener une interview d’Arjen Poutsma en marge des présentations (merci Michael). Ce billet retrace ce que j’ai retenu de cet entretien.
Arjen Poutsma est le créateur de Spring WS, projet sur lequel il est d’ailleurs toujours largement impliqué. C’est également le second committeur Spring 3.0 avec Juergen Hoeller, qui était venu l’an passé pour présenter le sujet.
Lire la suite de cet article »
Comme certains le savent déjà, je participe à la traduction française du Maven: The definitive Guide. La version originale, qu’il est possible de consulter ou de télécharger gratuitement, est portée par Sonatype, l’entreprise dont le fondateur et CTO est Jason van Zyl, l’un des pères du projet Maven. D’autres traductions ont été effectuées ou sont en cours, les versions allemande et chinoise sont déjà disponibles. Notez qu’il s’agira de la traduction officielle, elle sera rendue disponible a minima sur le site de Sonatype en version en ligne et par PDF et nous envisageons également une version imprimée.
Dans ce cadre, comme nous venons de terminer la partie 1 qui représente la première moitié du livre, nous lançons un premier appel public aux relectures. Le projet est hébergé sur github, il vous est donc tout à fait possible d’y participer à votre guise ou de venir consulter son avancement. C’est peut-être pour vous l’occasion de contribuer à un projet Open Source Maven … sans code … mais avec des développeurs dedans : l’Open Source ce n’est pas fait que de développement 
Pour ceux qui seraient intéressés, voici quelques recommandations :
- Il est préférable de nous contacter avant de vous lancer dans la relecture, nous pourrons ainsi répartir uniformément les relectures et éviter les corrections parallèles.
- Privilégiez les versions HTML ou PDF pour la relecture, pour ne pas être gêné par la multitude des balises XML dont le format docbook est si friand.
- N’hésitez pas à vous inscrire à la ML du projet (maven-guide-fr-subscribe AT sonatype.org).
Pour démarrer :
N’hésitez pas à contacter l’un des membres de l’équipe pour toute question (mon adresse email : erwan DOT alliaume AT gmail.com).
Bonne (re)lecture 
Servlet 3.0 est une révision importante des spécifications, elle apporte son lot de nouveautés : simplification, pluggabilité, support de l’asynchrone, sécurité et d’autres modifications mineures. Cette JSR, passée en final draft en mai denier, fera partie des nouveautés apportées par Java EE 6 dont la sortie ne devrait pas tarder. Mais que se cache t-il derrière cette nouvelle version ? Simple dépoussiérage après 161 JSR d’écart depuis la dernière version 2.5 ou véritables avancées ? C’est la question à laquelle nous allons essayer de répondre au cours de cet article en nous focalisant sur les 3 points marquants de cette nouvelle version :
Lire la suite de cet article »