Je suis ému. Je me suis rendu compte, ce matin, que j'avais ma première "web application" dans mon iPhone. C'est l'occasion de faire un petit point sur HTML 5 et les
applications, tout en vous permettant d'atteindre des sommets dans la culture internétique.
Commençons par les applications HTML 5 ou « web
applications » ou « webapps »
Il existe 3 manières de faire quelque chose avec un
smartphone, une tablette, voire un ordinateur :
-
via le navigateur en utilisant l'internet et le web standard (avec une présentation des pages adaptée à la forme de
l'écran),
-
via une application traditionnelle (ou
native) installée sur votre appareil et adaptée à l'OS de ce dernier,
-
via une "web application" telle
que je découvre aujourd'hui !
Attention ! Je dis bien que je découvre les web applications
liées à HTML 5 aujourd'hui, pas HTML 5. Ce que je ne savais pas, c'est que HTML 5
permettait de stocker un bout de code informatique sur un appareil et beaucoup
de données (jusqu'à 5 Mo, je crois). Je croyais qu'il ne s'agissait
"que" d'une évolution majeure d'HTML (voir en fin de billet).
En fait, une application HTML 5 peut fonctionner sans
connexion internet et en apprenant ça, je suis resté sur le cul. Il y a de la
place.
Les intérêts des applications HTML 5 par rapport aux
applications natives :
-
il n'y a pas besoin de passer par des
machins comme l'Apple Store pour les avoir (ou les mettre à jour), une connexion à Internet suffit,
-
l'application est la même (ou presque) quel que soit
l'OS de votre machin,
-
les mises jours sont immédiates vu que le
logiciel est maitrisé par le serveur web.
Les inconvénients :
-
vous ne bénéficiez pas de la sécurité
liée au "store",
-
les traitements peuvent être plus lents
(vu la nécessité de transférer du code informatique en permanence et la non
utilisation d'un langage natif),
-
les applications sont beaucoup moins
fluides (ce qui est lié à la lenteur ci-dessus).
Chaque usage trouvera le mode de fonctionnement idéal. Par
exemple, un jeu d'animation ne pourra pas avoir une performance correcte en
HTML 5. Par contre, un lecteur de flux pourrait être meilleur en HTML 5 vu que
l'essentiel des traitements consiste à afficher des données en provenance du
web.
En fait, pour l'utilisateur, ça ne changera pas grand chose
: ce n'est pas lui qui décide. La contrainte est surtout pour l'entreprise qui
fournit l'application (en HTML 5, le volume des données transférées est
beaucoup plus important puisqu'il faut aussi transférer du code informatique :
les serveurs doivent être beaucoup plus puissants, ma bonne dame).
Avant d'entrer plus précisément dans la technique, je
vais m'offrir une digression. HTML 5 représente l'avenir, a priori. Il
n'empêche que c'est un important nouveau changement de direction prise par
l'informatique.
Rappelez-vous !
1. Jusqu'au début des années 80, l'essentiel des traitements
informatiques avait lieu au niveau des ordinateurs centraux. Les terminais
étaient idiots comme un directeur d'agence numérique saoul.
2. Ensuite, les ordinateurs individuels sont arrivés, avec
l'emblématique IBM PC. L'intelligence était portée par le terminal.
3. 15 ou 20 plus tard, internet s'est développé et des applications
nouvelles se sont développées, telle que Google Doc qui concurrençait un machin
comme Word avec une intelligence sur les ordinateurs centraux.
4. Une dizaine d'années plus tard sont arrivées les
smartphones tels que nous connaissons aujourd'hui, avec leurs applications en
local : l'intelligence est sur les terminaux.
5. Maintenant, HTML 5 arrive et l'intelligence est à nouveau
dans les serveurs centraux.
Je parle d'intelligence, mais c'est au niveau fonctionnel,
uniquement. Il est évident que c'est le progrès technique, d'une part au niveau
des terminaux et d'autre part au niveau des moyens de télécommunication qui permet tout cela, progrès technique accompagné d'une bonne couche de standardisation entre les différents industriels concernés.
L'heure est venue aux considérations techniques. Je
vais vulgariser des billets de vulgarisation. Si vous ne comprenez rien, c'est
que vous êtes très con. Désolé.
Tout d’abord, nous allons faire un tour chez Apple pour voir ce qu’ils disent des « Web Application » (que j’appelle
applications HTML 5) pour vous prouver que je ne raconte pas trop de conneries :
« Une application Web est conçue pour ressembler et se comporter comme une application native. Par exemple, elle est mise
à l'échelle pour s'adapter à la taille
de l'écran sur iOS. Vous pouvez adapter votre application web pour iOS ou, encore mieux,
pour la faire apparaître comme une
application native lorsque l'utilisateur
l’ajoute à l'écran d'accueil. »
Vulgarisons HTML 5 !
HTML est une espèce de langage de communication que le
serveur va utiliser pour dire au navigateur (Internet Explorer, Firefox,
Safari, Chrome, …) de ton terminal (ordinateur) comment afficher une page web. Par
exemple, quand tu lances mon blog, il va dire au navigateur : « Hé ! Ducon ! Ecrit « Partageons l’addiction »
en gros en haut. » Le navigateur est un logiciel spécifique qui
vous permet d’accéder au web. HTML est un standard de communication qui permet
à un serveur de s’adresser à n’importe quel terminal (et à son navigateur) de
la même manière.
Une des bases est la balise HTML, un truc va donner des
instructions, comme le « en gros » que je citais dans mon exemple.
HTML a été inventé par un rosbif dans les années 80, Sir Tim
Berners-Lee. C’est le gugusse qui a aussi inventé le web. J’aurais pu le faire
mais j’étais au bistro. Vous faites la confusion entre Internet et le web ?
Ce n’est pas très grave. Internet est le réseau de communication par lequel on
papote. Le web est ce qui permet qu’on parle tous la même langue et qu’on se
comprenne. Je vais schématiser : vous avez l'application Facebook sur votre smartphone. Pour causer avec le serveur Facebook, votre application Facebook passe par Internet mais pas par le web. Le web est ce machin qui permet d'afficher des pages web dans des navigateurs. Il y a d'autres applications qui utilisent Internet, comme la messagerie, le transfert de fichiers et des machins privatif comme Facebook que j'évoquais à l'instant.
Je ne vais pas m’appesantir sur tout ce bordel, j’avais déjà fait un billet de vulgarisation à propos de HTML, du web, des flux RSS et tout ça…
Je ne vais pas m’appesantir sur tout ce bordel, j’avais déjà fait un billet de vulgarisation à propos de HTML, du web, des flux RSS et tout ça…
HTML 5 est la dernière version d’HTML, la nouvelle norme, et
deviendra expressément recommandée à partir de 2014.
Petit 1 : HTML 5 définit la notion d’article qui est en
fait une partie d’une page web. Toutes les parties de votre « écran »
pourront vivre leur vie en toute indépendance. Imaginons que sur ce blog, on
considère trois parties : l’en-tête, la colonne à la con à droite et la
colonne du milieu où j’écris des conneries. Vous scrollez ici, le reste ne
bouge pas. Il y a un tas de truc comme ça qui permettent d’améliorer ou de
simplifier la gestion des pages. En gros, ça permet de remplacer en partie ce
qu’on appelle les CSS qui permettent d’organiser les pages.
Petit 2 : Javascrit est le langage qui nous permet de
rendre le navigateur assez intelligent pour être développeur dans une agence de
communication. Et ben avec HTML5, c’est encore mieux.
Petit 3 : l’utilisation de la géolocalisation,
actuellement usuelle par les applications natives, sera facilitée sur le web.
Petit 4 : Canvas est un machin qui permettra de
remplacer flash, pour dessiner, manipuler des images, bouger les oreilles, …
Petit 5 : le machin prendra en compte les audios et
vidéos encore mieux que Flash.
Voila pour le plus gros, en plus des « web application ».
HTML continue d’évoluer… En gros, certaines des extensions (on
peut considérer que flash en est une grosse) que vous avez dans les navigateurs
et certaines des applications de vos smartphones finiront dans le protocole
standard, au fur et à mesure que les industriels du secteur se mettent d’accord
au sein de leur groupe de travail et de normalisation (l’illustre W3C). Par
exemple, vous avez une application Google Drive qui permet de synchroniser les
documents : on peut supposer que, un jour, ce machin sera intégré au navigateur pour
standardiser cette synchronisation. En français : le protocole de
communication pour la synchronisation de document entre le terminal et "le cloud" deviendra standard.
Je vais résumer en empruntant la formule de l’illustre Fabien
Canu : « HTML5 c'est un mélange d'HTML, de
CSS et de JavaScript. On pourrait dire que c'est le terme qui remplace Web2.0. »
Que dire de plus ?
Dans les « webapp », il y a en fait une petite partie
de code qui est installée comme une application native (en Objectif-C pour
Iphone ou Java pour Android) qui permet de stocker les premières pages HTML
afin d’avoir une application qui fonctionne sans connexion internet, ne
serait-ce que pour dire aux utilisateurs : « Hé !
Connard, tu n’es pas connecté, comment veux-tu que ça marche ».
Les données de l’application peuvent être stockées en local
mais la standardisation n’en est qu’à ses premiers balbutiements.
Le progrès est en marche !
Et on ne va encore rien comprendre, je serai obligé de faire
des billets de vulgarisation et mon blog aura éternellement du contenu.
Je n’ai pas répondu à une question : qui est Fabien
Canu ? C’est un salarié d’une société sympathique au sein de laquelle il n’est
pas assez payé mais c’est normal, les deux patrons dépensent leurs sous au
bistro. Il est « concepteur web ». Il est aussi blogueur et j’ai
pompé une partie des conneries que j’ai narrées là sur deux billets où il
explique HTML 5 à sa grand-mère (première partie, deuxième partie). Bloguerollez-le et backtweetez-le.
Vous pouvez lire.
Pas facile de vulgariser et d'être rigoureux, mais en gros c'est bien vu.
RépondreSupprimerAvec les web applications, on a de la logique qui peut être répartie entre le client et le serveur cependant, ce n'est pas un retour au 100% serveurs centraux. Et on n'a pas forcément beaucoup de choses à transmettre. Les traitements locaux peuvent même décharger le serveur.
Et puis pour faire plaisir à disp, tu aurais pu dire que le HTML5 est la base du format ePub 2, donc un ingrédient essentiel des livres électroniques ! Tiens, j'ai même fait un ePub qui utilise un canvas pour dessiner :)
Oui, ce n'est pas 100% aux serveurs centraux, je parle bien de fonctionnement off line. Par exemple, j'ai l'espoir de voir un jour un lecteur de flux RSS en HTML5 avec lequel on puisse télécharger le contenu et le lire off line (dans le métro). C'est un peu comme un livre...
SupprimerRejoins le W3C ! Tu as raison !
RépondreSupprimerIl y a une buvette ?
Supprimer