#!/usr/bin/env bash # # Installe Zonza sur macOS (et Linux, pour la partie portable). # # ./install.sh # # Cree l'environnement, installe UNIQUEMENT ce qui sert a cette machine (les # marqueurs de requirements.txt s'en chargent), construit l'app macOS, puis lance # le diagnostic. Il ne masque aucune erreur : si une etape echoue, il s'arrete. set -euo pipefail cd "$(dirname "$0")" MINIMUM="3.11" PY="${PYTHON:-python3}" echo "→ Verification de Python…" command -v "$PY" >/dev/null || { echo "✗ '$PY' introuvable. Installe Python $MINIMUM ou plus, ou renseigne PYTHON=/chemin/vers/python3." >&2; exit 1; } "$PY" - <&2; exit 1; } import sys raise SystemExit(0 if sys.version_info >= tuple(int(n) for n in "$MINIMUM".split(".")) else 1) PYCODE echo " $("$PY" --version)" if [[ ! -d .venv ]]; then echo "→ Creation de l'environnement…" "$PY" -m venv .venv else echo "→ Environnement deja present, on le reutilise." fi echo "→ Installation des dependances de CETTE machine…" .venv/bin/python -m pip install --quiet --upgrade pip .venv/bin/python -m pip install --quiet -r requirements.txt echo " $(.venv/bin/python -m pip list 2>/dev/null | wc -l | tr -d ' ') paquets installes" if [[ "$(uname)" == "Darwin" ]]; then echo "→ Construction de Zonza.app…" ./build_app.sh fi echo "→ Diagnostic…" .venv/bin/python app.py --diagnostic || { echo echo "✗ Le diagnostic signale un probleme. Rien n'est casse : lis les lignes" echo " ci-dessus, elles disent laquelle des epreuves a echoue." >&2 exit 1 } cat <<'FIN' ✓ Installe. Il reste UNE chose que seul toi peux faire, et sans elle le raccourci ne fonctionnera pas : accorder les autorisations macOS. Reglages systeme > Confidentialite et securite • Accessibilite → ajoute /Applications/Zonza.app, puis active • Surveillance de l'entree → la meme chose Puis quitte Zonza par son icone 🎙️ et relance-la : l'autorisation n'est lue qu'au demarrage. Usage : Cmd+Ctrl+D pour demarrer et arreter la dictee. Journal : ~/Library/Logs/Zonza.log FIN