Mon Labo Python

Apprendre les bases du javascript pour créer des sites web interactifs

Apprendre les bases du javascript pour créer des sites web interactifs

Il est tard à Clermont-Ferrand, et je fixe ce bouton sur mon écran comme s'il allait finir par s'excuser de son inertie. Une soirée de fin d'été, le quartier dort déjà, et moi, je m'acharne sur trois lignes de code qui refusent de faire apparaître une simple petite fenêtre de message. C’est fou comme un petit rectangle gris peut devenir l'ennemi public numéro un quand on décide de se mettre au JavaScript après une journée de bureau.

Avant de vous raconter comment j'ai failli jeter mon vieux PC par la fenêtre de la cuisine, un petit mot de transparence : ce carnet de bord contient quelques liens affiliés. Si vous cliquez dessus pour découvrir une ressource, je reçois une petite commission qui m'aide à payer mes thés de minuit, sans que cela ne change rien à votre prix. Je ne partage ici que ce que j'utilise vraiment sur ma nappe en plastique, entre les miettes de pain et mes cahiers de notes.

Ce bouton qui ne voulait pas bouger

Depuis le printemps dernier, je m'étais habituée au confort rassurant de la Formation au langage Python. Avec Python, tout semblait ordonné, presque poli. On lance un script, il calcule des trucs, il range des données, c'est propre. Mais j'avais cette envie un peu folle de voir mes créations "vivre" pour de vrai, là, dans mon navigateur, comme les sites que je consulte tous les jours. C'est là que le JavaScript est entré dans ma vie, ou plutôt qu'il a forcé la porte.

On m'avait dit que c'était le langage du web, celui qui rend tout interactif. Apparemment, un certain Brendan Eich l'a créé en seulement 10 jours en 1995. Dix jours ! Moi, ça fait deux semaines que je me bats pour comprendre où placer une virgule, alors l'idée qu'un type ait pondu tout un langage en moins de temps qu'il n'en faut pour mes vacances d'été, ça me laisse un peu pantoise. Mais bon, après avoir goûté à la logique de Python, je me sentais prête. Enfin, c'est ce que je croyais avant d'ouvrir ma première balise script.

Détail d'un écran affichant du code JavaScript sur une table de cuisine.

De l'ordre de Python au joyeux bazar du JavaScript

Le passage a été... brutal. Pour quelqu'un qui a appris la programmation après le travail à la maison, JavaScript ressemble au premier abord à une cuisine où quelqu'un aurait rangé les fourchettes avec les chaussettes. En Python, si tu décales ton texte de deux millimètres, tout s'arrête (ce qui est agaçant mais logique). En JavaScript, on te jette des accolades partout, des parenthèses qui s'emboîtent comme des poupées russes, et des points-virgules qui semblent jouer à cache-cache.

Pendant les premières chaleurs de juin, je me suis lancée dans une formation 100 % pratique. Elle est notée 4.0, ce qui me paraissait honnête. Ce qui m'a plu, c'est qu'on ne passe pas des heures sur la théorie du processeur. On code. Mais mon cerveau, lui, restait bloqué en mode Python. Je cherchais désespérément mes indentations alors que le JavaScript me hurlait dessus à coups d'erreurs de syntaxe parce qu'il me manquait une petite griffe au bout d'une ligne.

Le plus déroutant, c'est ce qu'on appelle le DOM. C'est un grand mot pour dire que JavaScript voit votre page web comme un arbre généalogique. Pour changer la couleur d'un titre, il faut dire au script : "Va chercher le titre qui s'appelle 'mon-titre', entre dans ses propriétés, trouve son style, et change-le". C'est un peu comme si, pour demander à mon fils de ranger ses chaussures, je devais dire : "Entité Enfant, accède au compartiment Pieds, retire les enveloppes de cuir, et déplace-les vers la zone Placard". C'est épuisant au début.

Cette petite victoire à la fenêtre d'alerte

Le mois dernier, un mardi soir pluvieux, j'ai vécu mon premier grand moment de solitude. J'essayais simplement de faire apparaître une alerte quand on cliquait sur une image. J'ai recopié le code, vérifié les balises, relancé la page dix fois. Rien. Le silence plat du navigateur. Le ronronnement du ventilateur de mon vieil ordinateur portable qui chauffe sur la nappe en plastique de la cuisine était le seul bruit dans la pièce, et ça commençait à me taper sur les nerfs.

J'ai passé une heure — une heure entière ! — à chercher pourquoi mon script ne marchait pas, pour réaliser finalement que j'avais écrit "allert" avec deux "l". Une heure de vie envolée pour une lettre en trop. C'est là qu'on comprend la cruauté du code : il n'a aucune intuition. Il ne se dit pas "Tiens, Pauline a fait une faute de frappe mais je vois ce qu'elle veut dire". Non, il s'arrête, il croise les bras et il attend que tu trouves ton erreur toute seule comme une grande.

Mais quand j'ai enfin corrigé cette maudite faute et que cette petite fenêtre blanche est apparue sur mon écran avec mon message personnalisé... je vous jure que j'ai eu l'impression d'avoir craqué le code de la NASA. C'est cette sensation-là, cette toute petite décharge d'adrénaline entre deux bâillements, qui fait qu'on y retourne le lendemain soir. On se sent un peu moins spectatrice du web et un peu plus... créatrice. Même si c'est juste pour faire apparaître un "Coucou !" inutile.

Première fenêtre d'alerte JavaScript réussie sur l'écran d'un ordinateur portable.

Pourquoi s'acharner sur le JavaScript natif ?

On m'a souvent conseillé, sur des forums ou par des amis qui s'y connaissent, de sauter directement vers des outils plus modernes comme React ou Vue. Ils disent que c'est plus rapide, plus "pro". Mais j'ai décidé de ne pas les écouter. Mon intuition de débutante (et ma peur de me noyer) me souffle qu'apprendre les frameworks dès le début, c'est comme essayer de faire de la pâtisserie fine avec des préparations en sachet sans savoir ce qu'il y a dedans.

Maîtriser le JavaScript natif, celui qu'on appelle parfois "Vanilla JS", c'est le seul moyen de comprendre comment les choses fonctionnent vraiment sous le capot. Si j'apprends à manipuler le DOM directement, sans béquilles, je ne crée pas des sites web fragiles qui s'écroulent dès qu'une bibliothèque change de version. C'est plus dur, oui. On se bat avec des sélecteurs compliqués et des boucles qui ne finissent jamais, mais au moins, on sait ce qu'on fait. C'est la différence entre suivre une recette par cœur et comprendre pourquoi on met du sel dans la pâte.

D'ailleurs, si vous venez aussi de Python, je ne peux que vous conseiller de jeter un œil à mon expérience sur comment apprendre à manipuler le dom en javascript après avoir débuté en python. Les deux mondes sont différents, mais il y a des ponts mentaux qu'on peut construire pour ne pas devenir totalement chèvre.

Le web devient enfin un terrain de jeu

Ces deux dernières semaines, les choses ont commencé à s'éclaircir. Je ne dis pas que je suis devenue une pro, loin de là. Je passe encore beaucoup trop de temps sur déboguer des bêtises, mais la satisfaction est là. Hier soir, j'ai réussi à créer un petit formulaire qui change de couleur quand on oublie de remplir un champ. C'est bête, mais ça donne une âme à la page.

Apprendre le JavaScript, c'est un peu comme apprendre une nouvelle langue alors qu'on en connaît déjà une autre. On essaie de traduire mot à mot, on fait des contresens, mais petit à petit, on commence à penser directement dans la nouvelle langue. Python m'a appris à réfléchir de manière logique, et JavaScript m'apprend à rendre cette logique visible et tactile pour les autres.

Je ne sais pas encore où ce chemin va me mener. Peut-être que dans six mois, je m'intéresserai à la Formation Cisco pour comprendre comment les données voyagent entre les ordinateurs, mais pour l'instant, ma cuisine est mon laboratoire web. Entre une pile de dossiers à traiter demain et la bouilloire qui siffle, je continue à transformer des pages statiques en petits morceaux de vie interactive.

Notes manuscrites sur le DOM JavaScript à côté d'une souris d'ordinateur.

Si vous hésitez encore à vous lancer parce que ça a l'air trop compliqué ou que vous avez peur de ne pas avoir le "cerveau fait pour ça", rappelez-vous de ma faute de frappe sur "allert". On en est tous là au début. L'important n'est pas de ne pas faire d'erreurs, c'est d'avoir assez de curiosité pour chercher pourquoi ça coince jusqu'à ce que la petite fenêtre finisse par s'ouvrir.

Alors, si vous voulez vraiment voir vos idées s'animer dans votre navigateur, je ne peux que vous encourager à tester la formation JavaScript pratique que j'ai suivie. C'est parfois frustrant, c'est souvent mystérieux, mais quel bonheur quand le bouton finit enfin par vous obéir !

Articles connexes