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

Plateformes
Windows macOS Linux Web browser Android iOS
Runtime
Tauri 2.0 WebView (native) Browser (web)
Core (Rust)
IFC Parser IFCX Engine Validation Calculs File I/O API Client
Frontend
HTML / CSS JavaScript / TypeScript Three.js (3D) Web Components
Data
IFCX SQLite (lokaal) PostgreSQL (server) REST API NextCloud

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 ligneLimité (PWA)
Accès aux fichiers✓ CompletLimité (upload)
Traitement IFC✓ Native Rust✓ WASM✓ Native Rust
3D Viewer
Taille d'installation<10 MB0 MB<15 MB
Mise à jour automatiqueToujours à jour
Accès caméra
Intégration système✓ CompletLimité

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.