Giter VIP home page Giter VIP logo

pod's Introduction

Pod, plateforme de gestion de video --> nouvelle version https://github.com/EsupPortail/Esup-Pod


📌 Attention

Ce dépôt est obsolète et aucun travail supplémentaire ne sera effectué à ce sujet.

Nous vous recommandons de ne plus utiliser cette version de l'application mais celle disponible à cette adresse : https://github.com/EsupPortail/Esup-Pod

Plus d'informations : https://www.esup-portail.org/wiki/display/ES/esup-pod


Presentation

Pod, plateforme de gestion de vidéoEsup Portail

La plateforme Pod, développée et déployée par l'université de Lille, sciences et technologies, est maintenue et promue par le consortium Esup Portail.

Elle a pour objectif de faciliter la mise à disposition de vidéos et de ce fait, d'encourager l'utilisation de celles-ci dans le cadre de l'enseignement et la recherche.

C'est un site de podcast qui permet à toute personne identifiée de poster des fichiers audio et video.

Ces fichiers, que l'on appellera "vidéo", sont ensuite encodés par la plateforme. Lors de l'envoi, l'utilisateur doit renseigner un certain nombre de champs obligatoires comme le titre et le type du média (cours, reportage, etc) et d'autres facultatifs comme la description, les mots-clés, la discipline etc.

Ces vidéos sont accessibles à tous par défaut mais on peut restreindre leur accès aux personnes authentifiées et/ou aux personnes connaissant le mot de passe renseigné lors de l'édition de celle-ci. Autour de ces fonctions principales d'édition, de stockage, d'encodage et de diffusion, le site permet de renseigner les contributeurs (scénaristes, réalisateurs, éditeurs, concepteurs, etc. de la vidéo), d'ajouter des fichiers de sous-titres ou de légendes et des documents à télécharger. De plus, le propriétaire de la vidéo postée a la possibilité de chapitrer celle-ci. Enfin, la particularité de cette plateforme est de permettre l'enrichissement synchronisé de la vidéo. En effet, des images, des textes mis en forme (html), des pages web, des documents type texte ou PDF et des médias intégrés (video youtube, etc.) peuvent être synchronisés afin d'apporter une dimension scénaristique au delà de celle de la vidéo.

Une interface type GED (gestion électronique de document) permet à chaque utilisateur connecté de gérer ses propres fichiers.

Les vidéos sont accessibles par chaînes, auteurs, types, disciplines et mots-clés. Une fonction de filtres permet d'affiner l'affichage des listes de vidéos disponibles. On peut filtrer par auteurs, types, disciplines et mots-clés en sélectionnant le ou les auteurs des vidéos, le ou les types, disciplines ou mots-clés voulus.

La diffusion de la vidéo est en html5 et utilise le player videojs. Ce dernier a été enrichi pour permettre l'affichage d'un overview (vignette de prévisualisation de la vidéo), la gestion des chapitres, la qualité de la vidéo (240p,480p,720p et 1080p) et l'affichage des enrichissements en plus des sous-titres. Enfin, les vidéos peuvent être partagées ou intégrées.

La plateforme est prévue en multilingue et chaque utilisateur authentifié peut également gérer son profil en ajoutant une photo, une description et un lien web.

Deux types d'authentification sont possibles : via le service central d'authentification CAS et via l'authentification locale gérée par la plateforme.

Développée en python à l'aide du framework Django, elle utilise ffmpeg pour encoder les fichiers et elasticsearch comme moteur de recherche. "Full HTML5", son affichage est responsive et s'adapte ainsi aux différents types de terminaux web.


Avec la participation de :

Université de Lille, Sciences et technologies: http://www.univ-lille1.fr/

Le consortium Esup Portail: https://www.esup-portail.org/

Ministère de lʼEnseignement supérieur, de la Recherche et de lʼInnovation: http://www.enseignementsup-recherche.gouv.fr/

pod's People

Contributors

dotmobo avatar drclockwork avatar ducret avatar eiro avatar haja75 avatar juleindev avatar maimee avatar narutobaka avatar prigaux avatar ptitloup avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pod's Issues

Problème avec ElasticSearch 5.1.1

Bonjour à tous,

J'ai effectué une installation de la dernière version de Pod chez moi en suivant la procédure du wiki.
Malheureusement, je n'arrive pas à créer l'index pod via la commande : python manage.py create_pod_index, qui me retourne cette erreur

Pod index already exists: mapper_parsing_exception

Est-il possible que ce soit dû à une incompatibilité avec Elasticsearch 5.1.X comme ç'avait été le cas pour la 2.X ?

En vous remerciant pour votre aide par avance,
A bientôt,

Laura

Page d'accueil en erreur à l'installation

Bonjour,

Je viens de faire une réinstallation sur une machine vierge et la page d'accueil ne s'affiche pas.

J'obtiens ceci :

Page not found (404)
Request Method:
GET
Request URL:
http://pod:8080/
Using the URLconf defined in pod_project.urls, Django tried these URL patterns, in this order:
^favicon.ico$
...
^media/(?P.*)$
The current URL, , didn't match any of these.

En saisissant leur urls, d'autres pages s'affichent (http://pod:8080/videos/ par exemple) et la navigation est opérationnelle hors accueil.

Merci de vos conseils

Alain

Lien avec Moodle

Bonjour,
Est ce qu'il existe un lien quelconque au niveau de la programmation entre Lillepod1 et la plate-forme moodle ?

Merci

Erreur lors de l'authentification CAS

Bonjour, j'ai configuré l'authentification CAs et j'ai lerreur suivante après l'authentification :

mismatched tag: line 109, column 2

Request Method:     GET
Request URL:    http://sctest-1.uhb.fr:8080/accounts/cas/login/?next=%2F&ticket=ST-462021-Kt3ftZDEsPGbQbLLZizc-v-cas-1
Django Version:     1.7.8
Exception Type:     ParseError
Exception Value:    

mismatched tag: line 109, column 2

Exception Location:     /usr/lib/python2.7/xml/etree/ElementTree.py in _raiseerror, line 1506
Python Executable:  /home/pod/.virtualenvs/django_pod/bin/python
Python Version:     2.7.9
Python Path:    

['/usr/local/django_projects/pod/pod_project',
 '/home/pod/.virtualenvs/django_pod/lib/python2.7',
 '/home/pod/.virtualenvs/django_pod/lib/python2.7/plat-x86_64-linux-gnu',
 '/home/pod/.virtualenvs/django_pod/lib/python2.7/lib-tk',
 '/home/pod/.virtualenvs/django_pod/lib/python2.7/lib-old',
 '/home/pod/.virtualenvs/django_pod/lib/python2.7/lib-dynload',
 '/usr/lib/python2.7',
 '/usr/lib/python2.7/plat-x86_64-linux-gnu',
 '/usr/lib/python2.7/lib-tk',
 '/home/pod/.virtualenvs/django_pod/local/lib/python2.7/site-packages',
 '/home/pod/.virtualenvs/django_pod/lib/python2.7/site-packages',
 '/usr/local/lib/python2.7/dist-packages/Paste-2.0.2-py2.7.egg',
 '/usr/local/lib/python2.7/dist-packages/xlwt-1.0.0-py2.7.egg',
 '/usr/local/lib/python2.7/dist-packages/dateutils-0.6.6-py2.7.egg',
 '/usr/local/lib/python2.7/dist-packages/SQLAlchemy-1.0.11-py2.7-linux-x86_64.egg',
 '/usr/local/lib/python2.7/dist-packages/oauth2-1.5.211-py2.7.egg',
 '/usr/local/lib/python2.7/dist-packages/Babel-2.2.0-py2.7.egg',
 '/usr/local/lib/python2.7/dist-packages/Pillow-3.1.0-py2.7-linux-x86_64.egg',
 '/usr/local/lib/python2.7/dist-packages/docutils-0.12-py2.7.egg',
 '/usr/local/lib/python2.7/dist-packages/kansha-1.0.4-py2.7.egg',
 '/usr/local/lib/python2.7/dist-packages/SQLAlchemy-1.0.11-py2.7-linux-x86_64.egg',
 '/usr/local/lib/python2.7/dist-packages/oauth2-1.5.211-py2.7.egg',
 '/usr/local/lib/python2.7/dist-packages/Pillow-3.1.0-py2.7-linux-x86_64.egg',
 '/usr/local/lib/python2.7/site-packages',
 '/usr/local/lib/python2.7/dist-packages',
 '/usr/lib/python2.7/dist-packages',
 '/usr/lib/python2.7/dist-packages/PILcompat',
 '/usr/lib/pymodules/python2.7']

Server time:    ven, 4 Mar 2016 15:41:07 +0100

voici ma config CAS :

Login

LOGIN_URL = '/accounts/login/'
USE_CAS = True
if USE_CAS:
MIDDLEWARE_CLASSES = list(MIDDLEWARE_CLASSES)
MIDDLEWARE_CLASSES.append('django_cas_gateway.middleware.CASMiddleware')
MIDDLEWARE_CLASSES = tuple(MIDDLEWARE_CLASSES)
CAS_SERVER_URL = 'https://cas.uhb.fr/'
CAS_LOGOUT_COMPLETELY = True
CAS_RETRY_LOGIN = True
CAS_VERSION = '3'

Une idée de l'erreur ?

Merci

Deleting a video from "My videos" redirects you on "All videos"

I'm using the Unistra version from the pod.
Logged in through CAS, I display "My videos". Il I click on the delete button from one of the video, after confirmation, I come back into the "All videos"
According to the URL, the parameter "?owner=XXXX" is missing in the request.

Importer du contenu par FTP

Bonjour,

Est-ce que la fonction d'import en FTP, pour permettre par exemple le dépot de fichier depuis des enregistreurs situés en amphis existe ?
Comment est-il possible de faire le lien avec l'utilisateur propriétaire de la vidéo ?
Si non, quelle est la complexité d'un tel développement ?

Merci pour vos réponses,
Mathieu

audio private

Hi,

USE_PRIVATE_VIDEO is true in the config.
An audio is in draft.
This private audio can't be loaded : the page can be loaded but not the src of the media.
(to see it, be careful to not be logged and without csrftoken cookie)

Solution : in pod/pod_project/pods/templates/videos/video_player.html there add a test like {% if USE_PRIVATE_VIDEO and video.is_draft %} like for the videos.

In Pod 1.7 and 1.8.

Problème avec ElasticSearch 2.0

Bonjour,

J'essaye d'installer la dernière version de pod en local sur ma machine, et je rencontre un problème avec ElasticSearch 2.0 et la commande create_pod_index.

En effet, la commande python manage.py create_pod_index me renvoie l'erreur suivante:

l'index Pod est existant : {u'caused_by': {u'reason': u'analyzer on field [chapters] must be set when search_analyzer is set', u'type': u'mapper_parsing_exception'}, u'root_cause': [{u'reason': u'analyzer on field [chapters] must be set when search_analyzer is set', u'type': u'mapper_parsing_exception'}], u'type': u'mapper_parsing_exception', u'reason': u'mapping [pod]'}

Ma configuration d'ElasticSearch 2.0 est la suivante:

#POD
cluster.name: pod
node.name: "Pod1"
network.host: 127.0.0.1
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]

Merci pour votre aide,

Cordialement,

Morgan - Unistra

Echec de recherche : « No query registered for [date_added] »

Une recherche dont les résultats sont ensuite filtrés par date de début et fin puis affinés (n'importe quel lien semble provoquer le bug) provoque une erreur « TransportError(400, u'search_phase_execution_exception', u'No query registered for [date_added]') ».

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.