Une page HTML n'est
rien d'autre qu'un simple fichier texte avec une extension .html
ou .htm. HTML
étant un langage interprété, le contenu du fichier .html
n'a pas à passer par une phase de traitement particulier comme par
exemple une compilation. Il suffit donc d'un éditeur de texte
basique pour créer des fichiers .html (ie des pages HTML) qui vont être
ensuite directement lus, interprétés, puis affichés, le plus
généralement par un navigateur Web - Firefox,
Chrome, Internet Explorer, Opera,
Safari,
etc).
Dans les spécifications techniques du langage, on parle d'un "agent utilisateur" (user-agent). Un agent utilisateur est n'importe quel logiciel qui récupère, fait le rendu et facilite l'interaction de l'utilisateur final avec un contenu web. L'agent utilisateur le plus généralement utilisé est un navigateur, mais ça peut être aussi une application de synthèse vocale pour les personnes ayant un handicap visuel, un robot d'indexation d'un moteur de recherche, un logiciel d'édition de pages HTML, etc.
HTML a été conçu pour décrire la structure d'un document (ie une page HTML) et donner du sens (sémantique) aux informations textuelles contenues dans ce document.
HTML ne fait pas de traitement : il n'existe ni variables, ni instructions (de boucles, de tests, etc), ni regroupement d'instructions (fonctions, objets, méthodes, etc).
HTML utilise des balises pour marquer les informations contenues dans le document.
L'étude du code précédent montre les grands principes de construction du code HTML.
Pour définir une information, il y a généralement une balise pour marquer
le début de cette information (<balise>) et une
balise pour marquer la fin de cette information </balise>).
Les balises ont une syntaxe particulière (<balise>
et </balise>).
Les balises ont des noms différents suivant ce qu'elles définissent : le document html, l'en-tête, le titre, le corps du document, un paragraphe, une liste, une ligne de la liste, un élément important, un lien, une image.
Certaines balises sont accompagnées d'attributs qui
permettent de mieux caractériser leur contenu (<img>
et <a>).
Les éléments entourés par les balises sont imbriqués : le document contient un en-tete et un corps, le corps du document contient un paragraphe et une liste, la liste contient des lignes, les lignes contiennent du texte simple et des mots importants.
Les balises donnent du sens aux informations, mais aucune
indication sur la mise en forme de ces informations. Pourtant le
navigateur a décidé de la façon dont il allait afficher les
informations. Le titre du document apparait dans la barre de titre
de la fenêtre (ou de l'onglet) du navigateur et le corps du document
appraît dans la zone d'affichage de la fenêtre. Il a fait des sauts
de lignes entre certaines informations (le paragraphe et la liste,
les lignes de la liste). Le navigateur a également décidé de
présenter les lignes de liste précédée d'un point. Il a rendu les
parties de textes signalées comme importantes (<strong>)
en caractères gras.
Les espaces consécutifs, tabulations et sauts de lignes que l'on a mis dans notre code HTML ne sont pas reproduits par le navigateur : les espaces consécutifs et les tabulations sont remplacées par un seul espace, les saut de ligne dans le texte sont ignorés.
La page affiche une image (données binaires) alors que le code HTML ne contient que du texte. Les éléments non textuels sont insérés dans la page au moment de son affichage et non pas inclus directement dans le code de la page.
Ce mécanisme de liaisons d'éléments externes peut être utilisé pour faire référence à d'autres documents HTML qui seront accessibles par un click sur un élément particulier (ie un lien).
HTML est un standard
(et pas une norme) défini par le W3C (World Wide Web Consortium). Il est le
fruit de discussions dans des groupes de travail. Le temps peut
être très long entre le moment où une nouvelle idée est présentée
et le moment où elle devient une recommandation du W3C. Ce temps très long
dans la mise au point des spécifications techniques du langage
explique pourquoi les navigateurs ne sont pas égaux dans les
implémentations qu'ils font du langage. Il existe toujours un
décalage entre ce qui est en discussion et ce qui "fonctionne"
réellement. A noter que ce décalage est la plupart du temps en
faveur des navigateurs qui implémentent des fonctionnalités qui ne
sont pas encore exactement définies (avec le risque que à terme
l'implémentation ne corresponde pas à 100% à ce qui défini dans le
standard).
Principes de conception de HTML
Le W3C a pour but
d'élaborer des standards de fonctionnement du web et de certains
des langages informatiques qui y sont utilisés (HTML, CSS, XML sont les plus
connus).
Le W3C est composé d'entreprises et d'organisations comme Apple,
Adobe, la fondation Mozilla, Google, HP, IBM, Microsoft, Opera
Software, Sun et de n'importe quelle personne intéressée par les
sujets traités et ayant des compétences techniques en la matière.
Avant de devenir un standard, les spécifications élaborées par le W3C ont différents
statuts suivant leur état d'avancement :