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.

14mai/102

Revue de presse PHP de la semaine 19 (2010)

Cette semaine encore, la revue de presse est courte. Mon parti pris depuis le début est de ne pas faire une resucée de ce que font très bien nombre de sites très connus comme PHPDevelopper.org ou Nexen.net. J'essaie plutôt de mettre en avant des articles pertinents qui, à mon sens, n'ont pas eu la visibilité qu'ils méritent.

Il me reste généralement dans ma besace nombre de bons articles mais qui ne sont pas directement liés à PHP, or j'ai choisi de ne mettre en avant qu'un "article bonus" par semaine. Peut-être devrais-je élargir la thématique et intégrer à cette revue de presse tous les articles qui touchent à l'industrialisation de PHP, au sens large. Qu'en pensez-vous ?

Après ces réflexions sur l'avenir de cette revue de presse, voici les articles de la semaine.

Writing Gearman Workers in PHP

Certains traitements prennent du temps. Il n'est donc pas possible de les effectuer pendant que l'utilisateur attend le résultat. Il est alors souhaitable d'effectuer ce traitement en tâche de fond et de prévenir l'utilisateur une fois celui-ci terminé. On appelle cela le traitement asynchrone. Il existe plusieurs techniques et outils pour gérer ces queues de travaux en attente.

Matthew Weier O'Phinney, le responsable du développement du Zend Framework, explique dans un billet comment écrire des workers pour Gearman. Gearman est un outil qui centralise les travaux sur un serveur auquel les workers se connectent pour demander du travail. Il s'agit de programmes simples, développés pour effectuer des tâches précises.

Unpredictable hashes for humans

Il est souvent nécessaire de générer des identifiants aléatoires dans une application web. Cette tâche qui semble simple au premier abord peut facilement amener des problèmes de sécurité si les valeurs générées sont devinables par un pirate. Il est donc impératif de choisir une stratégie fiable lors de la génération de valeurs aléatoires.

Checking for a live database connection considered harmful

L'article bonus de cette semaine explique pourquoi il est inutile et même préjudiciable de tester une connexion à la base de données avant d'effectuer une requête.

Voici comme chaque vendredi la revue de presse de la semaine qui vient de s'écouler.

PHP Smart Date Parsing: Natural Language Input (task.fm explained)

La saisie de date dans un formulaire est toujours compliquée. Deux logiques s'affrontent : l'utilisateur veut saisir la date dans un format qui lui paraît naturel tandis que le développeur souhaite un format strict directement exploitable techniquement. L'usage d'un calendrier est souvent une solution satisfaisante mais elle est parfois inapplicable notamment en cas de date relative, par exemple "le 3e jeudi du mois".

Heureusement avec un peu d'astuce et l'aide de PHP, il est possible de facilement extraire une date technique d'une phrase naturelle comme le montre un article du blog Enavu.

Find my Xdebug download wizard

Xdebug est un excellent outil mais il est parfois difficile à mettre en œuvre, notamment sur Windows. Pour remédier à cela, Son auteur, Derick Rethans, propose dorénavant un outil qui analyse votre phpinfo() et vous préconise les actions à mener pour le configurer selon le système d'exploitation.

Regex Clinic on Slideshare

Les expressions rationnelles, abusivement appelées expressions régulières, sont aussi puissantes que déroutantes à prendre en main. Heureusement, Andrei Zmievski, qui a présenté une session sur le sujet dans de nombreuses conférences à travers le monde, vient de publier sur Slideshare une version étendue de ses supports. Une lecture indispensable pour apprendre ou se perfectionner !

Tutoriels JMeter

Cette semaine l'article bonus est en réalité une liste d'articles traitant en détails de l'utilisation de JMeter pour faire des tests de charge.