Apprends les bases de JS et comment le connecter à ton HTML pour jouer
DébutantHTML + JSInteractivité
?
C'est quoi JavaScript ?
Si ton site était une personne : HTML serait le squelette, CSS serait les vêtements, et JavaScript serait les muscles qui permettent de bouger ! JS est le langage de programmation du web : il rend les pages interactives — boutons cliquables, animations, jeux, formulaires dynamiques…
🎬
HTML = le décor et les acteurs immobiles. CSS = leurs costumes et leur look. JavaScript = le réalisateur qui dit "action !" et fait bouger tout le monde. Sans JS, ta page est une photo. Avec JS, c'est un film interactif !
📄 HTML
Structure et contenu. Titres, paragraphes, boutons…
Comportement et interactivité. Réagir aux clics, modifier le contenu, faire des calculs, créer des jeux…
🔗
Comment intégrer JavaScript dans HTML ?
Il existe 3 façons d'ajouter du JavaScript à une page HTML. La bonne pratique est de toujours utiliser un fichier externe.
Méthode 1 — JS dans une balise <script> en bas du body (simple)
<!DOCTYPE html><html><body><h1id="titre">Bonjour !</h1><buttononclick="changerTitre()">Cliquer</button><!-- JS juste avant </body> : le HTML est déjà chargé --><script>functionchangerTitre() {
document.getElementById('titre').textContent ='Cliqué !';
}
</script></body></html>
Méthode 2 — Fichier JS externe ✅ (recommandée)
<!-- Dans index.html, juste avant </body> --><scriptsrc="Assets/js/script.js"></script>
// Dans Assets/js/script.jsfunctionchangerTitre() {
document.getElementById('titre').textContent ='Cliqué !';
}
Méthode 3 — JS dans le <head> avec defer (moderne)
<head><!-- defer = attendre que le HTML soit chargé avant d'exécuter --><scriptsrc="Assets/js/script.js"defer></script></head>
💡Place toujours ta balise <script>avant </body> ou utilise l'attribut defer. Sinon le JS essaie de modifier des éléments HTML qui n'existent pas encore — ça plante !
📦
Les variables — Stocker des valeurs
Une variable est une boîte avec un nom dans laquelle tu ranges une valeur. En JS moderne, on utilise let et const.
// const : valeur qui ne change PASconstnomDuJeu="Super Aventure";
constvitesseMax=300;
// let : valeur qui peut changerletscore=0;
letviesDuJoueur=3;
letestEnVie=true;
letnomJoueur="Alice";
// Modifier une variable letscore=score+10; // score vaut maintenant 10score+=5; // raccourci : score vaut 15viesDuJoueur--; // enlève 1 : viesDuJoueur vaut 2
const
const PI = 3.14;
Valeur fixe. Ne peut pas être réassignée. Bonne pratique : utilise const par défaut.
let
let score = 0;
Valeur modifiable. Utilise let seulement si la valeur doit changer.
⚠️N'utilise plus var — c'est l'ancien mot-clé, il cause des bugs bizarres. Utilise toujours const ou let.
🔢
Les types de données
En JavaScript, chaque valeur a un type. Les principaux types à connaître :
String (texte)
"Bonjour" ou 'Alice'
Toujours entre guillemets simples ou doubles. Peut être concaténé avec +.
Number (nombre)
42 ou 3.14
Entiers et décimaux. Opérations : + - * / %
Boolean (vrai/faux)
true ou false
Seulement deux valeurs possibles. Utilisé pour les conditions.
Array (liste)
[1, 2, 3]
Une liste ordonnée de valeurs. Accès par index (commence à 0).
Object (objet)
{ nom: "Alice", score: 42, vies: 3 }
Groupe de données nommées (clé: valeur). Parfait pour représenter un joueur, un ennemi, un obstacle…
Une fonction est un bloc de code qu'on peut appeler autant de fois qu'on veut. C'est le cœur de la programmation : plutôt que de répéter le même code, on l'enferme dans une fonction et on l'appelle par son nom.
// Déclarer une fonctionfunctiondireBonjour(prenom) {
console.log("Bonjour "+prenom+" !");
}
// Appeler la fonctiondireBonjour("Alice"); // → "Bonjour Alice !"direBonjour("Bob"); // → "Bonjour Bob !"// Fonction avec valeur de retourfunctionadditionner(a, b) {
returna+b;
}
constresultat=additionner(10, 25);
console.log(resultat); // → 35// Fonction fléchée (écriture moderne)constmultiplier= (a, b) =>a*b;
console.log(multiplier(3, 4)); // → 12
🔀
Les conditions — Prendre des décisions
Les conditions permettent d'exécuter du code seulement si une certaine situation est vraie. C'est le cerveau du programme !
// if / else if / elseletvies=2;
if (vies===0) {
console.log("Game Over !");
} else if (vies===1) {
console.log("Attention, dernière vie !");
} else {
console.log("Tu as encore "+vies+" vies.");
}
// → "Tu as encore 2 vies."// Les opérateurs de comparaisonscore===100// strictement égalvies!==0// différent descore>50// supérieur àscore<=100// inférieur ou égal// Combiner des conditionsif (vies>0&&score>=100) { // && = ET
console.log("Niveau suivant !");
}
if (vies===0||tempsRestant===0) { // || = OU
console.log("Perdu !");
}
⚠️Utilise toujours === (triple égal) pour comparer en JS, pas == (double). Le triple égal compare aussi le type de données et évite des bugs surprenants !
🔁
Les boucles — Répéter des actions
Une boucle permet de répéter une action sans réécrire le même code des dizaines de fois. Indispensable en jeu vidéo pour gérer des ennemis, des obstacles, des niveaux…
// Boucle for : répéter un nombre précis de foisfor (leti=0; i<5; i++) {
console.log("Ennemi numéro "+i);
}
// → Ennemi numéro 0, 1, 2, 3, 4// Boucle while : répéter tant qu'une condition est vraieletvies=3;
while (vies>0) {
console.log("Vie restante : "+vies);
vies--;
}
// → 3, 2, 1 puis la boucle s'arrête// Boucle forEach : parcourir un tableauconstennemis= ["Goblin", "Dragon", "Sorcier"];
ennemis.forEach((ennemi) => {
console.log("Prépare-toi : "+ennemi+" arrive !");
});
🌳
Le DOM — Modifier la page HTML avec JS
Le DOM (Document Object Model) est la façon dont JavaScript "voit" ta page HTML — comme un arbre d'éléments modifiables. Avec le DOM, tu peux lire, modifier, ajouter ou supprimer n'importe quel élément de ta page dynamiquement.
// Sélectionner des éléments HTMLconsttitre=document.getElementById('mon-titre');
constbouton=document.querySelector('.btn-jouer'); // par classeconsttous=document.querySelectorAll('p'); // tous les <p>// Modifier le contenu textetitre.textContent ="Score : 150";
// Modifier le HTML internetitre.innerHTML ="Score : <strong>150</strong>";
// Modifier le style CSStitre.style.color ="red";
titre.style.fontSize ="2rem";
// Ajouter / retirer une classe CSSbouton.classList.add('actif');
bouton.classList.remove('desactive');
bouton.classList.toggle('cache'); // ajoute si absent, retire si présent
👂
Les événements — Réagir aux actions
Les événements permettent de réagir à ce que fait l'utilisateur : clic, touche de clavier, mouvement de souris… C'est la base de toute interactivité et de tout jeu vidéo !
// Écouter un clic sur un boutonconstbouton=document.getElementById('btn-jouer');
bouton.addEventListener('click', function() {
console.log("Le jeu démarre !");
});
// Événements clavier (essentiel pour les jeux !)document.addEventListener('keydown', function(event) {
console.log("Touche appuyée : "+event.key);
if (event.key ==='ArrowLeft') { deplacerGauche(); }
if (event.key ==='ArrowRight') { deplacerDroite(); }
if (event.key ===' ') { sauter(); }
});
// Événements sourisdocument.addEventListener('mousemove', function(event) {
// event.clientX et event.clientY = position de la souris
console.log(event.clientX, event.clientY);
});
'click'
Clic de souris sur un élément
'keydown'
Touche de clavier enfoncée
'keyup'
Touche de clavier relâchée
'mousemove'
Mouvement de la souris
🔨
Exemple complet — Un compteur de score
Voici un exemple complet qui montre comment HTML et JS travaillent ensemble pour créer un mini-compteur interactif :
console.log() est ton meilleur ami pour comprendre ce qui se passe dans ton code. Il affiche des valeurs dans la console du navigateur (F12 → onglet Console).
// Afficher une valeur simple
console.log("Le score est : ", score);
// Afficher un objet entier
console.log("Joueur :", joueur);
// Afficher avec template littéral (backtick)
console.log(`Vies : ${vies} | Score : ${score}`);
// Afficher une erreur ou un avertissement
console.error("Erreur : ennemi hors limites !");
console.warn("Attention : vies basses !");
🌟Ouvre la console avec F12 dans ton navigateur. C'est là que tu vois toutes les erreurs JS de ta page ET ce que tu affiches avec console.log. Indispensable pour déboguer !
✓
Résumé — Ce qu'il faut retenir
✅ JS s'intègre avec <script src="..."></script> avant </body>
✅ const = valeur fixe | let = valeur qui change
✅ function nom() {} crée une fonction réutilisable
✅ if / else = décisions | for / while = répétitions
✅ Le DOM : getElementById pour cibler un élément HTML
✅ addEventListener('click', ...) pour réagir aux actions
✅ console.log() pour déboguer → F12 pour voir la console
Tu maîtrises les bases de JS ! 🎉 Passe au cours suivant pour faire un vrai jeu vidéo !