Hibernate n’aime pas la discrimination

Travailler sur des applications legacy nous amène parfois à faire face à des difficultés qui nous gênent dans la mise en place d’outils modernes tout en conservant le modèle existant.
Cela m’est arrivé récemment lorsque j’ai du mapper une table de jointure un peu spéciale sur un projet de portage. Continue reading

VN:R_U [1.9.13_1145]
Rating: 0 (from 0 votes)
Share
Posted in Non classé | Tagged , | Leave a comment

Les Apache Commons

Apache Commons est l’un des principaux projets de la fondation Apache.
Il est composé d’un ensemble de bibliothèques open-sources et réutilisables mettant une multitude d’utilitaires à la disposition des développeurs Java. Continue reading

VN:R_U [1.9.13_1145]
Rating: 0 (from 0 votes)
Share
Posted in Java, Non classé, Trucs & astuces | 1 Comment

Args4j – CLI Parser (Command Line Interface Parser)

Args4j est un projet open-source, sous licence MIT, permettant de parser nos arguments/options de la ligne de commande. Le responsable du développement est Kohsuke Kawaguchi. Args4j est un sous-projet de Java Tools, qui est un ensemble de petits outils assez pratique pour tout développeur Java. On y trouve notamment Visual VM, pour monitorer notre VM, ou encore Hudson dont Kohsuke a forké le projet pour devenir Jenkins.

Continue reading

VN:R_U [1.9.13_1145]
Rating: 0 (from 0 votes)
Share
Posted in Non classé, Outils | Tagged | Leave a comment

SpringFuse, un générateur intéressant ?

Pour mon premier article, j’ai décidé de vous présenter SpringFuse. Pourquoi ? En fait, je suis récemment rendu à une conférence sur le générateur de code SpringFuse et je me suis dit :

« Pourquoi ne pas faire découvrir à ceux n’ayant pas eu la chance d’assister à cette conférence ce qu’est cet outil ?».

Je tiens à souligner que cet article est avant tout un article « découverte », je ne rentrerai donc pas aujourd’hui dans les détails. Cependant, je pense creuser un peu plus durant les mois à venir. Je posterai donc très probablement d’autres articles sur cet outil.

Continue reading

VN:R_U [1.9.13_1145]
Rating: 0 (from 0 votes)
Share
Posted in Outils | Tagged , , , , , | 3 Comments

Binder une date en Grails

Grails est un framework web pour Groovy, qui facilite beaucoup l’écriture d’une appli web.

Le binding est une des facilités de Grails : disons qu’on ait un objet User, contenant les propriétés lastName, firstName et birthdayDate. Notre formulaire de création/édition d’utilisateurs aura les champs correspondants. Dans le controlleur, on peut remplir notre objet User en écrivant simplement :

1
bindData(user, params)

Mais pour binder la date birthdayDate, la map params doit avoir les champs birthdayDate, birthdayDate_year, birthdayDate_month, birthdayDate_day, birthdayDate_hour et enfin birthdayDate_minute. Ces champs sont automatiquement générés par la balise <g:datePicker /> fournie par Grails, mais dès qu’on n’utilise plus cette balise (date picker personnalisé, utilisation d’un input text classique…), il faut générer soi-même tous les champs. C’est beaucoup trop long, lourd et complétement inadapté.
Continue reading

VN:R_U [1.9.13_1145]
Rating: 0 (from 0 votes)
Share
Posted in Grails, Spring | Tagged , , , | Leave a comment

DevOps : c’est à la mode !

Depuis très récemment (2009), une nouvelle tendance, ou plutôt mouvement, est apparue au sein des développements des projets informatiques et commence à être de plus en plus adoptée : je parle du DevOps. Encore peu répandu en France, certains d’entre … Continue reading

Share
More Galleries | Leave a comment

Application mère et modules sur iOS

Contexte

Dans les grosses entreprises, il y a souvent beaucoup d’idées d’applications mobiles et il est également tentant de faire une application mobile à chaque gros coup de pub. Au final, on peut vite se retrouver avec le cas de Orange, par exemple, qui a déployé un grand nombre d’applications sur les markets mobile (à l’heure où j’écris : 12 pour Orange France + 10 pour Orange Group sur Android market) [1]. Cette situation, loin de donner une bonne image de l’entreprise, embrouille l’utilisateur qui ne sait plus laquelle télécharger.

Une solution à ce problème est de mettre en place une seule et unique application mère, déployée sur le market, qui se chargera de gérer la connexion (si besoin) et de télécharger les contenus disponibles en fonction des droits de l’utilisateur. Pour que ce système fonctionne, il faut toutefois trouver un moyen pour charger du code dynamiquement. Or, le principe de sandboxing des applications mobiles rend cette tâche compliquée. Cette mesure est nécessaire pour éviter le chargement de code source nuisible à l’insu de l’utilisateur. Mais malheureusement, c’est ce système que l’on voudrait utiliser (pour la bonne cause bien sûr :) ). Continue reading

VN:R_U [1.9.13_1145]
Rating: 0 (from 0 votes)
Share
Posted in iPhone | Tagged , , , | 2 Comments

Bonnes pratiques concernant la méthode toString()

Au cour de mes pérégrinations, je suis tombé sur cet article traitant de l’implémentation et de l’utilisation de la méthode toString().

Je vous invite à le lire mais pour ceux qui sont fâchés avec la langue de Shakespeare, je vais tâcher de vous le résumer (mais pas dans la langue de Molière,vous m’en voudrez si je le transcris dans le français du XVIIème siècle ^^).

  • Toujours ré-implémenter cette méthode dans vos classes. Définir une règle sous FindBugs ou JTest vous aidera à y penser.
  • Préférer l’appel de toString() au moment de debugger ou de logger.
  • Ne pas exposer des données sensibles (mots de passe d’utilisateurs) et toujours les récupérer en utilisant les accesseurs de l’objet.
  • Ré-implémenter la méthode dans les classes abstraites et préciser les implémentations dans les classes filles.
  • Présenter des données pertinentes sous un format approprié (“nom=X, prenom=Y” au lieu de “X,Y”).

Bonne lecture et à la prochaine.

VN:R_U [1.9.13_1145]
Rating: 0 (from 0 votes)
Share
Posted in Java, Trucs & astuces | Tagged , | 2 Comments

Vaadin avec AppFoundation

Vaadin

Vaadin est un framework codé en Java permettant de réaliser des applications web riches. Il est basé sur GWT et est très simple d’utilisation.

AppFoundation

AppFoundation est un add-on de Vaadin. Il a été développé par Kim Leppänen, et permet en autre de gérer vos différentes vues dans votre application. Il comporte d’autres modules permettant de gérer la persistance, l’authentification et l’internationalisation.

Dans cet article je ne parlerais que de la gestion des vues.

Continue reading

VN:R_U [1.9.13_1145]
Rating: +2 (from 2 votes)
Share
Posted in Outils, Trucs & astuces | Tagged | Leave a comment

Android Annotations, des nouvelles du front !


Pour ceux qui ne connaissent pas Android Annotations, je vous laisse checker le googlecode, ou encore la présentation très objective de son auteur.

Le projet est aujourd’hui sponsorisé officiellement par eBusiness, et trois nouveaux contributeurs ont rejoint le projet : Romain Sertelon, Alexandre Thomas, et moi-même. On a déjà apporté certaines évolutions, notamment @EViewGroup et @Rest qui seront disponibles dans la version 2.2, prévue très prochainement ! On a aussi une présentation au PAUG qui pourrait se faire dans la foulée !

Je viens vous parler plus précisément d’une évolution majeure de la structure du framework, qui pourrait arriver dans une version 3, et sur laquelle j’ai passé mes deux derniers “AA Days” ! Ça pourra répondre aux questions que se posent certains en donnant un aperçu de ce qu’on peut bien faire dans cette salle tous les jeudis !

Continue reading

VN:R_U [1.9.13_1145]
Rating: 0 (from 0 votes)
Share
Posted in Android, Non classé, Outils, Trucs & astuces | Tagged , , , | 1 Comment