Comparatif des frameworks web JEE

26 10 2007

Le monde Java est toujours synonyme de choix de frameworks. Exemple toujours flagrant, quelle technologie choisir pour un nouveau développement web ?

Une matrice de décision est très bien mais elle ne met l’emphase que sur les fonctionnalités et le gagnant sera généralement celui qui en possède le plus grand nombre.

Pourtant, comme chacun sait, ce n’est pas le nombre de fonctions qui font un bon produit (Are Features The Enemy?), et parfois small is beautiful.

Un autre test consiste à faire une course d’escargots. Sauf qu’à la place des escargots, vous prenez des développeurs à qui vous donnez à chacun un framework différent.

C’est ce qu’a tenté Xebia sur le développement d’une couche présentation dans leur « Xebia Web Framework Contester« . Les frameworks testés sont :

  • Strut2
  • Google Web ToolKit
  • Wicket
  • My Faces (JSF)

Je vous encourage à lire l’article qui donne les avantages et inconvénients perçus par chaque équipe.

Et la conclusion de leur étude ? Voici leur résultat :

Catégorie “Couverture”, l’équipe Struts2 a implémenté le plus de fonctionnalités, c’est indéniable. En revanche déception vis à vis du rendement !
Catégorie “Découverte”, Wicket a été une révélation pour beaucoup d’entre nous ! Une fois passée la barrière de la découverte, le développement est rapide et efficace.



La procrastination

15 10 2007

Terme à la mode, la procrastination n’évoque rien d’autre que le fait de remettre à demain ce que l’on peut faire aujourd’hui.

Exemple limpide : « il faudrait que j’écrive un article sur mon blog, mais plus tard » 😉

Tout le monde est plus ou moins touché par ce phénomène mais les informaticiens sont des cibles de choix. Il faut dire qu’Internet n’arrange rien à l’affaire.

La réponse sur le comment combattre la procrastination se trouve au delà de la bonne volonté individuelle. S’organiser est essentiel et mettre en place une stratégie d’actions peut se réveler salvateur !

les belles paroles c’est joli, mais on veut du concret ! Volvox a publié une liste de techniques dans ce sens :

  • Mettre de côté des périodes de temps pour faire les choses.
  • Si ça te viens à l’esprit alors fais-le.
  • Une minuterie pour me ramener à la réalité
  • Pas de multitâche
  • Modifier mon environnement de travail pour éliminer les distractions.

Voir l’article complet.

Donc arrêtez de lire des blogs, et reprennez votre travail 🙁



Livre Ruby on rails gratuit E-book

2 10 2007

J’avais déjà lu des chapitres en exemple qui semblaient assez bien fait mais cette fois, c’est le livre complet qui est proposé gratuitement en téléchargement.

Build Your Own Ruby On Rails Web Applications par Patrick Lenz

Téléchargeable ici : http://www.sitepoint.com/books/rails1/freebook.php

Attention, l’offre ne dure qu’un temps et sera terminé le 1er décembre 2007. De plus il vous faudra fournir un email pour l’url de téléchargement.

Bon download 😉



Update successful

28 09 2007

A part quelques petits déboires causés par des plugins non compatibles avec la nouvelle version 2.3 de WordPress, ma transition vers l’autre hébergeur s’est bien déroulée.

J’en profite pour remercier la centaine (aujourd’hui 120 sur le compteur FeedBurner) de lecteurs fidèles et j’espère continuer à vous intéresser.

Si vous continuez à venir visiter ce blog par le site web, sachez que vous pouvez utiliser le flux RSS qui se trouve à droite ou même vous inscrire avec votre email. Vous serez ainsi tenu au courant de chaque nouvel article.



Blog en ReadOnly

26 09 2007

Le temps que je transfère ce blog sur nouvel hébergeur, je passe les commentaires en lecture seule.

Je tiens à remercier du fond du cœur Christophe, alias « la chaudière » qui m’aura hébergé durant ces quelques mois. N’hésitez pas à aller voir son site, il parait que la zone recettes est particulièrement intéressante…



Validation d’un IBAN en C#

26 09 2007

J’ai passé trop de temps à chercher sur Internet comment réaliser la validation d’un code IBAN en C#.

Ce bout de code valide donc que le n° IBAN saisi est correct. Attention il ne valide pas en fonction du pays mais calcule seulement la clé « checksum ».

Ce n’est pas du grand art mais cela permettra à d’autres d’éviter de passer une heure à chercher !

Et si vous êtes plutôt VB.NET, pas de problème, http://www.codechanger.com/ est là…

 

private static bool ValidateIBAN(string ibanValue)
{
  string iban = ibanValue.Substring(4, ibanValue.Length - 4) 
		+ ibanValue.Substring(0, 4);
  StringBuilder sb = new StringBuilder();
  foreach (char c in iban)
  {
    int v;
    if (Char.IsLetter(c))
    {
        v = c - 'A' + 10;
    }
    else
    {
       v = c - '0';
    }
    sb.Append(v);
  }
  string checkSumString = sb.ToString();
  int checksum = int.Parse(checkSumString.Substring(0, 1));
  for (int i = 1; i < checkSumString.Length; i++)
  {
     int v = int.Parse(checkSumString.Substring(i, 1));
     checksum *= 10;
     checksum += v;
     checksum %= 97;
  }
  return checksum == 1;
}


10 erreurs communes sur les blogs

5 09 2007

Pour une fois, je fais un « méta-post » en bloggant sur les blogs…

Jakob Neilsen (gourou de l’ergonomie) a posté il quelque temps, en octobre 2005 (c’est à dire il y a des siècles en années Internet) une étude sur les erreurs communes trouvées sur les blogs. Cette liste étant toujours d’actualité, il est intéressant de revenir dessus :

  1. Pas de biographie de l’auteur
  2. Pas de photo de l’auteur
  3. Des titres non descriptifs
  4. Liens qui ne disent pas où ils vont
  5. Les BestOf ne sont pas mis en avant
  6. Le calendrier est la seule navigation
  7. Fréquence de publication irrégulière
  8. Mélange des sujets
  9. Oublier que l’on écrit pour son futur boss
  10.   Avoir son nom de domaine sur un service de blogs.

Le plus intéressant est évidemment de confronter ces points à mon blog. Alors voyons :

1 et 2 (Biographie et Photo) : je plaide coupable à 50%. En effet, je n’ai mis qu’une courte biographie sur la page A Propos et pas de photo. Le but était d’avoir une certaine indépendance entre mon travail au quotidien dans la société qui m’emploie et les différentes opinions que je donne ici (pas de mélange des genres). Pour la photo, je crois finalement qu’il est important de pouvoir mettre un visage sur un nom et j’ai donc modifié la page A Propos pour intégrer ma photo…

3,4 : Concernant les titres, la navigation et la destination des liens, j’essaye dans la mesure du possible d’être descriptif.

5: Les article BestOf étaient mis en avant sur le précédent blog mais n’apparaissent plus dans celui-ci. Il faudra que j’y réfléchisse à nouveau.

6 : Pas de calendrier, le problème est reglé…. enfin j’espère ?

7 : Voilà le point noir de tout bloggeur. Parmi tous mes proches qui ont souvent commencé à blogger avant moi, peu continuent aujourd’hui avec une fréquence inférieure au mois ! Pour ma part, j’essaye d’être régulier avec une écriture hebdomadaire. Parfois je me laisse aller et j’atteinds les deux semaines, mais je sens alors la honte m’envahir et je me force à trouver l’inspiration. Un blog est un jardin qu’il faut entretenir avec un minimum régulier…

8 : Point important pour moi, je n’évoque pas ma vie privée. Je peux partager avec vous des événements personnels importants mais ils ne seront jamais la majorité du contenu présent ici. D’ailleurs je vais encore une fois faire évoluer le sous titre et le contenu de la page A Propos afin de préciser l’intention de ce blog qui s’éloigne de plus en plus des articles purement techniques pour décrire plutôt le domaine de l’ingénierie logicielle en général.

9 : J’ai toujours ce point en tête quand je blogge. Tout ce que l’on écrit un jour sur Internet restera visible à jamais…

10 : Et oui, ce n’est pas pour rien que ce blog se trouve sur son propre nom de domaine . Ainsi je garantis que tout lien pointant vers mon site restera dans la mesure du possible vivant. (Vous pouvez donc me donner autant d’amour que vous voulez !)

Conclusion : j’ai l’impression que je ne m’en sors pas si mal. Si vous avez des remarques sur des évolutions possibles sur ce blog ou des défauts dont je n’aurais pas conscience, c’est le bon moment !



Etre polyglotte… ou ne pas être !

24 08 2007

Au bon vieux temps des gros systèmes, il suffisait de maitrîser un langage de programmation (au hasard le COBOL) pour répondre aux besoins métier.

Ce temps est terminé et désormais le moindre développement nécessite l’utilisation de plusieurs technologies pour arriver à nos fins.

Exemple pour un développement WEB J2EE standard :

  • Java
  • XML
  • Javascript
  • HTML
  • CSS
  • SQL

Et je décris ici le minimum vital. Il est donc illusoire de croire qu’il suffit de connaître le Java pour coder des applications web Java. C’est d’ailleurs généralement la première problèmatique que rencontrent les débutants : on passe plus de temps à traiter des problèmes d’affichage en HTML avec CSS qu’à implémenter la couche métier objet.

La solution à ce problème n’existe pas, et il faudra apprendre à jongler avec les nombreux langages utilisés tout au long de notre vie. Et ne croyez pas être à l’abri avec un langage « plateforme » Java ou .NET car Java peut devenir le nouveau COBOL

Bonus – je me fais plaisir : Parfois il est possible d’éviter le syndrôme de l’hyperpolyglotte :

image



OpenID, le point 6 mois après

18 08 2007

En février dernier, j’avais joué l’oracle en prédisant le succès de OpenID comme gestion de l’identité unique.

Force est de constater qu’en 6 mois (longue durée en temps Internet), les choses n’ont pas vraiment bougé. Jan Miksovsky apporte sur son blog des éléments de réponse :

OpenID reste une bonne idée mais n’est pas adapté au grand public.

Je ne peux que constater la véracité de cette affirmation tant on sent que OpenID est une solution technique dont le discours n’est compréhensible que par des personnes techniques. Je n’imagine que trop bien l’utilisateur lambda souhaitant passer par OpenID :

  • Quel fournisseur OpenID j’utilise ?
  • Pourquoi je dois saisir une URL comme identifiant et pas un email ?
  • Le fait de passer de passer par le fournisseur lorsque je m’authentifie la première fois et perturbant et pas forcément clair

C’est un travail de vulgarisation qui nous attend si nous voulons que OpenID soit enfin la révolution telle qu’elle est promise. A chacun de jouer à son niveau mais le plus important serait de mettre en place un « langage » commun. La vulgarisation passe par une standardisation des différentes boîtes d’identification, par un standard sur les messages d’erreur, de choix de profil, d’acceptation, …

Le design des différentes pages et messages devront être pensé pour un utilisateur non technique. La preuve est qu’aujourd’hui quand on va sur le site de référence openid.net, voilà sur quoi on tombe :

image

Dans la description de ce qu’est OpenID, on a d’abord la définition pour les « geeks« , et seulement après la définition pour le commun des mortels… Edifiant 🙂



Altruisme et Open Source

3 08 2007

camera

Des études ont montré que lorsqu’une personne passait devant une caméra de surveillance, son comportement changeait :

L’impression d’être épié renforce notre sentiment d’altruisme  et nous pousse à se comporter comme un modèle pour ceux qui, potentiellement, nous regarderaient.

Ce qui est intéressant avec cette théorie, c’est qu’elle paraît plausible pour expliquer une des forces de l’open source.

En effet, on qualifie souvent les outils Open Source (Firefox, Linux, …) plus robustes que leur équivalent propriétaires (Windows, IE, …). En se mettant à la place du développeur qui travaille dessus, une explication s’impose. Car il sait que chacune des lignes de code qu’il tape pourra être lu, relu, vérifié par une autre personne inconnue. Potentiellement, il a 1 million de développeurs qui pourront un jour regarder son code et le juger.

Dans ce cas, il n’est guère étonnant d’imaginer qu’une attention plus grande sera portée au code réalisé avec pour résultat une meilleure qualité.

Référence : L’altruiste, l’oeil et le totem (Le Monde)