contact@stacklipse.fr

Ouvert aux nouveaux projets

Projet personnel, code ouvert, 2026

Houselights, médiathèque pour Android TV

Une application Android TV en code ouvert qui présente une collection de films et de séries comme un cinéma et confie la lecture au lecteur natif des platines Zidoo.

Accueil de Houselights : le film en cours en grand, son logo, son année, sa durée et sa note, puis la rangée « Continue watching » avec deux titres à reprendre.
L’accueil : le titre en cours remplit l’écran, la reprise est à un bouton.

Captures de l’application, version 0.1.0 ; affiches et images des films fournies par TMDB.

Rôle
Conception, design et développement
Statut
Bêta publique, version 0.1.0
Stack
  • Kotlin
  • Jetpack Compose pour TV
  • Android TV
  • TMDB
  • Trakt
  • Jellyfin
  • NFS et SMB
  • GitHub Actions
  • Agents de développement

Le contexte

Une platine Zidoo lit tout ce qu’un amateur de cinéma lui confie : HDR10, HDR10+, Dolby Vision, pistes audio transmises telles quelles à l’ampli. Mais les médiathèques habituelles reprennent la lecture à leur compte, et ces atouts se perdent en chemin.

Houselights est un projet personnel, mené seul et publié en code ouvert : une interface de cinéma pour choisir un film ou une série, qui confie la lecture au lecteur natif de la platine. Elle fonctionne aussi sur les boîtiers Android TV.

Fiche d’un film : son titre en logo, l’année, la durée, la note, les formats lus dans le fichier (Ultra HD, Dolby Vision, HDR10+, Dolby TrueHD Atmos), le synopsis, le bouton de lecture et le casting.
La fiche d’un film : ce que son fichier contient, lu dans le fichier lui-même.

Les fonctionnalités

  • Le lecteur natif joue

    Les fichiers s’ouvrent directement dans le lecteur de la platine, depuis le réseau (NFS, SMB ou HTTP), avec tout ce qu’il sait faire. La progression est relue pendant la lecture : la reprise reste juste.

  • Une interface pour le salon

    Fonds d’écran plein cadre, logos, rangées et murs d’affiches, fiches avec casting, saisons et épisodes, en 4K à 60 images par seconde quand l’appareil le permet.

  • Une collection identifiée

    Les partages NFS ou SMB sont parcourus, les films et séries reconnus d’après leur nom, les visuels et les détails pris chez TMDB. Les fichiers NFO et les images locales ont la priorité ; chaque titre se corrige depuis sa fiche.

  • Trakt et Jellyfin

    Un compte Trakt garde les visionnages et les reprises à jour dans les deux sens. Un serveur Jellyfin se parcourt depuis l’application, qui lui renvoie la progression.

  • Douze langues

    L’interface existe en douze langues et les fiches dans la langue de son choix ; les deux suivent l’appareil par défaut.

Page de la saga Spider-Man : « 2 films of 4 », la note, les genres, le résumé, et le bouton de lecture qui reprend le film en cours.
Une saga : les films que vous possédez parmi tous ceux de la série, reprise comprise.

La technique

L’application est écrite en Kotlin avec Jetpack Compose pour TV, sur un design system propre dont les règles sont vérifiées à chaque build : aucun écran n’écrit une couleur, une taille ou une police en dur. Les secrets (mots de passe, jetons Jellyfin et Trakt, clé TMDB) sont chiffrés par une clé tenue dans le Keystore Android ; les services en ligne ne sont joints qu’en HTTPS, sans redirection vers un autre hôte.

Chaque version est vérifiée par l’intégration continue, signée avec la clé du projet et publiée avec son empreinte SHA-256 et ses changements ; une mise à jour s’installe par-dessus la précédente et garde la bibliothèque, l’historique et les réglages. Le code est sous licence GPL-3.0.

La bibliothèque en mur d’affiches : onze films, l’affiche sélectionnée éclairée et ses informations en tête, filtre et tri en haut à droite.
La bibliothèque en mur d’affiches, éclairé par l’affiche choisie.

Le résultat

La première version publique, 0.1.0, est sortie le 19 octobre 2026 sur GitHub, en bêta, pour les platines Zidoo Z1000 Pro, Z9X et UHD et les boîtiers Android TV sous Android 9 ou plus. Emby et Plex sont prévus. Le projet reste personnel : il montre ce que je mène seul, de l’interface à la publication.

Accueil de Houselights : le film en cours en grand, son logo, son année, sa durée et sa note, puis la rangée « Continue watching » avec deux titres à reprendre.
L’accueil : le titre en cours remplit l’écran, la reprise est à un bouton.

Sur cette page

  1. Le contexte
  2. Les fonctionnalités
  3. La technique
  4. Le résultat