samedi 13 novembre 2010

Devoxx me voila!

Bon vous le savez surement, Devoxx c'est la semaine prochaine !!!

Devoxx c'est quoi ? 3000 geeks qui déambulent dans un grand cinéma belge pour assister à des conférences très très pointues (un peu comme ça) et qui parlent un étrange langage:

-"Jpa Google play!"
-"No-SQL, REST Voldemort"
-"Lily Seam Adam Bien"
-"Groovy Roo"
-"Birt IzPack Flex..."
-"Java Hadoop Devops"

Alors si vous cherchez une place, ca risque d'être compliqué car la conférence est SOLD OUT depuis plusieurs jours, alors il ne reste qu'une seule solution, racheter la place d'un geek et ca risque de vous coûter cher, très cher!

Voici mon pré-programme:
Lundi: Seam + (Roo ou OSGI Labs) + Spring STS + (VisualVM ou Apache Mahout)
Mardi: (Android ou REST Labs) + HBase + Groovy/Grails + Kauri/Lily
Mercredi: Devops + (Infinispan ou Scale?) + Vaadin + Spring 3.1
Jeudi: Matt Raible + Akka + Twitter No-SQL Arch + (HadoopHBaseHive ou Josh Long at springsource) + (Jigsaw ou Neal Ford) + Devops
Vendredi: Camel + ElasticSearch
Samedi: Décollage pour la Nouvelle-Calédonie (Ah non, ca ne fais pas partie de Devoxx pardon)

J'aimerai resté le jeudi soir pour participer aux BOFs des Jug leaders ainsi qu'à celui du Cloud/NoSQL, mais bon pour ça il faudrait que je trouve un hotel et que je sache comment m'y rendre...

http://www.devoxx.com

dimanche 31 octobre 2010

Articles sur nos retours d'expérience sur un projet GWT

Sur les 6 derniers mois j'ai travaillé sur un projet GWT et avec le reste de l'équipe en charge du développement on a décidé de mettre en ligne la documentation produite sous forme de 8 articles publiés sur le blog de Sfeir: http://www.insideit.fr

Voici le texte d'introduction des articles :

Le contexte:

Le projet a pour but d'améliorer l'ergonomie et l'usabilité du back office d’un produit en cours de développement réalisé en collaboration avec SFEIR

Dans le cadre de ce projet, la version de GWT utilisée passe de la 1.7.1 à la 2.0.3 afin de bénéficier des nouvelles fonctionnalités offertes par cette version. De nouveaux pattern de développement ont également été mis en place au cours de ce projet.

Voici une série d'article sur les nouveautés de GWT 2, les choix d'architectures, et bibliothèques utilisés qui font part de notre retour d'expérience sur le sujet. Ces articles ont été écris par David Aboulkheir, Patrice de Saint Steban et Cyril Lakech

Voici la liste des articles publiés ou en cours de publication:
  1. Nouveautés de GWT 2.0
  2. UiBinder, enfin une forte collaboration entre le designer et le développeur
  3. Intégration facile de maquette Html en GWT 2
  4. Architecture Modèle-Vue-Presenteur
  5. Implémentation Modèle-Vue-Présenteur
  6. Ecrire des tests unitaires avec Mockito
  7. Mise en place de Gin sur le projet
  8. Internationalisation
Voici le lien vers le premier article concernant les nouveautés de GWT 2.0: http://www.insideit.fr/post/2010/10/25/Nouveaut%C3%A9s-de-GWT-2.0

GWT 2 est déjà dépassé puisque GWT 2.1 est déjà là! Mais ils nous a semblé important de partager ce retour d'expérience avec la communauté.

samedi 17 juillet 2010

Compte-rendu Soirée Ehcache / Terracotta @ ZenikaIT


J'ai eu la chance de pouvoir assister chez Zenika à une conférence animée par Greg Luck, qui est le créateur d'Ehcache et qui travaille maintenant chez Terracottech, la société qui développe Terracotta, une solution de cache distribuée.

Sa présentation se décompose en 3 parties, les intérêts de l'utilisation du cache, les nouveautés dans Ehcache 2 et les performances d'Ehcache.

Alors pourquoi utiliser du cache ? Pour le fun, parce que c'est à la mode ?
1/ Pour réduire la consommation de ressources
2/ Pour améliorer les performances
3/ Pour scaler en distribuant les données avec le cache

Pour cela c'est très simple, il suffit de raccourcir le parcours et le traitement de la demande d'informations. Vous avez un service qui doit aller charger des données en base, et bien la première fois vous allez effectivement charger ces données depuis la base de données mais les fois suivantes, pas besoin d'aller jusqu'à la base de données car vous avez pris soin de garder cette donnée au plus près de là ou vous en avez besoin. Donc vous raccourcissez le traitement entre la requête et la réponse.

Ensuite, il nous explique la loi d'Amdhal qui aide a comprendre comment on peut accélérer un système en s'attaquant au composant du système qui est le mieux placé pour être amélioré. Bref, voyez avec M. Wikipedia, il expliquera cela très bien.

Après quoi, on comprend comment l'efficacité du cache est calculée, c'est le rapport entre les requêtes du cache sur les requêtes totales. Une grande efficacité est égale à un grand offload et a de grandes performances.

Pourquoi le cache fonctionne t-il ?
Parce qu'il rapproche les données demandées au plus près du besoin.
La distribution de pareto est ensuite expliquée, il faut mettre en cache les parties du système qui sont le plus demandées et pas la totalité.

Ensuite, il nous explique pourquoi il faut utiliser un cluster; pour la disponibilité et pouvoir scale out (et non scale up)

Mais cela entraine d'autres problèmes :
- cela ajoute aurant de problèmes qu'il y a de nœuds car ils doivent récupérer l'information,
- la cohérence du cluster quand l'information se trouve à plusieurs endroits,
- la limite du théorème de CAP, qu'il renomme en PACELC :
« if there is a partition (P) how does the system tradeoff between availability and consistency (A and C); else (E) when the system is running as normal in the absence of partitions, how does the system tradeoff between latency (L) and consistency (C)? »

Et il n'y a pas de bonne réponse, car cela dépend de chaque application, il faudra donc que la solution soit configurable.

http://dbmsmusings.blogspot.com/2010/04/problems-with-cap-and-yahoos-little.html

Parlons un peu d'Ehache !

Il nous a dresser un beau tableau d'Ehcache, un solution robuste, qui tien la route, répandue, open source etc etc... Bref, LA solution de cache qu'il vous faut !

Il compare ensuite Ehcache avant et après le passage de Terracotta, en sommes c'est comme dans les pubs avant/après pour les rasoirs à 15 lames sauf que la ca vaut vraiment le coup de voir l'évolution !

Puis on regarde les modifications à apporter à ehcache pour mettre en place Terracotta: il suffit d'ajouter 3 lignes au ehcache.xml, vraiment très simple.

Les nouveautés de Ehcache 2:

-Compatibilité avec Hibernate 3.3+, refonte du SPI, union avec Terracotta 3.2,
-JTA compliant (avec XA, spring, ejb, config manuelle etc),
-Write-Behing: l'écriture dans le cache en tache de fond (asynchrone)
-Nouveaux paramètres de tuning
-Du monitoring (avec JMX) dans une nouvelle UI
-Et la ehcache console (dans la version 2.1)

Waou... une vrai version majeure, il y a tellement de nouvelles choses qu'il faudrait une heure pour expliquer chaque partie.

On a ensuite des démo de la Terracotta console et de la Ehcache console, impressive !

Après quoi on a tout un tas de comparaison des performances des solutions Terracotta/Ehcache versus le reste du monde : IMDG, memcached, mysql (pour l'exemple d'une BDD en directe)

On retrouve les sources de ces bench en ligne: https://svn.terracotta.org/repo/forge/projects/ehcacheperf/ (compte svn = identifiants de terracotta.org)

En conclusion, la mise en place de Ehcache avec Terracotta sur la fameuse application PetClinic nous donne:
-de 30 à 95% de réduction du chargement de la BDD
-des performance 80 fois supérieures à mysql
-beaucoup moins de temps de latence évidemment

Parlons du NoSql dans tout ca, et bien en fait, la combinaison Ehcache/Terracotta est une solution de NoSql sans capacité de recherche (humhum... moyen l'argument) mais par contre, il projet voit le jour, TerraStore, un "document oriented NoSQL store based on Terracotta" La classe !

www.ehcache.org

www.terracottatech.com


C'est la fin, où plutôt l'heure des Goodies a gagner par programme random SVP: un iPod & 2 places pour un conférence IT @ SF (javaone). Et je n'ai rien gagné, flute, par contre j'ai pas mal appris sur ce beau sujet qui à un bel avenir, et pour ca, je dis merci Zenika pour l'organisation de cette session et merci ADEO de m'avoir laissé m'y rendre.

A la question, "Est-ce que les slides seront mis à dispo en ligne?" la réponse de Greg a été : "No problem, OK". Alors si vous voulez les slides... demandez moi ;-)

mercredi 7 avril 2010

Installer Ubuntu sous Windows avec Wubi


Mon PC de bureau est un portable préconfiguré sous Windows avec toute la suite logiciel habituelle (Office & co) ainsi que des applications spécifiques à mon entreprise. J'ai besoin de garder la possibilité de démarrer avec cet OS pour accéder à certaines applications et aussi pour que l'ordinateur soit toujours pris en charge par le support interne en cas de problème.

Pour développer et travailler j'ai également besoin de pouvoir travailler sous Linux pour plusieurs raisons; pour utiliser certaines applications, pour des raisons de performances, pour tous les avantages liés à l'utilisation d'un OS libre et également pour réaliser des tests sous plusieurs environnement facilement.

Comment être capable d'utiliser Windows ET Linux sur la même machine?

Une réponse très simple pour parvenir à concilier les 2 est le dual boot !

OK mais comment le faire tout en respectant tous ces besoins ?

Avec Wubi ! Un programme d'installation de Ubuntu sur Windows qui a l'avantage d'être très simple.

Par défaut, le PC est livré avec 2 partition sur le disque dur, une pour l'OS Windows et une pour le reste, les données. Pour installer Linux on pourrait croire qu'il faut absolument allouer une partition spécifique, mais pas forcément. Wubi installera Ubuntu dans le répertoire Windows de son choix, quelque soit la partition.

Pour créer une partition de données spécifiques à Linux et ainsi éviter de mélanger les fichiers de travail Windows et les fichier Linux, il faut utiliser un utilitaire de gestion de partitions. Sous Windows, il n'est pas simple d'en trouver un qui soit gratuit, simple et efficace ! Une recherche rapide me persuade de graver un live CD GParted. Après avoir téléchargé le fichier ISO de GParted, je le grave sur un CD et je redémarre avec le CD dans le lecteur. En quelques clics je modifie les partitions pour avoir une partition système pour Windows, une partition data pour les données Windows et une partition data pour les données Linux.



Après quoi, il suffit de redémarrer sous Windows pour lancer l'installation d'Ubuntu avec Wubi. La partition de data Windows peut être utilisée pour l'installer. En quelques minutes vous avez un dual boot Windows/Ubuntu et à chaque démarrage vous pouvez choisir entre un démarrage sous Windows ou sur Ubuntu.

Il est même possible de spécifier votre préférence entre Windows et Ubuntu et de réduire le temps d'attente au démarrage pour sélectionner l'OS à utiliser:

Clic droit sur Poste de travail/Propriétés/Avancé/Démarrage et récupération/Paramètres/Démarrage du système/Modifier/Mettre Ubuntu en premier.

Voila, c'est mon pense-bête pour la prochaine fois que j'ai un dual boot à faire...

Ce n'est pas la solution optimale que les puristes choisiront mais elle répond à les besoins !

samedi 20 mars 2010

l'idée du Ch'ti JUG : 1 an déjà

Il y a un peu plus d'un an commençais les débuts des premiers balbutiements de l'ébauche du Ch'ti JUG. 1 an déjà...

Si on regarde le chemin parcouru on voit qu'on est passé du stade des sessions plutôt artisanales à un système bien rodé, quasi industriel.

Les premières sessions de mai et juin avec Antonio Goncalvez et Arnaud Héritier ont été les plus difficiles à organiser car il fallait trouver nos marques et elles resteront des sessions un peu spéciales, comme le symbole de la naissance du JUG du Nord.

Après la trêve estivale, en septembre, c'est Emmanuel Bernard de JBoss qui ouvre le bal avec une session sur Hibernate Search et Validation puis en octobre, c'est au tour de Carl Azoury de Zenika avec une session sur Terracotta.

La vitesse de croisière du Ch'ti JUG est atteinte fin octobre avec une session sur Nuxeo et Hadoop / Mapreduce réalisée par Olivier Grisel de Nuxeo puis en novembre c'est une session sur les technologies Google qui s'organise avec Didier Girard et Salvador Diaz de Sfeir.

En décembre, une session sur HTML5 et les Websockets est organisée avec Peter Lubbers de Kaazing puis c'est sur le thème de Drools que la communauté se retrouve après les fêtes avec Mark Proctor et Geoffrey De Smet de JBoss.

Ensuite c'est GlassFish ESB qui est présenté par Didier Burkhalter de Sun en février et on enchaine par une session sur l'agilité en mars avec Jean-Philippe Ravillion de MC3SI et Fabrice Robini ainsi que David Alia d'Octo Technologies.

Déjà 10 sessions. "Déjà" parce que je n'ai pas vu le temps passer.
Seulement 10 sessions. "Seulement" parce que vu l'engouement de la communauté, avec un peu de chacun on pourrait en faire bien plus.

Déjà plus de 1000 participants !

Déjà 12 sponsors, entreprises et écoles qui nous ont fait confiance : Proxiad, Sopra, Norsys, Proxiad (2), Ineat, SII, ADEO, Capgemini, MC3SI, Cylande, Isen, l'Université Lille 1, L'IUT Lille 1. Merci à tous ceux qui nous ont soutenus dans la démarche.

Déjà 8 vidéos en ligne de nos conférences grâce à Proxiad, notre partenaire vidéo.

Déjà 80 photos en ligne en souvenirs de nos évènements.

Déjà 75 tweets du compte twitter @chtijug ! Déjà 113 followers ! Déjà 30 articles sur le blog !

Déjà 10000 visites et plus de 5000 visiteurs uniques sur le site.

Déjà 1000 bières partagées entre Ch'ti Juggers autours du buffet de fin de session et déjà une dizaine d'after au resto, bien sympathiques les afters d'ailleurs !

Déjà 550 personnes inscrites au mailing d'annonce des sessions !

Déjà 5 partenaires éditeurs mettant des livres à disposition pour en faire la revue ou les faire gagner: Dunod, Pearson, Oreilly, Manning, Eyrolles.

Déjà 2 partenaires Goodies pour faire gagner des licences : Jetbrains et Zeroturnaround.

Seulement 3 Ch'ti JUG Leaders !

On peut être fier du chemin parcouru et il faut encore qu'on s'améliore pour enrôler de nouveaux Ch'ti JUG leaders.

mercredi 3 mars 2010

Avis sur le livre "Scrum" aux éditions Dunod

Avis sur le livre "Scrum" aux éditions Dunod

"Je ne m'attendais pas ça, mais la lecture de ce livre après plusieurs mois de pratique de Scrum a vraiment été enrichissant. C'est un livre qui permet de débuter avec Scrum, mais aussi de se perfectionner quand on vit déjà Scrum au quotidien !

Dans un premier temps, cela m'a conforté dans l'idée que notre implémentation de Scrum est très proche des bonnes pratiques délivrées par les formateurs Scrum de renom comme Claude Aubry. Mais cela a aussi mis en avant que pour certains "détails", nous n'étions pas en phase avec les préconisations.

Les chapitres traitant du fonctionnement de l'équipe Scrum en général et des cérémonies ont été pour moi une bonne piqure de rappel, même si je connaissais déjà ces pratiques, ils traitent très simplement de Scrum et apportent une vision experte qui est accompagnée de retours d'expérience concrets.

Les chapitres pour lesquels j'ai porté le plus d'intérêt sont ceux traitant du ScrumMaster et du PO car ce sont des rôles que je n'ai jamais endossés. Mais j'ai également apprécié la précision de la définition du DONE et les conseils pour passer à SCRUM sans douleur.

J'attendais un chapitre complet sur le Scrum de Scrum car travaillant dans ce contexte depuis peu, nous avons besoin de conseils sur ce point."

Cyril Lakech (Ch'ti JUG - http://chtijug.org)

Avis sur le livre "Programmation GWT2" aux éditions Eyrolles

Programmation GWT2Programmation GWT 2

« Ce livre est le premier à traiter de la programmation GWT 2 et il m’a fait redécouvrir cette technologie après 2 ans de développement ! L’utilisation du français facilite sa compréhension et quand les points très techniques sont abordés c’est un gros plus.
On retrouve quelques erreurs de typo ici ou la mais on imagine aisément la quantité de travail qui fut nécessaire pour sortir en temps et en heure cet ouvrage à seulement quelques jours de la sortie de GWT 2. La bonne nouvelle c’est qu’une seconde édition verra le jour et qu’il existe un site communautaire qui permet de partager les remarques des lecteurs.
Le style se lit très facilement et j’ai apprécié la franchise et les conseils utilisés dans les différents chapitres.
J’ai eu le sentiment qu’à chaque chapitre on avançait un peu plus dans les entrailles de GWT, de plus en plus profond à chaque notion abordée et pour finir en prenant du recul ou mettre en perspective les nouvelles fonctionnalités.
Je recommande donc fortement ce livre de Sami Jaber et nous remercions les éditions Eyrolles de nous avoir transmis cet ouvrage. »

Cyril Lakech, Ch’ti JUG (chtijug.org)

Avis sur le livre "Apache Maven" aux éditions Pearson

Apache Maven

« Le ton léger utilisé rend la lecture de l’oeuvre agréable et on se surprend à enchainer les chapitres sans effort. Le livre s’attaque à des sujets très techniques, mais c’est dans la transparence que les avantages autant que les inconvénients de maven sont abordés. Très fair-play, on y retrouve même des exemples de solutions concurrentes comme gradle! Tout au long de l’histoire que nous raconte l’ouvrage (une société intégrant progressivement maven dans ses développements) on comprend l’utilité et la force de maven tout en apercevant ses limitations. Non, cet ouvrage n’est pas la bible exhaustive et précise qu’est « maven, the definitive guide » mais il a le privilège d’être le seul livre à rendre la compréhension de maven accessible au commun des mortels… »

Cyril Lakech, Ch’ti JUG (chtijug.org)

Avis sur le livre "Spring par la pratique, seconde édition" aux éditions Eyrolles

Avis sur le livre "Spring par la pratique, seconde édition" aux éditions Eyrolles

"J'utilise Spring depuis plusieurs années mais j'ai tout de même lu chacun des chapitres du livre. Les premiers chapitres expliquent les concepts liés à Spring et c'est avec pédagogie qu'ils sont illustrés au lecteur, c'est l'occasion de faire une piqure de rappel. Les chapitres des parties suivantes détaillent les différents services Spring et leur fonctionnement est expliqué clairement pas à pas. Des exemples sont utilisés pour démontrer certains points et on retrouve l'application qui sert d'exemple, tudu list, en ligne.

J'ai apprécié le chapitre sur les transactions pour sa simplicité de compréhension et les chapitres sur les dynamic modules et DM server m'ont vraiment mis l'eau à la bouche!
J'ai juste eu du mal avec le chapitre traitant de JCA, j'ai du le lire 2 fois pour comprendre l'approche de Spring pour nous abstraire de la complexité de ce mode d'interconnexion.

C'est un très bon livre que je conseille pour prendre connaissance des différents services offerts par Spring, mais il est important de pouvoir tester, en parallèle de la lecture, les exemples avec le code disponible en ligne. Et il ne faut pas hésiter à potasser un peu sur la toile pour approfondir certains points pendant ou après la lecture."

Cyril Lakech, Ch'ti JUG (chtijug.org)