Cours HTML5 Confoo.ca

Voici le matériel que j’ai utilisé pour le cours HTML5 avancé pour confoo.ca. En espérant que cela pourra vous être utile. C’est encore un Work in Progress. Certains exemples ne fonctionnent pas sur tous les navigateurs. N’hésitez-pas à commenter!

La licence des slides, codes et autres est Creative Comme BY SA 2.5. Vous pouvez les utiliser gratuitement, commercialement, et les modifier, mais vous devez dire que c’est moi qu’il les a créées initialement. Si vous les redistribuez, vous devez le faire avec la même licence (ou une licence compatible).

Slides de la présentation HTML5 pour Action TI Estrie

Hmmm… ça fait un bout de temps que je n’ai pas écrit ici… Manque de temps faut dire. Ceci dit, je prend toutefois le temps de mettre un petit lien vers les slides de la présentation sur HTML5 que j’ai donnée pour Action TI Estrie à Sherbrooke le 24 janvier.

Faire le Web, pas la guerre

La journée de conférence Make Web Not War fût très intéressante sur presque toute la ligne. En fait, le plus intéressant dans ce type de journée est la possibilité de rencontrer d’autres développeurs qui ont des projets super intéressants. Les organisateurs de Make Web Not War sont très dynamiques et ce fût fantastique de les côtoyer pendant l’événement. J’en profite d’ailleurs pour les remercier pour la conférence et de m’avoir fait confiance pour donner la présentation sur HTML5. Je sais que Microsoft essaie de se rapprocher des développeurs open source et Web et ils font une très belle job.

Voici mon petit compte-rendu de la conférence :

Commençons par le keynote de Joël Perras. C’était un bel aperçu global sur l’interopérabilité. La phrase « L’interopérabilité n’est pas juste une fonctionnalité, c’est un requis. » peut très bien résumer la présentation.

Pour le reste de la conférence, je suis allé dans la track technique, c’est là qu’il y avait les sessions qui me semblaient les plus intéressantes. J’aurais bien aimé par contre voir la session sur Windows 7 Mobile, mais malheureusement, c’était en même temps que la mienne ☹

Dans la track technique, la première présentation était celle de Morten Rand-Hendrikson avec The Unholy Quatern (Building Killer WordPress sites)

Il nous a présenté une technique de l’enfer pour rapidement créer des sites Web avec WordPress et Expression Web de Microsoft. Il nous donne la preuve que de se trouver une métho. rapide qui nous ressemble est l’une des choses les plus importante pour être le plus productif possible. C’est ce que je retiens de sa présentation en tout cas. En plus, c’est un gars très sympathique avec qui j’ai pu discuter après et avant la conférence.

La deuxième était celle de avec Rick Claus avec How to manage a wintel infrastructure from a comfortable CLI

Il nous a expliqué comment monter des configurations de sites Web en utilisant Powershell et IIS 7.0 avec la ligne de commande. Je me rappelle en avoir fait avec IIS 4 et VBScript dans le temps. C’est 100 fois plus simple maintenant : très bonne présentation encore une fois. Ce que je retiens est que si un jour j’ai à implanter / administrer plusieurs sites sur IIS 7, je le ferai avec Powershell. Vendu !

J’ai ensuite discuté avec deux des finalistes du concours For The Web, Timothy Dalby (Find a Home) et Francois Mazzerole du projet Projet Tholus J’ai particulièrement été impressionné par leur persévérance et leur attitude. Pour montrer que la migration à HTML5 était facile à faire, François à changé son Doctype de XHTML 1 Strict à celui de HTML5. Après avoir enlevé le xmlsn et changé xml :lang pour lang, son site validait déjà en HTML5 !

Malheureusement, j’ai fini par manquer deux autres sessions, dont celle de Guillaume Bouchard avec Search Engine Optimization for Dynamic Websites. Il paraît que c’était excellent, un des highlight de la journée. C’est vraiment poche que je l’aie manquée. Je pense que si c’est possible, je vais lui demander de venir la refaire en français à une réunion du W3Québec.

Suite à cela … It’s a WIN, WIN: ‘WordPress On Windows’ avec Brendan Sera-Shriar aka DigiBomb! Un autre présentateur dynamique qui nous a parlé de comment installer WordPress plus rapidement avec leWeb Installer de Microsoft. Le tout nous donnait quelques petites infos utiles et rapides (comme ne pas essayer la technique d’installation sur Windows XP).

C’était ensuite mon tour !

Je me suis rendu compte que ma présentation était l’une des plus attendue de la journée. La barre était haute ! J’ai voulu faire différent, et faire un tour de roue d’un maximum de fonctionnalité de HTML5, et donner un petit exemple de code avec chacune, question de donner un aperçu. Avec le peu de temps que j’avais, ce ne fût pas évident ! C’est aussi la première fois que je fais qqch de suffisamment gros pour recevoir des critiques en direct sur Twitter et la blogosphère. Je vous avouerai que le petit gars réservé que je suis a trouvé ça pas mal dur sur le coup, mais quelque part c’est très formateur. Il y a malheureusement pas assez de gens qui parlent de HTML5 et qui font des présentations techniques sur le sujet au Québec. Étant l’un des seuls, je me suis retrouvé avec un ostie de gros spotlight sur moi 😉 Finalement, j’aurais dû commencer par une démo, puis finir avec les bouts plus académiques… C’est sûr que j’ai l’air de me concentrer sur les côtés négatifs de ma présentation, mais je veux m’améliorer après tout !

J’ai malheureusement peu écouté la présentation suivante sur CSS3 et JQuery. Après ma présentation, j’avais de la misère à me concentrer (je vous dit, ça bouffe beaucoup d’énergie !).

Dernier truc, je crois que Make Web Not War, pour devenir un vrai événement bilingue, devrait avoir une série de sessions en français seulement et bien l’indiquer dans leur documentation. À mon avis, ils devraient le faire si possible même dans les autres villes canadiennes (cela aiderait à attirer des voyageurs Québécois dans les autres villes, et j’avoue que j’aimerais beaucoup voyager dans un train de nerds comme les gens de Toronto ont pu le faire). Il faut aussi que la version française s’appelle « Faire le web pas la guerre » et non « Make Web Not War ».

En tout cas, c’est la première fois que je suscite autant de réaction sur Twitter. J’ai eu plus de retweet en une journée que dans toute ma vie ! Ouffe !

Les diapos en version française s’en viennent bientôt, ainsi qu’une réorganisation et une correction de celles en anglais. Je ne vais pas vous donner de dates parce que j’ai plein d’autres choses à préparer aussi (et si ça se concrétise, vous allez le savoir c’est sûr !).

Chose certaine, Make Web Not War était une conférence super bien organisée, dynamique, intéressante et surtout différente du lot. Quand il y a qqch d’aussi bon et de gratuit en plus, il n’y a aucune raison de ne pas être de la partie. J’espère sincèrement y être l’année prochaine, quitte à y aller par un train de nerd si ce n’est pas à Montréal!

Conférence Make Web Not War

Il reste une semaine avant la conférence Make Web Nor War, organisée par Microsoft à Montréal. J’y donne une présentation sur HTML5. Il y a plein d’autres sujets intéressants comme le Cloud Computing et le Web mobile. Vous avez encore jusqu’à demain pour vous y inscrire (c’est gratuit en plus). Il me reste encore pas mal de travail pour monter la présentation et la fin de semaine de trois jours va certainement être utile. Je ne sais pas encore si je vais donner la présentation en anglais ou en français, mais ce sera fort probablement en anglais (une première pour moi !). Par contre, plusieurs présentations (de la track principale) seront traduites en direct en français J’espère vous y voir en grand nombre. Ça s’annonce pour être très intéressant. Je m’efforce en tout cas pour arriver avec des exemples d’HTML5 en plus de faire le tour de fonctions DOM et éléments sémantiques. Je suis loin d’être un expert en accessibilité, mais on fera aussi un tour rapide de ce que aria amène au HTML. 45 minutes, ce n’est pas beaucoup et va falloir que je parle vite. Vous pouvez aussi lire toutes les autres activités de l’événement sur le site de Make Web Not War. Les slides de ma présentation (en HTML5 évidemment) devraient être disponibles quelque part la semaine prochaine sur mon site personnel (dans la section laboratoire).

Lancement de docteurhtml5.com

Je n’ai jamais été fort en publicité et en lancement de nouveaux sites sur lesquels je travaille en dehors de la « job » (surtout que vous comprendrez que ça prends du temps que je n’ai pas pour faire la promotion de ces sites 😉 ) . Mais je crois que je peux dire que http://docteurhtml5.com est prêt à une consommation générale. Vous l’aurez deviné, ce site est une traduction de l’excellent site de tutoriels anglophone http://html5doctor.com. J’avais l’intention l’automne dernier de publier moi-même des tutoriels sur les nouvelles fonctionnalités d’HTML5. Toutefois, je manquais de temps et je ne voulais pas non plus réinventer la roue. J’ai donc proposé aux administrateurs de http://html5doctor.com de traduire leur site, au moins en partie. Après quelques mois de travail (très temps partiel, vous le comprendrez), et avec de l’aide de Chantal Ide (http://www.divetheweb.com), les quatre premiers articles sont maintenant en ligne sur http://docteurhtml5.com. Chantal et moi allons continuer d’ajouter des articles dans les semaines qui vont suivre. Idéalement, j’aimerais bien y ajouter du contenu exclusif francophone ! On verra. J’espère que vous trouverez le site à votre goût et que vous y trouverez des informations utiles. Surtout, et cela je le répète, si vous avez des commentaires et si vous trouvez des coquilles ou autres fautes d’orthographe, n’hésitez-pas à me contacter. Après tout, je suis un développeur dans l’âme en premier et traducteur seulement en second ordre. Si vous voulez nous donner un coup de main pour la traduction, n’hésitez pas non plus. Je traduis pas mal moins vite que les docteurs écrivent !

HTML 5 : Pourquoi les balises video et audio ne seront pas aussi intéressantes qu’elles pourraient l’être ?

Cette fois-ci je vais essayer d’être un peu moins négatif que la dernière fois, mais il faut quand regarder les choses en face : les balises audio et video ne vont pas simplifier le développement Web lorsqu’on travaille directement en HTML. La simplification, la centralisation et la réutilisation et l’utilisation d’une API sont hypothétiques et ne pourront se produire qui si plusieurs étoiles (dont celles de Microsoft et Apple) s’alignent dans le ciel. Peu probable…

Je m’explique :

En ce moment, en général, sauf peut-être pour les puristes, nous aurons une balise object, un balise embed et le plugiciel flash et un encodage audio – video supporté et payé par Adobe.

Avec video et audio, dans un monde idéal nous aurions un format audio et video ouvert et libre, le même pour tout le monde et une seule balise video / audio dont le visuel et les fonctionnalités sont contrôlés par le css / canvas et javascript. Beaucoup plus simple, mais problématique.

  1. Le support d’un format vidéo audio libre par tous est improbable : ce n’est ni dans l’intérêt de Apple (qui fait de l’argent avec aac et Quicktime), ni dans l’intérêt de Microsoft qui préfère wmv et Silverlight. Le seul format libre et sans brevet est ogg vorbis et theora. On parle de brevets inconnus pour expliquer qu’on ne le supporte pas mais faut pas être dupes, il peut y avoir des brevets sous marins sur à peu près n’importe quoi qu’on utilise en informatique, y compris l’air qu’on respire. Faites-moi pas brailler. Le pire, c’est qu’il semble (pour l’instant) que le Working Group HTML ne mettra pas ses culottes pour imposer un format libre.
  2. Le support même des balises videos et audios va à l’encontre des intérêts de Microsoft, c’est très peu probable que Internet Explorer la supporte un jour. Microsoft préfère Silverlight et je les comprends.

Pour empirer les choses, il y a aura des plates formes qui ne supporteront pas Flash et Silverlight et qui nécessiterons les balises video (je pense au iPhone en particulier, dont l’utilisation en peut plus être ignorée).

Pour être optimal et supporter tout le monde, cela nous prendra une balise video / audio avec Quicktime pour le iPhone, une autre balise video / audio avec ogg pour Linux et les plate formes libres, un object Flash pour Internet Explorer et un embed Flash pour les vieilles plate formes. Un paquet de Javascript pour que ce soit cohérent et je ne parle pas encore d’accessibilité ici qu’il faudra répéter pour chacune des plate formes s’il reste de l’argent. Avec l’historique d’écoute des spécialistes en accessibilité dans le Working Group HTML, je ne sais pas ce qu’il va se passer au niveau de l’accessibilité des balises video et audio… Le pire, ce ne sera pas possible de revenir à l’unique solution Flash puisque ça me surprendrait que Flash soit supporté sur toutes les plates-formes mobile. Avec Microsoft qui pousse très fort Silverlight, on risque d’avoir une plate forme de plus à supporter. Donc je récapitule : Deux video, deux object et deux embed. Oui, on peut générer le tout avec une librairie javascript, mais avouez que ça ne change pas grand chose pour les développeurs.

Dans les intranets se sera probablement plus simple : Silverlight seulement. En effet, Silverlight sera supporté par pas mal tout ce qui peut naviguer sur un intranet, sauf le iPhone, mais celui-ci ne sera probablement pas très conseillé en entreprise. Gageons que les plate formes mobiles d’entreprise (Blackberry et Windows Mobile) vont finir par supporter Silverlight.

Un dernier point : une autre raison que les balises video et audio ne seront pas populaires partout c’est qu’elle faciliterons les téléchargements des vidéos et des audios. Certains sites Web voulant protéger leurs propriétés intellectuelles voudront rendre cette activité plus difficile et je ne crois pas que videos et audio offres des capacités en ce sens. Probablement que c’est possible de coder le tout en javascript avec des clés uniques dans le temps et du streaming, mais je crois qu’il sera plus simple d’utiliser les solutions actuelles en Flash qui seront plus faciles à intégrer (juste d’avoir le vidéo dans le Flash rend invisible le url dans la source HTML, ce qui empêche au moins une partie des téléchargements).

Il faut aussi se poser la question : lorsqu’on ajoute une nouvelle fonctionnalité dans un langage, est-ce qu’on rend possible quelque chose qui n’était pas possible avant ou est-ce que la nouvelle manière est tellement plus simple que l’ancienne manière sera vite abandonnée ? Dans ce cadre, ce n’est pas pour tout de suite que le balise video et audio vont améliorer les choses!

En regardant tout cela, si on était cynique, on pourrait en arriver à la conclusion que la seule raison valable d’avoir les balises videos et audio est pour que Apple, dans sa magnanime et contrôlante personnalité, n’ait pas à supporter Flash dans le iPhone. Si on parle du dernier point que j’ai amené sur le téléchargement mondain, on pourrait parier que le développeurs aient à faire générer les balises videos et audios côté serveur seulement lorsque l’agent utilisateur est Safari de iPhone… facile à contourner, mais bon. Je fais du Web depuis 1996, j’en ai vu des pires…

N’hésitez-pas à complètement détruire les arguments ci-haut. En fait je ne demanderais que cela 😉 (J’aime bien me l’avocat du diable une fois de temps en temps, ce n’est pas mauvais pour la discussion, après tout!)

Le danger des écosystèmes profonds et souterrains ou Internet Explorer 6 / Windows XP / Word 43VER

Personne à l’intérieur d’un bon esprit va vouloir réécrire son système ERP. Et pourtant, il y a de bonnes chances que les interfaces utilisateurs de type Web (mon côté puriste ne les appelleraient pas comme cela, mais bon) soient codées en dur pour Internet Explorer 6. Quand on a un grand succès et qu’on veut empêcher d’autres de coper notre succès par des moyens techniques, lorsqu’on voudra changer de technologie on va tomber sur plein de petits problèmes assez sournois merci au niveau de la rétrocompatibilité. Et on devient son propre pire compétiteur…

Et ce n’est pas que Internet Explorer 6. En fait pas tellement Internet Explorer 6, le vrai centre où tout est relié est Word et Excel (ou Office, mais surtout Word et Excel). Pour la plupart des gens qui travaillent avec un ordinateur, le logiciel le plus souvent utilisé n’est pas un navigateur Web, c’est Word et Excel. Et tout s’y intègre, tout est plogué sur Word et Excel, même la gestion de contenu Web. Le copy paste Word / Web qui amène avec lui la problématique ISO-8859-1 vs Windows 1252. Heureusement que WordPress transforme les guillemets en &8217;, parce que je suis coupable moi même d’utiliser Word pour écrire des articles. C’est beaucoup plus convivial qu’un textarea dans un gestionnaire de contenu, même pour WordPress.

Imaginez que vous voudriez supprimer Word au nom des standards ouverts, vous tomberiez sur plein de problèmes : tout est plogué sur Word. Ton lecteur d’écran ? Marche juste avec Word. Ton outil de gestion de finance, exporte en Excel. Les standards ouverts ne servent à rien s’ils ne sont pas implémentés. J’aurais tendance à dire que pour une moyenne à grosse entreprise, la plupart des systèmes informatiques sont plogués à Word et que si vous enlevez Word, ils ne fonctionneront plus. OpenOffice n’a certainement pas les mêmes API, et les reverse enginerer est sûrement épouvantable, au moins autant que le format .doc lui-même. (Quoique Alfresco essai de le faire pour Sharepoint).

De cette manière, je n’ai pas beaucoup de difficulté à dire que Office a un écosystème aussi gros que le Web, du moins en entreprise. Vous pourriez faire supporter par OpenOffice les standards d’accessibilité pour les connecter au système de texte à voix, ce dernier va probablement mieux marcher avec Word et Windows, qui ont leur propre standard. (Remarque, j’ai peut-être tort et je n’ai pas vérifié, je suis blogueur, pas journaliste, mais j’expose ceci pour faire suivre un raisonnement, pas représenter la réalité dans ses détails). À la maison, moins de choses nous obligent à utiliser Word. À part échanger des documents avec le bureau. C’est un format d’échange de documents passablement utilisés. Mais on peut utiliser autre chose, OpenOffice, ou des documents purement Web, dans certains cas éloignés des PDFs.

Office a été choisi par beaucoup de monde et je suis pas mal certains que nous sommes avec pendant assez longtemps encore. (Ça ne change pas qu’au niveau interface, il est certainement très correct et encore pas mal mieux que Google docs, qui lui a son propre écosystème).

Quand vous choisissez un produit, une solution, vous vous ploguez sur son écosystème. Il est fort possible que plein d’autres décisions soient influencées par cet écosystème. Si, par exemple, tous les éléments de cet écosystème rendent plus complexe et plus coûteuse vos opérations au jour le jour et que venu le jour où les limites de votre patience sont dépassés vous risquez de souffrir (votre portefeuille et votre mental probablement aussi). Placer une entreprise dans un écosystème, c’est comme de mettre une grenouille dans l’eau et de la chauffer tranquillement. Il vaut mieux s’assurer que la température cible ne soit pas fatale.

C’est la grosse question, l’éléphant dans la salle de réunion, pour les outils du cloud computing aussi. Les gens ont encore peur de cet écosystème par contre, et il n’est pas tout à fait évolué, trop Mammouth encore. Mais quand tout le monde va avoir donné ses données à un fournisseur (probablement qu’il y en aura un qui sortira du lot, comme Microsoft l’a fait auparavant), ce sera difficile de se sortir de son pouvoir.

En gros, si les morceaux de l’écosystème ne sont pas déploguables et ne respectent pas des standard ouvert, vous aurez des problèmes lors des mises à niveau et des remplacements. Les coûts risquent d’être élevés. Mais vous avez le choix, je ne les comprends pas encore, mais il doit y avoir des avantages à choisir des standards opaques. En fait oui, il y a des avantages : un certain nombre de choses fonctionnent out of the box. Vous ne partez pas de rien.

Mais toute cette intégration va à l’encontre de la compartimentation des outils logiciels, fondement des architecture orientés services. Quand on réussit à avoir une vraie architecture orientée services (ou plutôt dans le cas des contenus standardisé (ouvertement) une architecture orientée ressources, c’est plus facile de choisir une composant qui respecte le standard et choisir celui qui est le meilleur et non celui-qui vient avec la solution ou un de ceux qui fonctionne avec l’écosystème et qui est fortement intégré lui aussi. Les interfaces utilisateurs des outils se ventant d’être des architectures orientés services ont tendances à ne pas respecter la philosophie de base, mais bon je sors du sujet (il y en avait un ?)

On ne choisi pas le meilleur produit, on choisi le meilleur qui s’intègre avec notre architecture. Par contre, si on suivait des standards ouverts simples (je dis simples, parce qu’il y a des standards ouverts foutaisement compliqués), on aurait plus de choix. (Des fois trop c’est comme pas assez, mais bon…)

Personnellement, je pense que le HTML (même le 5) est trop mal foutu pour créer une base à un nouvel écosystème. Par contre je pense que les navigateurs sont la base de l’écosystème du cloud computing (côté client en tout cas, regardez, je parlais de Word, un logiciel client, c’est pourtant probablement l’outil qui a le plus d’impact sur les architectures d’entreprise et ça me surprendrait qu’ils soient présent dans les graphiques d’architecture, remarquez, moi non plus je ne le mets pas, il est comme on peut dire implicite). Non, je retire ce que j’ai dit, HTML est assez mal foutu pour faire parti d’un écosystème complexe, .doc a bien réussi, c’est clair que HTML peut le faire aussi. Il faut juste bien définir tous ses quirks et tous ses bogues et ses mauvaises manières de faire et on pourra bâtir n’importe quoi dessus, y compris des patentes mal faites et épouvantables, mais qui vont fonctionner suffisamment bien pour nous faire sauver plus de temps qu’il nous en fait perdre. Mouaip, c’est bien ce que HTML 5 est en train de faire hein? Là voilà la recette secrète de Google, définir les bogues pour pouvoir bien construire par dessus!

C’est drôle, parce qu’il faut regarder la fondamentale inertie des systèmes informatiques pour bien comprendre toute l’affaire.

J’ai un pool énorme de documents mal foutu (en .doc ou .html) et je veux les garder utilisables dans le futur (pérennité), et je veux même en créer d’autres de la même manière parce que j’y suis habitué. Je veux aussi créer un paquet de trucs qui les utilise parce que les contenus de tous ces documents sont la source de l’intelligence que je veux utiliser.

En fait, ce qui fait qu’il est difficile de ne plus utiliser l’écosystème Word, ce n’est pas ou peu le format .doc, mais bien les couches applicatives par dessus. De la même manière, on pourrait utiliser un format libre et ouvert (mettons comme le HTML) le rendre suffisamment moche pour avoir besoin de créer des couches par dessus pour faire du vrai travail et ensuite c’est cette couche sur lequel un écosystème se créer et qui ensuite peut forcer à utiliser certains produits faisant parti de cet écosystème. Il faudrait que cette couche par dessus soit aussi ouverte et standardisée que celle en dessous et n’appartienne à aucun revendeur. En fait, lorsqu’on travaille avec des outils de portail, c’est un peu aussi ce qui se passe. Pour être capable de faire fonctionner la personnalisation (comme exemple les boîtes minimisables dans un portail) on ajoute un paquet de javascript dont l’utilisation se fait par génération (outils de portlets de base, JSF sur les portails Java, ou encore du .net comme les Web parts de Sharepoint).

Ces morceaux s’intégrent mal au concept de flux de documents et sont difficilement personnalisables (je parle en termes de programmation CSS) et il faut utiliser les outils des revendeurs au lieu des standards HTML et CSS que l’on serait supposé utiliser normalement. Et je ne parle pas des problèmes que cela cause aux outils d’accessibilité, parce que ceux-ci sont plogués sur le standard de la technologie de base et non pas celle de la couche au dessus. Quoique cela pourrait changer. En fait j’imagine un jour ou l’on pourrait ploguer une technologie d’assistance à l’une de ces couches applicatives au lieu de HTML et rendre cette couche plus accessible que le HTML lui même. Ce serait vraiment Mal de faire cela et j’espère n’avoir donné l’idée à personne. Par contre, j’ai l’impression que ce serait pour le moins très compliqué…

Les outils de portails n’ont pas tellement bien fonctionné en industrie sauf dans les cas où l’on met l’effort nécessaire (c’est pourquoi ceux qui comprennent que mettre beaucoup d’énergie et de gouvernance dans un projet portail d’entreprise (et de comprendre leurs limitations et leurs forcent) finissent par réussir à avoir qqch de fonctionnel et qui réponds aux besoins, je le sais j’ai réussi deux fois dans ma carrière à contribuer à faire marcher Websphere Portal, et là je vais peut-être m’attaquer à Sharepoint – watch this space).

Pour dire que si l’on veut gagner les coeurs de tout le monde, pas juste les architectes d’entreprise, il va falloir trouver une couche applicative par dessus le HTML qui est intéressante pour les développeurs autant pour les technos propriétaires que libres. Attention, la techno elle-même pourrait être libre et ça ne changerait rien, si elle se plogue super facilement aux services de qqun (du cloud computing tiens!) et qu’elle facilite l’appropriation des données (et c’est là le champs de bataille) on va tous être pris à utiliser cet écosystème dans le futur. Dans un autre ordre d’idée, même si tout le monde pourrait revendre par exemple JBoss, personne le fait parce que l’expertise du produit appartient à une seule compagnie. Si la création elle même de la couche applicative est suffisamment complexe, pas personne d’autres que son créateur va pouvoir se l’approprier. Pour qu’elle soit complexe, cela va prendre une couche de base moche et mal foutue, c’est-à-dire HTML + CSS + Javascript + DOM.

Cette pattente là super compliqué, mais facile à utiliser sera accessible par trois morceaux de technologies : les navigateurs (équivalent de Word), les moteurs de recherches (le système d’exploitation) et les outil de cloud computing (l’équivalent de toutes les applications qui font parti de l’écosystème). (Bon ok, ma comparaison est bouetteuse, mais bon… je voulais montrer un point). Cette couche applicative devra être aussi facile d’utilisation que Visual Basic si on veut qu’elle réussisse (je pense que Visual Basic est l’une des raisons pourquoi l’écosystème Word est si grand en ce moment, mettons que c’est .NET maintenant, une très bonne évolution).

La même raison pourquoi le format .doc est si mal foutu, accable le HTML, le don’t break the Web, ou en français la rétrocompatibilité. Aussi le pave the cowpath, ou encore en français, le continuer à faire les mêmes erreurs parce que c’est plus facile. (Bon, je l’ai dit ce que je pensais des orientations du WG de HTML et pourquoi je ne me sens pas capable d’y participer intelligemment et positivement).

XHTML a essayé de briser ce cercle vicieux et à échoué lamentablement, je dirais qu’à cause de manque de support de application/xml+xhtml des outils de l’écosystème Word (les gestionnaires de contenus où le copy paste Word est mandaté, à commencer par Frontpage). Ben oui, encore Word, on est chanceux que l’encodage de base du Web ne soit pas Windows-1252.

Il faudrait donc, que quelqu’un crée cette couche avant qu’un revendeur le fasse, la rende facilement utilisable avec un support génial chez tous les éléments de l’écosystème et out-Microsfter Microsoft et Google. Je pensais que HTML5 serait cette technologie et qu’on aurait pas besoin de créer une couche applicative je suis de moins en moins certain que c’est possible. Je pense que HTML 5 + CSS 4 + Javascript x devraient avoir des composants natifs qui font la même chose qu’un GWT, un JSF ou un ASP.NET et standards + un mapping avec un langage côté serveur qui remplacerait la partie vue des JSP, ASP et PHP de ce monde. (Imaginez, le langage de vue, (dans le sens modèle vue contrôleur) serait le même que vous travailliez en Java, en PHP, en C# ou en Ruby… ça ça serait cool! Pour voir à quoi je pense que ce langage devrait ressembler, regarder la technologie Facelets (ça se plogue avec JSF). Mais pour faire cela, ça prendrait de la vision et beaucoup beaucoup beaucoup d’énergie et d’argent, du genre à ce qui a servi à créer Java dans les années 90s.

Tout ça aussi pour dire que pour sortir IE 6 des entreprises (et par conséquent Windows XP) va falloir beaucoup d’effort encore et que cela va prendre du temps! et que pour faire mieux que HTML 5 faudrait encore plus d’efforts et de temps (et probablement une vision moins fermée du Web que celle des revendeurs de navigateur Web) ! Finalement Karl a raison, nous sommes tous dans nos grottes.