refactor: ranger le code source dans src/ + script build.sh

Réorganisation interne du repo pour clarifier l'arborescence :
- Tous les fichiers source (manifest, viewer.*, background.js, icons/)
  sont maintenant dans src/
- À la racine du repo : uniquement README, LICENSE, CHANGELOG, build.sh,
  .gitignore et le dossier dist/ (généré, dans .gitignore)
- Nouveau script build.sh qui copie src/ → dist/chromium/ et
  dist/firefox/ et génère les archives .zip / .xpi prêtes à distribuer

Aucun changement fonctionnel — la version v2026.5.39 reste identique
côté code source et builds.
This commit is contained in:
2026-04-26 18:15:00 +02:00
parent a5dc0b3365
commit 79dba86da3
9 changed files with 49 additions and 0 deletions
Executable
+49
View File
@@ -0,0 +1,49 @@
#!/usr/bin/env bash
###############################################################################
# build.sh — génère dist/chromium/, dist/firefox/, et les archives .zip / .xpi
# à partir du code source dans src/.
#
# Usage : ./build.sh
###############################################################################
set -e
cd "$(dirname "$0")"
VERSION=$(python3 -c "import json; print(json.load(open('src/manifest.json'))['version'])")
echo "==> Build Planification v$VERSION"
rm -rf dist
mkdir -p dist/chromium dist/firefox
# ---- Chromium : copie src/ tel quel (manifest sans gecko_settings) ----
cp -r src/* dist/chromium/
echo " ✓ dist/chromium/ ($(du -sh dist/chromium | cut -f1))"
# ---- Firefox : copie src/ + manifest avec browser_specific_settings ----
cp -r src/* dist/firefox/
python3 - <<EOF
import json
with open('src/manifest.json', 'r') as f: m = json.load(f)
m['browser_specific_settings'] = {
'gecko': {
'id': 'planification@netaplaid.ch',
'strict_min_version': '140.0',
'update_url': 'https://gitea.netaplaid.ch/FroSteel/Planification/raw/branch/main/firefox-updates.json',
'data_collection_permissions': {'required': ['none']}
}
}
with open('dist/firefox/manifest.json', 'w') as f:
json.dump(m, f, indent=2, ensure_ascii=False)
f.write('\n')
EOF
echo " ✓ dist/firefox/ ($(du -sh dist/firefox | cut -f1))"
# ---- Archives ZIP / XPI prêtes à distribuer ----
cd dist/chromium && zip -rq "../planification-v${VERSION}-chromium.zip" . && cd ../..
cd dist/firefox && zip -rq "../planification-v${VERSION}-firefox.xpi" . && cd ../..
echo ""
echo "==> Builds prêts dans dist/"
ls -la dist/*.zip dist/*.xpi 2>/dev/null
echo ""
echo "Pour Chrome : charger dist/chromium/ en mode développeur"
echo "Pour Firefox : signer dist/planification-v${VERSION}-firefox.xpi sur AMO"