Ouverture de la Planète PHP FR

jeudi 13 décembre 2007 :: perrick :: PHP :: aucun commentaire :: aucun trackback

Quatre soirées de développement plus tard, la Planète PHP FR sort enfin le bout de son nez.

Quelques précisions plus ou moins techniques...

Pourquoi le remplaçant de Google utilisera (peut-être) PHP ?

samedi 8 décembre 2007 :: perrick :: PHP :: un commentaire :: aucun trackback

Je viens de finir un conférence d'Alan Kay : The Computer Revolution hasn't happend yet (keynote OOPSLA 1997). Au dela des critiques de C++, de Java ou de MS-Dos, j'y ai trouvé une vision intéressante de l'avenir de l'informatique : enfin sortir de la métaphore physique (architecture, construction ou assemblage), y préférer la métaphore biologique. Son meilleur exemple : Internet. Plus de 30 ans que ça tourne, pas encore de reboot. Et pourtant toutes les fondations logicielles ont été changées.

D'autres systèmes tournent déjà avec ce genre de principes : Hadoop et son utilisation d'un (très gros) cluster où la panne ne peut pas être critique. Ou alors OpenID et son système décentralisé d'authentification.

Autre point important de cette métaphore biologique, l'évolution continue. Voyons donc ce que donne une Computer Languages Timeline. Bien sûr l'ensemble des langages commence par une période d'activités intenses : Smalltalk sort de nouvelles versions en 1971, 1972, 1974, 1976, 1978, 1980. Plus loin encore FORTRAN en 1954, 1956, 1957, 1958, 1962, 1968, 1971. Sauf que pour le premier il faudra attendre 1998 avant une sortie suivante. Et pour le dernier il faudra attendre 1991 -- 20 ans -- autant dire une éternité. Plus de temps qu'il ne faut pour mourir.

Et c'est bien là que PHP me semble particulièrement intéressant.

Il s'agit du langage de programmation qui a sorti le plus grand nombre de versions ces dernières années : autrement dit, c'est celui qui a la plus grande facilité d'adaptation. Aussi bien au niveau de sa syntaxe qu'au niveau de ses utilisateurs.

Niveau développement, il y a “Release early, release often” mantra d'Ilia Alshanetsky - Release Master de PHP5, mot d'ordre partagé par l'ensemble de la Core Team. Il y a aussi le choix délibéré de ne pas se laisser enfermer dans le tunnel annoncé du passage à PHP6 en back-portant les autres fonctionnalités attendues (late static binding, namespaces...) vers PHP5.3.

Côté utilisateur, un autre exemple : OVH -- gros hébergeur français -- vient d'annoncer la disponibilité très prochaine de PHP6 sur l'ensemble de ses hébergements mutualisés : si vous voulez que .php fonctionne en PHP6 il faut mettre Set PHP_VER 6 dans .htaccess. Alors même qu'une preview release n'est même pas encore annoncée, ils ont donc trois versions de PHP qui tournent !

Du futur imprévisible, même pas peur.

Pourquoi Google n'a pas utilisé PHP ?

jeudi 6 décembre 2007 :: perrick :: PHP :: aucun commentaire :: aucun trackback

La réponse tient en deux lignes :
array array_map ( callback $callback , array $arr1 [, array $... ] )
mixed array_reduce ( array $input , callback $function [, int $initial ] )

Et oui, il fallait lire la doc en détail avant de comprendre pourquoi on obtient Warning: array_reduce() [function.array-reduce]: The first argument should be an array lors de son premier exemple de Map_Reduce !

Sans oublier que ces deux fonctions, array_map et array_reduce, non contentes d'inverser leurs paramètres, n'acceptent pas de classe comme callback ;-) Vivement PHP7 !

SimpleTest passe à Subversion

vendredi 30 novembre 2007 :: perrick :: Projets Open Source :: aucun commentaire :: aucun trackback

Depuis le temps qu'on l'attendait, SimpleTest est enfin passé à Subversion ! Cela veut dire deux choses :

  1. La fin du support de PHP4 approche à grand pas.
  2. Tous les projets extérieurs -- dont OpenTime -- vont pouvoir utiliser les svn: externals.

Les sessions du Forum PHP podcastés

mercredi 28 novembre 2007 :: perrick :: PHP :: aucun commentaire :: aucun trackback

Grâce à l'efficactié d'Arnaud les fichiers audio des sessions arrivent au fur et à mesure en podcast : http://feeds.feedburner.com/forumphp2007. Idem pour les présentations au format HTML, PDF et co...

Et pour ceux qui se posent la question de mes supports, c'est délicat. Etant donné qu'il s'agissait d'une écriture de code en live, il n'y a pas de PDF ! Et comme il s'agissait d'un atelier, pas de prise de son non plus. Désolé : il fallait y être ;-)

En tout cas ces ateliers auront été un des jolis succès de cette édition 2007 du Forum PHP : ça crée du buzz et du mouvement lors de l'atelier. Du style :
- j'ai vu tel ou tel truc, c'était génial !
-ah bon, si bien que ça. Parce que moi j'ai préféré aller voir la démo de XXX m'a bluffé. C'est bien dommage de devoir rater des présentations.

Bref une piste à reprendre pour l'année prochaine. Et pourquoi pas des ateliers "développeurs" pour le premier jour et d'autres "décideurs" pour le deuxième jour : de la sorte tout le monde y trouve son compte chaque jour. Reste à trouver des idées d'ateliers pour ces fameux "décideurs" : j'ai bien pensé à créer sa boîte autour de PHP ou présentation fonctionnel d'un projet Open Source -- Mantis / SugarCRM / Claroline / autres, mais je suis vite court. Vous en avez d'autres ??

Du PHP beurré sur une tranche de Mac

dimanche 4 novembre 2007 :: perrick :: PHP :: aucun commentaire :: aucun trackback

Wez Furlong a publié son dernier projet : un pont entre Objective-C et PHP. A terme on devrait pouvoir faire une application Mac en PHP directement. La première démo et des screenshots sur son blog : ironie du sort, la version de PHP livrée par Apple sur le nouveau Leopard, ne permet d'installer le script...

Bien sûr c'est un truc à prendre avec des pincettes, on parle d'un pré-pré-version. Mais quand même, je suis heureux de voir sortir de telles expériences. Cela nous change du nouveau framework ou de la lisibilité de l'opérateur ternaire.

Un Forum PHP qui arrive vite vite

lundi 29 octobre 2007 :: perrick :: PHP :: aucun commentaire :: aucun trackback

Le Forum PHP 2007 arrive à grand pas, une dernière conférence s'est ajouté au programme : une présentation des technos Microsoft pour PHP : Fast CGI dans IIS 7 (Windows Server 2008), Microsoft Ajax Framework et PHP, Phalanger (Compiler du PHP pour le framework .NET) et Silverlight... C'est toujours intéressant de voir ce que fait la concurrence ;-) Surtout quand ils rament pour faire monter leur part de marché sur le secteur : plusieurs fois lors de conférences PHP, j'ai vu quelqu'un poser la question qui tue combien d'entre vous utilisent Windows sur leur serveur de production ? et personne ne lève la main.

En tout cas, j'y serais : il y a trop de bonnes choses à découvrir. Et de gens à revoir...

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...