Pages

Friday, October 17, 2008

Retour sur... l'Agile Tour 2008 à Lille

L'Agile Tour 2008 à fait escale mardi dernier à Lille.

Pour résumé :
- les locaux de l'école d'ingénieurs Telecom Lille1 était impeccable pour l'évènement.
- l'organisation était sans faille.
- les sessions (soit orientées "présentation" soit orientées "atelier") étaient de grande qualité.

J'ai été surpris de voir que le public semblait majoritairement connaître les grands principes autour des méthodes Agiles. Ce n'est peut-être qu'une impression liée au public des sessions auxquelles j'ai assisté...

Le seul reproche que je puisse faire : c'était trop court! En même temps, ce n'est que la première édition. Il ne faut pas être trop gourmand...

En tous cas pour une première, c'était vraiment bien!

Vivement l'année prochaine! Enfin je l'espère.

Wednesday, October 8, 2008

Iphone, la belle bête

Je suis l'heureux possesseur d'un Iphone 3G depuis quelques semaines (merci chérie...).

L'Iphone pour moi c'est :
- un bel objet.
- un gadget perso.
- un outil pro.
- une ergonomie incroyable.
- un Ipod.
- un téléphone conviviale.
mais c'est surtout : internet dans la poche.

Il fallait le dire. C'est chose faite...

J'ai dû recevoir 2 MMS dans ma vie dont un juste après l'obtention de l'Iphone... et la c'est le drame.

Heureusement j'ai été voir le fameux MMS sur le site d'Orange avec l'Iphone. Et Hop, ça c'est fait.:-)

Monday, October 6, 2008

Agile Tour 2008

Un grand rendez-vous à ne pas manquer!!!

L'Agile Tour "Le rendez-vous francophone de l'agilité" (http://www.agiletour.com/) passe par Lille le 14 Octobre Après-midi.

Pour ceux que ça intéresse (débutant, amateur ou professionnel), il est possible de s'inscrire sur le site.

Voici le wiki de la session de Lille : http://wiki.agiletour.com/At2008Lille

Thursday, August 28, 2008

Java, Moteur de template : Freemarker

Voici un moteur de template efficace : Freemarker

Le concept et de concevoir un template (un modèle contenant des "variables") :
inputTemplate.ftl :
<html>
<head>
<title>les Contacts</title>
</head>
<body>
<div>
</div>
Les contacts de ${carnet.proprietaire.prenom} ${carnet.proprietaire.nom}
<div>
<table>
<tr>
<td>nom</td>
<td>prenom</td>
</tr>
<#list carnet.lesContacts as unContact>
<tr>
<td>${unContact.nom}</td>
<td>${unContact.prenom}</td>
</tr>
</#list>
</table>
</div>
</body>
</html>
Construire une structure objet contenant les valeurs des variables à remplacer dans le template :
  Map root = new HashMap();

/* structure agenda */
Map agenda = new HashMap();
root.put("carnet", agenda);

/* structure proprietaire (dans agenda) */
Map proprietaire = new HashMap();
agenda.put("proprietaire", proprietaire);

/* remplissage de la structure proprietaire */
proprietaire.put("nom", "Dupont");
proprietaire.put("prenom", "Jean");

/* structure contacts (dans agenda */
List lesContacts = new ArrayList();
agenda.put("lesContacts", lesContacts);

/* remplissage des contacts */
Map unContact = new HashMap();
lesContacts.add(unContact);
unContact.put("nom", "Bond");
unContact.put("prenom", "James");

unContact = new HashMap();
lesContacts.add(unContact);
unContact.put("nom", "Woman");
unContact.put("prenom", "Cat");
Fusionner le template et la structure objet dans un fichier de destination :
   InputStreamReader fileTemplate = new InputStreamReader(ClassLoader
.getSystemResourceAsStream("inputTemplate.ftl"));
Configuration cfg = new Configuration();
cfg.setObjectWrapper(new DefaultObjectWrapper());
Template temp = new Template("inputTemplate.ftl", fileTemplate, cfg);

Writer out = new OutputStreamWriter(System.out);
temp.process(root, out);
out.flush();
out.close();
C'est évidemment un exemple assez simple mais les possibilités offertes par Freemarker sont très larges.

Pour plus d'informations : http://freemarker.sourceforge.net/

Wednesday, August 27, 2008

Java: Scanner un répertoire

Dans la cadre du développement de plugin maven 2, récupérer un ensemble de fichier selon certains critères peut être intéressant :
- récupérer un sous ensemble de fichiers source java.
- récupérer un ensemble de properties.
- ...

Plexus est là! Cette librairie est déjà largement utilisée par les plugins maven 2.

La classe DirectoryScanner vous permettra de faire ça.
Il faut lui spécifier :
- un répertoire de base.
- des patterns d'inclusions et d'exclusions (en options) du style "**/**.properties".
puis appeler la méthode scan() et récupérer ensuite un tableau avec l'ensemble des chemins des fichiers correspondant à la recherche.

Pour plus d'informations, tout est dans la javadoc de la classe.

wonderfull!