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.
Image illustrative de l’article Scratch (langage)

Date de première version 2006
Paradigmes Objet
Auteur Mitchel Resnick
Développeurs MIT Media Lab Lifelong Kindergarten Group
Dernière version 2.0 (La version 3.0 est presque terminée et devrait arriver en janvier 2019)
Typage dynamique
Influencé par Logo, Smalltalk, HyperCard, StarLogo (en), AgentSheets (en), Etoys (en)
A influencé ScratchJr (en), Snap!
Écrit en Squeak et ActionScriptVoir et modifier les données sur Wikidata
Système d'exploitation Mac OS, Windows, Linux
Licence GPLv2 pour une version et Scratch Source Code License[1]
Site web scratch.mit.eduVoir et modifier les données sur Wikidata
Extension de fichier sb, sb2, sprite et sprite2Voir 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 34 millions d’utilisateurs.

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)[2].

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[3]. 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)[3].

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[4]. À la fin 2017, le logiciel compte 70 traductions[5]. Le site compte environ 37 millions de projets partagés.

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[6].

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[7] contient d'ailleurs un exercice dont les questions portent sur des algorithmes réalisés avec Scratch[7].

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

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 dix catégories de briques différentes (classées par couleurs)[10] :

Couleur                    
Catégorie Mouvement Apparence Sons Stylo Données Événements Contrôle Capteurs Opérateurs Ajouter bloc (depuis

la version 2.0)

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)[11][réf. insuffisante].

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 n'est plus trouvable en téléchargement.
  • Scratch 0.2 (2004) est la version qui suit la version 0.1. Cette version n'est pas trouvable en téléchargement. L'interface de celle-ci est assez similaire à celle de la version 1.0.
  • 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) est la version actuelle de Scratch. 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 une version dont la sortie est prévue le 2 janvier 2019. Cette version n'est pas encore téléchargeable et les développeurs de Scratch y travaillent. Il est cependant possible de tester son prototype sur le site de la bêta[12].
« 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. (en) « Scratch Source Code License », sur scratch-wiki.info (consulté le 22 novembre 2018)
  3. a et b (en) « Scratch Source Code », sur scratch-wiki.info (consulté le 22 novembre 2018)
  4. MIT Media Lab, « Celebrating 10 years of Scratch », MIT News,‎ (lire en ligne)
  5. Joi Ito (directeur), « 2017: The Year that Was », sur MIT Media Lab, (consulté le 22 novembre 2018)
  6. (en) « Scratch Project License », sur scratch-wiki.info (consulté le 22 novembre 2018)
  7. a et b « Actualités - DNB 2017 », sur Éduscol (consulté le 23 avril 2016).
  8. « Algorithmique en mathématiques du collège au lycée (2015/2016) », sur Éduscol (consulté le 24 avril 2016)
  9. « Les académies », sur Éduscol (consulté le 24 avril 2016).
  10. « Scratch », sur https://scratch.mit.edu/, (consulté le 20 mars 2015).
  11. (en) « ScratchJr - About », sur www.scratchjr.org (consulté le 7 décembre 2017)
  12. http://beta.scratch.mit.edu

Annexes[modifier | modifier le code]

Sur les autres projets Wikimedia :

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]