Aller au contenu principal

Infrastructure

OpenVLE se compose de plusieurs conteneurs Docker exploités ensemble sous forme de stack Docker Compose. Des systèmes externes (Proxmox VE, en option Apache Guacamole et Moodle) sont également connectés. Cette section décrit l'architecture, les composants utilisés et leurs interactions.

Diagramme d'architecture

Légende :

CouleurSignification
Jaune (pointillé)Composants externes (Reverse Proxy, Guacamole Stack, Moodle)
Bleu (clair)Frontend — Application Vue.js avec Nginx
Bleu (foncé)Backend / Tasks — FastAPI, Worker, Scheduler
VertBases de données — MariaDB, MongoDB, Redis
OrangeProxmox VE Cluster — Infrastructure hyperviseur (externe)

Composants en un coup d'oeil

Stack Docker OpenVLE

ComposantTypeFonction
BackendPython/FastAPIAPI REST, logique métier, intégration Proxmox
FrontendVue.js/NginxInterface web
Worker (3 types)RQ WorkerTâches asynchrones en arrière-plan (opérations VM, e-mail, Guacamole, Moodle)
SchedulerRQ CronTâches périodiques planifiées
MariaDBBDD relationnelleEntités principales (utilisateurs, rôles, environnements, VMs, ...)
MongoDBBDD documentsActivités, événements système, journaux d'audit
RedisIn-MemoryFile d'attente des tâches et cache

Systèmes externes

SystèmeRequisFonction
Proxmox VEOuiCluster hyperviseur pour la gestion des VMs
Reverse ProxyRecommandéTerminaison SSL et routage
Apache GuacamoleOptionnel, recommandéAccès bureau à distance aux VMs via le web
MoodleOptionnelIntégration du système de gestion de l'apprentissage
Serveur SMTPOuiEnvoi d'e-mails
Serveur LDAPOptionnelAuthentification des utilisateurs
Fournisseur OIDCOptionnelSingle Sign-On
Dépendances externes

Proxmox VE, Apache Guacamole et Moodle ne sont pas exploités dans le stack Docker Compose d'OpenVLE. Ils doivent être installés et configurés séparément. Consultez Intégration Proxmox VE, Intégration Apache Guacamole et Intégration Moodle pour la mise en place.

Pour aller plus loin

  1. Composants utilisés — Conteneurs Docker en détail : SERVICE_ROLE, ports, Health Checks, persistance
  2. Réseau & Docker — Réseau Docker, ports et chemins de communication
  3. Bases de données — MariaDB, MongoDB et Redis : répartition des tâches et stockage des données
  4. Système de tâches — Worker, Scheduler et la file d'attente Redis pour les tâches en arrière-plan
  5. Authentification — Connexion locale, LDAP et OIDC
  6. Système de permissions — Rôles, permissions et contrôle d'accès
  7. Proxmox VE — Gestion des VMs, gestion des noeuds et intégration cluster (requis)
  8. Apache Guacamole — Accès bureau à distance via Apache Guacamole (optionnel, recommandé)
  9. Moodle — Intégration au système de gestion de l'apprentissage Moodle (optionnel)