Javascript pour PHP5 via J4P5

vendredi 20 janvier 2006 :: perrick :: PHP :: 5 commentaires :: aucun trackback

Avec le début de travaux ajaxiens pour openTIME, la question des tests unitaires des bouts de JavaScript qui s'empilent devient de plus en plus cruciales. Et comme à chaque fois qu'une nouvelle question débarque, des bribes de réponses suivent. Cette fois-ci par l'intermédiaire de Harry Fuecks (encore) : dans son dernier billet chez SitePoint, il parle d'un projet prometteur : J4P5: Javascript For PHP5. Comme beaucoup d'autres choses : à tester.

Classement des fonctions ou méthodes

jeudi 19 janvier 2006 :: perrick :: PHP :: 9 commentaires :: aucun trackback

Quand j'écris une nouvelle fonction (ou une nouvelle méthode), je la mets systématiquement en haut de mon fichier (ou de ma classe). C'était devenu systématique.

Et le travail en binôme vient remettre en question cette pratique : le rélexe ne fait pas encore partie de la norme de codage. La question se reformule ainsi : quel est l'endroit le plus pratique pour l'ajout d'une nouvelle fonction ? Nous sommes arrivés à trois possibilités : en haut, en bas ou alors classé alphabétiquement.

Sur openTIME, nous avons opté pour en haut. Mais il y a sûrement d'autres pistes et d'autres arguments : des idées ?

Session XP : stratégies de gestion des délais

vendredi 6 janvier 2006 :: perrick :: Extreme Programming :: aucun commentaire :: aucun trackback

Il y a quelques temps, j'avais proposé une session intitulé Stratégies de gestion des délais à l'équipe organisatrice des premiers XP-Days à Paris. C'est avec joie que ma session a été acceptée : j'ai commencé à prendre des contacts pour effectuer un premier tour d'horizon des pratiques existantes.

Je recherche des projets informatiques de toutes les tailles et de toute nature. Parmi les combinaisons possibles : le développement spécifique pour un grosse entreprise et par une équipe répartie sur plusieurs prestataires, le logiciel propriétaire largement diffusé et géré par une personne toute seule, le produit Open Source avec 50 développeurs derrière lui dont la moitié est bénévole.

Et parmi les pistes que je voudrais explorer :

Vous avez d'autres questions qui vous passent par la tête ? Vous avez mis en place des pratiques originales ? N'hésitez à laisser un commentaire ou à m'envoyer un email directement : perrick AT noparking POINT net. L'avancement de mes réflexions sera posté ici de temps en temps avant le Jour J : ce sera le 24 mars 2006.

Une arrivée... en attendant la prochaine

mardi 3 janvier 2006 :: perrick :: No Parking :: 2 commentaires :: aucun trackback

Avec la nouvelle année (que je vous souhaite très heureuse et dense et riche et tout et tout), un nouveau collaborateur a rejoint l'équipe de No Parking : Marc Marliot. Avec les nouveaux clients qui arrivent pour profiter d'openTIME, l'embauche devenait cruciale. C'est chose faite.

Et pour continuer sur cette lancée, c'est désormais un stagiaire que nous recherchons : début du stage entre février et avril pour une durée de 4 à 6 mois. Si vous voulez écrire du PHP, découvrir l'Extreme Programming et participer au développement d'un vrai logiciel, n'hésitez pas à m'écrire directement : perrick AT noparking POINT net. Sans oublier de préciser que vous avez vu l'annonce dans ce blog.

Note : il s'agit d'un stage indemnisé (30% du SMIC) et basé à Lille (à La Madeleine pour être précis).

Partager plusieurs instance du tout - Thunderbird compris

jeudi 22 décembre 2005 :: perrick :: Connexe(s) :: 6 commentaires :: aucun trackback

Dans le cours de ma migration vers une triple plateforme (Windows et Linux et MacOS) la question du partage des données est devenue cruciale. Tous mes projets de développement sont passés sous Subversion il y a quelques mois déjà : l'outil est efficace. J'ai donc passé tous mes emails, mes fichiers administratifs et même ma comptabilité sous ce gestionnaire de code source. Je ne suis pas le premier à faire un truc du genre. Martin Fowler est passé par cette étape de Multiple Desktops aussi : Everything keeps nicely synced, and I get full version control too.

Le plus dur est de synchroniser les configurations spécifiques à chaque environnement. Pour Thunderbird en particulier j'ai bien profité des conseils de Annie Chen dans son billet Share Thunderbird email & calendar between linux and windows. J'en profite au passage un grand merci aussi à Eclipse, Open Office et Opera pour leurs applications multi-plateformes.

La seule application que je n'ai pas encore unifié, c'est le "petit éditeur de texte" : EditPlus sous Windows, Vim sous Linux et TextPattern TextMate sous MacOS. Sur ce créneau, j'ai besoin de quelque chose de très rapide : dur, dur donc de ne pas profiter des spécificités de chaque OS.

Métaphore pour le remaniement

dimanche 11 décembre 2005 :: perrick :: Extreme Programming :: aucun commentaire :: aucun trackback

Aujourd'hui je me suis attelé à une grosse tâche de remaniement. Le genre de spécification qui a beaucoup évolué au cours du temps : d'abord un cas unique pour tout le monde. Ensuite deux cas spécifiques suivant le type d'utilisateur. Ajoutons encore un début qui peut être différent pour chacun. Et une valeur initiale qu'un adminitrateur peut modifier. Le cas classique dans une application intranet : les cas se multiplient, le code attend urgemment son remaniement.

Et quand je dis que j'aime ça -- parce que j'ai une batterie de tests conséquente -- on me regarde avec les yeux tout ronds. J'ai donc tenté une métaphore. Imagine un jeu pour enfants : celui où il faut faire passer des pièces de formes différentes à travers les trous qui correspondent.

exemple du jeu auquel je pense...

Au départ la matrice (avec ses trous) et les pièces sont évidentes. Puis la matrice se complexifie. Et au lieu de répondre par des pièces toujours plus précises et plus fragiles, je préfère diminuer la taille des pièces et les relier par des élastiques solides.

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 ?) :