ajoute la visio de classe : Jitsi auto-hébergé, jetons du portail, prof seul modérateur

Jitsi (docker-jitsi-meet, version figée) derrière Nginx sur meet.syllabuslab.fr,
accès par jeton JWT signé par le portail, modération du micro, mains levées
synchronisées avec l'application. Pare-feu : UDP 10000 et pont interne
br-visio (accords d'Adam). Jicofo n'authentifie plus lui-même : il donnait
le rôle de propriétaire aux élèves. Capacité ramenée à 20 VM.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Adam Belkacemi 2026-10-12 12:35:35 +02:00
parent dd4f9c3c55
commit ec4eae3744
36 changed files with 1406 additions and 18 deletions

View file

@ -19,14 +19,21 @@ class Seance extends Model
public const TERMINEE = 'terminee';
protected $fillable = ['classe_id', 'lab_id', 'statut', 'prevue_a', 'demarree_a', 'terminee_a'];
protected $fillable = ['classe_id', 'lab_id', 'statut', 'prevue_a', 'demarree_a', 'terminee_a', 'visio_ouverte_a', 'visio_salle', 'visio_chat'];
protected $casts = [
'prevue_a' => 'datetime',
'demarree_a' => 'datetime',
'terminee_a' => 'datetime',
'visio_ouverte_a' => 'datetime',
'visio_chat' => 'boolean',
];
public function visioOuverte(): bool
{
return $this->visio_ouverte_a !== null && $this->visio_salle !== null;
}
public function classe(): BelongsTo
{
return $this->belongsTo(Classe::class);