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)
- Va sur https://editor.p5js.org
- Tu arrives directement sur un Ă©diteur de code prĂȘt Ă l'emploi
- Clique sur â¶ Play pour lancer ton programme
- 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 :
- Documentation officielle : https://p5js.org/reference â la liste complĂšte de toutes les fonctions (version 2). Si tu suis un vieux tutoriel, l'ancienne rĂ©fĂ©rence v1 est sur https://v1.p5js.org/reference
- Guide de transition v1 â v2 : https://p5js.org/tutorials/v2_transition/ â court et clair, pour comprendre ce qui a changĂ©
- The Coding Train (YouTube) : Daniel Shiffman explique p5.js de façon fun et accessible (attention, beaucoup de vidéos datent de la v1)
- Nature of Code (https://natureofcode.com) : un livre gratuit pour les plus avancĂ©s, mĂȘlant code et simulation physique
- Ăditeur en ligne : https://editor.p5js.org â code et teste directement dans le navigateur