PHP : Un point sur la certification Zend
Date de publication : 27/07/2008 , Date de mise à jour : 10/09/2008
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, 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 chez Anaska, 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 (5.1 pour être exact). De plus, elle a été entre temps traduite en Français, et elle est donc disponible dans notre langue depuis 2007.
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 :-)
|
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 150
personnes (environ) sont certifiées. Dans le monde : environ 1500 (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 150 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 :
- Les bases de PHP : (tableaux, chaînes, autre : tout)
- XML : SimpleXML, Xpath, Dom, Sax, LibXml2
- Web services : SOAP, REST, XMLRpc, JSON
- Design applicatif, règles de programation, algorithmique
- POO, SPL, Design-Patterns
- Flux et programmation réseau
- Securité : failles, protections
- Différences entre PHP4 et 5
- Bases de données, SQL : PDO, SQLite, MySQLi
- Web : Protocole HTTP, données GET/POST, Cookies/Sessions
La configuration supposée :
- PHP5.1 (avec PDO donc)
- 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, sauf pour justement en étudier les changements par rapport à PHP5.
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.
Des tests blancs existent ! PHPArchitect 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 :
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().
VI. Conclusion et autres certifications Zend


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'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
Cette page est déposée à la
SACD.