Aller au contenu
supastack
Parcourir la documentation
BureauTauri

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /fr/docs/desktop/tech-stack.md (or send Accept: text/markdown).

Pile technologique Desktop

Les technologies dans le shell Tauri et le rôle que joue chacune.

Avant de commencer

L'application Desktop est volontairement mince : un cœur Rust possède la fenêtre native tandis qu'une webview charge votre application web. Tout ci-dessous est déjà épinglé dans le checkout — cette page explique ce que fait chaque pièce pour que les guides suivants aient du sens.

L'UI produit, l'authentification, la facturation et l'IA vivent toutes dans la base de code web que la fenêtre charge. Un checkout uniquement Desktop ne contient que le shell — c'est pourquoi cette pile est petite à dessein.

Tauri 2 + la webview système

Tauri 2 rend l'application avec la webview propre au système d'exploitation — WebView2 sous Windows, WebKit sous macOS, WebKitGTK sous Linux —, le shell reste donc petit et n'embarque aucun runtime de navigateur. frontendDist pointe vers apps/desktop/ui, la page de démarrage affichée pendant le chargement de l'application web, donc un démarrage à froid ne rend jamais une fenêtre vide.

Rust + TypeScript

Le comportement du shell est en Rust — src-tauri/src, édition 2021, Rust minimum 1.90 — compilé par cargo. De petits scripts Node écrits en TypeScript gèrent le preflight de release et le manifeste de l'updater.

Fonctions natives via plugins

L'état de la fenêtre, l'instance unique, les deep links, le raccourci global, la barre d'état, le lancement à la connexion, l'updater, l'ouverture de liens externes, les dialogues et le contrôle de processus proviennent tous de crates tauri-plugin-* — le shell n'ajoute aucune commande IPC propre. Ajouter une capacité native signifie enregistrer un autre plugin ou câbler ceux déjà présents.

tauri.conf.json + capabilities

L'identifiant de bundle com.supastack.desktop, la liste des fenêtres, les options de plugins et l'endpoint de l'updater vivent dans src-tauri/tauri.conf.json. Les permissions de la webview restent dans src-tauri/capabilities/default.json — actuellement core:default plus opener:allow-open-url pour les liens du navigateur système — et ne s'élargissent que lorsqu'une fonction native en a besoin.

Outillage de vérification

cargo test couvre la logique Rust — résolution d'URL, la gate de navigation, le mapping des deep links, les canaux de l'updater, le zoom et les préférences de fenêtre — tandis que node --check valide la page de démarrage et que check:release-config verrouille les builds de release. CI compile les trois systèmes d'exploitation.

corepack pnpm --filter @supastack/desktop test
corepack pnpm --filter @supastack/desktop typecheck
corepack pnpm --filter @supastack/desktop check:release-config