Introduction au code HTML et SGML
Introduction au code HTML et SGML
merci à Emmanuel
Nauer
<HTML>
<HEAD>
<TITLE>Exemple de fichier HTML</TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>
Qu’est-ce ?
Standard Generalized Markup Language
Langage permettant de définir des types de documents structurés
méta-langage pour construire des langages de balisage
Utilisation d’un principe de balisage logique
Objectifs
Méthode normalisée pour représenter un document
Indépendant des systèmes de saisies et de traitements
Indépendant de la forme physique finale
<Formation>
<Intitulé> IUP IHM 1</Intitulé>
<Intervenants>
<Enseignant label="1">G. Michel</Enseignant>
<Enseignant label="2">E. Nauer</Enseignant>
...
</Intervenants>
Couple (attribut,valeur)
<Contenu>
<Cours id="1" intervenant="2">
<Titre>Internet</Titre>
<VolumeHoraire>40</VolumeHoraire>
</Cours>
...
</Contenu> Élément
</Formation>
Balise fermante
Intérêt de SGML
SGML permet – via la DTD – de définir :
l’ensemble des balises pour identifier les éléments d’un document, et
les règles formelles qui décrivent sa structure
Positionnement de HTML par rapport à SGML
HTML est une classe de document SGML
HTML est une DTD SGML
Chaque version de HTML = une DTD différente
Versions actuellement utilisées
HTML version 3.2
HTML version 4.0
Qu’est-ce ?
Langage de définition de documents sur le Web
Utilise le principe de balisage introduit dans SGML :
<HTML>
<HEAD>
<TITLE>Exemple de fichier HTML</TITLE>
</HEAD>
<BODY>
<H1>Exemple de fichier HTML</H1>
<P>Ceci est un exemple de fichier <HREF="[Link]
</P>
Un fichier HTML peut contenir :
<UL>
<LI>le texte destin é à être lu;
<LI>des indications de formatage :
<OL>
<LI> caractès <B>gras</B>, <I>italiques</I>, ...
<LI> niveaux de sections,
<LI> listes, ...
</OL>
<LI>des liens <A HREF="[Link]">hypertextes</A> (ancre + URL) ;
<LI>mon université <IMG SRC="[Link] ALIGN=middle>
</UL>
</BODY>
</HTML>
HTML 1.0
Texte de base, images, liens hypertextes
HTML 2.0
Formulaires de saisie
HTML 3.2
Justification (gauche, centre, droite)
Tableaux
Équations mathématiques
HTML 4.0 Figures
Feuilles de style Imagemap
…
Document HTML
<HTML>
<HEAD>
<TITLE>Exemple de document HTML</TITLE>
Entête
</HEAD>
<BODY>
<H1>Mon 1er document HTML</H1>
<P> Corps
Ceci est un document HTML avec un lien hypertexte sur mon
<A HREF="[Link]
</P>
</BODY>
</HTML>
Position
en début de document
(après près la balise <HTML> et avant la balise <BODY>)
Rôle
Fournir des informations au sujet du document
Contenu
<TITLE>…</TITLE>
Titre de la fenêtre dans laquelle la page s'affiche
<META>
Différentes informations sur le document ou pour la gestion de
celui-ci
<META NAME="author"
CONTENT=« bob synclar">
<META NAME="keywords"
CONTENT=« synclar, page, personnelle, homepage, informatique">
<META NAME="description"
CONTENT="Page personnelle de bob synclar">
Exemples (suite)
Position
placé immédiatement après la balise </HEAD>
Rôle
Délimiter le corps du document
Permet de définir l'apparence du fond de l'écran
et la couleur des éléments textuels
Remarques
– 1 seule balise <BODY> par page
SAUF pour les pages comprenant des frames
– La balise peut s'employer seule ou avec des options
– </BODY> est placé immédiatement avant la balise </HTML>
Affichage écran
Tout texte tapé hors d'une balise est considéré comme du texte et
apparaîtra de ce fait à l'écran
Mise en forme à 2 niveaux
Caractères
Paragraphes
Codage de caractères
Utilisation d’un système de codage qui permette un affichage universel
quelque soit la langue de l'ordinateur sur lequel les pages sont lues.
Spécifiques à certaines langues (et notamment au français)
De la forme : &entité;
Les styles
Gras : <B> … </B>
Italique : <I> ... </I>
Souligné : <U> … </U>
Si cette balise n'est pas utilisée, la taille par défaut des caractères
est fixée à 3.
<CENTER> … </CENTER>
Centre les éléments inclus entre la balise ouvrante et la balise
fermante
<JUSTIFY> … </JUSTIFY>
Justifie les éléments inclus entre la balise ouvrante et la balise
fermante
À utiliser avec prudence !
<BR>
Pas de balise fermante !
Retour à la ligne
<BR><BR> : 2 retours à la ligne = 1ligne d'espacement
Autre équivalence :
<P ALIGN="CENTER"> ... </P>
équivaut à <CENTER> </CENTER>
<PRE> … </PRE>
<PRE>
\ / \ /
\/ \/
/\ /\
/ \ / \
</PRE>
Forme de la puce
Suivant le niveau d'imbrication, les puces sont différentes
Par défaut, on obtient :
pour le 1er niveau (le 4ème, le 7ème, …)
pour le 2ème (le 5ème, le 8ème, …)
pour le 3ème (le 6ème; le 9ème, …)
<HR SIZE="s"
WIDTH="w|w%"
ALIGN="LEFT|CENTER|RIGHT"
COLOR="#RRVVBB"
NOSHADE >
<HR>
Utilisée sans option, cette balise produit une ligne grise ombrée de 1
pixel d'épaisseur faisant toute la largeur de la fenêtre
Attention, options particulières à certains navigateurs !
COLOR="#RRVVBB"
Option valable avec Internet Explorer
Permet de spécifier la couleur de la ligne
NOSHADE
Option valable avec Netscape
Permet de désactiver l'ombrage de la ligne
Lien hypertexte
Permet d’associer un document (i.e. fichier) à une zone cliquable
Deux types de liens hypertextes
Absolus : équivalent à une URL, à utiliser lorsque le document appelé
n’est pas situé sur le même site que le document appelant.
Relatifs : URL - <protocole>://[user[:password]@]<machine>[:port]
à utiliser lorsque le document appelé est situé sur le même site que
le document appelant.
[Link] [Link]
[Link]
plus_bas
[Link]
[Link]
plus_bas
plus_bas_aussi
encore_plus_bas
encore_plus_bas
[Link]
[Link]
[Link] ../plus_bas_aussi/encore_plus_bas/
_plus_bas/[Link] [Link]
Voir les attributs de la balise Ecrire du code Html Sauvegarder html 43
Les liens externes
Lien interne
Lien qui amène à un endroit spécifique de la page HTML en cours.
Deux étapes :
Mise en place d'une étiquette à l'emplacement à atteindre avec la
balise : <A NAME="nom de l'étiquette">
Appel du lien de manière classique, mais où l'adresse de la page à
atteindre est remplacée par le nom de l'étiquette précédée d'un #
<A HREF="[URL]#nom de l'étiquette"> … </A>
Remarque
Possibilité d'atteindre un emplacement spécifique d'une page
différente de celle où a lieu l'appel de lien en combinant les liens
externes et internes (en faisant suivre l’URL par un # puis le nom de
l'étiquette).
Exemples
[Link]
...
<A NAME="p1">
Le sujet abordé ici est ...
...
<A NAME="p2">
Contrairement à ce qui était mentionné au
<A HREF="#p1">paragraphe 1</A>
[Link]
<IMG SRC="url"
WIDTH="w|w%"
HEIGHT="h|h%"
ALT="texte"
BORDER="b">
SRC="url"
Adresse du fichier image à insérer.
WIDTH="w|w%"
Largeur de l'image affichée.
Si cette option n'est pas spécifiée, l'image est affichée à sa taille
réelle.
On indique soit la valeur en pixel, soit en pourcentage de la taille
originale de l'image
HEIGHT="h|h%"
Hauteur de l'image affichée (mêmes remarques que pour WIDTH).
NB : quand une seule des deux options WIDTH ou HEIGHT est
spécifiée, l'autre est automatiquement calculée en proportion.
NB2 : toujours indiquer au moins un des deux paramètres pour
accélérer l'affichage
ALT="texte"
Texte apparaissant dans une info-bulle quand la souris est
positionnée pendant 1 à 2 secondes sur l'image.
BORDER="b"
BORDER : taille en pixel de la bordure autour de l'image.
Si l'image est un lien et qu'on ne veut pas voir de bordure de la
couleur spécifiée dans l’option LINK du BODY, mettre 0.
Principes
Association d’une carte à une image
COORDS="x1,y1,x2,y2"
Utilisé si SHAPE="rect"
(x1, y1) défini le coin supérieur gauche de la zone rectangulaire,
(x2, y2) défini le coin inférieur droit.
COORDS="x,y,r"
Utilisé si SHAPE="circle"
(x, y) désigne le centre du cercle, r désigne le rayon.
COORDS="x1,y1,x2,y2, ... xn,yn "
Utilisé si SHAPE="poly"
(xi, yi) définissent les point successifs du polygone.
Le polygone est fermé :
(x1, y1) est automatiquement relié à (xn, yn)
<MAP NAME="carte_image">
<AREA SHAPE="rect" COORDS="25,25,75,75"
HREF="[Link]">
<AREA SHAPE="circle" COORDS="150,50,25"
HREF="[Link]">
<AREA SHAPE="poly" COORDS="200,50,250,75,275,25,250,25"
HREF="[Link]">
</MAP>
300 pixels
100 pixels
[Link]
<TABLE WIDTH="w|w%"
BORDER="b"
CELLPADDING="cp"
CELLSPACING="cs">
WIDTH="w|w%"
Largeur du tableau exprimée en pixel ou en pourcentage de la
largeur de la fenêtre (à utiliser avec prudence).
BORDER="b"
Largeur de l'encadrement du tableau et des cellules exprimée en
pixels.
Si une cellule est vide, il n'apparaît pas.
CELLPADDING="cp"
Marge intérieure de chaque cellule (en pixels).
CELLSPACING="cs"
Espacements horizontal et vertical entre les cellules
du tableau
<TR ALIGN="LEFT|CENTER|RIGHT|JUSTIFY"
VALIGN="TOP|MIDDLE|BOTTOM">
ALIGN="LEFT|CENTER|RIGHT|JUSTIFY"
Alignement horizontal du contenu de toutes les cellules de la ligne :
LEFT à gauche (attribut par défaut)
CENTER au centre
RIGHT à droite
JUSTIFY justifié (à utiliser avec prudence !)
VALIGN="TOP|MIDDLE|BOTTOM">
Alignement vertical du contenu de toutes les cellules de la ligne :
TOP haut de la cellule
MIDDLE centre verticalement (attribut par défaut)
BOTTOM bas de la cellule
<TD ALIGN="LEFT|CENTER|RIGHT|JUSTIFY"
VALIGN="TOP|MIDDLE|BOTTOM"
COLSPAN="c"
ROWSPAN="r"
WIDTH="w|w%">
ALIGN="LEFT|CENTER|RIGHT|JUSTIFY"
Alignement horizontal cellule par cellule (cf. <TR> … </TR>).
VALIGN="TOP|MIDDLE|BOTTOM"
Alignement vertical cellule par cellule (cf. <TR> … </TR>).
WIDTH="w|w%"
Largeur de la cellule en pixels ou en pourcentage de la largeur du
tableau.
A spécifier une seule fois dans le tableau (ie pour une seule ligne)
car elle détermine la largeur de la colonne dont fait partie la
cellule.
Quand cette option est omise, la largeur des cellules est calculée par
rapport à celle du tableau, aux espacements et la largeur de la
cellule contenant le plus de texte, colonne par colonne).
Remarques
Veiller à avoir le même nombre de cellules pour chaque ligne du
tableau (en fusionner éventuellement).
Si une cellule sur une ligne est vide, y mettre quand même un
espace insécable ( )
COLSPAN="c"
Nombre de cellules fusionnées à l'horizontal.
Permet de disposer du texte au dessus de plusieurs
colonnes.
Pour que le tableau s'affiche correctement, il faut que ligne
par ligne, le nombre de cellules soit le même. Dans ce
cas où une cellule est une cellule fusionnée (avec un
COLSPAN), elle compte pour autant de cellule que la
valeur du COLSPAN.
ROWSPAN="r"
idem pour <TD
les fusions à la verticale ROWSPAN=3>
<TD COLSPAN=2>
Objectif
Permettent d'obtenir une ou plusieurs divisions horizontales et/ou
verticales de la fenêtre du navigateur, et ainsi de disposer
"virtuellement" de plusieurs fenêtres.
Utilisation
Au moins une des divisions est généralement employée pour
afficher un menu de parcours du site.
<FRAMESET ROWS|COLS="d1[,d2,d3…],*"
BORDER="b"
FRAMEBORDER="YES|NO"
FRAMESPACING="fs">
ROWS|COLS="d1[,d2,d3…],*"
ROWS division en lignes (horizontale)
COLS pour une division en colonnes (verticale)
Fichier [Link]
<FRAMESET cols="70,424">
<FRAME name="menu" src="[Link]">
<FRAMESET rows="69,487">
<FRAME name="titre" src="[Link]">
<FRAME name="contenu" src="[Link]">
</FRAMESET>
</FRAMESET>
titre [Link]
menu
[Link] contenu [Link]
NAME="nom de la frame"
Désignation utilisée pour identifier chaque cadre.
Sert à désigner le cadre dans lequel va s’afficher un document pointé
par un lien hypertexte.
Option TARGET (dans un élément A) utilisée avec HREF.
< A TARGET="nom du cadre de destination" HREF="url" >
L’absence de TARGET dans un élément A provoque l ’affichage dans
le cadre qui contient le lien.
Nom de cadre prédéfinis : _parent, _top, _blank, ...
Exemple
< A HREF="[Link]" TARGET="contenu">lien</A>
NORESIZE
Empêche le redimensionnement d’un cadre.
FRAMEBORDER, BORDER et FRAMESPACING
Mêmes fonctions que pour la balise FRAMESET
mais leur action est prioritaire s'ils sont ajoutés à la balise FRAME.
MARGINWIDTH="mw"
Espace vide laissé à gauche du cadre (en pixels).
MARGINHEIGHT="mh"
Espace vide laissé en haut du cadre (en pixels).
<FRAMESET ROWS="33%,33%,*">
<FRAME NAME="2" SRC="[Link]" SCROLLING="auto">
<FRAME NAME="3" SRC="[Link]" SCROLLING="auto">
<FRAMESET COLS="50%,*">
<FRAME NAME="4" SRC="[Link]" SCROLLING="auto">
<FRAME NAME="5" SRC="[Link]" SCROLLING="auto">
</FRAMESET>
<FRAMESET>
</FRAMESET>
[Link]
<FRAMESET COLS="50%,*" BORDER="2" FRAMEBORDER="YES" >
<FRAME NAME="1" SRC="[Link]" SCROLLING="yes">
<FRAME NAME="2" SRC="[Link]" >
</FRAMESET>
[Link]
<FRAMESET ROWS="33%,33%,*">
<FRAME NAME="21" SRC="[Link]">
<FRAME NAME="22" SRC="[Link]">
<FRAME NAME="23" SRC="[Link]">
21 </FRAMESET>
1 2
22 [Link]
<FRAMESET COLS="50%,*">
<FRAME NAME="231" SRC="[Link]" >
231 3
23 232 <FRAME NAME="232" SRC="[Link]" >
</FRAMESET>
Découpage unique
Avantage : facilite la maintenance car il n'y a qu'un seul
fichier FRAMESET.
Inconvénient : impossibilité de remettre simultanément à jour
plusieurs cadres.
HEIGTH="h"
Hauteur de la fenêtre en pixel
WIDTH="w"
Largeur de la fenêtre en pixel
ALIGN="left|center|right|justify"
Alignement de la fenêtre dans le document qui la contient
Objectif
Interagir avec l’utilisateur
Permet d'obtenir des réponses de l'utilisateur
Balise
<FORM METHOD="GET|POST"
ACTION="Programme" >
</FORM>
METHOD / ACTION
Programme = méthode de traitement des informations recueillies dans le
questionnaire.
Les valeurs à indiquer pour ces options sont à remplir suivant les indications
de l'hébergeur.
Rôle
Permet de définir les différents types de champ d’un formulaire :
zone de saisie,
case à cocher,
bouton radio,
bouton de confirmation,
bouton de remise à zéro des champs.
Différentes syntaxes
Le contenu des attributs est dépendant du type de champ.
VALUE="valeur"
valeur correspond au :
• au contenu initial de la zone de saisie (si TYPE="TEXT")
• au libellé du bouton (si TYPE="SUBMIT" ou "RESET")
• à la valeur retournée (si TYPE="CHECKBOX" ou "RADIO")
CHECKED
Dans le cas d’un bouton à cocher, indique qu’il apparaît coché par
défaut
SRC="url"
Utilisé avec TYPE="IMAGE"
Adresse d’une image à afficher, celle-ci jouant le rôle de bouton de
validation
SIZE="taille"
Utilisé avec TYPE="TEXT"
Correspond à la taille de la zone de saisie.
MAXLENGTH="nb"
Utilisé avec TYPE="TEXT"
Nombre maximum de caractères qu’il est possible de saisir.
Exemple
<INPUT TYPE="TEXT"
NAME="case_texte_1"
VALUE="Texte par défaut"
SIZE="20" Texte par défaut
MAXLENGTH="80" >
Principes
La case fait 20 caractères de large.
Il est possible d’y saisir 80 caractères au maximum.
Exemple
Choix 1 <INPUT TYPE="CHECKBOX" NAME="case_1"
VALUE="1" CHECKED><BR>
Choix 2 <INPUT TYPE="CHECKBOX" NAME="case_2"
VALUE="1"><BR>
Choix 3 <INPUT TYPE="CHECKBOX" NAME="case_3"
VALUE="1"><BR>
Choix 4 <INPUT TYPE="CHECKBOX" NAME="case_4"
VALUE="1">
Principes
Plusieurs cases peuvent avoir l'option CHECKED
Les 4 cases n'ont pas le même nom
VALUE indique la valeur qui sera retournée en fonction des la(les)
cases cochées.
Exemple
Choix 1 <INPUT TYPE="RADIO" NAME="BoutonRadio"
VALUE="1" CHECKED><BR>
Choix 2 <INPUT TYPE="RADIO" NAME="BoutonRadio"
VALUE="2"><BR>
Choix 3 <INPUT TYPE="RADIO" NAME="BoutonRadio"
VALUE="3"><BR>
Choix 4 <INPUT TYPE="RADIO" NAME="BoutonRadio"
VALUE="4">
Principes
Une seule case peut avoir l'option CHECKED
Les 4 cases ont le même nom
VALUE indique la valeur qui sera retournée en fonction de la
case cochée.
SIZE="1|s"
SIZE="1" liste déroulante
SIZE"1" liste défilante.
Exemple
<HTML> de liste déroulante
<HEAD><TITLE>Exemple de fichier HTML</TITLE></HEAD>
<SCRIPT>
</SCRIPT>
<BODY>
<SELECT NAME="liste1" SIZE="1">
<OPTION>Ligne 1</OPTION>
<OPTION>Ligne 2</OPTION>
<OPTION>Ligne 3</OPTION>
</SELECT>
</BODY>
</HTML>
Voir les attributs de la balise Ecrire du code Html Sauvegarder html 96
< TEXTAREA … > … </ TEXTAREA ...>
Qu’est-ce ?
Image transparente de 1 pixel de large x 1 pixel de haut,
déformé avec les attributs HEIGHT et WIDTH de la balise IMG.
Rôle
Permet le positionnement d’une information à un endroit exact de la
fenêtre.
Voir les attributs de la balise Ecrire du code Html Sauvegarder html 100
Commentaire
Utilisé par des outils de création de page Web pour laisser une
signature.
Attention !
Ne jamais oublier la taille des pages.
Voir les attributs de la balise Ecrire du code Html Sauvegarder html 101
Mailto
<A HREF="[Link]
…
</A>
Rôle
Permet de déclencher l’ouverture d’une nouvelle fenêtre pour l’envoi
d’un courrier électronique.
L’ouverture se réalise lorsqu’on clique sur le lien compris dans
l’élément A.
Le destinataire est toto@[Link]
Le sujet est bla-bla-bla...
Voir les attributs de la balise Ecrire du code Html Sauvegarder html 102
HTML 4
Voir les attributs de la balise Ecrire du code Html Sauvegarder html 103
HTML 4
HTML dynamique :
nom générique des versions spécifiques de Microsoft et
Netscape pour faire évoluer HTML dans le domaine de
l'animation des pages.
Chacun, en tenant bien évidemment compte de sa propre
vision (et de ses propres développements).
HTML 4 :
norme officielle d'évolution de HTML
comprend de nouvelles instructions pour la mise en page de
document HTML
Voir les attributs de la balise Ecrire du code Html Sauvegarder html 104
Feuille de style
Qu’est-ce ?
= Ensemble de mises en forme génériques (position des éléments,
aspect des textes à afficher, …) associés à des balises.
Voir les attributs de la balise Ecrire du code Html Sauvegarder html 105
Feuille de style
Syntaxe
Balise {propriété: valeur [; propriété: valeur …]*}
Exemples
H1 {font-size: 20pt; font-weight: bold ; color: red}
H2 {font-size: 16pt; font-weight: bold ; color: #080000}
P {margin-left: -20px; margin-right: -20px; margin-top: 30px}
BODY {background: URL([Link]
text-indent: 2cm}
Trois possibilités pour les définir :
Dans la page elle-même : - localement dans un élément
- globalement pour la page
Dans un fichier séparé.
Voir les attributs de la balise Ecrire du code Html Sauvegarder html 106
Définition de styles
Définition locale
<P STYLE="margin-left: 1in; margin-right: 1in; color: #0000FF">
Définition globale (dans l’entête < HEAD > … </
HEAD >)
<STYLE type="text/css">
P {font-size: 14pt; color: red ; text-align: center}
[Link] {color: #FF0000; font-size: 20pt}
[Link] {color: #0000FF; font-size:20pt}
</STYLE>
Possibilité de définir
Utilisation des sous-classes
<H1 CLASS=red>This will be red< /H1>
<P> … </P>
<H1 CLASS=blue>This will be blue< /H1>
Voir les attributs de la balise Ecrire du code Html Sauvegarder html 107
Définition de styles
Définition externe
<LINK REL=STYLESHEET HREF="...URL…
TYPE="text/css" >
Utilisation
idem que précédemment
Voir les attributs de la balise Ecrire du code Html Sauvegarder html 108
Définition de styles : positionnement
Voir les attributs de la balise Ecrire du code Html Sauvegarder html 109
Définition de styles : polices
Voir les attributs de la balise Ecrire du code Html Sauvegarder html 110
Définition de styles : polices
font-family : police
Valeurs possibles :
serif, sans-serif, cursive, fantasy, monospace
ou police précise
color : couleur
Valeurs possibles :
#rrvvbb (codage classique)
valeur symbolique
Voir les attributs de la balise Ecrire du code Html Sauvegarder html 111
Définition de styles : divers
Voir les attributs de la balise Ecrire du code Html Sauvegarder html 112
CSS auto
[Link]
Spécification de CSS
[Link]
[Link]
[Link]
code de couleurs
[Link]
php
Voir les attributs de la balise Ecrire du code Html Sauvegarder html 113
Pour la beauté de la page
[Link]
Voir les attributs de la balise Ecrire du code Html Sauvegarder html 114
HTML 5
Voir les attributs de la balise Ecrire du code Html Sauvegarder html 115