Revue de presse Industrialisation PHP de la semaine 23 (2010)
C'est avec un peu de retard que je vous présente ma revue de presse de la semaine passée.
NGINX + PHP-FPM + APC = Awesome
Apache est un excellent serveur HTTP, robuste et très paramétrable. S'il est suffisant pour la majorité des utilisations, il peine parfois à tenir de forte charges. Il faut alors se tourner vers des serveurs à la couverture fonctionnelle moindre mais taillés pour encaisser de grandes quantités de requêtes. Les deux plus connus dans ce domaine sont LightTPD et nginx. C'est l'installation et le paramétrage de ce dernier que cet article explique en détails. Au passage, l'auteur parle de PHP-FPM, une manière de mettre en œuvre PHP dont on entendra beaucoup parler dans les prochains mois car elle a été intégrée dans le tronc de PHP.
Sikuli
Il existe plusieurs outils, comme Selenium ou Watir, pour automatiser des actions dans des interfaces graphiques notamment pour effectuer des tests d'IHM. La plupart de ces outils utilisent un mécanisme interne à la technologie testée pour pouvoir interagir avec elle. Ils ne peuvent donc pas tester les technologies ne fournissant pas un moyen d'introspection.
Sikuli est un nouvel outil qui fonctionne de manière révolutionnaire. Il se base sur l'affichage de l'interface testée et cela par le biais de captures d'écran. Ce principe ne nécessite aucune manipulation interne de la technologie testée. Il est donc utilisable avec n'importe quelle application pourvu qu'elle produise un affichage. Le concept est un peu difficile à expliquer avec des mots mais la vidéo de démonstration est très explicite.
Why are interfaces widely ignored in the PHP world and what use do they have when working with symfony?
PHP est souvent moqué par les communautés de langage plus fortement orientés objet. La cause a longtemps été un modèle objet très basique. Cependant, depuis l'arrivée de PHP5, il y a déjà presque 6 ans rappelons-le, cette raison est caduque. Certes, le modèle objet de PHP reste perfectible mais pour qui sait l'utiliser pleinement, il est possible de faire de fort belles choses.
Dorénavant, le problème vient surtout des développeurs qui ne tirent pas suffisamment parti de la Programmation Orientée Objet. Christian Schaefer prend l'exemple des interfaces qui sont trop souvent ignorées ou mal utilisées alors qu'elles apportent tant de souplesse lors de la conception d'une application.
Git Reference
Par sa nature décentralisée et sa puissance, Git a révolutionné les usages que nous avions de la gestion de version. Cependant, il n'est pas toujours aisé de l'appréhender, surtout quand on a l'habitude des systèmes centralisés comme CVS ou Subversion.
Pour découvrir Git, il existe un excellent livre, Pro Git, qui est consultable en ligne. Je vous recommande d'ailleurs d'acheter, comme je l'ai fait, une copie papier pour remercier l'auteur. Ce livre a beau être parfait pour comprendre les concepts et les rouages de Git, une référence rapide aux commandes courantes est un compagnon utile lorsqu'on fait ses premières armes. C'est ce que propose Git Reference en décomposant les commandes en différentes catégories : Bases, branches et merges, partage et mise à jour, inspection.
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.
Revue de presse PHP de la semaine 15 (2010)
Voici la revue de presse de la semaine qui vient de s'écouler.
Java versus PHP
Giorgio Sironi compare sur son blog Java et PHP. L'article ne fait qu'égratigner la surface mais il a le mérite d'exposer dans les grandes lignes les ressemblances et les différences de manière relativement objective.
Preparing for the Zend Framework Certification Exam
Le site php|architect a publié un retour d'expérience sur la préparation à la certification Zend Framework. Les ressources intéressantes pour se préparer y sont listées ainsi que l'élément clé pour bien aborder cet examen : la version actuelle de la certification porte sur la version 1.5 du Framework. Cela signifie que des composants importants des versions actuelles comme Zend_Application ne sont pas couverts car n'existaient pas à l'époque.
Migrating a dev team to an OO team
Bien que cela soit de moins en moins vrai, PHP traîne encore une réputation de langage principalement procédural avec un modèle objet pauvre. La faute revient aujourd'hui plus aux développeurs qu'au langage lui-même. Il est donc important de changer les mentalité et de mettre à jour les compétences de son équipe.
Le blog de la société Ibuildings liste 10 étapes pour amener en douceur une équipe habituée à la programmation procédurale à changer son mode de fonctionnement.
XPath regular expression matching in PHP 5.3
En attendant que la version 2.0 de XPath soit disponible dans PHP, il est parfois difficile de faire des requêtes complexes. Heureusement, depuis PHP 5.3 il est possible d'enregistrer des fonctions PHP pour les utiliser dans les requêtes XPath.
Remote collaboration and teams
Enfin, l'article bonus de la semaine traite des difficultés liées au télé-travail. L'absence de ses collègues entraîne une perte des contacts informels, voire inconscients, qui soudent une équipe. Il donne des pistes pour tenter de créer du lien malgré la distance et l'usage d'outils de communication modernes comme la messagerie instantanée.

