Professional Documents
Culture Documents
Dnomination
Langlais Hypertext Markup Language est rarement traduit littralement en langage de balisage dhypertexte[1]. On utilise gnralement labrviation HTML, parfois mme en rptant le mot langage comme dans langage HTML . Hypertext est parfois crit HyperText pour marquer le T de labrviation HTML. Le public non averti parle parfois de HTM au lieu de HTML, HTM tant lextension de nom de fichier tronque trois lettres, une limitation quon trouve sur danciens systmes dexploitation de Microsoft.
volution du langage
Durant la premire moiti des annes 1990, avant lapparition des technologies web comme JavaScript, les feuilles de style en cascade et le Document Object Model, lvolution de HTML a dict lvolution du World Wide Web. Depuis 1997 et HTML 4, lvolution de HTML a fortement ralenti ; 10ans plus tard, HTML 4 reste utilis dans les pages web. En 2008, la spcification du HTML 5 est ltude[2].
1989-1992 : Origine
HTML est une des trois inventions la base du World Wide Web, avec le Hypertext Transfer Protocol (HTTP) et les adresses web. HTML a t invent pour pouvoir crire des documents hypertextuels liant les diffrentes ressources dInternet avec des hyperliens. Aujourdhui, ces documents sont appels page web . En aot1991, lorsque Tim Berners-Lee annonce publiquement le web sur Usenet, il ne cite que le langage SGML, mais donne lURL dun document de suffixe .html. Dans son livre Weaving the web[3], Tim Berners-Lee dcrit la dcision de baser HTML sur SGML comme tant aussi diplomatique que technique : techniquement, il trouvait SGML trop complexe, mais il voulait attirer la communaut hypertexte qui considrait que SGML tait le langage le plus prometteur pour standardiser le format des documents hypertexte. En outre, SGML tait dj utilis par son employeur, lOrganisation europenne pour la recherche nuclaire (CERN). Les premiers lments du langage HTML comprennent le titre du document, les hyperliens, la structuration du texte en titres, sous-titres, listes ou texte brut, et un mcanisme rudimentaire de recherche par index. La description de HTML est alors assez informelle et principalement dfinie par le support des divers navigateurs web contemporains. Dan Connolly a aid faire de HTML une vritable application de SGML[4].
Hypertext Markup Language deux inventions majeures. Dabord linvention de llment IMG permet dintgrer des images (dans un premier temps, uniquement aux formats GIF et XBM) aux pages web (Mosaic 0.10). Ensuite linvention des formulaires (Mosaic 2.0pre5) rend le web interactif en permettant aux visiteurs de saisir des donnes dans les pages et de les envoyer au serveur web. Cette invention permet notamment de passer des commandes, donc dutiliser le web pour faire du commerce lectronique.
Hypertext Markup Language Ces variantes perdurent par la suite sans modifications notables en HTML 4.01 et dans le format de transition XHTML 1.0 issu de HTML. La dernire spcification de HTML est la 4.01 datant du 24dcembre1999. Elle napporte que des corrections mineures la version 4.0.
2000-2006 : XHTML
Le dveloppement de HTML en tant quapplication du Standard Generalized Markup Language (SGML) est officiellement abandonn au profit de XHTML, application de Extensible Markup Language (XML). Cependant, en 2004, des fabricants de navigateurs web[10] crent le web Hypertext Application Technology Working Group (WHATWG) dans le but, notamment, de relancer le dveloppement du format HTML et de rpondre aux nouveaux besoins sur une base technologique juge plus aisment implmentable que celle du XHTML 2.0 en cours de conception. Ceci sinscrit dans le contexte dune contestation plus gnrale du mode de fonctionnement du W3C, rput trop ferm par une partie des dveloppeurs et designers web[11].
Description de HTML
HTML est un langage de description de document qui se prsente sous la forme dun langage de balisage dont la syntaxe vient du Standard Generalized Markup Language (SGML).
Syntaxe de HTML
Jusqu sa version 4.01 comprise, HTML est formellement dcrit comme une application du Standard Generalized Markup Language (SGML). Cependant, les spcifications successives admettent, par diffrents biais, que les agents utilisateurs ne sont pas, en pratique, des analyseurs SGML conformes[24]. Les navigateurs Web nont jamais t capables de dchiffrer lensemble des variations de syntaxe permises par SGML[25] ; en revanche ils sont gnralement capables de rattraper automatiquement de nombreuses erreurs de syntaxe, suivant la premire partie de la loi de Postel : Soyez libral dans ce que vous acceptez, et conservateur dans ce que vous envoyez (RFC 791). De fait, les dveloppeurs de pages Web et de navigateurs Web ont toujours pris beaucoup de libert avec les rgles syntaxiques de SGML. Enfin, la Document Type Definition (DTD) de HTML, soit la description technique formelle de HTML, na t crite par Dan Connolly que quelques annes aprs lintroduction de HTML[4]. Malgr les liberts prises avec la norme, la terminologie propre SGML est utilise : document, lment, attribut, valeur, balise, entit, validit, application, etc. Grce la DTD, il est possible de vrifier automatiquement la validit dun document HTML laide dun parseur SGML[26]. lorigine, HTML a t conu pour baliser (ou marquer) simplement le texte, notamment pour y ajouter des hyperliens. On utilisait un minimum de balises, comme dans le document HTML suivant : <TITLE>Exemple de HTML</TITLE> Ceci est une phrase avec un <A HREF=cible.html>hyperlien</A>. <P> Ceci est un paragraphe où il ny a pas dhyperlien. Cet exemple contient du texte, cinq balises et une rfrence dentit : <TITLE> est la balise ouvrante de llment TITLE. </TITLE> est la balise fermante de llment TITLE. Exemple de HTML est le contenu de llment TITLE. <A HREF=cible.html> est la balise ouvrante de llment A, avec : HREF=cible.html, lattribut HREF dont la valeur est cible.html.
Hypertext Markup Language <P> est la balise ouvrante de llment P. Toutefois, elle est utilise ici comme sil sagissait dun sparateur de paragraphe, et cest mme ainsi quelle est souvent prsente dans les plus anciennes documentations de HTML. Il sagit de la balise ouvrante du paragraphe dont le contenu est Ceci est un paragraphe où il ny a pas dhyperlien. La balise fermante de llment P, qui est optionnelle, est ici omise. Llment P est implicitement termin lorsquun nouveau paragraphe commence ou que llment parent est ferm (cas prsent). ù est une rfrence dentit reprsentant le caractre . Les balises peuvent tre indiffremment crites en minuscules ou majuscules. Lusage des minuscules devient plus courant car XHTML les impose. Un document HTML valide est un document qui respecte la syntaxe SGML, nutilise que des lments et attributs standardiss, et respecte limbrication des lments dcrite par le standard. Il ne manque quune dclaration de type de document lexemple prcdent pour quil soit un document HTML 2.0 valide[27]. Un document valide nest cependant pas suffisant pour tre conforme la spcification HTML vise. En effet, outre lexigence de validit, un document conforme est soumis dautres contraintes qui ne sont pas exprimes par la dfinition de type de document (DTD), mais qui le sont par la spcification elle-mme. Cest notamment le cas du type de contenu de certains attributs, comme par exemple celui de lattribut datetime : pour tre conforme HTML4.01, celui-ci doit tre lui-mme conforme un sous-ensemble de la norme ISO 8601[28]. Un parseur strictement SGML tel que le validateur HTML du W3C ne peut donc dterminer la conformit dun document HTML.
<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html> <head> <title> Exemple de HTML </title> </head> <body> Ceci est une phrase avec un <a href="cible.html">hyperlien</a>. <p> Ceci est un paragraphe o il ny a pas dhyperlien. </p> </body> </html>
lments de HTML
La version 4 de HTML dcrit 91lments. En suivant la spcification de HTML 4, les fonctionnalits implmentes par HTML peuvent tre rparties ainsi : Structure gnrale dun document HTML[32] Au plus haut niveau, un document HTML est spar entre un en-tte et un corps. Len-tte contient les informations sur le document, notamment son titre et ventuellement des mtadonnes. Le corps contient ce qui est affich. Informations sur la langue[33] Il est possible dindiquer la langue de nimporte quelle partie du document et de grer le mlange de texte scrivant de gauche droite avec du texte de droite gauche. Marquage smantique[34] HTML permet de diffrencier des contenus spcifiques tels que les citations duvres externes, les extraits de code informatique, les passages en emphase et les abrviations. Certains de ces lments, conus initialement pour permettre le support de documentations techniques, sont trs rarement employs (diffrenciation entre les lments de variable et dexemple de valeur dans un code informatique, par exemple, ou encore instance dun terme dfini dans le contexte). Listes[35] HTML diffrencie des listes non ordonnes et des listes ordonnes, selon que lordre formel du contenu dans le code est en soi ou non une information. Des listes de dfinition existent galement, mais sans que leur champ dapplication ne soit exactement dtermin. Tables[36] Cette fonctionnalit a t dveloppe pour permettre la prsentation de donnes tabulaires mais a t immdiatement exploite pour ses puissantes capacits de mise en page. Hyperliens[37] La fonctionnalit premire de HTML. Inclusion dimages, dapplets et dobjets divers[38] lorigine HTML permettait seulement de donner des hyperliens sur les mdias externes. Linvention dlments spcialiss pour le multimdia a permis linclusion automatique dimage, de musique, de vido, etc. dans les pages web. lments de regroupement[39] Ne confrant pas de signification au contenu quils balisent, ces lments gnriques permettent dappliquer des styles de prsentation, de raliser des traitements via des scripts ou tout autre opration ncessitant disoler une partie du contenu. Style de la prsentation[40] Chaque lment, voire tout le document, peut se voir appliquer des styles. Les styles sont dfinis dans le document ou proviennent de feuilles de style en cascade (CSS) externes. Marquage de prsentation du texte[41] Dvelopp avant la gnralisation de CSS pour fournir rapidement des fonctionnalits aux graphistes. Dusage dsormais officiellement dconseill pour la plus grande partie. Cadres[42] Aussi connu sous le nom de frames, une fonctionnalit souvent dcrie qui permet dafficher plusieurs documents HTML dans une mme fentre.
Hypertext Markup Language Formulaire pour linsertion interactive de donnes[43] Les lments de formulaire permettent aux visiteurs d'entrer du texte et des fichiers dans les pages Web. Scripts[44] Permet dassocier des morceaux de programmes aux actions des utilisateurs sur le document. Les langages utiliss sont gnralement JavaScript et VBScript.
Attributs de HTML
Les attributs permettent de prciser les proprits des lments HTML. Il y a 188attributs dans la version 4 de HTML[45]. Certains attributs sappliquent presque tous les lments : les attributs gnriques id (identificateur unique) et class (identificateur rptable)[46] destins permettre lapplication de traitements externes, tels que lapplication de styles de prsentation ou de manipulation de larbre du document via un langage de script. Il sy ajoute lattribut style[47] permettant de dfinir le style de prsentation de llment (gnralement en CSS), et lattribut title[48] apportant une information complmentaire de nature le plus souvent libre (Lexception majeure est lutilisation du title pour dterminer le style permanent et les ventuels styles alternatifs appliqus un document via des lments link). les attributs dinternationalisation dir et lang[33] spcifiant la direction dcriture et la langue du contenu ; les gestionnaires dvnements onclick, ondblclick, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup[49], qui capturent les vnements gnrs dans llment pour appeler un script. Dautres attributs sont propres un lment unique, ou des lments similaires. Par exemple : les lments qui permettent dinclure dans le document des ressources graphiques sont dots dattributs de hauteur et de largeur, afin que le navigateur puisse anticiper la taille de la ressource afficher avant que celle-ci nait t tlcharge : img, object, iframe. des lments spcifiques sont dots dun attribut assumant une fonction unique, tel que llment label des tiquettes des contrles de formulaire et son attribut for dsignant le contrle concern : cest, en HTML, et avec les attributs usemap et ismap des images, lune des trs rares associations explicites et formalises entre des lments, indpendamment de leur ordre linaire dans le code source. La plupart des attributs sont facultatifs. Quelques lments ont cependant des attributs obligatoires : de par leur nature : llment img est obligatoirement dot dun attribut src spcifiant lURI de la ressource graphique quil reprsente. Il en est de mme de tous les lments dits vides et remplacs [50] qui, au prix dune entorse aux rgles SGML, nont pas de contenu propre. Cest galement le cas dlments non vides pour des raisons fonctionnelles, comme llment form dont lattribut action indique la cible serveur qui traitera les donnes aprs soumission ; pour des raisons lies laccessibilit du contenu : les images sont ainsi dotes dun attribut obligatoire alt permettant dindiquer un contenu textuel brut destin remplacer la ressource graphique dans les contextes de consultation o elle ne peut pas tre restitue ou perue. Le type de contenu des attributs HTML chappe pour partie au champ dapplication de cette norme, et sa validation relve de normes tierces telles que les URI, les types de contenu ou les codes de langages. Certains attributs sont enfin de type boolen. Ce sont les seuls attributs dont la syntaxe peut tre validement implicite en HTML : lattribut selected dun contrle de formulaire peut ainsi tre raccourci sous la forme selected remplaant la forme complte selected="selected". Cette forme particulire est un des points diffrenciant HTML de la syntaxe des documents bien forms au sens XML.
Jeu de caractres
Les pages Web peuvent tre rdiges dans toutes sortes de langues et de trs nombreux caractres peuvent tre utiliss, ce qui requiert soit un jeu de caractres par type dcriture, soit un jeu de caractres universel. Lors de lapparition de HTML, le jeu de caractres universel Unicode ntait pas encore invent, et de nombreux jeux de caractres se ctoyaient, notamment ISO-8859-1 pour lalphabet latin et ouest-europen, Shift-JIS pour le japonais, KOI8-R pour le cyrillique. Aujourdhui, le codage UTF-8 de Unicode se rpand. Le protocole de communication HTTP transmet le nom du jeu de caractres. Len-tte HTML peut comporter le rappel de ce jeu de caractres, qui devrait tre identique, sauf erreur de rglage. Enfin, suite un mauvais rglage, le jeu de caractres rellement utilis peut encore diffrer du jeu annonc. Ces mauvais rglages causent gnralement des erreurs daffichage du texte, notamment pour les caractres non compris dans la norme ASCII.
Interoprabilit de HTML
Tel quil a t formalis par le W3C, le HTML ne sert pas dcrire le rendu final des pages web. En particulier, contrairement la publication assiste par ordinateur, HTML nest pas conu pour spcifier lapparence visuelle exacte des documents. HTML est plutt conu pour donner du sens aux diffrentes parties du texte : titre, liste, passage important, citation, etc. Le langage HTML a t dvelopp avec lintuition que les appareils de toutes sortes devaient pouvoir utiliser les informations sur le web : les ordinateurs personnels avec des crans de rsolution et de profondeur de couleurs variables, les tlphones portables, les appareils de synthse et de reconnaissance de la parole, les ordinateurs avec une bande passante faible comme leve, et ainsi de suite. HTML est conu pour optimiser linteroprabilit des documents. Comme HTML ne sattache pas au rendu final du document, un mme document HTML peut tre consult laide de matriels et logiciels trs divers. Au niveau matriel, un document peut notamment tre affich sur un moniteur dordinateur en mode graphique ou un terminal informatique en mode texte, il peut tre imprim, ou il peut tre prononc par synthse vocale. Au niveau logiciel, HTML ne fait pas non plus de supposition quant au navigateur web utilis pour consulter le document. Un haut degr dinteroprabilit permet de baisser les cots des fournisseurs de contenus car une seule version de chaque document sert des besoins trs varis. Pour lutilisateur du web, linteroprabilit permet lexistence de nombreux navigateurs concurrents, tous capables de consulter lensemble du web. Chaque version HTML a essay de reflter le plus grand consensus entre les acteurs de lindustrie, de sorte que les investissements consentis par les fournisseurs de contenus ne soient pas gaspills et que leurs documents ne deviennent en peu de temps illisibles. La sparation du fond et de la forme na pas toujours t respecte au cours du dveloppement du langage, comme en tmoigne par exemple le balisage de style de texte, qui permet dindiquer notamment la police de caractres souhaite pour laffichage, sa taille, ou sa couleur. Le langage Wiki interagit avec le HTML en utilisant des raccourcis pour certains balisages.
Notes et rfrences
[1] (fr) ISO/IEC 15445:2000, Langage de balisage dhypertexte (http:/ / www. iso. ch/ iso/ fr/ CatalogueDetailPage. CatalogueDetail?CSNUMBER=27688& ICS1=35& ICS2=240& ICS3=30& scopelist=) (norme ISO) [2] Le W3C publie le premier document de travail sur HTML 5, futur du contenu Web - La communaut Web tablit le prochain standard HTML au sein du forum W3C public (http:/ / www. w3. org/ 2008/ 02/ html5-pressrelease. html. fr), communiqu du W3C dat du 22 janvier 2008 [3] (en) Tim Berners-Lee, Mark Fischetti, Weaving the web: the past, present and future of the World Wide Web by its inventor, Londres, Texere, 2000, p.45-46, (ISBN978-1-58799-018-2) [4] (en) James Gillies, Robert Cailliau, How the web was born: the story of the World Wide Web, Oxford, Oxford University Press, 2000, p.212-213, (ISBN978-0-19-286207-5) [5] (en) Hypertext Markup Language (HTML) (http:/ / www. w3. org/ MarkUp/ draft-ietf-iiir-html-01. txt), Internet Draft, juin 1993 [6] (en) HTML 4.01 Specification - 2.2.1 A brief history of HTML (http:/ / www. w3. org/ TR/ html4/ intro/ intro. html#h-2. 2. 1) - (fr) 2.2.1 Une brve histoire de HTML (http:/ / www. la-grange. net/ w3c/ html4. 01/ intro/ intro. html#h-2. 2. 1) [7] Marc Andreessen, crateur de Netscape Navigator, dclarait ds 1993 sur la liste de discussion www-talk : Je pense que soccuper du SGML en gnral est une complte perte de temps, et que nous en serions aujourdhui beaucoup plus loin si nous ntions pas encombrs avec cet hritage SGML que nous continuons porter. 99,99 % des gens avec qui je parle veulent mettre en ligne des documents riches, veulent contrler leur apparence, et se contre-fichent totalement du balisage smantique ou des diffrences entre la structure et le rendu dun document. (en) HTML Spec (http:/ / 1997. webhistory. org/ www. lists/ www-talk. 1993q2/ 0533. html), dat du 16 juin 1993 [8] (en) HTML 3.2 Reference Specification, chap. Abstract (http:/ / www. w3. org/ TR/ REC-html32. html) [9] La W3C a lanc en 1997 les premiers travaux de son (en) Initiative pour lAccessibilit du web (http:/ / www. w3. org/ WAI/ ) (WAI), qui entame alors llaboration de ce qui allait devenir les premires (en) Directives pour lAccessibilit des Contenus web (http:/ / www. w3. org/ TR/ WCAG10/ ) (WCAG), essentiellement consacres laccessibilit des documents HTML [10] Linitiative vient dOpera et de Mozilla, rejoints par la suite par Apple, (en) http:/ / www. w3. org/ 2004/ 04/ webapps-cdf-ws/ papers/ opera. html [11] (en) Jeffrey Zeldman, An angry fix (http:/ / www. zeldman. com/ 2006/ 07/ 17/ an-angry-fix/ ) [12] Tim Berners Lee crivait ds octobre2006 : la tentative de faire passer tout le monde XML et aux contraintes syntaxiques que cela impose (guillemets autour des valeurs dattributs, slashes dans les balises simples et espaces de noms), intgrer dun seul coup, na pas fonctionn Il faut crer un groupe de travail HTML entirement nouveau qui, contrairement au prcdent, sera destin apporter des amliorations incrmentales HTML, ainsi qu XHTML , (en) http:/ / dig. csail. mit. edu/ breadcrumbs/ node/ 166 [13] Charte du groupe de travail HTML W3C, (en) http:/ / www. w3. org/ 2007/ 03/ HTML-WG-charter#deliverables [14] (en)Results of Questionnaire Shall we Adopt HTML5 as our specification text for review? (http:/ / www. w3. org/ 2002/ 09/ wbs/ 40318/ htmlbg/ results) [15] (en) HTML 5 A vocabulary and associated APIs for HTML and XHTML W3C Working Draft 22 January 2008, http:/ / www. w3. org/ TR/ html5/ [16] (en) HTML Design Principles (http:/ / www. w3. org/ html/ wg/ html5/ principles/ ) [17] (en) HTML Accessibility Task Force Work Statement, W3C (http:/ / www. w3. org/ WAI/ PF/ html-task-force), HTML Accessibility Task Force Wiki, W3C (http:/ / www. w3. org/ WAI/ PF/ HTML/ wiki/ Main_Page) [18] (en) Why is HTML5 Accessibility important? Because this child may never know HTML 4 (http:/ / www. slideshare. net/ stevefaulkner/ html-5-accessibility), Steve Faulkner, juin 2009 [19] Le XHTML a t appliqu sur dautres marchs, dont les priphriques mobiles, les applications dentreprise, les applications serveurs, ainsi que dans un nombre croissant dapplications web telles que les blogiciels. Par exemple, le Groupe de travail des Meilleures Pratiques du web Mobile a inclus le standard XHTML Basic comme pierre angulaire des Meilleures Pratiques du web Mobile car les logiciels sexcutant avec peu de mmoire peuvent le prendre en charge. Avec la mise en place du Groupe de travail XHTML 2, le W3C continuera son travail technique sur le langage et prendra paralllement en compte la revalorisation de la technologie afin dexpliquer clairement son indpendance et sa valeur sur le march , (en) Communiqu du W3C, 7 mars 2007 (http:/ / www. w3. org/ 2007/ 03/ html-pressrelease). [20] (en) Communiqu du W3C, 2 juillet 2009 (http:/ / www. w3. org/ News/ 2009#item119) [21] http:/ / www. w3. org/ 2009/ 06/ xhtml-faq. html [22] http:/ / www. clubic. com/ internet/ actualite-392508-html-standard-evolution-versions-specifique. html [23] http:/ / www. whatwg. org/ specs/ web-apps/ current-work/ multipage/ introduction. html#is-this-html5? [24] (en) Henri Sivonen, An HTML5 Conformance Checker (http:/ / hsivonen. iki. fi/ thesis/ html5-conformance-checker. xhtml#history), Masters Thesis, Helsinki, 2007 [25] Comme la forme courte <em/emphase/> au lieu de <em>emphase</em> [26] Comme valideur HTML, on peut notamment citer le (en) Markup Validation Service (http:/ / validator. w3. org/ ) du W3C. [27] (http:/ / validator. w3. org/ check?ss=1& doctype=HTML+ 2. 0& fragment=<title>Exemple de HTML</ title> Ceci est une phrase avec un <a href=cible. html>hyperlien</ a>. <p> Ceci est un nouveau paragraphe o il n'y a pas d'hyperlien. ) [28] (en) Marking document changes: The INS and DEL elements, HTML 4.01 Specification, W3C (http:/ / www. w3. org/ TR/ html401/ struct/ text. html#adef-datetime) [29] Tim Berners-Lee considrait les balises de titre, et mme de liste, comme des balises de style. Voir notamment la prsentation Les standards HTML et CSS des origines mercredi dernier (http:/ / disruptive-innovations. com/ zoo/ slides/ 20060922/ #semantic) de Daniel Glazman.
10
11
Licence
Creative Commons Attribution-Share Alike 3.0 Unported //creativecommons.org/licenses/by-sa/3.0/