samedi 28 février 2009

Certification Zend Framework

Malgré la pression et les problèmes techniques, j'ai obtenu hier la certification Zend Framework :)


La pression... forcément, en tant que formateur sur ZF, échouer à ce test ne m'était pas permis ! Pourtant, ce n'était pas du domaine de l'impossible, car le test n'est pas des plus faciles, sans compter que comme toujours certaines des questions sont d'une pertinence discutable. Bref, ce fut un mauvais moment à passer, mais récompensé par le soulagement d'avoir réussi cette épreuve :)

Malgré les reproches que l'on peut faire à ce type de certifications (sous forme de QCM), s'y préparer présente un intérêt majeur : se forcer à découvrir parfois des pans entiers du framework que l'on ne connaissait pas parce que l'on a jamais eu l'occasion, le courage même de s'en servir.

En résumé, ce ne sont pas les réponses aux questions posées lors de l'examen qui témoignent de ses connaissances, mais la somme de connaissances qu'il aura fallut engranger pour être capable de répondre.

Dernier point, éviter de passer de trop nombreuses certifications, parce que sinon il vous faudra des feuilles A4 pour imprimer vos cartes de visites, qui en outre ressembleront au catalogue Pearson Vue ;)

mardi 13 janvier 2009

Une barre de débuggage pour Zend Framework

Petite news pour parler d'un petit utilitaire très pratique pour débugger, et partiellement profiler (de façon sommaire), les applications ZF.

Il s'agit de Scienta ZF Debug Bar. Alors autant être clair, ce projet n'est révolutionnaire ni dans son concept (très largement inspiré d'outils similaires pour Ruby On Rails et symfony notamment), ni dans sa conception (elle aussi très inspirée des projets cités précédemment).

Pour résumer, l'outil se présente sous la forme d'un unique fichier PHP, contenant une unique classe héritant de Zend_Controller_Plugin_Abstract. Son utilisation est fort simple : après avoir extrait l'archive à la racine du projet ZF, il suffit d'inclure le fichier dans le bootstrap, de créer une instance du plugin que l'on configure à l'aide d'un simple tableau de paramètre fourni au constructeur, et enfin d'enregistrer cette instance dans le contrôleur frontal de l'application avec sa méthode registerPlugin().

Cela suffit en effet à générer sur chaque page de l'application une petite barre d'outils en Javascript, utilisant jQuery, qui pourra afficher différents types d'informations sur la requête, comme son temps d'exécution, les différentes requêtes SQL et leur durée, la mémoire consommée, les fichiers inclus, et enfin les différentes variables. Mais le mieux consiste à consulter le site officiel pour se rendre compte de ce que propose l'outil, puis surtout de l'utiliser :)

Une petite note au sujet du choix de jQuery. Je ne débatterai pas de la qualité de la librairie, de la pertinence de son utilisation etc., mais je rappellerai simplement que cela vous posera des problèmes si 1) vous utilisez déjà jQuery ans votre application 2) vous utilisez Prototype (qui est incompatible) 3) sans doute d'autres librairies similaires vous poseront le même problème. Enfin, si la qualité globale du code est discutable, il a le mérite d'être fonctionnel, et je souligne également les deux astuces qui consistent pour la première à utiliser une distribution en ligne de jQuery et la seconde à avoir embarqué le binaire des icones directement dans le source, permettant ainsi la distribution de ce fichier sous la forme d'un unique fichier comme signalé plus haut.

Si l'on peut espérer que l'outil s'étoffe (j'imagine que toute contribution sera par ailleurs bienvenue), il est incontestable que tout développeur ZF peut d'ores et déjà considérer l'utiliser au quotidien. Ce qui lui permettra, entre autre, de ne plus se faire railler par ses collègues utilisant symfony et qui en dispose donc déjà depuis un bon moment ;)

Mini-tuto et téléchargement