mHub
Nouveau Watch partys et chats : Vuma devient social. Voir Plateforme ouverte · Addon Protocol v2 · Browser API

Chaque idée. Chaque écran.

Créez une application radio en un après-midi.

mHub est une plateforme ouverte qui transforme des dossiers de fichiers simples et des sites web ordinaires en applications pour téléphones, téléviseurs et ordinateurs. Pas besoin d'être programmeur : si vous savez décrire ce que vous voulez, une IA peut le construire, et mHub lui donne un endroit où tourner.

Fonctionne dans VYPN et dans tous les navigateurs mHub Open source, MIT Sans compilation, sans compte Fonctionne sur téléphones, téléviseurs et ordinateurs
Vuma sur une télé : un documentaire DW mis en avant au-dessus d'une rangée de vidéos, les catalogues de l'addon en haut.
Vuma, une app mHub, sur une télé. Tout ce qui est à l'écran vient d'un seul addon : DW.
Nouveau · mHub Social

Regardez ensemble. Où que vous soyez.

Des amis, des chats et des watch partys, directement dans Vuma. Rien à installer : ton compte mhub.mx te connecte, et ce que tu regardes devient quelque chose que vous partagez, avec les gens que tu invites, sur téléphone, télé et ordinateur.

Watch party : un film, tous les écrans, le même instant

Planifie une party dans un chat ou lance-la depuis ce qui est en cours. Un compte à rebours démarre tous les écrans au même moment, et chaque lecteur suit l'hôte : pause, avance, reprise, tout le monde voit la même image.

Les visages de la party restent au bord de l'image, le chat continue sous le film, les réactions traversent l'écran. Chacun regarde avec ses propres addons, dans son propre Vuma.

La même watch party sur un téléphone : l'image en haut, en dessous le chat avec Léa et les réactions.
Le tableau de bord de Vuma avec l'addon DW sur un téléphone ; au bord, la carte Social avec le visage de Léa, parce qu'elle regarde en ce moment.

Une messagerie qui sait ce que vous regardez

Vuma a un onglet Social : des chats avec des amis et des groupes, des réponses, des réactions et une recherche qui tourne sur ton appareil. Envoie un film sous forme de carte, un cœur dessus, et planifiez la party juste en dessous. Chaque message est chiffré de bout en bout.

Ce que tes amis regardent en ce moment s'affiche au-dessus des chats et comme un visage au bord du tableau de bord. Un tap demande à regarder avec eux, et vous voilà dans le même film.

Un chat avec Léa dans Vuma sur un téléphone : un documentaire DW partagé sous forme de carte avec un cœur, une carte de watch party pour 21 h avec un bouton Rejoindre, et la ligne indiquant que le chat est chiffré de bout en bout et s'efface après 24 heures.
Social dans Vuma sur un téléphone : en haut la ligne indiquant que Léa regarde un documentaire DW, avec un bouton pour regarder avec elle, en dessous la watch party planifiée et les chats avec Jules et Léa.

Watch partys

Planifie-en une dans un chat ou un groupe, ou lance-la depuis ce qui est en cours. Chaque lecteur reste synchronisé avec l'hôte, un compte à rebours démarre tous les écrans en même temps, et le chat continue sous le film.

Amis et chats

Des chats à deux et des groupes avec tout ce qu'il faut à un messager : réponses, réactions, transfert, épingles, marques, sondages, spoilers gardés voilés, et une recherche qui tourne sur votre appareil.

En train de regarder

Vois ce que tes amis regardent en ce moment, avec l'image et leur avancement, et demande d'un tap à regarder avec eux. Tu décides qui le voit : tout le monde, tes amis ou personne.

Partager un titre

Envoyez un film, une série ou une chaîne sous forme de carte. Elle s'ouvre dans le Vuma de votre ami avec ses propres addons, sur l'écran qu'il a en main.

Chiffré de bout en bout

Chaque message est scellé sur votre appareil et ouvert uniquement par les personnes à qui vous écrivez, avec un chiffrement post-quantique (X25519 et ML-KEM-768). Qui fait partie d'un groupe est une liste que son admin signe. Nous conservons ce que nous ne pouvons pas lire, et un numéro de sécurité montre que personne ne se tient entre vous.

Des chats qui s'effacent d'eux-mêmes

Chaque chat est supprimé après 24 heures ; 7 jours seulement si tout le monde dedans est d'accord. Le serveur supprime définitivement, fichiers compris, même quand personne n'est en ligne.

Un compte, rien à installer

Un alias, c'est tout le compte : pas d'adresse mail, pas de mot de passe. Une clé de récupération, créée sur votre appareil et connue de personne d'autre, vous ramène, vous et vos chats, sur n'importe quel appareil. Social fait partie de Vuma : ouvrez-le, choisissez un alias, c'est fait. Si vous préférez vous en passer, un interrupteur dans les Paramètres le désactive.

Sur chaque écran

Téléphones, téléviseurs et ordinateurs, avec le même compte. Les bannières de messages s'affichent par-dessus un film en cours, et sur un téléviseur, rien n'enlève l'image à la télécommande.

Trois étapes jusqu'à votre premier chat

Ouvrez Vuma, ouvrez Social, choisissez votre alias. Trouvez des amis par leur @handle ou envoyez-leur un lien d'invitation : un tap, et vous êtes amis. Cela fonctionne de la même façon sur l'écran que vous avez en main.

Vuma sur un ordinateur : la liste des chats à gauche, le chat avec Léa à droite, avec un documentaire DW partagé et une carte de watch party pour 21 h.
Vuma sur un ordinateur avec Social ouvert : les chats à gauche, la conversation avec un documentaire DW partagé et sa watch party à droite.
Le concept

Une plateforme, trois parties.

mHub n'est pas une application. Ce sont trois parties qui s'emboîtent, et chacune d'elles est ouverte. Deux sont des fondations : un format de contenu et une API de navigateur. La troisième, ce sont les applications, et chacune repose sur l'une des fondations ou sur les deux.

01

Les applications

Ce que vous utilisez vraiment. Vuma réunit des addons sur un seul écran à parcourir, et d'autres applications portent chacune une idée sur tous les écrans de la maison. Ce sont toutes des applications web : rien à installer. Voir les applications

02

Le contenu : les addons

Un addon est une source de contenu : films, stations de radio, podcasts, cours. Techniquement, c'est un dossier de petits fichiers texte sur n'importe quel hébergeur web, décrit par l'Addon Protocol v2. Une IA peut en écrire un pour vous. Voir le protocole

03

Les pouvoirs : window.mhub

Ouvrez un site web normal dans une application mHub et il peut faire ce qu'un navigateur n'autorise jamais : lire des données de n'importe où, survivre à la disparition d'un domaine, vivre sur votre téléviseur. Un espace de noms, une balise script : la Browser API de mHub. Voir l'API

Première partie · Les applications

Nos préférées. Toutes en ligne.

Vuma repose sur les deux fondations ; les applications à ses côtés montrent jusqu'où une seule fondation peut mener. Cinq applications, cinq idées différentes, et chacune est un point de départ.

Vuma

Donnez des addons à Vuma et elle les réunit sur un seul écran à parcourir : tous les catalogues que proposent vos addons, une recherche sur l'ensemble, une bibliothèque, un lecteur qui reprend là où vous vous êtes arrêté. C'est une seule application web qui fonctionne aussi bien sur téléphone que sur téléviseur ou ordinateur, et qui gère elle-même le tactile, la télécommande et le pointeur.

Elle repose sur les deux fondations : les addons apportent le contenu, et dans un navigateur mHub, la Browser API ajoute les pouvoirs qu'une page ordinaire n'a jamais. Vous pouvez même l'intégrer à votre propre page, avec vos addons et votre nom : un seul fichier HTML.

Vuma sur un téléphone : un documentaire DW mis en avant avec les boutons Détails et Ma liste au-dessus d'une rangée de vidéos.
La page d'une vidéo dans Vuma sur un téléphone : un documentaire DW avec sa description, un bouton Regarder et les détails.

Waves

Stations de radio, podcasts et livres audio gratuits réunis dans une seule application. Waves est un seul fichier HTML sur le même build de Vuma : cinq addons audio, une couleur d'accent bleu sarcelle, et addonManager: "fixed", si bien que les sources sont fixées et que l'utilisateur ne fait que les activer ou les désactiver. Affichez son code source : la page est à elle seule tout le tutoriel.

Waves : un podcast mis en avant au-dessus de rangées de stations de radio SomaFM, avec un logo de vague bleu sarcelle dans la barre latérale.
Waves : SomaFM, Radio Browser, podcasts et livres audio, bleu sarcelle sur fond sombre. Un fichier HTML sur Vuma.

Junior

La télé pour enfants. Un addon, des couleurs vives, l'allemand dès le premier écran (locale: "de"), et addonManager: "hidden" : rien à dérégler depuis le canapé. Là aussi, un seul fichier HTML sur le build de Vuma.

Junior : un dessin animé de KiKA mis en avant au-dessus de rangées d'émissions pour enfants, en allemand, avec un logo en étoile jaune dans la barre latérale.
Junior : l'addon KiKA et rien d'autre, avec une étoile sur la porte.

Mediathek

L'addon, ce sont les données ; ce que l'on construit par-dessus, c'est l'application. Mediathek est un seul fichier HTML posé directement sur l'addon ard-mediathek, sans Vuma en dessous : rangées, recherche, séries avec leurs épisodes, sous-titres, et un lecteur qui se souvient de l'endroit où vous vous êtes arrêté. L'addon va chercher les données, la page s'occupe de l'apparence.

Mediathek : des rangées de vidéos et de séries de l'ARD avec titres, dates et durées, et un champ de recherche.
Mediathek, un fichier HTML sur un addon, sans rien à héberger soi-même.

Glance

L'autre fondation, seule : Glance n'utilise aucun addon. Un fichier HTML sur la Browser API, qui réunit la météo en direct, les gros titres, les cours des marchés et l'état de vos propres serveurs sur un écran calme. Dans un navigateur ordinaire, elle se dégrade en douceur ; dans une application mHub, chaque tuile s'anime.

Glance : horloge, météo, cours des marchés et gros titres sous forme de tuiles calmes sur un seul écran.
Glance, un fichier HTML qui affiche en direct la météo, les gros titres et les cours.
Ce que vous pouvez créer

Une idée, un dossier, tous les écrans.

Tout ce qui tient dans une liste peut devenir un addon, et tout ce qu'un navigateur refuse de faire peut devenir un site dans mHub. Voici des idées que nous aimerions voir réalisées, et chacune n'est qu'à un prompt de distance : choisissez-en une, et elle arrive dans le prompt pour l'IA plus bas.

Addon : un dossier de fichiers JSON, hébergé n'importe où ou sur mhub.mx Site : une page web sur la Browser API Application : Vuma avec vos addons et votre nom

Regarder

Addon

Votre chaîne de télé régionale

Toutes les émissions que la chaîne met en ligne, en rangées par programme, avec le journal du soir en premier.

Addon

Un festival de cinéma

Le programme avec bandes-annonces et synopsis, à parcourir par jour, par salle et par section.

Addon

Cinéma muet

Des films du domaine public issus de l'Internet Archive, classés par décennie et par réalisateur.

Addon

Votre club de sport

Les temps forts, les matchs complets et le calendrier de la saison dans un catalogue en direct.

Addon

Webcams de la ville

Les webcams publiques d'une ville, le port, la place, la montagne, en chaînes en direct.

Addon

Conseil municipal

Les enregistrements et les directs de votre conseil municipal, par séance et par point de l'ordre du jour.

Écouter

Addon

Vos stations de radio

Les dix stations que vous écoutez vraiment, avec leurs logos, dans l'ordre qui vous plaît.

Addon

Un réseau de podcasts

Toutes les émissions d'un réseau à partir de leurs flux RSS, les épisodes les plus récents en premier.

Addon

Livres audio par auteur

Les enregistrements LibriVox d'un auteur, les chapitres comme épisodes, avec reprise de la lecture.

Addon

Histoires du soir

De courtes histoires audio pour enfants, avec une couverture apaisante par histoire et sans publicité.

Addon

Une communauté religieuse

Les offices et les prédications de votre église, de votre mosquée ou de votre communauté, en direct et en différé.

Appli

L'application d'une station

Waves, avec les flux et les podcasts d'une seule station et ses propres couleurs. Un fichier HTML.

Apprendre

Addon

Les cours d'une université

Les enregistrements des cours publics, par faculté et par semestre, sur le téléviseur plutôt que sur un ordinateur portable.

Addon

Un cours de langue

Les leçons comme épisodes, dans l'ordre, avec les exercices audio à côté des vidéos.

Addon

Visites de musée

Les guides vidéo et audio d'un musée, salle par salle.

Addon

École de cuisine

Des vidéos de recettes par type de plat et par cuisine, avec les ingrédients dans la description.

Site

Un explorateur d'archives

Une interface agréable pour Archive.org ou Project Gutenberg : parcourir, chercher et lire comme dans une application.

Addon

Les conférences d'un événement

Toutes les conférences enregistrées d'une série d'événements, par année et par thématique.

Maison et famille

Site

Un écran familial

La météo, les gros titres et le prix des choses qui vous intéressent, sur un écran calme. Celui-ci, nous l'avons construit : c'est Glance.

Site

Tableau de bord de la maison

Lumières, NAS, imprimante, routeur. Les navigateurs refusent ce genre de requêtes locales ; l'application mHub les effectue pour vous.

Site

Mur de caméras

Vos propres caméras, depuis le réseau local, en grille sur le téléviseur.

Addon

Le cadre photo familial

Les photos de votre propre serveur sous forme de catalogue d'images : le téléviseur devient le cadre.

Appli

Télé pour enfants

Un addon, des couleurs vives, rien à dérégler depuis le canapé. C'est Junior.

Addon

Les dessins animés d'une chaîne

Les épisodes gratuits d'une chaîne pour enfants, par émission, à confier sans crainte.

Outils

Site

Un lecteur d'actualités

Récupérez n'importe quel flux directement à la source. Les navigateurs normaux le bloquent ; dans mHub, cela fonctionne tout simplement, et c'est agréable à lire depuis le canapé.

Site

Un suivi des prix

Surveillez les prix et la disponibilité dans les boutiques, tenez une liste de suivi, consultez le résultat sur n'importe quel écran.

Site

Tableau d'état des serveurs

Vos propres machines, leurs disques et leurs services, en tuiles qui passent au rouge avant que quelqu'un n'appelle.

Addon

Une chaîne YouTube, résolue

Un addon de résolution : collez une chaîne, obtenez ses vidéos dans un catalogue prêt à être lu.

Addon

Des sous-titres pour une langue

Un addon de sous-titres pour une langue, qui répond aux identifiants imdb, à partir d'une source de sous-titres ouverte.

Addon

Où regarder un titre

Tapez un film, voyez où il est disponible dans votre pays. Un addon d'éléments construit sur une base de données ouverte.

Vous avez réalisé l'une de ces idées ? Publiez-la sur mhub.mx : nous la vérifions, l'hébergeons sous votre nom et la référençons dans le dépôt de la communauté.

Première partie · Votre propre Vuma

Votre propre application tient dans un fichier HTML.

Waves et Junior, c'est exactement cela : charger le build de Vuma, lui donner un élément, appeler mount. Ce fichier, sur n'importe quel hébergeur statique, est une application complète avec vos addons, votre nom et vos couleurs, et il suit tout seul les nouvelles versions de Vuma. Sans compilation, sans code serveur, sans compte.

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport"
  content="width=device-width, initial-scale=1.0, viewport-fit=cover, user-scalable=no">
<title>My App</title>
<link rel="stylesheet" href="https://vuma.mx/latest/style.css">
</head>
<body>
<div id="app"></div>
<script type="module">
  import { mount } from "https://vuma.mx/latest/app.js";
  mount({
    addons: [
      "https://www.mhub.mx/radio-and-podcasts",
      "https://www.mhub.mx/public-domain",
    ],
    brand: { name: "My App", colors: { accent: "#00AAFF" } },
  });
</script>
</body>
</html>

Un addon, c'est l'URL de son manifeste. Ceux qui sont hébergés ici figurent dans l'index des addons, et une IA peut vous en construire un nouveau.

Chaque option de mount, et la provenance des fichiers, sont documentées dans l'application elle-même : Créer votre propre application. Cette documentation est livrée avec le build, elle décrit donc la version que vous allez charger, et non celle pour laquelle cette page a été écrite.

Deuxième partie · L'Addon Protocol v2

Un addon est un dossier de fichiers JSON.

Un addon est une source de contenu : films, stations de radio, podcasts, recettes, cours. Placez le dossier n'importe où sur le web, ajoutez son adresse dans une application, et tout ce qu'il contient y apparaît, prêt à être parcouru. La version 2 du protocole n'a besoin d'aucun serveur : chaque point d'accès peut être un fichier statique sur n'importe quel CDN. Tous les addons v1 existants continuent de fonctionner ; les applications font la conversion entre les deux, et la v1 reste prise en charge.

Statique d'abord

Tous les points d'accès sont en GET, tous peuvent être mis en cache, tous peuvent être hébergés comme simples fichiers. Un seul POST facultatif, pour le système de tâches.

/mhub-addon.json
/catalog/{type}/{catalogId}.json
/item/{type}/{id}.json
/source/{type}/{id}.json

Modulaire

Catalogues, détails des éléments, sources, résolveurs et sous-titres sont des ressources distinctes. Un addon peut toutes les fournir, ou une seule.

"resources": ["catalog",
  "item", "source",
  "resolve", "subtitle"]

Tâches client-fetch

Un point d'accès peut répondre par une tâche au lieu de données. L'application effectue la requête avec l'adresse IP de l'utilisateur, si bien qu'un addon statique fonctionne avec des API géobloquées.

// l'addon reste statique,
// le client fait le trajet

mhub-addon.json

Un addon minimal, c'est un manifeste et un fichier de catalogue. Mettez les deux sur n'importe quel hébergeur statique et cela fonctionne. La spécification est en OpenAPI 3.1, avec des types TypeScript générés et une bibliothèque cliente sans dépendance, sous licence MIT, sur GitHub.

{ "id": "my-movies", "name": "My Movies", "specVersion": 2,
  "resources": ["catalog"], "types": ["video"],
  "catalogs": [{ "id": "all", "name": "All", "type": "video" }] }
Deuxième partie · Créer avec l'IA

Décrivez-le. Une IA le construit.

Tout le format des addons tient dans un seul prompt, et vous n'avez jamais besoin de le lire. Copiez le prompt, ajoutez votre idée, et l'IA répond avec un dossier de fichiers. Mettez-les en ligne n'importe où, et votre addon est disponible.

01

Copiez le prompt

Il indique la spécification à l'IA. Fonctionne avec tout assistant capable de lire des liens, comme ChatGPT ou Claude.

02

Ajoutez votre idée

« Mes stations de radio préférées. » « Tous les films d'un réalisateur. » « Les cours publics de mon université. » Tout ce qui tient dans une liste.

03

Mettez les fichiers en ligne

N'importe quel hébergeur statique convient, GitHub Pages est gratuit. Ajoutez l'adresse dans une application mHub et parcourez votre propre addon.

Lisez la spécification mHub Addon Protocol v2 à l'adresse
https://raw.githubusercontent.com/mediahubmx/protocol/main/openapi.yaml
et construisez-moi un addon. Un addon est un dossier de fichiers JSON statiques,
prêt à être mis en ligne sur n'importe quel hébergeur web. Répondez avec chaque fichier :
son chemin complet, puis son contenu intégral.

Mon addon : [décrivez votre idée ici]

Si votre assistant ne peut pas ouvrir de liens, collez plutôt le fichier de spécification dans la conversation. La spécification et des exemples d'addons complets se trouvent sur GitHub.

Troisième partie · La Browser API de mHub

Ce que votre site peut faire dans mHub

Tout se trouve sous un seul espace de noms : window.mhub, et chaque hôte fournit l'intégralité du noyau. Détectez l'espace de noms une fois, puis appelez-le, tout simplement. Pas de SDK, pas de compilation, pas de compte : une balise script suffit, et vous pouvez l'héberger vous-même.

<script src="https://mhub.mx/mhub.js"></script>
Vérification de ce navigateur…
Hôte
…
Appareil
…
Capacités
…

L'API est disponible dans les applications et se déploie au fil de leurs versions. Codez avec elle dès aujourd'hui, votre page continuera de fonctionner dans tous les cas : là où aucun hôte n'est présent, window.mhub est simplement absent et votre site reste un site web ordinaire. Obtenez un navigateur qui l'intègre.

mhub.fetch

Récupérez n'importe quoi. Pas de CORS, et des en-têtes de requête que le navigateur se réserve d'habitude.

// cross-origin, lisible
const r = await mhub.fetch(url);

mhub.openStream

Certains médias ont besoin de leurs propres en-têtes de requête pour être lus. Un seul appel, et l'hôte choisit la bonne voie sur chaque plateforme.

const s = await mhub.openStream(
  { url, headers });
video.src = s.url;

mhub.storage

Un stockage clé/valeur qui suit votre site, et non le domaine sur lequel il se trouve. Sans demande d'autorisation, sans configuration.

await mhub.storage.set(k, v);

mhub-site.json

Un domaine tombe, votre site se charge quand même. Servez un petit fichier sur chaque domaine ; le navigateur le trouve, vérifie vos miroirs et bascule tout seul. Sans code.

{ "id": "mysite",
  "endpoints": [
    "https://a.example",
    "https://b.example" ] }

mhub.setLinks

Une tuile sur l'écran d'accueil du navigateur. Le chemin du retour vers votre site, conservé d'une visite à l'autre.

mhub.setLinks([
  { id, name, icon, url }]);

mhub.setSearch

La barre d'adresse devient la recherche de votre site. Requêtes et suggestions arrivent directement sur votre page.

mhub.setSearch({ placeholder,
  onQuery, onSuggest });

mhub.device + capabilities

Sachez où vous tournez et ce dont l'hôte est capable, du téléphone au téléviseur, avant le premier affichage.

if (mhub.device.isTV) tvUi();

…et les déclarations d'application

Une page qui fonctionne comme une application indique à l'hôte ce qu'elle gère elle-même : sa propre navigation arrière (setBackHandler), un lecteur plein écran (setImmersive) et la sortie (exit) ; une balise meta dans le HTML indique qu'il s'agit d'une application conçue pour la télécommande. Chaque membre, avec le modèle de permissions et le système de miroirs, est décrit dans la référence de l'API.

mhub.setBackHandler(depth);
mhub.setImmersive(true);
<meta name="mhub" content="app dpad">
Communauté

Publiés par des gens comme vous.

À ce jour, 56 addons communautaires de 31 créateurs. Connectez-vous avec votre adresse e-mail, envoyez un dossier au format zip ou indiquez le lien d'un dossier que vous hébergez, et une fois la vérification passée, il est en ligne sur mhub.mx/@you/addon, dans la liste de la communauté et dans son dépôt.

Créez quelque chose. Petit ou grand.

La référence de l'API couvre chaque membre, le modèle de permissions et le système de miroirs. La spécification du protocole est livrée avec des exemples d'addons complets que vous pouvez copier.