Quel devraient être le contenu et la pédagogie d'un enseignement de l'intégration front ? Mettre en échec, apprendre à apprendre, en s'exerçant dans un framework pédagogique.
Trop de développeurs, tant back que front, écrivent du HTML sans en connaître la sémantique. Si certains maîtrisent, la plupart ignorent les rudiments de ce langage pourtant simple, faisant quantité d'erreurs aussi grossières que dommageables. D'autres domptent les frameworks d'intégration et préprocessent, sans savoir écrire une ligne de CSS, usant parfois d'un tank pour écraser une mouche. Une telle méconnaissance intrigue et pose la question de la formation à l'intégration web front.
Suite au témoignage de l'intégrateur Rémi HTeuMeuLeu, à Sud Web, nous nous posions la question de la formation, plus précisément de comment enseigner le HTML. Qu'a donc de si particulier ce langage, me demandais-je, pour, si simple qu'il soit, être si peu maitrisé ? Alors que c'est le langage de base, incontournable, du Web — c'est l'une des trois principales technologies du Web ! — trop sortent de formation sans l'avoir (suffisamment) pratiqué. Comme nous sommes à Sud Web, Rémi, Delphine et moi-même improvisons un élaboratoire le lendemain autour de cette question, sous forme de discussion ouverte avec une vingtaine de personnes : des gens du métier mais aussi des étudiants et des enseignants.
- Comment enseigner l'intégration HTML ?
J'ai relevé trois points intéressants : mettre en échec, apprendre à apprendre, en s'exerçant dans un framework pédagogique.
Apprendre à apprendre
Inquiète des lacunes constatées, mon réflexe était de commencer par un rappel du vocabulaire HTML et les bases sémantiques. Puisque tout repose sur cela, en intégration. Mais très vite nous faisons le constat de la quantité des problématiques à aborder : interopérabilité, maintenabilité, référencement, accessibilité, standards, etc. De la diversité des pratiques : avec ou sans preprocessing, IDE, etc. Comment former à tout cela ? Et est-ce vraiment nécessaire, vu la diversité sur le terrain, des pratiques d'intégration ? Un étudiant formé à l'intégration accessible sera peu aidé lorsqu'il se retrouvera en situation professionnelle de faire du pixel perfect quick & dirty, et réciproquement. Celui qui aura appris à intégrer dans les meilleures conditions, avec le meilleur framework du moment, sera dérouté par un framework maison tout neuf, aussi spécifique que méconnu, ou un vieux projet sans framework, lourd de ses strates historiques, etc.
Plutôt que l'art et la manière, il faut lui apprendre à apprendre. Les techniques d'intégration évoluent trop vite : il y a de fortes chances pour que les astuces qui lui auront été enseignées soient déjà dépassées à l'issue de sa formation. Plus que des pratiques et astuces, il faut lui apprendre à chercher. Et rester en veille. Plutôt que de réciter par cœur les spécifications W3C, savoir où sont les ressources sur Internet, afin d'être autonome dans ses recherches de solutions. Plutôt que la maîtrise, avoir une base en tout, en lui faisant découvrir la diversité des pratiques. Savoir évoluer et s'adapter, bref rester souple, pour faire face aux diverses situations et contraintes d'intégration, en l'initiant aux différentes problématiques.
Mettre en échec
Les spécifications W3C, bible de l'intégrateur, ne sont pas pédagogiques. « Ce n'est pas en lisant les specs du W3C qu'on apprend l'intégration HTML / CSS » tweete @victorbritopro. Rappelons-nous comment nous avons appris : en nous trompant ! Constater l'erreur et la corriger est plus efficace et édifiant que toute leçon théorique. Il faut donc mettre l'étudiant en situation d'échec. L'amener à corriger pour en tirer la leçon lui-même.
Il faut donc commencer, non par la théorie — il n'y a pas plus rébarbatif qu'un cours d'intégration qui commencerait par le passage en revue des balises HTML et de leur bon usage, ou des contraintes et enjeux de l'intégration web ! —, mais par l'exercice, l'erreur, puis la correction, pour amener ensuite la notion théorique. Ça tombe bien : le jeune padawan est souvent impatient de coder ! Point besoin alors d'être exhaustif. L'élève aura compris qu'il peut/doit aller consulter la documentation au besoin.
Framework pédagogique
Il en découle que nous avons besoin, pour enseigner l'intégration, moins qu'un support de formation sous forme traditionnelle de diapos, que d'exercices concrets, sous la forme d'un tas de code à manipuler, une sorte de framework pédagogique, éventuellement autour d'un projet de réalisation, qui éveille le besoin et la curiosité.
Un tel cadre manque vraisemblablement, aucun des éditeurs ou frameworks existants n'étant adapté à l'enseignement. Je retiens surtout que l'enseignement de l'intégration manque d'outils dédiés à la pédagogie. Il manque un framework HTML/CSS dont les modules serviraient, par leur inclusion progressive, à l'enseignement
note alors @borisschapira. Le fameux Bootstrap est cité en (contre-)exemple : certes bien fichu, mais trop complexe pour le débutant, là où il faudrait quelque chose de non optimisé, mais au contraire littéral et explicite, pas forcément utilisable en production, en briques modulaires, pour doser et accompagner l'apprentissage de façon progressive.
Voir en ligne : http://lanyrd.com/2014/sudweb/sczwxp/
Élaboratoire improvisé suite à la conférence de Rémi Parmentier « Faire comprendre son métier » où il témoignait de son parcours d'intégrateur, à Sud Web 2014 : « 15 années de recul pour permettre de mieux exprimer son métier auprès de ses collègues, ses clients et… soi-même. »
Lire aussi ces autres compte-rendus :
- Comment enseigner l'intégration front, sketch notes de Delphine Malassingne
- Comment enseigner l'intégration web ?, par Rémi HTeuMeuLeu
- Un outil pour enseigner le Web Front-End, par Boris Shapira