Privacy Policy Cookie Policy Terms and Conditions Hypertext Markup Language - Wikipédia

Hypertext Markup Language

Un article de Wikipédia, l'encyclopédie libre.

Vous avez de nouveaux messages (diff ?).
image:Langage_progr.png
Cet article fait partie de la série
Langages de programmation
Langages à objets
C++ - C#
Delphi - Eiffel - Java
Groovy - Python - Ruby
Simula - Smalltalk
Visual Basic - WinDev
Langages impératifs
APL - ASP - Assembleur
BASIC - C - Cobol
Forth - Fortran - Logo
Pascal - Limbo - Perl - PHP
Langages fonctionnels
Haskell - ML/OCaml
Lisp/Common Lisp
Scheme
XSLT
Langages déclaratifs
Clips - Prolog
Langages concurrents
Ada 95 - Erlang
Langage de balisage
HTML - SGML - XML
S-expressions
Voir aussi
Conception - Codage
Tests - Optimisations

L'Hypertext Markup Language, généralement abrégé HTML, est le langage informatique créé et utilisé pour écrire les pages Web. HTML permet en particulier d'insérer des hyperliens dans du texte, donc de créer de l'hypertexte, d'où le nom du langage.

Techniquement, HTML est une application du Standard Generalized Markup Language (SGML). Le développement de HTML proprement dit a cessé depuis 1999, et son successeur, le XHTML, est une application de l'Extensible Markup Language (XML).

L'anglais Hypertext Markup Language est rarement traduit littéralement en langage de balisage d'hypertexte. On utilise généralement l'abréviation, parfois même en répétant le mot « langage » dans langage HTML. Hypertext est parfois écrit HyperText pour marquer le T de l'abréviation HTML.

Sommaire

[modifier] Langage de balisage hypertexte

HTML est un langage de description de documents. C'est une application du langage de balisage SGML.

Pour expliquer les balises HTML, voici un exemple :

<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>

La phrase Lorem ipsum dolor (...) est délimitée par une balise d'ouverture <p> et une autre de fermeture </p>. Les balises servent de délimitation, <p></p> délimitant un paragraphe.

Certaines balises n'ont pas de contenu et apparaissent donc sans balise de fermeture. Sont notamment concernées la balise d'image <img>, la balise de séparation horizontale <hr> et la balise de retour à la ligne <br>.

[modifier] Sémantique HTML

Tel qu'il a été pensé à ses origines par Tim Berners-Lee, le HTML ne sert pas à décrire le rendu visuel des pages Web (contrairement à la publication assistée par ordinateur), mais plutôt le sens des différentes parties du texte : titre, liste, mise en évidence... Cette séparation du fond et de la forme n'ont pas toujours été respectées au cours du développement du langage.

L'exemple le plus flagrant est celui de l'utilisation des tableaux en HTML. L'utilisation des tableaux devrait être limitée, comme son nom l'indique, à des données tabulaires (statistiques, fréquence, associations à deux dimensions, etc.), mais les créateurs de pages Web utilisent cet élément pour pallier un manque crucial d'éléments permettant de positionner n'importe où un élément HTML. Depuis, le CSS a fait son apparition, permettant de décrire la façon dont les éléments HTML doivent être positionnés.

[modifier] Éléments de HTML

La version 4 de HTML décrit 91 éléments et 188 attributs. Certains attributs sont propres à un élément, d'autres s'appliquent à toute une série d'éléments et quelques attributs à tous les éléments. En suivant la spécification de HTML 4, les fonctionnalités implémentées par HTML peuvent être réparties ainsi :

Structure globale du document 
Au plus haut niveau, un document HTML est séparé entre un entête et un corps. L'entête contient les informations sur le document, notamment son titre. Le corps contient ce qui est affiché.
Informations sur la langue 
Il est possible d'indiquer la langue de n'importe qu'elle partie du document et de gérer le mélange de texte s'écrivant de gauche à droite avec du texte de droite à gauche.
Marquage sémantique du texte 
Une des fonctionnalités les plus anciennes et moins exploitées de HTML, qui permet de marquer chapitres et paragraphes, mais aussi emphase, extraits de code informatique, résultats de programmes, etc.
Listes
Tables 
Cette fonctionnalité a été développée pour permettre la présentation de données tabulaires mais a été immédiatement exploitée pour ses puissantes capacités de mise en page.
Hyperliens 
La fonctionnalité première de HTML.
Inclusion d'images, d'applets et d'objets divers
Application de feuille de style 
Chaque élément, voire tout le document, peut se voir appliquer des styles. Ce sont généralement les feuilles de style en cascade (CSS) qui sont appliquées à HTML.
Marquage de présentation du texte 
Développé avant la généralisation de CSS pour fournir rapidement des fonctionnalités aux graphistes. D'usage désormais officiellement déconseillé pour la plus grande partie.
Cadres 
Aussi connu sous le nom de frames, une fonctionnalité souvent décriée qui permet d'afficher plusieurs documents HTML dans une même fenêtre.
Formulaire pour l'insertion interactive de données 
L'invention qui a permis l'appartion du commerce en ligne sur le Web.
Scripts 
Permet d'associer des morceaux de programmes aux actions des utilisateurs sur le document. Les langages utilisés sont généralement JavaScript et VBScript.

[modifier] Accéder à une page HTML

C'est le protocole de communication HTTP qui, sur le Web, permet de transférer à partir d'un serveur HTTP, un document HTML. Lorsque le serveur HTTP reçoit une demande concernant un document, il est possible qu'il ait à générer une partie du document suivant les indications qu'aura eu soin de lui laisser l'auteur de la page. (cf. langages spécialisés web.)

Les documents HTML sont identifiés par une URL et sont interprétés par le navigateur Web du visiteur. Grâce à ce dernier, le document HTML apparaît à l'écran ou à l'impression comme l'auteur l'a voulu. Sont ainsi représentés texte, typographie, couleurs, tableaux, images, parfois du son, etc.

[modifier] Interopérabilité

Le web dépend des auteurs de pages et des éditeurs de logiciels qui partagent les mêmes conventions pour HTML. Cela a motivé un travail commun sur les spécifications de HTML. Permettre aux documents HTML d'être accessibles sur des plates-formes et des navigateurs différents est fondamental dans la conception de ce langage.

L'ambition de Tim Berners-Lee était d'avoir un langage de description de documents au format ouvert qui soit indépendant de ce qui servirait à lire les pages. Par conséquent, il n'est pas prévu que telle ou telle police de caractère soit utilisée explicitement, ni que le moniteur du client utilise telle ou telle résolution. Le logiciel exploité pour la navigation devrait lui aussi ne pas être une source de discrimination.

Parvenir à l'interopérabilité permet de baisser les coûts des fournisseurs de contenus parce qu'ils n'ont à développer qu'une seule version d'un document. Si cet effort n'est pas fait, le risque est grand de voir le Web régresser vers un monde propriétaire de formats incompatibles, en réduisant en fin de compte son potentiel commercial au détriment de tous ses participants.

Chaque version HTML a essayé de refléter le plus grand consensus entre les acteurs de l'industrie, de sorte que les investissements consentis par les fournisseurs de contenus ne soient pas gaspillés et que leurs documents ne deviennent en peu de temps illisibles.

Le langage HTML a été développé avec l'intuition que les appareils de toutes sortes devaient pouvoir utiliser les informations sur le Web : les ordinateurs personnels avec des écrans de résolution et de profondeur de couleurs variables, les téléphones cellulaires, les appareils portables, les appareils de synthèse et de reconnaissance de la parole, les ordinateurs avec une bande passante faible comme élevée, et ainsi de suite.

[modifier] Interopérabilité des caractères

Les caractères utilisés dans une page web posent parfois problème. Lors de l'utilisation des premières pages HTML, l'unicode n'était pas encore inventé. Aujourd'hui, il est normal qu'une page soit codée en UTF-8.

Toutefois, certains systèmes contiennent toujours des anomalies, qui font que le logiciel ne sait pas quel est l'encodage utilisé. A la fois HTML et HTTP permet de le préciser, mais l'information donnée est parfois fausse ou divergeante.

voir Unicode et HTML

[modifier] Historique

[modifier] 1989 - 1992

HTML a été inventé pour le World Wide Web, afin de pouvoir écrire des documents hypertextuels liant les différentes ressources d'Internet. En août 1991, lorsque Tim Berners-Lee annonce publiquement le Web sur Usenet, il ne cite que le langage SGML, mais donne l'URL d'un document ayant l'extension de fichier html.

Les premiers éléments du langage HTML sont le titre du document, les hyperliens, la structuration du texte en titres, sous-titres, listes ou texte brut, et un mécanisme rudimentaire de recherche par index. La description d'HTML est alors assez informelle et principalement définie par le support des divers navigateurs Web contemporains.

[modifier] 1993

L'état de HTML correspond alors à ce que l'on pourrait appeler HTML 1.0. Il n'existe cependant aucune spécification portant ce nom, notamment parce que le langage était alors en pleine évolution. Un effort de normalisation était cependant en cours [1]. À partir de fin 1993, le terme HTML+ sera utilisé pour désigner la version future de HTML.

Avec le navigateur NCSA Mosaic, HTML connaît deux inventions majeures : l'invention de l'élément IMG permet d'intégrer des images (GIF ou XBM) aux pages Web (Mosaic 0.10) ; les formulaires rendent le World Wide Web interactif (Mosaic 2.0pre5) et l'ouvre aux commandes par Internet.

[modifier] 1994

Avec l'apparition de Netscape Navigator 0.9 le 13 octobre, le support de nombreux éléments de présentation est ajouté : styles de texte, clignotement, centrage... Le développement de HTML prend alors deux voies divergentes. D'une part, les développeurs de navigateurs s'attachent à maximiser l'impact visuel des pages Web. D'autre part, les concepteurs du Web proposent d'étendre les capacités de description sémantiques (logos, notes de bas de page...) et les domaines d'applications (formules mathématiques, tables) de HTML. En ceci, ils suivent les principes de SGML consistant à laisser la présentation à un langage de style. En l'occurrence, les feuilles de style en cascade (CSS) sont prévues pour HTML.

Seul le support des tables est rapidement intégré aux navigateurs, notamment parce qu'il permet une très nette élaboration de la présentation. Le manque de structure du HTML alors mis en œuvre par Netscape Navigator, puis Microsoft Internet Explorer, est parfois dénoncé comme étant de la « soupe de balises » (tag soup en anglais).

[modifier] 1995 - 1996

En mars 1995, le W3C nouvellement fondé propose le résultat de ses recherches sur HTML+ : le brouillon HTML 3.0. Il comprend notamment le support des tables, des figures et des expressions mathématiques. Ce brouillon expire le 28 septembre 1995 sans donner de suites directes. Fin 1995, le RFC 1866 décrivant HTML 2.0 est finalisé. Ce document décrit HTML tel qu'il existait avant juin 1994, donc sans les nombreuses additions de Netscape Navigator.

[modifier] 1997

Le 14 janvier, le W3C publie la spécification HTML 3.2. Elle décrit la pratique courante observée début 1996, donc avec une partie des additions de Netscape Navigator et Internet Explorer. Ses plus importantes nouveautés sont la standardisation des tables et de nombreux éléments de présentation.

Le 18 décembre, le W3C publie la spécification HTML 4.0 qui standardise notamment le support des styles, les cadres (frames) et les objets (généralisation des images et des applets).

[modifier] 1998 - 1999

La dernière spécification de HTML est la 4.01 datant du 24 décembre 1999. Elle n'apporte que des corrections mineures à la version 4.0.

[modifier] 2000 à nos jours

Le développement de HTML en tant qu'application de SGML est abandonné au profit de XHTML, application de XML. La première étape est la spécification XHTML 1.0, publiée le 26 janvier 2000. Il s'agit d'une reformulation de HTML 4.01 basée sur XML au lieu de SGML.

La seconde étape est la spécification XHTML 1.1, publiée le 31 mai 2001. Il s'agit d'un classement des fonctionnalités de XHTML 1.0 en modules.

[modifier] Quelques balises

Balise : Effet : Résultat :
<b>texte</b> Texte en gras Résultat
<i>texte</i> Texte en italique Résultat
<u>texte</u> Texte souligné Résultat
<s>texte</s> Texte barré Résultat
<img src="exemple.jpg" alt="Texte alternatif"> Insère une image Texte alternatif  
<a href="accueil.html" title="Description courte du lien">texte</a> Insère un lien hypertexte Résultat  
<font>texte</font> Font agit sur le texte (pas seul)  
<font color="#cc0000">texte</font> Affiche le texte dans la couleur choisie Résultat
<font size="4">texte</font> Met une valeur à la taille du texte Résultat
<table> </table> Génère un tableau vierge (pas de résultat)
<th> </th> Génère une case d'en-tête dans une ligne vierge (pas de résultat)
<tr> </tr> Génère une ligne vierge dans un tableau vierge (pas de résultat)
<td>texte</td> Génère une case dans une ligne vierge texte

[modifier] Un exemple de document HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html lang="fr">
   <head>
      <title>Mon premier document HTML</title>
   </head>

   <body>
      <p>Bonjour tout le monde&nbsp;!</p>
   </body>
</html>

[modifier] Voir aussi

[modifier] Liens internes

[modifier] Liens externes

[modifier] Références

[modifier] Outils de validation


Portail de l'informatique – Accédez aux articles de Wikipédia concernant l’informatique.
Portail de l'écriture – Accédez aux articles de Wikipédia concernant les écritures et les alphabets.
THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu