Il est passé par ici

vendredi 9 décembre 2005 :: perrick :: PHP :: 2 commentaires :: aucun trackback

...il repassera par là.

Après Lille, Paris, Bordeaux, Lyon et Londres, mon prochain apéro PHP sera à Fréjus -- au bord de la mer. Le rendez-vous est fixé à la semaine prochaine : mardi 13 décembre à partir de 20h chez El Patio au 719 boulevard de la mer. Les inscriptions se font toujours via aperophp.net. En espérant vous y croiser.

Petites péripéties de nouvelle machine

vendredi 2 décembre 2005 :: perrick :: Mac OS X :: 4 commentaires :: aucun trackback

Je viens d'avoir peur pour la première fois (avec mon nouveau iBook) : Eclipse a planté. Ou plutôt la JVM s'est bloquée comme une grande. Ce fut ma première grosse frayeur dans ce nouvel environnement. D'autant plus embarrassant que je m'étais déjà habitué à ne subir aucun plantage au niveau de l'OS ;-)

Sinon revenons-en à mes deuxièmes impressions. Un cd audio ne se lance pas encore tout seul : iTunes s'ouvre bien mais je n'ai pas encore trouvé l'option à cocher pour la lecture automatique. Le boitier chauffe : après plusieurs heures de développement (Eclipse + Opera + serveur web + quelques bricoles), ma main gauche se demande ce qu'il lui arrive. Et aussi svnX a du mal avec les noms de fichiers accentués : je vais devoir mettre à jour l'ensemble de mon arborescence pour supprimer tous ces caractères indésirables. Si un de mes gentils lecteurs a des asctuces pour l'une ou l'autre de ces remarques, je suis preneur.

Petite astuce pour passer à PHP5

mercredi 30 novembre 2005 :: perrick :: PHP :: un commentaire :: aucun trackback

Chez certains hébergeurs mutualisés, PHP5 est installé depuis longtemps. Seulement cette version n'est disponible qu'avec l'extension *.php5 -- et pas encore avec le plus classique *.php. Dans le même temps SimpleXML est trop tentant pour se contraindre à PHP4 seulement. Une règle de ré-écriture d'URL (mod_rewrite) très simple et le tour est joué :
RewriteEngine on
RewriteRule ^index\.php$ index.php5

Le fait d'avoir un pseudo-front controller est assez pratique dans ce cas : tous les traitements passent par un fichier unique (index.php / index.php5). Et les utilisateurs (avec leurs précieux favoris) ne voient aucune différence.

Plus de détails pour PHP 6

mardi 22 novembre 2005 :: perrick :: PHP :: 3 commentaires :: aucun trackback

Juste après le Forum PHP, les membres du PHP Core se sont réunis à Paris (dans les bureaux de Yahoo puisque c'est dans cette entreprise que bosse Rasmus). Derick qui était présent nous propose désormais un compte-rendu assez complet : Minutes PHP Developers Meeting.

Il y a des choses qui étaient attendues : le travail d'Andrei sur Unicode et le « grand nettoyage » (register_globals, magic_quotes, register_long_arrays, HTTP_*_VARS, {} vs. [], etc.) Et puis il y a tout le reste qui fera notre bonheur. Mes préférés ? Le cache d'opcode (APC) -- pendant que Zend poursuit son jeu du chat et de la souris avec le monde Open Source -- et le patch Hardened PHP.

Grand détour par Mac OS X

:: perrick :: Mac OS X :: 5 commentaires :: aucun trackback

Cela faisait un bail que la décision était en train de mûrir. Et puis les choses se sont précipitées hier quand le disque dur de mon portable a lâché brutalement. J'ai d'autant plus la rage que Sony a volontairement bloqué l'accès au disque dur : je n'ai pas été capable de l'enlever pour l'explorer depuis une autre machine. Ni moi ni le technicien informatique du revendeur Apple. On verra bien si eux arrivent à me sauvegarder des choses : emails et saisies comptables récentes seraient les bienvenus ! Heureusement que tout le reste est stocké dans un dépôt SVN.

Et revenons à mon nouvel iBook : j'ai pris un tout petit modèle (le 12 pouces). L'ancien était vraiment trop lourd lors de mes déplacements réguliers. En une après-midi j'ai :

Et la suite pour les jours à venir.

En route pour Montréal et PHP Québec 2006

lundi 21 novembre 2005 :: perrick :: PHP :: 7 commentaires :: aucun trackback

Pratiques XP avec PHP : c'est le nom de la conférence que j'avais proposé à PHP Québec.

Et c'est avec grand plaisir que j'ai appris vendredi dernier qu'elle était accepté. J'irais donc faire un tour à Montréal entre le 29 et le 31 mars 2006. Après avoir accueilli Rasmus et Andrei à Paris, j'aurais l'occasion de les cotoyer une nouvelle fois avec une ribambelle de développeurs PHP de haute tenue : Zak, Derick, Marcus (Böerger), Ilia et tous les autres bien sûr. Et au passage ce sera mon premier voyage vers le continent américain !

Dans le rétroviseur, trois ans de :: onpk ::

vendredi 18 novembre 2005 :: perrick :: Perso :: un commentaire :: aucun trackback

La dernière fois, c'était en octobre que je m'étais rendu compte que j'avais passé la date "anniversaire" de ce blog. Cette fois-ci nous sommes déjà en novembre ! J'en profite quand même pour faire un petit bilan des fréquentations.

De 272 l'année dernière, je suis passé à 1117 visiteurs par jour (soit 19.60MB servi au quotidien). Merci à chacun pour cette attention régulière. De son côté le flux RSS continue sa longue progression : il représente 47.6% des hits à lui tout seul. Ensuite je lui ajoute les 5.8% du flux ATOM et je découvre que la syndication compte pour plus de la moitié du traffic.

Côté navigateur Netscape / Mozilla tient la dragée haute : 38.4% (contre 15.6% à la famille Explorer). Seul regret Opera apparaît bien loin (0.2%) derrière une floppée d'agrégateurs : NetNewsWire, FeedOnFeeds,Bloglines, NewsGatorOnline et co. Plus étonnant SPIP pointe le bout de son nez dans cette liste !

openTIME est prêt pour PHP 5.1

mercredi 16 novembre 2005 :: perrick :: PHP :: 3 commentaires :: aucun trackback

Avec PHP 5.1 qui arrive à grand pas et tout le confort qu'elle doit apporter, j'ai décidé de re-tester openTIME avec cette version. Grâce à mes quelques 1700 tests unitaires, le chemin était bien balisé. Dans mon cas, pas de problème majeur : l'impression générale est que cette version est moins permissive que la branche PHP 4.

Ainsi il n'est plus possible de faire :
$array_1 = array("1");
$array_2 = "1";
$array_merged = array_merge($array_1, $array_2);
sans déclencher un Warning. Le problème est du même ordre pour un appel à mktime avec une année négative : avec PHP 4.3.11 il faisait un mapping avec les années pre-2000. Désormais il renvoie une erreur. Ce sont là les deux types d'erreurs que j'ai pu retrouver enfouies dans le code écrit depuis 3 ans !

Dans ces moments-là je me rends compte à quel point j'apprécie tous ces tests : le gain en confiance est inestimable. Et je vais pouvoir m'attaquer sérieusement -- et sereinement -- à l'importation / exportation vers XML (via SimpleXML) pour un client.

Maintenant que le Forum PHP est fini...

vendredi 11 novembre 2005 :: perrick :: PHP :: 5 commentaires :: aucun trackback

...je vais pouvoir (devoir ?) :

Tester une application web avec SimpleTest et TestGen4Web

mardi 1 novembre 2005 :: perrick :: Extreme Programming :: un commentaire :: aucun trackback

Harry Fuecks a repris du service chez SitePoint en plus de remettre PHPatterns sur les rails et déjà une chouette découverte : le projet TestGen4Web. Il s'agit d'une extension Firefox (1.5 beta 1 minimum) qui permet d'enregistrer dans un fichier XML toutes les actions effectuées dans une application web via Firefox : remplissage dans un champ texte, choix dans menu déroulant, clic sur un lien, etc... Ensuite un traducteur est fourni pour convertir ce fichier en scénario de tests pour l'émulation de navigateur dans SimpleTest et quelques autres (que je n'utilise pas ou peu). Idéal pour automatiser la rédaction de tests de recette.

J'avais déjà vu passé un tel outil (mais pour Windows uniquement et basé sur le moteur d'Internet Explorer) sur la mailing-list de SimpleTest. Là les linuxiens vont aussi pouvoir en profiter. Surtout qu'il s'agit d'un projet Open Source. Et au passage je découvre -- encore -- une nouvelle licence : Open Software License 2.1.

La crème de la crème au Forum PHP 2005

jeudi 27 octobre 2005 :: perrick :: PHP :: 3 commentaires :: aucun trackback

Pour les 10 ans de PHP, le Forum organisé par l'AFUP (biais évident : j'en suis président) se devait de monter un truc à la hauteur de l'évènement. Rasmus Lerdorf sera bien là : après tout c'est lui le créateur... Et puis grosse surprise, un certain nombre de membres du PHP Core ont « décidé » de venir à Paris pour parler de PHP (6). C'est donc avec pas mal de joie que nous annonçons une session en plus le jeudi soir : Questions & Réponses avec le PHP Core. Sont prévus Rasmus LERDORF, Wez FURLONG et Andrei ZMIEVSKI. Et peut-être quelques autres... Bref ça promet !

PSST : le forum n'est pas encore plein mais au rythme où vont les choses, ça devrait se remplir ce week-end...

Harry Fuecks est de retour en ligne

mercredi 26 octobre 2005 :: perrick :: PHP :: un commentaire :: aucun trackback

Pendant un certain temps Harry Fuecks a tenu le blog PHP du côté de SitePoint : c'est là-bas que je l'avais découvert. C'est dans un thread du forum PHP Advanced de SitePoint qu'il est remonté dans mon radar : In the end agenda's boil down to people trying to make a living so fair enough - witchhunts also not required. Ou comment essayer de s'en sortir du buzz continuel de la webosphère.

Et puis après une paranthèse plus longue, il remet au goût du jour son site « perso » : PHPPatterns. Il (re)commence avec une critique d'un bouquin que j'avais acheté il y a quelques semaines : php|architect's Guide to PHP Design Patterns.

Zend & Co lance un nouveau framework + IDE pour PHP

mardi 18 octobre 2005 :: perrick :: PHP :: 3 commentaires :: aucun trackback

Après les rumeurs des derniers jours, Zend présente enfin quelques infos sur son nouveau projet : PHP Collaboration. Je savais depuis quelques temps qu'un gros projet était dans les airs entre Zend et IBM : on souhaite utiliser PHP pour concurrencer Microsoft et .Net était la phrase qui avait attiré mon attention à l'époque.

Il s'agira donc d'un Eclipse boosté pour PHP avec un framework intégré. Le choix d'Eclipse me paraît tout trouvé : il s'agit d'un produit Open Source avec déjà des belles réussites -- et IBM perd au passage un concurrent sur ce marché, le Zend Studio. Pour le framework, je suis plus circonspect : il n'y a qu'en Ruby qu'un framework a réussi à devenir le standard de facto; alors qu'en Java ou en Python, ceux-ci pullulent. On attendra désormais que le buzz tombe quelque peu : je suis curieux de voir si un ensembe aussi hétéroclite que IBM, Oracle, MySQL, Intel, Actuate, ADP, Filemaker, Schematic, Ning, StepUp Commerce, OmniTI, 100days.de, SugarCRM, bebe.com, and Marco Tabini, publisher of PHP Architect Magazine peut donner naissance à un de ces logiciels d'opinion -- le genre de code qui fait évoluer une pensée. Je n'ai pas besoin d'un « machin » en plus.

Comment devenir un leader technique ?

mardi 11 octobre 2005 :: perrick :: Management :: aucun commentaire :: aucun trackback

Il y a quelques mois, j'ai décidé de me replonger dans des bouquins. J'ai commencé par un classique : Becoming a technical leader de Gerald M. Weinberg. Les mots à l'intérieur ne furent pas loin d'une révélation. A commencer par un phrase (que je n'ai pas encore réussi à traduire correctement) :

Leadership is the process of creating an environment in which people become empowered.

En français ça donne approximativement :

Le leadership est le processus de création d'un environnement dans lequel l'entourage gagne en pouvoir / autonomie / efficience / puissance.

Comme la plupart des livres américains d'auto-apprentissage, chaque chapitre se termine par un ensemble de questions et d'exercices. En particulier celui-ci : à commencer par aujourd'hui et pendant 3 mois, passez 5 minutes par jour à écrire dans un journal. Et si vous n'êtes pas prêt à faire cet effort, prière de reposer le livre... J'en ai profité pour esquisser un large sourire : en lisant ces lignes, je savais déjà que je ne pourrais pas m'y astreindre. J'ai juste réussi à tenir 3 jours !

N'empêche que le livre est très intéressant : les preuves anecdotiques de Martin Fowler s'y retrouvent à la pelle. On sent que la démarche de l'auteur est avant tout personnelle et humaine : à relire au plus vite.

Attention à TRUNCATE avec une table Inno DB

vendredi 7 octobre 2005 :: perrick :: MySQL :: 10 commentaires :: aucun trackback

Le truc avec les tests c'est qu'ils sont automatiques et précis. Très précis même. Donc quand ils renvoient un ID avec comme valeur "2" et que moi je m'attendait à une valeur "1", c'est qu'il y a un problème quelque part : une chose est sûr l'insertion de ma valeur dans la table de test ne marche pas comme il faut. Quand bien même tout à l'air de fonctionner dans l'application (un plugin pour openTIME). Après plusieurs tentatives infructueuses pour trouver l'origine du problème, je m'étais résolu -- bien malgré moi -- à accepter cette "fausse valeur".

Aujourd'hui ça recommence pour une nouvelle table : à une différence prêt, nous sommes vendredi soir et la pression de la semaine est tombée quelque peu. En creusant un peu, le problème vient d'un TRUNCATE table qui ne fonctionne pas à tous les coups. Au passage je me rends compte que mes nouvelles tables n'ont pas de type : MySQL par défaut se charge de les créer en Inno DB, alors que dans le reste d'openTIME j'utilise des tables MyISAM. J'ai eu du mal à commencer une recherche dans le manuel de MySQL : je n'ai encore jamais eu à faire à un bug dans des versions "stable". C'est donc choses faite : MySQL Bugs: #11946: truncate does not clear the auto_increment in innodb tables. Et il ne me reste qu'à attendre (et installer) MySQL 5 pour que le bug soit corrigé définitivement.