Repository navigation
Distribution
- Dépôt unique : lalBi94/Sapphire3.
- Sources sur
master, paquets en assets de GitHub Releases. - Dernière préversion : 0.1.0-beta.9.
- Site public sur la branche
gh-pages, publié séparément sur GitHub Pages. - Licence MIT (
LICENSE), incluse dans les paquets et l’installateur.
pnpm dist:win # ZIP portable Windows
pnpm dist:installer # ZIP Windows + installateur Inno Setup
pnpm dist:linux # archives Linux x64 et ARM64
pnpm dist:mac # bundle macOS universel
pnpm dist:all # Windows, Linux et macOSpnpm dist:installer nécessite ISCC.exe (Inno Setup 6 ou 7) sur la machine de construction, pas sur les postes utilisateurs. La construction du sidecar Discord demande CMake, Zig et Ninja.
Contenu Windows :
Sapphire3.exe
discord-presence.exe
resources.neu
updater.ps1
VERSION.txt
CREDITS.md
LICENSE.txt
LIRE-MOI.txt
README.txt
licenses/
Les archives Linux contiennent Sapphire3, discord-presence, resources.neu, les notices et les icônes hicolor. Le bundle macOS contient Sapphire 3.app avec le binaire universel, discord-presence-x64, discord-presence-arm64, resources.neu et Info.plist.
- Installation par utilisateur dans
%LOCALAPPDATA%\Programs\Sapphire 3. - Aucun droit administrateur.
- Page de licence, avertissement si WebView2 manque.
- Raccourcis menu Démarrer, bureau optionnel.
- Désinstallation sans toucher aux workspaces, préférences ni récupération.
La chaîne est prête, mais aucun certificat n’est fourni. Sans certificat, le paquet est explicitement non signé. macOS n’est pas notarié.
$env:SAPPHIRE_SIGN_PFX = 'C:\certificats\sapphire3.pfx'
$env:SAPPHIRE_SIGN_PASSWORD = '...'
pnpm dist:installerVariables : SAPPHIRE_SIGN_PFX, SAPPHIRE_SIGN_PASSWORD, SAPPHIRE_SIGN_THUMBPRINT, SAPPHIRE_TIMESTAMP_URL, SIGTOOL_PATH, ISCC_PATH.
Sont signés : Sapphire3.exe avant le ZIP, puis l’installateur. scripts/sign-windows.ps1 vérifie avec Get-AuthenticodeSignature et échoue si la chaîne n’est pas valide.
Un certificat neuf peut conserver un avertissement SmartScreen le temps d’établir sa réputation. Ce n’est pas un défaut de signature.
- Mettre à jour
package.jsonet les notes dansdocs/releases/. -
pnpm test,pnpm build,pnpm dist:all, puispnpm dist:installer. - Vérifier les archives, les licences,
resources.neu, les permissions Unix et les SHA-256. - Créer une release GitHub en brouillon avec le tag
v<version>et les cinq assets : ZIP Windows, installateur, Linux x64, Linux ARM64 et macOS universel. - Vérifier la release distante, les tailles et les SHA-256.
- Publier en pré-release après validation explicite.
Le site se publie séparément : copier abstract/ à la racine de la branche gh-pages, conserver .nojekyll, index.html, visual/, ARCHITECTURE_AST.tex et ARCHITECTURE_AST.pdf, puis pousser. Une publication du site ne pousse pas master et ne crée pas de release.
L’application consulte les releases publiées du dépôt configuré. Après confirmation :
- téléchargement de l’archive ;
- vérification taille + SHA-256 ;
- fermeture de l’application ;
- remplacement des seuls fichiers distribués par
updater.ps1; - relance.
Les données, préférences et fichiers utilisateur ne sont jamais remplacés. Les erreurs réseau ne bloquent pas les fonctionnalités hors ligne.
- Aucun second dépôt ni manifeste
update.json. - Pas de mise à jour silencieuse.
- Les builds et exécutables ne sont jamais commités.
- Linux et macOS sont construits mais non testés à l’exécution ; l’installation des mises à jour y reste manuelle.
Sapphire 3 — wiki du projet. Licence MIT. Documentation source : docs/ et abstract/. Dernière mise à jour : 11 novembre 2026.
Sapphire 3
Comprendre
Utiliser
Projet