...
TEMPLATE_VISIBLE_SETTINGS = {
'TITLE_SITE': 'Pod',
'TITLE_ETB': 'University name',
'LOGO_SITE': 'img/logoPod.svg',
'LOGO_ETB': 'img/logo_etb.svg',
'LOGO_PLAYER': 'img/logoPod.svg',
'LINK_PLAYER': '',
'FOOTER_TEXT': ('',),
'FAVICON': 'img/logoPod.svg',
'CSS_OVERRIDE' : '',
'PRE_HEADER_TEMPLATE' : '',
'POST_FOOTER_TEMPLATE' : '',
'TRACKING_TEMPLATE' : '',
}
Property | Description | Default Value |
---|---|---|
TITLE_SITE | Titre du site. | 'Pod' |
TITLE_ETB | Titre de l’établissement. | 'University name' |
LOGO_SITE | Logo affiché en haut à gauche sur toutes les pages. Doit se situer dans le répertoire static | 'img/logoPod.svg' |
LOGO_ETB | Logo affiché dans le footer sur toutes les pages. Doit se situer dans le répertoire static | 'img/logo_etb.svg' |
LOGO_PLAYER | Logo affiché sur le player video. Doit se situer dans le répertoire static | 'img/logoPod.svg' |
LINK_PLAYER | Lien de destination du logo affiché sur le player | '' |
FOOTER_TEXT | Texte affiché dans le footer. Une ligne par entrée, accepte du code html. Par exmple : ( '42, rue Paul Duez', '59000 Lille - France', ('<a href="https://goo.gl/maps/AZnyBK4hHaM2"' ' target="_blank">Google maps</a>') ) | ('',) |
FAVICON | Icon affiché dans la barre d'adresse du navigateur | 'img/logoPod.svg' |
CSS_OVERRIDE | 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" | '' |
| 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.(Or iframe) Si le fichié créé est '/usr/local/django_projects/podv2/pod/custom/templates/custom/preheader.html' alors la varaible doit prendre la valeur 'custom/preheader.html' | '' |
| Idem que pre-header, le code contenu dans le template sera affiché juste avant la fermeture du body. (Or iframe) | '' |
| 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 | '' |
Configuration application recherche
Property | Description | Default Value |
---|---|---|
ES_URL | adresse du ou des instances d'Elasticsearch utilisées pour l'indexation et la recherche de vidéo. | ['http://127.0.0.1:9200/'] |
ES_INDEX | Valeur pour l’index de ElasticSearch | pod |
Pour mettre à jour le moteur de recherche, je lance toutes les nuits la tache cron suivante :
...
Property | Description | Default Value |
---|---|---|
FFMPEG | commande ffmpeg | ffmpeg |
FFPROBE | commande ffprobe | ffprobe |
SEGMENT_TARGET_DURATION | durée en seconde des segment HLS | 2 |
RATE_MONITOR_BUFFER_RATIO | la taille du buffer est égale au bitrate vidéo du rendu multiplié par cette valeur | 2 |
FFMPEG_NB_THREADS | nombre de thread possible pour ffmpeg (0 égale maximum possible) | 0 |
GET_INFO_VIDEO | Commande utilisée pour récupérer les informations de la première piste video du fichier envoyé | "%(ffprobe)s -v quiet -show_format -show_streams -select_streams v:0 -print_format json -i %(source)s" |
GET_INFO_AUDIO | Commande utilisée pour récupérer les informations de la première piste audio du fichier envoyé | "%(ffprobe)s -v quiet -show_format -show_streams -select_streams a:0 -print_format json -i %(source)s" |
FFMPEG_STATIC_PARAMS | paramètres de la commande ffmpeg utilisés pour encoder toutes les vidéos, peu importe le rendu | " -c:a aac -ar 48000 -c:v h264 -profile:v high -pix_fmt yuv420p -crf 20 -sc_threshold 0 -force_key_frames \"expr:gte(t,n_forced*1)\" -deinterlace -threads %(nb_threads)s " |
FFMPEG_MISC_PARAMS | autres paramètres qui sont placés au début de la commande | " -hide_banner -y " |
AUDIO_BITRATE | bitrate audio pour l'encodage M4A (encodage des fichiers audio envoyés sur la plateforme) | 192k |
ENCODING_M4A | commande utilisée pour l'encodage des fichiers audio envoyés sur la plateforme | %(ffmpeg)s -i %(source)s %(misc_params)s -c:a aac -b:a %(audio_bitrate)s -vn -threads %(nb_threads)s \"%(output_dir)s/audio_%(audio_bitrate)s.m4a\" |
ENCODE_MP3_CMD | commande utilisée pour l'encodage audio pour tous les fichiers envoyés sur la plateforme | "%(ffmpeg)s -i %(source)s %(misc_params)s -vn -b:a %(audio_bitrate)s -vn -f mp3 -threads %(nb_threads)s \"%(output_dir)s/audio_%(audio_bitrate)s.mp3\"" |
EMAIL_ON_ENCODING_COMPLETION | Si True, un courriel est envoyé aux managers et à l'auteur (si DEBUG est à True) à la fin de l'encodage | True |
FILE_UPLOAD_TEMP_DIR | Répertoire temporaire pour la création des thumbnails | '/tmp' |
CELERY_TO_ENCODE | Utilisation de Celery pour la gestion des taches d'encodage | False |
SPLIT_ENCODE_CMD | Pour effectuer une commande pour chaque encodage. A utiliser principalement pour l'encodage en GPU | False |
Configuration flux RSS
Property | Description | Default Value |
---|---|---|
DEFAULT_DC_COVERAGE | couverture du droit pour chaque vidéo | TITLE_ETB + " - Town - Country" |
DEFAULT_DC_RIGHTS | droit par défaut affichés dans le flux RSS si non renseigné | "BY-NC-SA" |
Configuration autotranscription
Property | Description | Default Value |
---|---|---|
USE_TRANSCRIPTION | Utilisation de la transcription automatique | False |
DS_PARAM | Paramétrage de l'autotranscription (voir cette page pour configurer) | dict() |
Configuration application vidéo
Property | Description | Default Value |
---|---|---|
RESTRICT_EDIT_VIDEO_ACCESS_TO_STAFF_ONLY | Si True, seule les personnes "Staff" peuvent déposer des vidéos sur la plateforme | False |
DEFAULT_THUMBNAIL | 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. | 'img/default.png' |
ENCODING_CHOICES | Encodage possible sur la plateforme. Associé à un rendu dans le cas d'une vidéo. | ( ("audio", "audio"), ("360p", "360p"), ("480p", "480p"), ("720p", "720p"), ("1080p", "1080p"), ("playlist", "playlist") ) |
FORMAT_CHOICES | Format d'encodage réalisé sur la plateforme. | ( ("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"), ) |
LICENCE_CHOICES | Licence proposées pour les vidéos. | ( ('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)")) ) |
DEFAULT_TYPE_ID | 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') | 1 |
CURSUS_CODES | 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. | ( ('0', ("None / All")), ('L', ("Bachelor’s Degree")), ('M', ("Master’s Degree")), ('D', ("Doctorate")), ('1', _("Other")) ) |
LANG_CHOICES | Liste des langues proposées lors de l'ajout des vidéos. Affichés en dessous d'une vidéos, ils sont aussi utilisés pour affiner la recherche. | ( settings.PREF_LANG_CHOICES + (('', '----------'),) + settings.ALL_LANG_CHOICES ) |
VIDEOS_DIR | Répertoire par défaut pour le téléversement des vidéos. | videos |
ENCODE_VIDEO | Fonction appelée pour lancer l'encodage des vidéos | start_encode |
VIDEO_ALLOWED_EXTENSIONS | Extension autorisée pour le téléversement sur la plateforme | ( '3gp', 'avi', 'divx', 'flv', 'm2p', 'm4v', 'mkv', 'mov', 'mp4', 'mpeg', 'mpg', 'mts', 'wmv', 'mp3', 'ogg', 'wav', 'wma' ) |
VIDEO_MAX_UPLOAD_SIZE | Taille maximum en Go des fichiers téléversés sur la plateforme | 1 |
VIDEO_FORM_FIELDS_HELP_TEXT | Ensemble des textes d'aide affichés avec le formulaire d'envoi de vidéo | voir pod/video/forms.py |
VIDEO_FORM_FIELDS | Liste des champs du formulaire d'édition de vidéos affichés | __all__ |
CHANNEL_FORM_FIELDS_HELP_TEXT | Ensemble des textes d'aide affichés avec le formulaire d'édition de chaine. | voir pod/video/forms.py |
THEME_FORM_FIELDS_HELP_TEXT | Ensemble des textes d'aide affichés avec le formulaire d'édition de theme. | voir pod/video/forms.py |
Configuration application recorder (enregistreur)
...
Configuration application podfile (gestion de fichier)
Property | Description | Default Value |
---|---|---|
FILE_ALLOWED_EXTENSIONS | Extensions autorisées pour les documents téléversés dans le gestionnaire de fichier | ( 'doc', 'docx', 'odt', 'pdf', 'xls', 'xlsx', 'ods', 'ppt', 'pptx', 'txt', 'html', 'htm', 'vtt', 'srt', 'webm', 'ts', ) |
IMAGE_ALLOWED_EXTENSIONS | Extensions autorisées pour les images téléversés dans le gestionnaire de fichier | ( 'jpg', 'jpeg', 'bmp', 'png', 'gif', 'tiff', ) |
FILE_MAX_UPLOAD_SIZE | Poids maximum en Mo par fichier téléversé dans le gestionnaire de fichier | 10 |
Configuration application completion (contributeur, sous-titre, document à télécharger, superposition)
...
Configuration application live
Property | Description | Default Value |
---|---|---|
VIEWERS_ONLY_FOR_STAFF | La liste des utilisateurs regardant le direct sera réservée au staff | False |
HEARTBEAT_DELAY | Temps (en seconde) entre deux envois d'un signal au serveur, pour signaler la présence sur un live | 45 |
VIEW_EXPIRATION_DELAY | Délai (en seconde) selon lequel une vue est considérée comme expirée si elle n'as pas renvoyé de signal depuis | 60 |
Configuration application BBB
Property | Description | Default Value |
---|---|---|
USE_BBB | Utilisation de BigBlueButton | True |
DEFAULT_BBB_PLUGIN | Répertoire du plugin bbb-recorder (voir documentation https://github.com/jibon57/bbb-recorder) | '/home/podtest/bbb-recorder/' |
DEFAULT_BBB_PATH | Répertoire qui contiendra les fichiers vidéo générés par bbb-recorder | '/data/www/podtest/bbb-recorder/' |
BBB_SERVER_URL | URL du serveur BigBlueButton ou Scalelite, où se trouvent les présentations Web BBB et l'API | 'https://bbb.univ.fr/' |
BBB_SECRET_KEY | Clé BigBlueButton ou Scalelite LOADBALANCER_SECRET | 'abcdef' |
DEFAULT_BBB_TYPE_ID | Type de vidéo générée par défaut | 1 |
BBB_USERNAME_FORMAT | Format du nom d'utilisateur dans BBB. Valeurs possibles : 'first_name last_name', 'last_name first_name' | 'first_name last_name' |
BBB_NUMBER_DAYS_BEFORE_DELETE | Nombre de jours avant la suppression des sessions et des utilisateurs associés, non déjà publiés Pour ne pas supprimer les anciennes sessions, utiliser la valeur 0 | 0 |
Configuration application authentification (Local, CAS, LDAP, Shibboleth)
Property | Description | Default Value |
---|---|---|
AUTH_TYPE | Type d'authentification possible sur votre instance. Pour l'instant local ou cas | (('local', _('local')), ('CAS', 'CAS')) |
USE_CAS | Activation de l'authentification CAS en plus de l'authentification locale | False |
CAS_SERVER_URL | Url du serveur cas de l'établissement. Format http://url_cas | sso_cas |
CAS_GATEWAY | Si True, authentifie automatiquement l'individu si déjà authentifié sur le serveur CAS | False |
POPULATE_USER | Si utilisation de la connection CAS, renseigne les champs du compte de la personne depuis une source externe. Valeur possible : None (pas de renseignement), CAS (renseigne les champs de la personne depuis les informations renvoyées par le CAS), LDAP (Interroge le serveur LDAP pour renseigner les champs du compte de la personne) | None |
AUTH_CAS_USER_SEARCH | variable utilisée pour trouver les informations de l'individu connecté dans le fichier renvoyé par le CAS lors de l'authentification | user |
USER_CAS_MAPPING_ATTRIBUTES | liste de correspondance entre les champs d'un compte de Pod et les champs renvoyés par le CAS | { "uid": "uid", "mail": "mail", "last_name": "sn", "first_name": "givenname", "affiliation": "eduPersonAffiliation" } |
CREATE_GROUP_FROM_AFFILIATION | 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 à ses groupes | False |
AFFILIATION_STAFF | Les personnes ayant pour affiliation les valeurs renseignées dans cette variable sont automatiquement la valeur staff de leur compte à True | ('faculty', 'employee', 'staff') |
AFFILIATION | Valeurs possibles pour l'Affiliation du compte | ( ('student', ('student')), ('faculty', ('faculty')), ('staff', ('staff')), ('employee', ('employee')), ('member', ('member')), ('affiliate', ('affiliate')), ('alum', ('alum')), ('library-walk-in', ('library-walk-in')), ('researcher', ('researcher')), ('retired', ('retired')), ('emeritus', ('emeritus')), ('teacher', ('teacher')), ('registered-reader', _('registered-reader')) ) |
LDAP_SERVER | Information de connection au serveur LDAP. Le champ url peut contenir un ou plusieurs url pour ajouter des hôtes de référence, exemple : Un seul host : {'url': "ldap.univ.fr'', 'port': 389, 'use_ssl': False} Plusieurs : {'url': ("ldap.univ.fr'',"ldap2.univ.fr"), 'port': 389, 'use_ssl': False} | {'url': '', 'port': 389, 'use_ssl': False} |
AUTH_LDAP_BIND_DN | Identifiant (DN) du compte pour se connecter au serveur LDAP | '' |
AUTH_LDAP_BIND_PASSWORD | Mot de passe du compte pour se connecter au serveur LDAP | '' |
AUTH_LDAP_USER_SEARCH | Filtre LDAP permettant la recherche de l'individu dans le serveur LDAP | ('ou=people,dc=univ,dc=fr', "(uid=%(uid)s)") |
USER_LDAP_MAPPING_ATTRIBUTES | liste de correspondance entre les champs d'un compte de Pod et les champs renvoyés par le LDAP | { "uid": "uid", "mail": "mail", "last_name": "sn", "first_name": "givenname", "primaryAffiliation": "eduPersonPrimaryAffiliation", "affiliations": "eduPersonAffiliation" } |
USE_SHIB | Utiliser l'authentification Shibboleth | False |
SHIB_NAME | Nom de la fédération d'identité utilisée | "" |
SHIBBOLETH_ATTRIBUTE_MAP | Mapping des attributs entre shibboleth et la classe utilisateur | SHIBBOLETH_ATTRIBUTE_MAP = { "shib-user": (True, "username"), "shib-given-name": (True, "first_name"), "shib-sn": (True, "last_name"), "shib-mail": (False, "email"), } |
REMOTE_USER_HEADER | Nom de l'attribut dans les headers qui sert à identifier l'utilisateur connecté avec Shibboleth | REMOTE_USER |
SHIB_URL | URL de connexion à votre instance Shibboleth | "" |
SHIB_LOGOUT_URL | URL de déconnexion à votre instance Shibboleth | "" |
CAS_FORCE_LOWERCASE_USERNAME | Forcer le passage en minuscule du nom d'utilisateur CAS (permet de prévenir des doubles créations de comptes dans certain cas). | False |
Attention, inutile avec la version de Pod > à 2.3 (la librairie de CAS a été mise à jour) :
...