Lecture du projet SimpleTest par ohloh

lundi 23 octobre 2006 :: perrick :: Projets Open Source :: aucun commentaire :: aucun trackback

Via Andrei et quelques autres, j'ai découvert le projet ohloh et toutes ses stats sur des projets Open Source. PHP et SimpleTest y sont cités.

C'est rigolo de voir que mon langage de prédilection sur SimpleTest est le XML : il s'agit là de toute la documentation que j'ai pu traduire l'année dernière. Et puis il y a bien sûr mon ratio de commentaires : 0.00% dans le plus pur style XP ;-)

L'innovation logicielle en Inde

dimanche 22 octobre 2006 :: perrick :: Entreprenariat :: aucun commentaire :: aucun trackback

Suite à un vieux billet sur l'Open Source en Inde, j'explore de temps en temps ce vaste champ informatique : il est anglophone, profitons-en ! Et aujourd'hui au détour d'un blog, je découvre un salon particulier : Proto.In.

L'objectif est simple : We are not just an outsourcing destination. We have innovation happening and we just want to shout that out to the world. En français ça donne : Nous ne sommes pas qu'une destination de délocalisation. Nous avons des projes innovants en cours et nous voulons le crier au monde. Le contenu précis du salon n'est pas encore connu mais je compte bien y jeter un coup d'oeil prochainement...

Via le blog de Siddharta Govindaraj.

Goûtons cet Erlang que j'ai envie de voir

mardi 17 octobre 2006 :: perrick :: Ruby, Erlang & dérivés :: 2 commentaires :: aucun trackback

Après un mini-détour par Ruby (qui aura duré deux soirs), je goûte en ce moment à Erlang. La première étape se passe sans trop d'encombre -- téléchargement, compilation, installation du plugin Eclipse, première surprise : les instructions se terminent pas un point (et non un point-virgule). Et même le point-virgule indique que la fonction n'est pas terminée : comme dans une vraie phrase.

Puis le premier programme. Cela donne quelque chose comme :
-module(robot_http).
-export([format_temp/1]).

format_temp([]) ->
 ok;
format_temp([City | Rest]) ->
 print_temp(convert_to_c(City)),
 format_temp(Rest).

convert_to_c({Name, {c, Temp}}) ->
 {Name, {c, Temp}};
convert_to_c({Name, {f, Temp}}) ->
 {Name, {c, (Temp - 32) * 5 / 9}}.

print_temp({Name, {c, Temp}}) ->
 io:format("Nom : ~w / Temperature : ~w c. ~n", [Name, Temp]).

Pour ceux qui se poseraient la question du Pourquoi essayer Erlang et pas Ruby / Python ou autre chose, ma première réponse serait "parce que". Et ensuite leur livre blanc. Sauf que la vrai réponse est ici http://fr.groups.yahoo.com/group/xp-france/messagesearch?query=erlang.

PS : le nom de la catégorie a changé. De Ruby, je suis passé à Ruby, Erlang & dérivés...

Un commit qui fait plaisir

vendredi 13 octobre 2006 :: perrick :: Développement :: 4 commentaires :: aucun trackback

Il y a un mois, Vincent - stagiaire chez No Parking - a mis en place un outil d'intégration continue pour suivre le développement d'openTIME. Il s'appuie sur un hook post-commit de Subversion. Le process suivant s'enchaine :

  1. destruction de l'installation précédente
  2. export du dépôt SVN
  3. attribrution des bons droits sur les fichiers
  4. création de la base de données
  5. configuration d'openTIME
  6. instanciation des variables globales
  7. lancement des 2893 tests unitaires
  8. envoi d'un email

Et aujourd'hui j'ai enfin obtenu le résulat que je souhaitais :

[nopkg opentime 1135] SUCESS !!!
Commit de perrick le 13/10/2006 à 16:30
opération effectuées :
Nouvelle image pour les rendez-vous [rdv]
fichiers concernés :
A : /grafx/class_rdv.gif

Unit testing
OK
Test cases run: 30/30, Passes: 2893, Failures: 0, Exceptions: 0

Dans Thunderbird, ça donne :
succès au post-commit

Dire que cela faisait 113 commits que je l'attendais : pas mal pour un vendredi treize.

Un passage à Londres pour faire le point sur SimpleTest

dimanche 8 octobre 2006 :: perrick :: Projets Open Source :: aucun commentaire :: aucun trackback

Je suis passé à Londres en fin de semaine dernière : l'occasion de rencontrer Jason Sweat et de suivre sa présentation SimpleTest and TDD, de présenter au groupe de PHPLondon ma conférence sur Les pratiques agiles (et XP) dans un univers PHP (histoire de la roder avant la ZendConf), de revoir Marcus Baker et de parler de l'avenir de SimpleTest.

Après un passage en mode plus tranquille -- deuxième fiston Baker oblige -- le projet devrait reprendre du poil de la bête dans les semaines à venir. Le programme est simple : tout d'abord clôturer la branche 1.1 (ce sera la dernière pour PHP4) et ensuite passer à la version 2 (qui sera PHP5.1 et plus uniquement).

Pour la version 1.1, une dernière fonctionnalité devrait voir le jour : la gestion des iframes. Cette version devrait sortir une fois que tous les bugs sont corrigés : si vous en avez encore, c'est le moment de les sortir. Et pour la version 2, la première fonctionnalité pourrait être une interface "fluent" (quelqu'un a-t-il pondu une autre traduction ?) pour gérer les objets fantaisie.

Inscriptions ouvertes sur le Forum PHP 2006

mercredi 4 octobre 2006 :: perrick :: PHP :: aucun commentaire :: aucun trackback

Après l'annonce du programme, on a franchi une nouvelle étape sur la longue route qui nous mène au Forum PHP 2006 : on a ouvert les inscriptions ! L'année dernière j'avais particulièrement apprécié les échanges informels en plus des conférences : j'espère que que cette année, nous pourrons faire encore mieux à ce niveau-là aussi. Une chose qui ne change pas, ce sont les tarifs (toujours à 100 euros les deux jours pour les membres) ! Note : on est systématiquement à guichet fermé, ne tardez pas trop...

annonce du Forum PHP 2006 à Paris

Le spam qui tue (chez No Parking)

mardi 26 septembre 2006 :: perrick :: No Parking :: un commentaire :: aucun trackback

J'ai reçu aujourd'hui par email une réponse que j'attendais depuis des lustres : Solutions stationnements, par la société Double Parking France. Et ça donne :

double parking

double parking

PS : au delà d'un très large sourire, il n'y a pas de liens parce que ça reste du spam quand même.

Read next

Programme presque complet du prochain Forum PHP 2006

samedi 23 septembre 2006 :: perrick :: PHP :: 5 commentaires :: aucun trackback

Les 9 et 10 novembre 2006 aura lieu le prochain Forum PHP 2006. Si les inscriptions ne sont pas encore possibles (on y travaille), le programme est d'ores et déjà très alléchant. Il y aura le désormais classique show de Rasmus Lerdorf (je ne m'en lasse pas), la grande nouveauté d'Andrei Zmievski (Unicode dans PHP6), pas mal de retours d'expériences (PHP au Ministère des Finances belge en particulier).

Un autre axe fort est comment faire du code PHP de qualité : les Design Patterns, les tests unitaires, la sécurité, l'audit automatisé, etc... Dire qu'à l'apéro du dernier Paris Web, j'avais rencontré des lecteurs de ce blog : j'espère en croiser d'autres au Forum PHP 2006 !

Rentrée à la fac demain

mardi 19 septembre 2006 :: perrick :: Perso :: 5 commentaires :: aucun trackback

Une fois n'est pas coutume demain je rentre à la fac. Cela ne m'est pas arrivé depuis 1998 - j'ai eu mon diplôme de matheux en 1999. Cette fois-ci je change de casquette puisque je serais prof. ! Avec trois modules à enseigner en Master 2 PRISME à l'UFR IDIST de Lille 3 : PHP, MySQL et un sous-ensembe XML. Il se peut aussi qu'il y ait des sessions sur la gestion de projet "Agile". Bref tout ce que j'aime !

Des tests de recette directement dans l'application en développement

vendredi 25 août 2006 :: perrick :: Développement :: 3 commentaires :: aucun trackback

Il y a deux ans déjà, j'avais écrit mes premiers test de recette avec SimpleTest. Pour des raisons de performances et surtout parce que le support JavaScript y est inexistant, nous n'avions pas été très loin. Depuis Selenium est arrivé avec un concept différent : au lieu d'émuler le navigateur, il s'en sert pour effectuer des tests. Principal avantage, on voit ce qui se passe concrètement !

Après un premier test concluant hier, j'ai passé mon après-midi à hacker Selenium pour l'intégrer dans mon univers de développement. Une fois compris son fonctionnement interne, je suis arrivé à :

Selenium dans openTIME

C'est assez original d'avoir l'application openTIME dans l'application openTIME via une iframe mais on s'y fait vite. Le gros avantage, c'est que tous mes paramètres de configuration sont pris en compte directement au lancement des tests. Il me reste juste un souci avec Opera (que j'espère mineur) et ce sera le bonheur...

Conférence à San José fin octobre - début novembre

jeudi 24 août 2006 :: perrick :: PHP :: aucun commentaire :: aucun trackback

J'ai reçu ce matin une chouette nouvelle : la conférence que j'avais proposée pour la Zend / PHP Conference 2006 a été acceptée. J'aurais donc l'occasion de parler des Agile (and XP) practices in the PHP universe à San José - Californie - USA. Ce sera une version remaniée de la conférence réalisée à Québec, avec une grosse nouveauté quand même : elle sera en anglais !

Zend Conference 2006

opentime en anglais devient "no stopping"

mercredi 23 août 2006 :: perrick :: No Parking :: 2 commentaires :: aucun trackback

Parce que j'aime bien le principe des sorties régulières et rapides, voici le résultat de 2 jours de travail : nostopping.co.uk. Il s'agit d'un mini-site pour promouvoir la version anglaise de notre produit phare, opentime.

no stopping -- opentime en anglais

On brouille un peu les pistes avec le nouveau nom : c'est juste que noparking.co.uk et opentime.co.uk étaient déjà pris... Je vous laisse regarder la démo -- enfin ceux que ça intéresse bien sûr.

En tout cas ça veut aussi dire que désormais openTIME est bilingue. Je suis assez content de la vitesse à laquelle la traduction a pu s'effectuer : la conception effecutée il y a presque 3 ans le permettait. J'espère faire un billet sur ce sujet une fois que cette version anglaise sera un peu plus mature.

Une autre raison pour aimer Opera

mercredi 2 août 2006 :: perrick :: Navigateurs :: aucun commentaire :: aucun trackback

Je n'y croyais pas vraiment mais le test est bluffant... Javascript Speed Tests. Reste à savoir pourquoi Opera est 3,5 fois plus rapide que ses concurrents.

Profiling avec Xdebug et WinCacheGrind

:: perrick :: PHP :: aucun commentaire :: aucun trackback

Après trois années en production, il était peut-être temps d'utiliser un coup de profiling sur mon logiciel web de gestion du temps, openTIME. L'installation de Xdebug sur mon iBook G4 s'est effectué sans soucis : ça fonctionne pareil que pour Linux / Unix.

Par contre pour la visualisation, c'est un peu plus compliqué : KCacheGrind (sous KDE) et WinCacheGrind (pour Windows) n'ont pas encore d'équivalent sous Mac OS X. Me mettre à utiliser Fink, puis chercher les librairies KDE avant de tenter une compilation était l'étape de trop. En attendant, j'ai donc dépoussiéré mon vieux PC qui ne sert plus qu'à la comptabilité pour lire le résultat.

Voici un léger aperçu... en attendant les premières analyses plus poussées !

profiling d'opentime avec Xdebug / WinCacheGrind

Des curseurs pour s'accorder

vendredi 28 juillet 2006 :: perrick :: Management :: aucun commentaire :: aucun trackback

Lors de mon dernier passage dans le groupe des Praticiens XP de Paris, j'ai participé à une session sur Écrire Sur Les Murs. Nous avons exploré différents types de traces sur des murs : de celles qui transmettent de l'information aux visiteurs (clients / hiérarchie / collègues).

A la fin de la session, Laurent Bossavit a évoqué un autre type de vecteur graphique d'information : à défaut d'en retrouver une référence quelque part (je recherche toujousr), je l'ai appelé suivi par curseurs. Au début du projet, les développeurs indiquent les différentes dimensions du projet (délai, fonctionnalités, ergonomie, coût, etc.) et le "client" indique ses priorités : bien sûr il ne peut pas mettre tous les curseurs à fond -- ce serait trop facile.

Nous avons utilisé ce type de graphique en interne, avec une dimension en plus : la perception de chacun. En vert, le projet perçu par le développeur, en rouge ce qu'il pense être les priorités de la direction et en bleu les axes exprimées par la direction. C'est intéressant de noter les écarts entre les différents curseurs : ça donne des pistes de réflexion évidentes pour travailler !