Aller au contenu

Introduction Ă  p5.js

🎯 Objectif : Comprendre ce qu'est p5.js, pourquoi on l'utilise dans ce cours, le mettre en place et dĂ©couvrir l'interface. À la fin de cette introduction, tu seras capable de lancer ton premier programme.

Réviser JavaScript en s'amusant

Dans ce cours, tu as déjà appris les bases de JavaScript : variables, conditions, boucles, fonctions... Mais écrire du code qui affiche du texte dans la console, avouons-le, c'est pas le truc le plus excitant du monde.

Et si on révisait tout ça en dessinant ? En créant des animations, des formes colorées, des programmes visuels ?

p5.js, c'est exactement ça : une bibliothÚque JavaScript conçue pour rendre le code visuel et créatif. Tu écris du JavaScript, tu rafraßchis ta page, et tu vois directement le résultat à l'écran.

L'avantage ? Tu rĂ©vises toute la syntaxe JavaScript que tu connais dĂ©jĂ  (variables, if, for, fonctions...) mais avec des rĂ©sultats immĂ©diats et visuels. C'est le mĂȘme langage, juste avec des super-pouvoirs graphiques !

Un peu d'histoire

p5.js est nĂ© du projet Processing, créé en 2001 au MIT (Massachusetts Institute of Technology) par Ben Fry et Casey Reas. Leur objectif : permettre aux artistes, designers et non-programmeurs de crĂ©er des Ɠuvres visuelles avec du code, sans avoir besoin d'un diplĂŽme en informatique.

Le projet a tellement bien marché qu'il a reçu le Golden Nica du prestigieux festival Ars Electronica en 2005.

En 2013, Lauren Lee McCarthy a créé p5.js, une version de Processing qui tourne directement dans le navigateur web grùce à JavaScript. Aujourd'hui, p5.js est utilisé dans le monde entier pour l'art numérique, la visualisation de données, et surtout... l'apprentissage de la programmation.

En 2025, p5.js a franchi une étape importante avec la sortie de la version 2, une refonte de la bibliothÚque qui modernise sa façon de gérer les événements (souris, clavier) et le chargement des fichiers. C'est cette version qu'on utilise dans ce cours.

Pourquoi p5.js dans un cours de Scripts Clients ?

Voici le secret : p5.js, c'est du JavaScript pur. Tout ce que tu as appris en JavaScript fonctionne directement dans p5.js.

JavaScript classique p5.js
let x = 100; let x = 100;
if (x > 50) { } if (x > 50) { }
for (let i = 0; i < 10; i++) for (let i = 0; i < 10; i++)
function maFonction() { } function maFonction() { }
console.log("hello") console.log("hello")

Tu vois ? C'est exactement le mĂȘme langage. p5.js ajoute simplement des fonctions pour dessiner (rect(), ellipse(), fill()...) et une structure de base (setup() et draw()) pour organiser ton programme.

💡 Fun fact : p5.js peut interagir avec le DOM, gĂ©rer du son, de la vidĂ©o, de la webcam, et mĂȘme de la 3D — tout ça en JavaScript dans le navigateur !

Mettre en place p5.js

L'éditeur en ligne (le plus simple)

  1. Va sur https://editor.p5js.org
  2. Tu arrives directement sur un Ă©diteur de code prĂȘt Ă  l'emploi
  3. Clique sur ▶ Play pour lancer ton programme
  4. C'est tout ! Pas besoin d'installer quoi que ce soit.

En local (dans ton projet)

Si tu préfÚres travailler en local, il suffit d'inclure la bibliothÚque p5.js dans ton fichier HTML :

<!DOCTYPE html>
<html>
<head>
  <script src="https://cdn.jsdelivr.net/npm/p5@2/lib/p5.min.js"></script>
</head>
<body>
  <script src="sketch.js"></script>
</body>
</html>

Puis tu crées un fichier sketch.js avec ton code p5.js. Ouvre le fichier HTML dans ton navigateur et c'est parti !

Quelle version de p5.js ?

Ce cours est écrit pour p5.js version 2 (v2). C'est la version par défaut de l'éditeur en ligne et du site officiel depuis 2025, et celle que tu obtiens avec le lien CDN ci-dessus (p5@2).

Pourquoi c'est important ? Parce que beaucoup de tutoriels, de vidéos YouTube et d'exemples générés par les IA ont été écrits pour la version 1, et certaines choses ont changé. Pour ce qu'on fait dans ce cours, il y a une seule différence à retenir :

Ce que tu veux faire p5.js v1 (ancien) p5.js v2 (ce cours)
Savoir quel bouton de la souris est enfoncé mouseButton === LEFT mouseButton.left

On y reviendra dans le chapitre sur les conditions. Le reste (setup(), draw(), formes, couleurs, variables, boucles...) est identique dans les deux versions.

Astuce

Si tu trouves du code v1 sur Internet : dans l'Ă©diteur en ligne, le menu Settings → Library Management permet de choisir la version de p5.js du sketch et d'activer des "compatibility add-ons" qui font tourner l'ancien code. C'est pratique pour dĂ©panner, mais dans ce cours on Ă©crit du v2 : c'est la version maintenue, et c'est celle que tu retrouveras partout demain.

Attention

Avec les IA : quand tu demandes du code p5.js à un assistant, précise "p5.js version 2" dans ton prompt. Si le code qu'il te donne contient preload(), mouseButton === LEFT ou keyCode === UP_ARROW, c'est du v1 : demande-lui de le convertir en v2 (async setup() + await, mouseButton.left, keyIsDown(UP_ARROW)).

L'interface de l'éditeur en ligne

Quand tu ouvres l'éditeur p5.js, voici ce que tu vois :

Zone RĂŽle
Zone de code (grande zone blanche) C'est là que tu écris ton programme
Bouton ▶ Play (en haut Ă  gauche) Lance ton programme
Bouton ■ Stop ArrĂȘte ton programme
Console (zone noire en bas) Affiche les messages et les erreurs
Zone de prĂ©visualisation S'affiche Ă  droite quand tu cliques sur Play — c'est ton canevas !

💡 Astuce : Si tu vois du texte rouge dans la console, c'est une erreur. Pas de panique ! Lis le message, il te dit souvent quelle ligne pose problùme.

La structure d'un programme p5.js

Tout programme p5.js a la mĂȘme structure de base :

function setup() {
  // Code exécuté UNE SEULE FOIS au démarrage
}

function draw() {
  // Code exécuté EN BOUCLE (60 fois par seconde !)
}

Le parallĂšle avec JavaScript classique

Concept JavaScript classique p5.js RĂŽle
Initialisation window.onload = ... function setup() { } S'exécute une seule fois au début
Répétition setInterval(...) function draw() { } S'exécute en boucle, encore et encore
Zone d'affichage Le DOM / un <canvas> Le canevas (canvas) La zone oĂč on dessine

Pour créer un canevas, on utilise createCanvas() dans le setup() :

function setup() {
  createCanvas(400, 300);  // Crée un canevas de 400 pixels de large et 300 de haut
}

function draw() {
  // On dessinera ici
}

⚠ Attention : createCanvas() doit toujours ĂȘtre dans setup(), idĂ©alement comme premiĂšre instruction.

Ton premier programme

Tape ce code dans l'Ă©diteur p5.js et clique sur ▶ Play :

function setup() {
  createCanvas(400, 300);
}

function draw() {
  background(200);
  ellipse(200, 150, 100, 100);
}

Tu devrais voir une fenĂȘtre grise avec un cercle blanc au centre. FĂ©licitations, tu viens d'Ă©crire ton premier programme p5.js ! 🎉

Ne t'inquiĂšte pas si tu ne comprends pas encore chaque ligne — on va tout dĂ©cortiquer dans les prochains chapitres.

Ce qu'on va apprendre dans les prochains chapitres

Voici un aperçu de la suite. Chaque concept utilise du JavaScript que tu connais déjà :

Chapitre Concept En JavaScript classique En p5.js
0b Outils de dessin Manipuler un <canvas> rect(), ellipse(), stroke(), fill()
0c Couleurs ctx.fillStyle = "red" fill(255, 0, 0), background()
1 PremiĂšres formes Canvas API complexe Combiner formes et couleurs
2 Variables let x = 10; let x = 10; (identique !)
3 Conditions if (x > 5) { } else { } if (x > 5) { } else { } (identique !)
4 Boucles for (let i = 0; i < 10; i++) for (let i = 0; i < 10; i++) (identique !)
5 Fonctions function dessiner() { } function dessinerMaison(x, y) { }
6 Animation requestAnimationFrame() Variable qui change dans draw()

Les types de données (un avant-goût)

En JavaScript, les variables sont dĂ©clarĂ©es avec let ou const. Contrairement Ă  des langages comme Java ou C++, tu ne dois pas dĂ©clarer le type — JavaScript le dĂ©termine automatiquement. Mais il est important de connaĂźtre les types qui existent :

Type Ce que ça stocke Exemple
number Un nombre (entier ou Ă  virgule) let age = 25; / let prix = 9.99;
boolean Vrai ou Faux let estVisible = true;
string Du texte let nom = "Alice";

💡 En JavaScript, pas besoin de prĂ©ciser int ou float comme en Java/C++ — un number gĂšre les deux :

let x = 100;          // ✅ Nombre entier
let y = 3.14;         // ✅ Nombre à virgule
let nom = "Bonjour";  // ✅ Texte
let ok = true;        // ✅ BoolĂ©en

p5.js ajoute aussi la fonction color() pour manipuler les couleurs facilement :

let rouge = color(255, 0, 0);

On verra tout ça en détail dans le chapitre sur les variables.

Pour aller plus loin

Si tu veux explorer p5.js par toi-mĂȘme :