Rappels
Pour rappel de l'offre SaaS-POD "ESUP-Pod : une plateforme de publication de vidéos pour faciliter la gestion et la diffusion des médias" : https://www.esup-portail.org/offre-saas
L'offre SaaS-POD est fournit par ESUP-Portail et est opéré par l'Université de Lorraine
Pour en bénéficier il faut :
- Etre adhérent du consortium ESUP-Portail (https://www.esup-portail.org/comment-adherer)
- Souscrire à l'offre SaaS-POD (https://www.esup-portail.org/offre-saas)
Chaque instances POD en mode SaaS est indépendante des autres (nom DNS, BDD, Redis, filessytem, ....)
Une fois l'offre contractualisé vous disposerez de 2 plateformes 1 de test et 1 de production (la plateforme de test ne contient que 1 backend, 1 encodeur et 1 transcodeur celle de production contient le double)
Ce que fait l'offre SaaS-POD
On installe un ESUP-Pod complet (encodeur(s), transcodeur(s), indexation, base de données et espace de stockage 1To de base)
Pour la partie Live
L'offre SaaS POD ne fournit pas de serveur de Live (RTMP to HLS).
Ils sont a installer directement dans l'établissement consommateur (https://esupportail.github.io/Esup-Pod/4.x/Installation/optional/set-up-live_fr)
Les matériels de captation (amphis, obs, kast, etc ...) doivent être branché sur le serveur de Live.
POD en mode SaaS vous permettra de créer de "diffuseur" ou vous pourrez référencer les URL des playlist HLS et vous permettra ainsi de faire la restitution d'une vidéo live capté depuis un matériel directement dans votre POD
Qui fait quoi ?
On identifie plusieurs rôles dans cette partie :
- Fournisseur : établissement fournissant l'offre SaaS POD pour ESUP (Université de Lorraine)
- Consommateur : établissement ayant souscrit à l'offre POD SaaS
- Administrateur : personnes identifiés dans l'établissement consommateur comme étant le PCU (Point de Contact Unique)
- Utilisateurs : personnes utilisant dans l'établissement consommateur le service POD SaaS
- Installation : Fournisseur
- Paramétrages : Fournisseur en lien avec les Administrateurs de l'établissement Consommateur pour la configuration
- Maintien en conditions opérationnelles : Fournisseur
- Support niveau 1 aux utilisateurs : Consommateur (Administrateurs ou service dédié de l'établissement consommateur)
- Support Niveau 2 : Fournisseur en lien avec les Administrateur de l'établissement Consommateur via la plateforme de ticket https://saas.esup-portail.org/
- Mise à jour : Fournisseur en concertation avec les Administrateurs de l'établissement Consommateur
- Planning concerté : Fournisseur + Administrateur
- Installation sur la plateforme de test : Fournisseur
- Validation du bon fonctionnement : Administrateur
- Installation sur la plateforme de production : Fournisseur
- Validation du bon fonctionnement : Administrateur
Déroulé pour avoir un POD en mode SaaS
- Prise de contact par mail via offre_saas@esup-portail.org : volonté d'étudier le passage ou la création de POD en mode SaaS
- S'assurer d'être adhérent ESUP-Portail
- Première réunion visio : on cadre la demande, les besoins, les interconnexion SI consommateur, on voit le planning
- Mail de recap avec les infos technique nécessaire pour créer l'instance de test (voir dessous "informations nécessaires")
- Montage de l'instance de test en lien avec le SI consomateur
- Test et validation du fonctionnement par le consommateur
- Eventuellement test des scripts de récupération de contenu d'ancienne plateforme
- Montage de l'instance de production après le GO consommateur
- Formation rapide pour les personnes nomé administrateur de la plateforme pod pour le consommateur
- Eventuellement (si plateforme vidéo préexistante) import des anciennes vidéos
Solution préexistante
Si vous avez une solution de vidéo existant (prism, youtube, ....), vous devez prévoir la migration de vos anciennes vidéos vers le nouvelle offre POD en mode SaaS.
La fourniture du POD en mode SaaS ne s'occupe pas de faire la reprise de l'existant (sauf exception de vieux pod prendre contact avec nous), cependant nous venons en appuis de ce récupération.
ESUP-Pod dispose d'API permettant de faire des opérations en masse. Nous avons développé des scripts d'exemple pour faciliter la récupération d'un historique : https://gitlab.univ-lorraine.fr/marchal66/esup-pod-api-sample/
Les API de ESUP-Pod permettent de précréer les utilisateurs, de charger un liste de discipline et d'envoyer des vidéos le tout sur la base de fichier csv.
Un point d'attention est a noter sur les url d'accès aux vidéos :
- vous disposez d'une ancien plateforme (avant pod) https://ancien-systeme.univ.fr
- vous souhaitez
- avoir un nouveau nom de domaines https://nouveau-pod.univ.fr
- dans ce cas afin de garantir la continuité des url de l'ancienne interface ancien-systeme.univ.fr (potentiellement référencé dans votre moodle ou vos site internet)
- il vous faudra lors de la récupération des anciennes vidéos (surtout lors de l'envoi vers le nouveau POD SaaS) constituer un fichier de mapping
- ancienne adresse de la vidéo https://ancien-systeme.univ.fr/la-video-de-cours-de-james-bond.avi)
- => nouvelle adresse https://nouveau-pod.univ.fr/video/12345-cours-bond/ (la nouvelle adresse sera donné lors de l'upload de la vidéo via l'api - slug)
- L'établissement consommateur devra mettre en place un serveur (ha-proxy, nginx, apache) répondant sur l'adresse https://ancien-systeme.univ.fr avec le comportement suivant
- si l'adresse ancienne est trouvée dans le fichier de mapping il faut renvoyer (code http 308) vers la nouvelle adresse
- si elle n'est pas trouvé laisser passer vers l'ancien système
- garder le même nom de domaines https://ancien-systeme.univ.fr
- dans ce cas il faudra faire en 2 temps
- monter le nouveau POD SaaS sur une adresse temporaire https://nouveau-pod.univ.fr
- faire la procédure de migration des anciennes vidéos
- renommer dans les configuration https://nouveau-pod.univ.fr en https://ancien-systeme.univ.fr
- changer votre déclaration DNS (pensez a modifier le TTL DNS 3600 quelques jours avant) pour pointer https://ancien-systeme.univ.fr vers le POD en mode SaaS
- dans ce cas il faudra faire en 2 temps
- avoir un nouveau nom de domaines https://nouveau-pod.univ.fr
Informations nécessaires
Pour monter un POD en mode SaaS il faudra :
DNS
définir le nom DNS des l'instance de test (https://videos-test.univ.fr) et de production (https://videos.univ.fr)
- faire 2 CNAME dans le DNS de l'établissement consommateur
- videos-test.univ.fr CNAME vers saas-pod-XXX.univ-lorraine.fr (XXX informations fournit par mail lors de la première réunion)
- videos.univ.fr CNAME vers saas-pod-XXX-test.univ-lorraine.fr (XXX informations fournit par mail lors de la première réunion)
Volumétrie
- L'offre POD en mode SaaS arrive avec 1To d'espace de stockage
- Il est important d'évaluer le stockage de départ (en To et en nombre de vidéo d'origine), il pourra être augmenté à la demande par la suite) au risque de se retrouver bloquer lors d'importation de vidéo
- A savoir dans POD
- on garde toujours le fichier d'origine qui a été déposé par l'utilisateur
- on réencode ce fichier en plusieurs versions (h264) selon la qualité du fichier d'origine
- si le fichier est de qualité 1080 on va ressortir 3 qualité 360, 720 et 1080
- par contre si il est de qualité inférieur 720 on ne ressort que 360 et 720 - pas de upscaling)
- liste des fichiers
- 360p.m3u8 : playlist pour faire le streaming de la qualité 360p utilise le fichier 360p.ts (léger)
- 360p.ts : fichier TS qualité 360p pour le streaming (gros)
- 720p.m3u8 : playlist pour faire le streaming de la qualité 720p utilise le fichier 720p.ts (léger)
- 720p.ts : fichier TS qualité 720p pour le streaming (gros)
- 1080p.m3u8 : playlist pour faire le streaming de la qualité 1080p utilise le fichier 1080p.ts (léger)
- 1080p.ts : fichier TS qualité 1080p pour le streaming (gros)
- livestream.m3u8 : playlist que le lecteur ESUP-Pod utilise pour le visionnage permettant au visionneur de choisir la qualité de restitution utilise les fichiers 360p.m3u8, 720p.m3u8 et 1080p.m3u8 (léger)
- 360p.mp4 : fichier mp4 qualité 360p proposé au téléchargement pour lecture offline (au choix de l'utilisateur ayant déposer la vidéo) (gros)
- 720p.mp4 : fichier mp4 qualité 720pproposé au téléchargement pour lecture offline (au choix de l'utilisateur ayant déposer la vidéo)(gros)
- audio_192k.mp3 : fichier mp3 de l'extraction de la bande son de la vidéo (gros)
- overview.png : image de vignette permettant de survoler la barre de défilement de la vidéo et avoir un apercu (léger)
- Cela veut donc dire que si on dépose un fichier cd 1Go on obtient sur le stockage final de 3.5Go (1Go origine + 2.5Go) généré ce coefficient est très variable il s'agit d'une moyenne, il dépend de la vidéo d'origine, des mouvement et de la compression applicable
Authentification
- Accès admin fournisseur
- L'établissement fournisseur dispose d'un compte administrateur local.
- Par défaut l'authentification locale sera masquée même si celle-ci est active pour permettre au Fournisseur de se connecter pour assurer l'assistance (https://videos.univ.fr/accounts/login/?next=https%3A//videos.univ.fr/)
- ESUP-POD en mode SaaS propose 3 modes d'authentitification
- Locale : les comptes sont a créer à la main ou via l'API par les administrateurs de l'établissement consommateur (pas de connexion au SI établissement)
- CAS : authentitfication centrale des beaucoup d'aétablissement ESR, pour faire ud CAS il faut
- l'adresse du CAS de l'établissement consommateur https://cas.univ.fr(/cas)
- que vous autoriser les nom DNS précédement créer a utiliser votre CAS
- Le CAS doit renvoyer les attributs suivants
- uid
- sn
- givenName
- eduPersonPrimaryAffiliation et eduPersonAffiliation
- permettra de déterminer le profil de l'utilisateur se connectant et permettant de donner les droits de dépôt de vidéo ou non)
- si la liste des valeurs diffère de SupAnn (https://services.renater.fr/documentation/supann/courant/recommandations/attributs/edupersonaffiliation) fournir la liste des valeurs
- par défaut nous mettons en place le mode gateway du CAS : lorsque l'utilisateur veux se connecter si il est déjà connecté précédemment au CAS sont authentification dans POD SaaS est transparente
- Fédération Shibboleth RENATER
- Branchement à la fédération RENATER : tous les utilisateurs de la fédération peuvent se connecter au POD
- Branchemetn sur une micro fédération de quelques établissement de l'ESR (voir avec Renater pour la création d'une micro fédération)
- Dans les cas cas les attributs nécessaire sont
- eduPersonPrincipalName
- sn
- givenName
- eduPersonAffiliation
- eduPersonPrimaryAffiliation
- Il faudra ensuite faire les déclaration du SP dans la fédération l'url des metadata vous sera fournit lorsque l'instance de test et production sera créée https://videos.univ.fr/Shibboleth.sso/metadata
- Les administrateurs de l'établissement consommateur
- vous devrez forunir la liste des personnes devant être super-admin de la plateforme POD en mode SaaS
- Nom
- Prénom
- Identifiant
- Une fois ces super-admin créé il pourront se connecter via le système d'authentification choisie par l'établissement et pourront à leur tour créer des comptes admin, super-admin et gérer le vidéo
- vous devrez forunir la liste des personnes devant être super-admin de la plateforme POD en mode SaaS
Certificats
- Les certificats seront obligatoirement gérer via ACME et renouveller automatiquement (nous n'accepterons pas d'envoi de CSR ou de certificat par mail ou autre mécanisme manuel)
- Letsencrypt
- si vous souhaitez utiliser Letsencrypt c'est possible
- Veiller a ne pas interdire dans votre DNS l'utilisation de Letsencrypt (enregistrement AAAA)
- Harica
- si vous souhaitez que les certificats sont géré par Harica (Solution à priviliégier), il faudra fournir un compte harica qui a les droits de demander des certificats pour les deux domaine (test et production)
- Key ID
- HMAC Key
- Server URL
- si vous souhaitez que les certificats sont géré par Harica (Solution à priviliégier), il faudra fournir un compte harica qui a les droits de demander des certificats pour les deux domaine (test et production)
Envoie de mail
- La plateforme PODen mode SaaS envoie plusieurs type de mail
- les mails vers l'administrateur de l'établissement fournisseur (erreur, blocage, problème)
- les mails vers l'administrateur de l'établissement consommateur (erreur, blocage, problème) - configurable activable ou non
- les mails vers l'administrateur de l'établissement consommateur (dépôt de vidéo, encodage, transcription fini) - configurable activable ou non
- les mails vers l'utilisateur de l'établissement consommateur ayant déposé une vidéo (encodage, transcription fini, formulaire de contact sur la vidéo) - configurable activable ou non
- Pour que le POD en mode SaaS puisse envoyer des mail ceux-ci doivent partir du système de messagerie de l'établissement consommateur et vous devez fournir :
- host smtp
- port smtp
- type de sécurité (SSL/TLS)
- login
- mot de passe
- Il est possible lors de la phase d'import en masse de désactiver la notification des utilisateur de l'établissement consommateur
Graphisme
- Lors de la création de la plateforme POD SaaS de test une première version du graphisme sera fait à base de la charte graphique du site institutionnel de l'établissement consommateur
- Cette charte peut faire l'objet de modification par le fournisseur sur demande du consommateur
Interconnexion BBB
Si vous disposez d'un accès au BBB ESR fourni par FUN ou se vous souhaitez demande un accès a FUN vous devrez fournir
- URL de BBB API
- le token de ce BBB
Interconnexion AI Aristote
Si vous disposez d'un accès à l'IA Aristote fourni par CentralSupElec/ILaaS ou se vous souhaitez demander un vous devrez fournir
- API Url
- API Version : v1
- Url des CGU
- Client ID
- Client Secret
Intégration Moodle
2 solutions existent :
- Le plugins Moodle Repository POD :
il est a installer dans votre moodle établissement
il se branche sur pod avec un clé d'API a généré dans l'interface d'administration de votre pod en mode SaaS ("token")
- Ressources
- oEmbed
- ESUP-POD en mode SaaS est compatible oEmbed
- Il faudra définir un provider oembed pod dans votre moodle (cf https://moodle.org/plugins/filter_oembed)
- sur chaque page de vidéo vous aller trouver dans le code source de la page
<link rel="alternate" type="application/json+oembed" href="https://videos.univ.fr/video/oembed/?url=https%3A//videos.univ.fr/video/1234-cours-james-bond/&format=json"> <link rel="alternate" type="text/xml+oembed" href="https://videos.univ.fr/video/oembed/?url=https%3A//videos.univ.fr/video/1234-cours-james-bond/&format=xml">
- en copier/collant l'url de la vidéo de votre POD en mode SaaS dans un cours moodle
- Moodle va intéroger la page et récupérer ce code
- il va ensuite interrroger la page https://videos.univ.fr/video/oembed/?url=https%3A//videos.univ.fr/video/1234-cours-james-bond/&format=json
- et obtenir le codesuivant
{
"type": "video",
"version": "1.0",
"provider_name": "Vidéothèque établissement forunisseur",
"provider_url": "https://videos.univ.fr",
"width": 640,
"height": 360,
"title": "le titre de la vidéo du cours de james bond",
"author_name": "James Bond",
"author_url": "https://videos.univ.fr/videos/?owner=james.bond@etablissement.fr",
"html": "\u003Ciframe src=\"https://videos.univ.fr/video/1234-cours-james-bond/?is_iframe=true\" width=\"640\" height=\"360\" style=\"padding: 0; margin: 0; border:0\" allowfullscreen loading='lazy'\u003E\u003C/iframe\u003E",
"thumbnail_url": "https://videos.univ.fr/static/custom/default-thumbnail.svg",
"thumbnail_width": 280,
"thumbnail_height": 140
} - Moodle va ainsi intégrer le code iframe qui permet d'avoir le rendu de la vidéo
- en copier/collant l'url de la vidéo de votre POD en mode SaaS dans un cours moodle
- Ressources