diff --git a/CONFIGURATION_EN.md b/CONFIGURATION_EN.md
new file mode 100644
index 0000000000..c6482866aa
--- /dev/null
+++ b/CONFIGURATION_EN.md
@@ -0,0 +1,1160 @@
+#
+
+##
+
+* `CAS`
+ > default value: `1.5.2`
+* `ModelTranslation`
+ > default value: `0.18.7`
+* `captcha`
+ > default value: `0.5.17`
+* `chunked_upload`
+ > default value: `2.0.0`
+* `ckeditor`
+ > default value: `6.3.0`
+* `django_select2`
+ > default value: `latest`
+* `honeypot`
+ > default value: `1.0.3`
+* `mozilla_django_oidc`
+ > default value: `3.0.0`
+* `pwa`
+ > default value: `1.1.0`
+* `rest_framework`
+ > default value: `3.14.0`
+* `shibboleth`
+ > default value: `latest`
+* `sorl.thumbnail`
+ > default value: `12.9.0`
+* `tagging`
+ > default value: `0.5.0`
+
+##
+
+### Database
+
+* `DATABASES`
+ > default value:
+
+ ```python
+ {
+ 'default': {
+ 'ENGINE': 'django.db.backends.sqlite3',
+ 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
+ }
+ }
+ ```
+
+ >>
+
+### Email
+
+* `CONTACT_US_EMAIL`
+ > default value: ``
+ >>
+* `CUSTOM_CONTACT_US`
+ > default value: `False`
+ >>
+* `DEFAULT_FROM_EMAIL`
+ > default value: `noreply`
+ >>
+* `EMAIL_HOST`
+ > default value: `smtp.univ.fr`
+ >>
+* `EMAIL_PORT`
+ > default value: `25`
+ >>
+* `EMAIL_SUBJECT_PREFIX`
+ > default value: ``
+ >>
+* `SERVER_EMAIL`
+ > default value: `noreply`
+ >>
+* `SUBJECT_CHOICES`
+ > default value: `()`
+ >>
+* `SUPPORT_EMAIL`
+ > default value: `None`
+ >>
+* `USER_CONTACT_EMAIL_CASE`
+ > default value: ``
+ >>
+* `USE_ESTABLISHMENT_FIELD`
+ > default value: `False`
+ >>
+
+### Encoding
+
+* `FFMPEG_AUDIO_BITRATE`
+ > default value: `192k`
+ >>
+* `FFMPEG_CMD`
+ > default value: `ffmpeg`
+ >>
+* `FFMPEG_CREATE_THUMBNAIL`
+ > default value: `-vf "fps=1/(%(duration)s/%(nb_thumbnail)s)" -vsync vfr "%(output)s_%%04d.png"`
+ >>
+* `FFMPEG_CRF`
+ > default value: `20`
+ >>
+* `FFMPEG_EXTRACT_SUBTITLE`
+ > default value: `-map 0:%(index)s -f webvtt -y "%(output)s"`
+ >>
+* `FFMPEG_EXTRACT_THUMBNAIL`
+ > default value: `-map 0:%(index)s -an -c:v copy -y "%(output)s"`
+ >>
+* `FFMPEG_HLS_COMMON_PARAMS`
+ > default value: `-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`
+ > default value: `-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`
+ > default value: `2`
+ >>
+* `FFMPEG_INPUT`
+ > default value: `-hide_banner -threads %(nb_threads)s -i "%(input)s"`
+ >>
+* `FFMPEG_LEVEL`
+ > default value: `3`
+ >>
+* `FFMPEG_LIBX`
+ > default value: `libx264`
+ >>
+* `FFMPEG_M4A_ENCODE`
+ > default value: `-vn -c:a aac -b:a %(audio_bitrate)s "%(output)s"`
+ >>
+* `FFMPEG_MP3_ENCODE`
+ > default value: `-vn -codec:a libmp3lame -qscale:a 2 -y "%(output)s"`
+ >>
+* `FFMPEG_MP4_ENCODE`
+ > default value: `-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`
+ > default value: `0`
+ >>
+* `FFMPEG_NB_THUMBNAIL`
+ > default value: `3`
+ >>
+* `FFMPEG_PRESET`
+ > default value: `slow`
+ >>
+* `FFMPEG_PROFILE`
+ > default value: `high`
+ >>
+* `FFMPEG_STUDIO_COMMAND`
+ > default value: `-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`
+ > default value: `ffprobe`
+ >>
+* `FFPROBE_GET_INFO`
+ > default value: `%(ffprobe)s -v quiet -show_format -show_streams %(select_streams)s -print_format json -i %(source)s`
+ >>
+
+### file management
+
+* `FILES_DIR`
+ > default value: `files`
+ >>
+* `FILE_UPLOAD_TEMP_DIR`
+ > default value: `/var/tmp`
+ >>
+* `MEDIA_ROOT`
+ > default value: `/pod/media`
+ >>
+* `MEDIA_URL`
+ > default value: `/media/`
+ >>
+* `STATICFILES_STORAGE`
+ > default value: ``
+ >>
+* `STATIC_ROOT`
+ > default value: `/pod/static`
+ >>
+* `STATIC_URL`
+ > default value: `/static/`
+ >>
+* `USE_PODFILE`
+ > default value: `False`
+ >>
+* `VIDEOS_DIR`
+ > default value: `videos`
+ >>
+
+### language
+
+
+
+* `LANGUAGES`
+ > default value: `(('fr', 'Français'), ('en', 'English')))`
+ >>
+* `LANGUAGE_CODE`
+ > default value: `fr`
+ >>
+
+### Main
+
+* `ADMINS`
+ > default value: `[("Name", "adminmail@univ.fr"),]`
+ >>
+* `ALLOWED_HOSTS`
+ > default value: `['pod.localhost']`
+ >>
+* `BASE_DIR`
+ > default value: `os.path.dirname(os.path.dirname(os.path.abspath(__file__)))`
+ >>
+* `CACHES`
+ > default value: `{}`
+ >>
+* `CSRF_COOKIE_SECURE`
+ > default value: `not DEBUG`
+ >>
+* `DEBUG`
+ > default value: `True`
+ >>
+* `USE_DEBUG_TOOLBAR`
+ > default value: `True`
+ >> A boolean value that enables or disables the debugging tool.
+ >> Never deploy a production site with USE_DEBUG_TOOLBAR enabled.
+ >> _ref : [django-debug-toolbar.readthedocs.io](https://django-debug-toolbar.readthedocs.io/en/latest/)_
+* `LOGIN_URL`
+ > default value: `/authentication_login/`
+ >>
+* `MANAGERS`
+ > default value: `[]`
+ >>
+* `PROXY_HOST`
+ > default value: ``
+ >>
+* `PROXY_PORT`
+ > default value: ``
+ >>
+* `SECRET_KEY`
+ > default value: `A_CHANGER`
+ >>
+* `SECURE_SSL_REDIRECT`
+ > default value: `False`
+ >> Unless your site should be available over both SSL and non-SSL
+ >> connections, you may want to either set this setting True
+ >> or configure a load balancer or reverse-proxy server
+ >> to redirect all connections to HTTPS.
+* `SESSION_COOKIE_AGE`
+ > default value: `14400`
+ >>
+* `SESSION_COOKIE_SAMESITE`
+ > default value: `Lax`
+ >>
+* `SESSION_COOKIE_SECURE`
+ > default value: `not DEBUG`
+ >>
+* `SESSION_EXPIRE_AT_BROWSER_CLOSE`
+ > default value: `True`
+ >>
+* `SITE_ID`
+ > default value: `1`
+ >>
+* `TEST_SETTINGS`
+ > default value: `False`
+ >> Use to check if globals settings are in test mode or not.
+* `THIRD_PARTY_APPS`
+ > default value: `[]`
+ >>
+* `TIME_ZONE`
+ > default value: `UTC`
+ >>
+
+### Obsolescence
+
+* `ACCOMMODATION_YEARS`
+ > default value: `{}`
+ >>
+* `ARCHIVE_OWNER_USERNAME`
+ > default value: `"archive"`
+ >>
+* `POD_ARCHIVE_AFFILIATION`
+ > default value: `[]`
+ >>
+* `WARN_DEADLINES`
+ > default value: `[60, 30, 7]`
+ >>
+
+### Templating
+
+* `COOKIE_LEARN_MORE`
+ > default value: ``
+ >>
+* `DARKMODE_ENABLED`
+ > default value: `False`
+ >>
+* `DYSLEXIAMODE_ENABLED`
+ > default value: `False`
+ >>
+* `HIDE_CHANNEL_TAB`
+ > default value: `False`
+ >>
+* `HIDE_CURSUS`
+ > default value: `False`
+ >>
+* `HIDE_DISCIPLINES`
+ > default value: `False`
+ >>
+* `HIDE_LANGUAGE_SELECTOR`
+ > default value: `False`
+ >>
+* `HIDE_SHARE`
+ > default value: `False`
+ >>
+* `HIDE_TAGS`
+ > default value: `False`
+ >>
+* `HIDE_TYPES`
+ > default value: `False`
+ >>
+* `HIDE_TYPES_TAB`
+ > default value: `False`
+ >>
+* `HIDE_USERNAME`
+ > default value: `False`
+ >>
+* `HIDE_USER_FILTER`
+ > default value: `False`
+ >>
+* `HIDE_USER_TAB`
+ > default value: `False`
+ >>
+* `HOMEPAGE_NB_VIDEOS`
+ > default value: `12`
+ >>
+* `HOMEPAGE_SHOWS_PASSWORDED`
+ > default value: `False`
+ >>
+* `HOMEPAGE_SHOWS_RESTRICTED`
+ > default value: `False`
+ >>
+* `MENUBAR_HIDE_INACTIVE_OWNERS`
+ > default value: `True`
+ >>
+* `MENUBAR_SHOW_STAFF_OWNERS_ONLY`
+ > default value: `False`
+ >>
+* `SHIB_NAME`
+ > default value: `Identify Federation`
+ >>
+* `SHOW_EVENTS_ON_HOMEPAGE`
+ > default value: `False`
+ >>
+* `SHOW_ONLY_PARENT_THEMES`
+ > default value: `False`
+ >>
+* `TEMPLATE_VISIBLE_SETTINGS`
+ > default value: `{}`
+ >>
+
+### Transcoding
+
+* `TRANSCRIPTION_AUDIO_SPLIT_TIME`
+ > default value: `600`
+ >>
+* `TRANSCRIPTION_MODEL_PARAM`
+ > default value: `{}`
+ >>
+* `TRANSCRIPTION_NORMALIZE`
+ > default value: `False`
+ >>
+* `TRANSCRIPTION_NORMALIZE_TARGET_LEVEL`
+ > default value: `-16.0`
+ >>
+* `TRANSCRIPTION_STT_SENTENCE_BLANK_SPLIT_TIME`
+ > default value: `0.5`
+ >> Maximum time in seconds of gaps between each word for cutting subtitles with the STT tool.
+* `TRANSCRIPTION_STT_SENTENCE_MAX_LENGTH`
+ > default value: `2`
+ >> Maximum time in seconds for a sentence when transcribing with the STT tool.
+* `TRANSCRIPTION_TYPE`
+ > default value: `STT`
+ >>
+* `TRANSCRIPT_VIDEO`
+ > default value: `start_transcript`
+ >>
+* `USE_TRANSCRIPTION`
+ > default value: `False`
+ >>
+
+##
+
+### AI Enhancement application configuration
+
+AI Enhancement app to be able to use artificial intelligence enhancements for videos.
+Set `USE_AI_ENHANCEMENT` to True to activate this application.
+
+* `AI_ENHANCEMENT_API_URL`
+ > default value: ``
+ >> API URL for the AI video enhancement.
+ >> Example: 'https://aristote.univ.fr/api'
+ >> Project Link: https://www.demainestingenieurs.centralesupelec.fr/aristote/
+* `AI_ENHANCEMENT_API_VERSION`
+ > default value: ``
+ >> API version for the AI video enhancement.
+* `AI_ENHANCEMENT_CGU_URL`
+ > default value: ``
+ >> URL for General Terms and Conditions for API uses for the AI video enhancement.
+ >> Example: 'https://aristote.univ.fr/cgu'
+ >> Project Link: https://www.demainestingenieurs.centralesupelec.fr/aristote/
+* `AI_ENHANCEMENT_CLIENT_ID`
+ > default value: `mocked_id`
+ >> The video enhancement AI client ID.
+ >> Example: 'v1'
+* `AI_ENHANCEMENT_CLIENT_SECRET`
+ > default value: `mocked_secret`
+ >> The video enhancement AI client secret password.
+* `AI_ENHANCEMENT_FIELDS_HELP_TEXT`
+ > default value: ``
+ >> Set of help texts displayed with the form for improving a video with Aristotle's AI.
+* `USE_AI_ENHANCEMENT`
+ > default value: `False`
+ >> Activation of artificial intelligence enhancements. Allows users to use it.
+
+###
+
+* `AFFILIATION`
+ > default value: ``
+ >>
+* `AFFILIATION_EVENT`
+ > default value: ``
+ >>
+* `AFFILIATION_STAFF`
+ > default value: ``
+ >>
+* `AUTH_CAS_USER_SEARCH`
+ > default value: `user`
+ >>
+* `AUTH_LDAP_BIND_DN`
+ > default value: ``
+ >>
+* `AUTH_LDAP_BIND_PASSWORD`
+ > default value: ``
+ >>
+* `AUTH_LDAP_USER_SEARCH`
+ > default value: ``
+ >>
+* `AUTH_TYPE`
+ > default value: ``
+ >>
+* `CAS_ADMIN_AUTH`
+ > default value: `False`
+ >> To disable CAS authentication for the entire django admin app, set CAS_ADMIN_AUTH = False
+* `CAS_FORCE_LOWERCASE_USERNAME`
+ > default value: `False`
+ >>
+* `CAS_GATEWAY`
+ > default value: `False`
+ >>
+* `CAS_LOGOUT_COMPLETELY`
+ > default value: `True`
+ >> See [kstateome/django-cas](https://github.com/kstateome/django-cas)
+* `CAS_SERVER_URL`
+ > default value: `sso_cas`
+ >>
+* `CREATE_GROUP_FROM_AFFILIATION`
+ > default value: `False`
+ >>
+* `CREATE_GROUP_FROM_GROUPS`
+ > default value: `False`
+ >>
+* `DEFAULT_AFFILIATION`
+ > default value: ``
+ >>
+* `ESTABLISHMENTS`
+ > default value: ``
+ >>
+* `GROUP_STAFF`
+ > default value: `AFFILIATION_STAFF`
+ >>
+* `HIDE_LOCAL_LOGIN`
+ > default value: `False`
+ >>
+* `HIDE_USERNAME`
+ > default value: `False`
+ >>
+* `LDAP`
+ > default value: ``
+ >>
+* `LDAP_SERVER`
+ > default value: ``
+ >>
+* `OIDC_CLAIM_FAMILY_NAME`
+ > default value: `family_name`
+ >>
+* `OIDC_CLAIM_PREFERRED_USERNAME`
+ > default value: `preferred_username`
+ >>
+* `OIDC_CLAIM_GIVEN_NAME`
+ > default value: `given_name`
+ >>
+* `OIDC_DEFAULT_ACCESS_GROUP_CODE_NAMES`
+ > default value: `[]`
+ >>
+* `OIDC_DEFAULT_AFFILIATION`
+ > default value: ``
+ >>
+* `OIDC_NAME`
+ > default value: ``
+ >>
+* `OIDC_OP_AUTHORIZATION_ENDPOINT`
+ > default value: `https`
+ >>
+* `OIDC_OP_JWKS_ENDPOINT`
+ > default value: `https`
+ >>
+* `OIDC_OP_TOKEN_ENDPOINT`
+ > default value: `https`
+ >>
+* `OIDC_OP_USER_ENDPOINT`
+ > default value: `https`
+ >>
+* `OIDC_RP_CLIENT_ID`
+ > default value: `os.environ`
+ >>
+* `OIDC_RP_CLIENT_SECRET`
+ > default value: `os.environ`
+ >>
+* `OIDC_RP_SIGN_ALGO`
+ > default value: ``
+ >>
+* `POPULATE_USER`
+ > default value: `None`
+ >>
+* `REMOTE_USER_HEADER`
+ > default value: `REMOTE_USER`
+ >>
+* `SHIBBOLETH_ATTRIBUTE_MAP`
+ > default value: ``
+ >>
+* `SHIBBOLETH_STAFF_ALLOWED_DOMAINS`
+ > default value: ``
+ >>
+* `SHIB_LOGOUT_URL`
+ > default value: ``
+ >>
+* `SHIB_NAME`
+ > default value: ``
+ >>
+* `SHIB_URL`
+ > default value: ``
+ >>
+* `USER_CAS_MAPPING_ATTRIBUTES`
+ > default value: ``
+ >>
+* `USER_LDAP_MAPPING_ATTRIBUTES`
+ > default value: ``
+ >>
+* `USE_CAS`
+ > default value: `False`
+ >>
+* `USE_OIDC`
+ > default value: `False`
+ >>
+* `USE_SHIB`
+ > default value: `False`
+ >>
+
+###
+
+
+###
+
+* `ACTIVE_MODEL_ENRICH`
+ > default value: `False`
+ >>
+* `ALL_LANG_CHOICES`
+ > default value: ``
+ >>
+* `DEFAULT_LANG_TRACK`
+ > default value: `fr`
+ >>
+* `KIND_CHOICES`
+ > default value: ``
+ >>
+* `LANG_CHOICES`
+ > default value: ``
+ >>
+* `LINK_SUPERPOSITION`
+ > default value: `False`
+ >>
+* `MODEL_COMPILE_DIR`
+ > default value: `/path/of/project/Esup-Pod/compile-model`
+ >>
+* `PREF_LANG_CHOICES`
+ > default value: ``
+ >>
+* `ROLE_CHOICES`
+ > default value: ``
+ >>
+* `TRANSCRIPTION_MODEL_PARAM`
+ > default value: ``
+ >>
+* `TRANSCRIPTION_TYPE`
+ > default value: `STT`
+ >>
+* `USE_ENRICH_READY`
+ > default value: `False`
+ >>
+
+### Cut application configuration
+
+Cut application to cut videos.
+Set `USE_CUT` to True to activate this application.
+
+* `USE_CUT`
+ > default value: `True`
+ >> Activation of the Cut application
+
+### Dressing application configuration
+
+Dressing App to customize a video with watermark & credits.
+Set `USE_DRESSING` to True to activate this application.
+
+* `USE_DRESSING`
+ > default value: `True`
+ >> Activation of dressings. Allows users to customize a video with watermark & credits.
+
+###
+
+
+### Video import application configuration
+
+Import_video app to import external videos into Pod.
+Set `USE_IMPORT_VIDEO` to True to activate this application.
+
+* `MAX_UPLOAD_SIZE_ON_IMPORT`
+ > default value: `4`
+ >> Maximum size in Gb of video files that can be imported into the platform
+ >> via the import_video application (0 = no maximum size).
+* `RESTRICT_EDIT_IMPORT_VIDEO_ACCESS_TO_STAFF_ONLY`
+ > default value: `True`
+ >> Only "staff" users will be able to import videos
+* `USE_IMPORT_VIDEO`
+ > default value: `True`
+ >> Activation of the video import application
+* `USE_IMPORT_VIDEO_BBB_RECORDER`
+ > default value: `False`
+ >> Using the bbb-recorder plugin for the video import module;
+ >> useful for converting a BigBlueButton presentation into a video file.
+* `IMPORT_VIDEO_BBB_RECORDER_PLUGIN`
+ > default value: `/home/pod/bbb-recorder/`
+ >> bbb-recorder plugin directory (see [jibon57/bbb-recorder](https://github.com/jibon57/bbb-recorder) documentation).
+ >> bbb-recorder must be installed in this directory, on all encoding servers.
+ >> bbb-recorder creates a Downloads directory, at the same level, which requires disk space.
+* `IMPORT_VIDEO_BBB_RECORDER_PATH`
+ > default value: `True`
+ >> Directory that will contain the video files generated by bbb-recorder.
+
+###
+
+* `AFFILIATION_EVENT`
+ > default value: `['faculty', 'employee', 'staff']`
+ >>
+* `BROADCASTER_PILOTING_SOFTWARE`
+ > default value: `[]`
+ >>
+* `DEFAULT_EVENT_PATH`
+ > default value: ``
+ >>
+* `DEFAULT_EVENT_THUMBNAIL`
+ > default value: `/img/default-event.svg`
+ >>
+* `DEFAULT_EVENT_TYPE_ID`
+ > default value: `1`
+ >>
+* `DEFAULT_THUMBNAIL`
+ > default value: `img/default.svg`
+ >>
+* `EMAIL_ON_EVENT_SCHEDULING`
+ > default value: `True`
+ >>
+* `EVENT_ACTIVE_AUTO_START`
+ > default value: `False`
+ >>
+* `EVENT_CHECK_MAX_ATTEMPT`
+ > default value: `10`
+ >>
+* `EVENT_GROUP_ADMIN`
+ > default value: `event admin`
+ >>
+* `HEARTBEAT_DELAY`
+ > default value: `45`
+ >>
+* `LIVE_CELERY_TRANSCRIPTION`
+ > default value: `False`
+ >>
+* `LIVE_TRANSCRIPTIONS_FOLDER`
+ > default value: ``
+ >>
+* `LIVE_VOSK_MODEL`
+ > default value: `{}`
+ >>
+* `USE_BBB`
+ > default value: `False`
+ >>
+* `USE_BBB_LIVE`
+ > default value: `False`
+ >>
+* `USE_LIVE_TRANSCRIPTION`
+ > default value: `False`
+ >>
+ >> Enable auto-transcritption for live events
+* `VIEW_EXPIRATION_DELAY`
+ > default value: `60`
+ >>
+
+###
+
+* `LTI_ENABLED`
+ > default value: `False`
+ >>
+* `PYLTI_CONFIG`
+ > default value: `{}`
+ >> The PYLTI_CONFIG variable in your settings.py configures the application consumers and secrets.
+ >>
+ >> ```python
+ >> PYLTI_CONFIG = {
+ >> 'consumers': {
+ >> '': {
+ >> 'secret': ''
+ >> }
+ >> }
+ >> }
+ >> ```
+ >>
+
+###
+
+* `HOMEPAGE_VIEW_VIDEOS_FROM_NON_VISIBLE_CHANNELS`
+ > default value: `False`
+ >> Display videos from non visible channels on the homepage
+* `USE_BBB`
+ > default value: `True`
+ >>
+* `USE_BBB_LIVE`
+ > default value: `False`
+ >>
+* `USE_IMPORT_VIDEO`
+ > default value: `True`
+ >> Activation of the video import application
+* `USE_MEETING`
+ > default value: `False`
+ >> Activate the meeting application
+* `USE_OPENCAST_STUDIO`
+ > default value: `False`
+ >> Activate the [Opencast](https://opencast.org/) studio.
+* `VERSION`
+ > default value: ``
+ >> Version of the project
+* `WEBTV_MODE`
+ > default value: `False`
+ >> Webtv mode allows you to switch POD into a webtv application removing the connection buttons for example
+
+###
+
+
+
+* `BBB_API_URL`
+ > default value: ``
+ >>
+* `BBB_LOGOUT_URL`
+ > default value: ``
+ >>
+* `BBB_MEETING_INFO`
+ > default value: `{}`
+ >> list of key:value to get information from session meeting in BBB
+* `BBB_SECRET_KEY`
+ > default value: ``
+ >>
+* `DEFAULT_MEETING_THUMBNAIL`
+ > default value: `/img/default-meeting.svg`
+ >> Default image displayed as a poster or thumbnail, used to present the meeting.
+ >> This image must be located in the `static` directory.
+* `MEETING_DATE_FIELDS`
+ > default value: `()`
+ >> list of date fields for the meeting form
+ >> the fields are grouped into a fieldset
+* `MEETING_DISABLE_RECORD`
+ > default value: `True`
+ >>
+* `MEETING_MAIN_FIELDS`
+ > default value: `()`
+ >> list the main fields for the meeting session form
+ >> the main fields are displayed directly in the form page of a meeting
+* `MEETING_MAX_DURATION`
+ > default value: `5`
+ >> set the max duration for a meeting session
+* `MEETING_PRE_UPLOAD_SLIDES`
+ > default value: ``
+ >>
+ >> Pre-loaded slideshow for virtual meetings.
+ >> A user can override this value by choosing a slideshow when creating a virtual meeting.
+ >> Must be in the static directory.
+* `MEETING_RECORD_FIELDS`
+ > default value: `()`
+ >> list of all fields that will be hidden if `MEETING_DISABLE_RECORD` is set to True.
+* `MEETING_RECURRING_FIELDS`
+ > default value: `()`
+ >> List of all fields involved by the recurring of a meeting
+ >> In this case, all this fields are grouped in a fieldset shown in modal
+* `RESTRICT_EDIT_MEETING_ACCESS_TO_STAFF_ONLY`
+ > default value: `False`
+ >>
+* `USE_MEETING_WEBINAR`
+ > default value: `False`
+ >> Activate Webinar mode for the meetings module
+* `MEETING_WEBINAR_SIPMEDIAGW_URL`
+ > default value: ``
+ >> URL of the SIPMediaGW server that manages webinars (e.g. `https://sipmediagw.univ.fr`)
+* `MEETING_WEBINAR_SIPMEDIAGW_TOKEN`
+ > default value: ``
+ >> Bearer token for the SIPMediaGW server that manages webinars
+* `MEETING_WEBINAR_FIELDS`
+ > default value: `("is_webinar", "enable_chat")`
+ >> List the additional fields for the webinar session form
+ >> the additional fields are displayed directly in the form page of a webinar
+* `MEETING_WEBINAR_AFFILIATION`
+ > default value: `['faculty', 'employee', 'staff']`
+ >> Access groups or affiliations of people authorized to create a webinar
+* `MEETING_WEBINAR_GROUP_ADMIN`
+ > default value: `webinar admin`
+ >> Group of people authorized to create a webinar
+* `USE_MEETING`
+ > default value: `False`
+ >>
+
+### Playlist application configuration
+
+Playlist app for the playlist management.
+Set `USE_PLAYLIST` to True to activate this application.
+
+* `COUNTDOWN_PLAYLIST_PLAYER`
+ > default value: `0`
+ >> Countdown used between each video when playing an autoplay playlist.
+ >> The coutdown is not present if it at 0.
+* `DEFAULT_PLAYLIST_THUMBNAIL`
+ > default value: `/static/playlist/img/default-playlist.svg`
+ >> Default image displayed as a poster or thumbnail, used to present the playlist.
+ >> This image must be located in the `static` directory.
+* `RESTRICT_PROMOTED_PLAYLIST_ACCESS_TO_STAFF_ONLY`
+ > default value: `True`
+ >> Restrict access to promoted playlists creation to staff only.
+* `USE_FAVORITES`
+ > default value: `True`
+ >> Activation of favorite videos.
+ >> Allows users to add videos to their favorites.
+* `USE_PLAYLIST`
+ > default value: `True`
+ >> Activation of playlist. Allows users to add videos in a playlist.
+* `USE_PROMOTED_PLAYLIST`
+ > default value: `True`
+ >> Activation of promoted playlists. Allows users to use the promoted playlists.
+
+###
+
+* `FILES_DIR`
+ > default value: `files`
+ >>
+* `FILE_ALLOWED_EXTENSIONS`
+ > default value: `('doc', 'docx', 'odt', 'pdf', 'xls', 'xlsx', 'ods', 'ppt', 'pptx', 'txt', 'html', 'htm', 'vtt', 'srt')`
+ >> Extensions allowed for documents uploaded in the file manager (lowercase).
+* `FILE_MAX_UPLOAD_SIZE`
+ > default value: `10`
+ >> Maximum size in MB per file uploaded in the file manager
+* `IMAGE_ALLOWED_EXTENSIONS`
+ > default value: `('jpg', 'jpeg', 'bmp', 'png', 'gif', 'tiff', 'webp')`
+ >> Allowed extensions for images uploaded in the file manager (must be lowercase).
+
+###
+
+* `USE_NOTIFICATIONS`
+ > default value: `True`
+ >>
+* `WEBPUSH_SETTINGS`
+ > default value:
+
+ ```python
+ {
+ 'VAPID_PUBLIC_KEY': '',
+ 'VAPID_PRIVATE_KEY': '',
+ 'VAPID_ADMIN_EMAIL': 'contact@esup-portail.org'
+ }
+ ```
+
+ >>
+
+### Quiz application configuration
+
+Quiz App to add various questions on videos.
+Set `USE_QUIZ` to True to activate this application.
+
+* `USE_QUIZ`
+ > default value: `True`
+ >> Activation of quizzes. Allows users to create, respond and use quizzes in videos.
+
+###
+
+* `ALLOW_MANUAL_RECORDING_CLAIMING`
+ > default value: `False`
+ >>
+* `ALLOW_RECORDER_MANAGER_CHOICE_VID_OWNER`
+ > default value: `True`
+ >> If True, the manager of the recorder can choose the recorder file owner
+* `DEFAULT_RECORDER_ID`
+ > default value: `1`
+ >> Add a default recorder to an unidentifiable recording file.
+* `DEFAULT_RECORDER_PATH`
+ > default value: `/data/ftp-pod/ftp/`
+ >> Root path of the directory where the recordings are deposited
+* `DEFAULT_RECORDER_TYPE_ID`
+ > default value: `1`
+ >> Default video type identifier (if not specified).
+* `DEFAULT_RECORDER_USER_ID`
+ > default value: `1`
+ >> Identifier of the default owner (if not specified) of the deposited records.
+* `OPENCAST_DEFAULT_PRESENTER`
+ > default value: `mid`
+ >>
+* `OPENCAST_FILES_DIR`
+ > default value: `opencast-files`
+ >>
+* `OPENCAST_MEDIAPACKAGE`
+ > default value: `-> see xml content`
+ >> Default content of the xml file to create the mediapackage for the studio. This file will contain all the specifics of the recording (source, cutting, title, presenter etc.)
+* `PUBLIC_RECORD_DIR`
+ > default value: `records`
+ >> Web access path (public) to the recording repository directory (`DEFAULT_RECORDER_PATH`).
+ >> Warning: remember to modify the NGINX conf
+* `RECORDER_ADDITIONAL_FIELDS`
+ > default value: `()`
+ >> List of additional fields for the recorders form. This list includes the name of the fields corresponding to the editing parameters of a video (Discipline, Channel, Theme, keywords...).
+ >> The following example includes all the possible fields, but can be lightened according to needs.
+ >> The videos will then be generated with the values of the additional fields as defined in their recorder.
+* `RECORDER_ALLOW_INSECURE_REQUESTS`
+ > default value: `False`
+ >>
+* `RECORDER_BASE_URL`
+ > default value: `https://pod.univ.fr`
+ >>
+* `RECORDER_SELF_REQUESTS_PROXIES`
+ > default value: `{"http": None, "https": None}`
+ >>
+* `RECORDER_SKIP_FIRST_IMAGE`
+ > default value: `False`
+ >>
+* `RECORDER_TYPE`
+ > default value: `(('video', _('Video')), ('audiovideocast', _('Audiovideocast')), ('studio', _('Studio')))`
+ >> Type of record managed by the platform.
+ >> A recorder can only upload files of the type offered by the platform.
+ >> The processing is done according to the type of file deposited.
+* `USE_OPENCAST_STUDIO`
+ > default value: `False`
+ >>
+* `USE_RECORD_PREVIEW`
+ > default value: `False`
+ >> If True, displays the video preview icon in the "Claim a recording" page.
+
+###
+
+* `ACTIVE_VIDEO_COMMENT`
+ > default value: `False`
+ >>
+* `CACHE_VIDEO_DEFAULT_TIMEOUT`
+ > default value: `600`
+ >>
+ >> Time in second to cache video data
+* `CHANNEL_FORM_FIELDS_HELP_TEXT`
+ > default value: ``
+ >>
+* `CHUNK_SIZE`
+ > default value: `1000000`
+ >>
+* `CURSUS_CODES`
+ > default value: `()`
+ >>
+* `DEFAULT_DC_COVERAGE`
+ > default value: `TITLE_ETB + " - Town - Country"`
+ >>
+* `DEFAULT_DC_RIGHTS`
+ > default value: `BY-NC-SA`
+ >>
+* `DEFAULT_THUMBNAIL`
+ > default value: `img/default.svg`
+ >>
+* `DEFAULT_TYPE_ID`
+ > default value: `1`
+ >>
+* `DEFAULT_YEAR_DATE_DELETE`
+ > default value: `2`
+ >>
+* `FORCE_LOWERCASE_TAGS`
+ > default value: `True`
+ >>
+* `LANG_CHOICES`
+ > default value: ``
+ >>
+* `LICENCE_CHOICES`
+ > default value: `()`
+ >>
+* `MAX_DURATION_DATE_DELETE`
+ > default value: `10`
+ >>
+* `MAX_TAG_LENGTH`
+ > default value: `50`
+ >>
+* `NOTES_STATUS`
+ > default value: `()`
+ >>
+* `OEMBED`
+ > default value: `False`
+ >>
+* `ORGANIZE_BY_THEME`
+ > default value: `False`
+ >>
+* `RESTRICT_EDIT_VIDEO_ACCESS_TO_STAFF_ONLY`
+ > default value: `False`
+ >>
+* `THEME_FORM_FIELDS_HELP_TEXT`
+ > default value: `""`
+ >>
+* `USER_VIDEO_CATEGORY`
+ > default value: `False`
+ >>
+* `USE_OBSOLESCENCE`
+ > default value: `False`
+ >>
+* `USE_STATS_VIEW`
+ > default value: `False`
+ >>
+* `USE_VIDEO_EVENT_TRACKING`
+ > default value: `False`
+ >>
+* `USE_XAPI_VIDEO`
+ > default value: `False`
+ >>
+ >> Enables sending xAPI statements for the video player.
+ >> Attention, you must set USE_XAPI to True for the statements to be sent.
+* `VIDEO_ALLOWED_EXTENSIONS`
+ > default value: `()`
+ >> Allowed extensions for video upload on the platform (lowercase).
+* `VIDEO_FEED_NB_ITEMS`
+ > default value: `100`
+ >>
+* `VIDEO_FORM_FIELDS`
+ > default value: `__all__`
+ >> List of displayed video editing form fields.
+* `VIDEO_FORM_FIELDS_HELP_TEXT`
+ > default value: ``
+ >>
+* `VIDEO_MAX_UPLOAD_SIZE`
+ > default value: `1`
+ >>
+* `VIDEO_PLAYBACKRATES`
+ > default value: `[0.5, 1, 1.5, 2]`
+ >>
+* `VIDEO_RECENT_VIEWCOUNT`
+ > default value: `180`
+ >> Duration (in number of days) over which we wish to count the number of recent views.
+* `VIDEO_REQUIRED_FIELDS`
+ > default value: `[]`
+ >>
+* `VIEW_STATS_AUTH`
+ > default value: `False`
+ >>
+
+###
+
+
+
+* `CELERY_BROKER_URL`
+ > default value: `redis://redis.localhost:6379/5`
+ >>
+* `CELERY_TO_ENCODE`
+ > default value: `False`
+ >>
+* `DEFAULT_LANG_TRACK`
+ > default value: `fr`
+ >>
+* `EMAIL_ON_ENCODING_COMPLETION`
+ > default value: `True`
+ >>
+* `EMAIL_ON_TRANSCRIPTING_COMPLETION`
+ > default value: `True`
+ >>
+* `ENCODE_STUDIO`
+ > default value: `start_encode_studio`
+ >>
+* `ENCODE_VIDEO`
+ > default value: `start_encode`
+ >>
+* `ENCODING_CHOICES`
+ > default value: `()`
+ >>
+* `ENCODING_TRANSCODING_CELERY_BROKER_URL`
+ > default value: `False`
+ >>
+* `FORMAT_CHOICES`
+ > default value: `()`
+ >>
+* `USE_REMOTE_ENCODING_TRANSCODING`
+ > default value: `False`
+ >>
+* `POD_API_URL`
+ > default value: ``
+ >> Address of API rest to be called at the end of remote encoding or remote transcription.
+ >> Example: `https://pod.univ.fr/rest/`
+* `POD_API_TOKEN`
+ > default value: ``
+ >> Authentication token used for the call at the end of remote encoding or remote transcription.
+ >> To create it, go to Admin > Authentication token > token.
+* `VIDEO_RENDITIONS`
+ > default value: `[]`
+ >>
+
+###
+
+* `ES_INDEX`
+ > default value: `pod`
+ >>
+* `ES_MAX_RETRIES`
+ > default value: `10`
+ >>
+* `ES_TIMEOUT`
+ > default value: `30`
+ >>
+* `ES_URL`
+ > default value: `["http://elasticsearch.localhost:9200/"]`
+ >>
+* `ES_VERSION`
+ > default value: `6`
+ >>
+* `ES_OPTIONS`
+ > default value: `{}`
+ >>
+
+###
+
+Application for sending xAPI statements to an LRS.
+No statements persist in Pod, they are all sent to the configured LRS.
+Please note, Celery must be set to send statements.
+
+* `USE_XAPI`
+ > default value: `False`
+ >>
+* `XAPI_ANONYMIZE_ACTOR`
+ > default value: `True`
+ >>
+* `XAPI_LRS_LOGIN`
+ > default value: ``
+ >>
+* `XAPI_LRS_PWD`
+ > default value: ``
+ >>
+* `XAPI_LRS_URL`
+ > default value: ``
+ >>
diff --git a/CONFIGURATION_FR.md b/CONFIGURATION_FR.md
index 1ec921e701..0594364eeb 100644
--- a/CONFIGURATION_FR.md
+++ b/CONFIGURATION_FR.md
@@ -1191,6 +1191,9 @@ Mettre `USE_IMPORT_VIDEO` à True pour activer cette application.
* `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
diff --git a/pod/main/configuration.json b/pod/main/configuration.json
index b8dd1c5937..19a5ad51ef 100644
--- a/pod/main/configuration.json
+++ b/pod/main/configuration.json
@@ -1588,6 +1588,19 @@
},
"pod_version_end": "",
"pod_version_init": "3.1.0"
+ },
+ "WEBTV_MODE": {
+ "default_value": false,
+ "description": {
+ "en": [
+ "Webtv mode allows you to switch POD into a webtv application removing the connection buttons for example"
+ ],
+ "fr": [
+ "Mode webtv permet de basculer POD en une application webtv ensupprimant les boutons de connexions par exemple"
+ ]
+ },
+ "pod_version_end": "",
+ "pod_version_init": "3.7.0"
}
},
"title": {
diff --git a/pod/main/context_processors.py b/pod/main/context_processors.py
index b4aa95530d..6f7ca5fec4 100644
--- a/pod/main/context_processors.py
+++ b/pod/main/context_processors.py
@@ -85,6 +85,8 @@
)
USE_NOTIFICATIONS = getattr(django_settings, "USE_NOTIFICATIONS", True)
+WEBTV_MODE = getattr(django_settings, "WEBTV_MODE", False)
+
def context_settings(request):
"""Return all context settings."""
@@ -146,6 +148,7 @@ def context_settings(request):
RESTRICT_EDIT_MEETING_ACCESS_TO_STAFF_ONLY
)
new_settings["USE_NOTIFICATIONS"] = USE_NOTIFICATIONS
+ new_settings["WEBTV_MODE"] = WEBTV_MODE
return new_settings
diff --git a/pod/main/templates/navbar.html b/pod/main/templates/navbar.html
index 1002de7fa3..675ee251dc 100644
--- a/pod/main/templates/navbar.html
+++ b/pod/main/templates/navbar.html
@@ -335,14 +335,16 @@ {% trans 'Your statistics' %}
{% else %}{# user not authenticated #}
- {% get_setting "LOGIN_URL" "/authentication_login/" as LOGIN_URL %}
- {% if request.path != LOGIN_URL %}
-
- {% get_url_referrer request as url_referrer %}
-
- {% trans 'Log in' %}
-
-
+ {% if not WEBTV_MODE %}
+ {% get_setting "LOGIN_URL" "/authentication_login/" as LOGIN_URL %}
+ {% if request.path != LOGIN_URL %}
+
+ {% get_url_referrer request as url_referrer %}
+
+ {% trans 'Log in' %}
+
+
+ {% endif %}
{% endif %}
{% endif %}
diff --git a/pod/main/tests/test_views.py b/pod/main/tests/test_views.py
index f2be6aeb5c..af408b92ca 100644
--- a/pod/main/tests/test_views.py
+++ b/pod/main/tests/test_views.py
@@ -525,6 +525,16 @@ def test_statistics_playlists(self) -> None:
print(" ---> test_statistics_playlists ok")
+ @override_settings(WEBTV_MODE=True)
+ def test_login_button_hidden(self) -> None:
+ """Test if login button is hidden when the webtv mode is true."""
+ importlib.reload(context_processors)
+ response = self.client.get("/")
+ self.assertFalse(
+ 'id="nav-authentication"' in response.content.decode(),
+ "test if login button is correctly hidden",
+ )
+
class TestBlock(TestCase):
"""Block tests case."""