Une seule base de code, partout
Chaque outil de l'écosystème OpenAEC est développé en tant qu'application unique fonctionnant sur toutes les plateformes. Pas de versions séparées web et bureau, pas de double maintenance. Le même code, les mêmes fonctionnalités, partout.
Nous y parvenons en construisant sur Tauri et Rust comme fondation, avec un frontend web moderne qui fonctionne à la fois dans le navigateur et dans un conteneur natif.
Aperçu de l'architecture
Stack technique
Tauri 2.0 Core
Framework pour construire des applications de bureau et mobiles avec des technologies web. Utilise la webview native de l'OS au lieu de Chromium — fichiers d'installation réduits (<10 Mo) et faible consommation mémoire.
Rust Backend
La logique métier de chaque outil est écrite en Rust : parsing IFC, validation, calculs et traitement de fichiers. Rust offre la sécurité mémoire, des performances élevées et compile pour toutes les plateformes.
WebAssembly Web
Le même code Rust compile vers WebAssembly (WASM) pour la version web. La logique de calcul complète tourne ainsi aussi dans le navigateur, avec des performances proches du natif.
HTML / CSS / JS UI
L'interface utilisateur est construite avec des technologies web standard. Pas de frameworks lourds — léger, rapide et maintenable. La même interface fonctionne dans Tauri et dans le navigateur.
Three.js 3D
Visualisation 3D des modèles IFC via Three.js et That Open Engine. Basé sur WebGL, fonctionne partout où un navigateur fonctionne.
FastAPI API
APIs côté serveur construites avec Python FastAPI pour la validation asynchrone, la gestion documentaire et les intégrations. Déployées via Docker.
Local et dans le cloud — un seul système
Chaque outil OpenAEC fonctionne de façon autonome sur votre propre machine, sans connexion internet. Mais lorsque vous êtes en ligne, tout se synchronise de façon transparente avec le cloud via la plateforme OpenAEC. Projets, documents et données du modèle circulent automatiquement entre les installations locales et le serveur. À vous de choisir : entièrement local, entièrement dans le cloud, ou en configuration hybride.
Comparaison des plateformes
| Fonctionnalité | Desktop (Tauri) | Web (Browser) | Mobile (Tauri) |
|---|---|---|---|
| Travail hors ligne | ✓ | Limité (PWA) | ✓ |
| Accès aux fichiers | ✓ Complet | Limité (upload) | ✓ |
| Traitement IFC | ✓ Native Rust | ✓ WASM | ✓ Native Rust |
| 3D Viewer | ✓ | ✓ | ✓ |
| Taille d'installation | <10 MB | 0 MB | <15 MB |
| Mise à jour automatique | ✓ | Toujours à jour | ✓ |
| Accès caméra | — | ✓ | ✓ |
| Intégration système | ✓ Complet | Limité | ✓ |
Extensibilité & intégration
Chaque outil de l'écosystème est conçu pour être étendu et intégré. Quatre couches d'extensibilité :
Open Feedback Studio Feedback
Système de retour intégré à chaque outil. Les utilisateurs peuvent envoyer des retours, signaler des bugs et soumettre des demandes de fonctionnalités directement depuis l'application. Connecté à la plateforme centrale.
REST API API
Chaque outil propose une API REST pour l'intégration avec des systèmes externes. Automatisez des workflows, connectez-vous à des systèmes ERP ou construisez vos propres tableaux de bord sur l'écosystème.
MCP Servers AI
Serveurs Model Context Protocol (MCP) pour chaque outil. Les agents IA (comme Claude) peuvent ainsi communiquer directement avec les outils — valider des modèles, générer des documents ou effectuer des calculs en langage naturel.
Extensions Plugins
Chaque outil prend en charge les extensions pour des fonctionnalités personnalisées. Construisez vos propres plugins en TypeScript ou Rust et partagez-les avec la communauté via le registre d'extensions.
Construire sur des projets open source existants
Nous ne réinventons pas la roue. L'écosystème OpenAEC s'appuie autant que possible sur des projets open source éprouvés du monde du BIM et de la 3D :
That Open Engine
Le rendu 3D et le parsing IFC dans nos visualiseurs reposent sur That Open Engine (anciennement IFC.js). Une puissante bibliothèque TypeScript/Three.js pour le BIM dans le navigateur.
Blender & Bonsai
Pour la modélisation 3D et l'authoring BIM nous intégrons Blender et l'add-on Bonsai (anciennement BlenderBIM). L'outil 3D open source le plus puissant au monde.
IfcOpenShell
La bibliothèque Python/C++ standard de l'industrie pour lire, écrire et manipuler les fichiers IFC. L'épine dorsale de notre traitement IFC côté serveur.
PDF.js & pdf-lib
PDF.js de Mozilla pour le rendu et pdf-lib pour créer et éditer programmatiquement des documents PDF. Technologie éprouvée, des millions d'utilisateurs.
Pourquoi cette approche ?
Petit & rapide
Pas d'Electron, pas de Chromium. Tauri utilise la webview native — fichiers d'installation inférieurs à 10 Mo et consommation mémoire minimale.
Sécurisé
Rust prévient les erreurs mémoire, les buffer overflows et les race conditions. L'application est sécurisée par conception.
Open source
Tauri, Rust et toutes les bibliothèques utilisées sont open source. Aucun verrouillage propriétaire au niveau du framework.
Pérenne
Les standards web et Rust sont des technologies à longue durée de vie. Pas de churn de framework, pas de breaking changes.