Prochains évènements à Lille

lundi 13 octobre 2008 :: perrick :: Extreme Programming :: aucun commentaire :: aucun trackback

Pour les développeurs de la région lilloise, plusieurs évènements gratuits arrivent dans les tous prochains jours...

Pour commencer, le mardi 14 octobre 2008 -- oui c'est demain -- il y a l'étape lilloise de l'Agile Tour : http://www.agiletour.com/. Il s'agit d'un OpenSpace sur toutes les méthodes agiles. Effet garantie : il y a des ateliers très intéressants -- j'ai déjà eu l'honner de participer à certains.

Ensuite semaine prochaine, le lundi 20 octobre 2008, c'est le prochain apéro PHP lillois. Les inscriptions sont comme d'habitude en ligne. Et si 4 personnes s'inscrivent en plus, on pète tous les scores ;-) C'est au café L'Ecart à partir de 19h30.

Enfin le coding dojo lillois se reforme : prochain rendez-vous le mardi 28 octobre 2008 à 12h30 au Café Citoyen. On poursuivra le MasterMind en Java en full TDD...

Le programme du Forum PHP 2008 est en ligne

mercredi 1 octobre 2008 :: perrick :: PHP :: 2 commentaires :: un trackback

Etant donné que je m'occupe du site web du Forum PHP, j'en profite pour m'offrir une petite avant-première : le programme complet du Forum PHP 2008. Et comme il est plutôt intéressant, il faut en profiter. En particulier, les assidus auront remarqué les têtes d'affiche ont été profondement renouvellées : Rasmus et Andrei ne sont pas de la partie cette fois. En lieu et place, nous avons invité Zak Greant, Laura Thomson et Lukas Smith pour les anglophones, que du beau monde tout de même.

Du côté des français, 20Minutes.fr, Rue89, TF1 ou BNP feront des retours d'expériences intéressants et riches. Et puis la petite nouveauté, on a mis en place des sessions connexes : Javascript et "créer sa boîte" en particulier... En espérant vous y voir nombreux !

Encore bluffé par le turc mécanique

mercredi 24 septembre 2008 :: perrick :: PHP :: aucun commentaire :: aucun trackback

Bien sûr tout le monde connait Amazon pour ses bouquins. D'autres pour l'infrastructure technique que la société de Seattle met en place : son cloud complet avec Elastic Compute Cloud, Simple Storage Service, SimpleDB, Simple Queue Service, etc...

Mais ce qui me paraît le plus impressionant en ce moment, c'est leur force de travail on demand : le Mechanical Turk. Deux exemples sont apparus récemment dans mon radar : le magnifique billet de 100 dollars et la transcription audio de Andy Baio. C'est toujours impressionant de voir cette énergie démultipliée via le net. Du grand art !

Suhosin et ses protections inattendues

mardi 23 septembre 2008 :: perrick :: PHP :: 3 commentaires :: aucun trackback

Je suis actuellement en train de bosser sur une nouvelle fonctionnalité d'opentime : le plan de charge. Cela doit permettre de savoir qui bosse quand et surtout qui a encore des trous dans son planning à venir. J'ai donc un grand tableau avec des cases à cocher : une personne x 30 jours x 20 projets, on est déjà à 600 cases.

Les cases à cocher décochées ne sont pas envoyées au serveur, donc pour savoir quelles sont les charges qu'il faut supprimer, j'ajoute un champ caché juste derrière (oui, je sais on pourrait aussi faire un diff avec ce qui existe en base mais avec le système de filtre, ce serait plus compliqué). Bref tout fonctionne en local. Pas de problème...

Et puis lors du premier passage en production -- sur notre intranet interne -- voilà-t-il pas que ça ne fonctionnait pas : mon identifiant de session changeait et j'étais littéralement ejecté de l'application. Quelques longues heures d'incompréhension plus tard (avec en plus une connexion ADSL intermittente aujourd'hui), j'ai découvert que le "coupable" était Suhosin. Ce très bel outil permet de sécuriser une installation de PHP et parmi les critères modifiables, on y trouve suhosin.post.max_vars => 200 => 200.

Les coupables : mes 600 champs cachés qui étaient largement au-dessus de la limite par défaut... Au final je n'ajoute ces champs cachés que lorsque la checkbox est bien cochée. Et au passage j'économise du code HTML (en passant 400K à 200K sur une page avec 50 projets) ce qui fera plaisir à certains.

PS : encore un de ces petits trucs que je garde précieusement au fond de mon blog en espérant que ça pourra aider l'un ou l'autre.

Des trucs pour un bureau écolo

samedi 20 septembre 2008 :: perrick :: PHP :: 2 commentaires :: aucun trackback

Depuis un an je suis membre du CJD. Et cette année j'ai rejoint le groupe entreprise et environnement : la première rencontre aura lieu très prochainement. J'en profite donc pour ouvrir une nouvelle section à ce blog. Bien sûr je serais ravi d'y joindre tous les liens des uns et des autres sur ce thème. En attendant quelques liens à se mettre sous la dent.

Et le premier truc qui m'a surpris : la calculatrice à l'eau.

calculatrice à eau

Apprendre à taper à la machine à écrire

jeudi 11 septembre 2008 :: perrick :: Connexe(s) :: 3 commentaires :: aucun trackback

Il y a maintenant 10 ans, ma mère m'avait proposé d'apprendre à taper à la machine à écrire. C'est peut-être l'activité qui m'a le plus servir depuis. Le tout pour 5h par semaine pendant 1 mois et demi. Je suis encore plutôt mauvais avec les accents et les numéros mais je tape quand même pas trop lentement...

Et voilà que Steve Yegge évoque Programming's Dirtiest Little Secret. Je retiendrai en particulier une phrase de son long billet : For starters, non-typists are almost invisible (ma traduction : Pour commencer, ceux qui ne savent pas taper à la machine sont preque invisibles). Bien sûr il n'existe aucune statistique pour appuyer cette affirmation. Mais ô combien elle me paraît pertinente.

Au passage un petit test via http://typera.tk/ m'apprend que j'en suis à 170 lettres par minute.

d.Construct 2008, quelques heures après

vendredi 5 septembre 2008 :: perrick :: PHP :: 2 commentaires :: aucun trackback

Premiers pas à Brighton pour le d-construct 2008. C'est marrant de voir un événement de 700 personnes dans une seule salle : on est loin des conférences techniques où on "monte" jusque 150 personnes grand maximum dans un pièce (et encore c'est pour Rasmus). Ici c'est plus de l'ordre du show : petite musique d'attente, projection sur le rideau noir et l'orateur -- Steven Johnson (de outside.in sur le web hyperlocal et urbain) qui se tire après 45 minutes bien réglés. Pour les questions, c'est déjà trop tard.

Pour la suite des conférences, on parle de "psychologie sociale" appliqué à l'industrie du jeux vidéo et ensuite à celle du web. La différence entre l'académisme réjouie de la journaliste "jeux vidéos" (Aleks Krotoski) et de l'amateur qui transmet quelques grammes des kilos de recherche psychologique à ses pairs (Joshua Porter). On continue avec un petit catalogue de bonnes idées par Daniel Burka (de Digg et Pownce) et une explication convaincante de Tantek Celik sur les micro-formats et son interaction avec le web social. Dernières sessions : d'abord les fondateurs de Dopplr qui montrent leurs dernières nouveautés et un esprit bien à eux (vive les chaussettes sur scène), ensuite Jeremy Keith qui fait le coup du marshmallow "sagesse des foules - abeilles et fourmis - longue traîne - 6 degrés de séparation - etc."

Read next

Travailler sur l'ergonomie et y réfléchir

dimanche 31 août 2008 :: perrick :: Ergonomie :: 2 commentaires :: aucun trackback

La semaine prochaine je serai à Londres, avec un petit crochet par Brighton pour le dConstruct 2008. Et qui sait peut-être un lecteur de ce billet aura envie qu'on s'y croise ? En tout cas j'espère bien en faire un compte-rendu...

D'ici là il y a quand même une ressource très intéressante pondue par Yahoo! sur un sujet connexe : la Design Pattern Library avec des structures pour mettre en oeuvre et faciliter une vie sociale "saine" dans une communauté web. Après les pratiques plus ou moins exploratoires des premiers temps, j'ai l'impression que ces ressources vont devenir très précieuses. Tout comme aussi les expérimentations plus ou moins publiques de StackOverflow.

Quelques statistiques sur des frameworks PHP Open Source

jeudi 17 juillet 2008 :: perrick :: PHP :: 7 commentaires :: aucun trackback

Boris, stagiaire chez No Parking, met à profit ses talents de statisticien pour effectuer une étude sur des frameworks PHP. Passent à sa moulinette : Akelos, Prado, CodeIgniter, Solar et ZendFramework. Bien sûr je vous invite à aller lire sa première étude complète : Fiabilité des fichiers dans des frameworks PHP. Ceux qui le souhaitent peuvent aussi aller jeter un coup d'oeil sur le modus-operandi pour comprendre un peu mieux les conclusions.

Et s'il ne fallait retenir qu'une chose de cette petite étude : les commentaires, c'est bien... Et bien sûr c'est une pratique que nous n'appliquons pas du tout sur OpenTime ;-)

Les résultats du TestFest à Paris

mercredi 18 juin 2008 :: perrick :: PHP :: aucun commentaire :: aucun trackback

Lors du premier PhpCamp à Paris au début du mois, Raphaël Rougeron avait introduit la TestFest à la française. Nous étions quelques uns à prendre 1h ou 2 pour essayer de faire avancer leschmilblick PHP avec des tests unitaires. Les résultats sont désormais dans le dépôt CVS : il y a le bug découvert par Julien Pauli et celui sur sur SplFileObject::fgetss que j'avais exposé. En espérant que ça en inspire d'autres pour une prochaine fois ;-)

Des tests unitaires pour couvrir des process

jeudi 12 juin 2008 :: perrick :: Développement :: 2 commentaires :: aucun trackback

L'équipe de No Parking s'est largement étoffée depuis 10 mois : trois nouveaux développeurs m'ont rejoint. Histoire de partager 65 000 lignes de code d'opentime : elles ne sont pas toujours faciles à apprivoiser... En plus il faut surtout continuer à avoir une haute qualité de code pour chaque release. Et comme on peut en faire presque tous les jours, la tâche peut être rude.

Parmi les petits trucs qui aident, nous avons mis en place une gamme un peu spéciale de tests unitaires : ils vérifient non pas une fonctionnalité mais des propritétés sur les fichiers dans le dépôt. Ainsi on va vérifier que toutes les chaines de traduction existent bel et bien dans les trois langues : français, anglais et italien. On va aussi vérifier la concordance entre le numéro de la version courante et le dernier numéro dans le fichier de mise à jour. Bref tout un tas de vérifications (automatisées via le hook en post-commit dans Subversion) qui permettent de ne pas oublier ces petites choses qui font la qualité d'un logiciel au quotidien.

PS : merci à Gérald de m'avoir fait comprendre lors du PhpCamp de juin 2008 que ce "petit truc" pouvait en intéresser d'autres ;-)

Occasion à ne pas rater : PhpCamp et TestFest à Paris

mercredi 28 mai 2008 :: perrick :: PHP :: aucun commentaire :: aucun trackback

Le 7 juin 2008 -- dans moins de 2 semaines -- aura lieu le premier PhpCamp à Paris. Et comme nous sommes en plein mois de TestFest pour PHP, l'occasion est trop belle pour la rater. Bien sûr je suis incapable de donner un quelconque programme : il s'agit d'une non-conférence. Il suffit donc d'être sur place et d'influer sur les sessions (avec un vote, une proposition ou des pieds) pour y dire ce qu'on a envie de dire et pour entendre ce qu'on a envie d'entendre...

Mon petit doigt me dit que ce sera un évènement à ne pas rater. Avec des contributeurs reconnus sur presque tous les frameworks "importants" de la place PHP et des anciens conférenciers du Forum PHP, le niveau des échanges sera à coup sûr intéressant sur pas mal de sujets. Vous aurez deviner que j'ai hâte d'y être ! Et peut-être de t'y croiser ;-) Bref pensez à passer par les cases Rendez-Vous AFUP pour les inscriptions et PhpCampParis pour les infos...

BarCamp lillois : un chti récap

dimanche 25 mai 2008 :: perrick :: Connexe(s) :: un commentaire :: un trackback

En 2003, je regardais avec envie le premier Foo Camp. 5 ans plus tard -- putain 5 ans -- j'ai participé à mon permier BarCamp à Lille. Et j'ai été bluffé par l'organisation : service irréprochable (bière, salade, fraise, gauffre, crêpe) et lieu intéressant (ah les transats moumoutes). Un grand bravo à l'équipe de documentalistes de l'ESC Lille et à Christophe (un ancien des apéros PHP à Lille).

Ensuite bien sûr j'ai retrouvé des têtes connues, lilloises ou parisiennes. Difficile choisir parmi les thèmes abordés : c'est avec les communautés de pratique chez les pompiers et avec les carrefours du posible de la FING que j'ai pris du grain à moudre. L'importance de l'animateur avec le premier, la structuration du co-working avec le second : au sein de l'AFUP, ça prend tout son sens.

Ensuite j'ai eu l'occasion d'évoquer la question du commercial avec une session intitulée Tirez sur le commercial : il s'agissait là d'un thème tout nouveau pour moi (No Parking fonctionne sans poste de commercial à part entière). Les échanges ont été assez engagés et passionnés, surtout qu'il y avait des futurs commerciaux (ESC oblige) et des commerciaux en poste (de chez Google notamment). Bref à ce niveau là aussi, il y a de la matière à réflexion pour les mois à venir... En tout cas prochaine étape : le PhpCamp du 7 juin 2008. En espérant que la densité y soit plus forte encore !

Mise à jour, migration et autres nettoyages de printemps

:: perrick :: Connexe(s) :: aucun commentaire :: aucun trackback

Petit week-end tranquille à la maison : j'en profite pour mettre à jour ce blog. Mauvaise nouvelle : j'ai perdu toutes les images récentes (moins d'un an -- date de mon dernier backup). Par contre la migration vers un dotclear 1.2.8 s'est faite sans problème. J'en ai profité pour installer un nouveau plugin pour la pagination et remettre en marche les commentaires. Bien sûr j'ai eu mon premier spam en moins de 5 minutes... Incroyable et consternant : ça faisait pourtant plus de 6 mois que tout commentaire était devenu impossible.

Si vous avez une copie des images de ce site dans un cache quelconque, merci de me faire signe. Et si par ailleurs vous détectez un problème bizarre, idem ;-)

Au revoir Selenium, SimpleTest revient et JQUnit arrive

vendredi 23 mai 2008 :: perrick :: PHP :: un commentaire :: aucun trackback

Il y a quelques temps nous étions passés à Selenium pour lancer nos tests de recette automatique sur notre application -- OpenTime. Et il y a un mois environ, nous avons changé le fusil d'épaule : en plus de faire les tests unitaires avec SimpleTest, nous l'utilisons aussi pour faire les tests de recette. Le pourquoi tient en un mot : simplicité.

Le serveur Selenium (en Java) n'était tout simplement pas stable -- en plus, c'est une plaie à maintenir quand on est spécialiste de PHP et pas de Java. Ensuite SimpleTest a marqué pas mal de point avec des assertions sur le code HTML via des sélecteurs CSS. Enfin le processus était trop dur à automatiser. Grosso modo, SVN lançait un script en post-commit, ce script PHP installait une version de l'application puis SimpleTest prenait la main pour lancer les tests Selenium via le serveur, ce serveur lançait à son tour un Firefox ou un Opera avant de recevoir les résultats, SimpleTest recevait le tout et enfin un email était envoyé... Trop fragile. Surtout quand on pense que la ligne de commande doit être capable d'ouvrir un Serveur X pour le navigateur au milieu de tout ça. Avec un reboot automatique -- chaque soir -- du serveur Selenium, ça devenait définitivement trop complexe.

Nous sommes donc revenus à une architecture plus simple pour l'intégation continue avec SimpleTest pour les tests unitaires et de recette : on n'utilise plus de navigateur mais au moins ça tourne tous les jours et on peut l'oublier un peu... Surtout que tout le monde chez No Parking utilise OpenTime au quotidien : le besion est moins pressant.

Et puis donc, le petit nouveau du jour : jqunit. Il s'agit d'un testeur unitaire spécialisé pour le framework jQuery dont nous dépendons désormais pour pas mal d'interactions côté client. Ce composant n'est pas encore intégré dans notre process d'intégation continue -- chaque chose en son temps -- mais déjà avoir une première barre verte sur ce code là quand on développe, c'est pas mal... Affaire à suivre donc.