Grails est un framework web Groovy qui se vante de haute-productivité. Mais qu’est-ce qui lui permet de se prétendre plus productif qu’un autre framework ? Un de ses meilleurs atouts s’appelle le scaffolding. Le scaffolding, c’est le générateur de code de grails qui permet de créer une application entière en cinq minutes à partir des objets métier ! Dit comme ça, ça fait rêver ! Oui, mais j’entends déjà les détracteurs des générateurs de code qui hurlent à l’illusion du gain de productivité… Et bien peut-être pas, pour une fois !
Qu’est-ce que le scaffolding ?
Le scaffolding (« l’échafaudage » pour les puristes francologues), c’est l’effet « magique » de Grails, ou « comment générer toute une application CRUD à partir de quelques classes métier ». Voyons de plus près comment le scaffolding fonctionne.
…LE scaffolding !? LES scaffolding plutôt. Car Grails propose deux approches différentes pour générer les écrans à partir des classes métier : statique ou dynamique.
Regardons d’abord le scaffold statique.
Lire la suite de cet article »
Agile et sécurité étaient le thème d’une session sur la sécurité dans un cadre agile. Le show était assuré par Jason Li et Jeff Hoff (Aspect Security).
Leur mise en scène presque théâtrale a fait oublier le niveau un peu faible de la présentation. Elle réservait tout de même quelques slides très intéressants que l’on vous doit de partager !
Lire la suite de cet article »
Nous avons assisté à la présentation de Hibernate Search par Emmanuel Bernard (project leader). Pour faire simple Hibernate Search est une API qui permet de « googler » votre modèle en s’appuyant sur Apache Lucene. Nous en avions déjà parlé dans cette introduction à Hibernate Search.
Néanmoins c’est l’occasion de revenir sur certains concepts et problématiques abordés par les recherches full-text, très bien expliqués par Emmanuel :
Lire la suite de cet article »
En fin de matinée, nous avons eu une présentation Domain Driven Design et Value Objects (attention, ces VO là ne sont pas des DTO !). Cette présentation ne fait pas partie des révélations de Jazoon, néanmoins elle a fait preuve de bon sens, et ça on aime !
Comme la présentation, commençons par la conclusion. Evitez d’éparpiller la logique métier ou pire d’utiliser des règles de gestion implicites, utilisez notamment les Value Objects pour décrire la logique métier. Cela rend le code plus compréhensible et plus facile à tester.
Lire la suite de cet article »
Cette deuxième journée de Jazoon a commencé par une keynote de Danny Coward, qui a établi deux tops 5 distincts, à savoir le top 5 de ce qui va arriver dans le JDK 7, et celui de ce qui existe déjà dans JavaFX 1.2 (on peut noter cette amusante différence d’échelle).
Laissons de coté le top 5 JavaFX (nous y reviendrons dans un autre billet), pour nous concentrer sur les 5 nouveautés du JDK 7, « les plus excitantes » pour un Sun Fellow.
Lire la suite de cet article »
L’un des sujets très présents dans cette 1ère journée était le langage Groovy, et plus généralement les langages dynamiques.
Dierk König (Canoo) a commencé la matinée en présentant « sept patterns d’utilisation de Groovy » sur les projets.
On a bien apprécié la concision du « reader RSS en swing » et le « script ant musical » (en faisant jouer jfugue quelques notes au début et fin du build). Vous pouvez retrouver les 7 points très bien résumés sur le blog du Touilleur Express.
Pour l’anecdote, les extraits de code étaient tapés dans une console Groovy, recopiés caractère par caractère par … un script Groovy ! (la classe, non ?)
Neal Ford (ThoughtWorks) a enchainé avec les « design patterns » dans les langages dynamiques : il a pris quelques patterns du GoF et a montré en quoi les langages dynamiques – comme Ruby ou Groovy – sont plus adaptés pour résoudre les problèmes posés par ces patterns.
Après un salade/saucisse/cornetto (bon appétit) rapidement avalé, ce fut le tour de Gradle. Il s’agit d’un système de build qui élève Ant grâce à la puissance de Groovy. Il se veut plus souple que Maven et apporte les capacités de programmation des scripts Groovy (boucles, conditions, etc).
Dommage que la présentation se soit contentée d’exemples du style « hello world », c’est du coup assez difficile de juger le potentiel de l’outil. Néanmoins, ça a l’air prometteur.
Pour finir avec Groovy, Jetbrains nous a fait une démo très séduisante du support Groovy/Grails sur IntelliJ IDEA. C’est définitivement le (seul) meilleur outil pour coder en Groovy !
Jazoon nous confirme que les langages dynamiques gagnent du terrain, et Groovy est le grand représentant de ces langages dans la sphère Java.
Nous allons voir comment créer un mini-DSL pour écrire des expressions cron – utilisées pour scheduler des batchs – de façon plus lisible. Au lieu d’écrire « * */5 * * * ? » nous saisirons « every(5.mn) », et tout de suite vous comprenez mieux que le batch sera lancé toutes les 5mn !
Lire la suite de cet article »
Etes-vous déjà sorti d’une réunion avec l’impression de ne pas avoir avancé, de ne pas avoir abordé les vrais problèmes ?
Avec les réunions classiques, les points importants sont souvent discutés en dehors de la réunion, lors des pauses café, par des personnes qui parfois n’ont même pas été invitées à cette réunion. Harisson Owen a été confronté à ce problème lors de ses conférences et a cherché à le résoudre en élaborant l’Open Space Technology (OST) – l’approche « Forum Ouvert » en français.
Rassurez-vous, contrairement à ce que le nom laisse penser, l’OST n’a rien de technique. Il est même étonnant par sa simplicité.
Open Space ? Qu’est-ce que c’est ?
Un Open Space est une sorte de « conférence créative ». Il sert à réunir des gens (de 5 à 1000 !) pour travailler ensemble autour d’un thème commun de façon créative et innovante. Contrairement aux réunions classiques, l’Open Space propose une structure favorisant l’innovation et la communication, et qui permet de briser les silos habituels en plaçant tout le monde au même niveau.
Un Open Space peut se dérouler sous forme de conférence étalée sur 3 jours ou sous forme de réunion plus courte, à laquelle les participants sont invités pour venir travailler sur un thème donné. Attention à ne pas déformer cette invitation en obligation, seules les personnes intéressées – les bonnes personnes – doivent venir à l’Open Space.
Les néophytes seront tout d’abord surpris par la disposition de la salle : les chaises forment un grand cercle, et la table a disparu !
Lire la suite de cet article »