En bref
Une boucle est une consigne de répétition : « refais ce bloc d’instructions » — soit un nombre de fois déterminé, soit tant qu’une condition reste vraie, soit pour chaque élément d’une collection. C’est le concept qui donne aux ordinateurs leur super-pouvoir : répéter un million de fois sans fatigue ni erreur ce qu’un humain ferait trois fois avant de se lasser. Deux grandes familles couvrent tous les besoins : la boucle for, quand on sait d’avance combien de tours (« pour chaque ligne du fichier », « dix fois »), et la boucle while, quand on répète tant qu’une condition tient (« tant que le joueur n’a pas trouvé »). Le vocabulaire à connaître : chaque passage s’appelle une itération, la variable qui compte les tours s’appelle souvent i, et la boucle qui ne s’arrête jamais — la fameuse boucle infinie — est le rite de passage de tout débutant. Le concept est identique dans tous les langages.
Si la programmation devait se résumer à un seul super-pouvoir, ce serait celui-là : la répétition inlassable. Additionner mille nombres, vérifier chaque mot d’un texte, animer soixante images par seconde — tout cela est le travail des boucles. Comprendre une boucle — ses deux familles, sa mécanique, ses pièges — est la deuxième marche du parcours, juste après la variable ; ce guide la gravit en douceur, Python et JavaScript à l’appui.
Une boucle, expliquée avec les mains
Pense à l’essuyage de la vaisselle : la consigne n’est pas « essuie l’assiette 1, puis essuie l’assiette 2, puis… » — c’est « essuie une assiette, et recommence tant qu’il en reste ». Une seule consigne, répétée : voilà une boucle. Le programme fonctionne pareil : au lieu d’écrire cent fois la même instruction, tu écris le bloc une fois et tu demandes sa répétition — chaque passage s’appelle une itération. Le gain n’est pas que de la paresse bien placée : c’est ce qui rend le code adaptable — la même boucle traite dix assiettes ou dix mille, sans changer une ligne.
Deux familles de consignes couvrent tous les cas de la vie. « Fais-le N fois » ou « fais-le pour chacun » : le nombre de tours est connu d’avance — dix lignes de table de multiplication, chaque élément d’une liste de courses — c’est le territoire de la boucle for. « Fais-le tant que » : le nombre de tours est inconnu, seule compte une condition — tant que le joueur n’a pas deviné le nombre, tant qu’il reste de la vaisselle — c’est le territoire de la boucle while, qui s’appuie sur le vrai/faux d’une condition. Retiens le critère de choix en une question : « est-ce que je sais d’avance combien de tours ? » — oui : for ; non : while. Tout le reste est de l’orthographe.
À quoi ça ressemble dans le code
En Python, la boucle comptée s’écrit for i in range(10): — lis : « pour i allant de 0 à 9, fais le bloc indenté qui suit » — la variable i est le compteur de tours, et le décompte part de zéro, convention universelle de la programmation. La version « pour chacun » est un régal de lisibilité : for article in courses: parcourt la liste élément par élément — article prend tour à tour chaque valeur, sans indice à gérer. Le while, lui, colle à sa définition : while essais < 3: répète tant que la condition est vraie — avec l’obligation vitale que quelque chose, dans le bloc, fasse évoluer essais. Tout cela s’entraîne dès les bases du Python.
En JavaScript, la boucle comptée montre sa mécanique à nu : for (let i = 0; i < 10; i++) { … } — trois morceaux entre parenthèses qui disent tout : le départ (i = 0), la condition de poursuite (i < 10), le pas (i++, c’est-à-dire i augmente de 1) ; c’est la forme historique, copiée par des dizaines de langages. La version « pour chacun » existe aussi — for (const article of courses) — et le while est identique à l’esprit Python : while (essais < 3) { … }. Deux dialectes, même musique : compteur, condition, bloc répété — le concept appris ici te suivra dans JavaScript, PHP, Java et tous les autres, jusqu’aux boucles qui parcourent un tableau — leur emploi numéro un dans la vraie vie.
Les pièges classiques (et comment les éviter)
Piège 1 : la boucle infinie — le rite de passage. Un while dont la condition ne devient jamais fausse (le fameux while essais < 3 où l’on a oublié de faire grandir essais) tourne pour l’éternité, et le programme « se fige ». Le remède préventif : à chaque while, vérifier « qu’est-ce qui, dans ce bloc, fait avancer vers la sortie ? » ; le remède curatif : savoir interrompre (Ctrl+C dans une console) — et sourire, tout le monde y passe. Piège 2 : le décalage d’un tour — l’« off-by-one » des anglophones : vouloir dix tours et en obtenir neuf ou onze, parce qu’on a confondu « de 0 à 9 » et « de 1 à 10 », ou < et <=. Le remède : dérouler mentalement le premier et le dernier tour à voix haute — deux secondes qui économisent des heures.
Piège 3 : modifier la collection en la parcourant. Supprimer des éléments d’une liste pendant qu’une boucle la traverse produit des sauts imprévisibles — le sol se dérobe sous les pieds du compteur. Le remède : parcourir une copie, ou construire une nouvelle liste des éléments à garder. Piège 4 : la boucle qui fait trop de choses. Quinze instructions entassées dans un seul bloc répété deviennent illisibles — le remède s’appelle la fonction : on regroupe le travail d’un tour sous un nom, et la boucle redevient une phrase. Le concept est complet : va le faire tourner — littéralement — sur les exercices Python ou JavaScript, où FizzBuzz t’attend de pied ferme, et garde la vue d’ensemble du chemin dans notre guide complet : la boucle y revient à chaque page, parce qu’elle est partout.
Questions fréquentes
C’est quoi une boucle en programmation, en une phrase ?
Une consigne de répétition : le programme exécute plusieurs fois le même bloc d’instructions — un nombre de fois déterminé (boucle for), tant qu’une condition reste vraie (boucle while), ou pour chaque élément d’une collection. C’est ce qui donne aux ordinateurs leur puissance de répétition sans erreur.
Quelle différence entre une boucle for et une boucle while ?
Le critère tient en une question : sait-on d’avance combien de tours ? Si oui — dix répétitions, chaque élément d’une liste — c’est le for. Si non — tant que le joueur n’a pas deviné, tant qu’il reste des données — c’est le while, qui répète tant que sa condition est vraie.
Comment éviter une boucle infinie ?
En vérifiant, à l’écriture de chaque while, que quelque chose dans le bloc fait évoluer la condition vers le faux (un compteur qui grandit, une saisie qui change). Et en sachant interrompre proprement (Ctrl+C en console) quand elle survient quand même — c’est le rite de passage de tout débutant.
Pourquoi les boucles commencent-elles souvent à zéro ?
Par convention historique et technique : les positions dans les collections se comptent à partir de 0 (le premier élément est l’élément 0), et les boucles comptées suivent le même usage — range(10) en Python va de 0 à 9. S’y habituer tôt évite le classique décalage d’un tour.
Sources
- Python.org — la documentation officielle du langage
- MDN Web Docs — la référence JavaScript en français
Cet article a une vocation informative et pédagogique. Les plateformes, outils et formations éventuellement cités le sont à titre d’exemple ; compare plusieurs options avant de t’engager ou de payer.

