projets24 octobre 2026 · 5 min de lecture

Mon propre écran d'accueil Android TV, sans pubs.

L'accueil de ma TV Philips était lent et rempli de recommandations. Je l'ai remplacé par un launcher maison en Kotlin. Voici comment faire la même chose chez toi.

Allumer la TV, c’était tomber sur un mur de recommandations, de bandeaux sponsorisés et de « Tendances » que je n’avais pas demandés. Le tout sur un accueil qui rame : le processeur de ma Philips n’est pas taillé pour ça.

Ce que je voulais : l’heure, la météo, et mes quatre apps. Rien d’autre. Alors j’ai écrit mon propre écran d’accueil.

Voir le code sur GitHub →

L’accueil : heure et date en haut à gauche, météo et indicateur VPN en haut à droite, grille d’apps avec « Ajouter » et « Paramètres » en bas

Ce que ça fait

  • Heure et date en grand, en haut à gauche.
  • Météo du jour (température, min/max) via Open-Meteo, sans clé d’API.
  • Indicateur VPN — « VPN connecté / déconnecté », qui ouvre l’app VPN au clic.
  • Grille d’apps façon Apple TV — 5 tuiles par ligne, calées en bas de l’écran.
  • « + » pour ajouter une app, appui long pour la déplacer ou la retirer.
  • Une tuile Paramètres — indispensable, puisque l’accueil Google ne sera plus là.

Pas de pubs, pas de recommandations, pas de compte. Juste ce que je choisis d’afficher.

« + » ouvre la liste des apps installées qui ne sont pas encore sur l’accueil :

Le sélecteur « Ajouter une app », une grille de toutes les apps installées

La stack

Kotlin et Jetpack Compose for TV, la méthode officielle de Google pour les apps TV. Elle gère bien le focus à la télécommande, ce qui est la vraie difficulté sur une TV : pas de souris, pas de doigt, juste des flèches et OK.

Une seule activité, cinq fichiers Kotlin, aucune dépendance en dehors d’AndroidX. La liste des apps épinglées tient dans les préférences de l’app.

Tuto : installer ton propre launcher

Ce qu’il te faut :

  • une TV sous Android TV ou Google TV (testé sur une Philips sous Android TV 12) ;
  • un Mac ou un PC sur le même réseau Wi-Fi ;
  • Android Studio, pour le SDK et le JDK — pas besoin de créer de projet.

Et le code : récupère-le depuis GitHub.

git clone https://github.com/othevet/tv-launcher.git
cd tv-launcher

1. Activer le mode développeur sur la TV

  1. Ouvre les Paramètres de la TV. Sur une Philips, attention : il y a deux menus. Il faut celui de Google TV (l’engrenage en haut à droite de l’accueil), pas celui de Philips.
  2. Va dans Système → À propos (ou Préférences de l’appareil → À propos).
  3. Appuie 7 fois sur « Build » (ou « Version du système d’exploitation Android TV »).
  4. Dans les Options pour les développeurs, active Débogage USB et Débogage sans fil s’il est proposé.
  5. Note l’adresse IP de la TV (Paramètres → Réseau).

2. Préparer l’ordinateur

Ouvre Android Studio une première fois, choisis l’installation Standard et laisse-le télécharger le SDK. Tu récupères au passage adb et un JDK.

Sur Mac :

export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home"
export PATH="$HOME/Library/Android/sdk/platform-tools:$PATH"

3. Connecter la TV en ADB

adb connect 192.168.1.XX:5555

Une fenêtre s’ouvre sur la TV : « Autoriser le débogage ? ». Coche « Toujours autoriser depuis cet ordinateur », puis Autoriser. Vérifie avec adb devices.

4. Adapter le code

Deux réglages sont à adapter :

  • la météo : ajoute ta ville dans local.properties, à la racine du projet (sinon, c’est Paris) :

    weather.city=Troyes
    weather.latitude=48.2973
    weather.longitude=4.0744
  • le VPN : l’indicateur ouvre Surfshark. Change le nom du package (SURFSHARK dans Apps.kt) pour ton app VPN.

Les apps affichées au premier lancement sont dans DEFAULT_APPS (Apps.kt). Tu pourras ensuite les changer directement depuis la TV avec « + ».

5. Compiler et installer

./gradlew assembleRelease
adb install -r app/build/outputs/apk/release/app-release.apk
adb shell cmd package compile -m speed -f fr.olivierthevet.tvlauncher

Toujours la version release : la debug est nettement plus lente sur une TV. La dernière commande précompile l’app pour qu’elle soit fluide dès le premier lancement.

À ce stade, l’accueil Google est toujours là. Le launcher apparaît dans la liste des apps, sous le nom « Accueil » : lance-le pour vérifier que tout va bien.

6. Remplacer l’accueil Google

Sur Android TV, on ne peut pas choisir son écran d’accueil dans les paramètres. Il faut désactiver celui de Google, puis déclarer le tien.

Trouve d’abord le nom du launcher d’origine :

adb shell cmd package resolve-activity --brief \
  -a android.intent.action.MAIN -c android.intent.category.HOME

Sur ma Philips (Android TV), c’est com.google.android.tvlauncher. Sur Google TV, c’est en général com.google.android.apps.tv.launcherx. Puis :

adb shell pm disable-user --user 0 com.google.android.tvlauncher
adb shell cmd package set-home-activity fr.olivierthevet.tvlauncher/.MainActivity

Les deux commandes sont nécessaires. set-home-activity seul ne suffit pas : le launcher Google a une priorité plus haute et reprend la main.

Appuie sur Home : c’est ton accueil qui s’affiche. Au prochain démarrage de la TV aussi.

Revenir en arrière

Rien n’est supprimé, le launcher Google est juste désactivé. Pour le retrouver :

adb shell pm enable com.google.android.tvlauncher

Pense aussi à garder la tuile Paramètres sur ton accueil : sans l’accueil Google, c’est ton seul accès aux réglages de la TV.

Ce qui reste ouvert

Le launcher est en place sur ma TV depuis le 23 octobre. Il ne sait pas encore afficher de contenu des apps (reprendre un épisode, par exemple) : c’est un choix pour l’instant, c’est justement ce que je voulais virer.

une remarque ?_

Tu veux en parler ou me proposer un projet ? Écris-moi.

écrire un mail →
le projet_
Aperçu de TV Launcher

TV Launcheractif

Écran d'accueil Android TV maison : heure, météo, indicateur VPN et mes apps, sans pubs ni recommandations.

  • Kotlin
  • Compose for TV
  • ADB
à lire ensuite_