par
Hywan » 25 févr. 2009, 17:56
Hey

,
Tu tentes d'ouvrir la boîte de Pandore là … Bon, on va essayer d'être succinct et au maximum précis.
Déjà, il faut connaître les différence entre HTML et XHTML [0], donc il faut bien comprendre ce qu'est XML et ce qu'est HTML. Je ne ferai pas l'historique ici, ce serait trop long. On va juste considérer HTML 5, ce sera suffisant.
On va vite traiter le cas CSS 3. Comme tu peux le voir au W3C [1], il y a des modules qui sont terminés (
Recommandation ou
Candidate Recommendation), en passe de l'être (
Proposed Recommendation ou
Last Call) ou en chantier (
Working Draft).
Il faut comprendre que la norme 3 de CSS apporte énormément de choses par rapport aux normes précédentes (comme la 2 ou la 2.1). On voit qu'on a des priorités pour valider les différents modules et qu'elles sont respectées,
i.e. les priorités les plus hautes sont traitées en urgence.
Par contre, ce n'est pas parce qu'une recommandation n'est pas encore terminée (ou en passe de l'être), qu'elle n'est pas dores et déjà intégrée dans les navigateurs. Par exemples, les modules sur les transitions [2] et les animations [3] sont encore à l'état de brouillon, mais Webkit y travaille depuis plusieurs mois et on a des résultats très impressionnants.
Il faut bien comprendre que la plupart des membres des groupes de travail sont employés chez les différents navigateurs (Mozilla, Apple, Microsoft, Opera etc.) ou travaillent dans d'autres entreprises, ou simplement individuels. Mais on trouve beaucoup de développeurs Mozilla, Apple et Opera. Pourquoi ? C'est très simple. Déjà, ils sont très bien placés pour écrire les standards car ce sont des gens de « terrains » (dans le bon sens du terme), et ils sont bien placés pour faire des implémentations et qualifier leurs intégrations (faisable ou pas ?). Par exemple, Opera travaille souvent comme ça, il développe un module, et disent : « Vous voyez, ça marche, on l'a fait », et donc les autres disent : « Ah ok, très bien, sauf que gna gna et gna ». On évolue comme ça. Bien sûr, ce n'est pas systématique, mais je grossis le trait pour que tu comprennes.
Donc pour CSS 3, les modules principaux sont déjà intégrés. Par contre, c'est souvent à l'état de propriétés propres aux navigateurs (
i.e. préfixées par
-moz,
-webkit etc.) ; mais on pourra chercher dans les documentations l'évolution précises des choses [4] [5] etc.
Le cas HTML 5 … hmm, c'est plus compliqué. Il faut voir qu'avec cette paire HTML/CSS précède un lot d'autres nouveaux standards : SVG a bien le vent en poupe, ARIA marche à grand pas, MWI (
Mobile Web Iniative) a de plus en plus d'importance, RFD (et RDFa) même histoire, SMIL redevient intéressant etc. On a aussi des technologies qui fusionnent, à l'
instar de XForms 2.0 qui passe dans HTML 5 (même si les spécifications vont rester dissociées un moment) [6] etc.
Donc ce n'est pas juste l'histoire de l'HTML 5, c'est tout un mouvement qu'il ne faut pas déséquilibrer.
En ce qui concerne l'HTML 5, il y a de très grosses nouveautés très intéressantes (comme la balise <video> ou <audio> qui sont bien à la mode). On trouvera une petite vidéo de notre cher Hixie [7]. Bien sûr, les navigateurs s'efforcent d'implémenter ces nouveautés tant attendues par la communauté de développeurs Web. Gecko en supporte une bonne partie, Webkit aussi et Presto bien sûr. Trident est toujours en retard, mais il fait des efforts. Ah oui, j'ai oublié de préciser qu'il faut oublier CSS 3 dans IE 8+ … Microsoft supporte seulement (et enfin !) la spécification 2.1, c'est déjà pas mal.
L'écriture de la spécification HTML 5 prend du temps car elle est loin d'être simple. Le plus gros est déjà fait et je pense qu'on attaque la fin. 2011 … moui, ou pas. C'est très difficile de donner une date de fin. Mais certaines balises sont déjà décrites de manière très précise et ça ne changera pas. C'est pourquoi la plupart des moteurs de rendu (
layout engine ou LE) implémente déjà une partie de l'HTML 5. Ce que ça implique, c'est qu'il ne faut pas attendre la validation totale de la spécification pour commencer à utiliser l'HTML 5. Même Trident en supporte une partie, c'est dire

.
SVG est trop cool aussi. Ça fait un moment que ça existe, mais il est de plus en plus riche et on commence à faire des choses intéressantes, surtout en le couplant avec Javascript.
Pareil pour ARIA. Le Javascript devient plus puissant, mais aussi plus accessible.
Bref, les nouveaux standards sont orientés dynamisme.
Alors pour l'utilisation … Personnellement, je vais commencer à coder en HTML 5 (d'ailleurs, je le fais déjà pour des petits sites). Pourquoi ? Parce que la plupart des navigateurs en supporte une partie, donc t'en qu'on reste dans de l'« HTML 4.01 optimisé », ça sera très bien compris, pas de soucis. Si on veut s'attaquer aux vidéos, audios, canvas etc., j'attendrais encore un peu, genre 6 à 8 mois, voir comment les choses évolues du côté de IE 8 (car c'est toujours le
E-blue qui dicte les tendances).
Si on veut intégrer du CSS 3, … bon. Qu'est-ce qui pourrait être gênant ? Les nouvelles propriétés de
layout (comprendre de positionnement, comme les flux de position, les colonnes etc.) peuvent être très gênantes car visuellement importante. En effet, si on a un site sur 3 colonnes, et que l'utilisateur n'a qu'1 seule colonne, c'est vexant. Par contre, si on utilise les propriétés de texte (comme les effets d'ombre) ou d'animation, c'est plus du gadget.
Il faut donc réfléchir de cette façon : qu'est-ce qui est vitale pour l'utilisateur ? Une page Web avec un bon positionnement. On peut parler de version amoindrie, c'est le minimum. Ensuite, les nouveaux standards déjà implémentés peuvent servir à enjoliver la page. Donc deux cas : pour un utilisateur à jour, ce sera super, tout beau, tout neuf, et pour un utilisateur un chouilla en retard, ce sera comme avant, aucune différence, donc ça ne peut pas lui faire de mal.
Pour l'instant, il ne faut pas utiliser entièrement de l'HTML 5 (quoi que) ou du CSS 3 car ils ne sont pas supportés entièrement. Mais HTML 4.01 CSS 2.1 ne l'est pas non plus (si si, il reste toujours des petits détails …). On peut commencer à l'instaurer pour effectuer la transition.
Voilà, on va conclure là-dessus : il y a quelque mois, on n'était en train de lire les brouillons, maintenant c'est la transition car on a des bases solides sur lesquelles s'appuyer, c'est à dire que les bêta des navigateurs supportent déjà une bonne partie des parties fixes des spécifications (et c'est déjà important). J'espère que d'ici 1 an, la majorité (90 %) de l'HTML 5 sera supporté, mais je peux rêver. Mais franchement, les grosses nouveautés sont : vidéo, audio, formulaire, canvas,
web worker. Pour les sections imbriquées, les balises de sorties, de métrique etc., c'est moins important pour le quotidien (même si elles ont une importance hein) et c'est d'ailleurs une priorité d'implémentation plus faible !
Donc : nous vivons une période de transitions, à nous de nous intéresser aux standards et de commencer l'utilisation de l'HTML 5 tout doucement.
Est-ce que j'ai répondu à ta question

?
[0]
http://www.whatwg.org/specs/web-apps/cu ... l-vs-xhtml
[1]
http://www.w3.org/Style/CSS/current-work
[2]
http://www.w3.org/Style/CSS/current-work#transition
[3]
http://www.w3.org/Style/CSS/current-work#animation
[4]
https://developer.mozilla.org/en/CSS
[5]
http://webkit.org/projects/css/index.html
[6]
http://www.whatwg.org/specs/web-apps/cu ... and-xforms
[7]
http://www.whatwg.org/demos/2008-sept/
Hey :-),
Tu tentes d'ouvrir la boîte de Pandore là … Bon, on va essayer d'être succinct et au maximum précis.
Déjà, il faut connaître les différence entre HTML et XHTML [0], donc il faut bien comprendre ce qu'est XML et ce qu'est HTML. Je ne ferai pas l'historique ici, ce serait trop long. On va juste considérer HTML 5, ce sera suffisant.
On va vite traiter le cas CSS 3. Comme tu peux le voir au W3C [1], il y a des modules qui sont terminés ([i]Recommandation[/i] ou [i]Candidate Recommendation[/i]), en passe de l'être ([i]Proposed Recommendation[/i] ou [i]Last Call[/i]) ou en chantier ([i]Working Draft[/i]).
Il faut comprendre que la norme 3 de CSS apporte énormément de choses par rapport aux normes précédentes (comme la 2 ou la 2.1). On voit qu'on a des priorités pour valider les différents modules et qu'elles sont respectées, [i]i.e.[/i] les priorités les plus hautes sont traitées en urgence.
Par contre, ce n'est pas parce qu'une recommandation n'est pas encore terminée (ou en passe de l'être), qu'elle n'est pas dores et déjà intégrée dans les navigateurs. Par exemples, les modules sur les transitions [2] et les animations [3] sont encore à l'état de brouillon, mais Webkit y travaille depuis plusieurs mois et on a des résultats très impressionnants.
Il faut bien comprendre que la plupart des membres des groupes de travail sont employés chez les différents navigateurs (Mozilla, Apple, Microsoft, Opera etc.) ou travaillent dans d'autres entreprises, ou simplement individuels. Mais on trouve beaucoup de développeurs Mozilla, Apple et Opera. Pourquoi ? C'est très simple. Déjà, ils sont très bien placés pour écrire les standards car ce sont des gens de « terrains » (dans le bon sens du terme), et ils sont bien placés pour faire des implémentations et qualifier leurs intégrations (faisable ou pas ?). Par exemple, Opera travaille souvent comme ça, il développe un module, et disent : « Vous voyez, ça marche, on l'a fait », et donc les autres disent : « Ah ok, très bien, sauf que gna gna et gna ». On évolue comme ça. Bien sûr, ce n'est pas systématique, mais je grossis le trait pour que tu comprennes.
Donc pour CSS 3, les modules principaux sont déjà intégrés. Par contre, c'est souvent à l'état de propriétés propres aux navigateurs ([i]i.e.[/i] préfixées par [i]-moz[/i], [i]-webkit[/i] etc.) ; mais on pourra chercher dans les documentations l'évolution précises des choses [4] [5] etc.
Le cas HTML 5 … hmm, c'est plus compliqué. Il faut voir qu'avec cette paire HTML/CSS précède un lot d'autres nouveaux standards : SVG a bien le vent en poupe, ARIA marche à grand pas, MWI ([i]Mobile Web Iniative[/i]) a de plus en plus d'importance, RFD (et RDFa) même histoire, SMIL redevient intéressant etc. On a aussi des technologies qui fusionnent, à l'[i]instar[/i] de XForms 2.0 qui passe dans HTML 5 (même si les spécifications vont rester dissociées un moment) [6] etc.
Donc ce n'est pas juste l'histoire de l'HTML 5, c'est tout un mouvement qu'il ne faut pas déséquilibrer.
En ce qui concerne l'HTML 5, il y a de très grosses nouveautés très intéressantes (comme la balise <video> ou <audio> qui sont bien à la mode). On trouvera une petite vidéo de notre cher Hixie [7]. Bien sûr, les navigateurs s'efforcent d'implémenter ces nouveautés tant attendues par la communauté de développeurs Web. Gecko en supporte une bonne partie, Webkit aussi et Presto bien sûr. Trident est toujours en retard, mais il fait des efforts. Ah oui, j'ai oublié de préciser qu'il faut oublier CSS 3 dans IE 8+ … Microsoft supporte seulement (et enfin !) la spécification 2.1, c'est déjà pas mal.
L'écriture de la spécification HTML 5 prend du temps car elle est loin d'être simple. Le plus gros est déjà fait et je pense qu'on attaque la fin. 2011 … moui, ou pas. C'est très difficile de donner une date de fin. Mais certaines balises sont déjà décrites de manière très précise et ça ne changera pas. C'est pourquoi la plupart des moteurs de rendu ([i]layout engine[/i] ou LE) implémente déjà une partie de l'HTML 5. Ce que ça implique, c'est qu'il ne faut pas attendre la validation totale de la spécification pour commencer à utiliser l'HTML 5. Même Trident en supporte une partie, c'est dire ;-).
SVG est trop cool aussi. Ça fait un moment que ça existe, mais il est de plus en plus riche et on commence à faire des choses intéressantes, surtout en le couplant avec Javascript.
Pareil pour ARIA. Le Javascript devient plus puissant, mais aussi plus accessible.
Bref, les nouveaux standards sont orientés dynamisme.
Alors pour l'utilisation … Personnellement, je vais commencer à coder en HTML 5 (d'ailleurs, je le fais déjà pour des petits sites). Pourquoi ? Parce que la plupart des navigateurs en supporte une partie, donc t'en qu'on reste dans de l'« HTML 4.01 optimisé », ça sera très bien compris, pas de soucis. Si on veut s'attaquer aux vidéos, audios, canvas etc., j'attendrais encore un peu, genre 6 à 8 mois, voir comment les choses évolues du côté de IE 8 (car c'est toujours le [i]E-blue[/i] qui dicte les tendances).
Si on veut intégrer du CSS 3, … bon. Qu'est-ce qui pourrait être gênant ? Les nouvelles propriétés de [i]layout[/i] (comprendre de positionnement, comme les flux de position, les colonnes etc.) peuvent être très gênantes car visuellement importante. En effet, si on a un site sur 3 colonnes, et que l'utilisateur n'a qu'1 seule colonne, c'est vexant. Par contre, si on utilise les propriétés de texte (comme les effets d'ombre) ou d'animation, c'est plus du gadget.
Il faut donc réfléchir de cette façon : qu'est-ce qui est vitale pour l'utilisateur ? Une page Web avec un bon positionnement. On peut parler de version amoindrie, c'est le minimum. Ensuite, les nouveaux standards déjà implémentés peuvent servir à enjoliver la page. Donc deux cas : pour un utilisateur à jour, ce sera super, tout beau, tout neuf, et pour un utilisateur un chouilla en retard, ce sera comme avant, aucune différence, donc ça ne peut pas lui faire de mal.
Pour l'instant, il ne faut pas utiliser entièrement de l'HTML 5 (quoi que) ou du CSS 3 car ils ne sont pas supportés entièrement. Mais HTML 4.01 CSS 2.1 ne l'est pas non plus (si si, il reste toujours des petits détails …). On peut commencer à l'instaurer pour effectuer la transition.
Voilà, on va conclure là-dessus : il y a quelque mois, on n'était en train de lire les brouillons, maintenant c'est la transition car on a des bases solides sur lesquelles s'appuyer, c'est à dire que les bêta des navigateurs supportent déjà une bonne partie des parties fixes des spécifications (et c'est déjà important). J'espère que d'ici 1 an, la majorité (90 %) de l'HTML 5 sera supporté, mais je peux rêver. Mais franchement, les grosses nouveautés sont : vidéo, audio, formulaire, canvas, [i]web worker[/i]. Pour les sections imbriquées, les balises de sorties, de métrique etc., c'est moins important pour le quotidien (même si elles ont une importance hein) et c'est d'ailleurs une priorité d'implémentation plus faible !
Donc : nous vivons une période de transitions, à nous de nous intéresser aux standards et de commencer l'utilisation de l'HTML 5 tout doucement.
Est-ce que j'ai répondu à ta question :-) ?
[0] http://www.whatwg.org/specs/web-apps/current-work/#html-vs-xhtml
[1] http://www.w3.org/Style/CSS/current-work
[2] http://www.w3.org/Style/CSS/current-work#transition
[3] http://www.w3.org/Style/CSS/current-work#animation
[4] https://developer.mozilla.org/en/CSS
[5] http://webkit.org/projects/css/index.html
[6] http://www.whatwg.org/specs/web-apps/current-work/#relationship-to-xhtml2-and-xforms
[7] http://www.whatwg.org/demos/2008-sept/