1. Comment je suis devenu développeur en un mois : leçon n°1
Boîte à outils

Comment je suis devenu développeur en un mois : leçon n°1

Envoyer cet article à un ami
Un mois pour apprendre les subtilités d'un langage hermétique : le Javascript. C'est le défi que l'on s'est lancé. // © Capture d'écran
Un mois pour apprendre les subtilités d'un langage hermétique : le Javascript. C'est le défi que l'on s'est lancé. // © Capture d'écran

CARNET DE BORD (1/4). Peut-on en un mois percer les mystères du code ? À l'heure où les développeurs Web sont de plus en plus convoités, l'Etudiant tente l'expérience. Durant quatre semaines, notre journaliste va suivre les cours de langage Javascript du site Openclassrooms. Certifiés, ces cours doivent conférer les mêmes compétences qu'un développeur pro...

"Var div = document.getElementById(idDiv);", "mysql_query("select * from database");" Si vous n'avez pas fréquenté d'école d'ingénieurs, de telles lignes de code vous donneront des maux de tête. C'est compréhensible. Déchiffrer les langages informatiques, c'est comme déchiffrer des hiéroglyphes : réservé aux initiés.

Lire aussi : (Episode 2) Développeur en un mois, leçon n°2 : coder son premier mini-jeu

Pourtant, ces langages aux airs obscurs ne sont plus l'apanage des seuls développeurs diplômés. Grâce à qui ? Aux formations en ligne sur Internet, qui proposent d'enseigner de A à Z les langages de l'ordinateur. Ces dernières années, leur nombre a explosé. Rude concurrence pour les écoles... 

Tout apprendre derrière son écran

Openclassrooms, CodeacademyCode.org, CodeCombat... Depuis environ cinq ans, une nouvelle génération de sites a vu le jour. Véritables profs particuliers sur écran, ils proposent des palettes de cours allant du HTML au Python, en passant par des langages moins connus comme le Perl. Leurs prix défient toute concurrence. 300 € pour un kit "Premium Plus" sur Openclassrooms, valable un mois, qui peut déboucher (selon les parcours) sur un diplôme enregistré au RNCP (Répertoire national des certifications professionnelles). Au point que Pôle Emploi a tissé un partenariat avec la plate-forme pour enrichir le CV des personnes au chômage.

Que valent ces cours en ligne ? Peuvent-ils remplacer les formations des écoles du Web qui recrutent sur concours et vous demandent des frais de scolarité plus élevés ? En sort-on compétent et paré pour affronter le marché de l'emploi ? L'entraide sur les forums spécialisés, la pédagogie peer-to-peer (on se corrige "entre nous"), le mentorat par Skype... tout cela permet-il de compenser l'absence de professeurs ? Et surtout, apprendre depuis chez soi, est-ce la panacée ?

Pour répondre à ces questions, nous avons décidé de suivre, pendant un mois, à raison de deux heures par jour, un cours qui propose de "rentrer dans la matrice".

Chaque semaine, vous pourrez suivre cet apprentissage via un nouvel épisode de ce carnet de bord.

Lire aussi : Le concours d'entrée de l'école 42 : "Une expérience magique et monstrueuse"

À la recherche du Javascript

Pour ce crash test, notre attention s'est portée sur le Javascript. Charpenté en 1995 par un programmeur de la société Netscape, le Javascript a l'avantage d'enrichir nos pages Web. À la base, ces pages mêlent deux langages : le HTML (pour la structure) et le CSS (pour le design). Le Javascript, lui, vient se greffer à ce squelette, faisant de nos pages statiques sans âme des contenus interactifs pleins de vie...

Désormais, il est partout. Sans Javascript, pas de Facebook, pas de Candy Crush... Quel meilleur choix possible pour un débutant ?

Le cours dédié a lieu sur Openclassrooms, le descendant du Site du Zéro, très réputé chez les programmeurs amateurs. Son mantra ? "Rendre l'éducation accessible à tous".

Jour 1 : dans la peau du développeur

Le vendredi 6 janvier 2017, les hostilités démarrent. On amorce sans tarder le parcours "développeur front-end", censé nous rendre incollable en Javascript. Et nous permettre de percer les secrets de ce développeur particulier, celui qui forge les éléments à l'écran (pages Web, applications). Ce cursus n'est qu'un parcours parmi d'autres : data scientist, développeur PHP, etc.

C'est toute une pédagogie : les parcours procèdent par projets. Des sortes de TP (travaux pratiques) où l'on met en application ce qu'on a appris en cours. On n'est pas abandonné en rase campagne : chaque semaine, une session Skype (ou Hangouts) avec un mentor attitré nous permet de faire part de nos interrogations. On lui remet également nos TP. Le but du premier projet ? Accomplir un "générateur de citations". De quoi passer les bases du code Javascript au crible : sa syntaxe et sa grammaire, si particulières.

Avant de se lancer, il faut connaître les rudiments sur le bout des doigts. Au début du cours "Apprendre le Javascript", une définition met l'eau à la bouche : "Le programmeur est un créateur dont il est seul responsable. Des univers d'une complexité virtuellement infinie peuvent être créés sous la forme de programmes informatiques".

L'auteur du cours, professeur agrégé d'informatique, se veut rassurant : "Tout le monde peut s'y mettre. À n'importe quel âge, venant de n'importe quelle formation (même vous les littéraires), vous pouvez vous familiariser avec le monde merveilleux et parfois intimidant de la programmation".

Pas à pas, le cours nous fait configurer notre environnement de travail, télécharger le navigateur Firefox, l'éditeur Brackets (en opensource) pour écrire nos lignes de code. Et bien vite, notre premier balbutiement en Javascript...

Ce texte, lu par une page Web, s'inscrit dans la console (qu'on trouve dans les menus de Firefox). Aussitôt, on apprend à manier les variables. Grosso modo, ce sont des cases dans lesquelles on stocke des phrases, des chiffres... et bien d'autres choses.

Jour 2 : décortiquage de la grammaire

On passe aux calculs. Pour crâner en soirée, on apprend la formule qui convertit les degrés Celsius en degrés Fahrenheit.

Ensuite, les conditions. Du fondamental. Cela permet de tester si telle donnée est égale, différente, supérieure, inférieure, à telle autre. Quand un utilisateur saisit un chiffre, on va pouvoir tester la valeur qu'il a écrite. Comme lorsqu'on vous demande si vous êtes majeur avant d'accéder à un site Internet.

À force, le cours paraît très clair. La grammaire du code est décortiquée patiemment. L'auteur de ces chapitres, Baptiste Pesquet, ingénieur et enseignant en informatique, donne des définitions claires du jargon qui a cours dans ce milieu (la concaténation, le débogage...). Exemples à l'appui. De nôtre côté, l'essentiel du temps, on triture du code dans tous les sens. On actualise notre page Web de test à répétition, jusqu'à ce que tout fonctionne. Les eaux glacées du code deviennent familières. 

Jour 3 : premier examen, un jeu de devinettes

La première partie s'enchaîne assez vite. S'ensuivent les chapitres sur les fonctions et les boucles. Très importantes, les boucles. Plutôt que d'écrire, par exemple, "jour 1", "jour 2", etc. jusqu'à "jour 18", on écrit quelque chose comme "jour N", qu'on répète le nombre de fois nécessaire via une instruction, en incrémentant N. Premier pas vers l'automatisation...

Le même jour, la fin du premier cours atteint, Openclassrooms propose de nous évaluer. L'examen : produire un jeu de devinettes. Notre programme doit inventer un nombre aléatoire entre 1 et 100, l'utilisateur doit le deviner. Il a cinq essais possibles.

Une fois codé, le fichier obtenu doit être déposé sur une plate-forme. Là, d'autres élèves vont vérifier que notre code fonctionne ! La fameuse pédagogie "peer-to-peer". Du collaboratif. Même menu pour nous : on doit évaluer trois autres codeurs en herbe, en suivant une grille d'évaluation. 

Jour 4 : tout bon (sans tricher)

Verdict, 24 heures plus tard :

Ouf ! Et sans tricher. On est qualifié pour coder des objets, chapitre suivant. Les objets informatiques, tout un concept. Le Javascript permet d'inclure des objets qui ont leurs propriétés : une couleur, une marque, une date de péremption... Qu'est-ce qu'un bouteille de lait pour une machine ? Quelque chose comme ça :