Architecture du Metadataplayer

ATTENTION ! Cette documentation se réfère à la dernière version du Metadataplayer, disponible dans la branche default du repository http://www.iri.centrepompidou.fr/dev/hg/metadataplayer

Bibliothèques extérieures

Les bibliothèques utilisées par le Metadataplayer sont regroupées dans src/libs

LAB.js

jQuery

jQuery UI

Underscore

Popcorn

Mustache

Raphael

ZeroClipboard

ktbs4js Tracemanager

Code principal (core) du Metadataplayer

Dans la version release du metadataplayer, les fichiers Javascript et CSS sont répartis entre le core et les widgets.

LdtPlayer-core.js est compilé à partir de plusieurs fichiers Javascript situés (sauf LAB.min.js) dans src/js:

header.js

Contient les crédits du Metadataplayer, ainsi que les informations sur la licence (CeCILL-C)

LAB.js

cf. Bibliothèques extérieures.

init.js

Définit l’objet IriSP, qui sert d’espace de nommage pour tout le Metadataplayer. Contient la classe IriSP.Metadataplayer, dont l’instanciation est la porte d’entrée principale du code.

pop.js

Contient IriSP.PopcornReplacement, c’est à dire une version simplifiée de Popcorn pour communiquer avec des lecteurs vidéos non-supportés par Popcorn. Au moment de la création de cette partie, l’interfaçage Popcorn-jwplayer n’était pas satisfaisant, à remplacer éventuellement par de vrais players/plugins pour Popcorn.

utils.js

Contient quelques fonctions utilitaires, telles que IriSP.loadCss, qui est l’équivalent pour les fichiers CSS de LAB.js.

model.js

Contient les classes de gestion du modèle de données Cinelab, regroupées sous l’espace de nommage IriSP.Model.

widgets.js

Contient la classe de base IriSP.Widgets.Widget, qui fournit les fonctionnalités de base pour les widgets.

players

Les fichiers de ce répertoire permettent d’interfacer le Popcorn Replacement (cf. pop.js) avec des lecteurs vidéo tiers.

Existent actuellement:

  1. player.jwplayer, pour communiquer avec JwPlayer, utilisé pour lire des flux RTMP sur la plateforme Ligne de temps
  2. player.dailymotion, pour lire des vidéos du Youtube à la française
  3. player.allocine, pour le player de allocine.net
  4. player.mashup, pour le player de bout à bout Flash créé par Thibaut Cavalié.
  5. player.htmlMashup, pour le lecteur de bout à bout de vidéos HTML5 basé sur Popcorn.

serializers

Les Sérialiseurs servent d’interface entre les formats de données utilisés pour les échanges avec les serveurs.

Deux sérialiseurs existent à l’heure actuelle:

  1. ldt, pour lire les flux JSON fournis par la plateforme Lignes de Temps.
  2. ldt_annotate, pour communiquer avec l’API d’ajout d’annotations de la plateforme, dont le format est légèrement différent.

Widgets

Les Widgets sont des modules, visibles ou non, permettant de rajouter des fonctionnalités au Metadataplayer.

Situés dans le répertoire src/widgets, ils contiennent nécessairement un fichier de code NomDuWidget.js et, optionnellement un fichier de style NomDuWidget.css

Options courantes

Voici la liste des widgets actuellement disponibles, avec leurs options:

Annotation

AnnotationsList

Arrow

Controller

CreateAnnotation

HelloWorld

Media

Mediafragment

Polemic

Renkan

Segments

Slider

Social

Sparkline

Tagcloud

Tooltip

Trace

Tweet