PHP : Un point sur la certification Zend
Date de publication : 27/07/2008. Date de mise à jour : 16/02/2011.
Par
Julien Pauli (Tutoriels, article et conférences PHP et developpement web) (Blog)
Apparue en 2004, la certification Zend est l'unique certification qui existe au monde sur PHP. Actuellement uniquement sur PHP5.3, elle a la particularité d'être plutôt complexe.
Plus que PHP, elle sert à évaluer les aptitudes du candidat sur le web et la programmation dans sa globalité.
POO,
Design Patterns, reconnaissance de failles de sécurité, protocole
HTTP,
gestion des
flux de données, XML et
services webs, sont autant de questions qui sont posées.
Etant moi-même formateur à la certification et professionnel aiguisé sur le langage, je vous propose dans cet article, de passer en revue les sujets abordés, mais aussi les questions types, les astuces et les pièges à éviter.
I. PHP, une certification ?
II. Pourquoi se certifier ?
III. La certification Zend de plus près
IV. Les ressources autour de la certification
V. Le point de vue du formateur certifié
VI. Conclusion et autres certifications Zend
I. PHP, une certification ?
Aujourd'hui, tout CV informatique, et a fortiori web, comporte le terme 'PHP'. Autant apprendre les bases de PHP peut se révéler simple, autant en maîtriser les arcanes nécessite un travail important.
C'est cette double facette qui rend PHP complexe. Comment évaluer le niveau entre deux développeurs, l'un débutant prétentieux se définissant comme d'un bon niveau et de l'autre un expert humble qui se définit également d'un bon niveau ?
Cette certification est assez difficile et s'adresse à un public maîtrisant bien PHP. Cet examen témoigne que le candidat possède de bonnes compétences techniques en PHP et sur les technologies Web en général.
Ainsi, il est clair que tout "Zend Certified Engineer" (personne certifiée) est apte à travailler en entreprise sur des projets PHP, quelle qu'en soit la compléxité.
Attention cependant, cela ne veut pas dire que le développeur est bon en terme de méthodologie, la certification est une validation technique.
L'examen de la certification Zend a été crée par un groupe de 12 experts en PHP à travers le monde.
Zend est une société commerciale qui vend et supporte des produits de qualité autour de PHP dans un milieu professionnel.
Ce sont donc naturellement eux qui "portent" la certification, mais ils n'en sont pas les créateurs techniques (ils le sont en partie seulement).
La problématique de certification a longtemps été évoquée au sein du PHPGroup, mais c'est un énorme travail qui s'est transformé en serpent de mer. L'éditeur Zend (qui contribue largement au projet PHP) a donc pris le lead sur le projet
et mis en place un examen de certification.
Ainsi l'examen a été écrit par une communauté, pour une communauté : esprit PHP intact et conservé ;-) . Il s'agit d'une norme au sein des développeurs PHP dans le monde, et d'un gage de pérénnité au sein d'une entreprise.
Parmi les experts créateurs de l'examen, nous pouvons citer Damien Seguy, Ilia Alshanetsky, Christian Wenz, Mike Naberezny, Chris Shiflett, Marco Tabini, Marcus Boerger, Martin Jansen, Andi Gutmans, Zeev Suraski...
D'abord PHP4, la certification porte aujourd'hui uniquement sur PHP5 et sur sa dernière version : PHP5.3.
II. Pourquoi se certifier ?
La certification complète un CV. Elle est le juste milieu entre experience et compétences théoriques (compréhension du système d'informations).
Elle ne peut pas combler un manque, elle ne peut pas remplacer un diplôme, elle sert de complément à un CV déjà rempli d'experiences.
Cependant, la personne ayant franchi le pas de la certification montre déjà une certaine implication dans la communauté PHP. PHP est un langage mûr, professionnel et apte à faire
ses preuves dans le monde de l'entreprise et même de l'application critique (Le Monde, FaceBook, Skyrock, Yahoo ...).
La certification entre en jeu lors du recrutement d'une compétence. Pour distinguer un "bidouilleur", d'un programmeur chevronné (excusez ce parallèle grossier), la certification est une
merveille. Un expert certifié Zend est assuré d'avoir suffisament de compétences sur PHP et son éco-système pour faire face à une mission professionnelle.
 |
Les questionnaires techniques d'embauche de Yahoo, sur un poste PHP, sont plus difficiles que la certification PHP
Certaines entreprises exigent la certification
|
Une certification apportant la preuve d'une aptitude dans un domaine spécifique, l'interêt de la posséder n'est plus à démontrer, si toutefois PHP est votre domaine de prédilection.
Car le niveau reste relativement élevé : la certification Zend PHP5 est la seule qui existe sur le marché, et elle est reconnue internationalement. En France, actuellement seules 300
personnes (environ) sont certifiées. Dans le monde : environ 2500 (la certification datant de 2004).
Zend a d'ailleurs mis en ligne
un annuaire, appelé pages jaunes des ingénieurs certifiés Zend, dans lequel apparait chaque certifié (seule liste officielle), peu de temps après l'obtention du diplôme.
III. La certification Zend de plus près
A la date de cet article, ce qu'il faut savoir :
- QCM de 70 questions - 90 minutes
- Le coût d'un passage avoisinne 200 euros
- Aucun document autorisé, aucun manuel, pas de connexion Internet
- 1 ardoise et 1 crayon à disposition
- Répondre faux ne pénalise pas plus que ne pas répondre
- On sait d'office le nombre de réponses à cocher (il peut y en avoir plusieurs)
- Certaines rares questions demandent d'écrire le nom d'une fonction
- En fin d'examen on peut revoir toutes les questions (si le temps le permet)
- Lors de la validation finale, on sait immédiatement si on l'a ou pas
- On ne connait ni le barème, ni la pondération, ni les réponses
La liste des points abordés (non exhaustive) :
- Les bases de PHP : (tableaux, chaînes, PCRE, performances, fonctions, serialisation ...)
- XML : SimpleXML, Xpath, Dom, Sax, LibXml2
- Web services : SOAP, REST, XMLRpc, JSON
- Design applicatif, règles de programmation, algorithmique
- POO, SPL, Design-Patterns, Reflection, Autoload
- Flux et programmation réseau, contextes
- Securité : failles, protections, cryptage, hashage, Injection SQL, XSS, CSRF, SSL
- Bases de données, SQL : PDO, SQLite, MySQLi, requêtes préparées, transactions
- Web : Protocole HTTP, données GET/POST, Cookies/Sessions
La configuration supposée :
- PHP5.3
- Register globals off
- Safe Mode off
- Pas de questions particulières relatives à l'OS
- Display errors à On
- Pas de questions particulière sur le php.ini
Ces questions ne sont pas issues de la certification (il est interdit de les divulguer), mais elles sont très ressemblantes :
Quelle fonction peut être utilisée pour savoir si un flux est bloquant ou non ? stream_get_bloking | stream_get_metadata | stream_is_bloking | stream_get_blocking_mode
La méthode _____ peut être utilisée sur noeud SimpleXML pour retourner un itérateur contenant la liste de tous les noeuds fils
IV. Les ressources autour de la certification
Vous n'êtes cependant pas seuls : il existe des livres pour étudier, et même des formations officielles permettant de se préparer :
Tous ces livres sont en anglais. Concernant le livre sur PHP4 : je le conseille aussi, mais en ayant une bonne connaissance des différences PHP4/5. Par exemple le chapitre POO de PHP4
est à ignorer.
Les livres d'études PHP5 et PHP4 se complètent bien. Il reste un troisième ouvrage contenant des questions types, à ma connaissance celui-ci traite de PHP4.
Attention, je rappelle que la certification porte aujourd'hui sur PHP5.3, qui est dans le forme "semblable" à PHP4 mais pas du tout dans le fond. Aussi, PHP5.3 introduit pas mal de nouveautés par rapport à PHP5 (5.2 et moins), qu'il convient de bien maitriser.
Des tests blancs existent ! Zend vend des tests blancs, très ressemblants à l'examen réel.
Ces tests sont comme la vraie certification : aucune information de pondération, vous n'aurez aucunement les réponses aux questions à la fin du test. Vous pourrez en revanche apprécier un petit récapitulatif qui vous est
présenté en fin d'examen blanc :
 |
A ce jour (16/02/2011), les tests blancs n'existent plus. Zend est en train de les mettre à jour pour intégrer 5.3. Aucune date de disponibilité n'a filtré.
|
V. Le point de vue du formateur certifié
Avec mes stagiaires, nous faisons en général un test blanc à l'arrivée le premier jour, puis un le dernier jour avant de partir. Il y a bien entendu bonne
progression dans les résultats observés.
La certification exige autant une expérience assise, que des compétences théoriques solides. On demande ainsi de connaitre une bonne partie des fonctions de PHP, mais aussi du web.
Les flux notamment, ou encore le protocole HTTP, les sessions et la sécurité. Quoi qu'il en soit, il faut vraiment bosser sur les fonctions str* et array* ; ainsi que sur le design applicatif.
Aussi, on vous demande souvent des noms de fonctions (parmis les options de réponse à cocher), et beaucoup de fonctions n'existent pas, ou pas bien orthographiées. Ainsi on peut proposer strsplit() (str_split()),
ou encore headers_get() (headers_list()) ... Il faut réellement maitriser le langage.
On peut vous faire bien réfléchir sur les algorithmes tordus, avec des références de partout, des for() dans des while()...
On peut tester vos capacités en informatique fondamentale: Savez-vous convertir des bases (de tête)? Savez-vous décaler/manipuler des bits? Quelles sont vos compétences en sécurité, en chiffrement?
Au risque de me répéter: ne tentez pas l'examen sans de très solides compétences sur le langage, ce serait perdu d'avance. Utilisez PHP au quotidien, tout PHP et pas seulement les 15% du langage que vous recyclez sans arrêt, il faut
avoir une vue d'ensemble et un point de vue averti sur l'intégralité du langage.
VI. Conclusion et autres certifications Zend
Cette certification tient son pari, elle permet de faire ressortir des lauréats qui maitrisent techniquement leur sujet. Aussi, elle a été mise à jour en 2010 pour prendre en compte les nouveautés apportées
par la sortie de PHP5.3, elle suit donc le marché et les évolutions de PHP.
Zend propose aussi une autre certification : la certification Zend Framework, apparue en Octobre 2008. Celle-ci est un peu différente de celle de PHP : elle ne propose pas de casse-tête, mais demande aussi au candidat de maitriser parfaitement son sujet.
Pages jaunes des ingénieurs certifiés Zend
Groupe Zend Framework certified sur LinkedIn
Groupe PHP certified sur LinkedIn


Copyright © 2008 Julien PAULI. Aucune reproduction, même partielle, ne peut être faite
de ce site et de l'ensemble de son contenu : textes, documents, images, etc.
sans l'autorisation expresse de l'auteur.
Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 €
de dommages et intérêts.
Cette page est déposée.