Aller au contenu

SDK et développement

Cette section s’adresse aux développeurs qui veulent comprendre le cœur de Vuisio ou l’étendre avec un module. Tout ce qui est décrit ici relève du périmètre libre (le SFU et le SDK sont publiés sous licence AGPL).

Le SFU (core/server) est un serveur autonome qui ne connaît aucun module. Il expose des hooks génériques. Un module est un processus indépendant qui se connecte par gRPC, déclare ses capacités, et que l’orchestrateur (bin/vuisio) relie aux hooks correspondants.

flowchart LR
    MOD["Votre module<br/>(processus gRPC)"]
    ORCH["Orchestrateur<br/>bin/vuisio"]
    SFU["SFU<br/>core/server"]
    MOD <-->|"gRPC : ModuleRegistry, EventStream, RoomManagement"| ORCH
    ORCH <-->|"hooks"| SFU
    classDef sfu fill:#072b73,stroke:#072b73,color:#ffffff;
    class SFU sfu;
  • Architecture du SFU : le modèle multi-thread, le chemin des paquets, le point d’entrée du serveur.
  • Les hooks : les quatre points d’extension du SFU et leurs signatures exactes.
  • Le contrat de module : le trait Module, les types du domaine, et les services gRPC.
  • Créer un module : les étapes, du contrat de capacité jusqu’au câblage dans l’orchestrateur.