Archive for October, 2008

Selenium : Boostez vos tests avec Tellurium

Wednesday, October 29th, 2008

Au commencement, vous écriviez vos tests Selenium en HTML. Mais cela posait des problèmes : aucune factorisation possible, pas de setUp()/tearDown()…

Puis, vous avez commencé à écrire vos tests en Java et la vie fut plus belle. Mais cela devint verbeux et vous développiez de plus en plus de code custom pour améliorer vos tests. Et vous vous demandiez comment faire encore mieux…

Enfin, vous découvrez l’arme ultime, ce projet nommé Tellurium qui ne vous rendra certainement pas plus riche ni plus beau mais qui améliorera vos tests Selenium.

Vous l’avez compris, Tellurium est un projet qui vise à améliorer l’écriture de tests Selenium.

Ils le disent eux-mêmes :

Tellurium is more robust, flexible, modularized, easier to maintain and refactor

Qu’est-ce qu’il y a dans la boite ?

(more…)

De la programmation défensive

Sunday, October 26th, 2008

Vous aviez développé un nouveau service. Les interfaces et les données échangées étaient définies. Vous étiez optimiste, vous connaissiez bien le client. Malheureusement celui-ci utilisait de temps en temps mal votre API, vous fournissant des paramètres invalides. Vous voilà en train de corrompre l’intégrité de vos données. Pourtant même la Javadoc précisait le format des données. Avez-vous été trop optimiste ? Et votre code, comment aurait-il dû réagir ? Est-ce votre faute ou celle du client ?

(more…)

OSGI : oui mais non

Wednesday, October 15th, 2008

Xebia a présenté hier soir « OSGI » au Paris JUG. Ce fut une conférence très intéressante menée par Cyrille Le Clerc et Nicolas Griso. Tout leur discours a consisté à nous présenter honnêtement ce qu’est OSGI et nous permettre de nous faire notre propre opinion.

Nicolas Martignole a fait une très bonne revue de la soirée. D’ailleurs, je nomme le Touilleur Express comme reporter officiel des JUG parisiens pour ses comptes rendus complets et les annotations qu’il fait.

Je voulais revenir sur les points que j’ai découverts et qui m’ont surpris pendant la soirée.

(more…)

Présentation du livre “The Mythical Man Month”

Sunday, October 12th, 2008
The Mythical Man Month - Essays on Software engineering

The Mythical Man Month - Essays on Software engineering. De Frederick P. Brooks, JR.

Pourquoi lire ce livre ?

Premièrement, si vous ne connaissez pas ce livre, même de nom, vous connaissez peut-être la célèbre expression : “ajouter des hommes à un projet en retard, ne fait que le retarder encore plus”. Cette idée a donné son titre à cet ouvrage. Et si cette expression ne vous a rien dit, peut-être que celle-ci vous parlera : “Malgré les nouveaux outils, il n’y a pas eu de gain significatif de productivité depuis les années 90″ (chapitre “No silver bullet”).

Ce livre a été écrit en 1975 par Frederick Brooks et réédité en 1995 pour son 20ème anniversaire. Il s’est vendu à 250.000 exemplaires, donc un beau succès. L’auteur a été chef de projet pour la plateforme IBM/360 puis pour l’OS/360. Il a l’expérience des équipes de taille importante au niveau organisationnel et gestion de projet.

Deuxièmement, si vous êtes passionné d’informatique et si vous voulez vous détacher un peu du code, je vous conseille de regarder autour de vous. Comment s’organise votre équipe ? Comment planifiez-vous vos développements ? Comment documentez-vous ? Comment réagit le management après un glissement du planning ? Que peut-on y faire ?

Troisièmement, restons plus terre à terre. C’est un livre en anglais mais assez facile à lire. Si vous avez cherché des listes de lectures qui recommandent quels livres d’informatique lire, “The Mythical Man Month” figurera certainement en tête. Si vous regardez du côté d’Amazon, c’est 127 avis et quasiment 5 étoiles sur 5. Bien qu’écrit il y a des dizaines d’années, il est toujours d’actualité et plein de bon sens.

(more…)

Humeur : Fcron et Rsnapshot, la doc et les exemples

Wednesday, October 8th, 2008

Billet d’humeur du jour.

Toujours dans mes histoires de backups, j’utilise Rsnapshot pour faire des copies de mon $home et Fcron pour déclencher la sauvegarde à intervalle régulier.

J’ai lutté avec ces deux outils et vous voulez savoir pourquoi ? Car j’ai sauté sur les exemples et que ceux-ci sont ambigus, limite trompeurs. Je grogne mais rien de grave. Allez, illustration…

Voyez l’extrait des exemples de Fcron :

# run every day
@ 1d echo "fcron daily"

Et bien, en réalité, la commande ne sera lancée qu’après 24h d’activité (pendant que Fcron sera lancé). Rien à voir 24h de temps réel écoulé comme semble l’indiquer le commentaire.

Autre exemple, Rsnapshot définir les « intervalles » suivants par défaut :

interval  hourly  6
interval  daily   7
interval  weekly  4
interval  monthly 6

Mais il faut bien voir que hourly, daily, weekly et monthly ne sont là que pour indiquer un groupe. On aurait pu imaginé :

interval  scala  1
interval  rebol  2

Le sens des groupes par défaut est trompeur. La doc mentionne que les noms ne reflètent que la norme de Rsnapshot et qu’on peut en changer. Aucun exemple à ce sujet. Sans un message à ce sujet sur la mailing-list, je serai passé complètement à côté. “Hourly”, ça veut bien dire ce que ça veut dire, non ?

Conclusion

Lire les exemples oui. Lire la doc oui. Mais avoir les mains de le cambouis (et les logs), c’est mieux.

Compte-rendu de la présentation de Terracotta chez Zenika

Friday, October 3rd, 2008

J’ai assisté hier à la présentation de Terracotta par son CTO et co-fondateur, Ari Zilka, organisé par la société Zenika.

Dés le début, le ton est donné dans la salle : 6 personnes lèvent la main en réponse à la question : « Qui a déjà essayé Terracotta ? ». Terracotta bénéficie d’un bon buzz, au vu du monde présent à cette présentation. Malgré cela, la société ne croule pas sous le nombre de partenariat payant, une soixantaine d’après Ari Zilka. Beaucoup plus de monde s’intéresse à la partie gratuite et open source. La tendance qui se dégage est que les clients s’intéressent d’abord à la partie librement disponible et se transforme de temps en temps en client payant. Pourtant, le produit fonctionne et même très bien. Il se fait connaitre de plus en plus et marque des points. Il a beaucoup d’atout dans sa manche comme nous allons le voir.

(more…)