UltraFluid Modeler

Environnement avancé de modélisation de données fluides structurées
par Christophe Pichaud
Logo UltraFluid Modeler Logo UltraFluid Modeler Logo UltraFluid Modeler
C++ / Natif Win32 / MFC SQLite Moteur de rendu personnalisé

UltraFluid Modeler est une application C++ native conçue pour modéliser, visualiser et manipuler des représentations de données « fluides » et structurées. Elle propose une architecture modulaire, un moteur de rendu haute performance et une couche de persistance robuste construite sur SQLite. Le projet sert à la fois d’outil de modélisation de niveau professionnel et de vitrine technique d’ingénierie Win32/MFC avancée.

Public cible : développeurs et utilisateurs techniques qui souhaitent comprendre l’architecture interne, les points d’extension et les choix de conception d’UltraFluid Modeler.

Architecture principale

L’application est structurée en modules bien définis, avec une séparation claire entre le modèle, le rendu, la persistance et les composants d’interface utilisateur.

Module
UFMCore

Définit le modèle logique et les structures de données principales, y compris le système de propriétés, le modèle d’objets hiérarchique, la sérialisation et les utilitaires de validation.

Module
UFMDrawing

Implémente le moteur de rendu, la logique d’interaction et les primitives de dessin 2D utilisées pour visualiser les modèles en temps réel.

Module
SQLiteWrapper

Fournit une abstraction légère au-dessus de SQLite, gérant le schéma, les requêtes préparées et l’accès aux données de manière typée.

Module
SharedViews

Contient des composants UI réutilisables comme les éditeurs de propriétés, les vues arborescentes et les boîtes de dialogue, partagés dans l’ensemble de l’application.

UFMCore – modèle logique et structures de données

Le module UFMCore définit les abstractions fondamentales utilisées dans l’application :

Ce module est la source de vérité pour toutes les opérations liées au modèle et reste délibérément découplé des couches de rendu et d’interface.

UFMDrawing – couche de rendu et d’interaction

Le module UFMDrawing implémente le moteur graphique et la logique d’interaction :

De nouveaux types d’objets rendus peuvent être introduits sans couplage fort avec le reste de l’UI, ce qui fait de cette couche un point d’extension propre.

SQLiteWrapper – couche de persistance

Le module SQLiteWrapper fournit une abstraction fine mais robuste au-dessus de SQLite :

SharedViews – composants d’interface réutilisables

Le module SharedViews regroupe les éléments d’interface communs :

Tests – validation et stabilité

La suite de tests se concentre sur la stabilité des composants cœur :

Interface utilisateur et flux de travail

UltraFluid Modeler propose une interface classique basée sur MFC, optimisée pour les utilisateurs avancés. L’accent est mis sur la réactivité, la lisibilité et le contrôle plutôt que sur l’ornement visuel.

Fonctionnalités clés pour les développeurs

UltraFluid Modeler est pensé non seulement comme un outil pour l’utilisateur final, mais aussi comme une base de code que les développeurs peuvent explorer, étendre et étudier.

Points d’extensibilité

L’architecture d’UltraFluid Modeler encourage des points d’extension bien définis, afin que les nouvelles fonctionnalités restent isolées et maintenables.

Pile technologique

Dépôt et code source