Arborescence des pages

Comparaison des versions

Légende

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

...

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' : '',
}


PropertyDescriptionDefault Value
TITLE_SITETitre du site.'Pod'
TITLE_ETBTitre de l’établissement.'University name'
LOGO_SITELogo affiché en haut à gauche sur toutes les pages. Doit se situer dans le répertoire static'img/logoPod.svg'
LOGO_ETBLogo affiché dans le footer sur toutes les pages. Doit se situer dans le répertoire static'img/logo_etb.svg'
LOGO_PLAYERLogo affiché sur le player video. Doit se situer dans le répertoire static'img/logoPod.svg'
LINK_PLAYERLien de destination du logo affiché sur le player''
FOOTER_TEXTTexte 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>') )('',)
FAVICONIcon affiché dans la barre d'adresse du navigateur'img/logoPod.svg'
CSS_OVERRIDESi 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"''
PRE_HEADER_TEMPLATE

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'

''
POST_FOOTER_TEMPLATE
Idem que pre-header, le code contenu dans le template sera affiché juste avant la fermeture du body. (Or iframe)''
TRACKING_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''

Configuration application recherche

PropertyDescriptionDefault Value
ES_URLadresse du ou des instances d'Elasticsearch utilisées pour l'indexation et la recherche de vidéo.['http://127.0.0.1:9200/']
ES_INDEXValeur pour l’index de ElasticSearchpod

Pour mettre à jour le moteur de recherche, je lance toutes les nuits la tache cron suivante :

...

PropertyDescriptionDefault Value
FFMPEGcommande ffmpegffmpeg
FFPROBEcommande ffprobeffprobe
SEGMENT_TARGET_DURATIONdurée en seconde des segment HLS2
RATE_MONITOR_BUFFER_RATIOla taille du buffer est égale au bitrate vidéo du rendu multiplié par cette valeur2
FFMPEG_NB_THREADSnombre de thread possible pour ffmpeg (0 égale maximum possible)0
GET_INFO_VIDEOCommande 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_AUDIOCommande 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_PARAMSparamè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_PARAMSautres paramètres qui sont placés au début de la commande" -hide_banner -y "
AUDIO_BITRATEbitrate audio pour l'encodage M4A (encodage des fichiers audio envoyés sur la plateforme)192k
ENCODING_M4Acommande 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_CMDcommande 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_COMPLETIONSi True, un courriel est envoyé aux managers et à l'auteur (si DEBUG est à True) à la fin de l'encodageTrue
FILE_UPLOAD_TEMP_DIRRépertoire temporaire pour la création des thumbnails'/tmp'
CELERY_TO_ENCODEUtilisation de Celery pour la gestion des taches d'encodageFalse
SPLIT_ENCODE_CMDPour effectuer une commande pour chaque encodage. A utiliser principalement pour l'encodage en GPUFalse

Configuration flux RSS

PropertyDescriptionDefault Value
DEFAULT_DC_COVERAGEcouverture du droit pour chaque vidéoTITLE_ETB + " - Town - Country"
DEFAULT_DC_RIGHTSdroit par défaut affichés dans le flux RSS si non renseigné"BY-NC-SA"

Configuration autotranscription

PropertyDescriptionDefault Value
USE_TRANSCRIPTIONUtilisation de la transcription automatiqueFalse
DS_PARAMParamétrage de l'autotranscription (voir cette page pour configurer)dict()


Configuration application vidéo

PropertyDescriptionDefault Value
RESTRICT_EDIT_VIDEO_ACCESS_TO_STAFF_ONLYSi True, seule les personnes "Staff" peuvent déposer des vidéos sur la plateformeFalse
DEFAULT_THUMBNAILimage 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_CHOICESEncodage 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_CHOICESFormat 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_CHOICESLicence 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_IDLes 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_CODESListe 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_CHOICESListe 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_DIRRépertoire par défaut pour le téléversement des vidéos.videos
ENCODE_VIDEOFonction appelée pour lancer l'encodage des vidéosstart_encode
VIDEO_ALLOWED_EXTENSIONSExtension 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_SIZETaille maximum en Go des fichiers téléversés sur la plateforme1
VIDEO_FORM_FIELDS_HELP_TEXTEnsemble des textes d'aide affichés avec le formulaire d'envoi de vidéovoir pod/video/forms.py
VIDEO_FORM_FIELDSListe des champs du formulaire d'édition de vidéos affichés__all__
CHANNEL_FORM_FIELDS_HELP_TEXTEnsemble des textes d'aide affichés avec le formulaire d'édition de chaine.voir pod/video/forms.py
THEME_FORM_FIELDS_HELP_TEXTEnsemble 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)

PropertyDescriptionDefault Value
FILE_ALLOWED_EXTENSIONSExtensions 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_EXTENSIONSExtensions autorisées pour les images téléversés dans le gestionnaire de fichier( 'jpg', 'jpeg', 'bmp', 'png', 'gif', 'tiff', )
FILE_MAX_UPLOAD_SIZEPoids maximum en Mo par fichier téléversé dans le gestionnaire de fichier10

Configuration application completion (contributeur, sous-titre, document à télécharger, superposition)

...

Configuration application live

PropertyDescriptionDefault Value
VIEWERS_ONLY_FOR_STAFFLa liste des utilisateurs regardant le direct sera réservée au staffFalse
HEARTBEAT_DELAY

Temps (en seconde) 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

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

PropertyDescriptionDefault Value
USE_BBBUtilisation de BigBlueButtonTrue
DEFAULT_BBB_PLUGIN

Répertoire du plugin bbb-recorder (voir documentation https://github.com/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 'homedir' / Downloads qui a besoin d'espace disque

'/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_KEYClé BigBlueButton ou Scalelite LOADBALANCER_SECRET'abcdef'
DEFAULT_BBB_TYPE_IDType de vidéo générée par défaut1
BBB_USERNAME_FORMAT

Format du nom d'utilisateur dans BBB. Valeurs possibles : 'first_name last_name', 'last_name first_name'
Exemple1 : si dans le serveur BBB, vous avez un utilisateur au format 'John Doe', mettez 'first_name last_name'
Exemple2 : si dans le serveur BBB, vous avez un utilisateur au format 'Doe John', mettez 'last_name first_name'

'first_name last_name'
BBB_NUMBER_DAYS_BEFORE_DELETENombre 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)

PropertyDescriptionDefault Value
AUTH_TYPEType d'authentification possible sur votre instance. Pour l'instant local ou cas(('local', _('local')), ('CAS', 'CAS'))
USE_CASActivation de l'authentification CAS en plus de l'authentification localeFalse
CAS_SERVER_URLUrl du serveur cas de l'établissement. Format http://url_cassso_cas
CAS_GATEWAYSi True, authentifie automatiquement l'individu si déjà authentifié sur le serveur CASFalse
POPULATE_USERSi 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_SEARCHvariable utilisée pour trouver les informations de l'individu connecté dans le fichier renvoyé par le CAS lors de l'authentificationuser
USER_CAS_MAPPING_ATTRIBUTESliste 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_AFFILIATIONSi 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 groupesFalse
AFFILIATION_STAFFLes personnes ayant pour affiliation les valeurs renseignées dans cette variable sont automatiquement la valeur staff de leur compte à True('faculty', 'employee', 'staff')
AFFILIATIONValeurs 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_DNIdentifiant (DN) du compte pour se connecter au serveur LDAP''
AUTH_LDAP_BIND_PASSWORDMot de passe du compte pour se connecter au serveur LDAP''
AUTH_LDAP_USER_SEARCHFiltre LDAP permettant la recherche de l'individu dans le serveur LDAP('ou=people,dc=univ,dc=fr', "(uid=%(uid)s)")
USER_LDAP_MAPPING_ATTRIBUTESliste 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_SHIBUtiliser l'authentification ShibbolethFalse
SHIB_NAMENom de la fédération d'identité utilisée""
SHIBBOLETH_ATTRIBUTE_MAPMapping 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 ShibbolethREMOTE_USER
SHIB_URLURL de connexion à votre instance Shibboleth""
SHIB_LOGOUT_URLURL de déconnexion à votre instance Shibboleth""
CAS_FORCE_LOWERCASE_USERNAMEForcer 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) :

...