7 mars 2013

[Interview] Xavier Lacot, formateur Symfony2 et Titanium pour Human Coders Formations

Xavier Lacot

Xavier Lacot, co-fondateur de JoliCode, dispense chez nous les formations Appcelerator Titanium et Symfony2. Il a accepté de répondre à nos questions.

HC: Bonjour Xavier, peux-tu te présenter en quelques lignes ?
XL: Je suis un développeur Web qui a commencé il y a déjà bien longtemps :-) Après un assez long passage dans une agence Web, dont j’ai successivement dirigé le pôle PHP et le centre d’expertise, j’ai co-fondé début 2012 JoliCode, que je dirige, et où je continue à intervenir dans le cadre de missions techniques (audit, conseil, mais aussi architecture technique ou développement).

Mon profil est fortement teinté “PHP”, technologie que je pratique depuis les bancs de l’école, ce qui m’a permis de vivre les transitions de PHP3 à PHP4 puis, plus récemment, à PHP5. Pour parler plus spécifiquement de Symfony, je suis un des premiers contributeurs français du framework, que j’utilise depuis 2005, et au sujet duquel j’ai donné quelques conférences. C’est, en quelque sorte, un de mes outils de travail principaux depuis que j’ai commencé à m’y intéresser. Mon engagement autour de PHP va un peu au delà, puisque je suis en 2012 président de l’AFUP, l’Association Française des utilisateurs de PHP (adhérez ! :-))

HC: Qu’est-ce que JoliCode ?
XL: 
JoliCode est une jeune société spécialisée dans l’architecture technique et la réalisation de projets Web de qualité. Nous sommes assez peu (cinq pour le moment), mais tous avec des profils très techniques, vraiment impliqués dans la veille et l’expertise technique.

Notre site internet, jolicode.com, donne une assez bonne image de nos métiers et de nos modes d’intervention : conseil, réalisation, audit, expertise ou formation. Avec, à chaque fois, le soucis de la valeur ajoutée et de la satisfaction complète et réelle de nos clients.

HC: Peux-tu nous présenter ces 2 formations ?
XL: 
Ces deux formations couvrent assez bien les outils avec lesquels JoliCode travaille au quotidien, sans aller dans l’exhaustivité.

Symfony2 est une nouvelle version, une refonte du framework symfony 1. C’est un peu le fer de lance des frameworks PHP modernes : il utilise le mécanisme d’injection de dépendance, est compatible avec Composer, propose un Class Loader, et s’appuie sur les namespaces PHP. Symfony2 est l’outil parfait pour structurer des développements de manière professionnelle, et sortir des bricolages qui ont trop souvent été associés à l’image de PHP.
La formation Symfony2 que nous dispensons est une formation en douceur, qui présente de manière pédagogique les différents aspects du framework, permet de bien en comprendre l’architecture et conduit le stagiaire à l’autonomie dans ses développements. Sur trois jours, on couvre tous les aspects du framework, et en sortie les développeurs savent comment commencer un projet, l’enrichir par des librairies tierces, et mettre en place les fonctionnalités qu’ils souhaitent.

La formation à Appcelerator Titanium, elle, constitue le prolongement de ces deux premières formations “orientées Web” : dans la vie d’une entreprise ou d’une application métier, il est naturel, une fois la plateforme Web en place, de vouloir une présence sur le mobile. Titanium est l’outil parfait pour cela, dans la mesure où ce framework Open-Source permet de concevoir de vraies applications natives (pas des WebApps limitées fonctionnellement) cross-platform (le même code est utilisé pour l’application iOS et l’application Android) et de manière productive (le langage sous-jacent employé est javascript, au même titre qu’on peut employer javascript côté serveur avec node.js.
Cette formation est un peu un inédite en France : elle s’appuie sur nos retours d’expérience et notre pratique du framework pour éviter les écueils aux développeurs qui souhaitent entamer un projet avec Titanium. Trop d’utilisateurs occasionnels du framework font des erreurs de conception évidentes, ne suivent pas les bonnes pratiques élémentaires du développement avec javascript, ou n’adoptent pas une conception suffisamment modulaire.
Les trois journées de formation Titanium cherchent vraiment à faire en sorte que l’expérience de développement avec le framework se passe bien, en prenant en compte les contraintes du support (un appareil avec des performances, de la mémoire et une connectivité limitées).
Nous proposons en 4e journée optionnelle une introduction à Alloy, le framework RAD qui s’appuie sur la plateforme Titanium pour améliorer encore la productivité du développement mobile natif.

HC: Quelle est ton histoire avec PHP et Titanium ?
XL: 
Comme dit plus haut, j’ai commencé à développer des sites avec PHP3… Le siècle dernier :-) Comme tout développeur, je suis passé par différents stades de la découverte du langage : conception de mon propre framework, etc. Après avoir utilisé le framework Seagull puis Agavi, symfony 1 est apparu fin 2005 et je m’y suis immédiatement intéressant, devenant rapidement un des contributeurs assidus du framework. J’ai poursuivi cette implication jusqu’à maintenant, avec Symfony2, et me suis également investi dans la communauté, en donnant des conférences ou en participant à des rencontres entre développeurs. L’Open Source est une dimension vraiment importante de mon métier, quasiment philosophique : je lui dois énormément, et c’est donc avec plaisir que je contribue du code ou juste du temps, dés que je le peux.

Mon rapport à Titanium est plus récent. D’abord parce qu’on ne développe pas des applications mobiles pour Smartphone depuis très longtemps, et ensuite parce que Titanium est encore plus récent que ça, la première version publique étant apparue en 2009. J’ai commencé à jouer avec Titanium fin 2009, et ai publié ma première application début 2010, puis je me suis particulièrement intéressé à la manipulation de données à l’aide du framework : les APIs d’accès aux bases de données étant trop bas niveau à mon goût, j’ai créé fin 2010 l’ORM (Object Relationnal Mapper) joli.js, que j’ai eu la chance de pouvoir présenter lors de la première édition de CodeStrong, la grande conférence au sujet de Titanium, qui a lieu chaque année à San Francisco. Une trentaine d’applications plus tard, mon engouement pour le framework n’est pas tombé, et je décourvre encore chaque jour de nouvelles possibilités pour cette belle plateforme.

HC: Pourquoi as tu décidé de donner des formations ?
XL: Le métier d’un développeur Web est un métier en déséquilibre constant : dés que l’on connait une technologie, elle est dépassée, de nouvelles versions plus performantes, rapides, simples ou efficaces sortant régulièrement. Donner des formations, c’est un moyen pour moi de partager avec d’autres personnes mon expérience et mon effort de veille, en leur transmettant les compétences acquises au long de projets pas toujours évidents. On dit souvent que le premier projet avec une technologie donnée est généralement de qualité médiocre et on souhaite généralement le refondre dés le développement terminé. Donner des formations, c’est un moyen d’éviter à mes stagiaires ces premiers écueils, en les mettant directement sur la bonne voie, afin qu’ils soient directement productifs et efficaces.

HC: Comment se déroulent ces formations ?
XL: 
Un point commun à ces deux formations : c’est tout sauf purement théorique. Évidemment, j’explique les concepts et les éléments d’architecture sous-jacents, mais on met surtout l’accent sur la pratique. Je connais les technologies que j’enseigne, mais ce qui est important c’est que les stagiaires eux aussi les maîtrisent, à la fin de chaque formation – et cela ne peut se faire qu’en pratiquant.

Pour chacune de ces formations, nous remettons au stagiaire un document PDF qui contient toutes les informations présentées, et nous utilisons un ou plusieurs exercices “fil rouge” comme support de test, afin de mettre en pratique chaque nouvelle notion présentée. De la théorie à l’exercice, il n’y a donc souvent qu’un seul pas.

HC: Quel est ton meilleur souvenir de formation ?
XL: 
Les meilleurs souvenirs de formation sont rarement liés aux journées de formation elles-même. Ce qui fait le plus plaisir, c’est lorsqu’un élève vous écrit quelques semaines après, pour vous remercier parce que son projet s’est bien passé grâce à la formation : cela donne vraiment le sentiment de la mission (bien) accomplie !

Il y a aussi eu cette formation Titanium, avec un stagiaire unique, qui avait été pour l’occasion compressée sur deux jours, la personne formée ayant déjà une première expérience du framework. Son retour a vraiment été positif, et c’était très agréable de pouvoir s’adapter en temps réel à ses problématiques, pour lui présenter les mécanismes du framework au travers du prisme de sa propre expérience.

Dans un registre moins sérieux, certaines situations de formation sont parfois amusantes : j’ai ainsi pu donner une formation cet été en mode “intra” (dans les locaux de l’entreprise formée), situés au milieu d’une forêt : les écureuils eux aussi venaient suivre la présentation à la fenêtre ! :-)

HC: Merci beaucoup Xavier !

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