Ouvrir le menu principal

iGeneration

Recherche

Dans les coulisses d’iGeneration TV

Mickaël Bazoge

Sunday 21 May 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

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner

Si elle veut remplacer HomeKit par Matter, Apple ne montre pas le bon exemple

31/08/2024 à 15:00

• 27


Test de l'Insta360 Flow Pro, le stabilisateur compatible DockKit qui simplifie le suivi

31/08/2024 à 10:00

• 6


iPhone 16 Pro : un rendu possible du nouveau coloris

31/08/2024 à 09:02

• 37


Sonos publie le tableau complet des corrections à venir

30/08/2024 à 22:15

• 26


Un contentieux entre Apple et Spotify sur les boutons de volume de l'iPhone

30/08/2024 à 20:45

• 61


La production de l’iPhone 16 Pro aurait démarré en Inde

30/08/2024 à 20:31

• 5


Apple Intelligence occupe autour de 2,5 Go dans iOS 18.1 et 5,5 Go dans macOS 15.1

30/08/2024 à 18:00

• 36


PayPal pourrait vite venir concurrencer Apple Pay en Europe

30/08/2024 à 17:00

• 56


Apple prévoirait d’investir dans OpenAI

30/08/2024 à 16:38


Gomme magique : que vaut l’outil d’effacement d’Apple face à celui de Google ?

30/08/2024 à 15:00

• 36


La version Director's Cut de Napoléon est sur Apple TV+… mais pas en France

30/08/2024 à 12:00

• 54


Apple Sports va (enfin !) afficher des activités en direct avec iOS 18, mais toujours pas en France

30/08/2024 à 09:00

• 22


Pour un Sac Eastpak, acheté recevez un bon d’achat de 15 €

Partenaire


Sans Apple Pay, l’iPhone va-t-il perdre en simplicité pour les paiements ?

29/08/2024 à 20:30

• 120


Guide d’achat : les meilleurs accessoires Apple Watch et tech pour le sport

29/08/2024 à 18:05


Découvrez Youseeme : le compte unique qui réunit euros et cryptos ! 📍

29/08/2024 à 15:32