iPad mini : le début des ennuis ?

Publié le Mis à jour le Par

Il y a quelques jours, Apple démarrait (en trombes) les ventes de ses nouveaux iPads, dont l’iPad mini. Cette tablette de 7 » semble promise a un bel avenir. Mais voilà, passé l’effet Waouh propre aux produits de la Pomme, on a vu fleurir quelques tweet signifiants que l’iPad mini utilise le même User-Agent que son grand frère de 10 ». J’ai notamment réagi au tweet de Maximiliano Firtman (@firt) qui soulignait ce point, en arguant, un peu vite (140 caractères obligent) que « les User-Agent, c’est le mal » (si vous ne savez pas pourquoi, la conférence de Rudy Rigot à Paris Web 2012 devrait vous aider à y voir plus clair). Twitter n’étant pas propice aux discussions de fond, Maximiliano s’est donc fendu d’un billet de blog où il explique que si l’iPad mini n’est pas distinguable de son grand frère côté serveur, il ne l’est pas plus côté front : les 2 tablettes annoncent la même densité de pixel (fausse, au passage), la même résolution, le même ratio… Bref, tout pour nous faire croire que les deux écrans sont identiques (oui, parfois, le front-end vous ment). Pas de recours au media-queries donc, pas d’utilisation possible du JS non-plus. Pour le moment, l’iPad mini utilise une version modifiée d’iOS qui peut être identifiée, mais ça ne durera pas.

Parce que le problème ne se limite pas uniquement a des soucis statistiques, il touche aussi – et surtout – nos composants d’interfaces. Car tout s’affiche plus petit de 19% sur l’écran de l’iPad mini et que celui-ci se fait passer pour un écran de 10 » aux yeux de l’OS. Certes, Apple a introduit avec iOS6 l’auto-layout, un dispositif capable de recalculer de façon automatique le layout des interfaces pour optimiser leur position à l’écran. Malheureusement, celui-ci n’est pas disponible au sein de webview, le composant d’affichage web. Pas d’issue pour le moment…

Beaucoup de problèmes à venir donc : avec un écran plus petit, mais qui se fait passer pour un plus grand, il va être de plus en plus complexe d’optimiser les interfaces. En voulant limiter la fragmentation du marché de ses iDevices, Apple risque fort avec ses choix de provoquer une houle dans le petit milieu des développeurs.

Ceci étant posé, on peut néanmoins légitimement se demander si tout ça n’est pas tempête dans un verre d’eau. Beaucoup de développeurs semble s’émouvoir de la difficulté à identifier correctement l’iPad mini et à le différencier de son grand frère.

A mon sens, tout ceci n’est pas dramatique et le soufflé va retomber rapidement. Mais c’est une première étape et on risque fort de se trouver coincés dans certaines impasses à l’avenir. Structurellement, il y a peu d’intérêt à savoir si le périphérique est un iPad mini ou une tablette Android, ça n’intéresse que les statistiques… Par contre, il semble important qu’un écran de 7 » me signale bien son ratio et sa densité de pixels pour adapter les composants d’interfaces (notamment les zones cliquables de boutons, etc), et non qu’il se fasse passer pour un 10 » (ce qui est le cas de l’iPad mini). Pour le moment, c’est n’est pas trop grave, mais il faudra veiller à la fragmentation.

Ou plutôt : il va falloir revoir assez profondément la façon dont on conçoit nos interfaces en utilisant beaucoup plus les possibilités qui arrivent en CSS, SVG, etc en se détachant des contraintes matérielles.