Inscription des utilisateurs sur Jellyfin : codes d'invitation, validation et anti-bot

Mettez en place une page publique d'inscription Jellyfin avec codes d'invitation à usage unique et famille, mode approbation et droits par défaut minimaux, pour des comptes créés sans intervention manuelle.

Tout administrateur Jellyfin connaît le rituel : un ami demande un compte, vous le créez à la main, vous devinez quelles bibliothèques il doit voir, vous lui envoyez un mot de passe via une messagerie, et une semaine plus tard vous réalisez que la moitié d'entre eux peuvent télécharger toute votre bibliothèque. Partager le compte administrateur est pire, mais tout faire manuellement ne passe pas à l'échelle non plus.

Le plugin Registration pour Jellyfin remplace ce rituel par une page publique sur l'adresse de votre propre serveur. Les visiteurs remplissent un formulaire, vous décidez qui entre, et chaque compte est créé désactivé, masqué de l'écran de connexion et avec les droits minimaux que vous définissez une fois. Ce tutoriel détaille une configuration où les codes d'invitation contrôlent qui peut demander un compte, le mode approbation vous garde dans la boucle, et les réglages d'accès par défaut garantissent que les nouveaux utilisateurs ne commencent jamais avec plus que nécessaire.

Prérequis

  • Jellyfin Server 12.2 ou plus récent, sous Linux, Windows ou Docker.
  • Votre serveur joignable en HTTPS par les personnes qui s'inscriront, directement ou via un reverse proxy.
  • Un compte MediaLab Works avec une licence couvrant le plugin : un abonnement actif, une licence à vie dans sa fenêtre de mises à jour, le bundle Jellyfin, ou l'essai gratuit de 30 jours.
  • Facultatif mais recommandé : un serveur SMTP configuré dans le plugin si vous voulez des confirmations par e-mail et des messages de décision, et un bot Telegram si vous voulez y recevoir les notifications.

Étape 1 — Installer le plugin

La voie la plus simple est votre dépôt de plugins privé, car Jellyfin installe et met ensuite à jour le plugin tout seul.

  1. Dans votre compte MediaLab Works, ouvrez Licenses → Jellyfin plugin repository et cliquez sur Create address. L'adresse contient un jeton, traitez-la donc comme un secret.
  2. Dans Jellyfin, allez dans Dashboard → Plugins → Repositories, cliquez sur +, nommez-le (par exemple MediaLab Works), collez l'adresse et enregistrez.
  3. Ouvrez Dashboard → Plugins → Catalog, trouvez Registration by MediaLab, cliquez sur Install et redémarrez Jellyfin.

Si vous préférez l'installation manuelle, téléchargez le zip depuis Account → Licenses, décompressez-le dans un nouveau dossier Registration by MediaLab_x.y.z.0 dans le dossier des plugins (/var/lib/jellyfin/plugins/ pour une installation Linux par paquet, /config/plugins/ dans l'image Docker officielle, %ProgramData%\Jellyfin\Server\plugins\ sous Windows) et redémarrez Jellyfin.

Étape 2 — Activer la licence

Ouvrez la page du plugin dans Dashboard → Plugins → Registration by MediaLab et cliquez sur Open License page. Collez votre clé et cliquez sur Activate with key ; la licence est liée à ce serveur et affichée comme Active. Sans clé, vous pouvez démarrer l'essai gratuit de 30 jours depuis la même page. La licence est vérifiée une fois par jour et à chaque démarrage de Jellyfin, et sans internet le plugin continue de fonctionner 7 jours après la dernière vérification réussie.

Étape 3 — Ouvrir la page d'inscription

Allez dans Dashboard → Registration. Après l'installation, l'inscription est fermée : rien ne s'ouvre tout seul. Dans l'onglet General :

  • Choisissez le mode : approbation manuelle (par défaut), code d'invitation uniquement, ou automatique.
  • Activez Registration open.
  • Fixez éventuellement une date d'ouverture et de fermeture, pour que la page se ferme d'elle-même après votre vague d'invitations.
  • Saisissez l'adresse publique de votre serveur ; elle sert aux liens dans les e-mails.

La page publique se trouve à https://<votre serveur>/Registration/Page et est disponible en anglais et en roumain, pensée d'abord pour les téléphones : nom d'utilisateur vérifié à la frappe, nom, e-mail, numéro de téléphone au format international, et un mot de passe avec indicateur de robustesse. L'onglet Send access vous donne le lien et un QR code prêts à envoyer.

Tant que vous êtes connecté à Jellyfin en tant qu'administrateur dans le même navigateur, ouvrir la page vous affiche directement le formulaire, sans code, et la demande est marquée comme test. Servez-vous-en pour vérifier le parcours avant d'envoyer le lien à qui que ce soit.

Étape 4 — Utiliser les codes d'invitation

Dans l'onglet Invitations, vous trouvez le code d'invitation en cours et un code famille facultatif.

  • Le code d'invitation est à usage unique et se renouvelle après usage : chaque nouvelle personne reçoit un code neuf, ainsi un code divulgué n'ouvre pas la porte à tout le monde.
  • Le code famille est destiné aux personnes vivant sous le même toit, pour qu'un foyer puisse s'inscrire sans que vous émettiez un code par personne.

Réglez le mode sur code d'invitation uniquement si vous ne voulez rien sans code, ou gardez le mode approbation et utilisez les codes comme filtre supplémentaire. Dans les deux cas, envoyez le lien de la page avec le code ; l'onglet Send access a les deux prêts à copier.

Étape 5 — Choisir le mode approbation

Avec l'approbation manuelle (par défaut), chaque demande vous attend dans Dashboard → Registration → Requests. Vous voyez les demandes en attente et traitées, pouvez les rechercher, approuver ou refuser une par une ou en lot, et exporter la liste en CSV.

C'est le réglage sûr par défaut : même si un robot passe les contrôles anti-bots, rien ne devient un compte sans vous. Le compte lui-même est créé désactivé au moment de la demande, l'approbation ne fait donc que l'activer. La confirmation par e-mail peut être activée séparément dans la même zone si vous voulez que les candidats prouvent leur adresse.

Étape 6 — Définir l'accès par défaut des nouveaux comptes

C'est la partie qui vous fera gagner le plus de temps ensuite. Dans l'onglet Default access, vous définissez ce que reçoit chaque compte approuvé :

  • Bibliothèques : toutes, ou seulement celles que vous choisissez. Pour un serveur mixte, n'accordez que les bibliothèques qu'une nouvelle personne doit voir.
  • Limites de flux simultanés et de débit distant, si vous le souhaitez.
  • Désactivation automatique après un certain nombre de jours, utile pour un accès d'essai.

Les nouveaux comptes sont créés avec des droits minimaux : pas d'administration, pas de téléchargements, pas de synchronisation, pas de suppression, et ils n'apparaissent pas sur l'écran de connexion. Voyez cela comme un utilisateur modèle que vous configurez une fois et réutilisez pour tout le monde, sauf que vous n'avez jamais à recopier les permissions à la main.

Dans l'onglet Form, vous pouvez aussi définir le pays par défaut, les pays autorisés, les règles de nom d'utilisateur et de mot de passe, et le texte de confidentialité affiché sur la page.

Étape 7 — Tenir les robots à l'écart

L'onglet Anti-bot est là pour verrouiller la page publique :

  • La preuve de travail s'exécute dans le navigateur, et le formulaire utilise des jetons signés à usage unique et un champ piège caché.
  • Cloudflare Turnstile est facultatif et désactivé par défaut ; il ne s'active que si vous saisissez vos propres clés.
  • Les limites de débit s'appliquent par IP et par réseau.
  • Les adresses de centres de données, de VPN commerciaux et de Tor sont refusées, et les domaines d'e-mail jetables sont rejetés.
  • Les règles de comptes en double imposent un compte par personne : le même appareil, numéro de téléphone ou navigateur et réseau sont bloqués ou signalés, règle par règle.

Vous pouvez aussi y restreindre les pays des visiteurs. L'information de pays provient de l'en-tête CF-IPCountry lorsque vous êtes derrière Cloudflare, et le type de réseau d'une base ASN locale, sans requêtes en ligne.

Étape 8 — Notifications et lien de connexion

Dans l'onglet Notifications, activez le journal d'activité de Jellyfin, l'e-mail (via votre serveur SMTP) et Telegram, selon votre préférence. Les notifications e-mail à l'administrateur sont désactivées par défaut ; l'e-mail au candidat peut contenir la confirmation, la décision et le message d'accès que vous rédigez, lequel peut inclure un mot de passe généré.

Tant que l'inscription est ouverte, le plugin peut ajouter un lien Create an account et un QR code à l'écran de connexion Jellyfin. Cela se fait via le texte de mention légale de connexion (Branding → Login disclaimer), sans modifier de fichiers.

Astuces et dépannage

  • « Registration is closed » : activez Registration open dans l'onglet General et vérifiez les dates d'ouverture et de fermeture.
  • « Not available from this network » : le visiteur est sur une adresse de centre de données, de VPN ou de Tor. Ne désactivez cette règle dans Anti-bot que si vous en avez vraiment besoin.
  • Derrière Cloudflare ou un reverse proxy : assurez-vous que la vraie adresse du visiteur parvient à Jellyfin (réglage Known proxies de Jellyfin). Sinon, tous les visiteurs partagent une seule adresse et atteignent les limites de débit.
  • Téléviseurs : le formulaire prend en charge le Quick Connect natif de Jellyfin, un code TV peut donc être saisi dans le formulaire et le téléviseur se connecte dès que le compte devient actif. C'est vérifié au niveau de l'API mais pas testé sur de vraies applications TV, essayez donc d'abord avec votre propre appareil.
  • Conservation des données : les demandes en attente expirent après 7 jours et le compte désactivé est supprimé ; les demandes refusées, expirées ou supprimées sont purgées après 30 jours. Les mots de passe ne sont pas stockés par le plugin ; c'est Jellyfin qui les gère.
  • Mises à jour : avec une licence à vie dont la fenêtre de mises à jour est terminée, restez sur votre dépôt privé pour que Jellyfin n'installe pas une version que votre licence ne couvre pas. Si cela arrive, utilisez Roll back to x.y.z sur la page License.

Conclusion

Une page publique d'inscription n'est sûre que lorsqu'elle est ennuyeuse : des codes qui se renouvellent, une approbation avant toute activation, et des droits par défaut qui ne dépassent jamais ce dont un nouveau spectateur a besoin. Registration vous offre exactement cela, et il retire la création manuelle de comptes de vos soirées. Quand vous serez prêt pour l'étape suivante, le plugin fonctionne avec Cashier pour vendre des abonnements payants à votre serveur.

Commencez sur la page produit, suivez le guide utilisateur pour les onglets exacts, et consultez le changelog avant de mettre à jour. D'autres contenus sur l'auto-hébergement sont dans notre base de connaissances, et si quelque chose ne fonctionne pas, contactez-nous.

Cet article a été rédigé avec l’aide de l’IA à partir de la documentation de nos produits ou des sources indiquées et vérifié automatiquement avant publication.

À lire ensuite

Vous utilisez Emby, Jellyfin ou Nextcloud ?

Nos plugins et applications ajoutent la TV en direct, les sous-titres, l’inscription et la sécurité à votre propre serveur, avec un essai gratuit.