Scratch (langage)

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche
Page d'aide sur l'homonymie Pour les articles homonymes, voir Scratch.

Scratch
Logo.
Interface de programmation de la version 3.0
Interface de programmation de la version 3.0

Date de première version 2006
Paradigmes Objet
Auteur Mitchel Resnick
Développeurs MIT Media Lab Lifelong Kindergarten Group
Dernière version 3.0 (02/01/2019)
Typage dynamique
Influencé par Logo, Smalltalk, HyperCard, StarLogo (en), AgentSheets (en), Etoys (en)
A influencé ScratchJr (en), Snap!
Écrit en JavaScript
Système d'exploitation Mac OS, Windows, Linux
Licence GPLv2 pour une version et Scratch Source Code License[1]
Site web https://scratch.mit.edu/
Extension de fichier sb, sb2, sprite, sprite2 et sb3Voir et modifier les données sur Wikidata

Scratch est un langage de programmation graphique manipulable et exécutable par le logiciel de même nom à vocation éducative. Ainsi, Scratch est à la fois un environnement de développement et un moteur d’exécution du langage Scratch mais aussi un site web.

Ce dernier était initialement programmé en Smalltalk (et donc exécuté par Squeak). Il a été réécrit en ActionScript pour sa seconde version (et donc exécuté par Adobe Air ou dans le navigateur par Flash Player) puis en JavaScript pour la troisième version. Le code est sous licence libre, de plus en plus permissive au fur et à mesure des versions.

Le logiciel est traduit en 70 langues et le site web compte plus de 35 millions d’utilisateurs enregistrés.[2]

Présentation[modifier | modifier le code]

  • Scratch permet de modifier le code du programme en cours d'exécution.
  • Scratch est orienté multimédia avec pour objectif l'enseignement de l'univers informatique aux enfants, il est basé sur la manipulation des objets dans la pure tradition des E-Toys (en) connus sous Squeak, tout comme les sons et les vidéos.
  • Scratch fonctionne grâce à un éditeur visuel, tout le code est directement inscrit dans la langue maternelle de l'enfant (plus de quarante langues sont disponibles, y compris l’espéranto) sous forme de briques en couleurs (par exemple les contrôles en orange, les variables en rouge, les mouvements en bleu). Il permet de mettre en œuvre visuellement des concepts de base de la programmation tels que les boucles, les tests, les affectations de variables.
  • Scratch permet ainsi à l'enseignant de diffuser sa pédagogie au moyen de l'interactivité quasi-ludique des objets manipulés par ces briques logicielles. 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 permet de rendre utilisable en ligne les projets réalisés, au moyen du plugin Adobe Flash Player lequel transforme les projets Scratch en applications web.

Le slogan de Scratch est « Imagine, programme, partage ! ».

Licence[modifier | modifier le code]

Le code du logiciel Scratch est publié, jusqu’à la version 1.3, sous la Scratch Source Code Licence (libre à l’exception du logo, de la marque et du système de téléversement sur le site web officiel)[3].

La version 1.4 ainsi que les versions de la branche 2.x sont publiées sous la licence libre GPL dans sa seconde version afin de permettre une diffusion plus large du logiciel, et notamment dans les distributions Linux[4]. Cependant, la seconde génération nécessite un moteur d’exécution Flash propriétaire et n’est donc pas incluse dans les dépôts de distributions telles que Debian.

Le code de la troisième version est disponible en licence BSD-3-clauses (à l’exception de Scratch-blocks, publié sous la licence Apache 2.0, libre également)[4].

Popularité[modifier | modifier le code]

En , le site internet héberge 22 millions de projets (animation, simulation 3D, jeux…) avec une croissance de 30 000 chaque jour et compte 35 millions d’utilisateurs enregistrés[5]. À la fin 2017, le logiciel compte 70 traductions[6]. À ce jour, le site compte environ 37 millions de projets partagés.[2]

Utilisation dans l'enseignement[modifier | modifier le code]

Environnement de programmation Scratch en français.

Les domaines d'utilisation de Scratch dépassent l'univers scolaire, mais une forte communauté d'enseignants, d'étudiants, de passionnés, exposent et partagent sur le site de Scratch leurs créations et leurs développements. Chaque projet publié sur la plateforme est sous licence Creative Commons Attribution–Partage à l’identique et peut donc être repris et modifié pour créer une version dérivée[7].

Scratch dans la réforme française du collège de 2015[modifier | modifier le code]

Avec la réforme des collèges en France de 2015 apparaissent les notions de codage et de programmation, et la plateforme d'apprentissage Scratch peut être utilisée dans ce cadre. Le sujet 0 du DNB d'Éduscol[8] contient d'ailleurs un exercice dont les questions portent sur des algorithmes réalisés avec Scratch[8].

Différents groupes académiques en mathématiques (au travers des travaux académiques mutualisés[9] et de l'appel à projet 2016) diffusent des scénarios d'usages de Scratch pour l'enseignement[10].

Différentes briques de codage[modifier | modifier le code]

Le langage Scratch est constitué de multiples briques permettant d'exécuter une action précise. Il existe neuf catégories de briques différentes (classées par couleurs)[11], et des catégories de blocs peuvent être ajoutées :

Musique, Stylo, Détection vidéo, Synthèse vocale, Traduire

Couleur                  
Catégorie Mouvement Apparence Sons Événements Contrôle Capteurs Opérateurs Variables Mes blocs

ScratchJr[modifier | modifier le code]

En Juillet 2014, une application nommée ScratchJr (en) fut disponible sur iPad. En 2016, ScratchJr fut porté sur Android. Bien qu'il soit fortement inspiré de Scratch et codirigé par Mitch Resnick, créateur initial de Scratch, il s'agit néanmoins d'une réécriture complète destinée aux enfants plus jeunes (5-7 ans)[12],[13].

Extensions[modifier | modifier le code]

Scratch dispose d'extensions, c'est-à-dire de blocs qui communiquent avec le monde réel, comme les extensions du raspberry pi, des lego wedo etc.

Différentes versions[modifier | modifier le code]

Capture d’écran d’une interface en trois colonnes.
Interface de Scratch 1.0.
  • Scratch 0.1 (2003) est la version initiale de Scratch. Cette version est trouvable sur le wiki de scratch anglais: https://en.scratch-wiki.info/wiki/Development_of_Scratch_1.0. La version 1.4 sera nécessaire pour la lancer.
  • Scratch 0.2 (2004) est la version qui suit la version 0.1. Cette version est trouvable sur le wiki de scratch anglais: https://en.scratch-wiki.info/wiki/Development_of_Scratch_1.0 . L'interface de celle-ci est assez similaire à celle de la version 1.0. La version 1.4 sera nécessaire pour la lancer.
  • Scratch 1.0 (2007) est une version téléchargeable de Scratch. Cette version n'est pas disponible en ligne. La version 1.4 est la dernière publiée de la branche 1.x.
    Capture d’écran d’une interface en trois colonnes, celle centrale étant très large.
    Interface de Scratch 1.4.
  • Capture d’écran d’une interface en trois colonnes
    Interface de Scratch 2.0.
    Scratch 2.0 (2013) était la version utilisée jusqu'au 2 janvier 2019. Elle est disponible en ligne et hors-ligne. Les projets partagés par la communauté de Scratch sont codés dans ce langage.
  • Scratch 3.0 est la version actuelle de Scratch, disponible depuis le 02/01/2019[14]. Scratch utilise HTML5 au lieu d'Adobe Flash Player. Scratch 3.0 prend en charge les extensions.
« Scratch » en capitales d’imprimerie, entouré en bleu.
Logo de Scratch.

Notes et références[modifier | modifier le code]

  1. Ce logiciel même en version libre nécessite pour fonctionner des logiciels non libres tels Adobe Flash.
  2. a et b « Scratch - Imagine, Program, Share », sur scratch.mit.edu (consulté le 19 janvier 2019)
  3. (en) « Scratch Source Code License », sur scratch-wiki.info (consulté le 22 novembre 2018)
  4. a et b (en) « Scratch Source Code », sur scratch-wiki.info (consulté le 22 novembre 2018)
  5. MIT Media Lab, « Celebrating 10 years of Scratch », MIT News,‎ (lire en ligne, consulté le 22 novembre 2018)
  6. Joi Ito (directeur), « 2017: The Year that Was », sur MIT Media Lab, (consulté le 22 novembre 2018)
  7. (en) « Scratch Project License », sur scratch-wiki.info (consulté le 22 novembre 2018)
  8. a et b « Actualités - DNB 2017 », sur Éduscol (consulté le 23 avril 2016).
  9. « Algorithmique en mathématiques du collège au lycée (2015/2016) », sur Éduscol (consulté le 24 avril 2016)
  10. « Les académies », sur Éduscol (consulté le 24 avril 2016).
  11. « Scratch », sur https://scratch.mit.edu/, (consulté le 20 mars 2015).
  12. (en) « ScratchJr - About », sur www.scratchjr.org (consulté le 7 décembre 2017)
  13. (en) Marina Umaschi Bers, « Coding and Computational Thinking in Early Childhood: The Impact of ScratchJr in Europe », European Journal of STEM Education, vol. 3, no 3,‎ , p. 08 (ISSN 2468-1954 et 2468-4368, DOI 10.20897/ejsteme/3868, lire en ligne, consulté le 17 janvier 2019)
  14. LittleWhite, « Le logiciel de programmation graphique Scratch passe à la version 3.0 », Developpez.com,‎ (lire en ligne)

Annexes[modifier | modifier le code]

Sur les autres projets Wikimedia :

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]