18 mars 2013

[Interview] Nicolas Perriault, formateur CasperJS pour Human Coders Formations

Nicolas Perriault dispense chez nous la formation CasperJS. Il a accepté de répondre à nos questions.

Human Coders: Salut Nicolas, tout d’abord, qui es-tu ?
Nicolas Perriault, formateur CasperJSNP: 


Je m’appelle Nicolas Perriault, j’ai 36 ans et je vis à Montpellier. Je fabrique des applications Web depuis bientôt 15 ans. Je travaille pour Scopyleft, une coopérative spécialisée dans le développement Web et mobile que nous avons monté avec trois comparses.

HC: Pourquoi et comment as-tu créé CasperJS ?
NP:
CasperJS était initialement un simple script PhantomJS développé pour un client qui avait des besoins relativement complexes en scraping, notamment vis à vis de sites exploitant massivement JavaScript et AJAX. PhantomJS est un outil extrêmement puissant, mais son API est relativement limitée et les développeurs doivent généralement ajouter beaucoup de code par-dessus pour, par exemple, simuler un scénario de navigation utilisateur, remplir des formulaires ou télécharger des fichiers. J’ai pensé que ces besoins étaient suffisamment génériques pour légitimer la création d’une boîte à outils haut niveau réutilisables.

De fil en aiguille, le petit script initial a pris du corps jusqu’à devenir une librairie complète au périmètre désormais conséquent.

Parallèlement, je me suis rapidement rendu compte du potentiel de PhantomJS pour tout ce qui était test fonctionnel, d’où la deuxième direction prise dans le développement de l’outil — qui est par ailleurs de plus en plus utilisé dans cette perspective.

HC: Peux-tu nous présenter la formation CasperJS ?
NP:
J’ai toujours pensé qu’une formation devait avant tout être pratique et ludique pour espérer transmettre efficacement un concept, une technicité et les bonnes pratiques de mise en œuvre qui en découlent. Aussi cette formation se présente sous la forme d’un atelier interactif laissant une grande part à la manipulation et à l’expérimentation tout en assurant une mise en lumière des notions sur lesquelles reposent les exercices.

Ces derniers portent sur le scraping et la mise en place de tests fonctionnels. Un support de cours complet ainsi qu’une archive contenant les corrigés des exercices pratiqués sont remis aux stagiaires à l’issue de la session.

HC: Pourquoi as-tu décidé de donner des formations ?
NP:
Étant complètement autodidacte, j’ai depuis toujours eu la volonté de transmettre ce que j’ai patiemment eu à assimiler moi-même, parfois non sans une certaine difficulté. D’autre part, étant l’auteur de CasperJS, il m’a semblé naturel de transmettre l’intime connaissance que j’en ai :)

HC: Comment se déroulent les formations que tu donnes ?
NP:
Mes formations sont à tout moment interactives, et avant tout basées sur le dialogue et l’expérimentation. Ainsi, après de rapides rappels des grands concepts du Web, de la syntaxe HTML, du DOM et de JavaScript et on embraye immédiatement sur la mise en œuvre de scripts très simples permettant de prendre en main l’API de CasperJS, avec des résultats immédiats.

Les premiers exercices se concentrent sur les manipulations de base, la gestion de la navigation, le remplissage et la soumission de formulaires, la gestion de l’asynchronicité et l’export de données.

La seconde partie des expérimentations se focalise plus sur le testing fonctionnel, l’assurance qualité et les bonnes pratiques de mise en place des tests.

HC: Quel est ton meilleur souvenir de formation ?
NP:
Mon meilleur souvenir de formation est une session au cours de laquelle nous avons décidé, avec l’accord de l’ensemble des participants, de complètement changer les règles du jeu initiales ; nous avons défini ensemble un nouveau terrain d’expérimentation afin de nous affranchir des exemples fournis par les supports de formation “officiels”. 

Nous avons décidé collégialement de la nouvelle application d’exemple que nous allions concevoir ensemble, sans pour autant changer ni altérer les objectifs pédagogiques initiaux. Exercice potentiellement périlleux mais très stimulant ! Et c’est la formation sur laquelle j’ai eu les meilleurs retours de toute ma carrière de formateur :)

HC: Merci Nicolas !

Vous pouvez retrouver l’ensemble de nos formations sur Human Coders Formations