Serveur réécrit en Rust

Le serveur Dart (bin/) est remplacé par un serveur Rust (server/) :
tokio + axum, reqwest/rustls, SQLite embarqué via rusqlite. Même API,
mêmes routes et mêmes réponses : le front Flutter ne change pas.

La base de production est reprise telle quelle : schéma, migrations et
formats de dates (DateTime.toIso8601String de Dart) sont reproduits à
l'identique, les sessions et hachages existants restent valides.

Comportement conservé : cascade de routage, anti-SSRF, logs masqués,
rate limits, transcodage HLS/turbo.ts avec repli GPU, quotas fournisseur,
enregistrements (reprise, relances, fusion), season passes, EPG, logos de
repli, arrêt gracieux sur SIGTERM. Tests Dart portés (132 tests Rust) ;
la CI exécute fmt, test et clippy -D warnings, l'image Docker compile le
serveur dans un étage rust:1.98.1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
MichaelandClaude Opus 5.5 committed 2026-10-13 00:29:57 +02:00
1 parent f82c70ae05
commit 3ea6fa0ae3
109 files changed
+14008 -11047

No files matched your search

+4 -3
View File
@@ -17,10 +17,11 @@ if ($LASTEXITCODE -ne 0) { Write-Error "Flutter build failed"; exit 1 }
Write-Host "📂 Copying Web Assets..."
Copy-Item -Recurse "build\web" "dist\web"
# 4. Compile Dart Server
# 4. Compile Rust Server
Write-Host "🔨 Compiling Backend Server..." -ForegroundColor Yellow
dart compile exe bin/server.dart -o dist/xtremflow_server.exe
if ($LASTEXITCODE -ne 0) { Write-Error "Dart compile failed"; exit 1 }
cargo build --release --manifest-path server/Cargo.toml
if ($LASTEXITCODE -ne 0) { Write-Error "Rust compile failed"; exit 1 }
Copy-Item "server\target\release\xtremflow-server.exe" "dist\xtremflow_server.exe"
# 5. Create Start Script
Write-Host "📝 Creating Launcher Script..."