VLAB —
l’accesso segue
la prenotazione.
Studenti e docenti prenotano il laboratorio virtuale. Il sistema abilita le utenze prima dell’inizio e le rimuove dopo la fine, collegando il calendario all’infrastruttura dell’Ateneo.

Cos'è
VLAB Booking.
Un sistema che collega le prenotazioni ai laboratori virtuali dell’Ateneo. Gestisce l’abilitazione delle utenze, gli avvisi e la rimozione degli accessi. Si integra con VMware Horizon, i gruppi dei corsi su Moodle e l’accesso con le credenziali d’Ateneo.
Da dove siamo
partiti.
Un laboratorio virtuale è un pool di desktop VMware Horizon costruito su immagine e snapshot preparati per un corso. Per entrarci, l'utenza deve essere abilitata in Active Directory: lasciarla aperta sempre significa accessi che restano a chi non ne ha più diritto, aprirla e chiuderla a mano lezione per lezione non regge.
La sfida
Tenere allineati il calendario delle lezioni, i gruppi dei corsi su Moodle e le utenze abilitate sulla VDI. Quattro ruoli — studente, docente, IT di dipartimento, amministratore — e un solo accesso: la federazione SAML d'Ateneo.
Il nostro approccio
Il booking non tocca direttamente l'infrastruttura. Ogni minuto lo scheduler scrive i file di abilitazione, avviso e rimozione che un agente lato VDI consuma, e ne importa i log di accesso. La creazione dei laboratori passa da un piccolo server on-premise che esegue gli script PowerShell di VMware.
Il risultato
Un accesso esiste solo finché c'è una prenotazione che lo giustifica: si apre prima dell'inizio, si chiude dopo la fine, e si chiude anche quando il laboratorio scade o viene cancellato. Le statistiche contano gli accessi registrati da Horizon, non le prenotazioni.
Funzionalità
chiave.
Sei aree per gestire prenotazioni, laboratori, gruppi e accessi. Ogni ruolo dispone delle informazioni e delle azioni necessarie al proprio lavoro.
Prenotazioni
lab
Calendario con prenotazioni singole o ricorrenti, condivisibili con colleghi o gruppi. Controllo dei posti disponibili attivabile per laboratorio.
Laboratori
& statistiche
Ogni laboratorio ha immagine e snapshot VMware, posti, anno accademico e scadenza. Statistiche per durata delle sessioni e posti usati.
Gruppi
studenti
Gruppi creati dai docenti o sincronizzati dai corsi Moodle. Chi è nel gruppo vede e prenota i laboratori assegnati.
Firma
regolamento
Regolamento d'uso in italiano e inglese, con revisioni numerate e stato bozza o pubblicato. Per ogni utente resta registrata la versione firmata.
Ticket
supporto
Servizio separato (vlabooking-support) per le richieste di aiuto, con notifica email all'apertura e a ogni risposta. Li gestisce l'IT.
Avvisi
dashboard
Comunicazioni degli amministratori — manutenzioni, scadenze — con periodo di validità e livello: info, warning, danger.
Quattro ruoli,
quattro viste.
Quattro profili, e un utente può averne più d'uno. SAML porta l'identità dall'Ateneo, un JWT la porta nelle chiamate all'API: i guard controllano il ruolo, i service filtrano i dati che ognuno può vedere.
Student
- Prenota i laboratori dei suoi gruppi
- Vede le prenotazioni proprie e condivise
- Firma il regolamento d'uso
- Apre ticket di supporto
- Legge gli avvisi in dashboard
Lecturer
- Vede i laboratori di cui è docente
- Gestisce i gruppi di studenti
- Prenota per sé e per i gruppi
- Imposta prenotazioni ricorrenti
- Consulta le statistiche d'uso
Administrator
- Gestisce utenti e ruoli
- Pubblica il regolamento d'uso
- Scrive gli avvisi in dashboard
- Configura dipartimenti e Moodle
- Vede tutti i dipartimenti
IT
- Crea e configura i laboratori
- Sceglie immagine e snapshot VMware
- Assegna docenti e tecnici
- Vede tutte le prenotazioni dei lab
- Risponde ai ticket di supporto
Cinque pacchetti,
un solo monorepo.
Nx 23 tiene insieme quattro applicazioni Node e Angular, il server Python che parla con VMware e due librerie condivise: i modelli di dominio, usati identici da backend, frontend e scheduler, e i modelli Sequelize. In produzione: Postgres, quattro repliche dell'API, servizio ticket e scheduler dietro nginx.
vlabooking
-be
API REST: laboratori, prenotazioni, gruppi, utenti, regolamento. Login SAML, JWT, guard per ruolo. Fa da proxy verso il servizio ticket.
vlabooking
-fe
Console PrimeNG con calendario FullCalendar, in italiano e inglese. Menu e pagine seguono i ruoli dell'utente.
vlabooking
-scheduler
Nessuna API, solo job: ogni minuto scrive i file di abilitazione, avviso e rimozione per la VDI e importa i log di accesso.
vlabooking
-support
Microservizio per i ticket, con notifiche email. Non ha un'autenticazione propria: riceve l'utente dal backend.
py-local
-server
Installato on-premise presso l'Ateneo: esegue gli script PowerShell che leggono immagini e snapshot e creano i laboratori virtuali.
Caratteristiche
tecniche.
Le scelte che contano di più stanno al confine con l'infrastruttura d'Ateneo: un contratto semplice verso la VDI, accessi che si chiudono da soli, uno schema che cambia solo con le migrazioni.
Tech
stack.
Monorepo Nx con quattro applicazioni e due librerie condivise. NestJS e Sequelize sul backend, Angular con PrimeNG sulla console, Passport per SAML e JWT.
La prenotazione apre il desktop, la fine lo richiude.
Abilitate ancora a mano
gli accessi ai laboratori?
Costruiamo sistemi di prenotazione per atenei collegati all'infrastruttura che avete già: SSO SAML, Moodle, VDI. Mandaci due righe — rispondiamo entro 48 ore.
Le immagini hanno scopo esplicativo e non rappresentano necessariamente lo stato attuale dell'applicazione.