Travailler avec PHP5 chez No Parking

mardi 23 octobre 2007 :: perrick :: No Parking :: aucun commentaire :: aucun trackback

Un nouveau poste s'ouvre chez No Parking : il s'agit de nouveau d'un poste d'Ingénieur développement PHP. Bien sûr ce sera pour du PHP5... Cela fait bientôt 18 mois que nous ne faisons plus que cela ;-) C'est pour participer au développement d'openTIME : au programme aussi du MySQL (5 bien sûr), du Javascript (avec JQuery), de l'objet, des tests unitaires et de recette, de l'XP, de l'internationalisation. Bref tout ce qui fait qu'un projet PHP est intéressant ! Et pourquoi pas du XUL ou du Flex si l'envie vous démenge.

Le poste est basé à Lille (sans télétravail), il s'agit d'un CDI, la rémunération dépend de l'expérience et votre participation à deux conférences est déjà plannifié (cette année des membres de l'équipe sont allés à la DrupalConf de Barcelone et aux journées XP Days à Paris -- sans compter le Forum PHP).

PS : n'oubliez pas de précisez que vous venez depuis ce blog, votre candidature passe de suite au dessus de ma pile.

Ce que les journalistes écrivent

jeudi 11 octobre 2007 :: perrick :: Connexe(s) :: aucun commentaire :: aucun trackback

Je viens de découvrir http://www.journa-list.com/. Un site très sobre qui présente les articles publiés non pas par date ou par thème mais par journaliste. Il devient donc trivial de suivre les analyses d'un journaliste et pourquoi pas d'en trouver les idées récurrentes. En tout cas un projet fichtrement intéressant ! Seul bémol, c'est réservé aux anglais. Déjà qu'ils ont un autre truc génial : TheyWorkForYou, je vais finir par être jaloux.

Lancement des inscriptions pour le Forum PHP 2007

jeudi 4 octobre 2007 :: perrick :: PHP :: aucun commentaire :: aucun trackback

C'est bon, c'est officiel : on peut désormais réserver sa place pour le Forum PHP 2007. Désolé pour le retard : petit bug à l'allumage (et c'est ma faute). Il y a quand même des petits malins qui ont envoyé leur bon de commande avec 10 jours d'avance !!! C'est vrai que depuis deux ans, le Forum PHP a lieu à guichet fermé.

Sinon parlons programme : il sera encore plus riche cette année puisque nous avons 2 salles en plus pour la journée "développeur". Certains diront que les suspects habituels seront présents, Rasmus et Andreï par exemple. Par contre j'attends beaucoup des présentations de Flex (à la fois par des gens d'Adobe et par d'autres). Côté monté en charge et autres optimisations, il y aura les cas Wat.tv et Facebook à découvrir. Et puis aussi une session expérimentale par mes soins : 1h de refactoring depuis du code existant en PHP4 vers PHP5 et PHP6 -- avec des tests unitaires au passage. Deuxième nouveauté, c'est qu'il y aura plus de poses entre les sessions : histoire de favoriser le réseau social de la vraie vie. Ah j'oubliais, nous -- No Parking -- présenterons normalement aussi la nouvelle version d'opentime en avant-première (on aura l'occasion d'en reparler prochainement ;-)

Du câble en rabe

jeudi 20 septembre 2007 :: perrick :: Perso :: 3 commentaires :: aucun trackback

Nouvelle question...
Vous avez un tas de câbles devant vous : celui-ci par exemple. Au passage vous venez d'emménager avec votre chère et tendre.

Que répondre à sa question fortuite :

on n'avait pas dit qu'on masquerait tous les fils ?

Des trucs à ne pas faire...

:: perrick :: PHP :: 2 commentaires :: aucun trackback

En reprenant une application existante en PHP, j'ai redécouvert un certain nombre de trucs à éviter. Voici un petit florilège.

  1. Modifier $_GET, $_POST ou $_SESSION. Ces variables magiques sont générées par le moteur PHP : bien sûr c'est parfois pratique de les écraser, de les modifier ou (pire) de les générer à la volée. C'est juste qu'ensuite il devient tellement facile de s'y perdre.
  2. Ne pas utiliser gettext. Plutôt que de ré-inventer la roue pour la gestion des langues, sachez que ce système-là est stable, éprouvé et efficace. Sinon il existe aussi des librairies externes très bien foutues : dans les eZ Components ou PEAR par exemple. En attendant PHP6 bien sûr ;-)
  3. Préférer $t à $tableau. Surtout quand le reste du code est écrit en anglais ! Le code, c'est pour les humains qui lisent, pas pour la machine qui traduit mécaniquement et qui se tape royalement d'avoir des caractères en plus.

Ingénieur logiciel PHP5, c'est pour toi si...

mardi 31 juillet 2007 :: perrick :: No Parking :: aucun commentaire :: aucun trackback

No Parking continue son expansion : nous sommes à la recherche d'un ingénieur logiciel PHP5. Le poste est basé à Lille et il s'agit d'un CDI.

Parmi les trucs importants...

  1. c'est pour faire du PHP5 (c'est ce qu'on fait depuis plusieurs mois déjà)
  2. parmi les projets auxquels on contribue : Drupal et SimpleTest
  3. parmi les communautés auxquelles on participe : AFUP et XP-France
  4. un voyage à Barcelone (pour la DrupalCon) à celui ou celle qui sera embauché(e)

Bref pour postulez, il suffit d'envoyer un email à recrut CHEZ noparking POINT net (sans oublier de mentionner que vous êtes passé par le blog, ça fait remonter dans la pile).

PHP5 devant, PHP4 derrière

vendredi 6 juillet 2007 :: perrick :: PHP :: aucun commentaire :: aucun trackback

D'un côté -- celui de PHP Internals -- on tate le terrain pour arrêter le support de PHP4. De l'autre -- celui de grands projets Open Source en PHP -- on prépare la migration vers PHP5.2 et on pousse les hébergeurs à fournir enfin des comptes PHP5 par défaut. Autant dire qu'il ne vous reste "plus que" 200 jours environ pour migrer vos applications PHP4 et pour faire évoluer vos plateformes techniques. Please.

Le plus fort dans l'histoire, c'est que les deux évènements ne sont pas coordonnés : c'est que c'est le moment. Et il y a aussi l'annonce de PEAR2...

Les dernières nouveautés de SimpleTest (avant version 1.1)

jeudi 5 juillet 2007 :: perrick :: Projets Open Source :: 2 commentaires :: aucun trackback

Cela fait longtemps que je n'avais pas évoqué les évolutions de SimpleTest sur ce blog et pourtant ce n'est pas que les évolutions se sont arrêtés en cours de route. Au contraire d'ailleurs : plusieurs soirées ont été consacrées à du développement pur et dur depuis quelques mois. Petit aperçu des nouveautés...

Autorun

Commençons par les paresseux, ils vont être contents. Une unique ligne de code en tête de votre fichier et automatiquement il est exécuté par le framework : il s'agit de require_once('simpletest/autorun.php');. Plus besoin de savoir où on se place dans la suite des require : SimpleTest se charge de tout. Plus d'infos dans la doc...

Enregistrer ses tests

Pour les pointilleux, il y a l'enregistreur de résultats. Il vous permet d'itérer très simplement sur les résultats de votre jeu de test :

foreach (recorder->results as $result) {
  if ($result->status == "Failed") {
    do_something_while_it_is_time(result);
  }
}

CSS selectors

Ecrits en JavaScript par Simon Willison, porter en PHP par Fabien Potencier, les selecteurs CSS peuvent désormais servir pour tester votre rendu HTML : pour celui qui ne connait pas ses #ma-boite-en-rouge de ses div.en-tete p, ce ne sera pas très utile. Les autres vont pouvoir oublier les selecteurs XPath et utiliser ceux de tous les jours (oui je suis mauvaise langue ;-).

Tous ses trucs sont d'ores et déjà disponibles avec les nouveaux objets fantaisie dans le dépôt CVS. La release officielle, c'est pour bientôt. Et ensuite on migre vers SVN (j'ai hâte de retrouver mes svn:externals dans opentime), on remet en place un paquet PEARified, on intègre au mieux Selenium...

Goûter à FaceBook avant de devenir vieux

dimanche 24 juin 2007 :: perrick :: Connexe(s) :: aucun commentaire :: aucun trackback

Qu'est-ce qu'on perd quand on atteint 30 ans ? En lisant la réponse je me suis dit qu'il fallait peut-être aller faire un tour de côté de FaceBook... C'est encore plutôt américo-américan mais bon il y a peut-être des trucs bons à prendre du côté de cette usine à exploser les compteurs.

Parmi les groupes français qui m'ont fait rire : PARIS'S BIGGEST WATER FIGHT. Dommage qu'ils n'aient été que 20 personnes la première fois.

Sur un ton tout aussi sérieux, je me demande quoi penser : le groupe PHP a 543 membres alors que celui Ruby 66 et Python 146. Et Ruby on Rails 257 contre Symfony 16 et Django 80. Pendant ce temps-là Britney and Justin - NEED to get back together explose Britney is better off without him 700 à 31. A quand le FaceBookFight, histoire de trancher une fois pour toute sur tout et son contraire ?

En tout cas ne vous inquiétez pas pour l'instant, la police veille...

Retour au vert

lundi 11 juin 2007 :: perrick :: Extreme Programming :: 2 commentaires :: aucun trackback

Il y a 17 jours, un bug s'est introduit dans notre suite de tests : impossible à reproduire en local, il faisait planter le système d'intégration continue sur le serveur. Et chaque email en post-commit égrainait la même rengaine Test cases run: 86/86, Passes: 4211, Failures: 6, Exceptions: 0. Une première séance de débogage n'aboutiera pas : les 6 erreurs restent.

Quelques jours plus tard, on inaugure l'ajout des tests de recette automatisés à la sauce unitaire : grosso-modo, un script PHP lance tous les tests unitaires avec SimpleTest; sauf qu'un des scénarios utilise notre dernière contribution SeleneTestCase pour utiliser le serveur Selenium et s'occuper des tests de recette au passage (on en reparlera).

source : http://flickr.com/photo_zoom.gne?id=170821408&size=s

De 6 erreurs, on passe directement à : Test cases run: 86/88, Passes: 4137, Failures: 207, Exceptions: 2517. Quelques réglages plus loin, on retombe rapidement sous la barre des 50 erreurs / exceptions. Ce dernier paquet mettra un temps plus conséquent à se résorber : quand on ne fait que manipuler des dates, ce n'est pas toujours évident d'être synchro dans ses tests ! Encore une après-midi pour éliminer les 6 erreurs du départ (un méchant effet de bord dans la suite) et nous revoilà enfin au Test cases run: 85/87, Passes: 4399, Failures: 0, Exceptions: 0.

Je suis le premier surpris de l'effet purement psychologique : l'impression que le ciel est de nouveau dégagé et qu'on peut reprendre tranquillement et sereinement le fil des développements. Reste à savoir comment d'autres équipes XP gèrent ces passages dans le rouge...

Bientôt un Dojo Développement à Lille

mercredi 6 juin 2007 :: perrick :: Extreme Programming :: aucun commentaire :: aucun trackback

C'est en 2004 que le premier dojo développement a sorti la tête de l'eau sous l'impulsion de Laurent Bossavit et Emmanuel Gaillot. Trois ans plus tard (sans oublier la bière avec Arnaud Bailly : indispensable) le premier dojo lillois point le bout de son nez.

Pour l'instant, il s'agit simplement d'un groupe google... Avis aux amateurs !

Google Groupes
nord-agile
Visiter ce groupe

PS : pour ceux qui veulent plus d'infos sur ces dojos d'un autre genre, il y a un site dédié en anglais.

Appel à conférenciers pour le Forum PHP 2007

mardi 5 juin 2007 :: perrick :: PHP :: aucun commentaire :: aucun trackback

L'AFUP vient de lancer son appel à conférenciers pour l'édition 2007 du Forum PHP. Si le thème général de cette année est PHP, clients de dernières génération et bases de données, rien ne vous empêche d'être un peu créatif dans vos propositions. Le nouveau format de la deuxième journée a évolué : deux salles plus petites (60 places) viennent en complément de la plénière (200 places). Cela veut dire que des ateliers, des présentations pointus et tout plein d'autres trucs (comme votre dernier projet Open Source) pourront être programmés... J'ai hâte de voir ce que ça va donner.

Note : le site du Forum PHP 2007 est aussi ouvert !

Au secours, une framboise a disparu...

jeudi 31 mai 2007 :: perrick :: Perso :: 3 commentaires :: aucun trackback

Il semblerait que les framboises aient un peu d'avance cette année. J'ai eu l'honneur de goûter la première de l'année, production maison bien sûr.

Devinez de laquelle il s'agissait !

Comment itérer sur son design avec agilité

lundi 21 mai 2007 :: perrick :: Ergonomie :: aucun commentaire :: aucun trackback

Si les développeurs ont compris le principe des itérations depuis longtemps, c'est avec plaisir que je vois les designers du Guardian suivre le même chemin. Un billet sur niksilver.com -- Guardian Unlimited's new look: Some background on templating -- explique comment ils l'ont fait !

Pour l'instant seul la page d'accueil change : en 2001, en 2004 et aujourd'hui en 2007... Le reste suivra. C'est la première fois que je vois un site d'une tel ampleur fonctionner de la sorte.

Autre design marrant dans le même esprit : celui de d.Construct. L'esquisse évoluera dans le temps -- par Andy Budd !

Le remaniement routier

vendredi 11 mai 2007 :: perrick :: Extreme Programming :: un commentaire :: aucun trackback

Une grosse semaine de remaniement vient de se terminer sur opentime : notre plus grosse classe -- celle que j'avais commencé à écrirer il y a plus de 5 ans -- a vu fondre de moitié le nombre de ses méthodes. Une bonne dose de modularité en plus désormais !

Le remaniement est bien sûr une technique de prédilection en informatique : on travaille en continue avec de l'immatériel pur. Et pourtant depuis plusieurs semaines j'ai découvert une autre forme de remaniement... Celui qui s'effectue sur le bithume.

remaniement de route

Lors d'un voyage à Venise (une mission économique de la CCI de Lille et du département du Nord), j'ai eu l'occasion d'en parler avec un fonctionnaire : de plus en plus, on aménage les routes. Et vite. Et en mieux. Le plus long reste souvent le temps de la décision politique !

remaniement de route

Un nouveau bout de trottoir par ici, une place de parking qu'on supprime pour améliorer la visibilité au croisement, une bande de stop qui se déplace de quelques mètres...

remaniement de route

Avant de taper sur vos élus (c'est de saison ;-) reste à voir si ce n'est pas cette même question politique qui empêche le temps du refactoring.