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 :
| Couleur | Signification |
|---|---|
| Jaune (pointillé) | Composants externes (Reverse Proxy, Guacamole Stack, Moodle) |
| Bleu (clair) | Frontend — Application Vue.js avec Nginx |
| Bleu (foncé) | Backend / Tasks — FastAPI, Worker, Scheduler |
| Vert | Bases de données — MariaDB, MongoDB, Redis |
| Orange | Proxmox VE Cluster — Infrastructure hyperviseur (externe) |
Composants en un coup d'oeil
Stack Docker OpenVLE
| Composant | Type | Fonction |
|---|---|---|
| Backend | Python/FastAPI | API REST, logique métier, intégration Proxmox |
| Frontend | Vue.js/Nginx | Interface web |
| Worker (3 types) | RQ Worker | Tâches asynchrones en arrière-plan (opérations VM, e-mail, Guacamole, Moodle) |
| Scheduler | RQ Cron | Tâches périodiques planifiées |
| MariaDB | BDD relationnelle | Entités principales (utilisateurs, rôles, environnements, VMs, ...) |
| MongoDB | BDD documents | Activités, événements système, journaux d'audit |
| Redis | In-Memory | File d'attente des tâches et cache |
Systèmes externes
| Système | Requis | Fonction |
|---|---|---|
| Proxmox VE | Oui | Cluster hyperviseur pour la gestion des VMs |
| Reverse Proxy | Recommandé | Terminaison SSL et routage |
| Apache Guacamole | Optionnel, recommandé | Accès bureau à distance aux VMs via le web |
| Moodle | Optionnel | Intégration du système de gestion de l'apprentissage |
| Serveur SMTP | Oui | Envoi d'e-mails |
| Serveur LDAP | Optionnel | Authentification des utilisateurs |
| Fournisseur OIDC | Optionnel | Single 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
- Composants utilisés — Conteneurs Docker en détail : SERVICE_ROLE, ports, Health Checks, persistance
- Réseau & Docker — Réseau Docker, ports et chemins de communication
- Bases de données — MariaDB, MongoDB et Redis : répartition des tâches et stockage des données
- Système de tâches — Worker, Scheduler et la file d'attente Redis pour les tâches en arrière-plan
- Authentification — Connexion locale, LDAP et OIDC
- Système de permissions — Rôles, permissions et contrôle d'accès
- Proxmox VE — Gestion des VMs, gestion des noeuds et intégration cluster (requis)
- Apache Guacamole — Accès bureau à distance via Apache Guacamole (optionnel, recommandé)
- Moodle — Intégration au système de gestion de l'apprentissage Moodle (optionnel)