Bêta précoce (0.1.0), pas encore pour un process critique. Voir la roadmap
PNeX logo

Architecture

Comment la pile PNeX s'emboîte

PNeX est un seul workspace Rust. Les mêmes types (pnex-core) compilent nativement pour le serveur et en WebAssembly pour l'app web — le contrat client-serveur est vérifié à la compilation. Le même code d'interface est aussi livré en apps natives pour Linux, Windows et Android.

Explorer l'architecture

Cliquez un bloc pour le détail, suivez une requête de bout en bout, ou allumez chaque niveau de sécurité.

CLIENTSEDGE · TLSCŒURDONNÉESHTTPS · WSSHTTPSWSS · TLS 1.2WSScerts/auth/v1/ · /wsOIDCsuperviseSQL · jobsingest · querylast valuesliveartifacts · mediaApp webDioxus · WASMApps nativesDioxus · same codeAppareilsESP32 · ESP8266Votre codePublic APIEdge TLSnginx:443 · une seule origineCertificatsCA · Let’s EncryptIdentitéRauthyServeur PNeXRust · Loco + SeaORMMoteur de flowsEdgeLink · RustBase de donnéesPostgreSQLTélémétrieOpenObserveCache liveValkeyStockage objetS3-compatible
Chiffré TLS sur le réseau Réseau privé interneDocker Compose · Helm (à venir) · images Wolfi (Chainguard) · Raspberry Pi → cloud

Composants

ComposantTechnologieRôle
Edge TLSnginxUne seule origine HTTPS pour navigateurs, apps natives et appareils ; CA locale ou Let's Encrypt
ServeurLoco (Axum, SeaORM)API REST + WebSocket, workers, service de build firmware
Apps web, desktop & mobileDioxus (Rust)Tous les écrans depuis un seul code : web (WebAssembly), desktop Linux (x86_64, ARM64), desktop Windows (x86_64), Android
Runtime de flowsEdgeLink vendored, binaire Rust headlessExécute les flows visuels, supervisé et hot-reloadé par le serveur
TélémétrieOpenObserveMétriques et logs, isolation par organisation
Cache liveValkeyLectures instantanées de la dernière valeur
IdentitéRauthyOIDC, provisioning automatique (JIT)
Stockage objetTout stockage S3 compatible (RustFS fourni)Artefacts firmware, assets média
ThermophysiqueCoolProp (C++ vendored), in-processPropriétés de fluides dans les nœuds et diagrammes

Trois briques de données

PNeX s'appuie sur exactement trois briques de stockage : PostgreSQL (configuration, assets et file de jobs), OpenObserve (séries temporelles et logs) et Valkey (dernières valeurs live). La file et les workflows sont couverts par les workers Postgres et le runtime de flows.

Séparation serveur / edge

Le serveur stocke, compile le firmware, caste les configurations — et n'écrit jamais un pin de sa propre initiative. Aujourd'hui les appareils tournent en mode connecté : les flows les pilotent via le serveur. Les appareils autonomes — config castée sur l'appareil, régulation locale qui survit aux coupures serveur ou internet — arrivent, suivis d'un mesh appareil-à-appareil. Voir flows.

On this page