Dans les coulisses d’iGeneration TV

Mickaël Bazoge | | 10:00 |  38

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

Catégorie : 
Tags : 

Les derniers dossiers sur iGeneration

Ailleurs sur le Web


38 Commentaires Signaler un abus dans les commentaires

avatar jmg600 21/05/2017 - 10:08 via iGeneration pour iOS

J'aimerai une version demo, qui permettais de lire par exemple 5 articles.
Ça m'aiderait à faire le pas de l'achat !!

avatar ET80 21/05/2017 - 10:10 via iGeneration pour iOS

J'aimerai le contrôle de la taille du texte : grossir le texte sur téléviseur ça serait un plus!!

avatar Laurent H macG 21/05/2017 - 12:51 via iGeneration pour iOS

@ET80
"J'aimerai le contrôle de la taille du text"

Oui une option pour pouvoir mettre la taille de la police en XL est prévue!

avatar iPop 21/05/2017 - 13:30 via iGeneration pour iOS

@LaurentH

Idéalement une lecture par SIRI serait aussi un plus pour les Handicapés mais aussi pour ceux qui prennent leur déjeuné.

avatar light1981 21/05/2017 - 10:13 via iGeneration pour iOS

Possédant l'application je la trouve très bien et ergonomique. Au début j'étais assez septique de lire les articles sur la TV mais cela m'a paru au final très naturel.
Je pense que pour l'avenir il serait intéressant d'intégrer me fonction Keynote avec pourquoi pas l'image à gauche et vos commentaires à droites mais je ne sais pas si cela est possible n'étant pas développeur.

avatar gounaiel 21/05/2017 - 10:16 via iGeneration pour iOS

C'est plutôt cher, mais j'ai envie de soutenir la démarche :)
Je verrai ce que ça donne en rentrant chez moi !

avatar iTiti 21/05/2017 - 10:16 via iGeneration pour iOS

Gros boulot ! Bravo au développeur et à ceux qui ont participé

avatar LittleSushi 21/05/2017 - 10:17 via iGeneration pour iOS

L'idéal serait un mode splitview que l'on puisse regarder un autre programme en même temps (mais là c'est une autre histoire).
Pour la saisie de texte, l'app sur iPhone le fait très bien, inutile d'utiliser Siri.
Mais je n'ai pas l'impression qu'il y ait synchro entre ce que je lis sur iOS et tvOS.

avatar Lubi974 21/05/2017 - 10:21 via iGeneration pour iOS

Pourquoi pas créer une émission hebdomadaire ?!

avatar Kriskool 21/05/2017 - 10:47 via iGeneration pour iOS

Pour moi le prix est trop élevé ...

avatar Puff32 21/05/2017 - 10:52 via iGeneration pour iOS

Je regarde fréquemment vos News sur mon téléviseur, avant ou après mes programmes tv, je trouve l'application très sympa et très claire sur mon écran, continuez dans ce sens. J'étais sceptique au départ, mais au final c'est réussi, et l'écran noir y fait beaucoup. Félicitations.

avatar Giloup92 21/05/2017 - 11:47 via iGeneration pour iOS

Ils mettent au moins 700€ dans un iPad et une Apple TV, et certains trouvent l'application à 7€ trop chère...

avatar Hertzfield 21/05/2017 - 11:54 via iGeneration pour iOS

@Giloup92

C'est la réflexion de beaucoup d'acheteurs de produits Apple.
Rouler en Ferrari n'exclu pas de payer le péage !

avatar alan1bangkok 21/05/2017 - 13:53 via iGeneration pour iOS

@Hertzfield

Ah ..acheter du  exclu de bénéficier d'app gratuites ?

avatar Gbolou 21/05/2017 - 20:28 via iGeneration pour iOS

@Hertzfield

En même temps on est pas obliger de payer le péage. Il suffit d'être malin ou moins c... c'est à vous de voir.

avatar 0MiguelAnge0 21/05/2017 - 12:29 via iGeneration pour iOS

@Giloup92

Le principale coupable est APPLE pour avoir gommer la notion d'efforts pour dévelloper des apps en poussant les devs à des mises à jour gratuites perpetuelles, en mettant avant les apps universelles, etc....

Audi, BMW ou Ferrari n'imposent les autoroutes gratuites aux Etats, de ce que je sache...

avatar marc_os 21/05/2017 - 12:46 via iGeneration pour iOS

En attendant la pub continue à faire planter l'App de macg sous iOS 7 !!
Pourriez-vous en parler à votre régie de pub ??

avatar mbk28 21/05/2017 - 13:21

Il aurait été bien de préciser que cette app est payante

avatar Giloup92 21/05/2017 - 13:44 via iGeneration pour iOS (edité)

@mbk28
Précision inutile : toute peine mérite salaire. En lisant l'article on comprend que les développeurs en ont bavé pour mettre au point l'application.

avatar cosmoboy34 21/05/2017 - 13:31 via iGeneration pour iOS

Une section ioccasion serait top sur la TV. En tout cas bravo pour l'effort perpétuel d'amélioration que macg entreprend depuis si longtemps.

avatar palmx 21/05/2017 - 13:57 via iGeneration pour iOS

Félicitation 👍🏼👍🏼

avatar yasuo87 21/05/2017 - 13:58 via iGeneration pour iOS

Super sympa comme article "backstage" je n'ai malheureusement pas d'Apple TV pour acheter l'appli et vous soutenir mais j'ai le club MacG sur iPad 😏😏

avatar AlexG 21/05/2017 - 14:19 via iGeneration pour iOS

Encore une fois, je ne suis pas d'accord avec le fait de payer encore : j'aurais préféré un club macg plus cher qui permette de financer ce type de développement et constater avec le temps que de nouvelles apps et de nouvelles fonctionnalités arrivent régulièrement grâce à cet investissement régulier plutôt que de passer à la caisse à chaque nouveau développement.
Comme Plex finalement.

avatar macbook60 21/05/2017 - 14:40 via iGeneration pour iOS

@AlexG

On as pas tous une Apple TV .....
Et c'est un moyen de soutenir l'équipe

avatar NAVY7GAS 21/05/2017 - 14:29 via iGeneration pour iOS

Je pense que tous ça rend un confort certain, de votre point de vue c'est jackpot car une télé est publique et familiale. Quand on va allumer l'Apple TV avec les infos macG, les convives vont regarder, s'informer comme nous, cela va créer des discussions autour du salon, savoir par exemple quelle est l'app, ca va leur donner envie de l'installer sur leurs appareils etc.
Mais pour moi macG c'est que moi, c'est un des journaux que je consulte et j'ai pas besoin que d'autres membres ou proches regardent ce que je regarde en même temps que moi. C'est comme mettre Facebook, twitter et tous les photos ou commentaires qui nous concernent sur la place publique. Et ça ne me botterais pas que tout le monde autour de moi ait les mêmes infos de même source, au même moment.
Après il y en a qui aiment ça et pour ces lecteurs que vous visez, ils vont aller montrer leurs commentaires commenter ceux des autres (!), parler des sujets entre deux activités etc, sur une tv c'est bien mais c'est sans plus.
Y'a une différence entre regarder un podcast comme 01net.tv ou Geek inc. ensemble et commenter les sujets, que de lire des infos sur une tv familiale. C'est pas l'endroit d'autant plus que vous avez tendance à écrire des articles longs parfois trop longs, plus en tout cas que mac4ever qui sont plus concis et vont droits au but, et qui ont des chaînes vidéos brico, test ou actu.
Pour l'idée vous êtes les premiers c'est vrai, mais c'est pas le support qui vous va le mieux.

En tout cas pour freiner un peu tout ça, et éviter cette chronophagie et addiction aux actus aussi appelé en anglais FoMo ou "la peur de rater quelque chose", on devrait choisir des canaux d'informations qui soient brefs et concis, en plus d'être fiable dans la véracité des infos données tout en éliminant les à-peu-près type rumeurs.
"Le temps et l'argent, ils sont à vous mais ils veulent vous les dérober le plus possible et le plus longtemps possible" disait-il..

avatar iThomas 21/05/2017 - 14:52 via iGeneration pour iOS

C'est peu être un peu cher quand on est déjà abonné au club MacG ?

avatar Powerdom 21/05/2017 - 14:58 via iGeneration pour iOS

@iThomas

7€.
C'est le prix d'une place de ciné. D'un paquet de clop.
De deux revues.

D'une application sur une Apple TV. Rien de cher ici.

avatar Ajioss 21/05/2017 - 15:07 via iGeneration pour iOS

@iThomas

Non.

avatar bugman 21/05/2017 - 19:26 via iGeneration pour iOS

@iThomas

Si c'est cher c'est que t'en a pas besoin.

avatar NAVY7GAS 21/05/2017 - 15:45 via iGeneration pour iOS

Ou alors ce que vous pouvez faire éventuellement, c'est d'afficher vos articles sur la tv mais d'une manière différentes que sur les supports iPhone iPad qui sont des liseuses mieux adaptées pour cela ; plutôt que de retransposer le même schéma, vous pourriez faire en sorte de raccourcir les articles en allant à l'essentiel, sans trop rentrer dans les détails, en ajoutant des photos et images hautes résolutions et en raccourcissant également les commentaires avec un algo qui irait prendre que les mots-clés!
Faites de même pour la Apple Watch sans les images, vidéos et commentaires bien entendu! Et vous aurez gagné une partie du lectorat de mac4ever lol à moins que eux aussi ne se lancent sur le créneau!

Un split view mais façon canal en deux ou quatre fenêtres au choix, lors des diffusions live des Keynote avec : le Live vidéo d'un côté, votre suivi à vous de l'autre, un troisième écran où l'on vous voit en mode pizza/bière et où vous pourrez commenter et répondre à nos questions en direct, et la quatrième et dernière fenêtre qui servira pour le défilement des questions que l'on vous posera!
Et comme ça la tv 4K sera bien remplie!

avatar rockola 21/05/2017 - 15:48

pouvoir navigué dans les articles et faire remonté et descendre la lecture des articles sans la télécommande siri , que l'on puisse utilisé une télécommande universel avec les flèches

avatar Laurent H macG 21/05/2017 - 16:09 via iGeneration pour iOS

@rockola

Oui on a mis le support pour une télécommande universelle sur la liste des fonctionnalités à rajouter.

avatar PouletDu14 21/05/2017 - 20:47 via iGeneration pour iOS

Même si l'application était pourrie, dépenser 7 euros pour iGeneration ne dérange pas du tout...

Je viens ici depuis 4 ans. Le contenu est de qualité avec pas mal d'articles de fond qu'on ne retrouve nul part ailleurs.

7 euros c'est le prix de certains magasines.

Ce n'est peut-être pas "juste" que les abonnés doivent payer le prix fort, mais ce n'est pas comme si Apple donnait la possibilité aux développeurs de faire des réductions pour certains clients...

avatar kiddsoso 22/05/2017 - 01:36 via iGeneration pour iOS

J'ai pas très bien compris pour la partie affichage des articles.

A ce que j'ai compris vous faites une requête pour obtenir une page HTML que vous analysez afin d'obtenir les données pour créer un article ?

Pourquoi votre serveur ne renvoie pas un JSON que vous formatez en Dict ou NSDict ?

Aussi, 7€ pour une appli je trouve ça assez cher pour ce que c'est. Le développement mérite d'être financé mais ce n'est pas un travail aussi important qu'un jeux vidéo et sachant qu'entre contrepartie de pubs, le site et l'appli sont gratuits..

Je trouve ça dommage car j'aurai beaucoup aimé avoir cette appli mais n'accepterai pas de payer autant juste pour une appli en sachant que mon iPhone peut faire la même chose.

Sinon très beau boulot 👍

avatar DouceProp' 22/05/2017 - 11:54

Je ne suis pas fan de la lecture sur la télé...

avatar funkycochise 22/05/2017 - 18:42 via iGeneration pour iOS

pareil, abonné au club, possesseur d'une atv, je ne l'achèterai pas. Trop cher, peu d'intérêt (pour moi)

avatar VanZoo 22/05/2017 - 20:58 (edité)

Plus de vidéos (pas dure de faire mieux) et moins de texte !

avatar Lightman 06/06/2017 - 14:11 via iGeneration pour iOS

Merci pour cet article et ses explications techniques.