Industrialisation PHP

11oct/100

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

Understanding APC

APC est une extension PHP qui est à la fois un cache d'OPCode et un cache de données utilisateur. Le blog TechPortal explique son fonctionnement, le compare avec memcached et propose des clés pour déterminer quand choisir l'un ou l'autre.

Zend Framework app's PHPUnit suite 3x faster

Zend a choisi PHPUnit comme outil de tests unitaires pour son framework. Leur bonne intégration, notamment grâce à Zend_test, facilite beaucoup les tests d'application développées avec Zend Framework. Cependant, les tests touchant à la base de données restent lents à cause des vidages de tables après chaque test. Olek Janiszewski propose une solution ingénieuse à ce problème : utiliser des transactions et faire systématiquement un rollback après le test unitaire.

Créer une autorité de certification et des certificats SSL auto-signés

Utiliser des certificats SSL est très important pour améliorer la sécurité des applications web. Cependant, ceux-ci coûtent souvent cher. Il peut donc être intéressant de créer ses propres certificats lorsque cela est possible, notamment dans le cas d'un usage interne à une organisation.

Bugfixes without Tests are Anti-fixes

Dans un court article, Dan Ackerson rappelle a juste titre qu'une correction de bogue sans test revient à faire un pari dangeureux. On ne peut être sûr que le remède n'est pas pire que le mal et que ce bogue ne réapparaîtra pas plus tard. C'est d'ailleurs une des choses que les utilisateurs détestent le plus : ils ne comprennent pas comment un problème corrigé peut survenir à nouveau.

Examine All HTTP/HTTPS Traffic on Windows with Fiddler2

Bien que discret, le protocole HTTP est l'élément indispensable au fonctionnement des applications web. Il est parfois nécessaire d'étudier le détail des échanges HTTP pour débusquer l'origine  d''un problème. Pour cela il existe des outils que l'on appelle proxies de développement. Comme leur nom l'indique, ils se placent entre le client HTTP, généralement le navigateur mais pas seulement, et le serveur HTTP analysant tout ce qui transite. Parmi les logiciels gratuits disponibles sur Windows, on trouve Fiddler2 dont parle le blog Coding This dans un article récent.

The story of one MySQL Upgrade

Cette semaine, le blog MySQL Performance, nous conte par le détail le déroulement d'une mise à jour périlleuse d'un serveur MySQL. On y apprend les étapes définies et les outils utilisés.

14juin/100

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.