esup-pod

Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

Le script à lancer est positionné dans django_projects/podv2/pod/video/management/commands/bbb.py et permet de gérer les enregistrements effectués par BigBlueButton.

Personnellement, mon CRON est configuré de la sorte :

Bloc de code
languagebash
titleJob CRON
crontab -e
*/5 * * * * /usr/bin/bash -c 'export WORKON_HOME=/data/www/%userpod%/.virtualenvs; export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.6; cd /data/www/%userpod%/django_projects/podv2; source /usr/bin/virtualenvwrapper.sh; workon django_pod; python manage.py bbb


Voici les explications techniques complémentaires sur ce que réalise cette tâche :

Étape 1 : récupération des sessions BBB et des utilisateurs BBB

Ce script réalise une connexion au serveur BBB / Scalelite pour obtenir des informations sur les réunions en cours et enregistre les informations dans la base de données de Pod.

Ceci est utile pour obtenir les sessions actuelles et la liste des modérateurs (cf. l'avertissement plus bas sur la correspondance des utilisateurs) de ces réunions.

Étape 2 : recherche des enregistrements dans BBB

Le script recherche ensuite les enregistrements disponibles pour les réunions sauvegardées. Par précaution, cela ne recherche que les présentations Web des réunions réalisées depuis moins de 4 jours.

L'idée des 4 jours est d'éviter de traiter les enregistrements qui ont été supprimés ou avec de mauvaises données dans la base de données.

Info
titleStatut recorded

Au final, l'API BigBlueButton présente un statut d'enregistrement (attribut recording) mais qui s'avère peu fiable. Dans l'environnement UM, il est quasiment tout le temps à vrai, alors que les sessions n'ont pas été enregistrées.


Étape 3 : recherche des correspondances entre les utilisateurs BBB et ceux de Pod

Le script tente de réaliser une correspondance entre les utilisateurs BBB  - connus par leur prénom et nom seulement - et les utilisateurs existants de pod.

À chaque utilisation de ce script, nous recherchons les correspondances pour les utilisateurs BBB qui ne sont pas encore connus en tant qu'utilisateurs de Po


Avertissement
titleLes utilisateurs dans BigBlueButton

Les informations concernant les modérateurs dans BigBlueButton dépendent du client BBB utilisé : Greenlight ou le plugin mod_bigbluebuttonbn pour Moodle.

Le système réalisé n'a été testé qu'avec le plugin mod_bigbluebuttonbn pour Moodle (CASifié, donc les données proviennent de notre annuaire LDAP); cela signifie que les modérateurs sont définis sous la forme "Prenom Nom".

(avertissement) Ce point est crucial pour que le système fonctionne correctement : une correspondance doit exister sur le "Prenom Nom" des modérateurs de BigBlueButton et le "Prenom Nom" des utilisateurs dns la base de données de Pod.

(question) A priori, cela devrait pouvoir fonctionner avec Greenlight si celui-ci est configuré pour utiliser l'annuaire LDAP de l'établissement et les champs givenName et sn.


Étape 4 : publication des vidéos

Le script vérifie ensuite l'existence de fichiers vidéos dans le répertoire - paramétré via DEFAULT_BBB_PATH. Cela signifie que ces fichiers vidéo ont été générés par bbb-recorder - configuré via DEFAULT_BBB_PLUGIN.

Si des fichiers vidéos sont trouvés, le script va lancer la tâche d'encodage correspondante pour les enregistrer en tant que vidéo Pod.


Info
titleNe pas oublier la publication par l'usager

Il faut bien comprendre que cette étape 4 vient après la publication de présentations Web BigBlueButton par l'usager, dans Pod.

Au final, en publiant une présentation Web BigBlueButton, cette présentation est convertie en fichier vidéo qui sera enregistré dans le répertoire, paramétré via DEFAULT_BBB_PATH.

L'étape 4 du script, lancé par le CRON, récupèrera alors ce fichier vidéo et la convertira en vidéo Pod, qui apparaîtra alors dans "Mes vidéos" de l'utilisateur.


Finalement, s'il y a eu au moins une erreur, un e-mail est envoyé aux administrateurs de Pod.

Exploitation