Programmer sans écrire de code : comprendre mBlock et Scratch
Votre enfant programme un robot en déplaçant des blocs de couleur à l'écran ? Ce n'est pas un jeu au rabais : c'est une vraie initiation à la logique informatique. Voici comment fonctionnent Scratch et mBlock, et ce qu'ils permettent d'apprendre.
« Mon enfant dit qu'il programme, mais il ne fait que déplacer des blocs de couleur. Est-ce vraiment de la programmation ? » Cette question de parent est fréquente, et elle mérite une réponse précise. Oui, c'est de la programmation. Les blocs remplacent la syntaxe, c'est-à-dire l'orthographe et la ponctuation propres à chaque langage, mais la logique, elle, est exactement la même que celle d'un programme écrit par un ingénieur.
Cet article explique ce qu'est la programmation par blocs, comment fonctionnent Scratch et mBlock, deux outils très utilisés dans l'enseignement, ce qu'un enfant y apprend réellement et comment il peut ensuite passer au code écrit. Il s'adresse aux parents, aux enseignants et à toute personne qui veut comprendre ce qui se passe à l'écran pendant un atelier de robotique.
Qu'est-ce que programmer ?
Programmer, c'est donner à une machine une suite d'instructions précises pour qu'elle accomplisse une tâche. Une machine ne devine rien : elle exécute exactement ce qu'on lui dit, dans l'ordre où on le lui dit. La difficulté de la programmation ne réside pas tant dans la connaissance d'un langage que dans la capacité à découper un problème en étapes simples, à prévoir les situations possibles et à organiser les instructions de façon logique.
Prenons un exemple de la vie courante. Expliquer à quelqu'un comment préparer du thé, c'est déjà écrire un programme : remplir la bouilloire, la mettre sur le feu, attendre que l'eau bouille, verser l'eau sur les feuilles, attendre trois minutes, filtrer. Si l'on oublie une étape ou si on les inverse, le résultat est raté. La programmation fonctionne de la même manière.
Qu'est-ce que la programmation par blocs ?
Dans la programmation traditionnelle, on écrit des instructions dans un langage comme Python, Java ou C. Il faut respecter une syntaxe stricte : une parenthèse oubliée, une faute de frappe, et le programme refuse de fonctionner. Pour un débutant, surtout un enfant, ces erreurs de syntaxe sont décourageantes : elles détournent l'attention du vrai sujet, qui est la logique.
La programmation par blocs résout ce problème. Chaque instruction est représentée par un bloc graphique, avec un texte clair comme « avancer », « répéter 4 fois » ou « si… alors ». Les blocs ont des formes qui s'emboîtent comme des pièces de puzzle : un bloc ne peut se placer qu'aux endroits où il a du sens. Il devient impossible de faire une faute de syntaxe. L'élève peut se concentrer entièrement sur la question essentielle : dans quel ordre, et sous quelles conditions, la machine doit-elle agir ?
Scratch : le point de départ
Scratch est le langage de programmation par blocs le plus connu. Il a été développé au sein du MIT Media Lab, aux États-Unis, pour permettre aux enfants et aux débutants de créer des histoires interactives, des jeux et des animations. Il est gratuit, disponible en ligne dans un navigateur et traduit dans de nombreuses langues, dont le français.
Avec Scratch, on programme des personnages appelés « lutins » qui se déplacent sur une scène. On peut les faire parler, bouger, changer d'apparence, réagir au clavier ou à la souris. C'est un excellent moyen d'apprendre la logique sans aucun matériel, avec un simple ordinateur.
mBlock : Scratch pour les robots
mBlock, édité par la société Makeblock, est un environnement de programmation basé sur Scratch 3.0. Il reprend l'interface et la logique de Scratch, mais ajoute des blocs spécifiques pour commander des robots et des cartes électroniques : le mBot, le mBot2, le mBot Ranger, mais aussi des cartes comme Arduino ou micro:bit.
Avec mBlock, les blocs ne font plus seulement bouger un personnage à l'écran : ils font bouger un vrai robot sur la table. On trouve des blocs comme « régler la vitesse des moteurs », « lire la distance du capteur à ultrasons », « allumer la LED en rouge » ou « si le capteur de ligne détecte du noir ». Le passage du virtuel au réel rend l'apprentissage très concret.
mBlock est gratuit, accessible en version web dans un navigateur, et existe aussi en application à installer. Pour connecter directement le robot depuis la version web, le site de mBlock recommande Google Chrome ou Microsoft Edge. C'est l'outil utilisé dans le Girls-Focused Robotics Training Programme de femCoders, où les élèves apprennent à assembler un mBot puis à le programmer avec mBlock, selon FIRST Global.

Les grandes notions apprises avec les blocs
Voici les concepts fondamentaux de la programmation que l'on acquiert avec Scratch ou mBlock. Ce sont exactement les mêmes que dans les langages professionnels.
La séquence
Les instructions s'exécutent dans l'ordre, de haut en bas. Pour faire tracer un carré au robot, il faut enchaîner : avancer, tourner, avancer, tourner, avancer, tourner, avancer, tourner. Si l'ordre est faux, la figure l'est aussi.
La boucle
Plutôt que de répéter quatre fois les mêmes blocs, on utilise une boucle : « répéter 4 fois : avancer, tourner ». Les boucles rendent les programmes plus courts, plus lisibles et plus faciles à modifier. Il existe aussi des boucles infinies, « répéter indéfiniment », utiles pour un robot qui doit surveiller en permanence son environnement.
La condition
Une condition permet au programme de prendre une décision : « si la distance est inférieure à 10 cm, alors tourner, sinon avancer ». C'est grâce aux conditions qu'un robot devient réactif et semble « intelligent ».
La variable
Une variable est une boîte dans laquelle on stocke une valeur qui peut changer : un score, une vitesse, une distance mesurée. Par exemple, on peut enregistrer la distance lue par le capteur dans une variable, puis la comparer à un seuil.
Les événements
Un événement déclenche une action : « quand on appuie sur le bouton », « quand le programme démarre », « quand on reçoit un message ». C'est la base des programmes interactifs.
Le débogage
Quand le robot ne fait pas ce qu'on attendait, il faut trouver l'erreur. On relit les blocs, on teste étape par étape, on observe. Cette démarche, appelée débogage, est peut-être la compétence la plus précieuse de toutes. Elle apprend la patience, la rigueur et le raisonnement méthodique.
Un exemple concret : le robot qui évite les obstacles
Pour illustrer, voici la logique d'un programme classique avec mBlock, décrite en langage courant. Il s'agit d'un exemple pédagogique générique.
1. Quand le programme démarre,
2. répéter indéfiniment :
3. lire la distance mesurée par le capteur à ultrasons ;
4. si cette distance est inférieure à 15 cm, alors :
- reculer pendant une demi-seconde,
- tourner à droite pendant une demi-seconde ;
5. sinon :
- avancer.
En quelques blocs, le robot devient capable de se promener dans une pièce sans se cogner aux murs. Et l'élève a utilisé un événement, une boucle, un capteur, une condition et une séquence. Il peut ensuite améliorer son programme : tourner à gauche ou à droite au hasard, ralentir à l'approche d'un obstacle, allumer une lumière rouge quand il détecte un danger.
Ce que l'enfant apprend au-delà de l'informatique
La programmation par blocs développe des compétences utiles bien au-delà du code.
- La pensée logique : organiser des idées dans un ordre cohérent.
- La décomposition : diviser un problème complexe en petites étapes.
- L'abstraction : ne garder que l'essentiel pour résoudre un problème.
- La persévérance : accepter que la première version ne fonctionne pas, et recommencer.
- La créativité : il existe souvent plusieurs façons de résoudre le même problème.
- Les mathématiques appliquées : angles, distances, vitesses, nombres négatifs, coordonnées.
Ces compétences ne s'acquièrent pas automatiquement : elles dépendent de la qualité de l'accompagnement et de la régularité de la pratique. Mais la programmation par blocs offre un cadre particulièrement favorable pour les développer.

Comment passer des blocs au code écrit
La programmation par blocs n'est pas une fin en soi. C'est une étape. Quand l'élève maîtrise les notions de base, il est temps de passer à un langage écrit. Plusieurs ponts existent.
Le mode Python de mBlock
mBlock propose un environnement Python. L'élève retrouve les mêmes notions, séquences, boucles, conditions, variables, mais sous forme de texte. Découvrir que « répéter 4 fois » s'écrit « for i in range(4): » en Python est souvent un moment révélateur.
Arduino
Comme la carte du mBot classique est basée sur Arduino, les élèves avancés peuvent la programmer avec l'environnement Arduino, dans un langage proche du C. C'est une porte d'entrée vers l'électronique embarquée.
Les projets personnels
Rien ne vaut un projet qui passionne l'élève pour le motiver à franchir le pas : un jeu, un site web, un robot plus complexe. Les compétitions de robotique comme le FIRST Global Challenge, où les équipes programment des robots de compétition, sont aussi une excellente motivation.
Programmer sans ordinateur : l'informatique « débranchée »
Tout le monde n'a pas un ordinateur à disposition en permanence. La bonne nouvelle, c'est que la logique de programmation peut aussi s'apprendre sans écran. Les enseignants parlent d'informatique « débranchée ».
Quelques activités simples :
- Le robot humain. Un élève joue le robot, un autre lui donne des instructions strictes : « avance de deux pas », « tourne à droite ». Le « robot » doit exécuter exactement, sans interpréter. On découvre vite l'importance de la précision.
- Les cartes d'instructions. On découpe des cartes « avancer », « tourner à gauche », « répéter 3 fois », et l'on construit un programme sur la table pour guider un pion sur un quadrillage.
- L'algorithme du quotidien. Écrire les étapes pour se brosser les dents, préparer un plat ou traverser une rue. On fait apparaître des conditions : « si le feu est rouge, alors attendre ».
- Le débogage sur papier. L'enseignant distribue un programme contenant une erreur ; les élèves doivent la trouver avant de le tester sur machine.
Ces activités préparent très bien les séances sur ordinateur. Elles permettent aussi, dans un club qui dispose de peu de postes, d'occuper utilement les binômes qui attendent leur tour.
Scratch, mBlock et l'égalité filles-garçons
Les environnements par blocs ont un avantage souvent sous-estimé : ils rendent la programmation moins intimidante. Pour des élèves qui se croient « pas faites pour l'informatique », en particulier certaines filles qui ont intériorisé ce stéréotype, voir un programme fonctionner dès la première séance change la perception de leurs propres capacités. C'est l'une des raisons pour lesquelles le Girls-Focused Robotics Training Programme de femCoders commence par la programmation par blocs avec mBlock avant d'aller plus loin.
Conseils pour les parents
- Demandez à votre enfant de vous expliquer son programme. S'il peut le raconter, il l'a compris.
- Ne jugez pas sur les apparences. Les blocs colorés ont l'air d'un jeu, mais la logique est sérieuse.
- Valorisez le débogage. Trouver une erreur est une réussite, pas un échec.
- Encouragez la régularité. Une heure par semaine pendant plusieurs mois vaut mieux qu'une journée intensive isolée.
- Profitez des outils gratuits. Scratch est accessible gratuitement en ligne ; il permet de s'exercer à la maison sans robot.
Questions fréquentes
À partir de quel âge peut-on commencer ?
Scratch est accessible dès l'école primaire. Pour la robotique avec mBlock, les ateliers de femCoders s'adressent surtout aux collégiens et lycéens, mais des formules d'initiation existent pour les plus jeunes.
Faut-il parler anglais ?
Non pour commencer : Scratch et mBlock sont disponibles en français. L'anglais devient utile pour aller plus loin, et c'est pourquoi les programmes de femCoders l'intègrent.
Les blocs ne vont-ils pas donner de mauvaises habitudes ?
Non. Les notions apprises sont exactement celles des langages écrits. Au contraire, les élèves qui ont bien compris la logique avec les blocs apprennent souvent plus vite un langage textuel.
Conclusion
Programmer avec des blocs, c'est bien programmer. Scratch et mBlock suppriment les difficultés de syntaxe pour laisser toute la place à la logique : séquences, boucles, conditions, variables, événements et débogage. Avec mBlock, ces notions prennent vie sur un vrai robot, ce qui rend l'apprentissage très concret. Et quand l'élève est prêt, le passage à Python ou à Arduino se fait naturellement.
Si votre enfant souhaite découvrir la programmation de robots avec un accompagnement, les cours d'initiation de femCoders sont un bon point de départ.
