Thrustline est une application de gestion de compagnie aerienne virtuelle pour Microsoft Flight Simulator. Elle combine gestion de flotte, planification des vols, operations passives, economie et suivi en temps reel du simulateur dans une application de bureau Windows.
Le projet est en developpement actif. Il n'existe pas encore de version publique stable.
- Creation et gestion d'une compagnie aerienne
- Tableau de bord avec indicateurs, historique et carte du reseau
- Achat, vente, location et maintenance des avions
- Marche d'avions neufs et d'occasion
- Creation de dispatches et integration SimBrief
- Suivi de vol en temps reel via SimConnect
- Planification de rotations et operations passives accelerees
- Gestion des equipages, finances, emprunts et transactions
- Simulation de l'experience passager et bilan d'atterrissage
- Synchronisation des donnees et authentification avec Supabase
Microsoft Flight Simulator
|
v
sim-bridge (.NET 8 / SimConnect)
|
REST + SignalR
|
v
app (Tauri v2 / React / TypeScript)
|
v
Supabase (Auth / PostgreSQL / Realtime)
Le depot contient les composants suivants :
| Dossier | Description |
|---|---|
app/ |
Application de bureau Tauri v2 et interface React |
sim-bridge/ |
Sidecar ASP.NET Core reliant l'application a MSFS via SimConnect |
supabase/ |
Configuration et migrations PostgreSQL |
scripts/ |
Scripts PowerShell de build et d'integration |
legacy/ |
Anciennes implementations Electron et WPF, conservees comme reference |
- Windows 10 ou 11
- Microsoft Flight Simulator avec SimConnect
- Node.js 24.18 LTS et npm
- .NET 8 SDK
- Rust
- Les prerequis Tauri v2 pour Windows
- Un projet Supabase
git clone https://github.com/AndyD9/Thrustline.git
Set-Location ThrustlineSet-Location app
Copy-Item .env.example .env
npm installRenseignez ensuite les variables suivantes dans app/.env :
VITE_SUPABASE_URL=https://votre-projet.supabase.co
VITE_SUPABASE_ANON_KEY=votre-cle-anonLa cle anonyme est utilisee avec les politiques RLS. La cle service_role reste exclusivement dans les secrets des Edge Functions Supabase et n'est jamais installee sur un poste utilisateur.
Appliquez les migrations puis deployez supabase/functions/complete-flight. Le sim-bridge recoit la configuration publique et le JWT depuis l'application authentifiee; aucun secret backend ne lui est fourni. Voir supabase/SECURITY_DEPLOYMENT.md.
Appliquez dans l'ordre les migrations du dossier supabase/migrations/ a votre projet Supabase. Elles definissent le schema, les contraintes, les fonctions, les politiques RLS et les donnees necessaires a l'application.
Depuis la racine du depot :
.\scripts\build-sidecar.ps1Le script publie le sim-bridge puis copie les fichiers requis dans le dossier des binaires externes de Tauri.
Set-Location app
npm run devSet-Location app
npm run tauri:devSet-Location sim-bridge
dotnet runLe bridge ecoute par defaut sur http://127.0.0.1:5055 et expose des endpoints REST locaux ainsi qu'un hub SignalR.
# Tests et build du frontend
Set-Location app
npm test
npm run build
# Build du sim-bridge
Set-Location ..\sim-bridge
dotnet buildUn build Tauri complet peut etre lance avec :
Set-Location app
npm run tauri:builddocs/README.md: point d'entree de la refontedocs/PRODUCT.md: vision et perimetre produitdocs/ARCHITECTURE.md: architecture cibledocs/CURRENT_STATE.md: etat reel du depotdocs/ROADMAP.md: phases et gates de la refontedocs/WORKFLOW.md: cycle de travail par ticketsdocs/tickets/: backlog et rapports de completionAGENTS.md: regles obligatoires pour les agentssupabase/README.md: notes relatives a Supabase
- Ne commitez jamais de fichier
.env, de cleservice_roleou de secret utilisateur. - Le frontend utilise uniquement la cle anonyme Supabase avec RLS.
- Le sim-bridge reste lie a l'interface locale et conserve les acces privilegies cote serveur.
- Les binaires generes, dependances et sorties de build ne doivent pas etre ajoutes au depot.
Aucune licence open source n'est actuellement declaree. Tous droits reserves.