Carrousel de vidéos en TypeScript/JavaScript. https://www.le-fab-lab.com/vcarousel.html
Go to file
Fabrice PENHOËT 6c48b20eb0 Description plus complète du script. 2021-04-06 18:52:45 +02:00
public Ajout possibilité de n'afficher aucune vidéo par défaut. 2021-04-06 18:28:15 +02:00
src Ajout possibilité de n'afficher aucune vidéo par défaut. 2021-04-06 18:28:15 +02:00
.gitignore Ajout de gitignore au suivi 2021-04-01 15:55:47 +02:00
LICENSE Initial commit 2021-03-31 17:34:18 +02:00
README.md Description plus complète du script. 2021-04-06 18:52:45 +02:00
package-lock.json Première version de vCarousel 2021-03-31 18:14:03 +02:00
package.json Première version de vCarousel 2021-03-31 18:14:03 +02:00
tsconfig.json Première version de vCarousel 2021-03-31 18:14:03 +02:00
webpack.config.js Première version de vCarousel 2021-03-31 18:14:03 +02:00

README.md

vCarousel

Carrousel de vidéos en TypeScript/JavaScript.

Le besoin

Plusieurs vidéos sont présentes sur une page web. Nous souhaitons les afficher l'une après l'autre. Lorsque la lecture d'une vidéo est achevée, elle disparaît pour faire apparaître la suivante.

Il ne s'agit donc pas d'un carrousel servant à faire défiler horizontalement des balises vidéos. Mais on peut très bien utiliser ce type de carrousel en parallèle pour naviguer entre les vidéos.

Les grandes lignes de l'algorithme

La fonction vCarousel reçoit une liste d'id des conteneurs de vidéos à afficher successivement. Les conteneurs sont des balises dans lesquelles se trouvent les vidéos (

,
ou autre. En option, la fonction peut aussi recevoir l'id du conteneur à afficher en premier ou encore une chaîne vide pour en afficher aucun par défaut.

La première étape consiste à vérifier que les "ids" fournis correspondent bien à des éléments HTML contenant une vidéo. Si un id est fourni pour la première vidéo à afficher, on vérifie qu'il fait bien parti des ids des conteneurs valides.

Après ces contrôles, s'il reste au moins deux conteneurs valides, on les parcourt pour ne garder affiché que celui indiqué. Si aucun id n'est fourni, c'est le premier de la liste qui est affiché par défaut. Si une chaîne vide est fournie en deuxième paramètre, aucun conteneur n'est affiché.

De manière asynchrone, on avance ensuite dans la liste des conteneurs en le remplacant par le suivant lorsque l'a lecture de sa vidéo est finie. Lorsqu'on est arrivé au bout de la liste, on repasse au premier et ainsi de suite.

Le code

Les scripts sont écrits en TypeScript. Vous trouverez la fonction vCarousel et les scripts servant aux exemples dans le répertoire /src. Les versions .js présents dans /src sont générées par le compilateur TypeScript. Les .js situés dans le répertoire /public sont générés par WebPack. Ils ne servent qu'aux pages d'exemple.