Scratch, un langage de programmation pour les enfants et les non-informaticiens

mmmMichel Gagné

Les chercheurs universitaires font parfois de drôles de recherches. Un groupe de professeurs d’informatique du MIT (Massachusetts Institute of Technology), une des universités les plus réputées au monde, a dépensé des années et des millions de dollars pour concevoir une application qui ressemble à un jeu vidéo dans le but d’initier les enfants et les non-informaticiens à la programmation. Cette application s’appelle Scratch.

Scratch permet d’écrire un programme informatique en assemblant des blocs, comme on le fait avec un jeu de Lego.

Dans cet article, je donne quelques informations sur Scratch et je montre comment on peut programmer le vol d’un toucan en assemblant quatre blocs Scratch simples.

Si vous voulez en savoir plus, je vous invite aussi à assister à une présentation sur Zoom au sujet de Scratch vendredi 24 janvier à 13 h 15.

Un peu d’information sur Scratch

Scratch est un langage de programmation qui permet de créer des jeux vidéos, des histoires, des dessins, des cartes animées et bien d’autres choses.

Les professeurs du MIT qui ont développé Scratch étaient tellement fiers de leur produit qu’ils l’ont mis gratuitement à la disposition de tous les enfants du monde.

Aujourd’hui, Scratch est offert en 70 langues et on peut le télécharger ou l’utiliser en ligne. La version en ligne permet même d’héberger gratuitement ses œuvres sur les serveurs de Scratch et de les partager avec les autres utilisateurs de cette application.

La version en ligne est utilisée par plus de 130 millions de personnes qui, en avril 2024, ont atteint la marque du milliardième programme créé avec le logiciel.

Scratch est utilisé dans les écoles, les bibliothèques, les camps de jour et les clubs de programmation, par des jeunes et des moins jeunes, dans à peu près tous les pays du monde.

J’ai personnellement commencé à enseigner la programmation avec Scratch à mes petits-enfants, Victor et Magalie, alors qu’ils avaient respectivement 8 et 6 ans. En fait, Victor et Magalie ne pensent pas que je leur enseigne la programmation, ils pensent que nous jouons avec Scratch !

Voici un exemple d’un programme Scratch

Tout d’abord, je vous invite à regarder le petit vidéo suivant. Par la suite, j’expliquerai comment j’ai programmé ce vidéo avec seulement quatre blocs Scratch.

Vous trouverez ci-dessous les quatre blocs que j’ai utilisés pour programmer le vol du toucan ainsi qu’une courte explication de la fonction de chaque bloc.

Le bloc répéter 18 fois demande à l’ordinateur de répéter 18 fois les instructions qui se trouvent entre la partie supérieure et la partie inférieure du bloc. Au besoin, le programmeur peut modifier la valeur de 18.

Le bloc avancer de 20 pas demande à l’ordinateur d’avancer le toucan de 20 pas. Un pas est équivalent à 1 pixel. Au besoin, le programmeur peut modifier la valeur de 20.

Le bloc costume suivant sert à changer l’apparence du toucan. Scratch fournit un certain nombre de personnages déjà dessinés, par exemple, le toucan. Certains de ces personnages ont plusieurs costumes, c’est-à-dire qu’ils peuvent avoir plusieurs apparences. Par exemple, le toucan peut prendre les apparences suivantes :

  • Lorsque le toucan affiche le costume 1, l’instruction costume suivant remplace le costume 1 par le costume 2.
  • Lorsque le toucan affiche le costume 2, l’instruction costume suivant remplace le costume 2 par le costume 3.
  • Lorsque le toucan affiche le costume 3, l’instruction costume suivant remplace le costume 3 par le costume 1.
  • La succession de ces trois costumes simule un battement d’ailes du toucan.
  • En répétant 6 fois la succession de ces 3 costumes, on obtient 6 battements d’ailes, c’est ce que vous avez vu dans le vidéo.
  • La succession rapide des images donne l’impression que le toucan vole.
  • L’instruction attendre 0.1 seconde demande à l’ordinateur d’attendre 0.1 seconde avant d’exécuter l’instruction suivante. Cette attente donne le temps à l’image du toucan de s’imprimer sur les rétines du spectateur. Sans cette instruction, les battements d’ailes du toucan seraient tellement rapides que nous ne les verrions pas.
  • Pour  faire voler le toucan, il suffit d’assembler les quatre blocs précédents de la façon suivante :

  • Cet agencement des quatre instructions est suffisant pour produire le vidéo que vous avez vu précédemment.

Déroulement du programme en détail

Voici ce qui se produit lors de l’exécution du programme.

Au début du programme, le toucan apparaît à gauche de l’écran avec les ailes repliées (costume 1).

Première répétition
  • Avancer de 20 pas : le toucan disparaît de l’endroit où il se trouve et réapparaît 20 pas en avant. Toutefois, comme un objet ne peut disparaître d’un endroit et réapparaître à un autre endroit, le cerveau interprète que le toucan s’est déplacé graduellement du premier endroit au second.
  • Costume suivant: le costume 1 (ailes repliées) disparaît et le costume 2 (ailes déployées vers le haut) apparaît. Encore une fois, comme les ailes ne peuvent disparaître d’une position, puis réapparaître dans une autre position, le cerveau interprète que le toucan a levé graduellement les ailes.
  • Attendre 0.1 seconde : le toucan ne bouge pas durant 0.1 seconde pour que l’œil du spectateur puisse le voir dans sa nouvelle position.
Deuxième répétition
  • Avancer de 20 pas : le toucan disparaît de l’endroit où il se trouve et réapparaît 20 pas en avant. Toutefois, comme un objet ne peut disparaître d’un endroit et réapparaître à un autre endroit, le cerveau interprète que le toucan s’est déplacé graduellement du premier endroit au second.
  • Costume suivant: le costume 2 (ailes déployées vers le haut) disparaît et le costume 3 (ailes déployées vers le bas) apparaît. Encore une fois, comme les ailes ne peuvent disparaître d’une position, puis réapparaître dans une autre position, le cerveau interprète que le toucan a baissé graduellement les ailes.
  • Attendre 0.1 seconde : le toucan ne bouge pas durant 0.1 seconde pour que l’œil du spectateur puisse le voir dans sa nouvelle position.
Troisième répétition
  • Avancer de 20 pas : le toucan disparaît de l’endroit où il se trouve et réapparaît 20 pas en avant.
  • Costume suivant: le costume 3 (ailes déployées vers le bas) disparaît et le costume 1 (ailes repliées) apparaît.
  • Attendre 0.1 seconde : le toucan ne bouge pas durant 0.1 seconde pour que l’œil du spectateur puisse le voir dans sa nouvelle position.

Les trois répétitions précédentes simulent un battement d’ailes du toucan.

Par la suite, les trois répétitions précédentes sont répétées 5 fois pour simuler 5 autres battements d’ailes.

Un autre exemple de Scratch

Le vidéo suivant montre un petit chien qui dessine un château. Le programme qui génère ce vidéo a été écrit par mon petit-fils Victor alors qu’il avait 8 ans. Le programme contient une quarantaine de blocs.

Les deux vidéos précédents utilisent un petit nombre de  blocs. Tout comme il est possible de réaliser des constructions complexes en utilisant un grand nombre de blocs Lego, il est possible de concevoir des programmes et des jeux vidéos complexes en utilisant un grand nombre de blocs Scratch.

Pour en savoir plus sur Scratch

Si vous voulez en savoir plus sur Scratch, ne manquez pas la séance du vendredi 24 janvier à 13 h 15 sur Zoom :

  • j’y expliquerai la différence entre un langage machine et un langage de programmation ;
  • je donnerai des informations additionnelles sur Scratch ;
  • je programmerai devant vous un jeu vidéo pour illustrer à quel point le langage Scratch est facile à utiliser (à chaque étape, j’expliquerai en détail le fonctionnement des blocs que j’utiliserai) ;
  • j’indiquerai comment vous pouvez obtenir de la documentation et des cours en ligne gratuits sur Scratch pour vous permettre de vous amuser avec Scratch si le cœur vous en dit (seuls… ou peut-être avec vos petits-enfants).

Voici un aperçu du jeu vidéo que je programmerai le 24 janvier :

  • le joueur doit guider un toucan blessé pour lui permettre d’échapper à un ours qui veut le manger ;
  • dans un premier temps, je vais programmer une version simple du jeu avec seulement 14 blocs ;
  • par la suite, je vais ajouter des blocs pour démontrer à quel point il est facile d’ajouter des améliorations qui semblent complexes avec seulement quelques blocs.

Michel Gagné


Note de l’éditeur

La programmation utilisant le langage Scratch a déjà été mentionnée sur ce blogue par Pierre Delisle dans les deux articles suivants :

R. Gervais

3 réflexions sur « Scratch, un langage de programmation pour les enfants et les non-informaticiens »

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.