Présentation
CleanFrame est une application web conçue pour remplacer l’écran d’accueil du téléviseur Samsung The Frame fonctionnant sous Tizen. Le projet se veut minimaliste : il affiche les applications installées, une photo d’arrière‑plan et une horloge 12 h, le tout contrôlable avec la télécommande du téléviseur. Le code source, publié sous licence MIT, est disponible sur GitHub et s’adresse aux utilisateurs prêts à adapter les scripts d’installation à leur propre configuration matérielle et logicielle.
Architecture et fonctionnement
L’application s’appuie sur un environnement de développement Node.js 22+ et Python 3.10+. Le processus de prévisualisation s’effectue dans un navigateur local via la commande
npm run dev:public, qui lance un serveur sur le port 4795. Les ressources graphiques (polices Manrope, Geist, Newsreader) sont chargées en mode public, et le rendu du verre et du flou est pré‑calculé : le téléviseur ne reçoit que des images déjà composées, puis applique des transformations de translation et d’opacité pour indiquer le focus.Le système de navigation repose sur les touches directionnelles, Enter et Escape de la télécommande. Les préférences – disposition (liste ou dock), ordre des applications, fond d’écran – sont stockées localement dans le répertoire dist et peuvent être réexportées avec
npm run export:public, générant le fichier CleanFrame-public-unsigned.wgt. Ce paquet doit ensuite être signé avec les certificats du développeur avant d’être installé sur le téléviseur.Analyse technique et limites
Le choix de Tizen comme plateforme impose plusieurs contraintes. Les helpers natifs qui permettent d’associer l’application au bouton Home sont non documentés et peuvent cesser de fonctionner après une mise à jour du firmware. Le guide d’installation précise que toute modification du comportement natif doit être précédée d’une sauvegarde du système, faute de quoi le téléviseur pourrait rester bloqué en mode de récupération.
Sur le plan des performances, le pré‑rendu du verre minimise la charge GPU du téléviseur, mais la génération initiale des images dépend de la puissance du poste de développement. De plus, le projet ne propose pas de mécanisme de portabilité automatique : les scripts d’installation contiennent des chemins absolus et des identifiants spécifiques à la configuration de l’auteur. Les utilisateurs doivent donc réécrire ces références pour chaque modèle ou version de firmware.
Le processus de vérification utilise Playwright pour lancer Chromium en profil isolé, garantissant que les tests de rendu se font sans connexion au téléviseur. Cette approche assure la reproductibilité des tests, mais ne détecte pas les incompatibilités liées aux API propriétaires de Tizen, qui ne sont accessibles que sur le dispositif réel.
Installation et exigences
Pour reproduire l’environnement, il faut cloner le dépôt :
git clone https://github.com/nthnclrk/CleanFrame.git
cd CleanFrame
npm ciet installer les dépendances Playwright avec npx playwright install chromium. Le développeur doit ensuite configurer le mode développeur du téléviseur, créer un profil de signature et adapter les scripts de packaging. Le projet encourage les contributions via des fourches, en insistant sur la documentation des modèles, du firmware et des résultats observés.