---
title: "CleanYourTV : nettoyer l'accueil d'une Google TV avec un agent IA"
description: "Prendre en main CleanYourTV : compatibilité, activation d'ADB, désactivation des paquets, launcher minimaliste, restauration et limites sur Android TV et Google TV."
pubDate: 2026-10-27
family: 'intelligence-artificielle'
tags: []
heroImage: '/images/cleanyourtv-nettoyer-laccueil-dune-google-tv-avec-un-agent-ia.webp'
videoUrl: 'https://www.youtube.com/watch?v=UOEXWFcc0VU'
faq:
  - question: 'CleanYourTV fonctionne-t-il sur ma TV ?'
    answer: "Sur Android TV et Google TV, oui : le nettoyage et le launcher s'appliquent. Sur Fire TV, seule la désactivation de paquets fonctionne, car Fire OS ne cède pas l'écran d'accueil à un launcher tiers. Sur Samsung (Tizen), LG (webOS), Roku, Vizio et Hisense VIDAA, aucun ADB n'est disponible, donc le projet ne s'applique pas ; la page https://cleanyour.tv/not-android explique comment réduire le suivi à la télécommande."
  - question: 'Faut-il rooter la TV ou la démonter ?'
    answer: "Non. Le dépôt documente trois actions : sauvegarder la liste des paquets et les réglages, désactiver les paquets inutiles avec pm disable-user, puis installer un launcher minimaliste et en faire l'écran d'accueil. Rien n'est flashé, rooté ni désinstallé : les paquets sont désactivés dans le profil utilisateur, et un script de restauration rejoue l'état enregistré avant modification."
  - question: "Comment revenir à l'interface d'origine ?"
    answer: "en gardant la liste appliquée et en exécutant tools/restore.sh, qui rejoue l'enregistrement écrit avant toute modification dans ~/.cleanyourtv/. Le launcher installé reste présent : il se retire depuis Réglages → Applications de la TV. Si la TV ne démarre plus assez loin pour ces outils, un reset usine depuis le menu de récupération efface les données utilisateur et rétablit tous les paquets désactivés, avec les applications et comptes de la TV."
  - question: 'Laisser ADB ouvert sur la TV est-il risqué ?'
    answer: "L'accès réseau ADB circule en clair sur le port 5555, et sur certains firmwares (ro.adb.secure=0) n'importe quel appareil du réseau local obtient un shell. La documentation recommande de désactiver le débogage USB, réseau et sans fil une fois le travail terminé, de révoquer les autorisations USB, de redémarrer la TV, puis de vérifier que le port est fermé avec tools/adb-closed.py, qui sort en 0 quand la TV refuse la connexion et en 1 tant qu'elle l'accepte. Le launcher continue de fonctionner sans débogage."
  - question: 'Peut-on le faire sans ordinateur ni agent IA ?'
    answer: "Oui : une application Android communautaire (https://cleanyour.tv/app) fait le même nettoyage depuis un téléphone, en affichant d'abord un plan et en enregistrant un point de restauration. Les commandes de la voie manuelle du dépôt restent utilisables depuis un ordinateur sans assistant de code."
---

CleanYourTV remplace l'accueil publicitaire d'une Android TV ou d'une Google TV par un launcher minimaliste, en pilotant la TV par ADB en Wi-Fi : sans root, sans câble, sans rien désinstaller. Le projet est publié sur [Gathin23/cleanyourtv](https://github.com/Gathin23/cleanyourtv) : créé le 17 octobre 2026, il dépassait 41 000 étoiles et 4 900 forks au moment d'écrire ces lignes (API GitHub, 27 octobre 2026). La vidéo en fait la démonstration avec un agent de code — Claude Code, Codex ou Gemini CLI —, et cette page suit le parcours réel, de la vérification de compatibilité à la fermeture d'ADB.

Une précision de sources. La transcription française de la vidéo était indisponible depuis ce serveur, donc le déroulé vient de la description officielle de la vidéo, complétée par la documentation du dépôt ([README](https://github.com/Gathin23/cleanyourtv#readme), [PROMPT.md](https://github.com/Gathin23/cleanyourtv/blob/main/PROMPT.md), [TROUBLESHOOTING.md](https://github.com/Gathin23/cleanyourtv/blob/main/docs/TROUBLESHOOTING.md)), consultée le 27 octobre 2026. Les commandes citées sont **documentées mais non exécutées** pour cet article : aucun téléviseur Android n'était disponible ici pour les rejouer.

## Ce que le projet fait, en trois étapes

Le dépôt décrit toujours la même séquence :

| Étape             | Ce qu'elle fait                                                                                                                                                                                            |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Sauvegarde**    | La liste des paquets installés et les réglages sont enregistrés avant toute modification.                                                                                                                  |
| **Désactivation** | Télémétrie du fabricant, services publicitaires, rangées de contenus et applications préinstallées sont désactivées avec pm disable-user. Rien n'est désinstallé, donc une restauration peut tout annuler. |
| **Installation**  | Un petit launcher natif est installé puis défini comme écran d'accueil.                                                                                                                                    |

Le point important est le troisième mot de la deuxième ligne : _désactivé_, pas _supprimé_. C'est ce qui permet de présenter une ligne de retour en arrière plutôt qu'un aller simple.

## Vérifie la compatibilité avant de commencer

| Plateforme                                                  | Ce qui fonctionne                                                                                                                                                                              |
| ----------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Android TV, Google TV**                                   | Le nettoyage et le launcher.                                                                                                                                                                   |
| **Fire TV**                                                 | Le nettoyage uniquement : Fire OS ne confie pas l'accueil à un launcher tiers. Sur l'ancien Fire TV Box de 2015 (Fire OS 5), même cette moitié échoue, toutes les commandes pm étant refusées. |
| **Quelques TCL du marché chinois**                          | Elles refusent d'installer un launcher, aussi les listes fournies le signalent en en-tête.                                                                                                     |
| **Samsung (Tizen), LG (webOS), Roku, Vizio, Hisense VIDAA** | Non prises en charge, faute d'ADB. La page cleanyour.tv/not-android explique comment couper le suivi à la télécommande.                                                                        |

Côté matériel, le launcher vise Android 8.0 (API 26) ou plus récent et environ 532 Ko, pensé pour des TV à 1 Go de RAM. Le dépôt maintient une [liste de modèles testés par des contributeurs](https://cleanyour.tv/tvs) — une centaine de marques, dont TCL, Sony, Xiaomi, Philips, Hisense et les box Google TV — et la vidéo commence d'ailleurs par ce contrôle de compatibilité.

Il te faut aussi un ordinateur sur le même réseau Wi-Fi que la TV, avec un shell, et une des options acceptées par la documentation : Claude Code, [Codex](https://github.com/openai/codex), [Gemini CLI](https://github.com/google-gemini/gemini-cli) ou Antigravity CLI.

## Activer ADB sur la TV

Sur la TV : Réglages → Préférences de l'appareil → À propos → appuie sept fois sur **Build**, puis reviens en arrière → Options pour les développeurs → **Débogage USB**. Si un interrupteur **Débogage réseau / ADB** existe, active-le aussi, et laisse la TV allumée.

Un avertissement du prompt officiel vaut la peine d'être connu avant de commencer : certains boîtiers coupent l'alimentation de leurs ports USB pendant que le débogage est actif, ce qui éteint une enceinte ou un adaptateur Ethernet branché dessus. Prévois donc la session en une seule fois, et non en deux soirées.

## La voie assistée, en trois étapes

Le dépôt fournit un prompt prêt à coller dans un agent qui a accès à un shell :

1. **Sur la TV** : les options développeur et le débogage, comme ci-dessus.
2. **Sur l'ordinateur** : clone le dépôt (`git clone https://github.com/Gathin23/cleanyourtv`), ouvre ce dossier dans l'assistant, colle [PROMPT.md](https://github.com/Gathin23/cleanyourtv/blob/main/PROMPT.md) et renseigne le modèle de TV.
3. **Ensuite** : accepte l'invite « Autoriser le débogage USB ? » sur la TV, puis réponds à la liste de questions — applications réellement utilisées, taille du dock et ordre, assistant vocal, Chromecast, mises à jour.

Le clone n'est pas décoratif : avec le dépôt dans son contexte, l'assistant réutilise `tools/disable.sh` et `launcher/build-and-install.sh` au lieu d'écrire ses propres commandes, et c'est là que vivent la sauvegarde, la protection de l'écran d'accueil et l'enregistrement de restauration. La documentation annonce environ quinze minutes dans ces conditions, chaque étape étant vérifiée par des captures d'écran récupérées depuis la TV. La vidéo suit ce même déroulé : connexion ADB par réseau ou par code, sauvegarde de l'état initial, choix des paquets, nettoyage progressif, installation du launcher, personnalisation, puis fermeture de l'accès.

## La voie manuelle, si tu préfères la ligne de commande

Les outils ne demandent que Python 3. `tools/tv.py` est un client ADB en Python qui parle au port réseau 5555, ce qui évite le binaire `adb` quand celui-ci est bloqué par le système.

```bash
python3 -m venv tools/venv && tools/venv/bin/pip install -r tools/requirements.txt
export TV_HOST=192.168.1.50                                   # l'adresse IP de ta TV

tools/venv/bin/python -I tools/tv.py --probe                  # modèle, version Android, firmware
tools/disable.sh examples/xiaomi-mi-tv-4a/debloat.txt         # applique une liste
tools/restore.sh examples/xiaomi-mi-tv-4a/debloat.txt         # annule, launcher d'origine compris
tools/venv/bin/python -I tools/check.py examples/xiaomi-mi-tv-4a/debloat.txt   # ce qu'une mise à jour a rétabli
TV_HOST=192.168.1.50 launcher/build-and-install.sh            # construit le launcher et le met en accueil
```

Si le port 5555 reste fermé et que la TV propose le débogage sans fil avec un code d'appairage — c'est le cas des Chromecast avec Google TV et du Google TV Streamer —, la documentation demande d'appairer une fois avec `adb` d'origine, puis de lancer `adb tcpip 5555`. Le dépôt publie aussi les équivalents PowerShell de ces scripts, et mentionne un mode `STOCK_LAUNCHER` pour désigner ou protéger le launcher d'origine.

## Ce que tu obtiens à l'écran

Le launcher est décrit comme un écran d'accueil sobre, à la manière d'une Apple TV : un dock des quatre applications principales, une ligne supérieure qui nomme l'application sélectionnée avec une lueur reprenant la couleur de sa vignette, le reste des applications dans une grille qui monte quand tu appuies vers le bas, et trois boutons translucides pour les entrées HDMI, le réseau et les réglages. Il est en Java, sans service en arrière-plan ni permission réseau, et les thèmes se poussent sans recompiler. Côté TV, les rangées sponsorisées, les relances de « Découvrir », l'analytique et les applications préinstallées ne reviennent pas.

## Les pièges documentés

Trois erreurs reviennent assez souvent pour figurer en tête de la documentation :

- **Ne désactive pas le launcher d'origine avant que le nouveau soit installé et actif**, sinon l'écran d'accueil retombe sur une application de test d'usine. Le script d'installation ordonne les opérations pour toi, et `tools/disable.sh` refuse de désactiver un launcher reconnu si aucun autre paquet ne répond à HOME.
- **Sur Google TV, l'assistant de configuration** peut reprendre l'écran d'accueil et faire boucler le système une fois le launcher d'origine désactivé. Il faut donc le traiter aussi — mais vérifie d'abord à qui appartient le réseau Wi-Fi enregistré pendant la configuration (`dumpsys wifi`), car le désactiver supprime alors le réseau. Reconnecte-le dans les réglages avant, et sache que `tools/disable.sh` laisse l'assistant tranquille tant que ce n'est pas fait. Sur les Chromecast et le Google TV Streamer, le désactiver coûte aussi le cast depuis un téléphone.
- **macOS bloque `adb connect`** par sa protection du réseau local, ce qui se traduit par « No route to host » alors que le port est ouvert. `tools/tv.py` contourne le problème en n'utilisant pas le binaire.

## Sécuriser la TV après l'installation

ADB réseau circule en clair sur le port 5555. La documentation recommande donc explicitement de refermer la porte :

1. Dans les options développeur, désactive le débogage USB, réseau/ADB et sans fil, puis révoque les autorisations de débogage USB. Le débogage sans fil écoute sur son propre port et reste ouvert quand le débogage USB s'éteint.
2. Redémarre la TV, puis vérifie depuis l'ordinateur que le port est fermé avec `tools/adb-closed.py` : ce script sort en `0` quand la TV refuse la connexion, en `1` tant qu'elle l'accepte et en `2` quand rien n'a répondu.

Pour aller plus loin sans ADB, les réglages de la TV restent utiles : suppression de l'identifiant publicitaire, désactivation de la localisation, de « Usage et diagnostics » et du balayage réseau permanent. La documentation cite aussi Android Private DNS (Android 9 et plus) pour bloquer les domaines publicitaires à l'échelle du système, avec deux réserves : le résolveur voit alors toutes les requêtes DNS de la TV, et cela ne retire pas les publicités YouTube, servies par les mêmes serveurs que les vidéos.

## Restaurer l'état d'origine

Avant la première modification, `tools/disable.sh` écrit ce à quoi ressemblait la TV : pour chaque paquet s'il était actif, déjà désactivé ou absent, quel composant possédait l'écran d'accueil, et les échelles d'animation. Cet enregistrement vit dans `~/.cleanyourtv/`, un fichier par TV et par liste, et une seconde exécution de la même liste conserve le premier enregistrement au lieu d'écraser l'état nettoyé. `tools/restore.sh` le rejoue ensuite : un paquet que tu avais désactivé toi-même reste désactivé, et l'écran d'accueil revient au composant qui le possédait.

Deux limites à garder en tête : le launcher installé reste présent après restauration, et si la TV ne démarre plus assez loin pour les outils, un reset d'usine depuis le menu de récupération est la voie de retour — il efface les données utilisateur, donc tous les paquets désactivés reviennent, mais aussi tes applications et tes comptes. Après une mise à jour du firmware, l'inverse se produit : les paquets listés reviennent et l'accueil repasse au launcher d'origine, ce que `tools/check.py` permet de constater (`0` si la TV correspond toujours à la liste, `1` en cas de dérive, `2` si la vérification est impossible) et de corriger avec `--fix`.

## Ce que le projet ne fait pas

- Pas de binaire précompilé à télécharger : le launcher se construit avec le script du dépôt, en une minute environ.
- Pas de réponse toute faite à la question du micro et de la reconnaissance de contenu. Sur beaucoup de téléviseurs, la plupart des paquets tournent sous l'identifiant système et affichent une autorisation micro accordée sans rien enregistrer ; à l'inverse, un client de reconnaissance automatique identifie l'image avec la seule permission réseau. `tools/privacy.py` liste les candidats vocaux, ACR et télémétrie avec les éléments qui les désignent, et peut produire une liste exploitable par `disable.sh` — mais l'outil note qu'il ne peut pas prouver l'intention.
- Rien pour les plateformes sans ADB, et rien pour remplacer l'écran d'accueil sur Fire OS.

Pour voir le nettoyage, les vérifications et les écrans obtenus en conditions réelles, regarde la vidéo complète.

## Questions fréquentes

**CleanYourTV fonctionne-t-il sur ma TV ?**

Sur Android TV et Google TV, oui : le nettoyage et le launcher s'appliquent. Sur Fire TV, seule la désactivation de paquets fonctionne, car Fire OS ne cède pas l'écran d'accueil à un launcher tiers. Sur Samsung (Tizen), LG (webOS), Roku, Vizio et Hisense VIDAA, aucun ADB n'est disponible, donc le projet ne s'applique pas ; la page https://cleanyour.tv/not-android explique comment réduire le suivi à la télécommande.

**Faut-il rooter la TV ou la démonter ?**

Non. Le dépôt documente trois actions : sauvegarder la liste des paquets et les réglages, désactiver les paquets inutiles avec pm disable-user, puis installer un launcher minimaliste et en faire l'écran d'accueil. Rien n'est flashé, rooté ni désinstallé : les paquets sont désactivés dans le profil utilisateur, et un script de restauration rejoue l'état enregistré avant modification.

**Comment revenir à l'interface d'origine ?**

en gardant la liste appliquée et en exécutant tools/restore.sh, qui rejoue l'enregistrement écrit avant toute modification dans ~/.cleanyourtv/. Le launcher installé reste présent : il se retire depuis Réglages → Applications de la TV. Si la TV ne démarre plus assez loin pour ces outils, un reset usine depuis le menu de récupération efface les données utilisateur et rétablit tous les paquets désactivés, avec les applications et comptes de la TV.

**Laisser ADB ouvert sur la TV est-il risqué ?**

L'accès réseau ADB circule en clair sur le port 5555, et sur certains firmwares (ro.adb.secure=0) n'importe quel appareil du réseau local obtient un shell. La documentation recommande de désactiver le débogage USB, réseau et sans fil une fois le travail terminé, de révoquer les autorisations USB, de redémarrer la TV, puis de vérifier que le port est fermé avec tools/adb-closed.py, qui sort en 0 quand la TV refuse la connexion et en 1 tant qu'elle l'accepte. Le launcher continue de fonctionner sans débogage.

**Peut-on le faire sans ordinateur ni agent IA ?**

Oui : une application Android communautaire (https://cleanyour.tv/app) fait le même nettoyage depuis un téléphone, en affichant d'abord un plan et en enregistrant un point de restauration. Les commandes de la voie manuelle du dépôt restent utilisables depuis un ordinateur sans assistant de code.
