Revue de presse Industrialisation PHP de la semaine 26 (2010)
Voici la dernière revue de presse avant les vacances. Selon l'actualité, j'espacerai peut-être un peu les revues de presse pendant les deux mois qui arrivent.
10 Tips for Optimizing MySQL Queries (That don’t suck)
Les conseils d'optimisation pullulent sur internet. Malheureusement, le meilleur côtoie parfois le pire comme le montre Jesse Farmer avant de proposer une liste des 10 optimisations pour MySQL qu'il considère utiles.
C'est la fête du test
Dans le prolongement de mon article sur le TestFest PHP 2010, Frédéric Hardy a rédigé un article qui explique en détails comment écrire son premier test unitaire pour PHP.
Xdebug 2.1
Derick Rethans a publié cette semaine la version 2.1 de son outil Xdebug. Cette version est la première à être totalement compatible avec PHP 5.3. Au menu des nouveautés, on trouve notamment la possibilité de tracer l'assignation des variables, de désactiver les opérateurs @ et de savoir quel bout du code a défini des entêtes HTTP.
Do yourself a favour and don’t test using HTTPS
Utiliser des connexion HTTPS en production est une très bonne chose mais cela complique souvent les tests IHM. Adam Goucher explique les raisons du problème et propose de tout simplement ne pas utiliser HTTPS lorsqu'on n'est pas en production.
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.

