Ouvrir le menu principal

iGeneration

Recherche

Dans les coulisses d’iGeneration TV

Mickaël Bazoge

dimanche 21 mai 2017 à 10:00 • 38

Apple TV

Après le web, l’iPhone et l’iPad, nous avons ajouté une nouvelle corde à notre arc : l’application iGeneration est disponible aussi sur Apple TV. iGeneration TV est une manière supplémentaire et inédite d’accéder à nos contenus, et représente aussi pour nous un terrain de jeu intéressant.

Cliquer pour agrandir

Cette nouvelle application tvOS est tout d’abord le fruit d’une réflexion. Comment présenter nos actus sur le grand écran de la télévision ? Et tout d’abord, quel contenu devions-nous proposer ? En effet, nous aurions pu rester dans une pure logique télévisuelle, en présentant uniquement nos galeries photo et vidéo : du contenu éminemment visuel qui s’adapte naturellement à la télé.

Mais finalement, notre choix s’est porté sur l’intégralité de nos contenus : c’est plus intéressant pour vous, puisque vous accédez ainsi à toutes nos actus depuis le confort de votre canapé ! Cela vous permet d’avoir, dès l’écran d’accueil de l’Apple TV, une vision synthétique de l’actu du moment avant ou après un film ou une série TV, pendant le zapping, ou entre deux jeux. Et bien sûr, vous pouvez accéder aux commentaires.

Cliquer pour agrandir

On ne lit pas sur un téléviseur comme sur un iPhone ou un iPad, c'est pourquoi nous avons adapté l’interface de l’application en fonction de la taille de l'écran utilisé. Il en va logiquement de même pour le téléviseur : l’article se présente sous une forme volontairement sans chichis, avec une grande police et une interface très claire.

Sous le capot

Techniquement parlant, le développement d’iGeneration TV a été rendu possible en combinant plusieurs briques patiemment mises en place par Laurent, notre développeur émérite. La version 5.2 de l’application iOS comprend, en plus du passage à Swift 3, la réécriture de toute la partie qui gère le dialogue et le transfert des données depuis les serveurs. Avec les versions précédentes de l’app, il s’agissait d’un simple transfert de fichier généré via un script PHP.

Cliquer pour agrandir

Nous avons intégré une API de type REST, une architecture dont un des avantages en ce qui nous concerne est la latitude donnée à l’application pour s’interfacer directement avec la base de données des serveurs. La version 5.2 de l’application iOS embarque également un module indépendant, MGKit, qui intègre non seulement le code réseau, mais qui gère aussi la base de données des articles en local.

Le widget et l’extension iGeneration — Cliquer pour agrandir

Ce module MGKit et cette nouvelle architecture ne sont pas immédiatement visibles par l’utilisateur, mais ils nous donnent beaucoup de souplesse : le widget iOS et l’extension Messages ont été développés grâce à ces outils, qui accélèrent aussi la mise au point d’autres fonctionnalités.

La logique était donc de voir s’il était possible d’exploiter cette boîte à outils pour développer une application pour Apple TV. Il est possible de concevoir des apps tvOS avec UIKit, le framework qui permet de construire des applications iOS ; Apple met toutefois en avant une technologie baptisée TVML (pour « TV Markup Langage » ). Il s’agit d’un moteur de rendu utilisant des templates au format XML, dont la logique est pilotée par du code JavaScript. Il s’agit plus d’un développement côté serveur, similaire à celui d’un site web.

Cliquer pour agrandir

Malgré les atouts de TVML, il était dommage de devoir réinventer la roue en ne réutilisant pas le code développé pour l’application iOS. Après une première session marathon lors d’un week-end pluvieux, le premier résultat s’avéra prometteur. L’idée de pouvoir profiter des news de MacGeneration durant son zapping télé était fun. Surtout, le développement ne posait pas de problèmes techniques insurmontables, bien qu’Apple ne facilite pas la tâche pour tvOS.

Il y a en effet une différence de taille sur cette plateforme : l’absence de WebKit, le moteur qui tourne sous le capot de Safari, et donc des WebView, ces « vues web » qui permettent d’afficher une page web dans iOS. Contourner cette limitation a été la principale difficulté technique qui s’est posée à nous durant le développement d’iGeneration TV.

Il a fallu déployer des trésors d’ingéniosité pour parvenir à nos fins ! Il n’était pas question de réécrire WebKit (!), mais plutôt de faire en sorte que la majorité des articles s’affiche correctement dans l’application pour Apple TV : celle-ci examine donc le HTML pour générer elle-même une mise en page des différents éléments, en faisant une utilisation intensive d’AutoLayout.

Cliquer pour agrandir

Nous aimerions au passage remercier les développeurs du framework Re:Lax, qui a permis d’implémenter le joli effet 3D lors de la sélection des articles, ainsi que Cédric, notre développeur web, pour l'intégration de l'API Rest.

Un premier pas

Tout cela a bien occupé Laurent pendant quelques semaines. Évidemment, il s’agit d’un premier pas. Des fonctions comme le mode nuit, l’icône alternative, les filtres, le moteur de recherche, etc. ne sont pas encore intégrées, soit parce qu’Apple ne l’autorise pas, soit parce qu’elles n’ont pas forcément de sens sur tvOS. Et pour le moment, l’application ne permet pas de poster des commentaires ; on y réfléchit, et pourquoi pas avec la reconnaissance vocale de la télécommande Siri !

On ne s'empêchera pas de proposer des fonctionnalités spécifiques à l'Apple TV : nous avons déjà quelques idées pour une prochaine version. N'hésitez pas d'ailleurs à nous dire ce que vous aimeriez que nous ajoutions à iGeneration TV !

Source :

Merci à Laurent pour la technique

Soutenez MacGeneration sur Tipeee

MacGeneration a besoin de vous

Vous pouvez nous aider en vous abonnant ou en nous laissant un pourboire

Soutenez MacGeneration sur Tipeee

L'Apple Store vu de l’intérieur : croquer la pomme

23/12/2025 à 21:55

• 21


iPhone Fold : Apple testerait différents verres ultra-fins pour gommer la pliure

23/12/2025 à 21:35

• 23


iPhone 14 à 345 € (code XMAS15) : prix canon et garantie 30 mois

23/12/2025 à 21:22

• 0


7 bonnes raisons de s’offrir un VPN 📍

23/12/2025 à 20:21

• 0


Le code unique pour les envois AirDrop : comment compliquer les choses pour une tâche simple

23/12/2025 à 18:02

• 22


iOS 26 : Apple transforme vos photos en scènes spatiales 3D et ouvre la technologie associée

23/12/2025 à 16:53

• 31


Le Mota, un support de bureau DockKit pour seulement 20 €

23/12/2025 à 16:10

• 1


Selfix, la protection qui intègre un écran pour améliorer vos selfies et un lecteur de microSD

23/12/2025 à 14:40

• 8


Galaxy Z Fold : Samsung étudierait un second modèle au format proche de celui de l’iPhone Fold

23/12/2025 à 12:36

• 25


Apple dépend de plus en plus de Samsung pour la mémoire vive des iPhone

23/12/2025 à 11:05

• 10


Après Spotify et Apple Music, ChatGPT aussi lance son bilan de fin d’année

23/12/2025 à 10:50

• 16


Bouygues Telecom « étudie » la prise en charge de l’Apple Watch

23/12/2025 à 08:47

• 47


DMA : les AirPods vont perdre un peu de leur magie avec iOS 26.3

23/12/2025 à 08:15

• 97


Prévoyez un peu plus de 15 000 € pour avoir tout Spotify en local

23/12/2025 à 08:15

• 60


Bon plan : les quatre traceurs Ugreen Localiser rechargeables en USB-C à 26 €, le prix le plus bas

23/12/2025 à 08:14

• 6


Donnez une note à iOS 26

23/12/2025 à 08:11

• 48