- Fonctionne avec un ancien ordinateur portable Linux
- Affiche une page HTML spécifique dans le navigateur Firefox, et chaque icône d’application n’est en fait qu’un lien vers un site web
Configuration
- J’ai acheté une smart TV Samsung de 55 pouces pendant une période de promotion. Elle embarque par défaut Samsung Tizen OS
- L’ordinateur portable utilisé comme unité d’affichage a un clavier hors service depuis qu’on y a renversé autrefois du thé Earl Grey. Il est donc bien adapté à un usage de home server. C’est pour cela que ma smart TV s’appelle EarlGreyTV
- J’ai fixé l’ordinateur portable à l’arrière du téléviseur afin de garder une installation propre tout en conservant l’accessibilité
Logiciel
- J’ai installé Debian Linux et l’environnement de bureau Sway sur l’ordinateur portable. J’ai choisi Sway parce qu’il peut être configuré en code avec un minimum de réglages
- J’ai configuré Sway pour lancer Firefox en plein écran à la connexion
- Firefox est personnalisé. La page d’accueil est définie sur le fichier HTML d’EarlGreyTV, et j’ai aussi fait en sorte que la barre d’adresse ne soit pas visible en plein écran, entre autres
- J’ai ajouté une notification personnalisée affichée lors du changement de volume
Télécommande
- Comme le système dépend d’entrées souris et clavier, la configuration de la télécommande est compliquée
- J’ai décidé d’utiliser une air mouse. Elle déplace le curseur dans la direction où on l’incline à l’aide d’un gyroscope/accéléromètre
- J’utilise une air mouse WECHIP W3, avec un mini clavier au dos. Je regrette un peu son côté léger et un peu cheap
- J’ai configuré un bouton de recentrage, ce qui a grandement amélioré l’ergonomie. Sinon, le curseur risque de finir bloqué au bord de l’écran sans pouvoir revenir
Adaptateur CEC
- Le CEC est une fonction HDMI qui permet de transmettre des commandes entre appareils
- J’ai configuré le système pour que, lorsque l’ordinateur portable passe en veille via le CEC, l’écran du téléviseur s’éteigne aussi. De même, lorsque l’ordinateur se rallume, l’écran du téléviseur se rallume également
- Le port HDMI de l’ordinateur portable ne prenant pas en charge le CEC, j’ai dû acheter un adaptateur USB CEC. Il fonctionne en complétant la connexion HDMI avec des messages CEC envoyés via l’USB
Diffuser depuis l’iPhone
- Il m’arrive de vouloir envoyer sur le téléviseur du contenu présent sur l’iPhone
- J’ai créé un raccourci sur l’iPhone. Il est configuré pour apparaître dans la « feuille de partage » lorsqu’on partage une URL depuis une app
- Quand le raccourci reçoit une URL, il l’envoie à l’ordinateur EarlGreyTV via une requête HTTP
- Côté téléviseur, un serveur simple est en attente de réception d’URL. Lorsqu’il en reçoit une, il la colle dans la barre d’adresse de Firefox
- Cette configuration permet de partager facilement des liens de contenu depuis le téléphone
- Ce n’est peut-être pas vraiment ce qu’on appellerait du casting, mais cela répond largement au besoin
- L’inconvénient est qu’au moment de l’implémentation, la barre d’adresse de Firefox apparaît brièvement, ce qui casse un peu l’effet smart TV, mais cela ne dure que quelques secondes
Avantages et inconvénients
- Le plus gros inconvénient est la complexité. Il a fallu beaucoup de temps pour arriver à un état où « ça fonctionne, tout simplement ». Même si un non-spécialiste pourrait l’utiliser, je ne l’installerais pas pour quelqu’un incapable de le déboguer lui-même
- Un autre inconvénient est la télécommande. Je m’y suis habitué, mais les nouveaux utilisateurs ont besoin qu’on leur explique comment s’en servir
- Je suis très satisfait d’avoir construit tout le système autour du navigateur. Cela permet d’ajouter facilement des « apps » au téléviseur sans se soucier des mises à jour ni de la compatibilité
- Tant qu’une app existe sous forme de site web, on peut l’ajouter. Par exemple, on peut « installer » Hacker News ou ajouter des choses absurdes comme une app « chat aléatoire » utilisant https://cataas.com/cat
- On peut ajouter des raccourcis vers des sections précises de sites souvent visités
- De manière générale, le plus grand avantage est le niveau de contrôle fin. On peut librement écrire des scripts, reprogrammer des boutons, modifier l’esthétique, etc.
- J’apprécie aussi qu’on puisse utiliser des extensions de navigateur pour ajouter un bloqueur de publicités/sponsors ou définir un planning de blocage de sites
Conclusion
- J’aimerais que davantage de personnes créent des configurations TV personnalisées comme celle-ci, mais je sais aussi que la majorité veut quelque chose de simple qui fonctionne immédiatement
- Le but de ce projet n’était pas de créer une smart TV objectivement meilleure, mais de fabriquer quelque chose que j’avais personnellement envie d’utiliser
- De petits désagréments des smart TV existantes m’ont obsédé au point de me faire tomber dans un immense terrier de lapin pour essayer de faire mieux. Mais descendre dans ce terrier a été très amusant
- Je peux affirmer avec certitude que, même si je regarde très peu la télévision, j’ai passé bien plus de temps à construire cette installation TV qu’à réellement l’utiliser
- La conclusion de ce projet est la suivante : suivre l’impulsion d’améliorer les choses agaçantes peut être extrêmement amusant
2 commentaires
Sur les commentaires Hacker News, il y a une réponse du genre : pourquoi pas utiliser LibreELEC ou CoreELEC et régler ça d’un coup..
Ce sont de petites distributions Linux qui ne permettent d’exécuter que le lecteur multimédia Kodi pour un usage HTPC.
Et juste en dessous, une autre réponse :
En vrai, le plus simple, c’est juste d’utiliser un truc comme TiVo ou Fire Stick…