Du code à l’école ?
Publié le 15 juillet 2014

Hier, on a beaucoup parlé de la nouveauté de la rentrée 2014 : l’enseignement du "code informatique" au primaire. Une nouvelle qui peut réjouir les technophiles, hackers et geeks tels que moi, mais à bien y réfléchir ce n’est peut-être pas si bien. Je profite de ce billet pour tenter de mettre à plat mes idées, au regard de ma situation actuelle : geek, hacker, et père de deux enfants (ce qui n’est pas une mince affaire).

Du "code informatique" pour nos chères têtes blondes

Cela fait plusieurs années que je milite pour l’introduction de notions informatiques dans l’enseignement, et ce dès que possible. Enfin, le terme "militer" est un peu fort, disons que dans mon for intérieur cela m’apparaît désormais comme essentiel, vu l’importance qu’ont pris les systèmes informatisés dans nos vies. A l’heure actuelle, je n’envisage pas d’élever mes deux enfants sans leur donner les bases des rouages d’un ordinateur, et tenter de développer leur esprit critique vis à vis d’Internet. Et pourquoi pas leur enseigner le "coding", s’ils sont intéressés.

A écouter le ministre M. Hamon, il faut enseigner "le code informatique". Quel code ? Notez bien que l’on ne parle ni de langage, ni de ce qui se trouve en amont (comme l’algorithmique). Cet aspect "code" est d’autant plus mis en avant par les médias : oui, vos enfants vont enfin comprendre le code HTML qui constitue des millions de milliards de pages web ! Ils deviendront ces petits génies français qui feront trembler la Silicon Valley ! Le sentiment que j’en ai, de cette nouveauté, c’est qu’elle a été choisie et mise en oeuvre (sans compter l’effet d’annonce) par des personnes qui, encore une fois, ne savent franchement pas de quoi elles parlent. Du code informatique, cela peut-être tout et n’importe quoi. Du code machine édité en hexadécimal, du JavaScript, du C, voire même du COBOL, sans oublier le code HTML bien sûr.

Cette décision a été prise dans l’espoir que nos petites têtes blondes ne restent pas passives vis-à-vis de la technologie, qu’elles soient en mesure d’appréhender la complexité des systèmes informatiques et de les modifier. Et pour cela, on va leur enseigner le "code informatique", avec l’inertie et l’innovation du système scolaire qu’on lui connait. Envie d’apprendre le BASIC sur un Windows 95, avec un intervenant qui ne maîtrise pas son sujet (bon ok, j’exagère un brin) ? Pourquoi ne pas commencer par le commencement ?

Déclic et des claques

Tout développeur est un amateur de problèmes. Et un fainéant. Amateur de problèmes, car ce qui l’intéresse, ce n’est pas de créer du code mais bel et bien de créer une solution à un problème. Cet aspect est universel, et on peut l’apparenter à celui de créer une invention : on crée quelque chose qui résout un problème, qui rend facile ce qui avant était difficile. On crée. Fainéant, parce qu’il ne souhaite pas avoir à trouver à nouveau la solution à ce problème à chaque fois que celui-ci se présente. Pour s’éviter cette peine, il se crée ses outils : des programmes qui mettent en oeuvre la solution qu’il a élaboré. Ceci illustre aussi l’importance de savoir développer (et cette fois-ci, je parle bel et bien de la création de code, et de programmes par essence) : on dispose d’un outil permettant de créer des outils.

Alors, enseigner le "code informatique" ressemble fortement à mettre la charrue avant les bœufs. Leur apprendre à comprendre du code et à en pondre n’arrangera rien : ce sera une matière comme une autre, sans aucune étincelle dans leurs yeux d’écoliers technophiles et consommateurs de technologie. Il n’y aura aucun déclic, aucune envie de résoudre des problèmes, aucune envie de créer. Une fois de plus, on met de côté la créativité.

Il me semble intéressant d’envisager les choses sous un autre angle : celui de l’éveil. Cela prend peu de temps, mais peut ouvrir des horizons. Je vais illustrer cela avec un exemple, qui d’ailleurs ne touche en rien l’informatique. Le mois dernier, j’animais un atelier pour les enfants lors de la première édition de la NDH Kids (qui se déroulait en parallèle de la Nuit du Hack), durant lequel nous avons bidouillé des pistolets Nerf. Plusieurs enfants de divers âges ont suivi cet atelier, plus ou moins intéressés par le sujet. Et parmi eux, deux adolescents qui ont apprécié l’idée, et qui m’ont recontacté par la suite pour me transmettre les photos d’un pistolet Nerf qu’ils possédaient et qu’ils ont complètement désossé, amélioré et repeint. Rien que cela. Pourtant, je ne leur ai jamais montré comment faire, je m’en étais simplement tenu au modèle que l’on manipulait. Je ne leur ai donné aucun guide de démontage, ni de recette pour peindre. Mais malgré tout, ils s’en sont sortis comme des chefs.

Ce qu’il faut retenir de cette histoire, c’est que tout a été question de déclic. Ils ont découvert quelque chose de nouveau, qu’ils ont jugé intéressant et motivant. A partir de là, à l’aide de recherches sur Internet, ils ont pris les choses en main et ont obtenu le résultat mentionné plus haut. Il y a tant de ressources accessibles sur Internet, tant de choses déjà créées (Scratch, w3schools, codecademy) permettant d’approfondir ce vaste sujet qu’est la programmation, qu’il me semble superflu d’aborder simplement le "code informatique" à l’école. Pas assez de temps et pas assez de moyen.

Je n’ai rien contre le système éducatif, une de mes meilleures amies est institutrice !

De ce constat (que le système scolaire ne peut prétendre enseigner le numérique), il en ressort une multitude d’interrogations. Equiper les écoles en haut-débit c’est bien, mais quel rapport avec le "code informatique" ? Qui va se charger de cet enseignement, qui plus est effectué sur temps périscolaire ? Sur quelles bases ? Envisage-t-on des solutions OpenSource ? Comment va faire un écolier qui ne possède pas d’ordinateur pour travailler cette matière chez lui ?

Je pense de plus en plus à mon amie institutrice (et directrice d’école), qui aura à gérer cette nouveauté et les problèmes qui en découlent. Car oui, pour ne rien arranger, elle enseigne en milieu rural avec une classe à trois niveaux et une population un poil hermétique aux langages informatiques. Sans parler de la réforme du temps scolaire et autres joyeusetés administratives. Ah, et j’oubliais l’ordinateur sous Windows 95 avec si peu de RAM et disque dur. Challenge accepted.

De l’école au code !

L’école a un rôle moteur dans cette démarche : celui de faire découvrir le domaine du numérique aux élèves. Pas directement le "code informatique", oh non, mais au moins les bases : la constitution d’un ordinateur, les notions de programmes, applications, sites web, serveurs, etc... Tout comme lors de mon passage au primaire, l’on apprenait comment fonctionne un moulin à légumes, une paire de ciseaux ou le principe des vases communiquant. Des notions qui leurs seront utiles par la suite, pour mieux appréhender l’environnement numérique, et pourquoi pas avoir une autre vision sur les GAFA avides de données personnelles, voire créer leurs propres applications.

C’est bien cela que je souhaite montrer à mes enfants : que les systèmes numériques ne sont en réalité pas aussi complexes qu’ils y paraissent, et leur donner les bases pour comprendre ce nouveau monde (numérique) qui les entoure et ses enjeux. Et s’ils souhaitent apprendre à créer leurs outils, je serai là pour leur montrer le chemin, quitte à passer pour un vieux con.