Skip to content

fix: commande d'installation macOS à jour dans les 4 langues (#243) - #359

Open
ohugonnot wants to merge 3 commits into
mainfrom
243-installation-macos
Open

ohugonnot wants to merge 3 commits into
mainfrom
243-installation-macos

Conversation

@ohugonnot

Copy link
Copy Markdown
Contributor

Closes #243

Le problème

La commande d'installation pour macOS ne marchait plus, dans aucune langue.

  • Anglais : elle téléchargeait StationHub 933, alors que la dernière version est la 939, et elle utilisait wget, qui n'est pas installé sur macOS.
  • Français et allemand :
    • elle visait la version 931 ;
    • elle utilisait curl -O sans -L, alors que GitHub répond par une redirection : on récupérait une page de redirection au lieu de l'archive ;
    • en allemand, des liens markdown étaient écrits dans le bloc de commande, ce qui rendait la commande invalide.
  • Russe : la page faisait installer Homebrew rien que pour avoir wget, puis fermait tous les terminaux (killall Terminal).
  • Partout, une ligne ln -s ~/Applications/UnityStation traînait sans explication.

Ce que fait la PR

La section macOS est réécrite dans les 4 langues, avec la même commande partout :

mkdir -p ~/Games/Unitystation && cd ~/Games/Unitystation && curl -fL -o StationHub.zip "$(curl -fsSL https://api.github.com/repos/unitystation/stationhub/releases/latest | grep -o 'https://[^"]*/osx[0-9]*\.zip' | head -n 1)" && unzip -o StationHub.zip && rm -rf StationHub.app && tar -xf StationHub.tar && rm -f StationHub.zip StationHub.tar && rm -rf /Applications/StationHub.app && cp -R StationHub.app /Applications/
  • Elle prend toujours la dernière version en interrogeant GitHub. Il n'y a plus de numéro de version à mettre à jour à la main.
  • Elle n'utilise que des outils fournis avec macOS (curl, unzip, tar).
  • Elle s'arrête à la première erreur (&&). Si le réseau ou GitHub ne répond pas, rien n'est supprimé.
  • Pour mettre à jour, on relance la même ligne. L'ancienne application est remplacée, et non écrasée fichier par fichier : Apple signale que modifier sur place des bibliothèques signées peut faire planter l'application, et les fichiers retirés d'une version ne restent pas. Les réglages et les versions du jeu téléchargées ne sont pas touchés, car StationHub les range dans ~/.local/share/StationHub, hors de l'application.
  • Le texte dit comment lancer le jeu, et quoi faire avec un compte sans droits d'administrateur.

Vérifié

Je n'ai pas de Mac. J'ai donc testé au plus près, sous Linux, avec les mêmes outils que macOS :

  • Shells : zsh (le shell par défaut de macOS) et bash.
  • Outils : bsdtar (le tar de macOS) et unzip, avec la vraie archive 939.
Cas Résultat
Installation neuve OK : application extraite, exécutable, copiée dans Applications
Mise à jour, avec de vieux fichiers dans l'application installée et dans la copie de travail OK : plus aucun vieux fichier. La version intermédiaire de cette PR les gardait, ce qui prouve que le test sait le voir
GitHub injoignable arrêt avec une erreur, rien de supprimé

Rendu du site : la page a été construite avec les traductions de #353 et servie comme en prod. La commande affichée est identique, caractère pour caractère, à celle testée, en anglais, français, russe et allemand. En prod aujourd'hui, l'ancienne commande s'affiche.

Pas testé : un vrai Mac, avec les versions BSD de cp, grep et head.

Hors de cette PR

Le reste de la page d'installation (Windows, Linux) n'est pas touché, car l'issue ne vise que macOS. La PR fusionne sans conflit avec toutes les autres PR ouvertes, y compris #353 qui renomme les dossiers de traduction : git suit le renommage.

La commande visait StationHub 933 (931 dans les traductions), utilisait
wget (absent de macOS) ou curl sans -L (GitHub répond par une
redirection), et la version allemande avait des liens markdown dans le
bloc de code. Elle récupère maintenant la dernière version via l'API
GitHub, avec curl, et s'arrête à la première erreur.
…sus (#243)

Copier sur une application existante modifie sur place des bibliothèques
signées (risque de plantage d'après Apple) et laisse les fichiers retirés
d'une version à l'autre. Ajoute aussi le cas d'un compte sans droits
d'administrateur, et corrige les guillemets en allemand et en russe.
Sinon les fichiers retirés d'une version restent dans
~/Games/Unitystation/StationHub.app et repartent dans Applications.
Le vidage se fait après le téléchargement : si le réseau échoue, rien
n'est supprimé.
@ohugonnot ohugonnot self-assigned this Oct 25, 2026
@ohugonnot
ohugonnot marked this pull request as ready for review October 25, 2026 14:16
@ohugonnot

Copy link
Copy Markdown
Contributor Author

Revue faite en 3 tours, avec des relecteurs indépendants à chaque tour.

  • Tour 1 : la mise à jour copiait la nouvelle application par-dessus l'ancienne. C'est corrigé : l'ancienne est maintenant supprimée avant la copie. J'ai aussi ajouté une phrase pour les comptes sans droits d'administrateur, et corrigé les guillemets en allemand et en russe.
  • Tour 2 : la copie de travail dans ~/Games/Unitystation gardait aussi les vieux fichiers. C'est corrigé et vérifié par un test.
  • Tour 3 : rien à signaler.

Le contrôle CI est vert, je passe la PR en prête.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

https://github.com/Unitystation-fork/Unitystation-WikiV2/blob/main/docs/1_HowToInstallGame/1_HowToInstallGame.md

1 participant