DmxMoney 2 est mon application de finances personnelles, locale et privée : comptes, journal, budgets, échéancier, analyses et prédictions de trésorerie. J’ai réécrit la première version en natif sur chaque plateforme (SwiftUI sur macOS, WinUI 3 sur Windows, GTK4 sur Linux) autour d’un noyau Rust partagé, pour que les soldes, projections et graphiques soient calculés à l’identique partout.
SOUS LE CAPOT
VUE ISOMÉTRIQUEUne stack. Un écosystème.
Project Core → catégories → technologies. Chaque structure représente un rôle dans le projet.
ARCHITECTURE
- SwiftUI
- WinUI 3
- GTK4
- libadwaita
- AppKit
- Swift Charts
- React
- Tailwind CSS
- Vite
- PWA
- UniFFI
- Cloudflare Workers
- SQLite
- SQLx
- Rust
- Swift
- C#
- TypeScript
Chaque technologie est reliée à sa catégorie
Aperçu
Fonctionnalités
- Comptes courants, livrets, assurance vie et espèces, avec soldes pointés et actuels
- Budgets par enveloppe et échéancier des loyers, abonnements et prélèvements
- Analyses des dépenses et projection de trésorerie sur les mois à venir
- Assistant en français : « J’ai payé 45 € de cinéma hier », via Siri et le compagnon
- Compagnon mobile (PWA) appairé par QR code et passkey, transport chiffré entre appareils
- Données en SQLite sur la machine, sauvegardes .dmx compatibles avec la version 1
Un noyau, trois interfaces natives
Toute la logique métier vit dans dmx-core, une bibliothèque Rust exposée à Swift et C# par UniFFI : les interfaces n’effectuent aucun calcul. Chaque plateforme garde ses codes : Table, Swift Charts et Liquid Glass sur macOS Tahoe, une version AppKit pour les Mac Intel jusqu’à Catalina, WinUI 3 sur Windows (x64 et ARM) et GTK4/libadwaita sur Linux. Au premier lancement, la base de DmxMoney 1 est reprise automatiquement, sans jamais modifier l’originale. Les mises à jour sont signées et distribuées par apps.develop-max.com.