Industrialisation PHP

25juin/100

Revue de presse Industrialisation PHP de la semaine 25 (2010)

Cette semaine la revue de presse est assez hétéroclite et propose quelques innovations à surveiller de près.

PHP: Client side caching for all MySQL extensions

PHP 5.3 a introduit mysqlnd, un pilote natif pour PHP dont le but est de remplacer la libraire libmysql. Cela n'a pas d'incidence directe sur l'usage des extensions permettant de dialoguer avec MySQL (mysql, mysqli, PDO_MySQL) mais ce nouveau pilote apporte de nombreuses améliorations techniques et notamment la possibilité d'écrire des plugins pour interagir avec les requêtes SQL qui passent par le pilote. Un peu à la manière de MySQL Proxy. Le premier plugin tirant parti de cette possibilité vient d'arriver et il permet de faire du cache de requête du côté de PHP.

Multiple PHP versions on the same IIS server

De nombreux articles expliquent comment utiliser plusieurs versions de PHP sur la même instance d'Apache mais aucun pour IIS. C'est désormais chose faite grâce à un développeur de Microsoft. Attention cependant, si vous avez déjà installé PHP avec un installeur, il vous faudra d'abord effectuer une manipulation avant de pouvoir utiliser cette technique.

Exploring the software behind Facebook, the world’s largest site

Royal Pingdom, le blog du service de monitoring Pingdom, consacre un article à la relation entre Facebook et l'Open Source. Il aborde les charges astronomiques supportées par leur architecture ainsi que les logiciels développés ou utilisés par Facebook.

State of Symfony 2 online conference – a killer feature revealed!

Sensio Labs a dévoilé cette semaine certains aspects de la prochaine version majeure de son framework : Symfony. L'un de ces aspects est particulièrement innovant. Il s 'agit de la prise en charge des Edge Side Includes, un mécanisme de cache partiel de pages HTML développé par Akamaï et proposé au W3c pour normalisation. Nous reviendrons sur cette notion très intéressante dans un prochain article.

28avr/102

Revue de presse PHP de la semaine 16 (2010)

La semaine qui vient de s'écouler a été assez calme dans le monde PHP. Cette revue de presse sera donc plus courte que d'ordinaire.

The class design checklist

Giorgio Sironi propose sur son blog une liste de questions qu'un développeur devrait se poser avant de commiter une nouvelle classe. Ces questions portent sur le nommage, la structure et la taille de la classe.

Bien entendu, il existe des outils pour détecter la plupart des problèmes que soulèvent ces questions mais se les poser soit-même a également un rôle éducatif qui contribue à améliorer ces compétences.

Find your Files

Fabien Potencier, a présenté le nouveau composant Finder du framework Symfony. Celui-ci permet de parcourir une liste de fichiers grâce à des méthodes très intuitives conçues avec des Fluent Interfaces dans l'esprit Domain Specific Language.

eZCheck

eZPublish est un CMS puissant mais complexe. Il est parfois difficile de s'assurer lors d'un passage en production qu'on a bien optimisé la configuration en conséquence et qu'aucun réglage facilitant le développement n'est pas resté activé ce qui pourrait compromettre les performances ou pire encore : la sécurité.

Pour faciliter cette vérification, le site eZ France vient de publier eZCheck, une liste de points à vérifier avec des explications détaillées pour chaque aspect.

Bash et l'auto-complètement

L'article bonus de cette semaine est assez particulier mais devrait ravir ceux d'entre vous qui utilisent PHP pour écrire des programmes en ligne de commande. En effet, il explique très simplement comment mettre en place un mécanisme d'auto-complétion pour votre programme. A vous donc l'usage de la touche tabulation dans vos propres programmes.

1mar/105

Vers une convergence des frameworks PHP ?

Ces dernières semaines ont été propices aux annonces dans le monde des frameworks PHP. Tandis que Zend annonçait le début du travail sur la version 2 de son framework, Sensio Labs sortait une pré-version de Symfony 2.0. Ces deux frameworks devraient sortir pour la fin de l'année ou au début de l'année prochaine. Devant ces annonces importantes, on pourrait s'attendre à un choc des titans pour la domination du marché des frameworks PHP mais la réalité est plus complexe et plus intéressante.

Une vision commune

Dès le début ces deux frameworks ont été conçus par des entreprises pour des entreprises. Chacun a bien entendu su créer une communauté forte autour de son produit mais la vocation première est de consolider l'arrivée de PHP en entreprise.

Pour cela, ils ont mis en place différentes mesures qui rassurent les DSI :

  • Licence Open Source permissive
  • Support commercial
  • Certification (Pour Zend Framework seulement pour le moment)
  • Formation
  • Documentation abondante
  • Tests unitaires

C'était particulièrement important devant la myriade de frameworks dont il était bien difficile d'évaluer la pérennité. Ce point est crucial lorsqu'on investi dans des développements importants.

Des passerelles techniques

Depuis longtemps, le tutoriel de Symfony propose d'implémenter un système de recherche en utilisant le composant Zend_Search_Lucene qui fait partie de Zend Framework. Fabien Potencier, le meneur du projet Symfony, a également annoncé lors de la conférence Symfony Live 2010 que deux composants supplémentaires de Zend Framework seront bientôt utilisés dans Symfony. Il s'agit de Zend_Log et Zend_Cache qui, comme leurs noms le laisse supposer, permettent respectivement de gérer la journalisation des messages et le cache applicatif.

Il a également indiqué que le framework allait abandonner son outil maison de tests unitaires au profit de PHPUnit, projet fortement établi et utilisé pour tester Zend Framework.

De son côté, Zend n'est pas en reste. La société a récemment annoncé que Doctrine serait utilisé par la version 2 de son framework. Cet ORM est un projet indépendant mais qui est également utilisé par Symfony. Par ailleurs, son meneur actuel, Jonathan H. Wage, est employé par Sensio Labs.

Une volonté de souder la communauté

Au-delà des aspects techniques, il semble y avoir une réelle volonté de la part des deux meneurs de ces projets pour travailler ensemble au lieu de se livrer une guerre inutile.

La présence de Matthew Weier O'Phinney, le responsable de Zend Framework, à la conférence Symfony Live 2010 à Paris est un signe fort de cette communication entre les deux projets. Les propos de Fabien Potencier confirment cette volonté de souder la communauté PHP qui s'égare parfois dans des querelles de chapelles stériles.

I would love if people from different framework communities can work together more often, like what we have done with the PHP 5.3 interoperability group. I would love if we can share more components. I would love to discuss how we can make our PHP community grow faster.

Is it a dream? I hope it's not. And I have a proposal. Let's organize an event where several PHP framework communities can discuss and share ideas. Anyone?

Cette conscience de la nécessité de coordonner les efforts des différentes communautés semblent dans l'air du temps car des représentants des principaux projets PHP ont travaillé ces derniers mois à définir une charte pour l'architecture des composants de leurs projets respectifs afin de faciliter l'interopérabilité entre eux.