# Installation d'un serveur dédié OVH via le manager piloté en Safari (JXA) Prérequis : Safari ouvert et connecté à https://manager.ca.ovhcloud.com ; Safari → Développement → « Autoriser JavaScript des événements Apple ». Le contenu du serveur vit dans un `iframe` de même origine : tous les scripts passent par `document.querySelector('iframe').contentDocument`. ```bash R=~/Desktop/cluster-skill/ovh-manager osascript -e 'tell application "Safari" to set URL of front document to "https://manager.ca.ovhcloud.com/#/dedicated/server/"'; sleep 15 $R/runjs.sh $R/inspect.js # fiche (modèle, CPU, RAM, ID, baie) | $R/runjs.sh $R/net.js → IPv4/IPv6 $R/runjs.sh $R/install.js # bouton « Installer mon serveur » $R/runjs.sh $R/modal.js # liste des OS $R/runjs.sh $R/os.js # coche « Ubuntu Server 24.04 » $R/runjs.sh $R/next.js # « Suivant » → étape 4 directement # adapter fill-.js (hostname + clé + postinstall.sh) — généré en Python pour l'échappement JSON, voir fill-bhs128.js $R/runjs.sh $R/fill-.js && $R/runjs.sh $R/verify.js $R/runjs.sh $R/valider.js # lance l'installation $R/runjs.sh $R/prog.js # « Running Hardware Reboot ( 3 / 21 ) » … ~20 min $R/wait-.sh # boucle : progression + ssh ubuntu@ jusqu'au marqueur /root/maclustr-postinstall.done ``` Post-install commun (`postinstall.sh`) : clés maclustr-cluster / maclustr-m1m32 / maclustr-agentd sur ubuntu et root, apt de base (git, python3, htop, tmux, jq, rsync, curl, build-essential, unattended-upgrades, wireguard, ufw, bc), TZ America/Toronto, marqueur. Ensuite : alias `~/.ssh/config` (laptop + M1M32), `NODES.md`, `~/.claude/CLAUDE.md`. Historique : R9128 (2026-09-08), BHS64 + BHS64b (2026-09-10), BHS128 (2026-09-10 soir), BHS128b (2026-09-14 — ns5035327, 51.161.112.85, ADVANCE-2 EPYC 4344P mais 128 Go : installé sous le hostname `bhs64c` puis renommé `bhs128b` après `free -g` ; `fill-bhs128b.js`/`wait-bhs128b.sh`). Leçon : la fiche du manager ne donne pas la RAM — nommer après le premier `free -g`.