Skip to content

Latest commit

 

History

History
2165 lines (2080 loc) · 90 KB

CONFIGURATION_FR.md

File metadata and controls

2165 lines (2080 loc) · 90 KB

Configuration de la plateforme Esup-Pod

Information générale

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 : docs.djangoproject.com

L’ensemble des variables de configuration du framework est accessible à cette adresse : docs.djangoproject.com

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
    kstateome/django-cas

  • ModelTranslation

    valeur par défaut : 0.18.7

    L’application modeltranslation est utilisée pour traduire le contenu dynamique
    des modèles Django existants
    django-modeltranslation.readthedocs.io

  • captcha

    valeur par défaut : 0.5.17

    Gestion du captcha du formulaire de contact
    django-simple-captcha.readthedocs.io

  • chunked_upload

    valeur par défaut : 2.0.0

    Envoi de fichier par morceaux // voir pour mettre à jour si nécessaire
    juliomalegria/django-chunked-upload

  • ckeditor

    valeur par défaut : 6.3.0

    Application permettant d’ajouter un éditeur CKEditor dans certains champs
    django-ckeditor.readthedocs.io

  • django_select2

    valeur par défaut : latest

    Recherche et completion dans les formulaires
    django-select2.readthedocs.io

  • honeypot

    valeur par défaut : 1.0.3

    Utilisé pour le formulaire de contact de Pod -
    ajoute un champ caché pour diminuer le spam
    jamesturk/django-honeypot

  • mozilla_django_oidc

    valeur par défaut : 3.0.0

    Système d’authentification OpenID Connect
    mozilla-django-oidc.readthedocs.io

  • 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 : 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
    django-rest-framework.org

  • shibboleth

    valeur par défaut : latest

    Système d’authentification Shibboleth
    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
    sorl-thumbnail.readthedocs.io

  • 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
    django-tagging.readthedocs.io

Configuration générale de la plateforme Esup_Pod

Base de données

  • 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 : docs.djangoproject.com
    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",
             },
        }
    }

Courriel

  • 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.
    (voir USER_CONTACT_EMAIL_CASE et USE_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 : docs.djangoproject.com

  • 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.
    (voir USER_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.

Encodage

  • 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

Gestion des fichiers

  • 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 : docs.djangoproject.com

  • 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 : docs.djangoproject.com

  • 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 : 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 : docs.djangoproject.com

  • 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.

Langue

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

Divers

  • 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 variable CONTACT_US_EMAIL n’est pas renseignée.

    ref : docs.djangoproject.com

  • ALLOWED_HOSTS

    valeur par défaut : ['pod.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 : docs.djangoproject.com

  • 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://redis.localhost: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://redis.localhost: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 : docs.djangoproject.com

  • 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 : docs.djangoproject.com

  • USE_DEBUG_TOOLBAR

    valeur par défaut : True

    Une valeur booléenne qui active ou désactive l’outil de débogage.

    Ne déployez jamais de site en production avec le réglage USE_DEBUG_TOOLBAR activé.

    ref : django-debug-toolbar.readthedocs.io

  • LOGIN_URL

    valeur par défaut : /authentication_login/

    url de redirection pour l’authentification de l’utilisateur
    voir : docs.djangoproject.com

  • 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 variable CONTACT_US_EMAIL n’est pas renseignée.

    ref : docs.djangoproject.com

  • 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 : djecrety.ir

    ref : docs.djangoproject.com

  • SECURE_SSL_REDIRECT

    valeur par défaut : False

    À moins que votre site ne doive être disponible sur des connexions SSL et non SSL,
    vous souhaiterez probablement définir ce paramètre sur True ou configurer un
    load balancer ou reverse-proxy pour rediriger toutes les connexions vers HTTPS.

  • SESSION_COOKIE_AGE

    valeur par défaut : 14400

    L’âge des cookies de sessions, en secondes (4h par défaut).

  • 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 docs.djangoproject.com

  • 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 : docs.djangoproject.com

  • 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 : docs.djangoproject.com
    Liste des adresses destinataires des courriels de contact

Obsolescence

  • 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.

  • ARCHIVE_HOW_MANY_DAYS

    valeur par défaut : 365

    Délai avant qu'une vidéo archivée ne soit déplacée vers archive_ROOT.

  • 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ètre ARCHIVE_OWNER_USERNAME.
    Elles sont mises en mode brouillon et le mot "archived" est ajouté à leur titre.
    Enfin, elles sont également ajoutées à l’ensemble Vidé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.

Modèle

  • 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 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 ne 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': 'Lobjectif dEsup-Pod est de faciliter la mise à disposition
    de vidéos et ainsi dencourager son utilisation dans lenseignement 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': '',
    }

Transcodage

  • 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 : www.esup-portail.org/wiki
    Pour télécharger les Modeles Vosk : alphacephei.com/vosk/models

    TRANSCRIPTION_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, VOSKou WHISPER.

  • 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.

Configuration des applications Esup_Pod

Configuration application AI Enhancement

Application AI Enhancement pour pouvoir utiliser les améliorations des vidéos par l'intelligence artifficielle.
Mettre USE_AI_ENHANCEMENT à True pour activer cette application.

  • AI_ENHANCEMENT_API_URL

    valeur par défaut : ``

    L’URL de l’API pour l’IA d’amélioration des vidéos.
    Exemple : 'https://aristote.univ.fr/api'
    Lien du projet : https://www.demainestingenieurs.centralesupelec.fr/aristote/

  • AI_ENHANCEMENT_API_VERSION

    valeur par défaut : ``

    La version de l’API pour l’IA d’amélioration des vidéos.

  • AI_ENHANCEMENT_CGU_URL

    valeur par défaut : ``

    L’URL des conditions générales d’utilisation de l’API pour l’IA d’amélioration des vidéos.
    Exemple : 'https://aristote.univ.fr/cgu'
    Lien du projet : https://www.demainestingenieurs.centralesupelec.fr/aristote/

  • AI_ENHANCEMENT_CLIENT_ID

    valeur par défaut : mocked_id

    L’ID du client de l’IA d’amélioration des vidéos.
    Exemple : 'v1'

  • AI_ENHANCEMENT_CLIENT_SECRET

    valeur par défaut : mocked_secret

    Le mot de passe secret du client de l’IA d’amélioration des vidéos.

  • AI_ENHANCEMENT_FIELDS_HELP_TEXT

    valeur par défaut : ``

    Ensemble des textes d’aide affichés avec le formulaire d'amélioration d'une vidéo avec l'IA d'Aristote.

  • USE_AI_ENHANCEMENT

    valeur par défaut : False

    Activation des améliorations de l'intelligence artificielle. Permet aux utilisateurs de l'utiliser.

Configuration de l’application authentification

  • 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 : 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

    Voir kstateome/django-cas

  • 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 vaut False le username sera affiché aux utilisateurs authentifiés.
    (pour respecter le RGPD)

  • LDAP

    valeur par défaut : ``

    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_PREFERRED_USERNAME

    valeur par défaut : preferred_username

    Noms des Claim permettant de récupérer
    l’attribut login mais dépendant de l’attribut du client dans l’IDP.

  • 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 que mozilla_django_oidc n’accepte pas le mécanisme de discovery
    ref : mozilla/mozilla-django-oidc

  • 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 et CLIENT_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.

Configuration de l’application chapter

Configuration de l’application completion

  • 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 fichier pod/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 : alphacephei.com/vosk
    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 fichier pod/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 :
    esup-portail.org/wiki
    Pour télécharger les modèles Vosk : alphacephei.com/vosk/models

    TRANSCRIPTION_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",
            }
        }
        # le modèle Whisper
        'WHISPER': {
            'fr': {
                'model': "small",
                'download_root': "/pod-transcription/transcription/whisper/",
            },
            'en': {
                'model': "small",
                'download_root': "/pod-transcription/transcription/whisper/",
            }
        }
    }
  • TRANSCRIPTION_TYPE

    valeur par défaut : STT

    STT, VOSK ou WHISPER (à partir de Pod 3.5.0)

  • USE_ENRICH_READY

    valeur par défaut : False

    voir ACTIVE_MODEL_ENRICH

Configuration de l’application Cut

Application Cut permettant de découper des vidéos.
Mettre USE_CUT à True pour activer cette application.

  • USE_CUT

    valeur par défaut : True

    Activation de l’application Cut

Configuration de l’application dressing

Application Dressing pour customiser une vidéo avec un filigrane et des crédits.
Mettre USE_DRESSING à True pour activer cette application.

  • USE_DRESSING

    valeur par défaut : True

    Activation des habillages.
    Permet aux utilisateurs de customiser une vidéo avec un filigrane et des crédits.

Configuration de l’application enrichment

Configuration de l’application Intervenant

Application Intervenant permettant d'ajouter des intervenants à la vidéo.
Mettre USE_SPEAKER à True pour activer cette application.

  • USE_SPEAKER

    valeur par défaut : False

    Activation de l’application Intervenant

Configuration de l’application d’import vidéo

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

  • USE_IMPORT_VIDEO_BBB_RECORDER

    valeur par défaut : False

    Utilisation du plugin bbb-recorder pour le module import-vidéo;
    utile pour convertir une présentation BigBlueButton en fichier vidéo.

  • IMPORT_VIDEO_BBB_RECORDER_PLUGIN

    valeur par défaut : /home/pod/bbb-recorder/

    Répertoire du plugin bbb-recorder (voir la documentation jibon57/bbb-recorder).
    bbb-recorder doit être installé dans ce répertoire, sur tous les serveurs d’encodage.
    bbb-recorder crée un répertoire Downloads, au même niveau, qui nécessite de l’espace disque.

  • IMPORT_VIDEO_BBB_RECORDER_PATH

    valeur par défaut : True

    Répertoire qui contiendra les fichiers vidéo générés par bbb-recorder.

Configuration de l’application live

  • 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 dans pod/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épertoire static.

  • 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 : alphacephei.com/vosk/models

    LIVE_VOSK_MODEL = {
       'fr': {
           'model': "/path/of/project/django_projects/transcription/live/fr/vosk-model-small-fr-0.22",
        }
    }
  • USE_BBB

    valeur par défaut : False

    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.

Configuration de l’application LTI

  • 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>'
            }
        }
    }

Configuration de l’application main

  • 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 Opencast

  • VERSION

    valeur par défaut : ``

    Version courante du projet

  • WEBTV_MODE

    valeur par défaut : False

    Mode webtv permet de basculer POD en une application webtv ensupprimant les boutons de connexions par exemple

Configuration de l’application meeting

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éfaut

    BBB_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 commande
    bbb-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épertoire static.

  • 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 champs

    MEETING_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 si MEETING_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éunion

    MEETING_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 modale

    MEETING_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_WEBINAR

    valeur par défaut : False

    Activation du mode Webinaire pour le module des réunions

  • MEETING_WEBINAR_SIPMEDIAGW_URL

    valeur par défaut : ``

    URL du serveur SIPMediaGW qui gère les webinaires (Ex: https://sipmediagw.univ.fr)

  • MEETING_WEBINAR_SIPMEDIAGW_TOKEN

    valeur par défaut : ``

    Jeton bearer du serveur SIPMediaGW qui gère les webinaires

  • MEETING_WEBINAR_FIELDS

    valeur par défaut : ("is_webinar", "enable_chat")

    Permet de définir les champs complémentaires du formulaire de création d’un webinaire
    ces champs complémentaires sont affichés directement dans la page de formulaire d’un webinaire

    MEETING_WEBINAR_FIELDS:
    (
        "is_webinar",
        "enable_chat",
    )
  • MEETING_WEBINAR_AFFILIATION

    valeur par défaut : ['faculty', 'employee', 'staff']

    Groupes d’accès ou affiliations des personnes autorisées à créer un webinaire

  • MEETING_WEBINAR_GROUP_ADMIN

    valeur par défaut : webinar admin

    Groupe des personnes autorisées à créer un webinaire

  • USE_MEETING

    valeur par défaut : False

    Activer l’application meeting

Configuration de l’application playlist

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épertoire static.

  • RESTRICT_PROMOTED_PLAYLIST_ACCESS_TO_STAFF_ONLY

    valeur par défaut : True

    Restreindre l’accès à la création de listes de lecture promues
    au staff uniquement.

  • 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.

  • USE_PROMOTED_PLAYLIST

    valeur par défaut : True

    Activation des playlist promues.
    Permet aux utilisateurs d'utiliser les listes de lecture promues.

Configuration de l’application podfile

  • 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)

Configuration de l’application progressive_web_app

  • 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 web-push-codelab.glitch.me.

Configuration de l'application quiz

Application Quiz pour ajouter des questions sur les vidéos.
Mettre USE_QUIZ à True pour activer cette application.

  • USE_QUIZ

    valeur par défaut : True

    Activation des quiz. Permet aux utilisateurs de créer, répondre et utiliser des quiz dans les vidéos.

Configuration de l’application recorder

  • 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 est incrusté dans la vidéo en haut à droite)
    • "pipb" (le presenteur est incrusté dans la vidéo 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".

Configuration de l’application vidéo

  • 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.py

    THEME_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 fichier pod/custom/templates/custom/tracking.html
    Il faut ensuite y insérer le code javascript puis dans votre fichier settings_local.py,
    de préciser dans la variable TEMPLATE_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 media."
                    )
                ],
            ),
            (
                "{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.

Configuration de l’application encodage et transcription de vidéo

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.

  • CAPTIONS_STRICT_ACCESSIBILITY

    valeur par défaut : False

    Si True, les sous-titres seront générés en respectant strictement les normes
    d’accessibilité. L'apparition d'un message d’avertissement sera affiché si les
    sous-titres ne respectent pas ces normes, même si la valeur est à False.

  • CELERY_BROKER_URL

    valeur par défaut : redis://redis.localhost:6379/5

    URL du courtier de messages où Celery stocke les ordres d’encodage et de transcription.

  • 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.localhost: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_REMOTE_ENCODING_TRANSCODING

    valeur par défaut : False

    Si True, active l’encodage et la transcription sur un environnement distant via redis+celery

  • POD_API_URL

    valeur par défaut : ``

    Adresse de l’API rest à appeler en fin d’encodage
    distant ou de transcription à distance.
    Exemple : https://pod.univ.fr/rest/

  • POD_API_TOKEN

    valeur par défaut : ``

    Token d’authentification utilisé pour l’appel
    en fin d’encodage distant ou de transcription à distance.
    Pour le créer, il faut aller dans la partie Admin > Jeton d’authentification > token.

  • 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],
        },
    ]

Configuration de l’application search

  • 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://elasticsearch.localhost: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 elasticsearch-py.readthedocs.io
    pour plus d’information.

  • ES_OPTIONS

    valeur par défaut : {}

    Options d’ElasticSearch, notamment utilisées pour ES8 en SSL et avec un user en paramètre
    Voir www.elastic.co
    pour plus d’informations.

Configuration de l’application xapi

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