Aide et questions fréquentes
Recherchez dans tous les guides, pages produits et réponses.
Questions fréquentes
Général
MediaLab Works est géré par Casapu Cristian-Costinel Întreprindere Individuală, une entreprise individuelle enregistrée en Roumanie (numéro fiscal 43060600). Les plugins et les applications sont écrits et maintenus par le même auteur. Les détails légaux se trouvent sur la page Droits d’auteur et mentions légales.
Des plugins Emby et Jellyfin et des applications Nextcloud, à l’unité ou en pack par plateforme : voir Plugins Emby, Plugins Jellyfin et Applications Nextcloud. Pour les trois, nous développons aussi des plugins sur mesure sur demande, et nous vendons des heures de support, de développement et d’assurance qualité. Pour les serveurs de messagerie mailcow, il existe les outils mailcow, à l’unité ou en pack mailcow : le mailcow Toolkit (SOGo comme n’importe quelle boîte aux lettres, les mises à jour de mailcow depuis l’interface d’administration et les enregistrements DNS de chaque domaine, aussi dans Cloudflare), Sign-up for mailcow (inscription en libre-service) et Cashier for mailcow (des formules payantes via votre propre compte Stripe).
Le site, votre compte, la documentation et les e-mails que nous envoyons sont en anglais, roumain, allemand, français et espagnol ; les e-mails partent dans la langue de votre compte. Les plugins sur mesure sont livrés avec les textes de l’interface en anglais et en roumain (autres langues sur demande).
Les téléchargements se trouvent dans Compte → Licences, après l’achat ou pendant l’essai ; les plugins Jellyfin sont aussi publics, dans le catalogue medialab.works pour Jellyfin et dans l’historique des versions de chaque plugin. Chaque produit dispose d’un guide d’installation (par exemple le guide de Rosub) et d’un historique des versions avec les versions publiées.
Par e-mail à contact@medialab.works, via le formulaire de contact, avec un ticket depuis Compte → Support, ou sur Telegram pour les questions rapides et les heures achetées. Nous répondons habituellement sous un jour ouvré, du lundi au vendredi. Indiquez le plugin et sa version ainsi que votre clé de licence ou l’e-mail de votre compte, et joignez le journal du plugin si quelque chose ne fonctionne pas.
Emby et Jellyfin sont deux serveurs multimédias que vous gérez vous-même ; Jellyfin est le projet gratuit et open source né comme fork d’Emby, les plugins ne sont donc pas interchangeables entre eux. Nous faisons les mêmes plugins pour les deux (la TV en direct depuis des récepteurs Enigma2, des sous-titres roumains, l’inscription des utilisateurs et l’accès payant, la connexion sur la télévision, une application pour les téléviseurs sans application Emby ou Jellyfin, l’historique des connexions, les alertes de sécurité, les vérifications de transcodage et de bibliothèque, les listes Radarr / Sonarr, et désormais aussi AISub, Plan Guard, Share Links, Smart Skip, Access Links et Edge Shield), chacun vendu à l’unité ou dans le pack de sa plateforme. Les plugins Emby sont concédés sous notre CLUF ; les plugins Jellyfin (pour Jellyfin 12.2 ou plus récent) sont open source (GPL-3.0) et vendus comme abonnement pour les versions compilées, les mises à jour et le support. Voir Plugins Emby et Plugins Jellyfin ; tout le reste peut être développé sur demande (Plugin Jellyfin sur mesure).
Oui, avec Security Notifications, pour Emby et pour Jellyfin. Il surveille 20 règles : des mots de passe erronés en rafales, de nombreux comptes essayés depuis une même adresse, une connexion depuis un nouveau pays, Tor ou un réseau réputé malveillant, un nouvel administrateur, des clés d’API, des plugins et des paramètres de sécurité modifiés, des suppressions en masse, des analyses et des fichiers backdoor. Les alertes partent vers Telegram, l’e-mail, un webhook (Discord, Slack, ntfy, Gotify) ou le journal d’activité du serveur, sans répétition, avec des plages de silence et un récapitulatif quotidien facultatif.
La localisation provient d’une base de données conservée sur votre serveur (DB-IP Lite sans compte, ou MaxMind GeoLite2), les adresses IP ne sont donc pas envoyées à un service de consultation externe. Pour parcourir l’historique complet des connexions, utilisez Access Log.
Oui, avec Cashier, pour Emby et pour Jellyfin, ainsi que Registration, qui fournit la page d’inscription. Vous définissez des formules mensuelles et annuelles selon le nombre de flux simultanés ; les clients paient sur la page de Stripe, dans votre propre compte Stripe, et leur compte est activé dès que le paiement est confirmé.
Quand un renouvellement n’est pas payé, le compte reste actif pendant un court délai de grâce pendant que Stripe réessaie, puis il est suspendu (pas supprimé) jusqu’au paiement de la facture. Les données de la carte n’atteignent jamais votre serveur.
Oui, avec Quick Connect, pour Emby et pour Jellyfin. La télévision affiche un code à 6 chiffres et un code QR ; l’utilisateur le scanne avec son téléphone et l’approuve, en un tapotement si le téléphone est déjà connecté au serveur ou avec un nom d’utilisateur et un mot de passe, et la télévision se connecte. Les codes expirent après quelques minutes, ne fonctionnent qu’une fois et les tentatives erronées répétées sont bloquées.
Sur Emby, qui n’a pas de connexion par code propre, cela fonctionne dans Emby Web (le navigateur de la télévision ou un ordinateur). Pour les applications officielles Emby, chaque utilisateur peut aussi activer un code à 6 chiffres à usage unique, valable 5 minutes, saisi à la place du mot de passe ; le mot de passe normal continue de fonctionner. Sur Jellyfin, le plugin approuve le code du Quick Connect propre à Jellyfin, que les applications officielles Jellyfin affichent déjà. Il n’ajoute pas de code à usage unique à la place du mot de passe, c’est voulu : les utilisateurs qui en dépendraient seraient bloqués si le plugin était retiré.
Sur Emby, avec Registration 1.10.5 ou plus récent (et Cashier pour l’accès payant), une personne sans compte peut en créer un depuis son téléphone après avoir scanné le code de la télévision. Avec le paramètre Quick Connect correspondant activé, la télévision se connecte sous le nouvel utilisateur dès que le compte est actif.
Access Links pour Emby et Access Links pour Jellyfin listent toutes les adresses web de votre serveur (l’application web, la connexion, l’adresse pour les applications et les pages des plugins MediaLab que vous avez installés), chacune avec son adresse locale et son adresse HTTPS externe, prêtes à copier, à ouvrir ou à afficher en code QR.
Le bouton Check lit les certificats, confirme que l’adresse externe atteint bien ce même serveur et teste chaque page ; vous pouvez aussi garder les liens d’autres serveurs Emby ou Jellyfin. Rien ne quitte votre serveur, sauf la vérification de la licence et les vérifications que vous lancez.
Oui, avec Edge Shield pour Emby ou Edge Shield pour Jellyfin : l’interface web, l’API et la connexion passent par le proxy Cloudflare, tandis que la vidéo, l’audio et les téléchargements sont redirigés vers un hôte DNS only, directement vers votre serveur, la vidéo ne passe donc pas par le CDN de Cloudflare. Il configure aussi DNS et DDNS, SSL Full (strict), un certificat Let’s Encrypt et des règles d’edge, avec votre propre jeton d’API ; le plan gratuit suffit.
Les IP dont les connexions échouent de façon répétée sont bloquées à l’edge de Cloudflare et débloquées automatiquement à l’expiration du blocage ; le nom d’utilisateur essayé reste sur votre serveur. Edge Shield n’est pas affilié à Cloudflare.
Oui, si la télévision a un navigateur web. MediaLab TV pour Emby et MediaLab TV pour Jellyfin ajoutent une application TV à votre serveur : ouvrez son adresse une fois dans le navigateur de la télévision (par exemple /web/tv/), enregistrez-la en favori, et désormais la télévision se connecte toute seule avec le compte enregistré, ou avec le téléphone. Elle porte votre propre nom, votre logo, vos couleurs et votre langue, et les nouveaux comptes et le paiement se font depuis le téléphone avec Registration et Cashier.
Ce n’est pas une application du magasin d’applications de la télévision : c’est une application web avec sa propre interface et son propre lecteur façon Netflix, pensée pour la télécommande, et le serveur transcode ce qu’un navigateur de télévision ancien ne peut pas lire. La télévision conserve le jeton de connexion du serveur, pas le mot de passe. Sans licence valide, les téléviseurs ne voient qu’un écran neutre « Service unavailable », sans votre nom ni votre logo.
Licences et activation
Une licence fonctionne sur un serveur : un serveur Emby pour les plugins Emby, un serveur Jellyfin pour les plugins Jellyfin, une instance Nextcloud pour les applications Nextcloud. Une licence de plugin couvre ce plugin ; le pack couvre tous les plugins de la même plateforme avec une seule clé.
Installez le plugin, ouvrez sa page dans Emby (Dashboard → Plugins → le plugin), collez votre clé de licence et enregistrez. Le plugin contacte le serveur de licences, lie la clé à ce serveur et affiche la licence comme Active. Pour les plugins Jellyfin, ouvrez Dashboard → Plugins → le plugin → Open License page, collez la clé et cliquez sur Activate with key. Pour les applications Nextcloud, la clé se place dans Administration settings → l’application → License. Vos clés se trouvent dans Compte → Licences.
Oui. Une licence de pack débloque tous les plugins de la même plateforme sur un serveur avec une seule clé : installez seulement les plugins que vous voulez et collez la même clé dans chacun. Les nouveaux plugins que nous publions pour cette plateforme sont inclus tant que l’abonnement est actif (à vie : ceux publiés dans sa période de mises à jour). Chaque pack ne couvre que sa propre plateforme : le pack Emby uniquement les plugins Emby, le pack Jellyfin uniquement les plugins Jellyfin et le pack Nextcloud uniquement les applications Nextcloud.
Oui. Dans Compte → Licences, utilisez Transférer la licence à côté du serveur, puis saisissez la clé sur le nouveau serveur. Vous pouvez transférer une licence jusqu’à 3 fois par année civile. Un changement de matériel sur le même serveur (par exemple une nouvelle image Docker) est accepté automatiquement, au plus une fois tous les 30 jours.
Le plugin vérifie la licence une fois par jour et à chaque démarrage. Sans internet, il continue de fonctionner pendant 7 jours après la dernière vérification réussie, puis il s’arrête jusqu’à pouvoir revérifier. Cet arrêt ne supprime jamais vos données ni vos paramètres.
Non, chaque serveur a besoin de sa propre licence. L’utilisation sur plus de serveurs que la licence ne le permet est détectée chaque jour : le deuxième jour consécutif, vous recevez un e-mail d’avertissement ; le troisième, la licence est suspendue. Gardez la clé sur un seul serveur (ou achetez une licence pour chaque serveur), puis utilisez Réactiver dans Compte → Licences, pour des frais uniques de 5 €.
Quand un abonnement ou un essai prend fin, ou qu’une licence est suspendue, le plugin s’arrête à sa prochaine vérification : les tâches automatiques ne s’exécutent plus et seule sa page License continue de fonctionner, où vous pouvez renouveler, acheter ou saisir une autre clé. Rien n’est supprimé : vos données et vos paramètres restent, et tout reprend dès que la licence redevient valide.
Les plugins Jellyfin sont sous licence GPL-3.0, les applications Nextcloud Sentinel, Shortcloud et Video Gallery sous licence AGPL-3.0, et les outils mailcow (mailcow Toolkit, Sign-up for mailcow et Cashier for mailcow) sous licence GPL-3.0, comme mailcow lui-même ; le code source complet de chaque version que vous recevez se trouve dans votre compte. Les plugins Emby et les autres applications Nextcloud sont sous notre contrat de licence utilisateur final. L’édition Memories + Recognize est notre fork de deux applications AGPL, public sur GitHub. La liste complète, y compris les composants tiers que nous utilisons, se trouve sur la page Droits d’auteur.
Essai gratuit
L’essai dure 30 jours et inclut tous les plugins de la plateforme. Une carte est requise, mais rien n’est débité aujourd’hui ; après l’essai, la formule choisie démarre automatiquement. Vous pouvez résilier à tout moment avant le 30e jour, sans frais.
Les outils mailcow font exception : le mailcow Toolkit, Sign-up for mailcow et Cashier for mailcow ont chacun leur propre essai de 30 jours, qui ne couvre que ce produit (le pack mailcow : les trois).
Depuis le site (commencez l’essai) ou directement depuis la page License de n’importe lequel de nos plugins dans Emby ou Jellyfin, ou la section License de nos applications Nextcloud et des outils mailcow (System > Updates (Toolkit) dans mailcow) : saisissez votre e-mail et commencez l’essai de 30 jours. Vous choisissez ce que vous voulez payer après l’essai (le pack ou un seul plugin, mensuel ou annuel). Un compte est créé automatiquement et un mot de passe temporaire arrive par e-mail ; si votre e-mail a déjà un compte sur le site, connectez-vous d’abord.
Non. L’essai est offert une fois par compte (adresse e-mail), une fois par serveur (serveur Emby, serveur Jellyfin ou instance Nextcloud) et une fois par carte de paiement. Si la carte a déjà servi pour un essai, l’abonnement démarre tout de suite et nous vous l’expliquons par e-mail. Si vous avez déjà utilisé votre essai, vous pouvez acheter une licence directement depuis les Tarifs.
Pour les outils mailcow, la même règle s’applique par produit : le mailcow Toolkit, Sign-up for mailcow et Cashier for mailcow peuvent chacun être essayés une fois par serveur mailcow, adresse e-mail et carte.
Trois jours avant la fin, nous vous envoyons un rappel. Le 31e jour démarre la formule choisie au début de l’essai et la carte est débitée ; à partir de là, seul le produit choisi reste sous licence. Pour arrêter, résiliez depuis votre compte avant la fin de l’essai et rien n’est débité.
Tarifs et paiement
Les prix sont affichés en EUR hors TVA. La TVA est calculée lors du paiement selon votre pays, avant que vous payiez.
Chaque plugin et chaque pack est vendu par serveur, en abonnement mensuel ou annuel ou en licence à vie. Un abonnement annuel coûte moins que 12 paiements mensuels et une licence à vie moins que 36 (trois années de licence) ; la page des Tarifs indique le pourcentage économisé pour chacun. Les prix actuels se trouvent sur la page des Tarifs, où le calculateur de pack montre si le pack ou les plugins à l’unité sont moins chers pour vos besoins.
Les paiements sont traités par Stripe sur sa page de paiement sécurisée ; nous ne voyons jamais le numéro complet de votre carte. Pour les abonnements et les licences à vie, vous pouvez payer par carte (Apple Pay et Google Pay s’affichent lorsque votre appareil les prend en charge) ou Link. Pour les services ponctuels (heures de support et de développement), vous pouvez payer par carte (Apple Pay et Google Pay s’affichent lorsque votre appareil les prend en charge), prélèvement SEPA ou Link. Les abonnements se renouvellent automatiquement à la fin de chaque période jusqu’à ce que vous les résiliez depuis votre compte.
Saisissez le code dans le champ code promotionnel de la page de paiement Stripe, ou ouvrez un lien qui le contient déjà (?code=…) : le code est alors appliqué automatiquement au paiement. Si un code est invalide ou expiré, vous êtes prévenu avant de payer.
Oui. Dans Compte → Parrainer un ami, vous obtenez un lien personnel. Quand une personne nouvelle achète une licence avec celui-ci, vous recevez un mois de votre abonnement gratuit, ajouté en crédit sur votre compte 14 jours après son premier paiement (s’il n’est pas remboursé) et utilisé automatiquement sur votre prochaine facture. Se parrainer soi-même (avec un autre e-mail ou la même carte) ne compte pas.
Mises à jour et licences à vie
Un abonnement (mensuel ou annuel) inclut toutes les mises à jour tant qu’il est actif. Une licence à vie est un paiement unique et fonctionne pour toujours avec les versions que vous possédez ; les mises à jour sont incluses pendant un an ou jusqu’à la prochaine version majeure, puis vous pouvez acheter un pass de mises à jour annuel facultatif. Voir les Tarifs pour la comparaison complète.
Toutes les versions publiées dans les 12 mois suivant l’achat ou jusqu’à la prochaine version majeure, selon la première éventualité. Ces versions vous appartiennent pour toujours. Les versions plus récentes nécessitent un pass de mises à jour ; votre compte indique, pour chaque serveur, la version installée et si une version plus récente exige un pass de mises à jour.
Un achat annuel facultatif pour les licences à vie. Il prolonge la période de mises à jour d’un an (depuis la fin de la période en cours si elle est encore active, sinon depuis le jour de l’achat) et inclut la version majeure en vigueur à ce moment. Son prix pour chaque produit figure sur la page des Tarifs.
Le plugin se bloque et sa page offre deux options : revenir à la version la plus récente couverte par votre licence (téléchargée et installée depuis la même page, puis redémarrez Emby), ou acheter un pass de mises à jour ou le pack. Après l’achat, la prochaine vérification de la licence débloque le plugin.
Téléchargez la nouvelle version depuis Compte → Licences et remplacez le fichier, ou utilisez la mise à jour proposée sur la page License du plugin dans Emby, qui télécharge et vérifie la nouvelle version ; redémarrez ensuite Emby Server. Les abonnements et les essais reçoivent toujours la dernière version ; les licences à vie reçoivent les versions publiées dans leur période de mises à jour.
Chaque produit a un historique des versions public (par exemple l’historique des versions de Rosub). Quand un plugin dont vous détenez une licence reçoit une version à laquelle vous avez droit, nous vous envoyons un e-mail avec les changements ; vous pouvez désactiver ces annonces dans Compte → Paramètres.
Abonnements et factures
Oui, depuis Compte → Licences avec Changer de formule à côté d’un abonnement actif. Stripe crédite la partie non utilisée de votre période en cours et ne facture que la différence immédiatement. Vous voyez le montant exact avant de confirmer, et rien ne change si le paiement échoue.
Les factures se trouvent dans Compte → Factures, qui liste chaque paiement fait avec votre compte, avec téléchargement en PDF (reçus pour les paiements uniques). Gérer l’abonnement et les factures dans Compte → Licences ouvre le portail client Stripe, où vous pouvez aussi changer de carte ou résilier.
Nous vous envoyons par e-mail un lien pour payer la facture avec la même carte ou une autre. La licence continue de fonctionner pendant 7 jours supplémentaires pendant que le paiement est réessayé ; s’il n’est pas passé d’ici là, les plugins s’arrêtent jusqu’au paiement de l’abonnement. Rien n’est supprimé.
Résiliation et remboursements
Ouvrez Compte → Licences → Gérer l’abonnement et les factures. Un abonnement résilié reste actif jusqu’à la fin de la période déjà payée ; ensuite, les plugins s’arrêtent, sans rien supprimer.
Si un plugin ne fonctionne pas comme décrit et que nous ne pouvons pas le réparer dans les 14 jours suivant votre signalement, nous remboursons la période en cours. Les heures prépayées non utilisées (support, développement, assurance qualité) sont remboursées sur demande tant qu’elles sont valides (12 mois). Les essais peuvent être résiliés gratuitement avant le 30e jour. Les détails figurent dans les Conditions.
Les clés de licence et les téléchargements sont du contenu numérique livré immédiatement. En achetant, vous acceptez que la livraison commence à l’achat et vous reconnaissez que le droit de rétractation de 14 jours de l’UE est ainsi perdu. Utilisez l’essai gratuit de 30 jours pour tester les plugins avant de payer ; voir les Conditions.
Plugins Emby
Des plugins prêts à l’emploi pour la TV en direct depuis des récepteurs Enigma2, des sous-titres roumains automatiques et des sous-titres IA dans n’importe quelle langue, l’inscription des utilisateurs et l’accès payant à votre serveur, des limites de lecture par utilisateur ou par formule, des liens de partage avec expiration pour les invités, le saut des intros, des résumés et des crédits finaux, votre propre application pour les téléviseurs sans application Emby, la connexion sur la télévision avec le téléphone, l’historique des connexions et les alertes de sécurité, les vérifications de transcodage matériel, le nettoyage de la bibliothèque, toutes les adresses du serveur avec codes QR, la configuration et la protection Cloudflare, et les listes Radarr / Sonarr de vos acteurs préférés. Chacun est vendu à l’unité ou dans le pack Emby ; la liste complète et à jour se trouve dans Plugins Emby.
Tous les plugins Emby nécessitent Emby Server 4.10.1 ou plus récent (cela est aussi indiqué sur chaque page produit) : Registration, Access Log, Favorite Actors, Headend, Rosub, Cashier, Security Notifications, Quick Connect, Transcode Doctor, Library Doctor, AISub, Plan Guard, Share Links, Smart Skip, Access Links, Edge Shield et MediaLab TV. Certains plugins en demandent davantage : Headend nécessite Emby Premiere pour la TV en direct et un récepteur Enigma2 avec OpenWebif ; Rosub nécessite ffprobe et votre propre compte subs.ro et/ou OpenSubtitles ; Cashier nécessite Registration 1.10 ou plus récent et votre propre compte Stripe ; Access Log nécessite un compte MaxMind gratuit ; la quarantaine de Library Doctor nécessite un accès en écriture aux dossiers de la bibliothèque ; AISub nécessite votre propre clé d’IA (Anthropic, Groq ou OpenAI) ou un serveur d’IA local ; Share Links nécessite une adresse de serveur accessible à vos invités ; Favorite Actors nécessite Radarr et/ou Sonarr v4+.
Téléchargez le DLL depuis Compte → Licences, copiez-le dans le dossier des plugins d’Emby (paquet Linux : /var/lib/emby/plugins/ ; Docker : le dossier plugins du volume de configuration d’Emby ; Windows : %AppData%\Emby-Server\programdata\plugins\) et redémarrez Emby Server. Collez ensuite votre clé de licence sur la page du plugin dans le tableau de bord d’Emby. Chaque produit a un guide pas à pas, par exemple le guide de Headend.
Non. Les plugins qui utilisent des services externes fonctionnent avec vos propres comptes et clés : subs.ro et OpenSubtitles pour Rosub, MaxMind GeoLite2 pour Access Log, vos Radarr et Sonarr pour Favorite Actors, votre propre récepteur pour Headend. Leurs conditions vous s’appliquent. Emby est une marque d’Emby LLC ; nos plugins sont indépendants et non approuvés par Emby.
Emby Server peut être téléchargé et utilisé gratuitement ; certaines fonctions nécessitent Emby Premiere, un abonnement payant vendu par Emby (Headend, par exemple, en a besoin pour la TV en direct). Nos plugins sont des produits distincts qui ajoutent ce qu’Emby ne fait pas tout seul, par exemple des sous-titres roumains automatiques (Rosub), la TV en direct depuis un récepteur Enigma2 (Headend), l’inscription des utilisateurs en libre-service (Registration), l’accès payant à votre serveur (Cashier) ou l’historique des connexions (Access Log) ; la liste complète se trouve dans Plugins Emby. Ils sont licenciés par serveur Emby, avec 30 jours d’essai gratuit ; les prix figurent sur la page des Tarifs.
Oui, avec Headend. Il relie Emby à un récepteur Vu+ ou autre Enigma2 via OpenWebif (1.2.9 ou plus récent) : les bouquets que vous choisissez deviennent des chaînes de TV en direct d’Emby, avec l’EPG du récepteur plus des sources de guide XMLTV facultatives, les picons et l’enregistrement comme n’importe quel tuner Emby. Vous avez besoin d’Emby Premiere pour la TV en direct. Voir le guide de Headend pour la configuration.
Non. Nous ne vendons ni chaînes, ni listes M3U, ni abonnements IPTV. Headend ne diffuse dans la TV en direct d’Emby que ce que votre propre récepteur Enigma2 syntonise par satellite ou par câble.
Avec Rosub : il surveille vos bibliothèques Emby et télécharge les sous-titres roumains des films et séries, nouveaux et existants, depuis subs.ro et OpenSubtitles, avec vos propres clés d’API (les deux ont des offres gratuites). Il choisit le sous-titre conçu pour la même version (release) que votre fichier. Voir le guide de Rosub.
Le plus souvent, le sous-titre a été conçu pour une autre version (release) du même film ou du même épisode (autre source, autre montage ou autre fréquence d’images). Choisissez un sous-titre conçu pour votre version exacte ; Rosub le fait automatiquement et sa vérification de synchronisation (ffprobe) corrige un décalage constant. S’il ne convient toujours pas, cherchez manuellement depuis la page de l’élément dans Emby (Edit subtitles → Search).
Oui, avec Registration : il ajoute une page d’inscription publique à votre serveur Emby. Vous donnez aux gens un code d’accès (à usage unique ou multiple, avec expiration) ; les nouveaux comptes copient les bibliothèques et les paramètres d’un utilisateur modèle, et vous pouvez exiger votre approbation au préalable. La protection anti-robots est activée par défaut. Voir le guide de Registration.
Avec Access Log : chaque connexion et chaque tentative échouée sont enregistrées avec l’utilisateur, l’heure, l’adresse IP, l’appareil, l’application et la localisation approximative (depuis une base GeoLite2 gratuite conservée sur votre serveur), avec des filtres et l’export CSV. Voir Access Log.
Oui, avec Favorite Actors : les acteurs que vous marquez comme favoris dans Emby deviennent une liste Radarr (TMDb Person) et une liste personnalisée Sonarr, synchronisées selon un calendrier, les nouveaux titres qui les mettent en scène sont donc ajoutés à vos listes de souhaits. Il nécessite Radarr et/ou Sonarr v4 ou plus récent. Voir Favorite Actors.
Emby n’a aucun rapport pour cela : le même film dans deux dossiers devient deux titres distincts, un film qu’il n’a pas pu identifier garde un titre ou une affiche erroné, et un fichier disparu, endommagé ou copié à moitié n’apparaît que quand quelqu’un essaie de le lire. Library Doctor liste les films en double (même identifiant TMDb ou IMDb, ou même titre et même année quand ils n’ont pas d’identifiant, marqués à vérifier) et les épisodes en double (même série, même saison et même épisode) avec leur qualité côte à côte et l’espace que vous récupéreriez, les films non identifiés, les fichiers manquants, illisibles ou incomplets, et où part votre espace disque. Les fichiers qu’Emby affiche déjà comme versions d’un même titre ne sont pas signalés comme des doublons.
Il ne supprime rien. Il déplace la version la plus faible dans un dossier de quarantaine (.medialab-de-sters, « à supprimer » en roumain) à l’intérieur de la même bibliothèque, d’où Restore le remet exactement à sa place ; vous supprimez vous-même ce dossier une fois que vous êtes certain. La quarantaine nécessite qu’Emby ait un accès en écriture aux dossiers de la bibliothèque.
Pas tout seul. AISub traduit un sous-titre existant (par exemple anglais → roumain) avec Claude Haiku, Claude Sonnet ou n’importe quel serveur compatible OpenAI (LM Studio, Ollama, OpenRouter), et quand un titre n’a aucun sous-titre, il transcrit l’audio avec Groq ou OpenAI Whisper, puis le traduit. Les nouveaux films et épisodes sont traités à leur arrivée, et une tâche nocturne couvre la bibliothèque. Avec Rosub, l’IA ne fabrique que les langues que Rosub n’a pas trouvées, et le premier sous-titre fait par un humain remplace automatiquement celui de l’IA.
Vous utilisez vos propres clés et payez le fournisseur d’IA directement ; le coût estimé est affiché avant chaque traitement. Le texte du sous-titre, ou pour la transcription la piste audio du film, va au fournisseur que vous choisissez ; rien ne nous parvient, sauf la vérification de la licence. Dans la version 0.1.0, un serveur d’IA local peut traduire, mais la transcription nécessite une clé Groq ou OpenAI.
Plan Guard définit des limites par utilisateur ou par formule : lectures simultanées, qualité à la maison et à l’extérieur (débit), résolution maximale et autorisation de transcodage. Quand une limite est dépassée, il affiche un message, arrête la lecture ou déconnecte l’appareil, et il signale les comptes utilisés depuis des lieux et des réseaux différents en même temps, y compris les « voyages impossibles ». Avec Cashier, chaque formule payante reçoit automatiquement son propre profil de limites.
Emby Web 4.10 ignore les ordres d’arrêt, et Infuse, Kodi et les lecteurs DLNA n’ont pas de télécommande, sur ceux-là Plan Guard déconnecte donc l’appareil. Les localisations sont consultées sur votre serveur, depuis les bases de données DB-IP Lite (IP Geolocation by DB-IP) ; rien sur vos utilisateurs ne quitte le serveur.
Avec Share Links, vous créez un lien vers un film, un épisode, une saison ou une série, avec une expiration, un nombre maximal d’ouvertures et de spectateurs simultanés et un code PIN facultatif, et vous l’envoyez par copie, WhatsApp, Telegram ou e-mail. L’invité l’ouvre dans un navigateur, ou sur une télévision avec une adresse courte et un code de 8 caractères ou un code QR, et regarde dans le lecteur propre du plugin, avec la piste audio et les sous-titres de son choix.
L’invité ne reçoit jamais de compte ni de jeton : tout passe par un proxy limité aux titres du lien, et révoquer le lien arrête la lecture immédiatement. C’est important, car sur Emby 4.10, les restrictions de bibliothèque ne sont pas appliquées quand un élément est demandé directement par son identifiant : un compte invité ordinaire pourrait donc atteindre toute la bibliothèque. Les invités en dehors de votre réseau ont besoin d’une adresse de votre serveur qu’ils peuvent atteindre.
Smart Skip les trouve tout seul : les intros par saison à partir d’empreintes audio (y compris les cold opens), les résumés (« Previously on… ») et les crédits finaux dans les épisodes et les films, avec les épilogues de films protégés. Il écrit les marqueurs natifs d’intro et de crédits d’Emby, sans écraser une intro déjà trouvée par Emby Premiere : le prochain épisode est donc proposé dès que les crédits commencent ; Emby Web peut aussi afficher les boutons facultatifs « Skip recap » et « Skip credits ». Les nouveaux épisodes sont analysés à leur arrivée, plus une tâche nocturne, le tout sur votre serveur avec son propre ffmpeg.
Une page d’administration montre la confiance de chaque titre, une liste à revoir et un éditeur avec les images exactes à chaque frontière ; les corrections manuelles ne sont jamais écrasées. Les aperçus « Next time on » ne sont pas détectés, les résumés remixés seulement parfois, et les boutons de résumé et de crédits n’apparaissent que dans Emby Web.
Applications Nextcloud
Document sorter, Allowed file types, IDRegister, Sign-up, Cashier, Shortcloud, Sentinel et Video Gallery sont disponibles à l’unité ou dans le pack Nextcloud ; les prix figurent sur la page des Tarifs. Après l’achat (ou pendant l’essai gratuit de 30 jours), téléchargez l’archive de l’application (.tar.gz) depuis Compte → Licences : elle est compilée pour votre licence. Extrayez-la dans le dossier apps/ (ou custom_apps/) de Nextcloud, activez l’application et collez votre clé dans Administration settings → l’application → License. Chaque application a un guide pas à pas, par exemple le guide de Document sorter.
De la même manière que pour les plugins Emby et Jellyfin, mais par instance Nextcloud (une installation Nextcloud, identifiée par son identifiant d’instance) : mensuel, annuel ou à vie, un essai gratuit de 30 jours une fois par instance, adresse e-mail et carte de paiement, et un pack Nextcloud qui ne couvre que les applications Nextcloud. La clé se place dans Administration settings → l’application → License.
Shortcloud, Sentinel et Video Gallery restent open source sous AGPL-3.0 ; ce que vous achetez pour elles est un abonnement pour des versions compilées prêtes à installer, des mises à jour et du support pour une instance. Cashier et Sign-up (toutes les versions) et les versions 2.0 et ultérieures de Document sorter, Allowed file types et IDRegister sont sous notre CLUF ; les versions antérieures de ces trois applications, publiées sous AGPL-3.0, conservent cette licence.
Cela dépend de l’application : Document sorter, Allowed file types, IDRegister et Sign-up prennent en charge Nextcloud 30 à 34 (PHP 8.1+), Cashier Nextcloud 30 ou plus récent, Shortcloud 32 à 34, et Sentinel et Video Gallery nécessitent Nextcloud 34 avec PHP 8.4. Chaque page produit indique les exigences exactes.
L’application s’arrête : ses pages, ses tâches de fond et son API répondent avec le motif. Vos données et celles de vos utilisateurs ne sont pas supprimées. Pour Cashier, les comptes et les abonnements existants continuent de fonctionner ; seuls les nouveaux abonnements payants ne sont plus acceptés.
Notre fork des applications open source Memories et Recognize (AGPL-3.0, de leurs auteurs originaux) pour Nextcloud 34, avec des fonctions ajoutées de reconnaissance faciale, de recherche et de vidéo. Ce n’est pas une version officielle de l’un ou l’autre projet. Elle est vendue comme un service : installation, configuration et maintenance sur votre serveur, facturées à l’heure (minimum 4 heures). Voir la page produit.
Avec Allowed file types : dans Administration settings → Allowed file types, vous cochez, par groupe, les types de fichiers que ses membres peuvent téléverser (images, vidéos, audio, documents, archives, code, programmes, polices…), en plus des règles pour tous les autres et pour les liens publics. Le type est lu dans le contenu du fichier et dans son nom : changer le nom d’un fichier ne fait donc pas passer la vérification, et celle-ci couvre l’interface web, les clients de bureau et mobiles, WebDAV et les téléversements publics. Voir le guide.
Deux de nos applications ajoutent l’inscription en libre-service. Sign-up place un lien Create an account sur la page de connexion : confirmation par e-mail, approbation facultative de l’administrateur, vos propres champs de formulaire, et quota et groupes pour les nouveaux comptes. IDRegister inscrit les gens depuis un téléphone avec une carte d’identité roumaine ou un permis de conduire et un selfie.
Avec Cashier à côté de l’une ou l’autre, les visiteurs peuvent aussi choisir une formule payante et obtenir leur compte dès que le paiement est confirmé.
Oui, avec Shortcloud, un raccourcisseur de liens pour Nextcloud : chaque partage par lien public reçoit une adresse courte sur votre propre domaine (par exemple cloud.example.com/go/abc1234), copiée depuis la barre latérale de partage, avec des terminaisons personnalisées, des domaines courts supplémentaires facultatifs et un compteur de visites. Voir Shortcloud.
Commencez par les avertissements de sécurité et de configuration du propre Nextcloud dans Administration settings → Overview. Sentinel surveille ensuite ce qui s’accumule pendant que le serveur est utilisé : les comptes qui se connectent avec un mot de passe seul, les mots de passe d’application obsolètes, les administrateurs inactifs, les fichiers de l’installation modifiés de façon inattendue, les fichiers de configuration que le serveur web expose, et les activités de type ransomware. Chaque constat s’accompagne du motif et de la correction, et les plus graves sont envoyés par e-mail. Voir Sentinel.
Les navigateurs ne peuvent pas lire certains formats tout seuls. Video Gallery les lit quand même : selon le fichier et le navigateur, il envoie la vidéo telle quelle, la réemballe, ne convertit que le son ou la réencode sur la carte graphique (ou le processeur) avec ffmpeg, et liste toutes les vidéos de votre compte par date de prise de vue. Il nécessite Nextcloud 34 et PHP 8.4. Voir Video Gallery.
Plugins Jellyfin
Oui, pour Jellyfin 12.2 ou plus récent, tous listés dans Plugins Jellyfin : Registration, Cashier, Access Log, Security Notifications, Quick Connect, Favorite Actors, Rosub, Headend, Transcode Doctor, Library Doctor, AISub, Plan Guard, Share Links, Smart Skip, Access Links, Edge Shield, MediaLab TV et, pour medialab Server (notre variante de Jellyfin), Self-Update, à l’unité ou dans le pack Jellyfin. Ils sont open source (GPL-3.0) et leurs versions compilées sont publiques ; ce que vous achetez, c’est l’abonnement : la licence pour les utiliser, les mises à jour et le support. Pour tout le reste, nous créons des plugins sur demande, avec un devis écrit gratuit ; voir Plugin Jellyfin sur mesure.
Via votre propre dépôt privé de plugins : créez son adresse dans Compte → Licences et ajoutez-la dans Jellyfin (Dashboard → Plugins → Repositories → +). Jellyfin installe et met à jour alors les plugins que vos licences couvrent, uniquement dans les versions qu’elles autorisent. Gardez l’adresse privée ; vous pouvez la régénérer ou la révoquer à tout moment.
Nos plugins Jellyfin sont sous licence GPL-3.0 : vous pouvez utiliser, étudier, modifier et partager le code selon cette licence. Les versions compilées prêtes à installer des plugins publiés sont publiques, dans le catalogue medialab.works pour Jellyfin et dans l’historique des versions de chaque plugin, à côté de leur code source complet (aussi dans Compte → Licences).
L’abonnement paie la licence pour utiliser les plugins sur votre serveur, chaque mise à jour incluse dans votre formule (aussi via votre dépôt privé de plugins) et le support. La version compilée vérifie la clé d’abonnement une fois par jour, comme nos plugins Emby, et s’arrête sans licence valide. Voir la section 10 du CLUF.
Les plugins Jellyfin de MediaLab Works nécessitent Jellyfin Server 12.2 ou plus récent (Linux, Windows ou Docker) ; Self-Update nécessite medialab Server installé depuis ses paquets. Les mises à jour arrivent via votre dépôt privé de plugins ou depuis la page License du plugin ; avec une licence valide, cette même page peut aussi revenir à la version précédente si une mise à jour pose problème. Redémarrez Jellyfin après une mise à jour ou un retour en arrière.
Elles le peuvent, une fois votre période de mises à jour terminée. Le catalogue public Jellyfin (https://medialab.works/jellyfin/manifest.json) propose toujours la version la plus récente, mais une licence à vie dont la période de mises à jour est terminée n’est pas licenciée pour les versions publiées après cette période. Si les mises à jour automatiques de plugins de Jellyfin installent une telle version, le plugin s’arrête avec « version not licensed » jusqu’à ce que vous reveniez en arrière avec Roll back to x.y.z sur la page License du plugin ou que vous achetiez un pass de mises à jour.
Pour l’éviter, ne laissez pas Jellyfin mettre à jour ce plugin automatiquement. Après un retour en arrière, la mise à jour automatique de Jellyfin pour ce plugin reste désactivée jusqu’au prochain Install update sur la page License. Vous pouvez aussi ajouter votre dépôt privé de plugins, qui ne propose que les versions que votre licence autorise, à la place du catalogue public, ou retirer les déclencheurs de la tâche planifiée Update Plugins dans Dashboard → Scheduled Tasks (cela arrête les mises à jour automatiques de tous les plugins). Voir Licences et confidentialité dans nos plugins.
Jellyfin ne détecte pas la carte graphique tout seul : la méthode d’accélération et les codecs se choisissent à la main dans Dashboard → Playback → Transcoding, et un mauvais choix ou une permission manquante renvoie le transcodage au processeur sans avertissement. Transcode Doctor teste NVIDIA NVENC, Intel QuickSync et VA-API sur votre serveur, liste les problèmes trouvés avec la solution exacte (par exemple, l’utilisateur Jellyfin absent du groupe render) et applique d’un clic les réglages qui ont réussi, en gardant les précédents pour pouvoir les restaurer.
Il explique aussi en mots simples pourquoi chaque lecture est transcodée (par exemple des sous-titres PGS incrustés ou du HDR sur un écran SDR) et écrit une entrée dans le journal d’activité quand un transcodage tourne sur le processeur alors que l’accélération est configurée.
Jellyfin n’a aucun rapport pour cela : le même film dans deux dossiers devient deux titres distincts, un film qu’il n’a pas pu identifier garde un titre ou une affiche erroné, et un fichier disparu ou endommagé n’apparaît que quand quelqu’un essaie de le lire. Library Doctor liste les films en double (même identifiant TMDb ou IMDb, ou même titre et même année quand ils n’ont pas d’identifiant, marqués à vérifier) et les épisodes en double (même série, même saison et même épisode) avec leur qualité côte à côte et l’espace que vous récupéreriez, les films non identifiés, les fichiers manquants, illisibles ou incomplets (un téléchargement ou une copie incomplet), et où part votre espace disque.
Il ne supprime rien. Vous pouvez regrouper les doublons comme versions d’un même titre, ou déplacer la version la plus faible dans un dossier de quarantaine (.medialab-de-sters, « à supprimer » en roumain) à l’intérieur de la même bibliothèque, d’où Restore le remet exactement à sa place ; vous supprimez vous-même ce dossier une fois que vous êtes certain. La quarantaine nécessite que Jellyfin ait un accès en écriture aux dossiers de la bibliothèque.
Oui, avec Self-Update, sur medialab Server (la variante Jellyfin de MediaLab Works) installé depuis ses paquets medialab-server et medialab-server-web. Dans Server update, dans le tableau de bord de Jellyfin, vous vérifiez les versions du dépôt medialab, mettez à jour vers la plus récente ou vers n’importe quelle version de la liste, ou revenez à la précédente (pas en dessous de 12.2-ml.7, qui a apporté un programme de mise à jour plus sûr). La base de données et la configuration sont d’abord sauvegardées, la page suit le redémarrage (généralement 1 à 3 minutes) et, si la nouvelle version ne démarre pas correctement, le serveur revient tout seul à la précédente.
Le plugin n’a pas de droits d’administrateur et n’utilise pas sudo : un service root du paquet medialab-server valide chaque requête et n’installe que les paquets medialab signés. Une tâche quotidienne cherche les nouvelles versions ; la mise à jour automatique à une heure choisie est facultative et désactivée par défaut. Sur Jellyfin officiel, la page indique comment passer à medialab Server en conservant vos données, vos utilisateurs, vos bibliothèques et vos plugins.
Oui, avec AISub : il traduit un sous-titre existant avec Claude ou un serveur compatible OpenAI (aussi un local, comme LM Studio ou Ollama), ou transcrit l’audio avec Groq ou OpenAI Whisper quand il n’y a aucun sous-titre. Avec Rosub, il ne génère que les langues que Rosub n’a pas trouvées.
Vous utilisez vos propres clés d’IA et payez le fournisseur directement ; des plafonds par titre et par mois gardent le coût sous contrôle. Le résultat est un fichier .srt normal à côté de la vidéo : n’importe quelle application qui affiche les sous-titres externes peut donc l’afficher.
Oui, avec Plan Guard : des profils de limites avec lectures simultanées, qualité à la maison et à l’extérieur, résolution maximale et transcodage, attribués par utilisateur ou liés à vos formules Cashier. Les lectures en plus sont refusées avant de commencer, et une lecture qui enfreint le profil reçoit un message, puis un arrêt, puis l’appareil est déconnecté.
Il évalue aussi chaque compte selon les signes de partage (réseaux différents en même temps, « voyage impossible »). Les localisations proviennent des bases de données gratuites DB-IP Lite (IP Geolocation by DB-IP), consultées sur votre serveur.
Oui, avec Share Links : vous créez un lien qui expire, avec un nombre maximal d’ouvertures et de spectateurs et un code PIN facultatif, et l’invité regarde dans un navigateur ou sur une télévision (adresse courte + code de 8 caractères, ou QR).
L’invité ne reçoit jamais de mot de passe ni de jeton : un utilisateur temporaire caché, créé pour le lien, garde son jeton sur votre serveur, un proxy ne sert que les titres partagés, et révoquer le lien déconnecte les spectateurs immédiatement.
Oui, avec Smart Skip. Il trouve l’intro de chaque saison à partir d’empreintes audio, le résumé (« Previously on… ») et les crédits finaux des épisodes et des films, et les donne à Jellyfin comme segments multimédias : les applications Jellyfin qui prennent en charge les segments affichent donc leur bouton Skip et proposent le prochain épisode dès que les crédits commencent.
L’analyse est entièrement locale, avec le propre ffmpeg du serveur et sans carte graphique ; les titres incertains apparaissent dans une liste « à revoir » avec un éditeur précis à l’image près.
Dans le catalogue et la liste des plugins de Jellyfin, nos plugins se nomment, par exemple, Registration by MediaLab. Certains conservent leurs données dans un dossier portant le nom du plugin ; avec un nom simple, Jellyfin confondrait ce dossier avec une autre version du plugin. Sur ce site, les plugins apparaissent sans le suffixe, mais les étapes d’installation de chaque guide utilisent le nom exact que vous voyez dans Jellyfin.
Outils mailcow
mailcow garde une session par nom d’hôte. Le bouton SOGo de la liste des boîtes aux lettres bascule cette session vers la boîte aux lettres : vous n’êtes donc plus connecté en tant qu’administrateur, et tant que la session administrateur est ouverte, SOGo vous renvoie au tableau de bord d’administration.
Le mailcow Toolkit ouvre SOGo en tant que boîte aux lettres dans un nouvel onglet, sur un nom d’hôte de webmail distinct (par exemple webmail.example.com), où la boîte aux lettres a sa propre session ; votre onglet d’administration reste connecté. Le transfert utilise un jeton à usage unique valable 60 secondes, et chaque utilisation est consignée. Il nécessite ALLOW_ADMIN_EMAIL_LOGIN=y dans mailcow.conf, la permission Login as mailbox user et un deuxième nom d’hôte servi par le même proxy inverse que l’interface de mailcow.
Non, pas avec mailcow seul : update.sh s’exécute sur l’hôte, et l’interface d’administration vit dans un conteneur. Avec le mailcow Toolkit, la page System > Updates (Toolkit) montre la version installée et les nouveautés, vérifie chaque jour s’il existe une version nouvelle et envoie un e-mail par nouvelle version à l’adresse de votre choix.
Update now fait d’abord une sauvegarde (crypt, redis, rspamd, postfix et mysql, conservée 14 jours) quand un dossier de sauvegarde est configuré, puis exécute le propre update.sh de mailcow et attend que chaque conteneur soit en marche et que l’interface réponde, le journal étant affiché en direct. Si la sauvegarde échoue, rien n’est modifié. Le Toolkit ne modifie aucun fichier suivi par mailcow : il reste donc en place après les mises à jour de mailcow.
Chaque domaine mailcow nécessite un enregistrement MX pointant vers l’hôte de messagerie (MAILCOW_HOSTNAME), dont l’enregistrement A doit être DNS only (sans proxy) dans Cloudflare, plus SPF, DKIM (le sélecteur et la clé que mailcow a générés) et DMARC. Recommandés : les CNAME autodiscover et autoconfig, les enregistrements SRV pour les clients de messagerie et, avec MTA-STS, ses enregistrements TXT et TLS-RPT. La page System > DNS & Cloudflare du mailcow Toolkit les liste pour chaque domaine et domaine alias, les compare au DNS public, à un fichier de zone téléversé et à la zone Cloudflare en direct, et fournit un fichier de zone BIND que Cloudflare peut importer.
Avec un jeton d’API Cloudflare, vous prévisualisez et appliquez les enregistrements cochés : une sauvegarde JSON de la zone est faite d’abord et peut être annulée, et rien n’est supprimé. Avec la configuration automatique activée, un domaine ajouté dans mailcow reçoit ses enregistrements dans la zone Cloudflare existante dans un délai d’environ 2 minutes ; une politique SPF, DMARC ou TLS-RPT que vous avez déjà est laissée telle quelle. IPv4 seulement par défaut (SPF v=spf1 ip4:<IPv4> -all, sans AAAA) ; l’IPv6 est un réglage.
Les autres serveurs de messagerie vérifient que chaque IP publique de votre serveur a un enregistrement PTR égal à MAILCOW_HOSTNAME et que MAILCOW_HOSTNAME se résout en retour vers la même IP ; sans cela, votre courrier peut être refusé ou finir en spam. Le mailcow Toolkit le vérifie toutes les 6 heures (et sur Check now) pour chaque IPv4 publique, et pour l’IPv6 seulement quand Use IPv6 est activé. En cas d’échec, un ! rouge apparaît à côté du menu System sur chaque page d’administration et une ligne Reverse DNS (PTR) sur System > Information.
Le PTR appartient à celui qui possède l’IP, pas à votre zone DNS : configurez-le dans le panneau de votre fournisseur d’hébergement ou de VPS, ou demandez-le à votre FAI. Derrière un NAT, listez les adresses publiques dans RDNS_IPS dans le fichier de réglages du Toolkit (/etc/mlw-mailcow-toolkit/default.conf pour l’installation par défaut).
Pas tout seul. L’assistant de nouveaux domaines du mailcow Toolkit les crée comme alias (ils ne comptent pas dans la limite des boîtes aux lettres) environ 2 minutes après l’ajout d’un domaine : postmaster, abuse, hostmaster, webmaster, contact, info, office, dmarc, tls-rpt, noreply et security, chacun facultatif, plus les vôtres. Ils aboutissent à une seule adresse de destination, que chaque domaine peut redéfinir ; dmarc@ et tls-rpt@ peuvent aller vers une adresse de rapports distincte, et noreply@ élimine silencieusement les messages.
Une boîte aux lettres ou un alias existant avec la même adresse n’est jamais touché, les domaines alias sont ignorés, et les alias sont créés via les propres fonctions de mailcow : ils apparaissent donc dans le journal de mailcow. Les domaines qui existaient déjà quand vous avez activé l’assistant ne sont pas modifiés ; Run wizard les traite un par un.
Non, pas avec mailcow seul : chaque boîte aux lettres et chaque domaine est créé par un administrateur. Sign-up for mailcow ajoute une page d’inscription publique (/mlw-signup/, avec un lien Create an account sur la page de connexion de mailcow). Vous choisissez ce qu’un visiteur obtient : une boîte aux lettres sur les domaines que vous ouvrez à l’inscription, ou un compte d’administrateur de domaine pour ses propres domaines, dans un forfait que vous définissez (domaines, boîtes aux lettres, alias et quota par domaine).
L’adresse est confirmée par un code à 6 chiffres ou un lien, et rien n’est créé dans mailcow avant cela (ni avant votre approbation, si vous l’activez). Les codes d’invitation, un champ caché, un temps de remplissage minimum, des limites par IP et par adresse, les domaines de messagerie autorisés et bloqués et les adresses jetables tiennent les abus à distance. Le domaine propre d’un client n’est ajouté qu’après avoir été prouvé par un enregistrement TXT (_mlw-verify.example.com), et la page montre alors les enregistrements DNS dont il a besoin.
Avec Cashier for mailcow, à côté de Sign-up for mailcow : vous créez des formules de boîtes aux lettres et des forfaits de domaines avec des prix mensuels ou annuels, des jours d’essai et des options (boîtes aux lettres ou espace de stockage supplémentaires), et les visiteurs paient par carte sur la page de paiement de Stripe. Le compte est créé dans mailcow quand Stripe confirme le paiement ; les changements de formule s’appliquent immédiatement, et une formule plus petite que ce que le client utilise est refusée.
Les paiements vont directement sur votre propre compte Stripe : MediaLab Works ne les traite jamais et n’est pas partie à vos ventes. Quand un paiement échoue, le compte continue de fonctionner pendant un délai de grâce que vous choisissez (de 0 à 90 jours), puis il est suspendu (par défaut, il ne peut plus se connecter mais continue de recevoir du courrier, ou il devient inactif) ; un paiement le rétablit immédiatement. Rien n’est jamais supprimé.
Oui, chacun a sa propre licence et son propre essai gratuit de 30 jours, mais ils sont livrés dans un seul paquet : installez le mailcow Toolkit (0.7.0 ou plus récent) et les cinq autres sont déjà là, désactivés jusqu’à l’activation d’une licence. Dans mailcow, System > Updates (Toolkit) affiche une carte de licence par produit.
Le pack mailcow les couvre tous les six sur un serveur mailcow avec une seule clé, saisie dans chaque carte. Cashier for mailcow a besoin de Sign-up for mailcow, car il vend via sa page d’inscription. Tous sont open source (GPL-3.0).
Le script de sauvegarde de mailcow se lance à la main et laisse des fichiers non chiffrés sur le serveur. Backup for mailcow l’exécute selon un planning, chiffre chaque sauvegarde sur le serveur avec GnuPG (AES-256) avec votre phrase de passe, garde les copies les plus récentes dans un dossier local et les envoie sur votre propre Google Drive (avec votre propre client OAuth Google), avec rotation des deux côtés.
System > Backup affiche chaque sauvegarde, en vérifie une sans la restaurer et restaure les composants choisis depuis une copie locale ou directement depuis Google Drive. La restauration fonctionne même sans licence. Il fait partie du paquet mailcow Toolkit (0.7.0 ou plus récent), avec sa propre licence.
Le fail2ban intégré à mailcow bannit la force brute rapide pour peu de temps et ne garde aucun historique. Security for mailcow ajoute System > Security : un historique des connexions échouées, des scans et du spam tiré des journaux de mailcow, des règles pour les attaques lentes et distribuées, le password spraying, les récidivistes, les scans d’exploits web et les boîtes compromises, et des bannissements via le fail2ban de mailcow (en option aussi chez Cloudflare).
Il démarre en surveillance seule, ne bannit jamais automatiquement les adresses privées, en exception ou connues, et alerte par e-mail et Telegram. Il fait partie du paquet mailcow Toolkit (0.6.0 ou plus récent), avec sa propre licence.
Parce que SOGo ne lit les domaines de mailcow qu’au démarrage : un domaine ajouté ensuite est inconnu de SOGo jusqu’à son redémarrage, et l’échec de recherche est aussi conservé dans memcached. Cocher l’option Restart SOGo de mailcow lors de l’ajout du domaine l’évite.
Le mailcow Toolkit (0.4.0 ou plus récent) vérifie toutes les 2 minutes si SOGo connaît tous les domaines de mailcow et, quand un domaine manque, redémarre seulement le conteneur SOGo et vide memcached, dans un délai d’environ 3 à 10 minutes après l’ajout du domaine : une fois pour plusieurs nouveaux domaines, au plus toutes les 10 minutes, avec une licence valide. Chaque redémarrage va au journal d’audit ; pendant qu’un domaine attend, System > DNS & Cloudflare affiche un avertissement avec un bouton Restart SOGo.
Hébergement web
De l’hébergement web sur notre propre serveur en Roumanie, et non de l’espace revendu : chaque client dispose d’un compte Linux séparé avec ses propres limites, et chaque site tourne dans ses propres conteneurs. Il existe quatre formules, Start, Standard, Pro et Business, avec PHP 8.1–8.5 sur Apache ou nginx, Node.js et Python (dès Standard), MariaDB et PostgreSQL, l’e-mail sur votre domaine, des sauvegardes quotidiennes et le SSL gratuit. La facturation annuelle coûte dix mois et le prix reste le même au renouvellement.
Ce qui est inclus et comment c’est construit : présentation de l’hébergement ; les étapes de la commande au site en ligne : guide de démarrage.
L’hébergement est ouvert à tous, sans inscription séparée. Choisissez une formule et ses options sur la page de l’hébergement, saisissez votre adresse e-mail (ou connectez-vous si vous avez déjà un compte), acceptez les conditions et payez avec Stripe. Votre compte client est créé avec cette adresse et le mot de passe temporaire arrive par e-mail ; le compte d’hébergement est prêt quelques minutes après le paiement. Vous bénéficiez de la garantie satisfait ou remboursé de 30 jours dès le premier paiement et du SLA. Les étapes de la commande jusqu’au site en ligne sont dans le guide de démarrage.
Vous choisissez pour chaque site, et les deux exécutent PHP-FPM dans vos propres conteneurs. Apache lit les fichiers .htaccess, comme la plupart des hébergements mutualisés : le choix sûr pour les applications livrées avec des règles de réécriture dans .htaccess. nginx est plus léger et plus rapide pour les fichiers statiques, mais ignore .htaccess ; WordPress y fonctionne sans modification. Détails dans le guide.
Pas de transfert : le domaine reste chez votre registraire, à votre nom. Lorsque vous l’ajoutez dans Compte → Hébergement, nous créons sa zone DNS chez Cloudflare avec les enregistrements web et mail, configurons l’e-mail pour lui et émettons le certificat SSL. Vous remplacez seulement les serveurs de noms chez votre registraire par les deux affichés dans votre compte ; cela prend généralement de quelques minutes à quelques heures.
Vous gardez votre DNS actuel ? Faites pointer un enregistrement A vers l’adresse indiquée dans le compte et ajoutez vous-même les enregistrements mail. En attendant, chaque site fonctionne sur son adresse de prévisualisation.
Oui, dès la formule Standard : Node.js 22 ou 24 et Python 3.12. Envoyez l’application dans le dossier app du site (par exemple www-data/blog/app) ; elle doit écouter sur le port de la variable PORT (8080) sur 0.0.0.0. Node.js démarre start.sh, npm start ou server.js ; Python démarre start.sh, asgi.py (uvicorn) ou app.py / wsgi.py (gunicorn), avec requirements.txt installé pour vous. Le serveur web et le certificat sont placés devant. Voir le guide.
Oui. Chaque formule comprend des boîtes mail sur votre domaine (5 sur Start, 25 sur Standard, 100 sur Pro, illimitées dans le cadre d’un usage raisonnable sur Business), sur notre serveur de messagerie, avec les enregistrements MX, SPF, DKIM et DMARC créés pour vous. Vos sites envoient leurs e-mails par SMTP sur le port 587 avec l’une de vos boîtes mail (dans WordPress, avec une extension SMTP). L’envoi direct sur le port 25 est bloqué pour tous les comptes d’hébergement, ce qui garde le serveur hors des listes de spam.
Chaque nuit, vos fichiers et bases de données sont sauvegardés, chiffrés, et conservés selon votre formule : Start 7 jours, Standard 14 jours, Pro 14 quotidiennes + 4 hebdomadaires, Business 30 quotidiennes + 12 mensuelles ; l’option de sauvegarde étendue vous donne la conservation de la formule supérieure. Vous pouvez restaurer vous-même un compte entier, un site ou une base de données depuis Compte → Hébergement, ou nous le demander (la première restauration de chaque mois est gratuite).
Pour être clair : les sauvegardes se trouvent sur un disque séparé du même serveur, et non dans un second emplacement. Elles vous protègent des erreurs, des mises à jour ratées et des sites piratés, mais pas de la perte du serveur entier ; gardez donc votre propre copie des données importantes.
Nous vous écrivons dès que la vérification quotidienne constate que le compte dépasse sa limite de disque ou de fichiers (inodes), et vous avez 7 jours pour libérer de l’espace ou ajouter du disque (+10 Go par option). Après 7 jours, les envois de fichiers sont bloqués (le SFTP passe en lecture seule) jusqu’à ce que l’utilisation repasse sous la limite ; vos sites restent en ligne tout le temps. Les envois sont de nouveau autorisés automatiquement lors de la vérification quotidienne suivante. Le CPU et la mémoire sont des limites strictes : vous n’êtes jamais facturé en supplément.
99,9 % par mois. Si un mois passe sous ce seuil, vous recevez un crédit sur votre prochaine facture : 10 % du montant mensuel en dessous de 99,9 %, 25 % en dessous de 99,5 % et 50 % en dessous de 99 %. Demandez-le dans les 30 jours suivant la fin du mois. La maintenance programmée annoncée 48 heures à l’avance, la force majeure et les problèmes causés par vos propres sites ne sont pas comptés. Conditions complètes : Contrat de niveau de service.
Oui : 30 jours à compter de votre premier paiement. Faites la demande depuis votre compte ou à contact@medialab.works et nous remboursons l’abonnement d’hébergement ; le compte est ensuite fermé. Les prix sont en EUR ; la TVA est calculée lors du paiement selon votre pays.
Si vous résiliez, le compte reste actif jusqu’à la fin de la période payée, puis il est suspendu et supprimé 30 jours plus tard ; la sauvegarde finale est conservée pendant ces 30 jours. Si un paiement de renouvellement échoue, vos sites restent en ligne pendant un délai de grâce de 7 jours ; ensuite, le compte est suspendu (pas supprimé) jusqu’au paiement de la facture. Détails dans les Conditions générales, section 10.
Développement sur mesure et support
Oui. Les plugins sur mesure pour Emby, Jellyfin ou Nextcloud commencent à 250 € pour 10 heures de développement. Vous recevez un devis écrit gratuit avant de payer. Écrivez-nous avec ce dont vous avez besoin.
- Vous décrivez l’idée via le formulaire de contact ou Telegram.
- Sous 2 jours ouvrés, vous recevez un devis écrit : une courte spécification, le nombre d’heures et une date de livraison. Rien n’est facturé tant que vous n’êtes pas d’accord.
- Vous achetez les heures (25 €/h) ; elles apparaissent dans votre compte.
- Vous recevez une version de test et un court rapport à chaque étape.
- Livraison avec un guide d’installation, plus 30 jours de corrections sans frais supplémentaires pour les défauts trouvés après la livraison.
Par défaut, nous conservons les droits d’auteur : il est livré comme une version compilée sous licence uniquement pour vos serveurs, et nous pouvons réutiliser des parties à usage général dans d’autres produits. Si le logiciel doit vous appartenir seul (code source complet, droits d’auteur transférés à vous, sans clé de licence, confidentiel), commandez le développement sur mesure avec droits exclusifs, à partir de 500 €.
Le support par e-mail et par tickets est inclus avec chaque abonnement actif et pendant un mois après l’achat d’une licence à vie. L’aide concrète (Telegram, prise en main à distance) fonctionne avec des heures de support achetées.
Les heures de support coûtent 15 €/h et les heures de développement 25 €/h (minimum 2 heures). Les heures sont prépayées, consommées par tranches de 15 minutes et restent valables 12 mois ; Compte → Support montre ce qui reste. Les heures non utilisées d’un projet sur mesure peuvent aussi servir pour du support ou des modifications ultérieures.
Dans Compte → Support, choisissez un créneau libre et décrivez ce sur quoi nous devons travailler ; vous recevez une confirmation par e-mail. Vous pouvez annuler ou déplacer une séance jusqu’à 24 heures avant son début (au plus 2 déplacements). Les heures ne sont décomptées qu’après que la séance a eu lieu.
Une vérification indépendante de votre logiciel, de votre serveur multimédia ou de votre site web, avec un rapport écrit : ce qui a été testé, ce qui a été trouvé et ce qu’il faut corriger en premier. Elle couvre les tests de logiciel (plan de test, tests manuels et automatisés, bugs avec les étapes pour les reproduire), les vérifications de serveurs Emby, Jellyfin et Nextcloud (configuration, sécurité, performance, sauvegardes), la lecture sur téléviseurs, téléphones et navigateurs, les audits d’accessibilité, de référencement naturel (SEO) et de performance, les répétitions de mise à jour, les tests de restauration de sauvegarde, les tests de charge et les vérifications de sécurité de base. L’assurance qualité coûte 20 € par heure, minimum 1 heure.
Un logiciel créé uniquement pour vous : vous recevez le code source complet avec les instructions de compilation, les droits d’auteur vous sont transférés après le paiement intégral, le résultat fonctionne sans clé de licence sur un nombre quelconque de vos serveurs, et le projet reste confidentiel (NDA sur demande). Il est facturé 25 € par heure avec un minimum de 20 heures, soit à partir de 500 € ; le devis écrit est gratuit.
Sur la page Services et sur la page des tarifs, vous choisissez le nombre d’heures avant de payer ; chaque service a un minimum (support 1 heure, assurance qualité 1 heure, développement 2 heures, développement avec droits exclusifs 20 heures). Pour tout ce qui dépasse une courte tâche, demandez d’abord le devis écrit gratuit et achetez les heures qu’il indique. Les heures non utilisées restent sur votre compte pendant 12 mois.
Compte et confidentialité
Pas besoin d’inscription séparée : un compte est créé automatiquement quand vous commencez un essai ou achetez une licence, depuis le site ou depuis un plugin. Un mot de passe temporaire arrive par e-mail et vous choisissez le vôtre à la première connexion. Si votre e-mail a déjà un compte, connectez-vous avant de payer.
Oui. Dans Compte → Paramètres, activez l’authentification à deux facteurs avec une application d’authentification (Google Authenticator, Aegis, 1Password…). Enregistrez les codes de récupération affichés à l’activation : chacun fonctionne une fois si vous perdez l’accès à l’application.
Seulement ce qui est nécessaire à votre compte et à vos licences : e-mail, nom, langue, historique d’achat, activations de licences et messages de support. Les paiements sont gérés par Stripe. Nous ne vendons pas de données personnelles et ne les utilisons pas pour de la publicité. Les données, les finalités et les durées de conservation sont listées dans la Politique de confidentialité.
Seulement ce qui est nécessaire pour vérifier la licence, sur une connexion chiffrée : la clé de licence, l’identifiant du serveur, une empreinte matérielle hachée, la version du plugin et une somme de contrôle du fichier du plugin. Les journaux du plugin ne sont envoyés que lorsque vous choisissez de les envoyer depuis la page License ou que vous y activez l’envoi automatique. Access Log localise les adresses IP avec une base GeoLite2 locale : ces données ne quittent donc pas votre serveur.
Seulement des cookies strictement nécessaires et du stockage du navigateur (connexion, protection des formulaires, langue). Google Analytics ne fonctionne que si vous l’acceptez dans la bannière de cookies, sans fonctionnalités publicitaires. Nous n’utilisons pas de cookies publicitaires ni de réseaux sociaux. Vous pouvez modifier votre choix à tout moment depuis Paramètres des cookies dans le pied de page ; voir la Politique de cookies.
Les e-mails nécessaires au bon fonctionnement de vos licences sont toujours envoyés : fin d’essai, paiements échoués, un serveur qui a cessé de vérifier sa licence, messages de sécurité et de compte. Les annonces de nouvelles versions sont facultatives ; désactivez-les dans Compte → Paramètres ou avec le lien de désabonnement de n’importe quelle annonce.
Dans Compte → Paramètres, utilisez Request data export. Une fois la demande examinée, vous recevez une exportation JSON de votre compte, de vos licences, de vos activations, de vos abonnements et de vos demandes.
Utilisez Request account deletion dans Compte → Paramètres et confirmez avec le lien que nous vous envoyons par e-mail ; un administrateur traite ensuite la demande. La suppression résilie les abonnements actifs, désactive toutes les licences et anonymise le compte ; les factures sont conservées pendant la durée exigée par la loi comptable. Elle est irréversible.
Certains oui, directement auprès de leurs éditeurs et seulement quand vous activez la fonction : des bases de données de localisation (MaxMind GeoLite2, DB-IP Lite), la liste des sorties Tor et Spamhaus DROP pour les fonctions de sécurité, les données de chaînes d’iptv-org, des paquets Python pour l’OCR, et les modèles de reconnaissance faciale InsightFace utilisés par IDRegister et l’édition Memories + Recognize. Plan Guard (pour Emby et Jellyfin) télécharge les bases de données DB-IP Lite City et ASN depuis db-ip.com une fois par mois, sauf s’il peut réutiliser la base que Access Log ou Security Notifications conserve déjà. Nous ne les distribuons pas ; leurs licences vous s’appliquent, et les modèles InsightFace sont licenciés par leur éditeur pour la recherche non commerciale uniquement.
Dépannage
La page d’état des services montre l’état du serveur de licences, mesuré toutes les 5 minutes, avec les temps de réponse et le dernier incident.
Ouvrez la page License du plugin : elle indique le motif. Causes fréquentes : l’abonnement ou l’essai a pris fin, un paiement échoué a dépassé son délai de grâce de 7 jours, la clé est déjà activée sur un autre serveur (libérez-la avec Transférer la licence dans votre compte), ou le serveur n’a pas pu joindre le serveur de licences depuis plus de 7 jours. Après avoir corrigé la cause, relancez la vérification depuis la même page ; si le problème persiste, ouvrez un ticket avec le journal du plugin.
Nous l’envoyons quand un serveur n’a pas vérifié sa licence depuis 3 jours. Le plugin continue de fonctionner jusqu’à 7 jours après la dernière vérification réussie, puis s’arrête. Assurez-vous que le serveur peut joindre internet et medialab.works (pare-feu, DNS, proxy), puis redémarrez Emby ou lancez la vérification depuis la page License du plugin. La page d’état des services montre si le serveur de licences lui-même est en fonction.
Sur la page License du plugin dans Emby, ouvrez la fenêtre du journal : vous pouvez envoyer le journal à medialab.works directement (avec une note facultative) ou l’exporter en fichier .zip / .gz et le joindre à un ticket (jusqu’à 8 Mo). Les journaux ne sont envoyés que quand vous le décidez, ou quotidiennement si vous y activez l’envoi automatique.
Cela peut arriver juste après que nous publions une mise à jour, si la page était déjà ouverte : le site se recharge alors lui-même une fois avec la nouvelle version. Si le message reste, appuyez sur Recharger ou actualisez la page. Si cela continue, écrivez-nous avec l’adresse de la page et, si possible, une capture de la console du navigateur ; les messages des extensions du navigateur (par exemple Tag Assistant) ou de la vérification anti-robots de Cloudflare ne sont pas des erreurs du site.