Illustration de l'article : Nextcloud Dream : transforme ta TV Android en cadre photo connecté (sans Google)

Nextcloud Dream : transforme ta TV Android en cadre photo connecté (sans Google)

Installer et configurer Nextcloud Dream, un économiseur d'écran qui affiche tes photos auto-hébergées sur ta TV.

Ma TV passe beaucoup plus de temps allumée sur l’économiseur d’écran que sur un film. Pendant des années, c’était Backdrop, l’économiseur de Google : des paysages, des œuvres d’art, et en option… tes photos Google Photos.

Sauf que mes photos, elles ne sont plus chez Google depuis longtemps : elles sont sur mon homelab dans un Nextcloud.

Je me suis donc lancé avec Claude Code pour développer mon propre économiseur d’écran. Il s’appelle Nextcloud Dream, il est open source, et aujourd’hui je vais te montrer comment l’installer et le configurer sur ta box Android TV. Chez moi, ça tourne sur une Mi Box S, qui n’est clairement pas une bête de course.

Ce que ça fait

En deux mots : tu mets des photos dans un dossier Nextcloud, et ta TV les affiche en diaporama :

  • Fondu enchaîné entre les photos, toutes les 20 secondes (réglable).
  • Date et lieu de la photo en bas de l’écran, lus directement dans les infos de la photo.
  • Live Photos : Si une photo est une Live Photo (iPhone Live Photo ou Pixel Motion Photo), le clip vidéo silencieux se joue une fois avant de revenir à la photo fixe. Tu peux désactiver cette option dans les paramètres si tu préfères.
  • L’heure dans le coin, qui se décale légèrement chaque minute pour ne pas marquer les écrans OLED.
  • Ça marche même quand le serveur est coupé : les dernières photos vues restent en cache sur la box.
  • Aucune limite de photos : elles sont téléchargées au fur et à mesure, en version réduite par Nextcloud.

Les prérequis

  • Une box ou TV Android TV en Android 9 minimum (Mi Box S, Chromecast avec Google TV, TV Sony, Philips…).
  • Un serveur Nextcloud accessible en HTTPS avec un certificat valide.
  • Optionnel mais vivement conseillé :
    • Un ordinateur avec ADB : il est fourni avec Android Studio, ou en version légère avec les platform-tools.
    • L’application Google TV sur ton téléphone. Tu vas comprendre pourquoi à l’étape 4.

Étape 1 : Préparer Nextcloud

Commence par créer un dossier pour les photos de l’économiseur, par exemple /Photos/ScreenSaver. Les sous-dossiers sont pris en compte.

Ensuite, on crée un mot de passe d’application. C’est un mot de passe dédié à la box, que tu peux révoquer à tout moment sans toucher à ton mot de passe principal :

  1. Dans Nextcloud, va dans Paramètres personnels → Sécurité.
  2. Tout en bas, dans Appareils & sessions, donne un nom (« TV salon » par exemple).
  3. Clique sur Créer un nouveau mot de passe d’application.
Info

Personnellement, je suis même allé plus loin : j’ai créé un utilisateur dédié dans Nextcloud pour ça, qui partage le dossier ScreenSaver en écriture avec ma compagne et moi. Comme ça, si le token venait à fuir, ce serait potentiellement moins grave.

Étape 2 : Installer l’app

Tu as plusieurs options pour installer l’APK. Voici les méthodes, de la plus accessible à la plus bidouilleuse :

Méthode 1 : Avec Downloader (la plus simple)

Idéal si tu veux éviter les câbles et les lignes de commande.

Installe l’appli Downloader depuis le Play Store sur ta box :

  • Ouvre le Google Play Store.
  • Cherche « Downloader » (l’icône est un nuage avec une flèche vers le bas).
  • Installe-la.

Télécharge l’APK :

  • Ouvre Downloader.
  • Dans l’URL, entre : https://github.com/midiland/nextcloud-dream/releases/latest/download/nextcloud-dream.apk
  • Appuie sur Go.

Installe l’APK :

  • Une fois le téléchargement terminé, clique sur Install.
  • Si un message d’avertissement apparaît (« Installation de sources inconnues »), coche « Toujours autoriser » et valide.

Lance l’app :

  • Une fois installée, ouvre Nextcloud Dream depuis le menu de ta TV.
  • (On configurera tout ça à l’étape 3 !)
Info

Si tu as un message te disant impossible d’installer une source inconnue : va dans Paramètres → Sécurité → Sources inconnues et active l’option pour l’app Downloader.

Méthode 2 : Avec une clé USB

Parfait si ta box n’a pas accès à Internet ou si tu préfères éviter les apps tierces.

Matériel nécessaire :

  • Une clé USB (formatée en FAT32 ou exFAT).
  • Un ordinateur (Windows/macOS/Linux) pour copier le fichier.

Étapes :

  • Télécharge l’APK sur ton PC :
    • Va sur la page des releases GitHub.
    • Télécharge le fichier .apk (ex: Nextcloud-Dream-v1.0.0.apk).
  • Copie l’APK sur ta clé USB :
    • Branche la clé USB à ton PC.
    • Copie-colle le fichier .apk à la racine de la clé.
  • Branche la clé à ta box :
    • Insère la clé dans un port USB de ta TV/box.
  • Installe l’APK depuis la clé :
    • Sur ta TV, ouvre l’explorateur de fichiers (ex: Files by Google).
    • Navigue jusqu’à ta clé USB et clique sur le fichier .apk.
    • Valide l’installation.

Méthode 3 : Avec ADB (pour les aventuriers du terminal)

La méthode la plus « pro », mais aussi la plus risquée si tu fais n’importe quoi. Suis les étapes à la lettre !

Avertissement

ADB permet d’installer des apps sans passer par l’écran de ta TV, mais c’est aussi une porte ouverte aux pirates si tu ne fais pas gaffe. Ne partage jamais ton code ADB avec un inconnu, et désactive le débogage USB quand tu as fini !

Prérequis :

  • Un PC (Windows/macOS/Linux) avec ADB installé.
  • Le débogage USB activé sur ta box (voir ci-dessous).
  • L’APK téléchargé (comme dans la Méthode 2).

Étapes :

  • Active le mode développeur sur ta box :
    • Va dans Paramètres → À propos.
    • Clique 7 fois sur « Numéro de build » jusqu’à voir le message « Vous êtes développeur ! ».
    • Retourne dans Paramètres → Système → Options pour les développeurs.
    • Active :
      • Débogage USB
      • Installation via USB (si l’option existe)
  • Trouve l’adresse IP de ta box :
    • Va dans Paramètres → Réseau et Internet → Wi-Fi.
    • Note l’adresse IP (ex: 192.168.1.42).
  • Branche ta box à ton PC en USB (optionnel mais recommandé) :
    • Si tu veux éviter les problèmes de réseau, branche ta box à ton PC avec un câble USB-C/USB-A.
    • Sinon, utilise le Wi-Fi (mais c’est moins stable).
  • Installe l’APK via ADB :
    • Ouvre un terminal (Linux/macOS) ou l’invite de commandes (Windows).
    • Tape la commande suivante pour vérifier que ta box est détectée :
      • En filaire (USB) :
        • adb devices
      • Installe l’APK :
        • adb install /chemin/vers/Nextcloud-Dream.apk (Remplace /chemin/vers/ par le chemin réel du fichier sur ton PC.)
    • Si tu es en Wi-Fi, utilise plutôt :
      • adb connect 192.168.1.42:5555
      • adb install Nextcloud-Dream.apk

Désactive le débogage USB quand c’est fait :

  • Va dans Options pour les développeurs et désactive Débogage USB.

Étape 3 : Configurer l’application

Ouvre Nextcloud Dream depuis la liste des applications et remplis les champs :

  • URL du serveur : https://cloud.ton-domaine.fr
  • Identifiant et mot de passe d’application (celui de l’étape 1)
  • Dossier de photos : /Photos/ScreenSaver
  • et si tu veux, la durée d’affichage, l’horloge, la date et le lieu, la taille du cache…

Capture d’écran de configuration

Taper une URL et un mot de passe de 29 caractères avec la télécommande, c’est le genre de chose qui fait regretter d’être né. C’est là que l’application Google TV sur ton téléphone sauve des vies : elle se connecte à la box et te laisse taper avec le clavier du téléphone.

Si tu as suivi l’installation par ADB tu peux utiliser :

1
2
# sélectionne le champ sur la TV, puis :
adb shell input text "https://cloud.ton-domaine.fr"

Clique sur Tester la connexion : tu dois voir « Connexion réussie : XX photos trouvées ».

Ensuite Enregistrer et synchroniser.

Capture d’écran de connexion réussie

Étape 4 : Activer l’économiseur d’écran

  1. Va dans Paramètres → Préférences de l’appareil → Économiseur d’écran.
  2. Choisis Nextcloud Dream.
  3. Règle le délai dans Délai avant activation.
  4. Démarrer maintenant pour admirer le résultat.

Capture d’écran des réglages de l’économiseur Capture d’écran du choix de l’économiseur

Et voilà : laisse ta TV tranquille quelques minutes et tes photos défilent.

Note

Certaines versions d’Android TV et de Google TV cachent les économiseurs tiers dans ce menu. Dans ce cas, on passe en force avec ADB :

1
2
adb shell settings put secure screensaver_enabled 1
adb shell settings put secure screensaver_components fr.midiland.nextclouddream/.dream.NextcloudDreamService

Dépannage

  • « Aucune photo disponible » : le serveur est injoignable et le cache est vide, ou le dossier est vide. Le bouton Tester la connexion te dira lequel des deux.
  • Erreur d’authentification : vérifie l’identifiant et le mot de passe d’application. C’est bien l’identifiant Nextcloud, pas forcément ton adresse e-mail.
  • Dossier introuvable : le chemin est relatif à la racine de tes fichiers Nextcloud. Et si c’est un dossier partagé, relis le conseil de l’étape 1.
  • Pas de lieu sous la date : la photo n’a tout simplement pas de coordonnées GPS. C’est le cas de la plupart des appareils photo (mon vieux Sony, par exemple). Les photos de smartphone en ont presque toujours.
  • L’économiseur ne se lance pas : vérifie qu’il est bien sélectionné avec adb shell dumpsys dreams | grep mCurrentDreamName.

Images de Nextcloud Dream

Capture d’écran avec la date et le lieu Capture d’écran avec une photo verticale

Capture d’écran sans GPS dans la photo

Comment ça marche, en coulisses

Pour les curieux. Toutes les 6 heures, l’application récupère la liste des photos via WebDAV, puis lit seulement le début de chaque fichier pour en extraire la date et les coordonnées GPS (pas besoin de télécharger 6 Mo pour lire trois lignes d’EXIF). Le nom du lieu est trouvé par le géocodeur d’Android.

Pendant le diaporama, chaque photo est demandée à Nextcloud en version déjà réduite (environ 1 Mo au lieu de 5 à 10), avec toujours une photo d’avance pour que le fondu ne soit jamais en retard. Les dernières photos vues restent dans un petit cache de 50 Mo. Si ton serveur fait la sieste, l’économiseur continue avec elles et retente sa chance toutes les 5 minutes.

Résultat : la box ne télécharge presque rien, et ton serveur n’est pas sollicité inutilement la nuit.

Conclusion

Je suis assez content du résultat : ma TV affiche enfin mes photos, sans passer par Google, et ça tient sur une Mi Box dans seulement 2 Mo d’application.

Redécouvrir au hasard une photo de vacances d’il y a cinq ans, avec la date et le lieu en prime, c’est franchement sympa.

Le code est sur GitHub, sous licence Apache 2.0. Si tu as une idée, un bug ou une box sur laquelle ça ne marche pas, ouvre une issue : je suis curieux de savoir sur quoi tu vas le faire tourner.

Commentaires

Les commentaires de cet article sont les réponses à mon pouet sur Mastodon. Pour réagir, il te faut un compte sur le Fediverse : ton message reste chez toi, je ne le stocke pas. Les afficher contacte framapiaf.org (voir Vie privée).

Répondre sur Mastodon

Chargement des commentaires…