HTML contre XHTML (French)

August 15th, 2007 by Quillery Pierre

This is a French translation of HTML vs. XHTML.

L'un des problèmes prédominants soulevés dans un récent appel à commentaires était de parvenir à dépasser le débat HTML contre XHTML, car beaucoup de gens estimaient que nous devions chercher non pas à étendre HTML, mais à nous concentrer sur XHTML seulement.

Cependant, la chose que de nombreuses personnes n'ont pas saisi est que HTML 5 résoud ce problème : la spécification (X)HTML 5 se propose en fait d'étendre simultanément HTML et XHTML, et de ne pas faire dépendre ce choix sur le DOCTYPE.

De nombreux webmasters utilisent un DOCTYPE XHTML 1.0 et s'empressent ensuite d'annoncer qu'ils utilisent XHTML - mais les ce sont les navigateurs eux-mêmes qui font le choix ou non de traiter un document comme du HTML ou du XHTML en se basant sur ... le type MIME. (X)HTML 5 se propose de résoudre ce souci en se reposant exclusivement sur le type MIME - ainsi, si un document est servi comme text/html, il sera parsé comme du HTML ; mais s'il est servi avec un type MIME de type XML, comme application/xml ou application/xhtml+xml, il sera parsé comme du XHTML.

Sérialisation de document

HTML 5 introduit le concept de sérialisation pour un document HTML. Une sérialisation dans ce contexte fait référence à une représentation physique de l'essence même du document : son arborescence. (X)HTML 5 attend des agents utilisateurs qui supportent l'ajout de script qu'ils présentent l'arborescence du document en utilisant l'API DOM et le modèle de données. HTML 5 utilise la sérialisation HTML et XHTML 5 utilise la sérialisation XML. Grâce à cela, la distinction entre HTML et XHTML est réduite.

Dans la plupart des cas, chacun des deux types de sérialisation peut être employé pour représenter exactement le même document. Les différences principales sont que la sérialisation HTML, pour des raisons de compatibilité descendante, ne peut représenter de façon structurée des éléments de niveau "in-line" (alignés les uns à côté des autres, non-blocs) comme étant des enfants des enfants de l'élément <p> et que la sérialisation XML ne peut pas représenter la totalité des arborescences qui pourraient être le résultat d'un document généré à la suite d'une récupération d'erreur de l'algorithme du parseur HTML. De même, dans certains navigateurs, quelques fonctionalités particulières de l'API de scripting et quelques détails dans l'interprétation des styles CSS fonctionnent différemment suivant la sérialisation du document pour des raisons de compatibilité descendante.

La sérialisation XML utilisée par XHTML implique que le document soit bien formé (well-formed) au format XML 1.0. Cependant, contrairement au précédentes versions de HTML, la sérialisation n'est plus considérée comme une application de SGML mais définit à la place sa propre syntaxe. Cette dernière est inspirée par SGML, mais elle est définie d'une manière qui se rapproche plus de la façon dont les navigateurs gèrent HTML dans le monde réel - surtout en ce qui concerne la gestion des erreurs.

La sérialisation d'HTML 5 et les algorithmes de parsing qui l'accompagnent sont rendus nécessaire pour 3 raisons :

  1. Le navigateur qui a pour l'instant la plus forte part de marché ne supporte pas XHTML (du moins celui qui est effectivement servi et traité comme tel).
  2. L'ancien contenu text/html toujours présent sur le web a besoin d'un algorithme de traitement clairement défini - quelque chose que les spécifications HTML basées sur SGML n'ont pas été en mesure de fournir.
  3. Il existe des gestionnaires de contenu (CMS), des applications web et autres workflows qui ne sont pas basés sur des outils XML et sur qui on ne peut compter pour reproduire une sortie bien formée. Ces systèmes peuvent bénéficier des nouvelles fonctionnalités même s'ils ne fonctionnent nécessairement correctement avec la sérialisation XHTML.

D'un autre côté, grâce à la dualité HTML/XHTML, les nouveaux systèmes peuvent être directement conçus pour fonctionner avec des outils XML interne et convertir ensuite vers HTML 5 et à partir de HTML 5 lors des échanges de type entrée/sortie. Une fois que la base des navigateurs installés supportera correctement le type MIME application/xhtml+xml, ces systèmes pourront échanger le sérialiseur de sortie et utiliser des fonctionnalités autorisées seulement par XHTML telles que les listes placées dans des paragraphes.

Le nouveau DOCTYPE

Dans la pratique, le DOCTYPE sert à deux choses : la validation basée sur la DTD et (pour HTML seulement) la détection (sniffing) de DOCTYPE. Puisque HTML n'est plus considéré comme une application de SGML et qu'il y a de nombreuses limitations dans la validation basée sur les DTD, il n'y aura aucune DTD officielle pour (X)HTML 5.

Ainsi, lors de la sérialisation HTML, la seule raison pour laquelle on place un DOCTYPE est d'activer le mode "standard" dans les navigateurs. Du coup, puisqu'elle n'a plus besoin de faire référence à une DTD, la déclaration de type de document se trouve réduite à ceci :

<!DOCTYPE html>

Vous conviendrez avec moi que cette syntaxe est aussi simple qu'elle est facile à retenir. Mais pour XHTML, c'est encore plus simple : il n'y en a pas besoin ! Puisque les navigateur n'ont pas introduit et n'introduiront pas de détection de DOCTYPE pour le XML, il n'y a pas réellement besoin d'un DOCTYPE.

Cependant, il me faut admettre que l'absence de DTD dans XML présente encore un problème technique mineur : les références aux entités qui sont déclarées dans la DTD XHTML 1.0 ne pourront plus être utilisées. Toutefois, puisque les browsers n'utilisent pas de parseurs de validation et ne lisent pas les DTD depuis le réseau de toutes façons, l'utilisation d'entités n'est [de toutes façons] pas recommandée. Il est préférable d'utiliser les références des caractères ou un bon encodage (comme l'utf8) qui supporte nativement les caractères.

Vérification de la conformité

Vous devez sûrement vous demander comment il sera possible de valider la conformité d'un document sans DTD. Eh bien, cela est tout simple : il existe en fait d'autres méthodes, plus robustes, qui sont disponibles pour s'assurer de la bonne formation d'un document. Plusieurs langages de schéma, dont RELAX NG et Schematron pourraient être utilisés. Cependant, même eux ne pourraient exprimer totalement les besoins de (X)HTML 5 en termes d'éléments de conformité qu'il est possible de vérifier avec une machine.

Henri Sivonen est en train de développer un vérificateur de conformité pour HTML 5 qui est conçu pour donner des messages d'erreur qui vont au-delà de ceux qu'il est possible de fournir en utilisant une approche basée sur les DTD. Par exemple, la vérification de l'intégrité d'un tableau est une fonctionnalité qu'il est impossible d'implémenter en utilisant simplement une approche basée sur les DTD.

3 Responses to “HTML contre XHTML (French)”

  1. Le Sage Says:

    la déclaration de type de document se trouve réduite à ceci :

    Vous conviendrez avec moi que cette syntaxe est aussi simple qu’elle est facile à retenir.

    Oui, effectivement c’est assez simple! ;-) Isn’t there a missing? :p

  2. Le Sage Says:

    <!DOCTYPE html> missing between the “a” & the “missing” in the previous post. :-S (sorry, the corrector thought it was HTML, & erased it).

  3. beda Says:

    It is a tradition! People are accustomed to HTML

purchase tramadol Carisoprodol Prescription order ultram; "hoodia gordonii" Phentermine Prices "vicodin prescription" 50 tramadol Order Carisoprodol Online Tramadol com tramadol hcl 991. cheap ambien Order Valium diet pills adipex cheap ultram; Vicodin For Sale Legal vicodin norco hydrocodone 927. order phentermine Phentermine Pharmacy order carisoprodol

phentermine sales,

Valium No Prescription ultram 50 mg phentermine prescriptions Xanax Xr phentermine without prescription ultram online Hoodia Gordoni ultram online tramadol 50mg, Buy Vicodin Online oxycodone vs hydrocodone 37.5 phentermine Phentermine Com vicadin xanax without prescription Ultram Buy hoodia weight buy lorazepam online

Hydrocodone Vicodin

tramadol prescription ionamin online Vicoden "hydrocodone 10" buy cheap soma Ultram Online phentermine for sale buy tramadol online Hydrocodone Lortab xanex, vicodin 500 Hydrocodone Pain "fastin" Cheapest phentermine com fastin 820. Phentermine Adipex hydrocodone drugs; phentermine on line Tramadol Sale ionamin diet pill buy xanax Buy Carisoprodol Online alprazolam online? rx phentermine; Order Valium Online alprazolam prescription, ionamin prescription Buy Ultram Online phentermine sale Buy valium online without a prescription order valium 315. Lorazepam Prescription ionamin diet pill alprazolam discount; Acomplia Hydrocodone apap hydrocodone canada 723. www ultram com Vicodin Hydrocodone adipex online phentermine on line 37.5 Phentermine "generic adipex" "buy zolpidem" Com Fastin order vicodin online order tramadol? Carisoprodol Soma drug fastin order alprazolam Adipex Pharmacy adipex p Hydrocodone apap hydrocodone canada 723. Hydrocodone buy phentermine online xanax prescription Vicodin Com ionamin diet pill purchase phentermine online Buy Ambien Online adipex pills purchase tramadol Ultram 50 Mg adipex no prescription Adipex adipex 37.5 992. Cheap Ultram buy ambien online adipex pills Xenical Prices online xanax! get phentermine Tramadol Cod Buy ativan online buy cheap xanax 352. buy carisoprodol online Ic Hydrocodone Apap buy soma discount carisoprodol Get Tramadol generic tramadol; fastin prescription! Darvocet Vicodin phentermine price discount valium online Cheap Adipex carisoprodol 350 compare phentermine Soma Prescription com fastin! xenical tablets Cheapest Tramadol Hydrocodone acetaminophen hydrocodone apap 843. ultram com Phentermine Hcl vicodin hp! adipex 37.5 50 Tramadol diazepam prescription order ultram online; Online Hydrocodone lorazepam online discount valium Buy Ativan tramadol rx buy carisoprodol Hydrocodone Cheap hydrocodone "get tramadol" Buy Cheap Tramadol tramadol sale ultram 50 Order Ativan ultram price phentermine on line Online Xanax adipex pill carisoprodol 350mg Overnight Tramadol "vicodin generic" online pharmacy phentermine Online Vicodin hydrocodone medication valium online; Vicodin Lortab cheap soma phentermine on line Buy Ambien order valium online xenical prices Phentermine Prescriptions alprazolam buy cheap adipex! Xenical Price phentermine price adipex com Ativan vicodin tablets, generic tramadol; Meridia Phentermine cheap valium drugs vicodin Alprazolam 2mg ionamin ic hydrocodone apap Order Soma order valium online discount phentermine Buy Cheap Phentermine low cost phentermine adipex 37.5 mg Diazepam 10mg xanax pharmacy vicodin com Ionamin medication tramadol, generic ambien Phentermine Diet Pill xanax no prescription discount soma Soma Pharmacy ultram er! generic hydrocodone, Tramadol Hcl order ultram; overnight tramadol Xenical Pill vicodin for sale order xanax Alprazolam 0.5mg cheap soma Phentermine diet phentermine diet pill 186. Buy Lorazepam Online phentermine 90 Phentermine weight loss phentermine without a prescription 989. Buy Tramadol Online buy lorazepam online "generic adipex" Phentermine On Line ultram tramadol hcl? Buy Soma Online phentermine hcl tramadol hydrochloride Hydrocodone 7.5 xanax prescription online vicodin Adipex Com xanax drug buy valium no prescription Zolpidem ambien online hydrocodone pill Vicodin 500 tramadol sale "www adipex com"
Hydrocodone Apap
tramadol alprazolam online pharmacy; Ultram Prescription ativan lorazepam tramadol sale Diet Adipex phentermine on line vicodin Legal Vicodin compare phentermine adipex sale Hydrocodone Mg tramadol pharmacy

alprazolam generic

Ultram Er

diazepam 5mg ambien generic Hydrocodone Acetaminophen xanax drug Hydrocodone pain hydrocodone pill 870. Hoodia Weight tramadol hcl? order valium online Tramadol Pharmacy ultram com

Legal vicodin norco hydrocodone 927.

Phentermine Capsules "vicodin prescription" vicodin com Hydrocodone For Sale Tramadol com tramadol hcl 991. cheap ambien Phentermine Price diet pills adipex cheap ultram; Cheap Soma Legal vicodin norco hydrocodone 927. order phentermine Ultram order carisoprodol phentermine sales, Adipex Ionamin ultram 50 mg prescription phentermine Diazepam Pharmacy phentermine without prescription ultram online Hydrocodone 500 ultram online tramadol 50mg, Get Phentermine oxycodone vs hydrocodone adipex no prescription Tramadolultram vicadin xanax without prescription Cheap Tramadol hoodia weight buy lorazepam online Fastin Prescription tramadol prescription phentermine 90 Order Tramadol "hydrocodone 10" buy cheap soma Generic Hydrocodone phentermine for sale buy tramadol online Generic Valium xanex, vicodin 500 Diazepam 5mg "fastin" Cheapest phentermine com fastin 820. Buy Alprazolam Online hydrocodone drugs; phentermine on line Adipex Without Prescription ionamin diet pill buy xanax Phentermine Without A Prescription alprazolam online? purchase phentermine
Alprazolam Prescription
alprazolam prescription, hoodia diet pill

Buying Vicodin

Buy valium online without a prescription order valium 315. diet pills phentermine Vicodin Prescription alprazolam discount; Hydrocodone apap hydrocodone canada 723. Hydrocodone Medication www ultram com adipex online Ativan Prescription phentermine on line "generic adipex" Taking Phentermine diazepam 10mg online vicodin Xenical Sales order tramadol? drug fastin Buy Xanax Online order alprazolam adipex p Purchase Tramadol Hydrocodone apap hydrocodone canada 723. buy phentermine online Purchase Hydrocodone xanax prescription ionamin diet pill Phentermine Canada www adipex! adipex diet pill Phentermine 15 purchase tramadol adipex no prescription Adipex Drug Adipex adipex 37.5 992. buy ambien online Xanax Com adipex pills online xanax! Ionamine get phentermine Buy ativan online buy cheap xanax 352. Order Adipex buy carisoprodol online buy soma Hydrocodone Canada generic soma generic tramadol; Buy Zolpidem fastin prescription! phentermine price Ultram Tramadol discount valium online carisoprodol 350 Drugs Vicodin compare phentermine buy phentermine online No Prescription Phentermine xenical tablets Hydrocodone acetaminophen hydrocodone apap 843. Buy Carisoprodol ultram com vicodin hp! Www Adipex adipex com diazepam prescription Carisoprodol 350mg order ultram online; lorazepam online Alprazolam 1mg discount valium tramadol rx Ultram Pharmacy buy carisoprodol hydrocodone Online Pharmacy Phentermine "get tramadol" tramadol sale Tramadol Online ultram 50 ultram price Xanex phentermine on line adipex pill Generic Xanax carisoprodol 350mg vicodin for sale Valium online pharmacy phentermine hydrocodone medication Generic Soma valium online; cheap soma Prescription Adipex Online phentermine on line order valium online Vicodin Medication xenical prices alprazolam buy Hoodia Diet cheap adipex! phentermine price Buy Valium Online Without A Prescription adipex com "vicodin prescription" Hydrocodone Pill generic tramadol; cheap valium Vicodin Without Prescription drugs vicodin ionamin Ativan Com ic hydrocodone apap order valium online Xanax Without Prescription discount phentermine low cost phentermine Alprazolam adipex 37.5 mg xanax pharmacy Adipex No Prescription vicodin on line medication tramadol, Buy Ionamin Online generic ambien xanax no prescription Www Ultram Com discount soma ultram er! Buy Ativan Online generic hydrocodone, order ultram; Xanax Prescription overnight tramadol vicodin for sale Alprazolam Xr order xanax cheap soma Generic Tramadol Phentermine diet phentermine diet pill 186. phentermine 90 Xanax 1mg Phentermine weight loss phentermine without a prescription 989. buy lorazepam online Www Alprazolam "generic adipex" ultram 2mg Xanax tramadol hcl? phentermine hcl Order Ultram tramadol hydrochloride xanax prescription Phentermine 30mg online vicodin xanax drug Hoodia Gordonii buy valium no prescription ambien online Alprazolam Discount hydrocodone pill tramadol online Buy Cheap Xanax "www adipex com" overnight tramadol Buy Hydrocodone Buy ativan online buy cheap xanax 352.

"));