Scratch et Snap! Pour initier à la programmation publié le 24/02/2016 - mis à jour le 25/02/2016
Comparatif des interfaces Scratch et Snap !
Les fonctionnalités intéressantes de Snap !
Créer des lutins animés
Tout comme dans Scratch, il existe un éditeur de dessin qui permet de dessiner ses propres lutins mais celui-ci est moins élaboré que dans Scratch (pas de possibilité d’insérer du texte, par exemple).
En revanche, il est possible de créer un lutin en plusieurs parties puis de les associer ensemble, afin de les animer : un des lutins joue le rôle d’ancre et les autres lutins viennent s’attacher à celui-ci comme des parties.
Pour comprendre ce procédé, on peut s’appuyer sur l’exemple d’un lutin hélicoptère dont on a animé les hélices :
- duplication du lutin hélicoptère en trois exemplaires ;
- placement des lutins dans la scène pour reconstituer l’hélicoptère ;
- création par effacement du lutin hélicoptère seul, du lutin hélice avant et du lutin hélice arrière ;
- glissement de l’icône de l’hélice avant (dans la zone des objets) sur le lutin hélicoptère (dans la scène) afin de l’attacher à celui-ci. Même action pour l’hélice arrière ;
- animation des hélices.
Un petit aperçu du fichier en images :
Créer ses blocs de commandes
La grande plus-value de Snap ! est la possibilité de créer ses propres blocs. Les blocs créés peuvent être de tous types. Par exemple :
- il est possible de créer une commande graphique rectangle de variables longueur et largeur et de l’utiliser pour tracer des rectangles de dimensions variables :
- on peut définir des fonctions récursives comme le flocon de Von Koch :
- on peut définir des fonctions d’une variable, comme une fonction fibonacci qui calcule les termes successifs de la suite de Fibonacci puis une commande liste_fibonaci(N) qui affiche les N premiers termes de cette suite :
- on peut définir une fonction de cryptage avec le chiffrement de César (décalage des lettres de l’alphabet donné par une clé) : celle-ci sera utilisée pour chiffrer un texte puis pour décrypter un texte par la force brute en affichant tous les cryptages possibles dans une liste :
- on peut aussi définir une commande à partir d’un code JavaScript, que l’on intègre ensuite dans un bloc Exécuter :
Convertir un fichier Scratch en un fichier Snap !
Un deuxième avantage de Snap ! est que l’on peut facilement migrer de Scratch vers Snap ! en utilisant un convertisseur en ligne : l’utilitaire Snapin8r2 permet de convertir un fichier .sb2 en un fichier .xml qui pourra être ouvert dans l’interface Snap !. Les lutins et la scène présents dans le fichier d’origine sont importés ainsi que les costumes et arrière-plans associés.
Exporter un fichier Snap ! en un module autonome
Un dernier avantage offert par Snap ! est la possibilité d’exporter un projet sous la forme d’un module autonome : l’utilitaire Snapp ! permet de convertir un fichier .xml en un dossier compressé .zip pour lequel on peut spécifier le système d’exploitation (Windows, Linux ou OSX) :
Il reste ensuite à décompresser ce dossier dans lequel se trouve un fichier .exe que l’on exécute sans aucune installation supplémentaire. On obtient la même interface que sur le web et on peut modifier les valeurs des différentes variables. Le fichier est protégé en écriture et les manipulations effectuées ne sont pas sauvegardées.
Un exemple de module autonome sur le triangle de Sierpinski : pour Windows, pour Linux et pour OSX.
Carte du jeu "Pose la fusée"
Fichier source de l’hélicoptère
Fichier source du jeu "pose la fusée"