Revue de presse PHP de la semaine 14 (2010)
Après une (trop) longue interruption, je reprends ma revue de presse hebdomadaire du monde PHP mais cette fois sur ce blog et non plus sur mon blog personnel.
Le but est de vous proposer une sélection d'articles traitant de PHP au sens large, c'est à dire incluant éventuellement les technologies associées. Ces articles seront principalement tirés de la partie "Lecture" située dans la barre de droite de ce blog mais au lieu de simplement donner un lien, je résumerai le contenu de l'article afin d'expliquer ce que je trouve intéressant dedans. Le nombre d'articles proposés variera en fonction de l'actualité.
Comme toute sélection celle-ci sera nécessairement subjective mais je m'efforcerai de piocher dans ma veille personnelle des articles pertinents pour le plus grand nombre.
Enfin, lorsque l'occasion s'en présentera, j'essaierai d'ajouter un article qui ne sera pas directement lié au monde PHP mais qui mérite d'être lu.
Trêve de bavardage, passons à la revue de presse de la semaine.
Mort de PHP6 + 20 jours
L'actualité récente de PHP a été assez tumultueuse concernant les futures versions. Certains développeurs considèrent que la marche actuelle vers PHP 6 n'est pas la bonne et qu'il faut changer de méthode afin de sortir de l'enlisement actuel.
A la suite de son premier bilan, Frédéric Hardy propose un résumé circonstancié 20 jours après le début de ces discussions animées sur l'avenir de PHP et les actions menées depuis lors.
A Primer for PHP 5.3's New Language Features
Au cours du travail préliminaire sur la version 2.0 de Zend Framework, Matthew Weier O'Phinney et son équipe se sont penchés sur les nouvelles fonctionnalités de PHP 5.3. Leurs découvertes montrent des cas d'usage des namespaces, des closures et la méthode magique __invoke().
Cet article pointe également les limites de ces nouvelles fonctionnalités et certains aspects contre-intuitifs lorsqu'on les découvre.
Don't reinvent the wheel ... invent the car !
Sous ce titre anglophone se cache un très bon article d'olivier Hoareau qui gratte là où ça fait mal. Il s'attache à démonter les discours faciles sur la mise en place de bonnes pratiques de développement, en particulier sur l'usage d'un framework.
On rencontre souvent des discours creux ponctués de mots-clés mais en poussant un peu plus loin la discussion, on découvre généralement que les bonnes pratiques affichées cachent un manque de maîtrise des outils et des méthodologies voire de PHP lui-même.
Introducing phpfarm
Tester son code avec différentes versions de PHP est souvent compliqué. Pour la librairie PEAR et ses très nombreux paquets c'est un réel problème. Heureusement, une solution simple à mettre en œuvre est désormais disponible grâce à phpfarm.
Cet outil permet d'installer simplement de nombreuses versions de PHP pour un usage en ligne de commande ce qui est suffisant pour lancer des tests unitaires. Il est également possible d'utiliser ces versions de PHP avec Apache via CGI. Les possibilités offertes sont énormes.
Neural Networks in PHP
Les réseaux neuronaux sont un concept récent qui vise à reproduire le fonctionnement du cerveau pour traiter des données. L'avantage de ce système c'est qu'il est adaptatif et peut apprendre de ses échecs. Une application neuronale sera donc théoriquement capable d'améliorer ses résultats avec le temps.
Le blog du site PHP Classes explique la théorie des réseaux neuronaux et propose un exemple d'implémentation avec le framework Neural Mesh.
How MySpace Tested Their Live Site with 1 Million Concurrent Users
MySpace n'est pas une société comme les autres. La preuve, pour tester la tenue à la charge de son site en vue de l'introduction d'une nouvelle fonctionnalité elle a mis en place 800 machines virtuelles Amazon EC2 afin de simuler 1 000 000 d'utilisateurs concurrents.
Vous n'aurez sans doute jamais besoin de tester une telle charge mais l'idée d'utiliser le Cloud pour simuler rapidement un afflux massif de visiteurs est intéressante.
Interview de Damien Seguy par Intelli’N Tv
Damien a été interviewé début février par le Intelli'N Tv, la web télévision dédiée à l'Open Source.
Il rappelle dans cette vidéo les qualité de PHP et ce que recouvre l'industrialisation de PHP. Il évoque également la place des frameworks et des CMS dans cette chaîne d'industrialisation.

Interview de Damien Seguy par Intelli'N Tv
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.

