Hypertext Markup Language
Un article de Wikipédia, l'encyclopédie libre.
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é | |
<img src="exemple.jpg" alt="Texte alternatif"> | Insère une image | |
<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 !</p> </body> </html>
[modifier] Voir aussi
[modifier] Liens internes
[modifier] Liens externes
- La catégorie HTML de l'annuaire dmoz.
[modifier] Références
- (en) RFC 1866, Hypertext Markup Language - 2.0, (novembre 1995)
- (en) HTML 3.2 Reference Specification (Recommandation du W3C, 14 janvier 1997)
- (en) HTML 4.0 Specification (Recommandation du W3C, 18 décembre 1997)
- (en) HTML 4.01 Specification (Dernière recommandation HTML 4 du W3C, 24 décembre 1999)
- (fr) La spécification HTML 4.01 (traduction)
- (fr) ISO/IEC 15445:2000, Langage de balisage d'hypertexte (norme ISO)
[modifier] Outils de validation
- (en) W3C Markup Validation Service
- (fr) Validome : validateur HTML/XHTML
- (fr) Validateur W3C Multipage
|
|