Add make help, Enter key validation, Android/macOS/web/ChromeOS exports (0.9.0)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Denis Defolie
2026-10-12 12:49:25 +02:00
parent bf180eea01
commit 87919826ef
14 changed files with 268 additions and 27 deletions
+53 -5
View File
@@ -9,13 +9,24 @@ cd "$(dirname "$0")/.."
VERSION="$(sed -n 's/^config\/version="\(.*\)"/\1/p' project.godot)"
[ -n "${VERSION}" ] || { echo "config/version absent de project.godot" >&2; exit 1; }
# Les presets d'export portent leur propre numero de version : on les aligne
# sur project.godot (version/code = major*10000 + minor*100 + patch).
IFS=. read -r V_MAJOR V_MINOR V_PATCH <<<"${VERSION}"
VERSION_CODE=$((V_MAJOR * 10000 + V_MINOR * 100 + V_PATCH))
sed -i \
-e "s/^version\/name=.*/version\/name=\"${VERSION}\"/" \
-e "s/^version\/code=.*/version\/code=${VERSION_CODE}/" \
-e "s/^application\/short_version=.*/application\/short_version=\"${VERSION}\"/" \
-e "s/^application\/version=.*/application\/version=\"${VERSION}\"/" \
export_presets.cfg
rm -rf build dist
make export-linux export-windows >/dev/null
make export-linux export-windows export-android export-macos export-web >/dev/null
write_notice() {
cat > "$1/LISEZMOI.txt" <<NOTICE
Les Aventuriers des mots ${VERSION}
Jeu éducatif de français CE1-CE2, hors ligne.
Jeu éducatif de français CE1 à CM2, hors ligne.
Lancer : $2
Aucune installation ni connexion Internet n'est nécessaire.
@@ -52,7 +63,44 @@ stage "${WINDOWS}" build/windows/aventuriers_des_mots.exe \
"double-clic sur aventuriers_des_mots.exe" \
"%APPDATA%\\Godot\\app_userdata\\Les Aventuriers des mots\\"
(cd dist && tar czf "${LINUX}.tar.gz" "${LINUX}" && zip -qr "${WINDOWS}.zip" "${WINDOWS}")
(cd dist && sha256sum "${LINUX}.tar.gz" "${WINDOWS}.zip" > SHA256SUMS)
rm -rf "dist/${LINUX}" "dist/${WINDOWS}"
ANDROID="aventuriers-des-mots-${VERSION}-android"
MACOS="aventuriers-des-mots-${VERSION}-macos-universal"
CHROMEOS="aventuriers-des-mots-${VERSION}-chromeos"
stage "${ANDROID}" build/android/aventuriers_des_mots.apk \
"copier l'APK sur la tablette ou le téléphone, l'ouvrir et accepter l'installation depuis cette source (Android 7 ou plus ; arm64 et x86_64)" \
"stockage privé de l'application (Réglages Android > Applications)"
# macOS : application non signée par un développeur identifié (signature ad hoc).
stage "${MACOS}" build/macos/aventuriers_des_mots.zip \
"décompresser l'archive interne, puis clic droit > Ouvrir la première fois (application non notariée)" \
"~/Library/Application Support/Godot/app_userdata/Les Aventuriers des mots/"
unzip -q "dist/${MACOS}/aventuriers_des_mots.zip" -d "dist/${MACOS}"
rm "dist/${MACOS}/aventuriers_des_mots.zip"
# ChromeOS : l'APK (runtime Android) ou la version Web servie en local.
stage "${CHROMEOS}" build/android/aventuriers_des_mots.apk \
"soit installer l'APK (Chromebook avec Android activé), soit servir le dossier web/ (voir LISEZMOI-WEB.txt)" \
"stockage privé de l'application, ou du navigateur pour la version web"
mkdir -p "dist/${CHROMEOS}/web"
cp build/web/* "dist/${CHROMEOS}/web/"
cat > "dist/${CHROMEOS}/LISEZMOI-WEB.txt" <<WEB
Version web (navigateur, hors ligne une fois servie localement)
Un navigateur ne lit pas ces fichiers directement : ils doivent être servis
par un petit serveur HTTP. Depuis le dossier web/ :
python3 -m http.server 8080
puis ouvrir http://localhost:8080 dans Chrome.
La progression est conservée dans le stockage du navigateur : ne pas
effacer les données du site, et utiliser l'espace adulte pour exporter.
WEB
(cd dist && tar czf "${LINUX}.tar.gz" "${LINUX}" \
&& zip -qr "${WINDOWS}.zip" "${WINDOWS}" \
&& zip -qr "${ANDROID}.zip" "${ANDROID}" \
&& zip -qr "${MACOS}.zip" "${MACOS}" \
&& zip -qr "${CHROMEOS}.zip" "${CHROMEOS}")
(cd dist && sha256sum "${LINUX}.tar.gz" "${WINDOWS}.zip" "${ANDROID}.zip" \
"${MACOS}.zip" "${CHROMEOS}.zip" > SHA256SUMS)
rm -rf "dist/${LINUX}" "dist/${WINDOWS}" "dist/${ANDROID}" "dist/${MACOS}" "dist/${CHROMEOS}"
ls -lh dist