gestion_table_tournante_libre/install_dev.sh

62 lines
2 KiB
Bash
Raw Normal View History

[ADD] install: Node 26 and system packages, per family and under Nix ./install.sh installs what is missing through apt, dnf, zypper or pacman, then Node of the .node-version major from nodejs.org, SHA-256 checked, outside the repository, then npm ci and Electron's binary, which its package no longer fetches at install; ldd refuses a missing library. ./install_dev.sh adds Playwright's Chromium, fonts, and podman on amd64. Under NixOS a pinned shell.nix provides Node, Electron and Chromium, which the browser tests then launch. Build-script tests run on Linux only, where § 16 builds. Checked: ten library tests, three mutations caught; local install. --- FR --- [ADD] installation : Node 26 et paquets du système, par famille et Nix ./install.sh installe ce qui manque par apt, dnf, zypper ou pacman, puis Node de la majeure de .node-version, de nodejs.org, somme SHA-256 vérifiée, hors du dépôt, puis npm ci et le binaire d'Electron, que son paquet ne télécharge plus à l'installation ; ldd refuse une bibliothèque absente. ./install_dev.sh ajoute le Chromium de Playwright, des polices, et podman sur amd64. Sous NixOS, un shell.nix épinglé fournit Node, Electron et Chromium, que lancent alors les épreuves du navigateur. Les épreuves du script de construction ne se jouent que sous Linux (§ 16). Vérifié : dix épreuves de la bibliothèque, trois mutations attrapées ; installation locale. Assisted-by: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01EUXSGcwCLSC69FWEdCtWSb
2026-10-06 05:51:48 -04:00
#!/usr/bin/env bash
# © 2026 TechnoLibre (http://www.technolibre.ca)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl)
# Installe l'environnement de développement : ce qu'installe ./install.sh,
# puis le Chromium de Playwright des épreuves du navigateur, des polices, et
# podman, sous lequel se construit l'exécutable Windows (§ 16) sur amd64.
#
# ./install_dev.sh
set -euo pipefail
cd -- "$(dirname -- "$0")"
. scripts/installation/commun.sh
for argument in "$@"; do
case "$argument" in
-h | --help)
sed -n '5,10p' "$0" | sed 's/^# \{0,1\}//'
exit 0
;;
*)
gtt_dire "usage : ./install_dev.sh"
exit 2
;;
esac
done
famille="$(gtt_famille)"
case "$famille" in
windows) gtt_powershell installer.ps1 -Dev ;;
# shell.nix déclare aussi Chromium et ses polices.
nixos) exec ./install.sh ;;
esac
./install.sh
case "$famille" in
debian | fedora | suse | arch)
paquets="$(gtt_paquets_developpement "$famille")"
if [ "$(gtt_arch_node)" = x64 ]; then
paquets="$paquets podman"
fi
# shellcheck disable=SC2086
gtt_installer_paquets "$famille" $paquets
;;
esac
gtt_activer_node
if gtt_chromium_disponible; then
npx --no-install playwright install --only-shell chromium
if [ "$(gtt_os_node)" = linux ]; then
navigateurs="${PLAYWRIGHT_BROWSERS_PATH:-$HOME/.cache/ms-playwright}"
coquille="$(find "$navigateurs" -maxdepth 3 -type f \
\( -name headless_shell -o -name chrome-headless-shell \) 2> /dev/null | head -n 1)"
[ -n "$coquille" ] || gtt_refuser "Chromium de Playwright introuvable sous $navigateurs."
manquantes="$(gtt_bibliotheques_manquantes "$coquille")"
[ -z "$manquantes" ] || gtt_refuser "Chromium de Playwright ne trouve pas :" "$manquantes"
fi
else
gtt_dire "Playwright ne publie pas Chromium pour $(gtt_os_node)-$(gtt_arch_node) :" \
"les épreuves du navigateur ne s'y jouent pas."
fi
gtt_dire "Environnement de développement prêt : make help."