Aller au contenu

Bases de Scratch

Les Bases de Scratch 3.0 : Votre Premier Pas dans la Programmation

Section intitulée « Les Bases de Scratch 3.0 : Votre Premier Pas dans la Programmation »

Bienvenue dans le monde merveilleux de la programmation avec Scratch 3.0 ! Ce guide vous accompagnera dans la découverte des concepts fondamentaux qui vous permettront de créer vos premiers projets interactifs.

Scratch est un langage de programmation visuel développé par le MIT (Massachusetts Institute of Technology) spécialement conçu pour l’apprentissage. Au lieu d’écrire du code avec du texte, vous assemblez des blocs colorés comme des pièces de puzzle.

  • Facile à apprendre : Interface intuitive et visuelle
  • Immédiatement gratifiant : Voir les résultats instantanément
  • Créatif : Créer des jeux, animations et histoires
  • Éducatif : Apprendre les concepts de programmation
  • Gratuit : Accessible à tous, partout dans le monde
  • Communautaire : Partager et découvrir des millions de projets
  • Programmation par blocs : Glisser-déposer des instructions
  • Multimédia : Sons, images, animations
  • Interactivité : Répondre aux clics, touches, mouvements
  • Partage : Publier vos créations en ligne
  • Collaboration : Travailler ensemble sur des projets

Un sprite est un personnage ou objet dans votre projet Scratch. C’est l’élément principal avec lequel vous travaillez.

  • Apparence : Costumes (différentes images)
  • Position : Coordonnées X et Y sur la scène
  • Orientation : Direction vers laquelle il regarde
  • Taille : Pourcentage de la taille originale
  • Visibilité : Visible ou caché
  • Scripts : Instructions qui contrôlent son comportement
  • Personnages : Chat, chien, personne, robot
  • Objets : Balle, voiture, étoile, bouton
  • Éléments de jeu : Plateforme, obstacle, collectible

🎩 Blocs Chapeaux (Event Blocks)

  • Démarrent l’exécution des scripts
  • Exemples : “Quand drapeau vert cliqué”, “Quand touche pressée”

📦 Blocs Pile (Stack Blocks)

  • Actions à exécuter
  • Exemples : “Avancer de 10 pas”, “Dire Bonjour”

🔄 Blocs C (Control Blocks)

  • Contiennent d’autres blocs
  • Exemples : “Répéter 10 fois”, “Si… alors”

📊 Blocs Reporters (Value Blocks)

  • Retournent des valeurs
  • Exemples : “Position X”, “Réponse”, “Nombre aléatoire”

✅ Blocs Booléens (Boolean Blocks)

  • Retournent vrai ou faux
  • Exemples : “Je touche…”, “Touche pressée”
  • 🏃‍♂️ Mouvement : Déplacer et orienter les sprites
  • 🎨 Apparence : Changer l’aspect visuel
  • 🔊 Son : Jouer des sons et musiques
  • 🎯 Événements : Réagir aux interactions
  • 🎮 Contrôle : Boucles, conditions, attentes
  • 👁️ Capteurs : Détecter les interactions
  • 🧮 Opérateurs : Calculs et comparaisons
  • 📊 Variables : Stocker et manipuler des données
  • 🧩 Mes Blocs : Créer vos propres blocs

La scène est l’arrière-plan où se déroule votre projet. C’est comme une toile sur laquelle vos sprites évoluent.

  • Taille : 480 pixels de large × 360 pixels de haut
  • Coordonnées : Centre à (0,0), X de -240 à +240, Y de -180 à +180
  • Arrière-plans : Images de fond changeables
  • Scripts : La scène peut aussi avoir des scripts
Y positif (haut)
|
─────────┼─────────→ X positif (droite)
|
Y négatif (bas)

Un script est une séquence de blocs connectés qui définit le comportement d’un sprite ou de la scène.

  1. Bloc chapeau : Événement déclencheur
  2. Blocs d’action : Ce qui doit se passer
  3. Blocs de contrôle : Comment et quand agir
Quand [drapeau vert] est cliqué
aller à x: (0) y: (0)
dire [Bonjour !] pendant (2) secondes
répéter (4) fois
avancer de (50) pas
tourner ↻ de (90) degrés
fin
dire [Fini !]

Un événement est quelque chose qui se produit et qui peut déclencher l’exécution d’un script.

  • Clic sur le drapeau vert : Démarrage du projet
  • Pression de touche : Interaction clavier
  • Clic sur sprite : Interaction souris
  • Message reçu : Communication entre sprites
  • Changement d’arrière-plan : Transition de niveau
  • Seuil dépassé : Volume sonore, minuteur
// Contrôles de jeu
Quand la touche [espace] est pressée
jouer le son [saut]
ajouter (50) à y
// Interaction
Quand ce sprite est cliqué
ajouter (1) à [score]
jouer le son [point]

Une variable est un conteneur qui stocke une valeur (nombre, texte) que vous pouvez utiliser et modifier dans vos scripts.

  • Nombres : 42, 3.14, -10
  • Texte : “Bonjour”, “Joueur1”, “Niveau 3”
  • Booléens : Vrai ou Faux (représentés par des conditions)
  • Score : Points du joueur
  • Vies : Nombre de tentatives
  • Niveau : Progression du jeu
  • Nom : Identité du joueur
  • Vitesse : Rapidité de mouvement
// Initialisation
Quand [drapeau vert] est cliqué
mettre [score] à (0)
mettre [vies] à (3)
// Utilisation
si <je touche [Étoile]?> alors
ajouter (10) à [score]
jouer le son [collecte]
fin

Une boucle permet de répéter des actions plusieurs fois sans réécrire le même code.

Répéter X fois

répéter (10) fois
avancer de (10) pas
attendre (0.1) secondes
fin

Répéter indéfiniment

répéter indéfiniment
si <je touche le bord?> alors
rebondir si le bord est atteint
fin
avancer de (5) pas
fin

Répéter jusqu’à ce que

répéter jusqu'à ce que <je touche [Arrivée]?>
si <touche [flèche droite] pressée?> alors
ajouter (5) à x
fin
fin

Une condition permet de prendre des décisions dans votre programme : “Si ceci, alors cela”.

Si simple

si <(score) > (100)> alors
dire [Excellent !]
fin

Si… sinon

si <(vies) > (0)> alors
dire [Continue !]
sinon
dire [Game Over]
arrêter [tous les scripts]
fin

Conditions multiples

si <(score) > (1000)> alors
dire [Champion !]
sinon
si <(score) > (500)> alors
dire [Très bien !]
sinon
si <(score) > (100)> alors
dire [Bien joué !]
sinon
dire [Continue tes efforts !]
fin
fin
fin

C’est ici que vous assemblez vos blocs pour créer des programmes.

Tous les blocs disponibles, organisés par catégories colorées.

Liste de tous les sprites de votre projet avec leurs miniatures.

Aperçu en temps réel de votre projet en cours d’exécution.

  • Code : Programmer les scripts
  • Costumes : Modifier l’apparence
  • Sons : Gérer les fichiers audio

Exécuter des instructions dans l’ordre, une après l’autre.

Quand [drapeau vert] est cliqué
dire [Étape 1]
attendre (1) secondes
dire [Étape 2]
attendre (1) secondes
dire [Étape 3]

Refaire les mêmes actions plusieurs fois.

répéter (5) fois
dire [Bonjour !]
attendre (1) secondes
fin

Choisir quoi faire selon les circonstances.

si <(nombre aléatoire entre (1) et (2)) = (1)> alors
dire [Pile !]
sinon
dire [Face !]
fin

Réagir à ce qui se passe (clics, touches, collisions).

Quand la touche [espace] est pressée
jouer le son [bip]

Se souvenir d’informations importantes.

mettre [nom] à (réponse)
dire (rejoindre [Bonjour ] (nom))

Plusieurs choses qui se passent en même temps.

// Script 1
Quand [drapeau vert] est cliqué
répéter indéfiniment
tourner ↻ de (5) degrés
fin
// Script 2 (en parallèle)
Quand [drapeau vert] est cliqué
répéter indéfiniment
ajouter (1) à y
attendre (0.1) secondes
ajouter (-1) à y
attendre (0.1) secondes
fin

Vibelf est une extension éducative qui ajoute des fonctionnalités avancées à Scratch 3.0, notamment :

  • Blocs d’Intelligence Artificielle : Reconnaissance d’images, traitement de texte
  • Outils pédagogiques avancés : Guides interactifs, évaluations automatiques
  • Projets structurés : Curriculum progressif d’apprentissage
  • Collaboration améliorée : Outils pour le travail en équipe
Vibelf: analyser image [photo]
Vibelf: reconnaître texte [document]
Vibelf: générer réponse [question]
Vibelf: évaluer projet
Vibelf: suggérer amélioration
Vibelf: suivre progression
  • Tutoriels interactifs étape par étape
  • Défis progressifs adaptés au niveau
  • Évaluations automatiques des compétences
  • Badges et récompenses d’apprentissage

Problème : Le sprite sort de l’écran et devient invisible.

Solution :

// Vérifier les limites
si <(abscisse x) > (240)> alors
mettre x à (240)
fin
si <(abscisse x) < (-240)> alors
mettre x à (-240)
fin

Problème : Le programme se fige à cause d’une boucle sans fin.

Solution :

// ❌ Mauvais
répéter jusqu'à ce que <(x) = (100)>
// Si x n'atteint jamais exactement 100...
fin
// ✅ Bon
répéter jusqu'à ce que <(x) > (100)>
ajouter (1) à [x]
fin

Problème : Utiliser une variable sans lui donner de valeur initiale.

Solution :

Quand [drapeau vert] est cliqué
mettre [score] à (0) // Toujours initialiser
mettre [vies] à (3)
mettre [niveau] à (1)

Problème : Les collisions ne fonctionnent pas correctement.

Solution :

  • Ajuster la taille des sprites
  • Utiliser des costumes avec des contours nets
  • Tester avec différentes positions

Problème : Les sons ne se jouent pas.

Solution :

  • Vérifier que le son est bien importé
  • Utiliser le bon nom de fichier
  • Tester le volume de l’ordinateur

Créons ensemble un jeu simple pour mettre en pratique les concepts appris.

Contrôler un personnage qui doit attraper des balles qui tombent du ciel.

// Sprite Joueur
Quand [drapeau vert] est cliqué
aller à x: (0) y: (-120)
mettre la taille à (80) %
répéter indéfiniment
si <touche [flèche droite] pressée?> alors
ajouter (10) à x
fin
si <touche [flèche gauche] pressée?> alors
ajouter (-10) à x
fin
fin
// Sprite Balle
Quand [drapeau vert] est cliqué
se cacher
répéter indéfiniment
attendre (nombre aléatoire entre (1) et (3)) secondes
créer un clone de [moi-même]
fin
Quand je commence comme un clone
aller à x: (nombre aléatoire entre (-200) et (200)) y: (180)
se montrer
répéter jusqu'à ce que <(ordonnée y) < (-180)>
ajouter (-5) à y
si <je touche [Joueur]?> alors
ajouter (1) à [score]
jouer le son [pop]
supprimer ce clone
fin
fin
supprimer ce clone
// Variable score
Quand [drapeau vert] est cliqué
mettre [score] à (0)
montrer la variable [score]
  • Ajouter des vies
  • Augmenter la difficulté
  • Ajouter des effets visuels
  • Créer un menu de démarrage
  1. Animation : Créer un dessin animé court
  2. Histoire Interactive : Récit avec choix multiples
  3. Quiz : Jeu de questions-réponses
  4. Plateforme : Jeu de saut et d’évitement
  5. Art Génératif : Créations artistiques automatiques
  • Clonage : Créer plusieurs copies d’objets
  • Listes : Stocker plusieurs valeurs
  • Messages : Communication entre sprites
  • Blocs personnalisés : Créer vos propres instructions
  • Extensions : Ajouter de nouvelles fonctionnalités
  • Communauté Scratch : scratch.mit.edu
  • Tutoriels vidéo : YouTube, Khan Academy
  • Livres : Guides de programmation Scratch
  • Cours en ligne : Plateformes éducatives
  • Clubs locaux : Groupes de programmation
  • Créez d’abord des projets très simples
  • Ajoutez des fonctionnalités une par une
  • Testez fréquemment votre projet
  • N’ayez pas peur d’essayer de nouvelles choses
  • Modifiez les valeurs pour voir ce qui se passe
  • Inspirez-vous des projets d’autres créateurs
  • Les erreurs font partie de l’apprentissage
  • Demandez de l’aide quand vous êtes bloqué
  • Célébrez vos petites victoires
  • Montrez vos créations à vos amis et famille
  • Publiez vos projets sur la communauté Scratch
  • Donnez des commentaires constructifs aux autres
  • Explorez de nouveaux blocs régulièrement
  • Regardez comment d’autres ont résolu des problèmes
  • Participez à des défis de programmation

Félicitations ! Vous avez maintenant une base solide pour commencer votre aventure en programmation avec Scratch 3.0. Les concepts que vous avez appris ici - séquences, boucles, conditions, variables, événements - sont les fondements de toute programmation.

Scratch vous offre un environnement sûr et amusant pour expérimenter et créer. Chaque projet que vous réalisez renforce votre compréhension et développe votre pensée logique.

N’oubliez pas que la programmation est un processus créatif. Il n’y a pas qu’une seule “bonne” façon de résoudre un problème. L’important est de commencer, d’expérimenter et de s’amuser en apprenant !

Avec l’extension Vibelf, vous avez accès à des outils encore plus puissants qui vous permettront d’explorer des concepts avancés comme l’intelligence artificielle tout en gardant la simplicité et la joie d’apprendre qui caractérisent Scratch.

Alors, qu’attendez-vous ? Ouvrez Scratch, cliquez sur ce drapeau vert, et commencez à créer ! Le monde de la programmation vous attend. 🚀✨