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 Desktop Setup 3.6.0.exe"

$ # Décompresser l'installateur
$ 7z x "./Scratch Desktop Setup 3.6.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
sudo apt-get update
sudo apt-get install p7zip-full
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get update
sudo apt-get install -y nodejs
sudo apt-get install npm
cd ~
wget "https://downloads.scratch.mit.edu/desktop/Scratch Desktop Setup 3.6.0.exe"
7z x "./Scratch Desktop Setup 3.6.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

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

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
You can’t perform that action at this time.