La plateforme Esup-Pod se base sur le framework Django écrit en Python.
Elle est compatible avec les versions 3.8, 3.9 et 3.10 de Python.
Django Version : 3.2 LTS
La documentation complète du framework : https://docs.djangoproject.com/fr/3.2/ (ou https://docs.djangoproject.com/en/3.2/)
L’ensemble des variables de configuration du framework est accessible à cette adresse : https://docs.djangoproject.com/fr/3.2/ref/settings/
Voici les configurations des applications tierces utilisées par Esup-Pod.
CAS
valeur par défaut :
1.5.2
Système d’authentification SSO_CAS
https://github.com/kstateome/django-cas
ModelTransalation
valeur par défaut :
0.18.7
L’application modeltranslation est utilisée pour traduire le contenu dynamique des modèles Django existants
https://django-modeltranslation.readthedocs.io/en/latest/installation.html#configuration
captcha
valeur par défaut :
0.5.17
Gestion du captcha du formulaire de contact
https://django-simple-captcha.readthedocs.io/en/latest/usage.html
chunked_upload
valeur par défaut :
2.0.0
Envoi de fichier par morceaux // voir pour mettre à jour si nécessaire
https://github.com/juliomalegria/django-chunked-upload
ckeditor
valeur par défaut :
6.3.0
Application permettant d’ajouter un éditeur CKEditor dans certains champs
https://django-ckeditor.readthedocs.io/en/latest/#installation
django_select2
valeur par défaut :
latest
Recherche et completion dans les formulaires
https://django-select2.readthedocs.io/en/latest/
honeypot
valeur par défaut :
1.0.3
Utilisé pour le formulaire de contact de Pod - ajoute un champ caché pour diminuer le spam
https://github.com/jamesturk/django-honeypot/
mozilla_django_oidc
valeur par défaut :
3.0.0
Système d’authentification OpenID Connect
https://mozilla-django-oidc.readthedocs.io/en/stable/installation.html
pwa
valeur par défaut :
1.1.0
Mise en place du mode PWA grâce à l'application Django-pwa
Voici la configuration par défaut pour Pod, vous pouvez surcharger chaque variable dans votre fichier de configuration.
PWA_APP_NAME = "Pod"
PWA_APP_DESCRIPTION = _(
"Pod is aimed at users of our institutions, by allowing the publication of "
"videos in the fields of research (promotion of platforms, etc.), training "
"(tutorials, distance training, student reports, etc.), institutional life (video "
"of events), offering several days of content."
)
PWA_APP_THEME_COLOR = "#0A0302"
PWA_APP_BACKGROUND_COLOR = "#ffffff"
PWA_APP_DISPLAY = "standalone"
PWA_APP_SCOPE = "/"
PWA_APP_ORIENTATION = "any"
PWA_APP_START_URL = "/"
PWA_APP_STATUS_BAR_COLOR = "default"
PWA_APP_DIR = "ltr"
PWA_APP_LANG = "fr-FR"
Pour en savoir plus : https://github.com/silviolleite/django-pwa
rest_framework
valeur par défaut :
3.14.0
version 3.14.0: mise en place de l’API rest pour l’application
https://www.django-rest-framework.org/
shibboleth
valeur par défaut :
latest
Système d’authentification Shibboleth
https://github.com/Brown-University-Library/django-shibboleth-remoteuser
sorl.thumbnail
valeur par défaut :
12.9.0
Utilisée pour la génération de miniature des images
https://sorl-thumbnail.readthedocs.io/en/latest/reference/settings.html
tagging
valeur par défaut :
0.5.0
Gestion des mots-clés associés à une vidéo // voir pour référencer une nouvelle application
https://django-tagging.readthedocs.io/en/develop/#settings
DATABASES
valeur par défaut :
{
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
Un dictionnaire contenant les réglages de toutes les bases de données à utiliser avec Django.
C’est un dictionnaire imbriqué dont les contenus font correspondre l’alias de base de données avec un dictionnaire contenant les options de chacune des bases de données.
ref: https://docs.djangoproject.com/fr/3.2/ref/settings/#databases
valeur par défaut : une base de données au format sqlite
Voici un exemple de configuration pour utiliser une base MySQL :DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'pod', 'USER': 'pod', 'PASSWORD': 'password', 'HOST': 'mysql.univ.fr', 'PORT': '3306', 'OPTIONS': { 'init_command': "SET storage_engine=INNODB, sql_mode='STRICT_TRANS_TABLES', innodb_strict_mode=1, foreign_key_checks = 1", }, } }
CONTACT_US_EMAIL
valeur par défaut : ``
Liste des adresses destinataires des courriels de contact
CUSTOM_CONTACT_US
valeur par défaut :
False
Si 'True', les e-mails de contacts seront adressés, selon le sujet,
soit au propriétaire de la vidéo soit au(x) manager(s) des vidéos Pod.
(voirUSER_CONTACT_EMAIL_CASE
etUSE_ESTABLISHMENT_FIELD
)
DEFAULT_FROM_EMAIL
valeur par défaut :
noreply
Expediteur par défaut pour les envois de courriel (contact, encodage etc.)
EMAIL_HOST
valeur par défaut :
smtp.univ.fr
nom du serveur smtp
ref: https://docs.djangoproject.com/fr/3.2/ref/settings/#email-host
EMAIL_PORT
valeur par défaut :
25
Port d’écoute du serveur SMTP.
EMAIL_SUBJECT_PREFIX
valeur par défaut : ``
Préfixe par défaut pour l’objet des courriels.
SERVER_EMAIL
valeur par défaut :
noreply
Expediteur par défaut pour les envois automatique (erreur de code etc.)
SUBJECT_CHOICES
valeur par défaut :
()
Choix de sujet pour les courriels envoyés depuis la plateforme
SUBJECT_CHOICES = ( ('', '-----'), ('info', ('Request more information')), ('contribute', ('Learn more about how to contribute')), ('request_password', ('Password request for a video')), ('inappropriate_content', ('Report inappropriate content')), ('bug', ('Correction or bug report')), ('other', ('Other (please specify)')) )
SUPPORT_EMAIL
valeur par défaut :
None
Liste de destinataire(s) pour les demandes d’assistance, si différent de
CONTACT_US_EMAIL
i.e.:SUPPORT_EMAIL = ["[email protected]"]
USER_CONTACT_EMAIL_CASE
valeur par défaut : ``
Une liste contenant les sujets de contact dont l’utilisateur
sera seul destinataire plutôt que le(s) manager(s).
Si la liste est vide, les mails de contact seront envoyés au(x) manager(s).
Valeurs possibles :
info
,contribute
,request_password
,
inapropriate_content
,bug
, `other
USE_ESTABLISHMENT_FIELD
valeur par défaut :
False
Si valeur vaut 'True', rajoute un attribut 'establishment'
à l’utilisateur Pod, ce qui permet de gérer plus d’un établissement.
Dans ce cas, les emails de contact par exemple seront envoyés
soit à l’utilisateur soit au(x) manager(s)
de l’établissement de l’utilisateur.
(voirUSER_CONTACT_EMAIL_CASE
)
Également, les emails de fin d’encodage seront envoyés au(x) manager(s)
de l’établissement du propriétaire de la vidéo encodée,
en plus d’un email au propriétaire confirmant la fin d’encodage d’une vidéo.
FFMPEG_AUDIO_BITRATE
valeur par défaut :
192k
FFMPEG_CMD
valeur par défaut :
ffmpeg
FFMPEG_CREATE_THUMBNAIL
valeur par défaut :
-vf "fps=1/(%(duration)s/%(nb_thumbnail)s)" -vsync vfr "%(output)s_%%04d.png"
FFMPEG_CRF
valeur par défaut :
20
FFMPEG_EXTRACT_SUBTITLE
valeur par défaut :
-map 0:%(index)s -f webvtt -y "%(output)s"
FFMPEG_EXTRACT_THUMBNAIL
valeur par défaut :
-map 0:%(index)s -an -c:v copy -y "%(output)s"
FFMPEG_HLS_COMMON_PARAMS
valeur par défaut :
-c:v %(libx)s -preset %(preset)s -profile:v %(profile)s -pix_fmt yuv420p -level %(level)s -crf %(crf)s -sc_threshold 0 -force_key_frames "expr:gte(t,n_forced*1)" -c:a aac -ar 48000 -max_muxing_queue_size 4000
FFMPEG_HLS_ENCODE_PARAMS
valeur par défaut :
-vf "scale=-2:%(height)s" -maxrate %(maxrate)s -bufsize %(bufsize)s -b:a:0 %(ba)s -hls_playlist_type vod -hls_time %(hls_time)s -hls_flags single_file -master_pl_name "livestream%(height)s.m3u8" -y "%(output)s"
FFMPEG_HLS_TIME
valeur par défaut :
2
FFMPEG_INPUT
valeur par défaut :
-hide_banner -threads %(nb_threads)s -i "%(input)s"
FFMPEG_LEVEL
valeur par défaut :
3
FFMPEG_LIBX
valeur par défaut :
libx264
FFMPEG_M4A_ENCODE
valeur par défaut :
-vn -c:a aac -b:a %(audio_bitrate)s "%(output)s"
FFMPEG_MP3_ENCODE
valeur par défaut :
-vn -codec:a libmp3lame -qscale:a 2 -y "%(output)s"
FFMPEG_MP4_ENCODE
valeur par défaut :
-map 0:v:0 %(map_audio)s -c:v %(libx)s -vf "scale=-2:%(height)s" -preset %(preset)s -profile:v %(profile)s -pix_fmt yuv420p -level %(level)s -crf %(crf)s -maxrate %(maxrate)s -bufsize %(bufsize)s -sc_threshold 0 -force_key_frames "expr:gte(t,n_forced*1)" -max_muxing_queue_size 4000 -c:a aac -ar 48000 -b:a %(ba)s -movflags faststart -y -vsync 0 "%(output)s"
FFMPEG_NB_THREADS
valeur par défaut :
0
FFMPEG_NB_THUMBNAIL
valeur par défaut :
3
FFMPEG_PRESET
valeur par défaut :
slow
FFMPEG_PROFILE
valeur par défaut :
high
FFMPEG_STUDIO_COMMAND
valeur par défaut :
-hide_banner -threads %(nb_threads)s %(input)s %(subtime)s -c:a aac -ar 48000 -c:v h264 -profile:v high -pix_fmt yuv420p -crf %(crf)s -sc_threshold 0 -force_key_frames "expr:gte(t,n_forced*1)" -max_muxing_queue_size 4000 -deinterlace
FFPROBE_CMD
valeur par défaut :
ffprobe
FFPROBE_GET_INFO
valeur par défaut :
%(ffprobe)s -v quiet -show_format -show_streams %(select_streams)s -print_format json -i %(source)s
FILES_DIR
valeur par défaut :
files
Nom du répertoire racine où les fichiers "complémentaires"
(hors vidéos etc.) sont téléversés. Notament utilisé par PODFILE
À modifier principalement pour indiquer dans LOCATION votre serveur de cache si elle n’est pas sur la même machine que votre POD.
FILE_UPLOAD_TEMP_DIR
valeur par défaut :
/var/tmp
Le répertoire dans lequel stocker temporairement les données (typiquement pour les fichiers plus grands que
FILE_UPLOAD_MAX_MEMORY_SIZE
) lors des téléversements de fichiers.
ref: https://docs.djangoproject.com/fr/3.2/ref/settings/#file-upload-temp-dir
MEDIA_ROOT
valeur par défaut :
/pod/media
Chemin absolu du système de fichiers pointant vers le répertoire qui contiendra les fichiers téléversés par les utilisateurs.
Attention, ce répertoire doit exister
ref: https://docs.djangoproject.com/fr/3.2/ref/settings/#std:setting-MEDIA_ROOT
MEDIA_URL
valeur par défaut :
/media/
prefix url utilisé pour accéder aux fichiers du répertoire media
STATICFILES_STORAGE
valeur par défaut : ``
Indique à django de compresser automatiquement les fichiers css/js les plus gros lors du collectstatic pour optimiser les tailles de requetes.
À combiner avec un réglage webserver (gzip_static on;
sur nginx)
_ref: https://github.com/whs/django-static-compress
STATIC_ROOT
valeur par défaut :
/pod/static
Le chemin absolu vers le répertoire dans lequel collectstatic rassemble les fichiers statiques en vue du déploiement. Ce chemin sera précisé dans le fichier de configurtation du vhost nginx.
ref: https://docs.djangoproject.com/fr/3.2/ref/settings/#std:setting-STATIC_ROOT
STATIC_URL
valeur par défaut :
/static/
prefix url utilisé pour accèder aux fichiers static
USE_PODFILE
valeur par défaut :
False
Utiliser l’application de gestion de fichier fourni avec le projet.
Si False, chaque fichier envoyé ne pourra être utilisé qu’une seule fois.
VIDEOS_DIR
valeur par défaut :
videos
Répertoire par défaut pour le téléversement des vidéos.
Par défaut, Esup-Pod est fournie en Francais et en anglais.
Vous pouvez tout à fait rajouter des langues comme vous le souhaitez. Il faudra pour cela créer un fichier de langue et traduire chaque entrée.
LANGUAGES
valeur par défaut :
(('fr', 'Français'), ('en', 'English')))
Langue disponible et traduite
LANGUAGE_CODE
valeur par défaut :
fr
Langue par défaut si non détectée
ADMINS
valeur par défaut :
[("Name", "[email protected]"),]
Une liste de toutes les personnes qui reçoivent les notifications d’erreurs dans le code.
Lorsque DEBUG=False et qu’une vue lève une exception, Django envoie un courriel à ces personnes contenant les informations complètes de l’exception.
Chaque élément de la liste doit être un tuple au format « (nom complet, adresse électronique) ».
Exemple :[('John', '[email protected]'), ('Mary', '[email protected]')]
Dans Pod, les "admins" sont également destinataires des courriels de contact, d’encodage ou de flux RSS si la variableCONTACT_US_EMAIL
n’est pas renseignée.
ref: https://docs.djangoproject.com/fr/3.2/ref/settings/#admins
ALLOWED_HOSTS
valeur par défaut :
['localhost']
Une liste de chaînes représentant des noms de domaine/d’hôte que ce site Django peut servir.
C’est une mesure de sécurité pour empêcher les attaques d’en-tête Host HTTP, qui sont possibles même avec bien des configurations de serveur Web apparemment sécurisées.
ref: https://docs.djangoproject.com/fr/3.2/ref/settings/#allowed-hosts
BASE_DIR
valeur par défaut :
os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
répertoire de base
CACHES
valeur par défaut :
{}
CACHES = { # … default cache config and others # "default": { # "BACKEND": "django.core.cache.backends.locmem.LocMemCache", # }, "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0.0.1:6379/1", "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", }, }, # Persistent cache setup for select2 (NOT DummyCache or LocMemCache). "select2": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0.0.1:6379/2", "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", }, }, }
CSRF_COOKIE_SECURE
valeur par défaut :
not DEBUG
Ces 3 variables servent à sécuriser la plateforme en passant l’ensemble des requetes en https. Idem pour les cookies de session et de cross-sites qui seront également sécurisés
Il faut les passer à False en cas d’usage du runserver (phase de développement / debugage)
ref: https://docs.djangoproject.com/fr/3.2/ref/settings/#secure-ssl-redirect
DEBUG
valeur par défaut :
True
Une valeur booléenne qui active ou désactive le mode de débogage.
Ne déployez jamais de site en production avec le réglage DEBUG activé.
ref: https://docs.djangoproject.com/fr/3.2/ref/settings/#debug
LOGIN_URL
valeur par défaut :
/authentication_login/
url de redirection pour l’authentification de l’utilisateur
voir : https://docs.djangoproject.com/fr/3.2/ref/settings/#login-url
MANAGERS
valeur par défaut :
[]
Dans Pod, les "managers" sont destinataires des courriels de fin d’encodage (et ainsi des vidéos déposées sur la plateforme).
Le premier manager renseigné est également contact des flus RSS.
Ils sont aussi destinataires des courriels de contact si la variableCONTACT_US_EMAIL
n’est pas renseignée.
ref: https://docs.djangoproject.com/fr/3.2/ref/settings/#managers
PROXY_HOST
valeur par défaut : ``
Utilisation du proxy - host
PROXY_PORT
valeur par défaut : ``
Utilisation du proxy - port
SECRET_KEY
valeur par défaut :
A_CHANGER
La clé secrète d’une installation Django.
Elle est utilisée dans le contexte de la signature cryptographique, et doit être définie à une valeur unique et non prédictible.
Vous pouvez utiliser ce site pour en générer une : https://djecrety.ir/
ref: https://docs.djangoproject.com/fr/3.2/ref/settings/#secret-key
SECURE_SSL_REDIRECT
valeur par défaut :
not DEBUG
SESSION_COOKIE_AGE
valeur par défaut :
14400
Valeur par défaut : 14400 (secondes, soit 4 heures)
L’âge des cookies de sessions, en secondes.
SESSION_COOKIE_SAMESITE
valeur par défaut :
Lax
Cette option empêche le cookie d’être envoyé dans les requêtes inter-sites, ce qui prévient les attaques CSRF et rend impossible certaines méthodes de vol du cookie de session.
Voir https://docs.djangoproject.com/en/3.2/ref/settings/#std-setting-SESSION_COOKIE_SAMESITE
SESSION_COOKIE_SECURE
valeur par défaut :
not DEBUG
SESSION_EXPIRE_AT_BROWSER_CLOSE
valeur par défaut :
True
Indique s’il faut que la session expire lorsque l’utilisateur ferme son navigateur.
SITE_ID
valeur par défaut :
1
L’identifiant (nombre entier) du site actuel. Peut être utilisé pour mettre en place une instance multi-tenant et ainsi gérer dans une même base de données du contenu pour plusieurs sites.
ref : https://docs.djangoproject.com/fr/3.2/ref/settings/#site-id
TEST_SETTINGS
valeur par défaut :
False
Permet de vérifier si la configuration de la plateforme est en mode test.
THIRD_PARTY_APPS
valeur par défaut :
[]
Liste des applications tierces accessibles.
THIRD_PARTY_APPS = ["enrichment", "live"]
TIME_ZONE
valeur par défaut :
UTC
Une chaîne représentant le fuseau horaire pour cette installation.
ref: https://docs.djangoproject.com/fr/3.2/ref/settings/#std:setting-TIME_ZONE
Liste des adresses destinataires des courriels de contact
ACCOMMODATION_YEARS
valeur par défaut :
{}
Durée d’obsolescence personnalisée par Affiliation
ACCOMMODATION_YEARS = { 'affiliate': 1 }
ARCHIVE_OWNER_USERNAME
valeur par défaut :
"archive"
Nom de l’utilisateur pour l’archivage des vidéos.
POD_ARCHIVE_AFFILIATION
valeur par défaut :
[]
Affiliations pour lesquelles on souhaite archiver la vidéo plutôt que de la supprimer.
Si l’affiliation du propriétaire est dans cette variable, alors les vidéos sont affectées à un utilisateur précis
que l’on peut spécifier via le paramètreARCHIVE_OWNER_USERNAME
.
Elles sont mises en mode brouillon et le mot "archived" est ajouté à leur titre.
Enfin, elles sont également ajoutées à l’ensembleVidéo à Supprimer
(accessible via l’interface d’admin).POD_ARCHIVE_AFFILIATION = ['faculty', 'staff', 'employee', 'affiliate', 'alum', 'library-walk-in', 'researcher', 'retired', 'emeritus', 'teacher', 'registered-reader', 'member']
WARN_DEADLINES
valeur par défaut :
[60, 30, 7]
Liste de jours de délais avant l’obsolescence de la vidéo.
À chaque délai, le propriétaire reçoit un mail d’avertissement pour éventuellement changer la date d’obsolescence de sa vidéo.
COOKIE_LEARN_MORE
valeur par défaut : ``
Ce paramètre permet d’afficher un lien "En savoir plus"
sur la boite de dialogue d’information sur l’usage des cookies dans Pod.
On peut préciser un lien vers les mentions légales ou page DPO.
DARKMODE_ENABLED
valeur par défaut :
False
Activation du mode sombre
DYSLEXIAMODE_ENABLED
valeur par défaut :
False
Activation du mode dyslexie
HIDE_CHANNEL_TAB
valeur par défaut :
False
Si True, permet de cacher l’onglet chaine dans la barre de menu du haut.
HIDE_CURSUS
valeur par défaut :
False
Si True, permet de ne pas afficher les cursus dans la colonne de droite
HIDE_DISCIPLINES
valeur par défaut :
False
Si True, permet de ne pas afficher les disciplines dans la colonne de droite
HIDE_LANGUAGE_SELECTOR
valeur par défaut :
False
Si True, permet de cacher le sélecteur de langue dans le menu du haut.
HIDE_SHARE
valeur par défaut :
False
Si True, permet de ne pas afficher les liens de partage sur les réseaux sociaux dans la colonne de droite.
HIDE_TAGS
valeur par défaut :
False
Si True, permet de ne pas afficher le nuage de mots clés dans la colonne de droite.
HIDE_TYPES
valeur par défaut :
False
si True, permet de ne pas afficher la liste des types dans la colonne de droite
HIDE_TYPES_TAB
valeur par défaut :
False
Si True, permet de cacher l’entrée 'type' dans le menu de navigation.
HIDE_USERNAME
valeur par défaut :
False
Voir description dans authentification
Si valeur vaut 'True', le username de l’utilisateur ne sera pas visible sur la plate-forme Pod et
si la valeur vaut 'False' le username sera affiché aux utilisateurs authentifiés. (pour respecter le RGPD)
HIDE_USER_FILTER
valeur par défaut :
False
Si 'True', le filtre des vidéos par utilisateur ne sera plus visible
si 'False' le filtre sera visible qu’aux personnes authentifiées.
(pour respecter le RGPD)
HIDE_USER_TAB
valeur par défaut :
False
Si valeur vaut 'True', l’onglet Utilisateur ne sera pas visible
et si la valeur vaut 'False' l’onglet Utilisateur ne sera visible
qu’aux personnes authentifiées.
(pour respecter le RGPD)
HOMEPAGE_NB_VIDEOS
valeur par défaut :
12
Nombre de vidéos à afficher sur la page d’accueil.
HOMEPAGE_SHOWS_PASSWORDED
valeur par défaut :
False
Afficher les vidéos dont l’accès est protégé par mot de passe sur la page d’accueil.
HOMEPAGE_SHOWS_RESTRICTED
valeur par défaut :
False
Afficher les vidéos dont l’accès est protégé par authentification sur la page d’accueil.
MENUBAR_HIDE_INACTIVE_OWNERS
valeur par défaut :
True
Les utilisateurs inactifs ne sont plus affichés dans la barre de menu utilisateur.
MENUBAR_SHOW_STAFF_OWNERS_ONLY
valeur par défaut :
False
Les utilisateurs non staff ne sont plus affichés dans la barre de menu utilisateur.
SHIB_NAME
valeur par défaut :
Identify Federation
Nom de la fédération d’identité utilisée
Affiché sur le bouton de connexion si l’authentification Shibboleth est utilisée.
SHOW_EVENTS_ON_HOMEPAGE
valeur par défaut :
False
Si True, affiche les prochains évènements sur la page d’accueil.
SHOW_ONLY_PARENT_THEMES
valeur par défaut :
False
Si True, affiche uniquement les thèmes de premier niveau dans l’onglet 'Chaîne'.
TEMPLATE_VISIBLE_SETTINGS
valeur par défaut :
{}
TEMPLATE_VISIBLE_SETTINGS = { # Titre du site. 'TITLE_SITE': 'Pod', # Description du site. 'DESC_SITE': 'L’objectif d’Esup-Pod est de faciliter la mise à disposition de vidéos et ainsi d’encourager son utilisation dans l’enseignement et la recherche.', # Titre de l’établissement. 'TITLE_ETB': 'University name', # Logo affiché en haut à gauche sur toutes les pages. # Doit se situer dans le répertoire static 'LOGO_SITE': 'img/logoPod.svg', # Logo affiché dans le footer sur toutes les pages. # Doit se situer dans le répertoire static 'LOGO_ETB': 'img/esup-pod.svg', # Logo affiché sur le player video. # Doit se situer dans le répertoire static 'LOGO_PLAYER': 'img/pod_favicon.svg', # Lien de destination du logo affiché sur le player. 'LINK_PLAYER': '', # Intitulé de la page de redirection du logo affiché sur le player. 'LINK_PLAYER_NAME': _('Home'), # Texte affiché dans le footer. Une ligne par entrée, accepte du code html. # Par exemple : # ( '42, rue Paul Duez', # '59000 Lille - France', # ('<a href="https://goo.gl/maps/AZnyBK4hHaM2"' # ' target="_blank">Google maps</a>') ) 'FOOTER_TEXT': ('',), # Icone affichée dans la barre d'adresse du navigateur 'FAVICON': 'img/pod_favicon.svg', # Si souhaitée, à créer et sauvegarder # dans le répertoire static de l'application custom et # préciser le chemin d'accès. Par exemple : "custom/etab.css" 'CSS_OVERRIDE': '', # Vous pouvez créer un template dans votre application custom et # indiquer son chemin dans cette variable pour que ce code html, # ce template soit affiché en haut de votre page, le code est ajouté # juste après la balise body.(Hors iframe) # Si le fichier créé est # '/opt/django_projects/podv3/pod/custom/templates/custom/preheader.html' # alors la variable doit prendre la valeur 'custom/preheader.html' 'PRE_HEADER_TEMPLATE': '', # Idem que pre-header, le code contenu dans le template # sera affiché juste avant la fermeture du body. (Or iframe) 'POST_FOOTER_TEMPLATE': '', # vous pouvez créer un template dans votre application custom # pour y intégrer votre code Piwik ou Google analytics. # Ce template est inséré dans toutes les pages de la plateforme, # y compris en mode iframe 'TRACKING_TEMPLATE': '', }
TRANSCRIPTION_AUDIO_SPLIT_TIME
valeur par défaut :
600
Découpage de l’audio pour la transcription.
TRANSCRIPTION_MODEL_PARAM
valeur par défaut :
{}
Paramétrage des modèles pour la transcription
Voir la documentation à cette adresse : https://www.esup-portail.org/wiki/display/ES/Installation+de+l%27autotranscription+en+Pod+V3
Pour télécharger les Modeles Vosk : https://alphacephei.com/vosk/modelsTRANSCRIPTION_MODEL_PARAM = { # le modèle stt 'STT': { 'fr': { 'model': "/path/to/project/Esup-Pod/transcription/model_fr/stt/output_graph.tflite", 'scorer': "/path/to/project/Esup-Pod/transcription/model_fr/stt/kenlm.scorer", } }, # le modèle vosk 'VOSK': { 'fr': { 'model': "/path/of/project/Esup-Pod/transcription/model_fr/vosk/vosk-model-fr-0.6-linto-2.2.0", } } }
TRANSCRIPTION_NORMALIZE
valeur par défaut :
False
Activation de la normalisation de l’audio avant sa transcription.
TRANSCRIPTION_NORMALIZE_TARGET_LEVEL
valeur par défaut :
-16.0
Niveau de normalisation de l’audio avant sa transcription.
TRANSCRIPTION_STT_SENTENCE_BLANK_SPLIT_TIME
valeur par défaut :
0.5
Temps maximum en secondes des blancs entre chaque mot pour le decoupage des sous-titres avec l’outil STT.
TRANSCRIPTION_STT_SENTENCE_MAX_LENGTH
valeur par défaut :
2
Temps en secondes maximum pour une phrase lors de la transcription avec l’outil STT.
TRANSCRIPTION_TYPE
valeur par défaut :
STT
Choix de l’outil pour la transcription : STT ou VOSK.
TRANSCRIPT_VIDEO
valeur par défaut :
start_transcript
Fonction appelée pour lancer la transcription des vidéos.
USE_TRANSCRIPTION
valeur par défaut :
False
Activation de la transcription.
AFFILIATION
valeur par défaut : ``
Valeurs possibles pour l’affiliation du compte.
AFFILIATION_EVENT
valeur par défaut : ``
Groupes ou affiliations des personnes autorisées à créer un évènement.
AFFILIATION_STAFF
valeur par défaut : ``
Les personnes ayant pour affiliation les valeurs
renseignées dans cette variable ont automatiquement
la valeur staff de leur compte à True.
AUTH_CAS_USER_SEARCH
valeur par défaut :
user
Variable utilisée pour trouver les informations de l’individu
connecté dans le fichier renvoyé par le CAS lors de l’authentification.
AUTH_LDAP_BIND_DN
valeur par défaut : ``
Identifiant (DN) du compte pour se connecter au serveur LDAP.
AUTH_LDAP_BIND_PASSWORD
valeur par défaut : ``
Mot de passe du compte pour se connecter au serveur LDAP.
AUTH_LDAP_USER_SEARCH
valeur par défaut : ``
Filtre LDAP permettant la recherche de l’individu dans le serveur LDAP.
AUTH_TYPE
valeur par défaut : ``
Type d’authentification possible sur votre instance.
Choix : local, CAS, OIDC, Shibboleth
CAS_ADMIN_AUTH
valeur par défaut :
False
Permet d’activer l’authentification CAS pour la partie admin
Voir : https://pypi.org/project/django-cas-sso/
CAS_FORCE_LOWERCASE_USERNAME
valeur par défaut :
False
Forcer le passage en minuscule du nom d’utilisateur CAS
(permet de prévenir des doubles créations de comptes dans certain cas).
CAS_GATEWAY
valeur par défaut :
False
Si True, authentifie automatiquement l’individu
si déjà authentifié sur le serveur CAS
CAS_LOGOUT_COMPLETELY
valeur par défaut :
True
CAS_SERVER_URL
valeur par défaut :
sso_cas
Url du serveur CAS de l’établissement. Format http://url_cas
CREATE_GROUP_FROM_AFFILIATION
valeur par défaut :
False
Si True, des groupes sont créés automatiquement
à partir des affiliations des individus qui se connectent sur la plateforme
et l’individu qui se connecte est ajouté automatiquement à ces groupes.
CREATE_GROUP_FROM_GROUPS
valeur par défaut :
False
Si True, des groupes sont créés automatiquement
à partir des groupes (attribut groups à memberOf)
des individus qui se connectent sur la plateforme
et l’individu qui se connecte est ajouté automatiquement à ces groupes
DEFAULT_AFFILIATION
valeur par défaut : ``
Affiliation par défaut d’un utilisateur authentifié par OIDC.
Ce contenu sera comparé à la liste AFFILIATION_STAFF pour déterminer si l’utilisateur doit être admin Django
ESTABLISHMENTS
valeur par défaut : ``
[TODO] À compléter
GROUP_STAFF
valeur par défaut :
AFFILIATION_STAFF
utilisé dans populatedCasbackend
HIDE_LOCAL_LOGIN
valeur par défaut :
False
Si True, masque l’authentification locale
HIDE_USERNAME
valeur par défaut :
False
Si valeur vaut
True
, le username de l’utilisateur ne sera pas visible sur la plate-forme Pod et si la valeur vautFalse
le username sera affiché aux utilisateurs authentifiés. (pour respecter le RGPD)
LDAP
valeur par défaut : ``
- LDAP (Interroge le serveur LDAP pour renseigner les champs)
LDAP_SERVER
valeur par défaut : ``
Information de connection au serveur LDAP.
Le champ url peut contenir une ou plusieurs url
pour ajouter des hôtes de référence, exemple :
Si un seul host :
{'url': "ldap.univ.fr'', 'port': 389, 'use_ssl': False}
Si plusieurs :
{'url': ("ldap.univ.fr'',"ldap2.univ.fr"), 'port': 389, 'use_ssl': False}
OIDC_CLAIM_FAMILY_NAME
valeur par défaut :
family_name
OIDC_CLAIM_GIVEN_NAME
valeur par défaut :
given_name
Noms des Claim permettant de récupérer les attributs nom, prénom, email
OIDC_DEFAULT_ACCESS_GROUP_CODE_NAMES
valeur par défaut :
[]
Groupes d’accès attribués par défaut à un nouvel utilisateur authentifié par OIDC
OIDC_DEFAULT_AFFILIATION
valeur par défaut : ``
Affiliation par défaut d’un utilisateur authentifié par OIDC.
Ce contenu sera comparé à la liste AFFILIATION_STAFF pour déterminer si l’utilisateur doit être admin Django
OIDC_NAME
valeur par défaut : ``
Nom du Service Provider OIDC
OIDC_OP_AUTHORIZATION_ENDPOINT
valeur par défaut :
https
OIDC_OP_JWKS_ENDPOINT
valeur par défaut :
https
Différents paramètres pour OIDC
tant quemozilla_django_oidc
n’accepte pas le mécanisme de discovery
ref: https://github.com/mozilla/mozilla-django-oidc/pull/309
OIDC_OP_TOKEN_ENDPOINT
valeur par défaut :
https
OIDC_OP_USER_ENDPOINT
valeur par défaut :
https
OIDC_RP_CLIENT_ID
valeur par défaut :
os.environ
OIDC_RP_CLIENT_SECRET
valeur par défaut :
os.environ
CLIENT_ID
etCLIENT_SECRET
de OIDC sont plutôt à positionner à travers des variables d’environnement.
OIDC_RP_SIGN_ALGO
valeur par défaut : ``
POPULATE_USER
valeur par défaut :
None
Si utilisation de la connection CAS, renseigne les champs du compte
de la personne depuis une source externe.
Valeurs possibles :
- None (pas de renseignement),
- CAS (renseigne les champs depuis les informations renvoyées par le CAS),
REMOTE_USER_HEADER
valeur par défaut :
REMOTE_USER
Nom de l’attribut dans les headers qui sert à identifier
l’utilisateur connecté avec Shibboleth.
SHIBBOLETH_ATTRIBUTE_MAP
valeur par défaut : ``
Mapping des attributs entre Shibboleth et la classe utilisateur
SHIBBOLETH_STAFF_ALLOWED_DOMAINS
valeur par défaut : ``
Permettre à l’utilisateur d’un domaine d’être membre du personnel.
Si vide, tous les domaines seront autorisés.
SHIB_LOGOUT_URL
valeur par défaut : ``
URL de déconnexion à votre instance Shibboleth
SHIB_NAME
valeur par défaut : ``
Nom de la fédération d’identité utilisée.
SHIB_URL
valeur par défaut : ``
URL de connexion à votre instance Shibboleth.
USER_CAS_MAPPING_ATTRIBUTES
valeur par défaut : ``
Liste de correspondance entre les champs d’un compte de Pod
et les champs renvoyés par le CAS.
USER_LDAP_MAPPING_ATTRIBUTES
valeur par défaut : ``
Liste de correspondance entre les champs d’un compte de Pod
et les champs renvoyés par le LDAP.
USE_CAS
valeur par défaut :
False
Activation de l’authentification CAS en plus de l’authentification locale.
USE_OIDC
valeur par défaut :
False
Mettre à True pour utiliser l’authentification OpenID Connect.
USE_SHIB
valeur par défaut :
False
Mettre à True pour utiliser l’authentification Shibboleth.
ACTIVE_MODEL_ENRICH
valeur par défaut :
False
Définissez à True pour activer la case à cocher dans l’édition des sous-titres.
ALL_LANG_CHOICES
valeur par défaut : ``
liste toutes les langues pour l’ajout de fichier de sous-titre
voir le fichierpod/main/lang_settings.py
.
DEFAULT_LANG_TRACK
valeur par défaut :
fr
langue par défaut pour l’ajout de piste à une vidéo.
KIND_CHOICES
valeur par défaut : ``
Liste de types de piste possibles pour une vidéo (sous-titre, légende etc.)
LANG_CHOICES
valeur par défaut : ``
Liste des langues proposées lors de l’ajout des vidéos.
Affichés en dessous d’une vidéo, les choix sont aussi utilisés pour affiner la recherche.
LINK_SUPERPOSITION
valeur par défaut :
False
Si valeur vaut 'True', les URLs contenues dans le texte de superposition seront transformées, à la lecture de la vidéo, en liens cliquables.
MODEL_COMPILE_DIR
valeur par défaut :
/path/of/project/Esup-Pod/compile-model
Paramétrage des chemins du modèle pour la compilation
Pour télécharger les modèles : https://alphacephei.com/vosk/lm#update-process
Ajouter le modèle dans les sous-dossier de la langue correspondante
Exemple pour le français :/path/of/project/Esup-Pod/compile-model/fr/
PREF_LANG_CHOICES
valeur par défaut : ``
liste des langues à afficher en premier dans la liste des toutes les langues
voir le fichierpod/main/lang_settings.py
ROLE_CHOICES
valeur par défaut : ``
Liste de rôles possibles pour un contributeur.
TRANSCRIPTION_MODEL_PARAM
valeur par défaut : ``
Paramétrage des modèles pour la transcription
Voir la documentation à cette adresse :
https://www.esup-portail.org/wiki/display/ES/Installation+de+l%27autotranscription+en+Pod+V3
Pour télécharger les modèles Vosk : https://alphacephei.com/vosk/modelsTRANSCRIPTION_MODEL_PARAM = { # le modèle stt 'STT': { 'fr': { 'model': "/path/to/project/Esup-Pod/transcription/model_fr/stt/output_graph.tflite", 'scorer': "/path/to/project/Esup-Pod/transcription/model_fr/stt/kenlm.scorer", } }, # le modèle vosk 'VOSK': { 'fr': { 'model': "/path/of/project/Esup-Pod/transcription/model_fr/vosk/vosk-model-fr-0.6-linto-2.2.0", } } }
TRANSCRIPTION_TYPE
valeur par défaut :
STT
STT ou VOSK
USE_ENRICH_READY
valeur par défaut :
False
voir
ACTIVE_MODEL_ENRICH
Application Import_video permettant d'importer des vidéos externes dans Pod.
Mettre USE_IMPORT_VIDEO
à True pour activer cette application.
MAX_UPLOAD_SIZE_ON_IMPORT
valeur par défaut :
4
Taille maximum en Go des fichiers vidéos qui peuvent être importés sur la plateforme
via l'application import_video (0 = pas de taille maximum).
RESTRICT_EDIT_IMPORT_VIDEO_ACCESS_TO_STAFF_ONLY
valeur par défaut :
True
Seuls les utilisateurs "staff" pourront importer des vidéos
USE_IMPORT_VIDEO
valeur par défaut :
True
Activation de l’application d'import des vidéos
AFFILIATION_EVENT
valeur par défaut :
['faculty', 'employee', 'staff']
Groupes ou affiliations des personnes autorisées à créer un évènement.
BROADCASTER_PILOTING_SOFTWARE
valeur par défaut :
[]
Types de logiciel de serveur de streaming utilisés.
Actuellement disponible Wowza et SMP. Il faut préciser cette valeur pour l’activer['Wowza', 'SMP']
Si vous utilisez une autre logiciel,
il faut développer une interface danspod/live/pilotingInterface.py
DEFAULT_EVENT_PATH
valeur par défaut : ``
Chemin racine du répertoire où sont déposés temporairement les enregistrements des évènements éffectués depuis POD pour convertion en ressource vidéo (VOD)
DEFAULT_EVENT_THUMBNAIL
valeur par défaut :
/img/default-event.svg
Image par défaut affichée comme poster ou vignette, utilisée pour présenter l’évènement.
Cette image doit se situer dans le répertoirestatic
.
DEFAULT_EVENT_TYPE_ID
valeur par défaut :
1
Type par défaut affecté à un évènement direct (en général, le type ayant pour identifiant '1' est 'Other')
DEFAULT_THUMBNAIL
valeur par défaut :
img/default.svg
Image par défaut affichée comme poster ou vignette, utilisée pour présenter la vidéo.
Cette image doit se situer dans le répertoire static.
EMAIL_ON_EVENT_SCHEDULING
valeur par défaut :
True
Si True, un courriel est envoyé aux managers et à l’auteur (si DEBUG est à False) à la création/modification d’un event.
EVENT_ACTIVE_AUTO_START
valeur par défaut :
False
Permet de lancer automatiquement l’enregistrement sur l’interface utilisée (wowza, ) sur le broadcaster et spécifié par
BROADCASTER_PILOTING_SOFTWARE
EVENT_CHECK_MAX_ATTEMPT
valeur par défaut :
10
Nombre de tentatives maximum pour vérifier la présence / taille d'un fichier sur le filesystem
EVENT_GROUP_ADMIN
valeur par défaut :
event admin
Permet de préciser le nom du groupe dans lequel les utilisateurs peuvent planifier un évènement sur plusieurs jours.
HEARTBEAT_DELAY
valeur par défaut :
45
Temps (en secondes) entre deux envois d’un signal au serveur, pour signaler la présence sur un live.
Peut être augmenté en cas de perte de performance, mais au détriment de la qualité du comptage des valeurs.
LIVE_CELERY_TRANSCRIPTION
valeur par défaut :
False
Activer la transcription déportée sur une machine distante.
LIVE_TRANSCRIPTIONS_FOLDER
valeur par défaut : ``
Dossier contenat les fichiers de sous-titre au format vtt pour les directs
LIVE_VOSK_MODEL
valeur par défaut :
{}
Paramétrage des modèles pour la transcription des directs
La documentation sera présente prochaînement
Pour télécharger les Modèles Vosk : https://alphacephei.com/vosk/modelsLIVE_VOSK_MODEL = { 'fr': { 'model': "/path/of/project/django_projects/transcription/live/fr/vosk-model-small-fr-0.22", } }
USE_BBB
valeur par défaut :
True
Utilisation de BigBlueButton - [TODO] À retirer dans les futures versions de Pod
USE_BBB_LIVE
valeur par défaut :
False
Utilisation du système de diffusion de Webinaires en lien avec BigBlueButton - [TODO] À retirer dans les futures versions de Pod
USE_LIVE_TRANSCRIPTION
valeur par défaut :
False
Activer l'auto-transcription pour les directs
VIEW_EXPIRATION_DELAY
valeur par défaut :
60
Délai (en seconde) selon lequel une vue est considérée comme expirée si elle n’a pas renvoyé de signal depuis.
LTI_ENABLED
valeur par défaut :
False
Configuration / Activation du LTI voir pod/main/settings.py L.224
PYLTI_CONFIG
valeur par défaut :
{}
Cette variable permet de configurer l’application cliente et le secret partagé
PYLTI_CONFIG = { 'consumers': { '<random number string>': { 'secret': '<random number string>' } } }
HOMEPAGE_VIEW_VIDEOS_FROM_NON_VISIBLE_CHANNELS
valeur par défaut :
False
Affiche les vidéos de chaines non visibles sur la page d'accueil
USE_BBB
valeur par défaut :
True
Utilisation de BigBlueButton - [TODO] À retirer dans les futures versions de Pod
USE_BBB_LIVE
valeur par défaut :
False
Utilisation du système de diffusion de Webinaires en lien avec BigBlueButton - [TODO] À retirer dans les futures versions de Pod
USE_IMPORT_VIDEO
valeur par défaut :
True
Activation de l’application d'import des vidéos
USE_MEETING
valeur par défaut :
False
Activation de l’application meeting
USE_OPENCAST_STUDIO
valeur par défaut :
False
Activation du studio https://opencast.org/
VERSION
valeur par défaut : ``
Version courante du projet
Application Meeting pour la gestion de reunion avec BBB.
Mettre USE_MEETING
à True pour activer cette application.
BBB_API_URL
et BBB_SECRET_KEY
sont obligatoires pour faire fonctionner l’application
BBB_API_URL
valeur par défaut : ``
Indiquer l’URL API de BBB par ex `https://webconf.univ.fr/bigbluebutton/api
BBB_LOGOUT_URL
valeur par défaut : ``
Indiquer l’URL de retour au moment où vous quittez la réunion BBB. Ce champ est optionnel.
BBB_MEETING_INFO
valeur par défaut :
{}
Dictionnaire de clé:valeur permettant d’afficher les informations d’une session de réunion dans BBB
Voici la liste par défautBBB_MEETING_INFO: { "meetingName": _("Meeting name"), "hasUserJoined": _("Has user joined?"), "recording": _("Recording"), "participantCount": _("Participant count"), "listenerCount": _("Listener count"), "moderatorCount": _("Moderator count"), "attendees": _("Attendees"), "attendee": _("Attendee"), "fullName": _("Full name"), "role": _("Role"), }
BBB_SECRET_KEY
valeur par défaut : ``
Clé de votre serveur BBB.
Vous pouvez récupérer cette clé à l’aide de la commandebbb-conf --secret
sur le serveur BBB.
DEFAULT_MEETING_THUMBNAIL
valeur par défaut :
/img/default-meeting.svg
Image par défaut affichée comme poster ou vignette, utilisée pour présenter la réunion.
Cette image doit se situer dans le répertoirestatic
.
MEETING_DATE_FIELDS
valeur par défaut :
()
liste des champs du formulaire de creation d’une reunion
les champs sont regroupés dans un ensemble de champsMEETING_DATE_FIELDS: ( "start", "start_time", "expected_duration", )
MEETING_DISABLE_RECORD
valeur par défaut :
True
Mettre à True pour désactiver les enregistrements de réunion
Configuration de l’enregistrement des réunions.
Ce champ n’est pas pris en compte siMEETING_DISABLE_RECORD = True
.
MEETING_MAIN_FIELDS
valeur par défaut :
()
Permet de définir les champs principaux du formulaire de création d’une réunion
les champs principaux sont affichés directement dans la page de formulaire d’une réunionMEETING_MAIN_FIELDS: ( "name", "owner", "additional_owners", "attendee_password", "is_restricted", "restrict_access_to_groups", )
MEETING_MAX_DURATION
valeur par défaut :
5
permet de définir la durée maximum pour une reunion
(en heure)
MEETING_PRE_UPLOAD_SLIDES
valeur par défaut : ``
Diaporama préchargé pour les réunions virtuelles.
Un utilisateur peut remplacer cette valeur en choisissant un diaporama lors de la création d'une réunion virtuelle.
Doit se trouver dans le répertoire statique.
MEETING_RECORD_FIELDS
valeur par défaut :
()
ensemble des champs qui seront cachés si
MEETING_DISABLE_RECORD
est défini à true.MEETING_RECORD_FIELDS: ("record", "auto_start_recording", "allow_start_stop_recording")
MEETING_RECURRING_FIELDS
valeur par défaut :
()
Liste de tous les champs permettant de définir la récurrence d’une reunion
tous ces champs sont regroupés dans un ensemble de champs affichés dans une modaleMEETING_RECURRING_FIELDS: ( "recurrence", "frequency", "recurring_until", "nb_occurrences", "weekdays", "monthly_type", )
RESTRICT_EDIT_MEETING_ACCESS_TO_STAFF_ONLY
valeur par défaut :
False
Seuls les utilisateurs "staff" pourront éditer les réunions
USE_MEETING
valeur par défaut :
False
Activer l’application meeting
Application Playlist pour la gestion des playlists.
Mettre USE_PLAYLIST
à True pour activer cette application.
COUNTDOWN_PLAYLIST_PLAYER
valeur par défaut :
0
Compte à rebours utilisé entre chaque vidéo lors de la lecture d'une playlist en lecture automatique.
Le compte à rebours n'est pas présent s'il est à 0.
DEFAULT_PLAYLIST_THUMBNAIL
valeur par défaut :
/static/playlist/img/default-playlist.svg
Image par défaut affichée comme poster ou vignette, utilisée pour présenter la playlist.
Cette image doit se situer dans le répertoirestatic
.
USE_FAVORITES
valeur par défaut :
True
Activation des vidéos favorites. Permet aux utilisateurs d'ajouter des vidéos dans leurs favoris.
USE_PLAYLIST
valeur par défaut :
True
Activation des playlist. Permet aux utilisateurs d'ajouter des vidéos dans une playlist.
FILES_DIR
valeur par défaut :
files
Nom du répertoire racine où les fichiers "complémentaires"
(hors vidéos etc.) sont téléversés. Notament utilisé par PODFILE
À modifier principalement pour indiquer dans LOCATION votre serveur de cache si elle n’est pas sur la même machine que votre POD.
FILE_ALLOWED_EXTENSIONS
valeur par défaut :
('doc', 'docx', 'odt', 'pdf', 'xls', 'xlsx', 'ods', 'ppt', 'pptx', 'txt', 'html', 'htm', 'vtt', 'srt')
Extensions autorisées pour les documents téléversés dans le gestionnaire de fichier (en minuscules).
FILE_MAX_UPLOAD_SIZE
valeur par défaut :
10
Poids maximum en Mo par fichier téléversé dans le gestionnaire de fichier
IMAGE_ALLOWED_EXTENSIONS
valeur par défaut :
('jpg', 'jpeg', 'bmp', 'png', 'gif', 'tiff', 'webp')
Extensions autorisées pour les images téléversées dans le gestionnaire de fichier. (en minuscules)
USE_NOTIFICATIONS
valeur par défaut :
True
Activation des notifications, attention, elles sont actives par défaut.
WEBPUSH_SETTINGS
valeur par défaut :
{
'VAPID_PUBLIC_KEY': '',
'VAPID_PRIVATE_KEY': '',
'VAPID_ADMIN_EMAIL': '[email protected]'
}
Les clés VAPID sont nécessaires à la lib django-webpush. Elles peuvent être générées avec https://web-push-codelab.glitch.me/
ALLOW_MANUAL_RECORDING_CLAIMING
valeur par défaut :
False
si True, active un lien dans le menu de l’utilisateur permettant de réclamer un enregistrement
ALLOW_RECORDER_MANAGER_CHOICE_VID_OWNER
valeur par défaut :
True
Si True, le manager de l’enregistreur pourra choisir un propriétaire de l’enregistrement.
DEFAULT_RECORDER_ID
valeur par défaut :
1
Ajoute un enregistreur par défaut à un enregistrement non identifiable (mauvais chemin dans le dépôt FTP)
DEFAULT_RECORDER_PATH
valeur par défaut :
/data/ftp-pod/ftp/
Chemin racine du répertoire où sont déposés les enregistrements
(chemin du serveur FTP).
DEFAULT_RECORDER_TYPE_ID
valeur par défaut :
1
Identifiant du type de vidéo par défaut (si non spécifié).
(Exemple : 3 pour Colloque/conférence, 4 pour Cours...)
DEFAULT_RECORDER_USER_ID
valeur par défaut :
1
Identifiant du propriétaire par défaut (si non spécifié) des enregistrements déposés.
OPENCAST_DEFAULT_PRESENTER
valeur par défaut :
mid
Permet de spécifier la valeur par défaut du placement de la vidéo du
presenteur par rapport à la vidéo de présentation (écran)
les valeurs possibles sont :
- "mid" (écran et caméra ont la même taille)
- "piph" (le presenteur, caméra, est incrusté dans la vidéo de présentation, en haut à droite)
- "pipb" (le presenteur, caméra, est incrusté dans la vidéo de présentation, en bas à droite)
Contenu par défaut du fichier xml pour créer le mediapackage pour le studio.
Ce fichier va contenir toutes les spécificités de l’enregistrement
(source, cutting, title, presenter etc.)
OPENCAST_FILES_DIR
valeur par défaut :
opencast-files
Permet de spécifier le dossier de stockage des enregistrements du studio avant traitement.
OPENCAST_MEDIAPACKAGE
valeur par défaut :
-> see xml content
Contenu par défaut du fichier xml pour créer le mediapackage pour le studio. Ce fichier va contenir toutes les spécificités de l’enregistrement (source, cutting, title, presenter etc.)
OPENCAST_MEDIAPACKAGE = """<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <mediapackage xmlns="http://mediapackage.opencastproject.org" id="" start=""> <media/> <metadata/> <attachments/> <publications/> </mediapackage>"""
PUBLIC_RECORD_DIR
valeur par défaut :
records
Chemin d’accès web (public) au répertoire de dépot des enregistrements (
DEFAULT_RECORDER_PATH
).
Attention : penser à modifier la conf de NGINX.
RECORDER_ADDITIONAL_FIELDS
valeur par défaut :
()
Liste des champs supplémentaires pour le formulaire des enregistreurs. Cette liste reprend le nom des champs correspondants aux paramètres d’édition d’une vidéo (Discipline, Chaine, Theme, mots clés...).
L’exemple suivant comporte l’ensemble des champs possibles, mais peut être allégée en fonction des besoins.
Les vidéos seront alors générées avec les valeurs des champs supplémentaires telles que définies dans leur enregistreur.
RECORDER_ALLOW_INSECURE_REQUESTS
valeur par défaut :
False
Autorise la requête sur l’application en elle-même sans vérifier le certificat SSL
RECORDER_BASE_URL
valeur par défaut :
https://pod.univ.fr
url racine de l’instance permettant l’envoi de notification lors de la réception d’enregistrement.
RECORDER_SELF_REQUESTS_PROXIES
valeur par défaut :
{"http": None, "https": None}
Précise les proxy à utiliser pour une requête vers l’application elle même dans le cadre d’enregistrement par défaut force la non utilisation de proxy.
RECORDER_SKIP_FIRST_IMAGE
valeur par défaut :
False
Si True, permet de ne pas prendre en compte la 1ère image lors du traitement d’un fichier d’enregistrement de type AudioVideoCast.
RECORDER_TYPE
valeur par défaut :
(('video', _('Video')), ('audiovideocast', _('Audiovideocast')), ('studio', _('Studio')))
Type d’enregistrement géré par la plateforme.
Un enregistreur ne peut déposer que des fichiers de type proposé par la plateforme.
Le traitement se fait en fonction du type de fichier déposé.
USE_OPENCAST_STUDIO
valeur par défaut :
False
Activer l’utilisation du studio Opencast.
USE_RECORD_PREVIEW
valeur par défaut :
False
Si True, affiche l’icone de prévisualisation des vidéos dans la page "Revendiquer un enregistrement".
ACTIVE_VIDEO_COMMENT
valeur par défaut :
False
Activer les commentaires au niveau de la plateforme
CACHE_VIDEO_DEFAULT_TIMEOUT
valeur par défaut :
600
Temps en seconde de conservation des données de l'application video
CHANNEL_FORM_FIELDS_HELP_TEXT
valeur par défaut : ``
Ensemble des textes d’aide affichés avec le formulaire d’édition de chaine.
voir pod/video/forms.py
CHUNK_SIZE
valeur par défaut :
1000000
Taille d’un fragment lors de l’envoi d’une vidéo
le fichier sera mis en ligne par fragment de cette taille.
CURSUS_CODES
valeur par défaut :
()
Liste des cursus proposés lors de l’ajout des vidéos.
Affichés en dessous d’une vidéos, ils sont aussi utilisés pour affiner la recherche.CURSUS_CODES = ( ('0', _("None / All")), ('L', _("Bachelor’s Degree")), ('M', _("Master’s Degree")), ('D', _("Doctorate")), ('1', _("Other")) )
DEFAULT_DC_COVERAGE
valeur par défaut :
TITLE_ETB + " - Town - Country"
couverture du droit pour chaque vidéo
DEFAULT_DC_RIGHTS
valeur par défaut :
BY-NC-SA
droit par défaut affichés dans le flux RSS si non renseigné
DEFAULT_THUMBNAIL
valeur par défaut :
img/default.svg
Image par défaut affichée comme poster ou vignette, utilisée pour présenter la vidéo.
Cette image doit se situer dans le répertoire static.
DEFAULT_TYPE_ID
valeur par défaut :
1
Les vidéos créées sans type (par importation par exemple) seront affectées au type par défaut (en général, le type ayant pour identifiant '1' est 'Other')
DEFAULT_YEAR_DATE_DELETE
valeur par défaut :
2
Durée d’obsolescence par défaut (en années après la date d’ajout).
FORCE_LOWERCASE_TAGS
valeur par défaut :
True
Les mots clés saisis lors de l’ajout de vidéo sont convertis automatiquement en minuscule.
LANG_CHOICES
valeur par défaut : ``
Liste des langues proposées lors de l’ajout des vidéos.
Affichés en dessous d’une vidéos, les choix sont aussi utilisés pour affiner la recherche.
LICENCE_CHOICES
valeur par défaut :
()
Licence proposées pour les vidéos en creative commons :
LICENCE_CHOICES = ( ('by', ("Attribution 4.0 International (CC BY 4.0)")), ('by-nd', ("Attribution-NoDerivatives 4.0 " "International (CC BY-ND 4.0)")), ('by-nc-nd', ("Attribution-NonCommercial-NoDerivatives 4.0 " "International (CC BY-NC-ND 4.0)")), ('by-nc', ("Attribution-NonCommercial 4.0 " "International (CC BY-NC 4.0)")), ('by-nc-sa', ("Attribution-NonCommercial-ShareAlike 4.0 " "International (CC BY-NC-SA 4.0)")), ('by-sa', ("Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)")) )
MAX_DURATION_DATE_DELETE
valeur par défaut :
10
Fixe une durée maximale que la date de suppression d’une vidéo ne peut dépasser.
Par défaut : 10 (Année courante + 10 ans).
MAX_TAG_LENGTH
valeur par défaut :
50
Les mots clés saisis lors de l’ajout de vidéo ne peuvent dépasser cette longueur.
NOTES_STATUS
valeur par défaut :
()
Valeurs possible pour l’accès à une note.
NOTES_STATUS = ( ("0", _("Private (me only)")), ("1", _("Shared with video owner")), ("2", _("Public")), )
OEMBED
valeur par défaut :
False
Permettre l’usage du oembed, partage dans Moodle, Facebook, Twitter etc.
ORGANIZE_BY_THEME
valeur par défaut :
False
Affichage uniquement des vidéos de la chaîne ou du thème actuel(le).
Affichage des sous-thèmes directs de la chaîne ou du thème actuel(le)
RESTRICT_EDIT_VIDEO_ACCESS_TO_STAFF_ONLY
valeur par défaut :
False
Si True, seule les personnes "Staff" peuvent déposer des vidéos
THEME_FORM_FIELDS_HELP_TEXT
valeur par défaut :
""
Ensemble des textes d’aide affichés avec le formulaire d’édition de theme.
voir pod/video/forms.pyTHEME_FORM_FIELDS_HELP_TEXT = OrderedDict( [ ( "{0}".format(_("Title field")), [ _( "Please choose a title as short and accurate as possible, " "reflecting the main subject / context of the content." ), _( "You can use the “Description” field below for all " "additional information." ), ], ), ( "{0}".format(_("Description")), [ _( "In this field you can describe your content, add all needed " "related information, and format the result " "using the toolbar." ) ], ), ] )
USER_VIDEO_CATEGORY
valeur par défaut :
False
Permet d’activer le fonctionnement de categorie au niveau de ses vidéos.
Vous pouvez créer des catégories pour pouvoir ranger vos propres vidéos.
Les catégories sont liées à l’utilisateur.
USE_OBSOLESCENCE
valeur par défaut :
False
Activation de l’obsolescence des video. Permet d’afficher la date de suppression de la video
dans le formulaire d’edition et dans la partie admin.
USE_STATS_VIEW
valeur par défaut :
False
Permet d’activer la possibilité de voir en details le nombre de visualisation d’une vidéo durant un jour donné ou mois,
année ou encore le nombre de vue total depuis la création de la vidéo.
Un lien est rajouté dans la partie info lors de la lecture d’une vidéo, un lien est rajouté dans la page de visualisation d’une chaîne ou un theme
ou encore toutes les vidéos présentes sur la plateforme.
USE_VIDEO_EVENT_TRACKING
valeur par défaut :
False
Ce paramètre permet d’activer l’envoi d’évènements sur le lecteur vidéo à Matomo.
N’est utile que si le code piwik / matomo est présent dans l’instance de Esup-Pod.
Les évènements envoyés sont :
play, pause, seeked, ended, ratechange, fullscreen, error, loadmetadata
Pour rajouter le code Piwik/Matomo dans votre instance de Pod, il suffit de créer un fichierpod/custom/templates/custom/tracking.html
Il faut ensuite y insérer le code javascript puis dans votre fichiersettings_local.py
,
de préciser dans la variableTEMPLATE_VISIBLE_SETTINGS
:'TRACKING_TEMPLATE': 'custom/tracking.html'
USE_XAPI_VIDEO
valeur par défaut :
False
Active l‘envoi d’instructions xAPI pour le lecteur vidéo.
Attention, il faut mettre USE_XAPI à True pour que les instructions soient envoyées.
VIDEO_ALLOWED_EXTENSIONS
valeur par défaut :
()
Extensions autorisées pour le téléversement vidéo sur la plateforme (en minuscules).
VIDEO_ALLOWED_EXTENSIONS = ( "3gp", "avi", "divx", "flv", "m2p", "m4v", "mkv", "mov", "mp4", "mpeg", "mpg", "mts", "wmv", "mp3", "ogg", "wav", "wma", "webm", "ts", )
VIDEO_FEED_NB_ITEMS
valeur par défaut :
100
nombre d'item renvoyé par le flux rss
VIDEO_FORM_FIELDS
valeur par défaut :
__all__
Liste des champs du formulaire d’édition de vidéos affichées.
VIDEO_FORM_FIELDS_HELP_TEXT
valeur par défaut : ``
Ensemble des textes d’aide affichés avec le formulaire d’envoi de vidéo.
VIDEO_FORM_FIELDS_HELP_TEXT = OrderedDict( [ ( "{0}".format(_("File field")), [ _("You can send an audio or video file."), _("The following formats are supported: %s") % ", ".join(map(str, VIDEO_ALLOWED_EXTENSIONS)), ], ), ( "{0}".format(_("Title field")), [ _( "Please choose a title as short and accurate as possible, " "reflecting the main subject / context of the content." ), _( "You can use the “Description” field below for all " "additional information." ), _( "You may add contributors later using the second button of " "the content edition toolbar: they will appear in the “Info” " "tab at the bottom of the audio / video player." ), ], ), ( "{0}".format(_("Type")), [ _( "Select the type of your content. If the type you wish does " "not appear in the list, please temporary select “Other” " "and contact us to explain your needs." ) ], ), ( "{0}".format(_("Additional owners")), [ _( "In this field you can select and add additional owners to the " "video. These additional owners will have the same rights as " "you except that they can't delete this video." ) ], ), ( "{0}".format(_("Description")), [ _( "In this field you can describe your content, add all needed " "related information, and format the result " "using the toolbar." ) ], ), ( "{0}".format(_("Date of the event field")), [ _( "Enter the date of the event, if applicable, in the " "AAAA-MM-JJ format." ) ], ), ( "{0}".format(_("University course")), [ _( "Select an university course as audience target of " "the content." ), _( "Choose “None / All” if it does not apply or if all are " "concerned, or “Other” for an audience outside " "the european LMD scheme." ), ], ), ( "{0}".format(_("Main language")), [_("Select the main language used in the content.")], ), ( "{0}".format(_("Tags")), [ _( "Please try to add only relevant keywords that can be " "useful to other users." ) ], ), ( "{0}".format(_("Disciplines")), [ _( "Select the discipline to which your content belongs. " "If the discipline you wish does not appear in the list, " "please select nothing and contact us to explain your needs." ), _( 'Hold down "Control", or "Command" on a Mac, ' "to select more than one." ), ], ), ( "{0}".format(_("Licence")), [ ( '<a href="https://creativecommons.org/licenses/by/4.0/" ' 'title="%(lic)s" target="_blank">%(lic)s</a>' ) % {"lic": _("Attribution 4.0 International (CC BY 4.0)")}, ( '<a href="https://creativecommons.org/licenses/by-nd/4.0/" ' 'title="%(lic)s" target="_blank">%(lic)s</a>' ) % { "lic": _( "Attribution-NoDerivatives 4.0 " "International (CC BY-ND 4.0)" ) }, ( '<a href="https://creativecommons.org/licenses/by-nc-nd/4.0/" ' 'title="%(lic)s" target="_blank">%(lic)s</a>' ) % { "lic": _( "Attribution-NonCommercial-NoDerivatives 4.0 " "International (CC BY-NC-ND 4.0)" ) }, ( '<a href="https://creativecommons.org/licenses/by-nc/4.0/" ' 'title="%(lic)s" target="_blank">%(lic)s</a>' ) % { "lic": _( "Attribution-NonCommercial 4.0 " "International (CC BY-NC 4.0)" ) }, ( '<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" ' 'title="%(lic)s" target="_blank">%(lic)s</a>' ) % { "lic": _( "Attribution-NonCommercial-ShareAlike 4.0 " "International (CC BY-NC-SA 4.0)" ) }, ( '<a href="https://creativecommons.org/licenses/by-sa/4.0/" ' 'title="%(lic)s" target="_blank">%(lic)s</a>' ) % { "lic": _( "Attribution-ShareAlike 4.0 " "International (CC BY-SA 4.0)" ) }, ], ), ( "{0} / {1}".format(_("Channels"), _("Themes")), [ _("Select the channel in which you want your content to appear."), _( "Themes related to this channel will " "appear in the “Themes” list below." ), _( 'Hold down "Control", or "Command" on a Mac, ' "to select more than one." ), _( "If the channel or Themes you wish does not appear " "in the list, please select nothing and contact " "us to explain your needs." ), ], ), ( "{0}".format(_("Draft")), [ _( "In “Draft mode”, the content shows nowhere and nobody " "else but you can see it." ) ], ), ( "{0}".format(_("Restricted access")), [ _( "If you don't select “Draft mode”, you can restrict " "the content access to only people who can log in" ) ], ), ( "{0}".format(_("Password")), [ _( "If you don't select “Draft mode”, you can add a password " "which will be asked to anybody willing to watch " "your content." ), _( "If your video is in a playlist the password of your " "video will be removed automatically." ), ], ), ] )
VIDEO_MAX_UPLOAD_SIZE
valeur par défaut :
1
Taille maximum en Go des fichiers téléversés sur la plateforme.
VIDEO_PLAYBACKRATES
valeur par défaut :
[0.5, 1, 1.5, 2]
Configuration des choix de vitesse de lecture pour le lecteur vidéo.
VIDEO_RECENT_VIEWCOUNT
valeur par défaut :
180
Durée (en nombre de jours) sur laquelle on souhaite compter le nombre de vues récentes.
VIDEO_REQUIRED_FIELDS
valeur par défaut :
[]
Permet d’ajouter l’attribut obligatoire dans le formulaire d’edition et d’ajout d’une video :
Exemple de valeur : ["discipline", "tags"]
NB : les champs cachés et suivant ne sont pas pris en compte :
(video, title, type, owner, date_added, cursus, main_lang)
VIEW_STATS_AUTH
valeur par défaut :
False
Réserve l’accès aux statistiques des vidéos aux personnes authentifiées.
Application pour l’encodage et la transcription de vidéo.
Il est possible d'encoder en local ou en distant.
Attention, il faut configurer Celery pour l’envoi des instructions pour l'encodage distant.
CELERY_BROKER_URL
valeur par défaut :
amqp://pod:xxx@localhost/rabbitpod
URL de Celery pour la gestion des taches d’encodage.
CELERY_TO_ENCODE
valeur par défaut :
False
Utilisation de Celery pour la gestion des taches d’encodage
DEFAULT_LANG_TRACK
valeur par défaut :
fr
langue par défaut pour l’ajout de piste à une vidéo.
EMAIL_ON_ENCODING_COMPLETION
valeur par défaut :
True
Si True, un courriel est envoyé aux managers et à l’auteur (si DEBUG est à False) à la fin de l’encodage.
EMAIL_ON_TRANSCRIPTING_COMPLETION
valeur par défaut :
True
Si True, un courriel est envoyé aux managers et à l’auteur (si DEBUG est à False) à la fin de la transcription
ENCODE_STUDIO
valeur par défaut :
start_encode_studio
Fonction appelée pour lancer l’encodage du studio (merge and cut).
ENCODE_VIDEO
valeur par défaut :
start_encode
Fonction appelée pour lancer l’encodage des vidéos direct par thread ou distant par celery
ENCODING_CHOICES
valeur par défaut :
()
Encodage possible sur la plateforme. Associé à un rendu dans le cas d’une vidéo.
ENCODING_CHOICES = ( ("audio", "audio"), ("360p", "360p"), ("480p", "480p"), ("720p", "720p"), ("1080p", "1080p"), ("playlist", "playlist") )
ENCODING_TRANSCODING_CELERY_BROKER_URL
valeur par défaut :
False
Il faut renseigner l'url du redis sur lequel Celery va chercher les ordres d'encodage et de transcription
par exemple : "redis://redis:6379/7"
FORMAT_CHOICES
valeur par défaut :
()
Format d’encodage réalisé sur la plateforme.
FORMAT_CHOICES = ( ("video/mp4", "video/mp4"), ("video/mp2t", "video/mp2t"), ("video/webm", "video/webm"), ("audio/mp3", "audio/mp3"), ("audio/wav", "audio/wav"), ("application/x-mpegURL", "application/x-mpegURL"), )
USE_DISTANT_ENCODING_TRANSCODING
valeur par défaut :
False
Si True, active l'encodage et la transcription sur un environnement distant via redis+celery
VIDEO_RENDITIONS
valeur par défaut :
[]
Rendu serializé pour l’encodage des videos.
Cela permet de pouvoir encoder les vidéos sans l’environnement de Pod.VIDEO_RENDITIONS = [ { "resolution": "640x360", "minrate": "500k", "video_bitrate": "750k", "maxrate": "1000k", "audio_bitrate": "96k", "encoding_resolution_threshold": 0, "encode_mp4": True, "sites": [1], },{ "resolution": "1280x720", "minrate": "1000k", "video_bitrate": "2000k", "maxrate": "3000k", "audio_bitrate": "128k", "encoding_resolution_threshold": 0, "encode_mp4": True, "sites": [1], },{ "resolution": "1920x1080", "minrate": "2000k", "video_bitrate": "3000k", "maxrate": "4500k", "audio_bitrate": "192k", "encoding_resolution_threshold": 0, "encode_mp4": False, "sites": [1], }, ]
ES_INDEX
valeur par défaut :
pod
Valeur pour l’index de ElasticSearch
ES_MAX_RETRIES
valeur par défaut :
10
Valeur max de tentatives pour ElasticSearch.
ES_TIMEOUT
valeur par défaut :
30
Valeur de timeout pour ElasticSearch.
ES_URL
valeur par défaut :
["http://127.0.0.1:9200/"]
Adresse du ou des instances d’Elasticsearch utilisées pour l’indexation et la recherche de vidéo.
ES_VERSION
valeur par défaut :
6
Version d’ElasticSearch.
valeurs possibles 6, 7 ou 8 correspondant à la version du Elasticsearch utilisé.
Pour utiliser la version 7 ou 8, faire une mise à jour du paquet elasticsearch-py
Pour la 7,pip3 install elasticsearch==7.17.7
,
et pour la 8,pip3 install elasticsearch==8.8.1
.
Voir https://elasticsearch-py.readthedocs.io/ pour plus d'information.
Application pour l’envoi d‘instructions xAPI à un LRS.
Aucune instruction ne persiste dans Pod, elles sont toutes envoyées au LRS paramétré.
Attention, il faut configurer Celery pour l’envoi des instructions.
USE_XAPI
valeur par défaut :
False
Activation de l'application xAPI
XAPI_ANONYMIZE_ACTOR
valeur par défaut :
True
Si False, le nom de l'utilisateur sera stocké en clair dans les statements xAPI, si True, son nom d'utilisateur sera anonymisé
XAPI_LRS_LOGIN
valeur par défaut : ``
identifiant de connexion du LRS pour l'envoi des statements
XAPI_LRS_PWD
valeur par défaut : ``
mot de passe de connexion du LRS pour l'envoi des statements
XAPI_LRS_URL
valeur par défaut : ``
URL de destination pour l'envoi des statements. I.E. : https://ralph.univ.fr/xAPI/statements