Unverified Commit 3a4745f7 authored by Michael Bonani's avatar Michael Bonani Committed by GitHub
Browse files

Add VPL3 in Thymio Suite (#778)



* added vpl3 in the azure configuration
* added vpl3 descriptions first version
* update version on master
* added animated icon ( first version )
* added vpl3 in flatpack

Co-authored-by: default avatarDavide Poveromo <davidepoveromolavoro@gmail.com>
parent 53abf2c9
......@@ -227,4 +227,8 @@ if(EXISTS ${PROJECT_SOURCE_DIR}/thymio_blockly/index.html)
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/thymio_blockly/ DESTINATION "${MOBSYA_WEBAPPS_ROOT_DIR}thymio_blockly")
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/thymio_blockly/ DESTINATION "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${MOBSYA_WEBAPPS_ROOT_DIR}thymio_blockly")
endif()
if(EXISTS ${PROJECT_SOURCE_DIR}/vpl3-thymio-suite/index.html)
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/vpl3-thymio-suite/ DESTINATION "${MOBSYA_WEBAPPS_ROOT_DIR}vpl3-thymio-suite")
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/vpl3-thymio-suite/ DESTINATION "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${MOBSYA_WEBAPPS_ROOT_DIR}vpl3-thymio-suite")
endif()
endif() #NOT IOS
#Version of aseba. Must be of the form <MAJOR>.<MINOR>.<PATCH>
2.0.0
2.1.0
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<style>
* {padding:0; margin:0;text-decoration:none;}
body {
background: #271845;
color: white;
padding: 20px;
}
h1,
p,
li {
font-family: roboto;
}
h1 {
font-size: 16px;
font-weight: 500;
margin-bottom:20px;
}
p {
font-size: 16px;
font-weight: 200;
margin-bottom:20px;
}
ul {
padding-left: 20px;
margin-bottom: 20px;
}
ul li {
font-size: 16px;
font-weight: 200;
}
a {
color: #0a9eeb;
font-weight: 500;
}
hr {
margin: 40px 0;
border: none;
}
</style>
</head>
<body>
<h1>VPL 3 ist eine blockbasierte Programmiersprache, die es ermöglicht, die Logik der Programmierung zu erlernen.</h1>
<ul>
<li>Der einfachste Weg, um mit der Programmierung von Thymio zu beginnen</li>
<li>Die Schüler müssen nicht lesen können um VPL zu verwenden</li>
<li>Ziehen sie Symbole ganz einfach per Drag & Drop um Thymio zu programmieren</li>
<li>Keine Internetverbindung erforderlich</li>
</ul>
<p>
Tipps und weitere Informationen finden Sie unter dem Menüpunkt (?) Hilfe.
</p>
<p>
Besuchen Sie <a href="https://www.thymio.org">www.thymio.org</a>, um Lernmaterial und Ideen für die Anwendung von Thymio in Ihrem Klassenzimmer zu erhalten.
</p>
</body>
</html>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<style>
* {padding:0; margin:0;text-decoration:none;}
body {
background: #271845;
color: white;
padding: 20px;
}
h1,
p,
li {
font-family: roboto;
}
h1 {
font-size: 16px;
font-weight: 500;
margin-bottom:20px;
}
p {
font-size: 16px;
font-weight: 200;
margin-bottom:20px;
}
ul {
padding-left: 20px;
margin-bottom: 20px;
}
ul li {
font-size: 16px;
font-weight: 200;
}
a {
color: #0a9eeb;
font-weight: 500;
}
hr {
margin: 40px 0;
border: none;
}
</style>
</head>
<body>
<h1>VPL 3 is a block based programming language that allows to learn the logic behind programming.</h1>
<ul>
<li>The simplest way to start programming Thymio</li>
<li>Students do not need to know how to read to use VPL</li>
<li>Drag and drop icons to code</li>
<li>No need of an internet connection</li>
</ul>
<p>
Find tips and more information clicking on the help (?) button.
</p>
<p>
Visit <a href="https://www.thymio.org">www.thymio.org</a> to get learning material and ideas about how to use Thymio in your classroom.
</p>
</body>
</html>
<!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8">
<style>
* {padding:0; margin:0;text-decoration:none;}
body {
background: #271845;
color: white;
padding: 20px;
}
h1,
p,
li {
font-family: roboto;
}
h1 {
font-size: 16px;
font-weight: 500;
margin-bottom:20px;
}
p {
font-size: 16px;
font-weight: 200;
margin-bottom:20px;
}
ul {
padding-left: 20px;
margin-bottom: 20px;
}
ul li {
font-size: 16px;
font-weight: 200;
}
a {
color: #0a9eeb;
font-weight: 500;
}
hr {
margin: 40px 0;
border: none;
}
</style>
</head>
<body>
<h1>VPL 3 est un langage de programmation par blocs qui permet d'apprendre la logique de la programmation.</h1>
<ul>
<li>La meilleure façon de commencer à programmer Thymio</li>
<li>Les élèves n'ont pas besoin de savoir lire pour utiliser VPL</li>
<li>Glissez-déposez des icônes pour programmer</li>
<li>Pas besoin de connexion internet</li>
</ul>
<p>
Cliquez sur le bouton aide (?) pour trouver des conseils et plus d'information.</p>
<p>
Visitez <a href="https://www.thymio.org">www.thymio.org</a> pour trouver du matériel éducatif et des idées d'activités à réaliser en classe avec Thymio.
</p>
</body>
</html>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<style>
* {padding:0; margin:0;text-decoration:none;}
body {
background: #271845;
color: white;
padding: 20px;
}
h1,
p,
li {
font-family: roboto;
}
h1 {
font-size: 16px;
font-weight: 500;
margin-bottom:20px;
}
p {
font-size: 16px;
font-weight: 200;
margin-bottom:20px;
}
ul {
padding-left: 20px;
margin-bottom: 20px;
}
ul li {
font-size: 16px;
font-weight: 200;
}
a {
color: #0a9eeb;
font-weight: 500;
}
hr {
margin: 40px 0;
border: none;
}
</style>
</head>
<body>
<h1>VPL 3 è un linguaggio visuale ad icone progettato per aprendere la logica di programmazione dei robot.</h1>
<ul>
<li>E' il modo più semplice per programmare Thymio</li>
<li>Anche gli allievi che non sanno ancora leggere possono usare VPL</li>
<li>Si programma associando icone evento con una o più icone azione</li>
<li>La connessione ad internet non è indispensabile</li>
</ul>
<p>
Per informazioni e condigli clicca sul tasto [?] Aiuto .</p>
<p>
Visita <a href="https://www.thymio.org">www.thymio.org</a> per scaricare il materiale didattico e per prendere spunti su come altri insegnanti utilizzano Thymio nella loro classe.
</p>
</body>
</html>
<!doctype html>
<html lang="pl">
<head>
<meta charset="utf-8">
<style>
* {padding:0; margin:0;text-decoration:none;}
body {
background: #271845;
color: white;
padding: 20px;
}
p,
li {
font-family: roboto;
}
p.title {
font-size: 16px;
font-weight: 500;
margin-bottom:20px;
}
p {
font-size: 16px;
font-weight: 200;
margin-bottom:20px;
}
ul {
padding-left: 20px;
margin-bottom: 20px;
}
ul li {
font-size: 16px;
font-weight: 200;
}
a {
color: #0a9eeb;
font-weight: 500;
}
hr {
margin: 40px 0;
border: none;
}
</style>
</head>
<body>
<p class="title">VPL jest wizualnym językiem programowania, opartym na graficznych bloczkach, umożliwiającym także naukę logiki stojącej za programowaniem.</p>
<ul>
<li>Najprostszy start do nauki programowania Thymio</li>
<li>Uczniowie nie muszą wiedzieć jak czytać programy aby użyć VPL</li>
<li>Układanie programów za pomocą bloczków z ikonami oraz funkcji Drag&Drop</li>
<li>Programowanie bez konieczności podłączania internetu</li>
</ul>
<p>
Więcej wskazówek i informacji po kliknięciu na przycisk pomocy (?).
</p>
<p>
Odwiedź stronę <a href="https://www.thymio.org">www.thymio.org</a> aby znaleźć tam wiele materiałów do pobrania oraz pomysłów jak użyć Thymio w swojej klasie.
</p>
</body>
</html>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 1024 1024" style="enable-background:new 0 0 1024 1024;" xml:space="preserve">
<style type="text/css">
.st0{fill:#F0841F;}
.st1{fill:#D1721B;}
.st2{fill:#2292D1;}
</style>
<rect x="251.6" y="2" class="st0" width="772.06" height="764.03"/>
<rect x="251.6" y="212.3" class="st1" width="571.3" height="553.73"/>
<rect x="0.52" y="258.97" class="st2" width="772.06" height="764.03"/>
</svg>
......@@ -228,7 +228,8 @@ QString Launcher::getDownloadPath(const QUrl& url) {
QUrl Launcher::webapp_base_url(const QString& name) const {
static const std::map<QString, QString> default_folder_name = {{"blockly", "thymio_blockly"},
{"scratch", "scratch"}};
{"scratch", "scratch"},
{"vpl3", "vpl3-thymio-suite"}};
auto it = default_folder_name.find(name);
if(it == default_folder_name.end())
return {};
......
......@@ -21,6 +21,8 @@
<file>apps/blockly/blockly-animated-icon.webp</file>
<file>apps/studio/studio-animated-icon.webp</file>
<file>apps/vpl/vpl-animated-icon.webp</file>
<!-- replace in the future with animated one -->
<file>apps/vpl3/vpl3-animated-icon.webp</file>
<file>main.cpp</file>
<file>apps/scratch/scratch-animated-icon.webp</file>
<file>qml/WindowButtons.qml</file>
......@@ -50,10 +52,13 @@
<file>apps/scratch/launcher-icon-scratch.svg</file>
<file>apps/studio/launcher-icon-studio.svg</file>
<file>apps/vpl/launcher-icon-vpl.svg</file>
<file>apps/vpl3/vpl_img.png</file>
<file>apps/blockly/description.jpg</file>
<file>apps/scratch/description.jpg</file>
<file>apps/vpl/description.jpg</file>
<file>apps/vpl/desc.en.html</file>
<file>apps/vpl3/description.jpg</file>
<file>apps/vpl3/desc.en.html</file>
<file>apps/blockly/desc.en.html</file>
<file>apps/studio/desc.en.html</file>
<file>apps/scratch/desc.en.html</file>
......@@ -67,6 +72,8 @@
<file>assets/launcher-icon-help-blue.svg</file>
<file>apps/vpl/desc.fr.html</file>
<file>apps/vpl/desc.it.html</file>
<file>apps/vpl3/desc.fr.html</file>
<file>apps/vpl3/desc.it.html</file>
<file>apps/studio/desc.fr.html</file>
<file>apps/studio/desc.it.html</file>
<file>apps/scratch/desc.fr.html</file>
......@@ -74,10 +81,12 @@
<file>apps/blockly/desc.fr.html</file>
<file>apps/blockly/desc.it.html</file>
<file>apps/vpl/desc.de.html</file>
<file>apps/vpl3/desc.de.html</file>
<file>apps/scratch/desc.de.html</file>
<file>apps/blockly/desc.de.html</file>
<file>apps/studio/desc.de.html</file>
<file>apps/vpl/desc.pl.html</file>
<file>apps/vpl3/desc.pl.html</file>
<file>apps/scratch/desc.pl.html</file>
<file>apps/blockly/desc.pl.html</file>
<file>apps/studio/desc.pl.html</file>
......
......@@ -46,11 +46,22 @@ ListModel {
}
}
function launch_vpl3(device) {
const baseurl = Utils.webapp_base_url("vpl3");
if(!baseurl) {
return false;
}
const url = "%1/index.html?robot=thymio-tdm&role=teacher#uuid=%2&ws=%3"
.arg(baseurl).arg(device.id).arg(device.websocketEndpoint())
return Utils.openUrl(url)
}
property var launch_functions : {
"blockly" : launch_blockly,
"scratch" : launch_scratch,
"vplClassic" : launch_vplClassic,
"studio" : launch_studio
"studio" : launch_studio,
"vpl3" : launch_vpl3
}
......@@ -80,6 +91,18 @@ ListModel {
helpUrl: "https://www.thymio.org/%1/program/vpl/",
isIosSupported:false
},
{
appId:"vpl3",
name: "VPL 3",
animatedIcon:"qrc:/apps/vpl3/vpl3-animated-icon.webp",
icon: "qrc:/apps/vpl3/vpl_img.png",
descriptionImage: "qrc:/apps/vpl3/description.jpg",
descriptionTextFile: "qrc:/apps/vpl3/desc.%1.html",
supportsGroups: false,
supportsWatchMode: false,
helpUrl: "https://www.thymio.org/program/vpl/",
isIosSupported: false
},
{
appId: "scratch",
name: "Scratch",
......
......@@ -22,6 +22,8 @@ variables:
value: "https://github.com/Mobsya/thymio-blockly-standalone/releases/download/$(blockly_version)/thymio-blockly.tar.gz"
- name: scratch_url
value: "https://github.com/Mobsya/scratch-gui/releases/download/$(scratch_version)/scratch-gui.tar.gz"
- name: vpl3_url
value: "https://github.com/Mobsya/ci-data/releases/download/data/vpl3-thymio-suite.tar.gz"
- name: vcpkg_commit
value: "c4f0372c638831d8d524feb1039611852eca6512"
......@@ -102,7 +104,7 @@ jobs:
condition: ne(variables.QT_LIB_CACHE_RESTORED, 'true')
displayName: Fetch Qt
- task: PythonScript@0
displayName: Fetch scratch and blockly
displayName: Fetch scratch, blockly and vpl3
inputs:
scriptSource: 'inline'
script: |
......@@ -116,6 +118,7 @@ jobs:
tar.close()
extract('$(blockly_url)', 'thymio-blockly.tar.gz')
extract('$(scratch_url)', 'scratch-gui.tar.gz')
extract('$(vpl3_url)', 'vpl3-thymio-suite.tar.gz')
- task: DownloadSecureFile@1
name: wincert
inputs:
......@@ -165,7 +168,8 @@ jobs:
- script: |
wget -q $(blockly_url) && tar xzf thymio-blockly.tar.gz -C .
wget -q $(scratch_url) && tar xzf scratch-gui.tar.gz -C .
displayName: 'Extract scratch and blockly'
wget -q $(vpl3_url) && tar xzf vpl3-thymio-suite.tar.gz -C .
displayName: 'Extract scratch, blockly and vpl3'
- script: |
git submodule update --init --recursive
......@@ -197,7 +201,8 @@ jobs:
- script: |
curl -sL $(blockly_url) | tar xzf - -C .
curl -sL $(scratch_url) | tar xzf - -C .
displayName: 'Extract scratch and blockly'
curl -sL $(vpl3_url) | tar xzf - -C .
displayName: 'Extract scratch, blockly and vpl3'
- script: |
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/224d82c09d0bbeda99b4ee9b5ccdf56773e5d513/Formula/qt.rb
......@@ -267,7 +272,8 @@ jobs:
- script: |
curl -sL $(blockly_url) | tar xzf - -C .
curl -sL $(scratch_url) | tar xzf - -C .
displayName: 'Extract scratch and blockly'
curl -sL $(vpl3_url) | tar xzf - -C .
displayName: 'Extract scratch, blockly and vpl3'
#we need 7z to extract qt so brew needs to run first
- script: |
......
......@@ -90,6 +90,12 @@
"url": "https://github.com/Mobsya/scratch-gui/releases/download/v20200505.1/scratch-gui.tar.gz",
"sha256": "3a08716ef8d05c25b9997f719c56e107ec9a39f75067bb4f385040b597d564fe",
"strip-components": 0
},
{
"type": "archive",
"url": "https://github.com/Mobsya/ci-data/releases/download/data/vpl3-thymio-suite.tar.gz",
"sha256": "5837e1069cf8150e264cfd442f62585a570a490a37e69e867cf0d2bcb865b187",
"strip-components": 0
}
],
"post-install": [
......
......@@ -27,6 +27,9 @@ fi
if [ -d "$BUILD_DIR/thymio_blockly" ]; then
cp -R "$BUILD_DIR/thymio_blockly" "$DEST/Contents/Resources"
fi
if [ -d "$BUILD_DIR/vpl3-thymio-suite" ]; then
cp -R "$BUILD_DIR/vpl3-thymio-suite" "$DEST/Contents/Resources"
fi
realpath() {
[[ $1 = /* ]] && echo "$1" || echo "$PWD/${1#./}"
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment