Struts 2 final

28 02 2007

Voilà c’est fait, Struts 2 vient de sortir en version finale.

Il s’agit plus exactement de la version 2.0.6 qui est estampillée Generally Available (GA) ce qui signifie validée pour l’environnement de production.

C’est donc une tâche en plus que vous pouvez ajouter dans votre veille technologique de début d’année (après avoir fait vos devoirs sur OpenID évidemment 😉 )



Investissez dans OpenId

28 02 2007

Un des premiers agacements que rencontre l’internaute est le fait d’avoir une paire identifiant/mot de passe pour chacun des sites qu’il visite.

C’est vite lourd et jusqu’à peu, il n’existait pas de solution intéressante à ce problème.

En théorie, cette problématique se nomme le SSO (Single Sign-On). Le SSO consiste à centraliser toutes les informations d’identification en un point unique. Les programmes, comme un Intranet par exemple, peuvent ensuite demander au serveur SSO d’authentifier la personne se connectant.

Les SSO sont aujourd’hui répandus dans les entreprises car c’est un plus pour les utilisateurs et surtout un gros plus pour l’opérationnel qui évitent les incidents « j’ai oublié mon mot de passe« …

 

Mais ce qui est applicable dans le contexte urbanisé d’une entreprise n’est pas forcément possible pour Internet. En effet, le point crucial d’un SSO est qu’il repose à un moment ou à un autre sur un serveur centralisant l’information de sécurité.

Il y a quelques années, aux alentours de la sortie de .NET, Microsoft a sorti sa technologie Passport .NET. Son idée était simple : proposer un système d’authentification centralisé vendu aux partenaires. L’echec fût retentissant. En effet, qui voudrait investir dans une technologie propriétaire dont toutes les informations stratégiques (comptes) seraient stockées sur les serveurs Microsoft ?

Résultat, les sites implémentant Passport se comptent sur les doigts de la main sauf Microsoft.com qui utilise à plein régime son système évidemment. (Si le sujet vous intéresse, vous pouvez lire Authentification Passport .NET en ASP .NET écrit il y a de nombreuses années 😉 )

Le besoin à combler étant toujours présent, des alternatives se sont développés et il semble aujourd’hui que le gagnant soit OpenID.

 

Qu’est-ce que OpenID

OpenID est donc la même chose, c’est à dire un système centralisé d’authentification. L’avantage de OpenID est que ses spécifications sont ouvertes et donc accessibles à tous. De fait, il est parfaitement possible pour quiconque de développer son serveur OpenID, et l’on retrouve déjà de nombreux services nous permettant de créer notre identifiant OpenID. Par exemple, Verisign propose ce service.

Un identifiant OpenID est alors simplement une URI, voici la mienne générée par Verisign : JulienCarnelos.pip.verisignlabs.com.

 

Sur notre profil OpenID, on peut renseigner les éléments que l’on veut et on est libre de choisir quels seront les éléments partagés.

 

Le plus intéressant est que l’on peut se créer des profils « virtuels ». Par exemple, quand j’utilise mon OpenID sur les sites de e-commerce je partagerai ma véritable identité et mon adresse postale alors que quand je poste un commentaire sur un blog, mon surnom, mon email et l’url de mon blog suffit amplement…

 

Utilisation de OpenID

Je vais aller visiter un site lambda acceptant l’authentification OpenID : http://www.openidenabled.com/

Pour me connecter, je vois dans le cadre à gauche « OpenId », je saisis alors mon identifiant et je valide.

Je suis alors automatiquement redirigé vers Verisign qui me demande si je valide bien mon adhésion et quel profil je souhaite partager.

Après acceptation, je reviens sur le site original authentifié. Et voilà, la magie s’est operée !

 

Le futur

Ce qu’il y a de formidable pour OpenID, c’est que, bien qu’il ne soit pas unique (il existe de nombreux concurrents Yadis, LID, etc. ), il bénéficie d’un momentum important qui risque de le déclarer gagnant.

Plusieurs éléments peuvent nous laisser penser ça :

  • Firefox 3 implémentera en natif la gestion des OpenID => il sera alors encore plus simple de se logger
  • Microsoft et AOL ont annoncé le support de OpenID
  • DIGG, Wikipedia et Yahoo vont implémenter OpenID

On voit bien que cette lame de fond risque de se transformer en tsunami, alors soyez les premiers et investissez dès aujourd’hui le terrain !

 

Quelques ressources pour attaquer le sujet :

 

Je sais maintenant ce qu’il me reste à faire sur ce blog 😉



Fight for momentum

20 02 2007

Une des grandes incompréhensions de l’informaticien est son caractère distant.

Grossièrement, le travail d’un développeur consiste à traduire des pensées en lignes de code.
il s’agit d’une activité de forte réflexion dont l’objectif est la transformation d’idées sous la forme d’un langage informatique.
Ce travail est difficile car il nécessite une concentration importante.

C’est cette concentration qui rendra le cerveau efficace sur sa tâche en donnant les moyens aux idées d’aller le plus vite possible sur le clavier. En un mot la productivité !

Une mesure courante est de considérer qu’il faut environ un quart d’heure pour atteindre cet état.
Une fois atteint, la concentration peut durer largement plus d’une heure.

Maintenant plaçons-nous dans une demi journée imaginaire (pas tant que ça) :

* 9H00 : Je commence le codage
* 9H15 : J’atteins mon plateau de productivité
* 9H20 : Le téléphone sonne, je suis coupé
* 9H30 : je reprend le codage avec la concentration à zéro
* 9H45 : plateau de productivité
* 10H00 : Quelqu’un vient me poser une question, je suis coupé
* 10H05 : je reprend le codage avec la concentration à zéro
* etc.

Résultat : 5 + 15 => 25 minutes d’efficacité totale.

La conclusion est claire, il suffit de seulement quelques événements dans la matinée pour casser la productivité.
Malheureusement cette attitude est courante et je suis le premier à ne pas me rendre compte quand je dérange les gens.

Quelles solutions peut-on trouver ?

  • Plutôt que de systématiser le coup de téléphone, écrire un email dérange moins
  • Certaines équipes utilisent un signe pour montrer qu’une personne ne souhaite pas être dérangée.
    Par exemple, un petit drapeau posé sur l’écran ou un signe posé sur la porte
  • Eviter le zones de bruit, par exemple réunion improvisée de 2 personnes qui dérange tout le bureau.

Toutes ces idées ne sont que du bon sens et du savoir-vivre, donc à vous de jouer 😉



problème d’installation .NET ?

7 02 2007

Pour référence, 3 posts utiles :

 

A garder bien au chaud, c’est vraiment utile ! 😉



Seth Godin présente chez Google

6 02 2007

Seth Godin, célèbre marketeux du Net expose dans une vidéo quelques concepts forts tel que le permission marketing ou le principe du flipping the funnel.

Une occasion plutôt rare de le voir à l’oeuvre. Ici c’est carrément chez Google qu’il vient présenter ses idées. 

La vidéo date d’un an, ce qui est antédiluvien en temps Internet mais le contenu est toujours aussi captivant.

La vidéo est évidemment en VO mais sous-titrée :
« All Marketers are Liars » – Seth Godin speaks at Google

 

Bonne lecture !



Rails, mon amant de programmation

1 02 2007

Dans mon travail de tous les jours je revendique une expertise technique sur les technologies .NET et Java/J2EE.

Mais le soir venu, lorsque la lumière du jour disparait, je me transforme en raileur.

Je quitte un monde d’IDE affinés depuis 10 ans et de langages statiques pour me retrouver devant mon simple éditeur de texte, une console MS-DOS et une contrée vaste remplie de dynamisme et de conventions.

Au début je trouvais choquant de perdre tous ces beaux outils, le refactoring surpuissant d’Eclipse, le contrôle statique à la compilation… Aujourd’hui je m’aperçois que cela n’a aucune incidence pour une seule raison :

Rails = productivité

Et je m’étonne à chaque fois des choses que j’arrive à accomplir durant le peu de temps que je consacre à ces activités. La transition d’une idée en concept puis en implémentation devient fluide. Les points bloquants restent les points de conception mais une fois ceux-ci résolus, le codage se fait naturellement.

Si l’on prend une métaphore routière, J2EE c’est le 33 tonnes. Le moteur est costaud et le réservoir d’essence est plein. On est donc sûr d’arriver au bout.

Rails c’est la formule 1. Il faut être à l’aise et savoir garder le contrôle. Evidemment, c’est plus difficile à piloter. C’est ce qui explique pourquoi les « early adopters » sont souvent des personnes ayant déjà une expérience significative dans le développement.

Voilà pourquoi cette technologie a le vent en poupe. Percera-t-elle dans le milieu professionnel ? C’est difficile à prédire, mais la tendance semble bonne… En tout cas mon intérêt s’affirme à chaque fois que je viens à pratiquer du rails.