mai 2010 (15)

lundi 31 mai 2010

Des nouvelles du front

Le 20 mai 2010, Derick a intégré dans le trunk de PHP une modification d'Ilia qui permet d'imposer le type des arguments d'une fonction ou d'une méthode.

Deux jours après, Zeev Zuraski a déclenché les hostilités sur la liste de diffusion des contributeurs.

Cela fait donc maintenant plus de huit jours que le conflit a éclaté.

Alors, que s'est-il passé durant cette période ?

Lire la suite

mercredi 26 mai 2010

Mysqlsniffer rentre au port

Il y a peu de temps, j'ai découvert l'utilitaire mysqlsniffer, qui permet de capturer le trafic SQL reçu et envoyé par un serveur mysql, même s'il est en production.

Comme il répond à l'une de mes problématques récurrentes, à tel point que je me demande comment j'ai pu ignorer son existence jusqu'ici, j'ai décidé de l'installer sur ma station de travail, pour le tester.

Or, j'utilise FreeBSD comme système d'exploitation au quotidien, et mysqlsniffer ne figure pas dans les ports.

Lire la suite

mardi 25 mai 2010

Mort de PHP6 + 70 jours

Disons-le immédiatement, c'est la guerre.

Pourtant, les premiers temps de cette période de dix jours avait été plutôt calmes, le rythme des modifications sur le trunk de PHP ne s'étant pas accéléré.

Les choses ont en effet commencé très doucement, avec la correction des bugs #51844, #43233, #49819, #51793, #51854, #47842 et #51821,

Ensuite, il y a eu cette petite altercation au sujet de openssl_encrypt(), mais rien de bien méchant, ce genre de débat étant en effet très classique sur la liste de diffusion des contributeurs, aussi bien dans la forme que dans le fond.

D'ailleurs, cette histoire a été finalement résolue par l'ajout d'un paramètre optionnel aux fonctions concernées, et la sacro-sainte compatibilité descendante a été conservée.

Dans l'intervalle, il y a eu du nettoyage d'effectué dans le code et un itérateur a enfin été ajouté à la classe mysqli_result.

Bref, il n'y a pas eu de quoi fouetter un chat jusqu'au 20 mai 2010.

Lire la suite

dimanche 23 mai 2010

C'est le .phar à "On", parce qu'il s'appelle "On", le mec...

L'une des nouveautés offerte par PHP 5.3 est le support natif du format phar, aka PHP Archive.

Ce format de fichier, similaire au format jar de java, offre des fonctionnalités très intéressantes, dont voici quelques exemples :

  • Il permet d'encapsuler dans un unique fichier plusieurs fichiers.
  • Il est intégrable directement dans du code PHP.
  • Il est exécutable par PHP directement.
  • Il est possible de définir des métas-données.
  • Il supporte différents formats de compression.
  • Il est possible de le signer.

Pourtant, malgré ses possibilités, ce format est encore très peu utilisé par la communauté PHP, certainement parce que PHP 5.3 est encore peu répandu malgré le fait qu'il existe maintenant depuis quasiment un an.

j'ai donc décidé de vous montrer l'intérêt de ce format de fichier en le mettant en œuvre pour diffuser sparkline, en espérant que cela vous incitera à migrer vers PHP 5.3 et que j'initierais ainsi un effet boule de neige.

Lire la suite

jeudi 20 mai 2010

Vous voulez qu'on discute de l'avenir de PHP autour d'un verre ?

Alors, je vous invite à me rejoindre à l'apéro PHP qui se déroulera le 11 juin à partir de 19 h 00 au Café Citoyen de Lille. J'y parlerais, à la demande de Nicolas, l'initiateur et l'organisateur de cette soirée, de la prochaine version de PHP et je tâcherai, dans la mesure de mes moyens et des  […]

Lire la suite

mercredi 19 mai 2010

Tips !

Je vais peut être passé pour un attardé, mais je viens de me rendre compte qu'il est tout à fait possible depuis PHP 5.3 de passer une fonction lambda en argument à set_error_handler() et set_exception_handler() : <?phpset_error_handler( function($value, $message, $file, $line, array $context) {  […]

Lire la suite

Sparkline

Dans le cadre de svneeg, j'ai développé un ensemble de classes en PHP permettant de générer des sparklines.

Au fil du temps, ces classes sont devenues un projet dans le projet, au point qu'elles représentent à présent la majorité du code de svneeg.

J'ai donc décidé de les rendre totalement indépendantes de ce dernier, afin qu'elles puissent être utilisées dans un tout autre contexte.

Lire la suite

mardi 18 mai 2010

Et si on posait la question aux premiers concernés ?

Aujourd'hui, Sara Golemon, l'un des développeurs principaux de PHP, a détecté un problème relativement sérieux dans l'implémentation de openssl dans PHP.

Elle a donc fait un rapport sur internals@, la liste de diffusion des contributeurs, en proposant une solution pour corriger le problème.

Lire la suite

lundi 17 mai 2010

Et si on tirait des traits ?

L'une des grandes nouveautés de la prochaine version de PHP sera certainement les traits.

Mais qu'est ce qu'un trait ?

Jusqu'à il y a peu, c'était pour moi ce que je traçais avec un crayon sur une feuille de papier.

Évidement, dans le cadre de la prochaine version de PHP, c'est un concept entièrement différent.

Lire la suite

samedi 15 mai 2010

Mort de PHP6 + 60 jours

Cela fait maintenant deux mois que le développement de PHP6 a été arrêté et durant cette période, il s'est passé énormément de choses.

La communauté des contributeurs a décidé d'une série de mesures efficaces qui ont remotivé les développeurs et la prochaine version de PHP évolue donc rapidement.

Cependant, les dix derniers jours ont vu un tassement du nombre de modifications effectuées sur le trunk.

Lire la suite

vendredi 14 mai 2010

Installer mozilla weave sous FreeBSD

J'ai appris l'existence de mozilla weave via un billet de Tristant il y a déjà pas mal de temps.

À l'époque, je n'y avais trouvé aucun intérêt.

Cependant, comme ma situation professionnelle est en train d'évoluer, j'utilise actuellement plusieurs ordinateurs, et donc plusieurs navigateurs.

J'ai donc besoin de synchroniser à la fois mon historique de navigation, mes signets, mes mots de passe, j'en passe et des meilleurs entre mes diférents navigateurs.

Or, mozilla weave répond très précisément à ce besoin.

C'est en effet une solution, basée sur un service web, qui permet de partager entre plusieurs firefox un même profil.

Pour cela, il suffit (en théorie) d'installer l'extension mozilla weave sur chaque navigateur et de créer un compte sur un serveur de mozilla ou sur un serveur weave personnel.

J'ai donc installé l'extension via le mécanisme de gestion des extensions proposé par firefox et tout s'est déroulé sans aucun problème.

Cependant, la synchronisation n'a jamais fonctionné.

Lire la suite

lundi 10 mai 2010

Bash(âge)

Je vais le dire immédiatement, le titre de ce billet est mauvais.

Cependant, je n'ai rien trouvé de mieux.

Je vais donc faire un peu d’étymologie pour l'expliquer.

Mon premier, bash, fait référence à l'interpréteur de commandes bash.

Mon second, (âge), est une référence foireuse à la notion d'historique.

Mon tout est d'une bêtise à mourir.

Mais vous l'aurez compris, du moins je l'espère, je vais vous parler de la manipulation de l'historique de la ligne de commande avec bash.

Lire la suite

jeudi 6 mai 2010

Un coup dur pour PHP

Lukas Kahwe Smith vient d'annoncer sur internals@ qu'il ne participerait dorénavant plus de manière active au développement de PHP.

C'est à mon sens un coup dur pour le langage et sa communauté qui perd une des seules personnes qui cherchaient à rationaliser et structurer un minimum les choses, alors qu'il y en a tant besoin.

Lire la suite

mardi 4 mai 2010

Mort de PHP6 + 50 jours

Voilà maintenant 50 jours que le développement de la branche 6 de PHP a été abandonné.

Fidèle à ce qui est maintenant devenu une habitude, je vous livre dans ce billet les aventures vécues ces 10 derniers jours par la prochaine version de PHP.

Lire la suite

lundi 3 mai 2010

PHP appuie sur l'accélérateur tout en consommant moins

PHP, à l'instar des derniers modèles de voitures, suit la mode et devient écologique.

Il se permet même de faire mieux que ces derniers, puisque contrairement à eux, il ne sacrifie pas la roue de secours pour peser moins lourd sur la balance et ainsi moins consommer.

Il se permet même, en réalité, de faire beaucoup mieux que ces derniers, puisque contrairement à eux, il ne sacrifie ni sa puissance ni sa rapidité sur l'autel de l'écologie, bien au contraire.

En effet, les optimisations ajoutées dans le trunk récemment commencent à être testées sur du code en production, et les résultats sont assez spectaculaires.

Lire la suite