Gestion des temps d'arrêts compatible avec la fédération et l'embed

Bonjour,

Administrant (fonctionnellement) des instances Peertube au sein d’un établissement public de l’Education Nationale, nous avons fait un retour d’expérience en interne suite à l’incident de sécurité récent sur Peertube <8.1.6

Une des leçons apprises dans notre cas est le besoin d’avoir un meilleur système pour informer les visiteurs des temps d’arrêts de la plateforme, qu’ils soient dûs à des maintenances, ou des problèmes techniques.

Je précise d’emblée que notre utilisation de Peertube est institutionnelle (à savoir des comptes utilisateurs ouverts uniquement aux agents de l’établissement, et des vidéos qui sont consultées à la fois sur Peertube, sur des instances fédérées (par exemple celles du Ministère, des Académies, ou encore des Environnement Numérique de Travail dans les établissements scolaires), et sur différents sites de notre écosystème (comme des plateformes Moodle avec des parcours de formations, ou des sites vitrines sous Typo, Wordpress, etc.).

En cas de d’arrêt de Peertube, toutes les vidéos sont inaccessibles.

Pour le site Peertube principal, pas de soucis, on peut mettre en place une redirection au niveau de notre reverse proxy pour annoncer la maintenance.

Mais pour toutes les vidéos intégrées à l’extérieur de ce site principal, le public rencontre une erreur au chargement de la vidéo, sans explications.

MA PROPOSITION :

Intégrer un système permettant de configurer différents messages, par exemple un message annonçant une maintenance ; mais aussi un message en cas de panne, genre “Le chargement de cette vidéo rencontre un problème. Vous pouvez essayer de recharger la page, ou nous signaler si le dysfonctionnement persiste.” qui contiendrait un lien vers le formulaire de contact de la plateforme Peertube hébergeant la vidéo. Ces messages s’afficheraient donc au sein du player vidéo en cas de problème pour charger le flux, ou sur action manuelle de l’administrateur.

Je suspecte que la difficulté soit que ce “service” ou “conteneur” doive être indépendant de Peertube lui-même, car devant resté actif pendant la mise à jour ou la panne. On pourrait imaginer un process déporté à la manière d’un runner d’encodage, non ?

Je lance la discussion et j’espère susciter de l’intérêt, car il me semble que Peertube gagnerait en “légitimité” pour des acteurs institutionnels, et donc en popularité.

Merci :slight_smile: , Eric.

Bonjour,

Voir Ability to put site into maintenance mode · Issue #1230 · Chocobozzz/PeerTube · GitHub

Comment ces vidéos sont intégrées ? :slight_smile:

Bonjour Chocobozzz, et merci pour le lien vers cette discussion, en effet, j’avais oublié de lister aussi ce problème potentiel si un utilisateur lance un upload / transcodage en cours de mise à jour.

Pour info, sur notre infra, nous avons mis en place un Peertube MASTER et un SLAVE (synchro unidirectionnelle régulière). S’il y a un problème sur le MASTER, le trafic bascule sur le SLAVE mais où l’authentification est désactivée (donc pas de nouveaux dépôts de vidéos, et donc pas de nouvelles écritures en DB). Peut-être ce principe peut nourrir la réflexion (même si c’est évidemment trop lourd pour de nombreux administrateurs de Peertube et réservé plutôt à des acteurs comme moi).

Concernant ta question sur nos intégrations, les vidéos sont principalement intégrées via le code iframe. Il y a aussi le recours à “oEmbed” je crois, mais je ne maîtrise pas bien la différence avec le code iframe (en pratique, ça donne par exemple que nos ingénieurs pédagogiques collent simplement l’url de la vidéo dans le CMS ou LMS et ça intègre automatiquement la vidéo et le player (j’ai juste un doute si c’est l’url de la page peertube, ou l’url embed du menu Partager).

Donc pour moi, le besoin est surtout d’indiquer d’une manière ou d’une autre qu’une maintenance est en cours, ou qu’un problème de chargement de la vidéo se produit, et d’afficher cette information à l’intérieur du player vidéo, qu’il soit embedé sur un CMS ou autre, ou que la vidéo soit affichée via la fédération dans une autre instance Peertube.

Est-ce que je suis plus clair ? Merci :wink:

Oui ! Merci. Tu peux confirmer que quand vous faites la maj, les utilisateurs voient le message « Sorry. We cannot fetch the video. Please try again later. »?

Oui, j’ai bien souvenir d’avoir vu ce message, au moins quelque part (je pourrai le confirmer avec certitude à la prochaine maintenance, et vérifier s’il s’affiche bien dans une autre instance fédérée, et dans un iframe, mais je n’en ai pas encore de planifiée à ce jour).

Une idée pourrait donc être que ce message soit “par défaut” (idéalement en le traduisant), et que l’admin puisse temporairement mettre d’autres messages personnalisés, par exemple lorsqu’il planifie une maintenance.

En fait si on utilise la configuration nginx par défaut, l’embed doit afficher une erreur 502 :thinking: