Javascript pour PHP5 via J4P5
vendredi 20 janvier 2006 :: perrick :: PHP :: 5 commentaires :: aucun trackbackAvec 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 trackbackQuand 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.
- en haut permet d'avoir la dernière fonction modifiée quand on ouvre le fichier.
- en bas permet de donner un côté plus littéraire au code source.
- classé alphabétiquement permet de retrouver la fonction (si on se souvient bien de son nom). Peut-être un peu redondant étant donné que cette vue est très facile à obtenir avec un éditeur moderne (avec Outline dans Eclipse par exemple).
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 trackbackIl 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 :
- Comment définir une date de livraion ?
- Quel process (automatisé ou non) pour la livraison ?
- Comment faire un compte-rendu pertinent de l'avancement en cours ?
- Quelle stratégie face à un bogue au début / au milieu / en fin de projet ?
- Quelle est la place des tests et des testeurs ?
- etc.
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 trackbackAvec 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 trackbackDans 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 trackbackAujourd'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.
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 trackbackJe 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 trackbackChez 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 trackbackJuste 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 trackbackCela 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 :
- installé mes deux navigateurs favoris (Opera et Firefox) : ça m'en fait trois sur cette machine puisque Safari y est. Ce sont mes clients sous Mac qui vont être contents !
- installé PHP & MySQL : parce qu'il faut bien bosser aussi.
- installé Eclipse pour le dev. et des outils Subversion pour tout mettre à jour il y a beaucoup plus que ce que j'imaginais au départ).
- transféré -- sous PC -- mes emails depuis Pegasus vers Thunderbird grâce à des utilitaires TRES pratiques (Mail System Converter et PegasusRen merci à eux). On attendra un peu pour la migration vers le Mac : il faut que je mette en place un dépôt SVN à cet effet.
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 trackbackPratiques 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 trackbackLa 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 trackbackAvec 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");
sans déclencher un Warning. Le problème est du même ordre pour un appel à
$array_2 = "1";
$array_merged = array_merge($array_1, $array_2);
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 ?) :
- me reposer un peu
- remercier tous ceux qui auront rendu possible cet évènement : conférenciers, organisateurs, sponsors et visiteurs
- retranscrire tous les entretiens que j'ai pu faire avec Ramus, Wez, Zeev et Andrei
- mettre en ligne (avec la super équipe de l'AFUP) les slides et un résumé pour chaque conférence
- faire en sorte que le DVD puisse sortir
- organiser deux rendez-vous AFUP (XUL à Paris et PHPAspects à Lille) pour le premier trimestre 2006
- organiser un apéro PHP à Lille pour les semaines qui viennent
- reprendre le cours des choses sur SimpleTest (site web et traduction)
- attendre bien patiemment que PHP6 sorte