{{tag>Xenial programmation éducation programmation_visuelle logiciels_pour_le_college}}
----
======Scratch - La programmation visuelle======
{{ http://upload.wikimedia.org/wikipedia/commons/thumb/4/4f/Scratch_Logo.png/200px-Scratch_Logo.png}}
**[[wpfr>Scratch_(langage)|Scratch]]** est un langage de programmation visuel **libre et open source** (créé par le MIT), à vocation éducative et ludique ([[https://www.youtube.com/watch?v=drt06dKRybE&feature=related|voir une vidéo]]). Il fait partie du projet [[http://llk.media.mit.edu/|Lifelong Kindergarten]]. Utilisé dans le monde éducatif, il permet ainsi à l'enseignant de diffuser sa pédagogie par une interactivité quasi-ludique des objets manipulés par ces briques logicielles (voir ci-dessous). Le nom de Scratch provient du Turntablism, cet art de mélanger des sons grâce aux tables de mixage, comme cette vision de réutiliser des objets.
Scratch essaye de développer :
* **L'esprit créatif**
* **Le raisonnement systématique et rationnel**
* **Le travail collaboratif et ouvert**
* **Le travail des mathématiques et de la technologie**
* **Scratch est dynamique**, il permet de modifier le code du programme en cours d'exécution. Orienté multimédia pour l'enseignement à l'univers informatique des enfants, il traite avec une grande facilité les concepts de base de la programmation comme les boucles, les tests, les affectations de variables, et surtout de la manipulation des objets dans la pure tradition des [[E-Toys]] connus sous Squeak, tout comme les sons et les vidéos.
* **Scratch est visuel**, tout le code est directement inscrit dans la langue maternelle de l'enfant (une vingtaine de langues européennes est disponible) sous forme de briques en couleurs (par exemple les contrôles en orange, les variables en rouge, les mouvements en bleu).
===== Scratch 3 =====
L'importation dans Scratch 3 de fichiers Scratch 2 (.sb2) et 1.4 (.sb) est possible, mais pas l'exportation dans ces mêmes formats.
Scratch 3 peut être utilisé en ligne sans installation : [[https://scratch.mit.edu/projects/editor/?tip_bar=getStarted | utiliser Scratch 3 en ligne]].
De plus, Vous pouvez utiliser les 3 versions simultanément :
* La version 3 en ligne
* La version 3 hors-ligne
* La version 2 hors-ligne
* La version 1.4 hors-ligne.
Pour installation en local, télécharger :
https://www.ac-grenoble.fr/maths/scratch/scratch.zip
Il s'agit d'une archive à décompresser. Ensuite, il suffit d'ouvrir le fichier "index.html" du répertoire "scratch" ainsi créé.
On peut aussi installer [[https://scratch.mit.edu/download|la version officielle]] en version Windows via [[:Wine]].
==== Les amis de Scratch ====
=== Scratch-Desktop (paquet .deb ou version Flatpak) ===
- Version deb (sans gestion des éventuelles dépendances)
* Suivre ce lien [[https://github.com/redshaderobotics/scratch3.0-linux/releases|Scratch sur Github]]
* Installation [[https://doc.ubuntu-fr.org/tutoriel/comment_installer_un_paquet#installer_un_paquet_hors_depots_non_recommande|installer un paquet deb hors dépôts]]
- Version [[https://doc.ubuntu-fr.org/tutoriel/comment_installer_un_paquet#installer_un_paquet_hors_depots_non_recommande|Flatpak]] (application autonome)
* Prise en charge de flatpak : [[flatpak|Flatpak, un format de paquets universel]]
* Téléchargement et installation de Scratch 3 : [[https://www.flathub.org/apps/details/edu.mit.Scratch|Scratch sur Flathub]]
=== Scratux ===
Sous Ubuntu 20.04, Si vous rencontrez des difficultés pour lancer l'application, une bonne solution peut être de se tourner vers la version flatpak de Scratch 3 (plus-haut).
Scratux : [[scratux|scratux]]
See http://scratux.github.io/ for more info and PPA
'===== Scratch 2 =====
Scratch 2 peut ouvrir les fichiers créés avec Scratch 1.4, mais il ne permet pas de les enregistrer au format de Scratch 1.4
==== Installation pas à pas de Scratch 2====
=== Installation d'Adobe Air ===
Voir la page [[adobe air|dédiée]]
=== Installation de Scratch 2 ===
Télécharger Scratch depuis [[ https://scratch.mit.edu/download|le site officiel]]. Choisissez la version Linux qui vous fournira un fichier //.air//. Puis , depuis un [[:terminal]], lancer Adobe Air pour installer Scratch 2.
sudo Adobe\ AIR\ Application\ Installer
Une fenêtre apparaît pour vous demander le "package" à installer. Sélectionner alors le package ".air" puis cliquer sur "Valider". Scratch va s'installer et un raccourci pour le programme est crée automatiquement.
NB : il semble que les versions 456.x de Scratch 2 ne puissent pas être installées (message d'erreur "L'application n'a pas pu être installée, car le fichier d'installation est endommagé. Essayez d'obtenir un nouveau fichier d'installation auprès de l'éditeur de l'application"). Un contournement consiste à installer la version 455, téléchargeable à l'adresse [[https://scratch.mit.edu/scratchr2/static/sa/Scratch-455.air]].
===== Scratch 1.4 =====
==== Installation ====
Pour installer Scratch, il suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>scratch|scratch]]**.
=====Technologie =====
Scratch est une implémentation libre, visuelle et dynamique du langage de programmation [[wpfr>Smalltalk]] basé sur [[wpfr>Squeak]].
===== Étendre les capacités du logiciel =====
Désactiver Compiz peut améliorer la vitesse de rendu des animations.
Il est possible de disposer de blocs de programmation supplémentaires à l'intérieur de scratch en utilisant : [[http://byob.berkeley.edu/|BYOB]].
Une autre "extension" pour Scratch partant de BYOB : [[http://pantherprogramming.weebly.com/index.html|Panther]] qui apporte de nouvelles fonctionnalités au logiciel.
Scratch permet aussi de contrôler une carte [[:arduino|arduino]] par le biais d'un firmware : [[http://seaside.citilab.eu/|S4A]].
Scratch permet aussi de contrôler un LEGO Wedo : [[http://info.scratch.mit.edu/WeDo|Sur le site officiel de scratch]].
===== Désinstallation =====
Pour supprimer cette application, il suffit de [[:tutoriel:comment_supprimer_un_paquet|supprimer son paquet]]. Selon la méthode choisie, la configuration globale de l'application est conservée ou supprimée. Les journaux du système, et les fichiers de préférence des utilisateurs dans leurs dossiers personnels sont toujours conservés.
===== Voir aussi =====
* **(en)** [[https://scratch.mit.edu/|Site officiel du logiciel]]
* [[:Scratux]]