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

@ -1,7 +1,7 @@
#!/usr/sbin/nft -f
# Géré par Ansible (rôle durcissement) — ne pas modifier à la main.
# Politique : tout est refusé en entrée sauf loopback, trafic déjà établi,
# ICMP, et les ports {{ durcissement_ports_ouverts | join(', ') }}.
# ICMP, les ports TCP {{ durcissement_ports_ouverts | join(', ') }}{% if durcissement_ports_udp_ouverts | default([]) %} et UDP {{ durcissement_ports_udp_ouverts | join(', ') }}{% endif %}.
flush ruleset
@ -17,10 +17,18 @@ table inet filter {
meta l4proto ipv6-icmp accept
tcp dport { {{ durcissement_ports_ouverts | join(', ') }} } accept
{% if durcissement_ports_udp_ouverts | default([]) %}
udp dport { {{ durcissement_ports_udp_ouverts | join(', ') }} } accept
{% endif %}
}
chain forward {
type filter hook forward priority 0; policy drop;
{% for pont in durcissement_ponts_internes | default([]) %}
# Trafic interne au réseau Docker {{ pont }} (conteneur ↔ conteneur).
iifname "{{ pont }}" oifname "{{ pont }}" accept
{% endfor %}
{% if reseau_veth_gw_subnet is defined %}
# Un seul sens autorisé : réseau externe OpenStack -> Internet (NAT),