Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 13 additions & 4 deletions docs/ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,17 @@ Statut : cible de refonte ; toute divergence durable nécessite un ADR.
MSFS
│ SimConnect (données non fiables)
Bridge .NET 8
Bridge .NET 10 LTS
│ événements de vol versionnés
│ canal local authentifié
Tauri v2 / Rust
Tauri 2.11 / Rust stable épinglé
│ capacités natives minimales
React / TypeScript
React 19 / TypeScript 6
│ lectures RLS + commandes HTTPS
Supabase
Supabase / PostgreSQL 17
├─ Auth
├─ PostgreSQL + RLS
├─ RPC/Edge Functions transactionnelles
Expand Down Expand Up @@ -54,6 +54,8 @@ Supabase

- Connexion/reconnexion SimConnect.
- Client hors processus self-contained Windows x64, limité à la session locale.
- SDK/API SimConnect officiel MSFS 2024 isolé derrière `ISimConnectAdapter` ;
aucun type SDK dans le domaine et aucune dépendance du domaine au wrapper.
- Normalisation, validation et agrégation de la télémétrie.
- Machine à états de vol déterministe et rejouable.
- Rapport de vol versionné.
Expand All @@ -71,6 +73,10 @@ Supabase
- RLS défensive sur chaque table exposée.
- Audit des changements sensibles.
- Traitements passifs côté serveur, indépendants d'un client ouvert.
- PostgreSQL 17 fourni par la plateforme ; migrations et types générés depuis
le schéma neuf.
- RPC SQL préférée pour les commandes purement transactionnelles ; Edge
Functions réservées à l'orchestration réseau ou aux secrets serveur.

## Stratégie de construction

Expand Down Expand Up @@ -166,3 +172,6 @@ de caractérisation malgré l'absence de migration de code.
- `ADR-0003` : Windows 11 x64 maintenu et MSFS 2024 stable uniquement ; Store et
Steam sont validés séparément, sans support Windows 10, ARM64, MSFS 2020,
Insider ou Preview. WebView2 Evergreen et bridge .NET self-contained.
- `ADR-0004` : Node 24/pnpm 11/React 19/Tauri 2.11, bridge .NET 10 LTS avec SDK
SimConnect officiel abstrait et backend Supabase/PostgreSQL 17. Les versions
exactes et la politique mensuelle sont dans `docs/STACK.md`.
20 changes: 17 additions & 3 deletions docs/CURRENT_STATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -180,11 +180,25 @@ Une machine Ryzen 7 5800X, 32 Go et RX 6070 XT est disponible comme profil
recommandé de validation. Elle ne prouve pas le minimum matériel. Aucun test
MSFS réel n'a été exécuté dans T0004.

## Décision de stack cible

`ADR-0004` retient Node 24 LTS avec pnpm 11, React 19/Vite 8, Tauri 2.11 sur
WebView2 Evergreen, Rust stable épinglé, un bridge .NET 10 LTS self-contained
`win-x64`, le SDK SimConnect officiel derrière une abstraction interne, et
Supabase/PostgreSQL 17. Firebase, Electron et le wrapper `SimConnect.NET` ne sont
pas les fondations de la refonte.

Cette décision est documentaire : aucune version n'a été installée et aucun
manifest, lockfile, workflow ou code applicatif n'a été modifié. Les performances
et la compatibilité self-contained SimConnect restent à prouver par les tickets
d'adoption.

## Prochain ticket recommandé

`T0005 — Budgets stabilité et performance`. Il doit mesurer et fixer les budgets
du profil minimum/recommandé. Les preuves Store/Steam et les replays SimConnect
seront réalisés lors du premier vertical slice bridge.
`T0006 — Épingler les runtimes et créer la source de versions`. Il doit créer
dans le nouveau dépôt les pins Node/pnpm/Rust/.NET/PowerShell, le bootstrap et
les contrôles de dérive, sans introduire encore le shell ou le frontend. Les
budgets du profil minimum/recommandé sont renumérotés `T0015`.

## Mise à jour de ce fichier

Expand Down
5 changes: 4 additions & 1 deletion docs/KNOWN_ISSUES.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,10 @@ Statut : `Open`, `Accepted`, `Scheduled`, `Resolved`, `Invalid`.
| KI-009 | High | Bridge | Aucun corpus de traces SimConnect rejouables n'est fourni pour prouver la parité du moteur de vol. | T0001 et ADR-0002 | Premier vertical slice SimConnect | Open |
| KI-010 | High | Release | Après création de données réelles dans le nouveau schéma, aucun retour vers l'ancien produit ne sera possible. | ADR-0002 : nouveau schéma sans compatibilité descendante | Phase 6 | Accepted |
| KI-011 | High | Support | Aucune preuve réelle distincte ne valide encore MSFS 2024 Microsoft Store/Xbox App et Steam ; une seule machine de test est disponible. | T0004 et proposition ADR-0003 | Validation plateformes / premier vertical slice SimConnect | Open |
| KI-012 | Medium | Support | Le profil matériel minimum Thrustline n'est pas mesuré ; la machine Ryzen 7 5800X, 32 Go, RX 6070 XT ne prouve que le profil recommandé cible. | Réponses Andy et ADR-0003 | T0005 | Open |
| KI-012 | Medium | Support | Le profil matériel minimum Thrustline n'est pas mesuré ; la machine Ryzen 7 5800X, 32 Go, RX 6070 XT ne prouve que le profil recommandé cible. | Réponses Andy et ADR-0003 | T0015 | Open |
| KI-013 | Medium | Desktop | Le gain réel de Tauri/WebView2 face à un shell .NET natif n'est pas mesuré sur le profil cible. | ADR-0004 : choix fondé sur l'architecture et l'absence de runtime Chromium embarqué | T0007 puis T0015 | Open |
| KI-014 | Medium | Backend | La stack Supabase locale n'est pas strictement identique au cloud et PostgreSQL 17 doit être confirmé sur chaque projet dev/staging/prod. | Documentation officielle Supabase consultée dans T0005 | T0012 | Open |
| KI-015 | High | Bridge | Le SDK managed SimConnect officiel documente .NET Framework et dépend de binaires/installation SDK ; sa publication self-contained .NET 10 reste à prouver. | Documentation MSFS 2024 SimConnect consultée dans T0005 | T0011 | Open |

## Règles

Expand Down
12 changes: 12 additions & 0 deletions docs/QUALITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@ résultat.

## Budgets initiaux à fixer en phase 0

Ticket cible : `T0015 — Fixer les budgets stabilité et performance`. T0005
choisit la stack mais ne remplace aucune mesure sur le profil matériel cible.

- temps de démarrage sur machine cible ;
- mémoire au repos et pendant un vol long ;
- fréquence maximale de rendu de télémétrie ;
Expand All @@ -63,6 +66,15 @@ résultat.
- sessions sans crash ;
- temps maximum de récupération après déconnexion.

## Validation des mises à niveau

- Correctif : tests ciblés, audits et builds de tous les consommateurs.
- Mineure : contrôles précédents et smoke test du groupe de compatibilité.
- Majeure : ADR légère, fenêtre de test de deux semaines, matrice complète et
rollback vers les lockfiles précédents.
- Le socle mesure démarrage, mémoire, CPU, taille et reprise avant de promouvoir
un shell, un runtime ou une optimisation (trimming, ReadyToRun, Native AOT).

## Vérification manuelle d'un ticket

Elle doit tenir en 5–10 minutes quand le ticket est correctement découpé :
Expand Down
6 changes: 4 additions & 2 deletions docs/ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ Objectif : rendre l'existant mesurable et décider ce que l'on reconstruit.
ultérieure (`ADR-0001`, acceptée).
- Matrice Windows/MSFS acceptée (`ADR-0003`) : Windows 11 x64 et MSFS 2024
stable, Store et Steam prouvés séparément.
- Budgets stabilité/performance et politique de données.
- Stack cible acceptée (`ADR-0004`) : Tauri/WebView2, React, .NET 10,
SimConnect officiel abstrait et Supabase/PostgreSQL 17.
- Budgets stabilité/performance (`T0015`) et politique de données.
- Stratégie acceptée : réécriture totale isolée dans un nouveau dépôt
(`ADR-0002`), sans migration des données de développement.
- Environnements dev/staging/prod documentés.
Expand All @@ -28,7 +30,7 @@ Objectif : créer dans le nouveau dépôt un socle reconstruisible et testable
tout moment.

- Nouveau dépôt, historique neuf, règles de branches courtes et CI obligatoire.
- Versions/outils supportés et bootstrap automatisé.
- Versions/outils supportés selon `docs/STACK.md` et bootstrap automatisé.
- Source de version unique.
- CI consolidée et actions épinglées.
- Lint/format/types/tests cohérents.
Expand Down
8 changes: 7 additions & 1 deletion docs/SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,18 @@ Supposer qu'un attaquant peut :
### Supply chain et release

- Lockfiles, audits npm/NuGet/Rust, scan de secrets et licences.
- Versions directes exactes ; restauration CI en mode verrouillé.
- Scripts d'installation pnpm refusés sauf allowlist et paquets nouveaux
différés de sept jours, hors correctif urgent revu.
- Actions CI épinglées à des SHA immuables.
- Secrets CI interdits aux PR de forks.
- EXE, installateur et manifeste de mise à jour signés.
- Checksum, SBOM et provenance publiés.
- Vulnérabilité critique/haute bloque la release sauf exception écrite et limitée.
- Dépendance critique abandonnée ou sans licence claire refusée ; toute
exception nomme une alternative et expire sous 90 jours.
- Build, signature et publication sont trois étapes séparées ; aucun secret de
signature n'est exposé au job de build ni aux PR externes.

## Revue sécurité d'un ticket

Expand All @@ -97,4 +104,3 @@ Tout ticket touchant auth, DB, fichiers, réseau, IPC, shell, update, télémét
4. Préparer une release signée.
5. Informer les utilisateurs affectés si nécessaire.
6. Consigner l'incident et l'action préventive.

Loading
Loading