Aller au contenu

Architecture d'UnyDesk

UnyDesk combine une surface broker, une surface de distribution logicielle et une surface de session en direct.

Son architecture publique est centrée sur :

  • L'authentification
  • Les flux de claim et de provision bootstrap
  • L'état des hôtes et des sessions
  • Les mises à jour temps réel via websocket
  • La distribution de binaires hôtes pour les cibles supportées
  • La signalisation WebRTC directe via l'API broker
  • Des chemins de secours écran lorsque le média temps réel direct n'est pas exploitable

Principales couches publiques

La lecture publique de l'architecture peut se séparer en cinq couches.

1. Couche de distribution

Cette couche fournit :

  • Des binaires host téléchargeables
  • Un packaging host spécifique à chaque plateforme
  • Des points d'entrée de bootstrap
  • Un chemin public stable pour récupérer le logiciel host

L'application host n'est pas seulement un binaire d'appoint. C'est le runtime côté machine qui s’enregistre, s’identifie, envoie des heartbeats et accepte ou refuse les sessions.

2. Couche identité et confiance

UnyDesk utilise plusieurs modes publics de confiance :

  • Enregistrement de host lié à un compte
  • Flux de claim ou de pairage qui associent un host à un contexte utilisateur
  • Liens de session autonomes avec un jeton dédié
  • Approbation locale optionnelle sur le host avant le début du contrôle

3. Couche broker et session

La couche broker gère :

  • La création de session
  • Le routage vers le host
  • L'échange d'offer et d'answer
  • L'échange de candidats ICE
  • La présence du host
  • La visibilité sur l'état de dispatch, le nombre d'envois et les accusés host

4. Couche transport temps réel

Quand c'est possible, UnyDesk privilégie un chemin temps réel direct :

  • Le viewer navigateur crée une offer WebRTC
  • Le host publie la WebRTC answer
  • Les candidats ICE sont échangés via le broker
  • La vidéo, l'entrée et les canaux auxiliaires deviennent disponibles

Ce chemin est optimisé pour la basse latence, par exemple pour l'écran en direct, le contrôle clavier et souris, le presse-papiers et la signalisation des transferts de fichiers.

5. Couche de secours

L'architecture publique inclut aussi des chemins de secours explicites :

  • Livraison peer-frame sur le data channel d'écran
  • Relais peer-frame via un websocket d'écran dédié
  • Poursuite de la signalisation via le websocket broker
  • Polling d'état de session en attendant la reprise du transport

Chemin de session en clair

Page viewer
  -> session créée
  -> routée vers le host
  -> host accepte
  -> broker transporte la signalisation
  -> un chemin WebRTC direct est tenté
  -> un chemin fallback est utilisé si le média direct reste incomplet

Cette architecture doit être lue comme un système d'accès distant, pas comme une simple page de téléchargement de fichiers.