esup-pod

Arborescence des pages

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 :

L'offre SaaS POD est installée sur le datacenter labellisé par la DGRI de l'Université de Lorraine (Adage à terme), toutes les données et serveurs permettant de la faire fonctionner se trouvent sur le site nancéien, les sauvegardes sont externalisées sur le site de Strasbourg.

Chaque instance POD en mode SaaS est indépendante des autres (nom DNS, BDD, Redis, filessytem, ....)

Une fois l'offre contractualisée 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 un espace de stockage de 1To pour l'offre de base)


Pour la partie Live

L'offre SaaS POD ne fournit pas de serveur de Live (RTMP to HLS).

Ils sont à 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és sur le serveur de Live.

POD en mode SaaS vous permettra de créer un "diffuseur" permettant de référencer les URL des playlists HLS et vous permettra ainsi de faire la restitution d'une vidéo live captée depuis un matériel directement dans votre POD.

Qui fait quoi ?

On identifie plusieurs rôles dans cette partie :

  1. Fournisseur : établissement fournissant l'offre SaaS POD pour ESUP (Université de Lorraine)
  2. Consommateur : établissement ayant souscrit à l'offre POD SaaS
  3. Administrateur : personnes identifiées  dans l'établissement consommateur comme étant le PCU (Point de Contact Unique)
  4. 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 Administrateurs 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

  1. 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
  2. S'assurer d'être adhérent ESUP-Portail
  3. Première réunion visio : on cadre la demande, les besoins, les interconnexions au SI consommateur, on voit le planning
  4. Mail de recap avec les infos techniques nécessaires pour créer l'instance de test (voir dessous "informations nécessaires")
  5. Montage de l'instance de test en lien avec le SI consommateur
  6. Test et validation du fonctionnement par le consommateur
  7. Éventuellement test des scripts de récupération de contenu d'ancienne plateforme POD
  8. Montage de l'instance de production après le GO consommateur
  9. Formation rapide pour les personnes nommées administrateur de la plateforme pod pour le consommateur
  10. Éventuellement (si plateforme vidéo POD préexistante) import des anciennes vidéos

Solution préexistante

Si vous avez une solution de vidéo existante (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 appui de cette récupération.

ESUP-Pod dispose d'API (https://www.esup-portail.org/wiki/spaces/ES/pages/769392641/Utilisation+de+l+API+Rest). 
Cette API permet 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 à noter sur les urls d'accès aux vidéos : 

  • vous disposez d'une ancienne 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 urls de l'ancienne interface ancien-systeme.univ.fr (potentiellement référencé dans votre moodle ou vos sites 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ée 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ée, laisser passer vers l'ancien système
    • garder le même nom de domaine https://ancien-systeme.univ.fr
      • dans ce cas il faudra faire en 2 temps

Informations nécessaires

Pour monter un POD en mode SaaS il faudra : 

DNS

  1. définir le nom DNS de l'instance de test (https://videos-test.univ.fr) et de production (https://videos.univ.fr)

  2. faire 2 CNAME dans le DNS de l'établissement consommateur
    1. videos-test.univ.fr CNAME vers saas-pod-XXX.univ-lorraine.fr (XXX : information fournit par mail lors de la première réunion)
    2. videos.univ.fr CNAME vers saas-pod-XXX-test.univ-lorraine.fr (XXX : information fournit par mail lors de la première réunion)

Volumétrie

  1. L'offre POD en mode SaaS comprend 1To d'espace de stockage
  2. Le stockage de l'offre POD en mode SaaS est sauvegardé en S3 sur le site strasbourgeois
    1. 1 sauvegarde par jour sur 15 jours
    2. 1 sauvegarde par semaine sur 6 semaines
  3. Il est important d'évaluer le stockage de départ (en To et en nombre de vidéo d'origine) au risque de se retrouver bloquer lors d'importation de vidéo. Il pourra quoiqu'il en soit être augmenté à la demande par la suite.
  4. À savoir dans POD
    1. on garde toujours le fichier d'origine qui a été déposé par l'utilisateur
    2. on réencode ce fichier en plusieurs versions (h264) selon la qualité du fichier d'origine
      1. si le fichier est de qualité 1080 on va ressortir 3 qualité 360, 720 et 1080
      2. par contre si il est de qualité inférieur (entre 720 et 1080) on ne ressort que 360 et 720 - pas de upscaling)
      3. liste des fichiers 
        1. 360p.m3u8 : playlist pour faire le streaming de la qualité 360p utilise le fichier 360p.ts (léger)
        2. 360p.ts : fichier TS qualité 360p pour le streaming (gros)
        3. 720p.m3u8 : playlist pour faire le streaming de la qualité 720p utilise le fichier 720p.ts (léger)
        4. 720p.ts : fichier TS qualité 720p pour le streaming (gros)
        5. 1080p.m3u8 : playlist pour faire le streaming de la qualité 1080p utilise le fichier 1080p.ts (léger)
        6. 1080p.ts : fichier TS qualité 1080p pour le streaming (gros)
        7. 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)
        8. 360p.mp4 : fichier mp4 qualité 360p proposé au téléchargement pour lecture offline (au choix de l'utilisateur ayant déposé la vidéo) (gros)
        9. 720p.mp4 : fichier mp4 qualité 720p proposé au téléchargement pour lecture offline (au choix de l'utilisateur ayant déposé la vidéo) (gros)
        10. audio_192k.mp3 : fichier mp3 de l'extraction de la bande son de la vidéo (gros)
        11. overview.png : image de vignette permettant de survoler la barre de défilement de la vidéo et avoir un aperçu (léger)
    3. 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 mouvements et de la compression applicable.

Authentification

  1. Accès admin fournisseur
    1. L'établissement fournisseur dispose d'un compte administrateur local.
    2. 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/)
  2. ESUP-POD en mode SaaS propose 3 modes d'authentification
    1. Locale : les comptes sont à créer à la main ou via l'API par les administrateurs de l'établissement consommateur (pas de connexion au SI établissement)
    2. CAS : authentification centrale de nombreux établissement ESR. Pour faire du CAS il faut 
      1. l'adresse du CAS de l'établissement consommateur https://cas.univ.fr(/cas)
      2. que vous autorisiez les noms DNS précédemment créés à utiliser votre CAS
      3. Le CAS doit renvoyer les attributs suivants
        1. uid
        2. mail
        3. sn
        4. givenName
        5. eduPersonPrimaryAffiliation et eduPersonAffiliation 
          1. permettra de déterminer le profil de l'utilisateur se connectant et ainsi de donner les droits de dépôt de vidéo ou non)
          2. si la liste des valeurs diffère de SupAnn (https://services.renater.fr/documentation/supann/courant/recommandations/attributs/edupersonaffiliation) fournir la liste des valeurs
      4. par défaut nous mettons en place le mode gateway du CAS : lorsque l'utilisateur veut se connecter, s'il est déjà connecté précédemment au CAS, son authentification dans POD SaaS est transparente.
    3. Fédération Shibboleth RENATER
      1. Branchement à la fédération RENATER : tous les utilisateurs de la fédération peuvent se connecter au POD
      2. Branchement sur une micro fédération de quelques établissements de l'ESR (voir avec Renater pour la création d'une micro fédération)
      3. Dans les cas cas les attributs nécessaires sont 
        1. eduPersonPrincipalName
        2. mail
        3. sn
        4. givenName
        5. eduPersonAffiliation
        6. eduPersonPrimaryAffiliation
      4. Il faudra ensuite faire les déclarations du SP dans la fédération. L'url des metadata vous sera fournie lorsque l'instance de test et production sera créée https://videos.univ.fr/Shibboleth.sso/metadata
  3. Les administrateurs de l'établissement consommateur
    1. vous devrez fournir la liste des personnes devant être super-admin de la plateforme POD en mode SaaS
      1. Nom
      2. Prénom
      3. Mail
      4. Identifiant
    2. Une fois ces super-admin créés, ils pourront se connecter via le système d'authentification choisi par l'établissement et pourront à leur tour créer des comptes admin, super-admin et gérer les vidéos.


Certificats

  1. Les certificats seront obligatoirement gérer via ACME et renouvelés automatiquement (nous n'accepterons pas d'envoi de CSR ou de certificat par mail ou autre mécanisme manuel)
  2. Letsencrypt
    1. si vous souhaitez utiliser Letsencrypt c'est possible
    2. Veiller à ne pas interdire dans votre DNS l'utilisation de Letsencrypt  (enregistrement AAAA)
  3. Harica
    1. si vous souhaitez que les certificats soient gérés par Harica (Solution à priviliégier), il faudra fournir un compte harica qui a les droits de demander des certificats pour les deux domaines (test et production)
      1. Key ID
      2. HMAC Key
      3. Server URL


Envoi de mail

  1. La plateforme POD en mode SaaS envoie plusieurs types de mail
    1. les mails vers l'administrateur de l'établissement fournisseur (erreur, blocage, problème)
    2. les mails vers l'administrateur de l'établissement consommateur (erreur, blocage, problème) - configurable activable ou non
    3. les mails vers l'administrateur de l'établissement consommateur (dépôt de vidéo, encodage, transcription finie) - configurable activable ou non
    4. les mails vers l'utilisateur de l'établissement consommateur ayant déposé une vidéo (encodage, transcription finie, formulaire de contact sur la vidéo) - configurable activable ou non
  2. Pour que le POD en mode SaaS puisse envoyer des mails ceux-ci doivent partir du système de messagerie de l'établissement consommateur et vous devez fournir : 
    1. host smtp
    2. port smtp
    3. type de sécurité (SSL/TLS)
    4. login
    5. mot de passe
  3. Il est possible lors de la phase d'import en masse de désactiver la notification des utilisateurs de l'établissement consommateur


Graphisme

  1. 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
  2. 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 si vous souhaitez demander un accès a FUN vous devrez fournir

  1. URL de BBB API
  2. 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

  1. API Url
  2. API Version : v1
  3. Url des CGU
  4. Client ID
  5. Client Secret


Intégration Moodle

2 solutions existent :

  1. Le plugins Moodle Repository POD : 
    1. il est à installer dans votre moodle établissement

    2. il se branche sur pod avec un clé d'API à générer dans l'interface d'administration de votre pod en mode SaaS ("token")

    3. Ressources
      1. https://amupod.univ-amu.fr/video/31913-mardi-16h-esup-pod-en-lien-avec-moodle-et-lemp4/

      2. https://moodle.org/plugins/repository_pod
      3. https://github.com/EsupPortail/moodle-repository_pod
  2. oEmbed
    1. ESUP-POD en mode SaaS est compatible oEmbed
    2. Il faudra définir un provider oembed pod dans votre moodle (cf https://moodle.org/plugins/filter_oembed)
    3. sur chaque page de vidéo vous allez 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">
      1. en copier/collant l'url de la vidéo de votre POD en mode SaaS dans un cours moodle
        1. Moodle va interroger la page et récupérer ce code
        2. il va ensuite interroger la page https://videos.univ.fr/video/oembed/?url=https%3A//videos.univ.fr/video/1234-cours-james-bond/&format=json
        3. et obtenir le code suivant
          {
          "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
          }
        4. Moodle va ainsi intégrer le code iframe qui permet d'avoir le rendu de la vidéo
    4. Ressources
      1. https://www.esup-portail.org/wiki/spaces/ES/pages/731250701/Int%C3%A9gration+oEmbed+dans+Moodle
      2. https://oembed.com/

Établissements utilisateurs (09/02/2026)


  • Aucune étiquette