Des blocs au texte : Scratch vers Python pour les enfants de 9 à 12 ans
Un guide étape par étape pour aider les enfants à passer des blocs Scratch au vrai code Python, avec des exercices concrets et les pièges courants.
Les enfants qui ont construit quelques projets Scratch se heurtent généralement à un mur vers 10 ou 11 ans : les blocs paraissent trop simples pour ce qu'ils veulent créer. Ce mur est en réalité le moment idéal pour introduire Python. Ce guide trace un chemin qui préserve ce que les enfants comprennent déjà de Scratch (sprites, boucles, événements) et le transpose en code réel, au lieu de les plonger dans la syntaxe sans pont.
Pourquoi le saut semble plus difficile qu'il ne devrait l'être
Scratch dissimule trois choses qui deviennent soudainement visibles en Python : les types de variables, l'indentation et les erreurs de syntaxe. Un enfant qui a glissé-déposé un bloc « répéter 10 » n'a jamais eu à penser aux deux-points ou aux parenthèses. La première semaine avec Python consiste surtout à tolérer les messages d'erreur rouges sans abandonner. Dites-le leur franchement : les programmeurs professionnels voient des messages d'erreur des dizaines de fois par jour. Ce n'est pas un signe qu'ils sont mauvais à cela.
Utilisez Trinket.io ou Replit dans le navigateur pour qu'il n'y ait pas d'étape d'installation à traverser d'abord. Gardez l'installation sur le bureau (Python 3.12+ de python.org, plus Thonny comme éditeur) pour après qu'ils soient accrochés.
Transposer directement les concepts Scratch en Python
Faites cette comparaison explicitement, côte à côte, plutôt que de recommencer de zéro :
- « quand le drapeau vert est cliqué » → simplement exécuter le fichier
.py - « répéter 10 » →
for i in range(10): - « indéfiniment » →
while True: - « si <> alors » →
if condition: - « demander et attendre » →
input("question: ") - variables (les blocs orange) →
score = 0
Faites-leur écrire d'abord cet équivalent Scratch, puisque c'est presque une traduction directe :
score = 0
for i in range(5):
score = score + 10
print("Score is now:", score)
Exécutez-le, puis demandez ce qui se passerait si range(5) devenait range(20). Prédire le résultat avant d'exécuter le code est la plus bonne habitude à développer ici.
Trois projets qui maintiennent la motivation haute
Un jeu de devinette de nombre est le projet classique en premier car il utilise input(), if/elif/else et une boucle, et il fonctionne réellement comme un vrai programme :
import random
secret = random.randint(1, 20)
guess = 0
while guess != secret:
guess = int(input("Guess a number 1-20: "))
if guess < secret:
print("Too low")
elif guess > secret:
print("Too high")
print("You got it!")
Une simulation de créature textuelle (nourrir, jouer, dormir, vérifier les stats) fonctionne bien ensuite car les enfants ont déjà construit quelque chose de similaire en Scratch avec les costumes de sprite. Maintenant il y a les dictionnaires : pet = {"hunger": 5, "energy": 8}.
Troisièmement, passez à la graphique turtle pour un paiement visuel :
import turtle
t = turtle.Turtle()
for i in range(4):
t.forward(100)
t.right(90)
Ceci dessine un carré et reproduit directement le motif « avancer 10 pas, tourner 90 degrés » des outils de dessin de Scratch. Les enfants remarquent la similarité immédiatement, ce qui compte davantage pour la confiance que n'importe quel cours sur la syntaxe.
Gérer les erreurs sans tuer l'élan
Attendez-vous à IndentationError et NameError constamment le premier mois. Ne le corrigez pas à leur place — lisez le message d'erreur à haute voix ensemble et trouvez le numéro de ligne qu'il indique. Les erreurs de Python disent généralement exactement ce qui ne va pas (« expected an indented block ») même si le libellé est sec. En quelques semaines, la plupart des enfants commencent à lire les tracebacks plus vite que l'adulte qui les aide.
Un vrai piège : Python est sensible à la casse et Scratch ne l'est pas. Score et score sont des variables différentes. Cela piège presque tous les enfants venant des blocs, alors pointez-le du doigt tôt plutôt que de les laisser le découvrir par la frustration.
Un rythme approximatif de quatre semaines qui fonctionne
Semaine 1 : variables, print(), input(), opérateurs mathématiques de base. Semaine 2 : if/elif/else avec le jeu de devinette. Semaine 3 : boucles for et while, construction de la simulation de créature. Semaine 4 : fonctions — envelopper les actions de la créature dans du code de style def feed(pet):, ce qui est le plus grand saut conceptuel depuis que les blocs personnalisés de Scratch n'en donnent qu'un aperçu.
N'accélérez pas la semaine 4. Les fonctions sont l'endroit où la pensée de « programmeur » commence vraiment, et les enfants qui sautent directement à des projets plus grands sans les comprendre ont tendance à écrire du code désordonné et dupliqué qui est difficile à déboguer.
Si votre enfant apprécie ce changement, Korra Studio a d'autres présentations introductives Python et des segments informatiques généraux qui valent la peine d'être explorés ensuite.
Rédigé avec l'aide de l'IA, relu et publié par Michal Pilch (CISSP), Korra Studio.
Ceci est une note de la base de connaissances de Korra Studio — la plateforme associe chaque sujet à un mentorat individuel.
Commencer gratuitementarrow_forward