html5-dans l'univers du mobile


html5-dans l'univers du mobile

 

html5 dans l'univers du mobile

55, rue de Rivoli ? 75001 Paris? France ? http://www.momac.net Tel: +33 1 75 43 06 36 ? Fax: +33 1 75 43 05 61 Le HTML 5 dans l'univers du mobile : mythes et réalités Introduction HTML5, la toute dernière version du langage HTML, commence à faire parler d'elle. Des acteurs tels que Google et Apple l'ont d'ores et déjà adoptée, l'une dans son client de messagerie mobile et dans YouTube (via HTML5 video), l'autre pour iAd - la régie publicitaire d'Apple - écrit elle aussi intégralement en HTML5. Mais quelles possibilités offre cette nouvelle mouture HTML5, plus particulièrement pour l'internet mobile ? Dans les faits, ce successeur du HTML 4.01 et du XHTML 1.0 est encore à l'état d'ébauche, poussée par les membres du consortium WHATWG (Web Hypertext Application Technology Working Group), fondé par des représentants d'Apple, de la Mozilla Foundation et de l'éditeur Opera Software. Les spécifications techniques du HTML5 font encore l'objet de modifications régulières, mais depuis 2009, il accroît de façon notable sa présence dans les navigateurs Safari, Firefox, Opera et Chrome. Avec la croissance soutenue du marché des smartphones (iPhone, Android, Nokia), le HTML5 apporte des solutions aux problèmes qui bloquaient jusqu'à présent nombre d'innovations sur l'internet mobile, motivant ainsi son adoption. Les créateurs du HTML5 ont eu à c?ur de proposer aux développeurs une suite complète de balises et d'API permettant de concevoir des applications web rich-media en s'appuyant sur ce langage, sur CSS3 et sur Javascript. C'est la raison pour laquelle personne ne devrait ignorer l'arrivée du HTML5 sur les plates-formes mobiles. Mais parmi les fonctionnalités du HTML5, lesquelles sont plus particulièrement intéressantes pour l'internet mobile ? Lesquelles peuvent être utilisées dès à présent ? Enfin, quelles sont les innovations auxquelles les développeurs mobiles peuvent s?attendre dans les prochaines années? Les fonctionnalités vidéo et audio au menu du HTML5 Grâce à HTML5, les développeurs peuvent embarquer des composants audio et vidéo dans leurs webapps. Cette nouvelle version d?HTML permet désormais de détacher les boutons de commande (par exemple play, pause, stop, etc.) de la zone audio ou vidéo, pour un rendu plus agréable sur les pages, mais aussi de commander, avec un seul bouton, plusieurs zones de vidéo. L'API vidéo permet MoMac France 2010 page 2 sur 7 aux développeurs de définir des manipulations intéressantes, telles que la modification de l'éclairage, l'ajout de fonctionnalités 3D et la reconnaissance d'objet ou de visages. Avec de telles possibilités de contrôle, les développeurs sont en mesure de concevoir des applications mobiles réellement innovantes, pouvant piloter et personnaliser les données vidéo en mobilité. Ils peuvent par exemple combiner la géolocalisation aux images captées grâce à l'appareil photo-numérique intégré, et ainsi proposer un service totalement personnalisé et localisé. En l'état actuel des choses, les fonctionnalités vidéo et audio du HTML5 restent limitées pour les plates-formes mobiles. Ainsi, l'iPhone d'Apple prend bien en charge l'élément <video>, mais sans pouvoir embarquer totalement les données d'écran vidéo dans la même page mobile, et sans offrir le niveau de contrôle et d'accès définis par le HTML5. Le smartphone se contente d'afficher une image figée, puis en cas d'action de l'utilisateur, de lancer la vidéo avec le player QuickTime. Du côté du Nexus One de Google, la vidéo HTML5 ne semble pas être prise en charge, l'élément <video> se résumant à une image figée impossible à lire. La donne devrait toutefois changer avec l'iPhone 4G et le Nexus Two de Google, qui disposeront d'un processeur ARM plus puissant et plus rapide (comme le processeur A4 d'Apple présent dans l'iPad) et d'une vitesse d'accélération vidéo accrue. Ces deux smartphones prendront en charge les fonctionnalités vidéo et audio prévus par le HTML5 pour embarquer la vidéo et offrir un débit d'images plus rapide en lecture. Reste que les navigateurs mobiles seront toujours un frein aux capacités des codecs audio et vidéo, en offrant une prise en charge restreinte et fragmentée. Ainsi, Apple a tourné le dos aux codecs open source OggVorbis/Theora, leur préférant les formats AAC, MP3, WAV et H.264 sur son iPhone, son iPod et l'iPad. A l'inverse, le smartphone Android prend en charge les formats audio et vidéo libres Ogg. Pour offrir un service vidéo abouti digne de ce nom, il sera donc nécessaire de réencoder les différents codecs audio et vidéo, de différents formats. L'élément <video> du HTML5 dans le détail L'élément <video> des spécifications HTML5 est pris en charge par d'autres smartphones, mieux équipés. Bien que l'élément <video> lui-même soit pris en charge, toutes les fonctionnalités l'accompagnant ne le sont peut-être pas, ou avec des implémentations variant d'un appareil à l'autre. Des variantes qui peuvent en outre régir la façon dont les flux vidéo sont envoyés vers un périphérique mobile. Un aspect technique à ne pas négliger lorsque l'on souhaite offrir une nouvelle dimension vidéo avec le HTML5. Focus sur le bouton de commande <video> en HTML5 A l'exception de l'iPad, l'élément <video> n'offre pas encore une expérience totale de vidéo embarquée sur les pages web mobiles. En lieu et place de l'icône de vidéo s'affiche un symbole représentant un espace réservé qui, lorsqu'on lance la vidéo, ouvre une nouvelle fenêtre venant cacher la page web mobile en cours d'affichage et par là-même toutes les nouvelles fonctionnalités telles que les boutons de commande vidéo. L'image ci-dessous représente ce symbole. MoMac France 2010 page 3 sur 7 (une image fixe peut se substituer à ce symbole d'espace réservé). Sur l'iPad, les vidéos sont embarquées dans les pages web mobiles ; mais on ne peut toutefois pas en lancer ou en gérer plusieurs simultanément. Il n'est pas non plus possible d'avoir accès aux données vidéo pour, par exemple, les copier dans un élément <canvas> dans le but d'implémenter différents effets créatifs, comme on peut en voir dans les démonstrations présentées sur de nombreux sites dédiés au HTML5. Néanmoins, l'iPad permet de créer un player vidéo personnel muni des boutons de commande classiques, tels que lecture et pause, et d'afficher l'indicateur de durée de la vidéo avec le temps de lecture écoulé. Parmi les autres possibilités, on peut aussi citer celle du positionnement des données et de contrôle de la source de la vidéo dans une liste. Le tableau suivant présente certaines des fonctionnalités du HTML5 et leur prise en charge par des appareils mobiles récents : Attributs iPad iPod iPhone HTC Legend play() Oui Oui Oui Oui pause() Oui Oui Oui Oui seeking (événement) Oui Oui Oui Oui timeupdate (événement) Oui Oui Oui Oui canplay (événement) Oui Oui Oui Oui play (événement) Oui Oui Oui Oui src Oui Oui Oui Oui currentTime Oui Oui Oui Oui webkitSupportsFullscreen Non Non Non Non volume Non Non Non Non muted Non Non Non Non trueembeddedplay Oui Non Non Non copy video to canvas Non Non Non Non parallelvideo Non Non Non Non autoplay Non Non Non Non Apple a préféré ne pas implémenter l'élément auto play afin d'éviter des téléchargements non sollicités sur les réseaux cellulaires. L'utilisateur doit donc toujours commander la lecture via l'élément play(). Des images dynamiques en HTML5 grâce à l'élément Canvas Le nouvel élément HTML5 Canvas est une alternative supplémentaire à Flash Lite, afin de tirer parti de toutes les capacités multimédia d'un mobile. Ainsi, si on y associe SVG et javascript, les développeurs peuvent piloter les pixels à loisir. Il n'est donc pas surprenant que des salariés de Google se soient attelés à adapter pour le HTML5 la version open source du jeu Quake 2. Les limitations des processeurs mobiles actuels ne permettent pas de faire tourner des jeux en 3D tel que Quake, la fluidité des images étant insuffisante. Mais ce n'est qu'une question de temps. Le Nexus One de Google intègre, par exemple, un processeur cadencé à 1 GHz, qui devrait être assez puissant pour offrir la fluidité des images requises pour les jeux. MoMac France 2010 page 4 sur 7 Avec le HTML5, la possibilité de combiner l'élément Canvas et la vidéo va permettre de produire des effets incroyables à la volée et dans le navigateur, sans avoir besoin des habituels logiciels de production vidéo sophistiqués. Pour l'heure, de nombreuses boutiques en ligne proposent déjà des jeux en HTML5, par exemple Tetris, Asteroids et SpaceInvaders dans des versions adaptées pour les écrans de taille réduite. Ce type de sites pourrait s'imposer comme des alternatives ouvertes, et simple d'emploi, au concept à succès des App Stores - mais sans la procédure de filtrage. Elles seront d'ailleurs la seule alternative possible pour l'iPhone et l'iPad, dans la mesure où Apple n'est pas prêt à prendre en charge le format Flash. Les relations entre les API du HTML5 et les plates-formes mobiles Lorsque toutes les fonctionnalités HTML5 énumérées ci-dessus seront associées aux API proposées, on prendra la pleine mesure de la puissance du HTML5 sur les plates-formes mobiles. Déjà, GeoLocation, l'API de géolocalisation, a été implémentée dans plusieurs appareils mobiles dont l'iPhone, offrant aux développeurs un accès direct aux coordonnées GPS via le navigateur. Et ce n'est pas tout : l'idée est de créer des API pour chaque composant disponible sur les terminaux mobiles. On peut imaginer par exemple une API Capture qui serait en mesure de récupérer les données audio, vidéo et photo directement depuis l'appareil photo-numérique embarqué dans les smartphones. Une API qui ouvrirait aussi une large palette d'applications mobiles depuis le navigateur, à partir de données provenant d'applications de vidéoconférence, VoIP, voire même de réalité augmentée en temps réel. Dans les faits, Google donne déjà un avant-goût de ces possibilités, avec ses applications Google Maps et Street View, utilisant le GPS intégré aux smartphones. Enfin, d'autres API que celles- ci ont d'ores et déjà été définies, comme par exemple Contacts, qui donne accès à un carnet d'adresses unifié. Le stockage local avec HTML5 Lorsque l'on crée des applications fonctionnelles, la question du stockage des données est cruciale. Sans stockage en local, il reste possible de conserver des données de sessions grâce aux cookies, et de relier toutes les autres données des transactions à une base de données serveur telle que MySQL (ou même de compresser les données dans un seul cookie comme le font certains développeurs). Cependant, offrir un accès à une base MySQL sur serveur, de n'importe quel point, n'est pas toujours possible, notamment dans le cas d'une connexion trop lente voire défaillante. De même, dans d'autres cas, le stockage en local peut s'avérer très pratique pour conserver les données temporaires (de cache) lorsqu'un service web n'offre pas un accès continu et régulier, en raison de politiques d'utilisation telles que celles des API de réseaux sociaux (Twitter, par exemple). Avec deux API HTML5 dédiées - Web Storage et Web SQL Database -, il est possible de stocker les données d'applications en tant que paire clé/valeur (<key, value>), voire en tant que table de base de données relationnelle normalisée, accessible par des requêtes SQL en local, et de les rendre disponibles à tout moment pour des recherches, des récupérations ou des mises à jour. Disposer d'une base de données relationnelle SQL serait extrêmement pratique pour les programmeurs qui maîtrisent SQL. Cela permettrait aussi de porter, adapter des applications open source telles que celles disponibles sur SourceForge. MoMac France 2010 page 5 sur 7 Le stockage de contenu en local n?est pas le seul bénéfice de ces APIs : elles vont permettre de faciliter les fonctions de personnalisation et de proposer ainsi des services à plus forte valeur ajoutée pour l?utilisateur final. Le fait que Google arrête Gears, préférant donner la priorité au HTML5, est un signe fort que les capacités de stockage en local seront suffisantes pour répondre aux besoins des développeurs, quelles qu'elles soient. HTML5 et le Glisser-déposer Avec le HTML5, chaque élément d'une page peut être déplacé par glisser-déposer. Pour ce faire, les développeurs définissent des éléments auxquels est affecté l'attribut draggable="true". Par ailleurs, des événements tels que drag start et des API javascript telles que dataTransfer permettent aux développeurs d'implémenter le code désiré pour exécuter une action commandée par le déplacement d'un élément. Dans la sphère de l'internet mobile, l'interaction entre l'écran tactile et l'action intuitive de glisser-déposer joue un rôle important en termes d'ergonomie d'utilisation et d'intégration de l'application. Les éléments de formulaire HTML5 Le HTML5 définit d'autres types d'éléments de formulaires, par exemple la date, l'heure et la messagerie, pour n'en citer que trois. Un type d'informations grâce auquel le navigateur peut personnaliser l'interface utilisateur en vue de simplifier les interactions. Ainsi, l'iPhone peut automatiquement ajouter le symbole @ sur le clavier affiché sur l'écran lorsqu'il traite la saisie d'une adresse de messagerie. La saisie de dates conduira quant à elle à l'affichage du calendrier permettant de faire défiler les données jusqu'à la date concernée, économisant aux développeurs l'implémentation de ces fonctionnalités. Les Web Workers en HTML5 Avec les Web Workers, les développeurs peuvent lancer des tâches en arrière-plan ou implémenter certaines interactions avec l'utilisateur en mode asynchrone. Les performances de l'interface utilisateur s'en voient nettement améliorées, tout comme le traitement de données. Pour le moment, les Web Workers ne sont présent sur aucun navigateur mobile, mais l'arrivée prochaine des appareils à processeurs multi-core devrait voir cette fonctionnalité arriver sur les navigateurs mobiles. Structures et CSS3 en HTML5 Le HTML5 et les spécifications de feuilles de style CSS3 vont offrir une structure de balises améliorée et davantage de possibilités en termes de styles. Ces améliorations ne sauteront pas aux yeux d'emblée dans le résultat final, bien des développeurs web étant habitués à utiliser d'astucieuses pirouettes techniques pour résoudre les manques des versions précédentes du langage. Reste que le duo composé par le HTML5 et CSS3 va grandement faciliter la structuration et la mise en page, les coins arrondis devenant par exemple une fonctionnalité par défaut dans CSS3. Un gage de productivité accrue pour ces derniers, qui n'auront plus à trouver des moyens de contourner certaines difficultés, comme c'est leur lot avec les versions précédentes du HTML et de CSS. Et qui dit meilleure structure dit simplification pour les modifications et la maintenance. MoMac France 2010 page 6 sur 7 HTML5 : quelle prise en charge aujourd'hui sur les mobiles ? A l'évidence, le HTML5 a toutes les cartes en main pour changer le paysage de l'internet mobile, et supprimer les obstacles qui freinent aujourd'hui les développeurs d'applications web mobiles. L'engouement croissant pour le HTML5 est clair ; pour s'en assurer il suffit d'étudier sa prise en charge sur les smartphones actuels. Le contraste est marqué avec les téléphones moins récents qui utilisent d'anciennes versions de Safari et de WebKit. Pour établir le niveau de prise en charge d'un navigateur mobile ou d'un ordinateur, des tests ont été menés au niveau de l'API et du DOM, pour voir si cette prise en charge du HTML5 était détectée pour : les fonctions audio, vidéo, les codecs, la géolocalisation, les appstores hors ligne, les Web Workers, les éléments de sections, les groupes d'éléments de contenus, les éléments de sémantique textuelle (par exemple l'heure), les éléments de formulaires, et enfin les interactions entre les éléments et l'utilisateur. Le test ne révèle pas l'effet des restrictions actuelles indiquées dans ce présent document : par exemple, il ne montre pas clairement que l'élément vidéo de l'iPhone ne propose pas actuellement un flux vidéo totalement embarqué et contrôlable. Nokia N95 8GB Samsung GT M8800 HTC Legend - Opera Mini/5.0 PC Web Browser IE 8.0 BlackBerry 9000 Nokia E75 Nokia 5800 Nokia 6303 HTC Touch T8282 Samsung GT i8320 (H1) Sony ericsson E10 Android G1 (Android 1.5) Nokia N900 Palm Pre (Safari/532.2) iPhone / iPod OS 3.1.1/WK 528.18 iPad OS 3.2/WK 531.21 Google Nexus One (Build/ERE27, Android 2.1-update1) Desire A8181 (Build/ERE27, Android 2.1-update1) HTC Legend (Build/ERD79, Android 2.1-update1) HTML5 Mobile Browser Support MoMac France 2010 page 7 sur 7 Oui au HTML5 ! Il est peut-être un peu trop tôt pour démarrer l'implémentation de sites mobiles avec HTML5. Mais rien n'empêche de commencer à utiliser les éléments et fonctionnalités tels que Video et Canvas ou encore l'API GeoLocation. Si le HTML5 ne résoudra pas complètement le problème de fragmentation des différentes plateformes mobiles concurrentes, il fera office de puissant catalyseur, et rendra ainsi standard de nombreuses fonctionnalités. Les premiers signes montrent ainsi que grâce aux efforts du groupe WHATWG, ses spécifications font l'objet d'un travail bien plus dynamique que les versions précédentes proposées par le consortium W3C seul. Certaines spécifications HTML5 et nouveaux éléments et API risquent donc d'évoluer encore. Si l'on travaille dans un contexte de budgets de développement et de délais serrés, il peut donc être plus sage d'attendre avant de passer au HTML5, afin de disposer de spécifications davantage finalisées. Sauf si l'on souhaite être parmi les premiers à embarquer dans l'aventure. Pour tirer le meilleur parti d'un site mobile, toucher le plus large public et proposer la meilleure expérience utilisateur, il faudra encore et toujours employer des solutions spécialisées capables d'adapter pour l'appareil ou au navigateur le rendu et les fonctionnalités HTML5 prises en charge. A vous de tester ! Pour découvrir certaines fonctionnalités de HTML5 sur votre appareil mobile dès aujourd'hui, rendez-vous sur notre site : http://html5demo.momac.net Vous y trouverez certaines d'entre elles, notamment la vidéo et l'audio. Vous pourrez également faire un test de compatibilité de votre mobile avec le HTML5. Alex Rutgers est Directeur Technique au sein de www.momac.net , l?un des leaders européens pour la création de sites et applications mobiles. Suivez MoMac sur Twitter : twitter.com/momac A propos de MoMac Présent dans le domaine de l'internet mobile depuis près de 10 ans, MoMac est un expert reconnu en matière de développement de sites et d'applications mobiles. GoMedia, sa plateforme de publication mobile permet ainsi aux éditeurs de contenus de publier aisément des sites mobiles compatibles avec l'ensemble des standards actuels du marché. Avec aujourd'hui près de 600 sites internet mobiles, applications et portails opérateurs gérés grâce à sa solution, MoMac compte des clients prestigieux tels que : AFP, TF1, Havas Digital, le Ministère de l'Economie de l'Industrie et de l'Emploi, Sony BMG, Universal, MSN, Walt Disney... Société internationale, MoMac est présente en France, Royaume-Uni, Pays-Bas, Espagne, Allemagne, Belgique, Irlande, Suisse et Afrique du Sud, et dispose de bureaux à Paris, Londres et Rotterdam.

PARTAGER SUR

Envoyer le lien par email
2424
READS
9
DOWN
7
FOLLOW
2
EMBED
DOCUMENT # TAGS
#html5  #applications mobiles 

licence non indiquée


DOCUMENT # INDEX
WEB 
img

Partagé par  stanislas56

 Suivre

Auteur:momac
Source:www.momac.net