Flux
Articles
Commentaires

Suite à mon passage de la certification Zend Framework, quelques conseils pour les éventuels futurs candidats.

En premier lieu, il est plus que recommandé de consulter (et plutôt plusieurs fois qu’une) le document de préparation à la certification (“ZF Certification Study Guide“) proposé sur le site de Zend. En 200 pages, vous aurez un condensé de tous les éléments requis. Autre document qui peut s’avérer utile, celui rédigé par Rob Allen (“Zend Framework Certification Refresher“) qui est un rappel des notions principales de Zend Framework. Bien sûr, cela ne dispense pas de consulter la documentation officielle afin d’avoir connaissance de tous les détails de l’implémentation des classes.

Cela va sans dire, une pratique du framework est également essentielle. Et en particulier de toutes les classes concernant le MVC au sens large (accès à la base de données, aides de vues, formulaires…).

Très important, n’oubliez pas non plus de réviser les recommandations ZF sur le style du code PHP à adopter. Les classes pour l’utilisation des services web comme REST, SOAP et XML-RPC sont aussi à connaître.

Il est également obligatoire de retenir les différentes manières d’utiliser les méthodes. Très souvent, il est en effet possible pour un même paramètre de passer soit un objet soit un tableau ou bien encore le nom d’une classe. Vous devez connaître ces différents moyens de réaliser la même chose.

Pour résumer, cette certification ne m’a pas parue plus difficile (ni plus facile d’ailleurs) qu’une autre comme la certification Linux LPI. Les 90 minutes pour répondre aux 75 questions rédigées en anglais ne sont pas de trop, certaines questions nécessitent davantage de réflexion parce que les réponses proposées sont parfois très proches mais il n’y a pas de question destinée à “piéger” le candidat. Seul petit bémol, j’ai trouvé dommage de ne pas avoir la note finale, vous savez juste que vous avez obtenu la certification. Il serait intéressant d’avoir au moins une idée de son niveau et surtout de savoir dans quelles sections vous devez approfondir vos connaissances.

Quelques photos de mon voyage à La Réunion en septembre 2009. Des paysages inoubliables ! Un grand merci à Cyril, Nath et leurs deux puces Célia et Loane pour leur accueil et pour les visites organisées (mieux qu’un guide péi ! :-) )

  • Introduction :

Il est très courant d’avoir à stocker une structure d’arbre dans une base de données. Par exemple, pour enregistrer l’organisation hiérarchique d’une entreprise ou bien pour représenter les catégories et sous-catégories des articles d’un site web.

La façon la plus simple de procéder est d’ajouter simplement à la table concernée un champ “identifiant_parent” qui servira à stocker l’identifiant du noeud parent. Ainsi, pour stocker l’arbre suivant :

      A
  ---------
  |       |
  B       C
        -----
        |   |
        D   E
      -----
      |   |
      F   G

nous aurions les enregistrements suivants :

identifiant    identifiant_parent
A                 NULL
B                 A
C                 A
D                 C
E                 C
F                 D
G                 D

Le noeud “A” qui est la racine de l’arbre n’a évidemment aucun parent c’est pourquoi l’identifiant du parent est dans ce cas mis à NULL.

Cette technique de représentation d’un arbre a comme avantage sa très grande simplicité. Elle a par contre l’inconvénient de nécessiter pour certains traitements l’envoi de plusieurs requêtes SQL de manière récursive. En effet, pour retrouver tous les noeuds enfants de “C”, il n’est pas possible de le faire directement via une seule requête SQL. Il faut tout d’abord récupérer les enfants de “C” puis, pour chaque enregistrements trouvés, récupérer à leur tour leurs enfants.

Nous allons donc voir une autre méthode plus complexe mais aussi plus performante pour stocker dans une base SQL une structure d’arbre.

Lire la suite »

  • Introduction :

Nous allons voir comment développer un client pour le logiciel serveur Memcached avec le langage Objective Caml. Le logiciel Memcached permet en résumé de stocker des données en mémoire vive ce qui offre des accès très rapides. Une valeur est simplement indexée par une clef unique qui est utilisée par le client pour écrire, modifier ou lire cette donnée. Memcached est typiquement utilisé pour stocker des valeurs temporaires afin de gérer un cache d’où son nom. Son protocole est relativement simple ce qui en fait un bon candidat pour une première approche du développement en Objective Caml.

Le code source complet est disponible dans cette archive.

Lire la suite »

  • Introduction

Nous allons voir comment éviter l’envoi inutile de requêtes SQL identiques lors de l’exécution d’un script PHP utilisant Zend Framework. L’idée est de mettre en cache le résultat de chaque nouvelle requête SQL. Pour ensuite être capable de renvoyer directement le résultat mis en cache dans le cas où les données de la base utilisées par cette requête n’ont pas été modifiées. En effet, si nous sommes capable de vérifier qu’aucun enregistrement des tables concernées par la requête n’a été modifié depuis la mise en cache, nous sommes certain de pouvoir renvoyer directement le résultat en cache puisque la sélection de données sera forcément identique. Attention toutefois, nous partons du principe que les requêtes ne comportent pas de conditions de sélection extérieures aux données elles-mêmes. Une requête qui comporterait par exemple une condition sur l’heure courante pourrait voir son résultat changer même si les données sur lesquelles portent la requête ne sont jamais modifiées. Il vous faudra donc veiller à utiliser à bon escient ce mécanisme de cache.

Lire la suite »

Articles Précédents »

Suivre

Get every new post delivered to your Inbox.