Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Scratch Desktop (Éditeur Hors-Ligne Scratch 3.0) pour GNU/Linux

Scratch Desktop (Éditeur Hors-Ligne pour Scratch 3.0) pour GNU/Linux

Guide pas-à-pas pour installer Scratch Desktop sur les distributions Linux basées sur Debian (Debian, *ubuntu, etc...). Un fichier shell sans les explications est disponible plus bas.

Traduit de l'anglais à partir du gist de lyshie

Extraire Scratch Desktop

$ # Télécharger Scratch Desktop
$ wget "https://downloads.scratch.mit.edu/desktop/Scratch Setup.exe"

$ # Décompresser l'installateur
$ 7z x "./Scratch Desktop Setup 3.15.0.exe"

$ # Rentrer dans le dossier précédemment décompressé
$ cd \$PLUGINSDIR/

$ # Décompresser l'application
$ 7z x app-32.7z

Installer Electron-js

$ # Installer Electron-js (Nécessite Node.js et NPM (Node Packet Manager) d'installé)
$ cd ~
$ npm init -y
$ npm install electron -D

Créer et lancer l'app Electron

$ # Rentrer dans le dossier /opt
$ cd /opt

$ # Copier tous les fichiers décompressés dans le dossier /opt
$ sudo cp -r ~/node_modules/electron/dist /opt/scratch-desktop

$ # Rentrer dans le dossier de Scratch Desktop
$ cd /opt/scratch-desktop

$ # Copier les fichiers nécessaires au lancement de Scratch Desktop
$ sudo cp -r /opt/\$PLUGINSDIR/resources/{app.asar,electron.asar,static} resources/

$ # Créer un lien symbolique vers le programme
$ ln -s electron scratch-desktop

$ # Lancer Scratch Desktop
$ ./scratch-desktop

Voir le sujet originel

Aide en cas de problèmes

Installer 7z

$ sudo apt-get update
$ sudo apt-get install p7zip-full

Installer Node.js

Voir ici pour plus d'infos pour chaque distribution.

$ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
$ sudo apt-get update
$ sudo apt-get install -y nodejs

Installer NPM (si non fourni avec Node.js)

Voir ici pour plus d'informations.

$ sudo apt-get install npm
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get update
sudo apt-get install -y nodejs p7zip-full npm
cd ~
wget "https://downloads.scratch.mit.edu/desktop/Scratch Setup.exe"
7z x "./Scratch Desktop Setup 3.15.0.exe"
cd \$PLUGINSDIR/
7z x app-32.7z
cd ~
npm init -y
npm install electron -D
cd /opt
sudo cp -r ~/node_modules/electron/dist /opt/scratch-desktop
cd /opt/scratch-desktop
sudo cp -r /opt/\$PLUGINSDIR/resources/{app.asar,electron.asar,static} resources/
ln -s electron scratch-desktop
@jmclem
Copy link

jmclem commented Jan 6, 2019

Ça a fonctionné pour moi (LUbuntu 18.04), merci pour les instructions !
Quelques remarques :

  • certaines lignes sont superflues ("file ...")
  • pour conserver l'installation après redémarrage, déplacer ou copier dans '/opt' le répertoire créé dans '/tmp'
  • pour pouvoir avoir l'icône dans les menus d'applications, créer le fichier "/usr/share/applications/Scratch3.desktop" contenant:
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Exec=/opt/scratch3/scratch-desktop
Icon=/opt/scratch3/scratch3.png
Terminal=false
Name=Scratch 3
Comment=Programming system and content development tool
Categories=Application;Education;Development;ComputerScience;
MimeType=application/x-scratch-project
  • j'ai récupéré l'icône dans les ressources du .exe :
7z x Scratch\ Desktop.exe 
cd .rsrc/ICON/
convert 4 -resize 128 scratch3.png
sudo mv scratch3.png /opt/scratch3/

@obook
Copy link

obook commented Jan 21, 2019

Merci pour la documentation. J'ai dû changer un peu la marche à suivre, notamment ajouté 'npm init' avant l'installation d'electron.

@Tuxbee
Copy link

Tuxbee commented Oct 20, 2019

Bonsoir,

Je viens de suivre votre procédure sur un XUbuntu 16.04 virtualisé et j'obtiens ceci au lancement d'electron :
Error: No such module: atom_common_features
at binding (internal/bootstrap/loaders.js:111:11)
at process.atomBinding (/opt/scratch-desktop/resources/electron.asar/common/atom-binding-setup.js:9:16)
at Object. (/opt/scratch-desktop/resources/electron.asar/browser/api/module-list.js:3:26)
at Module._compile (internal/modules/cjs/loader.js:786:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:798:10)
at Module.load (internal/modules/cjs/loader.js:645:32)
at Function.Module._load (internal/modules/cjs/loader.js:560:12)
at Module.require (internal/modules/cjs/loader.js:685:19)
at require (internal/modules/cjs/helpers.js:16:16)
at Object. (/opt/scratch-desktop/resources/electron.asar/browser/api/exports/electron.js:5:20)

Auriez-vous une idée du problème ?
Node version 8.16.2
NPM version 6.12.0

Merci d'avance.

@Tuxbee
Copy link

Tuxbee commented Oct 21, 2019

Bonsoir,

Je viens de suivre votre procédure sur un XUbuntu 16.04 virtualisé et j'obtiens ceci au lancement d'electron :
Error: No such module: atom_common_features
at binding (internal/bootstrap/loaders.js:111:11)
at process.atomBinding (/opt/scratch-desktop/resources/electron.asar/common/atom-binding-setup.js:9:16)
at Object. (/opt/scratch-desktop/resources/electron.asar/browser/api/module-list.js:3:26)
at Module._compile (internal/modules/cjs/loader.js:786:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:798:10)
at Module.load (internal/modules/cjs/loader.js:645:32)
at Function.Module._load (internal/modules/cjs/loader.js:560:12)
at Module.require (internal/modules/cjs/loader.js:685:19)
at require (internal/modules/cjs/helpers.js:16:16)
at Object. (/opt/scratch-desktop/resources/electron.asar/browser/api/exports/electron.js:5:20)

Auriez-vous une idée du problème ?
Node version 8.16.2
NPM version 6.12.0

Merci d'avance.

Pour info, cela fonctionne avec cette version d'electron :
npm install electron@4.0.7 -D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment