Cours de Conception de Site Web Statique

COURS DE CONCEPTION DE SITE WEB STATIQUE
Chapitre 2 : Etude du langage HTML
I. INTRODUCTION AU HTML
Le HTML (HyperText Markup Language) est un format de présentation de données permettant de créer des pages web pouvant être lues dans des navigateurs.
C'est un langage de description de données, et non un langage de programmation. Il s'agit d'un langage permettant de décrire la mise en page et la forme d'un contenu rédigé en texte simple.
Une page HTML est ainsi un simple fichier texte contenant des balises (parfois appelées marqueurs ou repères ou tags en anglais) permettant de mettre en forme le texte, les images, etc.
Il est important de comprendre que le langage HTML est un standard, c'est-à-dire qu'il s'agit de recommandations publiées par un consortium international : le World Wide Web Consortium (W3C).
Les spécifications officielles du HTML décrivent donc les "instructions" HTML mais en aucun cas leur implémentation, c'est-à-dire leur traduction en programmes d'ordinateur, afin de permettre la consultation de pages web indépendamment du système d'exploitation ou de l'architecture de l'ordinateur.
Toutefois, aussi étoffées les spécifications soient-elles, il existe toujours une marge d'interprétation de la part des navigateurs, ce qui explique qu'une même page web puisse s'afficher différemment d'un navigateur Internet à l'autre.
II. LES BALISES HTML
1. Comment utiliser les balises HTML ?
Une balise est un élément de texte (un nom) encadrée par le caractère inférieur (<) et le caractère supérieur (>). Par exemple ‘’ <H1> ‘’.
Les balises HTML ne sont pas sensibles à la casse, c'est-à-dire qu'elles peuvent être saisies indifféremment en minuscules ou en majuscules !
Les balises HTML fonctionnent par paire afin d'agir sur les éléments qu'elles encadrent. La première est appelée ‘’ balise d'ouverture ‘’ (parfois baliseouvrante) et la seconde ‘’ balisede fermeture ‘’ (ou fermante). La balise fermante est précédé du caractère /) :
<marqueur> Votre texte formaté </marqueur>
A titre d'exemple, les balises <b> et </b> permettent de mettre en gras le texte qu'elles encadrent :
<b> Ce texte est en gras </b>
Les balises HTML peuvent parfois être uniques : la balise <br> représente par exemple un retour à la ligne.
Afin d'être le plus proche possible du standard XHTML (beaucoup plus stricte que le standard HTML), il est conseillé d'utiliser la notation suivante : <br />.
2. Imbrication des balises
Les balises HTML ont la particularité de pouvoir être imbriquées de manière hiérarchique afin de permettre le cumul de leurs propriétés. En contrepartie le chevauchement de balises n'est pas toléré par le standard HTML. Voici un exemple de texte formaté avec des balises imbriquées :
<i><b>Mon pays, est la Cote d’Ivoire</b></i> : imbrication de balises
<i><b>Mon pays</b>, est la Cote d’Ivoire</i> : chevauchement de balises
En contrepartie l'exemple ci-dessous n'est pas correct :
<i><b>Mon pays</i>, est la Cote d’Ivoire </b>
3. Notion d'attribut
Un attribut est un élément, présent au sein de la balise ouvrante, permettant de définir des propriétés supplémentaires. Les attributs se présentent la plupart du temps comme une paire clé=valeur, mais certains attributs ne sont parfois définis que par la clé.
Voici un exemple d'attribut pour la balise <p> (balise définissant un paragraphe), permettant de spécifier que le texte doit être aligné sur la droite :
<p align="right">Exemple de paragraphe</p>
Chaque balise peut comporter un ou plusieurs attributs, chacun pouvant avoir (aucune,) une ou plusieurs valeurs.
4. Espaces, saut de ligne et tabulations
Le langage HTML ne tient pas compte des espaces, des tabulations et des sauts de ligne (ci-après appelés) ou plus exactement il considère une suite d'un ou plusieurs espaces/tabulations/saut de ligne comme une seule espace. Cela permet notamment d'indenter le code HTML pour plus de lisibilité, sans modifier l'apparence de la page HTML dans le navigateur.
Le langage HTML possède par contre des éléments permettant expressément de définir chacun de ces éléments de mise en forme :
• Espace insécable : il s'agit d'une espace ne pouvant être brisée par une fin de ligne.
Sa représentation en HTML est .
• Saut de ligne manuel : il s'agit d'un saut de ligne explicite. Sa représentation en HTML est <br> (<br /> pour être conforme au XHTML).
NB : A noter: La balise <nobr> </nobr> permet à l'inverse d'empêcher le retour automatique à la ligne réalisé par le navigateur !
5. Commentaires
Il est possible d'ajouter des éléments d'information dans une page web sans que ceux-ci soient affichés à l'écran grâce à un jeu de balises spécifique, appelé balises de commentaires.
<!-- Voici un commentaire -->
Les balises de commentaires permettent de mettre en commentaire du texte mais peuvent également servir à commenter du code HTML.
III. STRUCTURE D'UN DOCUMENT HTML
1. Notion de document HTML
Une page HTML est un simple fichier contenant du texte formaté avec des balises HTML.
Une page web peut être construite à partir du plus basique des éditeurs de texte (une application bloc-note par exemple), mais il existe des éditeurs beaucoup plus évolués.
Les éditeurs WYSIWYG («What You See Is What You Get», littéralement «ce que vous voyez est ce que vous obtenez») sont des éditeurs graphiques permettant de travailler sur une page web telle qu'elle sera affichée sur un navigateur à quelques détails près. Grâce à ce genre d'éditeurs il est possible d'ajouter des balises par simple clic et d'en modifier les attributs en éditant leurs propriétés dans un formulaire. Pour autant, afin d'utiliser au mieux ce genre d'éditeur, une connaissance préalable du HTML est tout de même très utile.
Il existe également des éditeurs permettant d'éditer le code HTML en affichant les balises, les attributs et leurs valeurs avec différentes couleurs pour une meilleure lecture et proposant parfois des outils pour vérifier la validité du code HTML.
Par convention l'extension donnée à une page HTML est .htm ou .html mais une page web peut potentiellement porter n'importe quelle extension notamment les suivantes :
• .asp pour une page générée dynamiquement en ASP (Active Server Pages) ;
• .cgi pour une page générée dynamiquement avec des CGI (Common Gateway
Interface) ;
• .php, .php3 ou .php4 pour une page générée dynamiquement enPHP ;
• .pl pour une page générée dynamiquement en Perl (Practical Extraction and Report Language) ;
• etc.
2. Structure du document HTML
Un document HTML commence par la balise <HTML> et finit par la balise </HTML>. Il contient également un en-tête décrivant le titre de la page et un corps dans lequel se trouve le contenu de la page.
L'en-tête est délimité par les balises <HEAD> et </HEAD>. Le corps est délimité par les balises <BODY> et </BODY>.
Voici par exemple une page HTML minimaliste : <HTML>
<HEAD>
<TITLE>Titre de la page</TITLE>
</HEAD>
<BODY>
Contenu de la page
</BODY>
</HTML>
3. Déclaration du type de document
Il est conseillé d'indiquer dans la page HTML le prologue du type de document, c'est-à-dire une référence à la norme HTML utilisée, afin de spécifier le standard utilisé pour le codage de la page. Cette déclaration se fait par une ligne du type :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD> </HEAD>
<BODY>Contenu de la page</BODY>
</HTML>
La déclaration du document indique la DTD (Document Type Definition) utilisée, c'est-à-dire la référence des caractéristiques du langage utilisé. Le tableau ci-dessous récapitule les déclarations pour les principales versions du langage HTML :
Version | Déclaration |
HTML 2.0 | <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> |
HTML | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> |
3.2 | |
HTML 4.01 | • Strict : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" ""> • Transitional : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ""> • Frameset : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" ""> |
XHTML 1.0 | • Strict : <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "> • Transitional : <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""> • Frameset : <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" ""> |
XHTML 1.1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" ""> |
IV. CARACTERES SPECIAUX HTML
1. Codage des caractères spéciaux
Le standard HTML demande de respecter le codage des caractères ASCII 7 bits, c'est-à-dire que les caractères accentués ne sont pas autorisés. Il faut pour cela utiliser un codage particulier.
Pour coder un caractère accentué, il suffit de saisir une combinaison précédée du caractère & et terminée par un point-virgule ;. Voici la liste représentations HTML des caractères ASCII de 128 à 255 :
Caractère | Code ISO | Code HTML |
" | " | " |
& | & | & |
€ | € | € |
 | ||
‚ | ‚ | |
ƒ | ƒ |
„ | „ | |
… | … | |
† | † | |
‡ | ‡ | |
ˆ | ˆ | |
‰ | ‰ | |
Š | Š | |
< | ‹ | < |
Œ | Œ | |
 | ||
Ž | Ž | |
 | ||
 | ||
‘ | ‘ | |
’ | ’ | |
“ | “ | |
” | ” | |
• | • | |
– | – | |
— | — | |
˜ | ˜ | |
™ | ™ | |
š | š | |
› | › | > |
œ | œ | œ |
 | ||
ž | ž |
Ÿ | Ÿ | Ÿ |
espace | &nbps; | |
¡ | ¡ | ¡ |
¢ | ¢ | ¢ |
£ | £ | £ |
¤ | ¤ | ¤ |
¥ | ¥ | ¥ |
¦ | ¦ | ¦ |
§ | § | § |
¨ | ¨ | ¨ |
© | © | © |
ª | ª | ª |
« | « | « |
¬ | ¬ | ¬ |
­ | ­ | |
® | ® | ® |
¯ | ¯ | &masr; |
° | ° | ° |
± | ± | ± |
² | ² | ² |
³ | ³ | ³ |
´ | ´ | ´ |
µ | µ | µ |
¶ | ¶ | ¶ |
· | · | · |
¸ | ¸ | ¸ |
¹ | ¹ | ¹ |
º | º | º |
» | » | » |
¼ | ¼ | ¼ |
½ | ½ | ½ |
¾ | ¾ | ¾ |
¿ | ¿ | ¿ |
À | À | À |
Á | Á | Á |
 |  |  |
à | à | à |
Ä | Ä | Ä |
Å | Å | Å |
Æ | Æ | &Aelig |
Ç | Ç | Ç |
È | È | È |
É | É | É |
Ê | Ê | Ê |
Ë | Ë | Ë |
Ì | Ì | Ì |
Í | Í | Í |
Î | Î | Î |
Ï | Ï | Ï |
Ð | Ð | ð |
Ñ | Ñ | Ñ |
Ò | Ò | Ò |
Ó | Ó | Ó |
Ô | Ô | Ô |
Õ | Õ | Õ |
Ö | Ö | Ö |
× | × | × |
Ø | Ø | Ø |
Ù | Ù | Ù |
Ú | Ú | Ú |
Û | Û | Û |
Ü | Ü | Ü |
Ý | Ý | Ý |
Þ | Þ | þ |
ß | ß | ß |
À | à | à |
Á | á | á |
 | â | â |
à | ã | ã |
Ä | ä | ä |
Å | å | å |
Æ | æ | æ |
Ç | ç | ç |
È | è | è |
É | é | é |
Ê | ê | ê |
Ë | ë | ë |
Ì | ì | ì |
Í | í | í |
Î | î | î |
Ï | ï | ï |
Ð | ð | ð |
Ñ | ñ | ñ |
Ò | ò | ò |
Ó | ó | ó |
Ô | ô | ô |
Õ | õ | õ |
Ö | ö | ö |
÷ | ÷ | ÷ |
Ø | ø | ø |
Ù | ù | ù |
Ú | ú | ú |
Û | û | û |
Ü | ü | ü |
Ý | ý | ý |
Þ | þ | þ |
Ÿ | ÿ | ÿ |
2. Codage des signes HTML propres
Certains caractères ont une signification particulière en HTML, ayant une incidence forte sur le formatage de la page; il s'agit des caractères <, >, " et &. Le caractère < possède une importance particulière, dans la mesure où il représente pour le navigateur l'ouverture d'une nouvelle balise HTML.
Lorsque ces caractères sont utilisés dans un texte contenu dans une page web, il est donc impératif de les coder en HTML, au risque sinon de provoquer une erreur d'affichage dans le navigateur.
Caractère | Code ISO | Code HTML |
" | " | " |
& | & | & |
< | ‹ | < |
> | › | > |
Notez toutefois que les navigateurs actuels reconnaissent les caractères accentués, ainsi vous pouvez entrer des caractères accentués directement sous votre éditeur de texte, mais votre page HTML risque d'être illisible depuis l'étranger ou à partir de certains navigateurs.
V. LES BALISES DE STYLE
Les balises de style modifient la typographie du texte. Elles peuvent être imbriquées dans d'autres balises de style de la même façon qu'on le ferait avec un traitement de texte.
Voici une liste de balises de style reconnues par la plupart des navigateurs (chacun à sa façon si bien que certains ne font pas la différence entre ces styles).
Balise de style | Effet Visuel |
<ABBREV> | Abréviation |
<ACRONYM> | Acronyme |
<AU> | L'auteur |
<B> | Met la police en gras |
<BIG> | Police plus grande |
<BLINK> | Clignote (propre à Netscape) |
<CITE> | Citation |
<CODE> | Instruction |
<DEL> | Texte supprimé mais qui reste présent |
<DFN> | Définition d'instance |
<EM> | Emphase |
<I> | Italique |
<INS> | Nouveau texte inséré a cet endroit |
<KBD> | Clavier - Suite de caractères devant être tapés tel quel |
<PERSON> | Accentuation du nom d'une personne |
<Q> | ‘’Encadre le texte par des guillemets’’ |
<S> | Comme strike (barré) |
<SAMP> | Exemple |
<SMALL> | Police plus petite |
<STRONG> | Forte accentuation rendue par du gras |
<STRIKE> | Texte barré (comme S) |
<SUB> | Texte en Indice |
<SUP> | Texte en Exposant |
<TT> | Caractère de machine à écrire |
<VAR> | Nom d'une variable |
VI. NIVEAUX DE TITRES EN HTML
1. Niveaux de titre
Le langage HTML définit 6 niveaux de titre (en anglais heading), afin de définir une structuration hiérarchique des paragraphes dans un texte :
Balise | Effet Visuel |
H1 | Test |
H2 | Test |
H3 | Test |
H4 | Test |
H5 | Test |
H6 | Test |
2. Les attributs
Les attributs suivants peuvent être placés dans les balises de structure afin de permettre une disposition plus précise des éléments HTML :
Attribut | Valeur | Effet Visuel |
ALIGN | LEFT RIGHT CENTER JUSTIFY | Texte aligné à gauche Texte aligné à droite Texte centré Texte justifié |
NOWRAP | Interdit au navigateur d'effectuer un saut de ligne. | |
ID | Attribue un identifiant à la balise. Cet attribut est notamment utile pour la programmation en JavaScript | |
LANG | Spécifie un langage différent | |
CLASS | Assigne une classe au contenu (pour les feuilles de style). | |
CLEAR | Utilisé dans le cas d'un texte entourant une image. Il permet de descendre dans la page aussi loin qu'il est nécessaire pour atteindre une marge libre |
Voici un exemple d'en-tête : <H1 ALIGN=JUSTIFY> Texte justifié </H1>
VII. PARAGRAPHES
1. Paragraphes
Le langage HTML considère les paragraphes comme des blocs de texte. Les navigateurs répartissent au mieux leur contenu dans la fenêtre à moins qu'un attribut NOWRAP ou NOBR soit spécifié explicitement.
A l'intérieur d'un paragraphe, les espaces, tabulations et retours chariot comptent pour un seul espace.
La mise en page par blocs de texte est réalisée par l'intermédiaire de la paire de balises <p> et </p>. Cette balise accepte n'importe lequel des attributs vus précédemment.
Le retour chariot (retour à la ligne simple) est réalisé grâce à la balise <br> On peut aussi insérer une ligne horizontale grâce à la balise <hr>.
Balise | Attribut | Effet Visuel |
<br> | retour à la ligne | |
<p> et </p> | paragraphe | |
<hr size=5 width=20% align=left> | SIZE WIDTH ALIGN | Séparateur horizontal |
2. Conteneurs
Les balises servant à indenter le texte sont appelées des conteneurs.
Conteneur | Effet Visuel |
<blockquote> et </blockquote> | Texte indenté |
<address> et </address> | Pour écrire une adresse |
<note> et </note> | Permet de rédiger une note |
<fn> et </fn> | Permet de réaliser une note de fin de page |
<banner> et </banner> | Fixe un bloc de texte par rapport à la page |
<pre> et </pre> | Permet d'écrire un texte préformatté en conservant les espaces, les retours à la ligne et les tabulations. |
VIII. LISTES ET ENUMERATIONS
1. Les listes
Une liste est un paragraphe structuré contenant une suite d'articles. Le langage HTML définit trois types de listes :
• La liste ordonnée ;
• La liste non ordonnée ;
• La liste de définition.
a) Liste ordonnée
Conteneur | Type de liste | Effet Visuel |
<ol> <li> article 1 </li> <li> article 2 </li> </ol> | Liste ordonnée | article 1 article 2 article 3 |
b) Liste non ordonnée
Conteneur | Type de liste | Effet Visuel |
<ul> <li> article 1 </li> <li> article 2 </li> </ul> | Non ordonnée | article 1 article 2 article 3 |
c) Liste de définition
Conteneur | Type de liste | Effet Visuel |
<dl> <dt>Terme</dt> <dd>Définition</dd> </dl> | De définition | article 1 définition 1 article 2 définition 2 |
2. Attributs
Il existe des attributs spécifiques aux listes:
Attribut | Valeur | Effet Visuel | |
COMPACT | resserre l'interligne | ||
PLAIN | supprime les puces | ||
SEQNUM | définit le premier numéro | ||
START | définit le premier numéro | ||
CONTINUE | repart du numéro où il s'était à la liste précédente | arrété | |
TYPE (pour les listes ordonnées) | 1 A a I i | numérotation chiffrée (par défaut) numérotation en capitales numérotation en bas de casse numérotation en chiffres romains (I, II, III, IV ) numérotation en chiffres romains en bas de casse | |
TYPE (pour les listes nonordonnées) | circle square disc | puce circulaire puce carrée puce en disque |
IX. TABLEAUX HTML
1. Utilisation de tableaux
Il est souvent utile de présenter des informations mieux structurées qu'avec des listes. Les tableaux permettent de les afficher en lignes et en colonnes. Les tableaux sont définis comme étant des suites de lignes.
Un tableau doit respecter les quelques règles suivantes :
• Le tableau est encadré par les balises <TABLE> et </TABLE>.
• Le titre du tableau est encadré par <CAPTION></CAPTION>
• Chaque ligne est encadrée par <TR></TR> (Table Row, traduisez par ligne du tableau).
• Les cellules d'en-tête sont encadrées par <TH></TH> (pour Table Header : En-tête de tableau)
• Les cellules de valeur sont encadrées par <TD></TD> (Table Data: Donnée de tableau)
Voici un exemple de tableau HTML :
<TABLE BORDER="1">
<CAPTION> Voici le titre du tableau </CAPTION>
<TR>
<TH> Titre A1 </TH>
<TH> Titre A2 </TH>
<TH> Titre A3 </TH>
<TH> Titre A4 </TH>
</TR>
<TR>
<TH> Titre B1 </TH>
<TD> Valeur B2 </TD>
<TD> Valeur B3 </TD>
<TD> Valeur B4 </TD>
</TR>
</TABLE>
Ce code donne le résultat suivant :
Voici le titre du tableau
Titre A1 | Titre A2 | Titre A3 | Titre A4 |
Titre B1 | Valeur B2 | Valeur B3 | Valeur B4 |
2. Les attributs
Attribut | Balises auxquelles il s'applique | Valeur | Effet Visuel |
ALIGN | THEAD TBODY TH TR TD | CENTER LEFT RIGHT JUSTIFY | centré Gauche Droite Justifié |
CAPTION | TOP BOTTOM | Au-dessus En-dessous | |
VALIGN (alignement vertical) | THEAD TBODY TH TR TD | TOP MIDDLE BOTTOM | En haut Au milieu En bas |
BORDER=n | TABLE | Taille de la bordure | |
CELLPADDING=n | TABLE | Espacement de n pixels entre le contenu des cellules et la bordure | |
CELLSPACING=n | TABLE | Epaisseur de la grille intérieure | |
FLOAT | TABLE | RIGHT LEFT | Position du texte qui suivra </TABLE> |
COLS=n | TABLE | Nombre de colonnes | |
FRAME (contrôle les éléments individuels d'encadrement du tableau) | TABLE | NONE TOP BOTTOM TOPBOT SIDES ALL | Aucun au-dessus En bas Tout en haut Sur les cotés Tous |
RULES (contrôle les éléments de la grille des cellules) | TABLE | NONE BASIC ROWS COLS ALL | Aucun basique Ligne Colonne Tous |
COLSPAN | THEAD TBODY TH TR TD | Débordement des cellules sur les colonnes adjacentes | |
ROWSPAN | THEAD TBODY TH TR TD | Débordement des cellules sur les lignes adjacentes |
X. LES LIENS HYPERTEXTES
1. Présentation des ancrages
Les liens hypertextes (ancrages) sont des éléments d'une page HTML (soulignés lorsqu'il s'agit de texte) permettant aux internautes de naviguer vers une nouvelle adresse lorsque l'on clique dessus. Ce sont les liens hypertextes qui permettent de lier des pages Web entre elles. Ils permettent notamment de naviguer :
• vers un autre endroit du document
• vers un fichier HTML situé à un emplacement différent sur la machine qui héberge la page
• vers une autre machine
L'attribut principal des ancrages est href. Il s'écrit sous la forme suivante :
<a href="/Adresse ou URL"> .. </a>
2. Lien externe
Un lien externe est un lien vers une page pointée par sonURL. Par exemple :
<a href="/;> Mon site web </a>
3. Lien local
On peut créer un lien vers une page située sur le même ordinateur en remplaçant l'URL par le fichier cible.
Ce lien peut être fait de façon relative, en repérant le fichier cible par rapport au fichier source. Si le fichier cible est "" situé dans le répertoire parent, son lien s'écrira: <a href="/"> </a>
Ce lien peut aussi être défini de façon absolue, en écrivant l'adresse du fichier cible de façon locale:
<a href="file:///lecteur:/ré"> </a>
4. Les signets
Il est également possible de créer un signet dans une page, c'est-à-dire marquer un endroit précis d'une page pour s'y rendre par un lien hypertexte. Les signets se définissent grâce à l'attribut NAME ou ID. La syntaxe est la suivante : <balise id="signet"> </balise>
L'appel d'un signet se fait de la manière suivante :
<a href="#signet"> </a>
Il est ainsi possible de permettre à l'utilisateur de se déplacer au sein d'une même page ou bien d'accéder à une section particulière d'une autre page :
<a href="#signet"> </a>
XI. GESTION DES IMAGES EN HTML
1. Comment afficher des images sur une page web?
Quelques images sur un site Web peuvent le rendre plus attractif et plus convivial, cependant il est important de ne pas sombrer dans l'excès car les images peuvent impliquer un temps de chargement assez long et peuvent dans certains cas nuire à la lisibilité.
La balise IMG du langage HTML permet d'insérer des images dans une page HTML. L'image peut être située sur le même serveur que la page dans laquelle elle est insérée mais également sur un autre serveur en spécifiant son URL complète.
Seuls les formats d'images suivants sont acceptés en standard dans les spécifications du W3C :
• Les images (.JPG) : les images ayant un grand nombre de couleurs seront bien compressées, c'est-à-dire qu'elles prendront moins de place, donc nécessiteront un temps de chargement moindre)
• Les images : Leur taille est faible dans le cas d'images avec peu de couleurs avec des tons uniformes, ce format permet en outre d'avoir des images entrelacées (qui s'affichent progressivement) avec une profondeur de couleurs de 24 bits et des images dont on définit une couleur comme transparente.
• Les images : Elles possèdent les mêmes atouts que les images PNG, si ce n'est que le format GIF est limité à 256 couleurs maximum et que ce format n'est pas totalement libre.
2. Comment afficher des images sur une page web?
Les principaux attributs de la balise IMG sont les suivants :
• SRC: Indique l'emplacement de l'image (il est obligatoire)
• ALIGN: Spécifie l'alignement de l'image par rapport au texte adjacent. Il peut prendre les valeurs: TOP, MIDDLE, et BOTTOM (au-dessus, au milieu et en-dessous)
• ALT: Permet d'afficher un texte alternatif lorsque l'image ne s'affiche pas.
• TITLE: Permet d'afficher une infobulle lors du survol de l'image par le curseur.
• WIDTH: Permet de spécifier la largeur de l'image.
• HEIGHT: Permet de spécifier la hauteur de l'image.
Ainsi pour insérer une image, il faudra saisir une balise du type suivant :
<IMG SRC="url_de_l_image" ALT="Texte remplaçant l'image" TITLE="Texte à afficher">
Attribut | Valeur | Résultat |
ALIGN | bottom center left middle top right | Alignement de l'image. |
ALT | Texte alternatif au cas où l'image ne s'affiche pas. | |
BORDER | Nombre entier | Nombre de pixels de la bordure. La couleur de la bordure peut être définie par l'attribut LINK ou TEXT de la balise <BODY>. Par défaut l'attribut BORDER vaut 1 ce qui crée un petit cadre autour de l'image. Pour ne pas avoir ce désagrément pensez à le définir comme étant égal à 0. |
HEIGHT | Nombre entier | Hauteur de l'image (en pixels ou en %). Lorsque cet attribut précise une dimension différente de la dimension originale du graphique, le navigateur la redimensionne dynamiquement, ce qui peut provoquer un affichage de moins bonne qualité. |
HSPACE | Nombre entier | Nombre de pixels d'ajustement entre l'image et le texte adjacent (horizontalement). |
LONGDESC | URL de la description de l'image. | |
LOWSRC | URL | Image alternative (généralemnt plus petite) affichée le temps que la vraie image soit chargée par le navigateur. |
NAME | Permet de définir un nom pour l'image. Cet attribut est notamment utile pour la gestion des images en JavaScript. | |
SRC | URL | URL de l'image |
TITLE | Texte alternatif au cas où l'image ne s'affiche pas. | |
USEMAP | URL ou nom de l'ancre définissant l'image réactive. | |
VSPACE | Nombre de pixels d'ajustement entre l'image et le texte (verticalement). | |
WIDTH | Nombre entier | Largeur de l'image (en pixels ou en %). Lorsque cet attribut précise une dimension différente de la dimension originale du graphique, le navigateur la redimensionne dynamiquement, ce qui peut provoquer un affichage de moins bonne qualité. |
3. Texte enveloppant une image
Les images s'insèrent dans le texte comme un caractère, ainsi il semble impossible de faire s'écouler du texte le long d'une image.
Il existe en fait plusieurs façons, nous allons en voir deux :
• La première consiste à créer un tableau avec une ligne et deux colonnes, dans lesquelles on met l'image et le texte.
• La seconde (moins précise) consiste à aligner l'image à gauche ou à droite avec l'attribut ALIGN puis de taper son texte. Il suffit, pour arrêter cet enveloppement de mettre l'attribut CLEAR.
4. Les images réactives ("images MAP")
Il est possible de créer des zones cliquables à l'intérieur même d'une image grâce à l'attribut USEMAP utilisé conjointement avec la balise MAP.
L'attribut USEMAP de la balise <IMG> pointe vers une balise <MAP> contenant la description du découpage de l'image en zones cliquables.
La balise <MAP> a un attribut NAME définissant son nom (NAME="nom") et contient les zones cliquables déclarées grâce à des balises AREA.
Balise | Attribut | Valeur | Effet Visuel | |
MAP | NAME | |||
AREA | SHAPE | RECT CIRCLE POLY | Rectangle (ses coordonnées "abscisse sup gauche, ordonnée sup ga abscisse inf droit, ordonnée inf droit") Cercle (ses coordonnées "abscisse centre, ordonnée centre, rayon") Polygone (ses coordonnées "la suite des coordonnées séparées par virgules") | sont: uche, sont: sont: des |
HREF | URL | Lien vers l'URL | ||
COORDS | "XX,XX,XX,XX" | Contient les coordonnées de la zone cliquable, séparées par des virgules. |
Voici ci-dessous un exemple d'image réactive :
<IMG SRC=""
WIDTH=150
HEIGHT=70
USEMAP="#Map">
<MAP NAME="Map">
<AREA SHAPE="rect"
HREF=""
COORDS="0,0,48,28">
<AREA SHAPE="circle"
HREF=""
COORDS="50,30,10">
<AREA SHAPE="poly"
HREF=""
COORDS="60,50,80,30,100,40,50,100"> </MAP>
XII. LES ARRIERE-PLANS
1. Insérer une image en fond
Il est possible de définir une image d'arrière-plan pour la page web grâce aux attributs de la balise <BODY> :
Attribut | Effet Visuel | |
BACKGROUND="image" | Affiche l'image en arrière-plan | |
BGCOLOR="nom_de_la_couleur #XXXXXX" | ou | Affiche la couleur demandée en arrièreplan |
LINK="couleur" | Couleur des liens hypertexte | |
ALINK="couleur" | Couleur du lien actif | |
VLINK="couleur" | Couleur des liens déjà visités | |
TEXT="couleur" | Couleur du texte par défaut |
Les couleurs sont définies selon la notation #RRVVBB, où RR, VV et BB représentent respectivement un nombre hexadécimal entre 00 et FF pour le Rouge, le Vert et le Bleu.
XIII. LE CODAGE DES COULEURS
Les couleurs en HTML sont définies par 3 représentant les tons de Rouge, de Vert et de Bleu (selon le codage RGB (Red Green Blue, en français : RVB) de la couleur choisie. Ainsi la syntaxe de codage d'une couleur en HTML est la suivante :
couleur="#RRVVBB"
RR, VV et BB représentent respectivement un nombre hexadécimal entre 00 et FF pour le Rouge, le Vert et le Bleu.
Ainsi, plus de 16 millions de couleurs sont disponibles pour colorer les pages web. Toutefois, étant donné que tous les navigateurs ne reconnaissent pas les couleurs de la même façon, le W3C conseille l'utilisation des couleurs ci-dessous, pour lesquelles un nom intelligible a été donné. Il est donc possible (et conseillé) d'appeler une couleur de la façon suivante :
couleur="nom_de_la_couleur"
Nom de la couleur | Aperçu | Codage RVB |
aliceblue | ███████ aliceblue | #F0F8FF |
antiquewhite | ███████ antiquewhite | #FAEBD7 |
aqua | ███████ aqua | #00FFFF |
aquamarine | ███████ aquamarine | #7FFFD4 |
azure | ███████ azure | #F0FFFF |
beige | ███████ beige | #F5F5DC |
bisque | ███████ bisque | #FFE4C4 |
black | ███████ black | #000000 |
blanchedalmond | ███████ blanchedalmond | #FFEBCD |
blue | ███████ blue | #0000FF |
blueviolet | ███████ blueviolet | #8A2BE2 |
brown | ███████ brown | #A52A2A |
burlywood | ███████ burlywood | #DEB887 |
cadetblue | ███████ cadetblue | #5F9EA0 |
chartreuse | ███████ chartreuse | #7FFF00 |
chocolate | ███████ chocolate | #D2691E |
coral | ███████ coral | #FF7F50 |
cornflowerblue | ███████ cornflowerblue | #6495ED |
cornsilk | ███████ cornsilk | #FFF8DC |
crimson | ███████ crimson | #DC143C |
cyan | ███████ cyan | #00FFFF |
darkblue | ███████ darkblue | #00008B |
darkcyan | ███████ darkcyan | #008B8B |
darkgoldenrod | ███████ darkgoldenrod | #B8860B |
darkgray | ███████ darkgray | #A9A9A9 |
darkgreen | ███████ darkgreen | #006400 |
darkkhaki | ███████ darkkhaki | #BDB76B |
darkmagenta | ███████ darkmagenta | #8B008B |
darkolivegreen | ███████ darkolivegreen | #556B2F |
darkorange | ███████ darkorange | #FF8C00 |
darkorchid | ███████ darkorchid | #9932CC |
darkred | ███████ darkred | #8B0000 |
darksalmon | ███████ darksalmon | #E9967A |
darkseagreen | ███████ darkseagreen | #8FBC8F |
darkslateblue | ███████ darkslateblue | #483D8B |
darkslategray | ███████ darkslategray | #2F4F4F |
darkturquoise | ███████ darkturquoise | #00CED1 |
darkviolet | ███████ darkviolet | #9400D3 |
deeppink | ███████ deeppink | #FF1493 |
deepskyblue | ███████ deepskyblue | #00BFFF |
dimgray | ███████ dimgray | #696969 |
dodgerblue | ███████ dodgerblue | #1E90FF |
firebrick | ███████ firebrick | #B22222 |
floralwhite | ███████ floralwhite | #FFFAF0 |
forestgreen | ███████ forestgreen | #228B22 |
fuchsia | ███████ fuchsia | #FF00FF |
gainsboro | ███████ gainsboro | #DCDCDC |
ghostwhite | ███████ ghostwhite | #F8F8FF |
gold | ███████ gold | #FFD700 |
goldenrod | ███████ goldenrod | #DAA520 |
gray | ███████ gray | #808080 |
green | ███████ green | #008000 |
greenyellow | ███████ greenyellow | #ADFF2F |
honeydew | ███████ honeydew | #F0FFF0 |
hotpink | ███████ hotpink | #FF69B4 |
indianred | ███████ indianred | #CD5C5C |
indigo | ███████ indigo | #4B0082 |
ivory | ███████ ivory | #FFFFF0 |
khaki | ███████ khaki | #F0E68C |
lavender | ███████ lavender | #E6E6FA |
lavenderblush | ███████ lavenderblush | #FFF0F5 |
lawngreen | ███████ lawngreen | #7CFC00 |
lemonchiffon | ███████ lemonchiffon | #FFFACD |
lightblue | ███████ lightblue | #ADD8E6 |
lightcoral | ███████ lightcoral | #F08080 |
lightcyan | ███████ lightcyan | #E0FFFF |
lightgoldenrodyellow | ███████ lightgoldenrodyellow | #FAFAD2 |
lightgreen | ███████ lightgreen | #90EE90 |
lightgrey | ███████ lightgrey | #D3D3D3 |
lightpink | ███████ lightpink | #FFB6C1 |
lightsalmon | ███████ lightsalmon | #FFA07A |
lightseagreen | ███████ lightseagreen | #20B2AA |
lightskyblue | ███████ lightskyblue | #87CEFA |
lightslategray | ███████ lightslategray | #778899 |
lightsteelblue | ███████ lightsteelblue | #B0C4DE |
lightyellow | ███████ lightyellow | #FFFFE0 |
lime | ███████ lime | #00FF00 |
limegreen | ███████ limegreen | #32CD32 |
linen | ███████ linen | #FAF0E6 |
magenta | ███████ magenta | #FF00FF |
maroon | ███████ maroon | #800000 |
mediumaquamarine | ███████ mediumaquamarine | #66CDAA |
mediumblue | ███████ mediumblue | #0000CD |
mediumorchid | ███████ mediumorchid | #BA55D3 |
mediumpurple | ███████ mediumpurple | #9370DB |
mediumseagreen | ███████ mediumseagreen | #3CB371 |
mediumslateblue | ███████ mediumslateblue | #7B68EE |
mediumspringgreen | ███████ mediumspringgreen | #00FA9A |
mediumturquoise | ███████ mediumturquoise | #48D1CC |
mediumvioletred | ███████ mediumvioletred | #C71585 |
midnightblue | ███████ midnightblue | #191970 |
mintcream | ███████ mintcream | #F5FFFA |
mistyrose | ███████ mistyrose | #FFE4E1 |
moccasin | ███████ moccasin | #FFE4B5 |
navajowhite | ███████ navajowhite | #FFDEAD |
navy | ███████ navy | #000080 |
oldlace | ███████ oldlace | #FDF5E6 |
olive | ███████ olive | #808000 |
olivedrab | ███████ olivedrab | #6B8E23 |
orange | ███████ orange | #FFA500 |
orangered | ███████ orangered | #FF4500 |
orchid | ███████ orchid | #DA70D6 |
palegoldenrod | ███████ palegoldenrod | #EEE8AA |
palegreen | ███████ palegreen | #98FB98 |
paleturquoise | ███████ paleturquoise | #AFEEEE |
palevioletred | ███████ palevioletred | #DB7093 |
papayawhip | ███████ papayawhip | #FFEFD5 |
peachpuff | ███████ peachpuff | #FFDAB9 |
peru | ███████ peru | #CD853F |
pink | ███████ pink | #FFC0CB |
plum | ███████ plum | #DDA0DD |
powderblue | ███████ powderblue | #B0E0E6 |
purple | ███████ purple | #800080 |
red | ███████ red | #FF0000 |
rosybrown | ███████ rosybrown | #BC8F8F |
royalblue | ███████ royalblue | #4169E1 |
saddlebrown | ███████ saddlebrown | #8B4513 |
salmon | ███████ salmon | #FA8072 |
sandybrown | ███████ sandybrown | #F4A460 |
seagreen | ███████ seagreen | #2E8B57 |
seashell | ███████ seashell | #FFF5EE |
sienna | ███████ sienna | #A0522D |
silver | ███████ silver | #C0C0C0 |
skyblue | ███████ skyblue | #87CEEB |
slateblue | ███████ slateblue | #6A5ACD |
slategray | ███████ slategray | #708090 |
snow | ███████ snow | #FFFAFA |
springgreen | ███████ springgreen | #00FF7F |
steelblue | ███████ steelblue | #4682B4 |
tan | ███████ tan | #D2B48C |
teal | ███████ teal | #008080 |
thistle | ███████ thistle | #D8BFD8 |
tomato | ███████ tomato | #FF6347 |
turquoise | ███████ turquoise | #40E0D0 |
violet | ███████ violet | #EE82EE |
wheat | ███████ wheat | #F5DEB3 |
white | ███████ white | #FFFFFF |
whitesmoke | ███████ whitesmoke | #F5F5F5 |
yellow | ███████ yellow | #FFFF00 |
yellowgreen | ███████ yellowgreen | #9ACD32 |
XIV. LES META TAGS
Les métadonnées sont des informations situées au sein d'un document afin de le décrire. Les métadonnées sont ainsi utilisées par les moteurs de recherche lors du référencement de la page web. Grâce à ces balises non affichées il est ainsi possible de renseigner des informations relatives à la page où au site afin de mieux en décrire le contenu, en particulier des informations sur le ou les auteur(s) du document, sa limite de validité, la langue utilisée, etc.
On appelle ainsi «méta tags» (en français «méta-balises») des balises spéciales situées dans l'en-tête du document HTML (c'est-à-dire la balise HEAD, située avant la balise BODY), afin notamment de fournir des informations permettant aux moteurs de recherche d'indexer la page web.
On distingue deux types de méta tags :
• Les métas NAME, permettant de décrire la page HTML : <meta name="Nom du tag" CONTENT="Attribut">
• Les métas HTTP-EQUIV, permettant d'envoyer des informations supplémentaires au navigateur via le protocole HTTP :
<META HTTP-EQUIV="Nom du tag" CONTENT="Attribut">
Il est possible de renseigner plusieurs métas les uns après les autres dans l'en-tête de la page.
1. Métas NAME
Nom du tag | Attribut | Utilité |
Author | "Informations sur l'auteur" | Informations sur l'auteur de la page |
Copyright | "Informations de copyright" | Permet de référencer des informations de droits d'auteur |
Description | "Description de votre site" | Permet de donner une information à afficher lors du résultat d'une recherche. |
Expires | never"date à laquelle la page expire" | Indique au robot la date d'expiration de la page. |
Generator | Nom du logiciel | Nom de l'éditeur HTML ayant généré la page web. |
Keywords | "mot clé, mot clé, etc." | Mots clés décrivant la page Web. |
Rating | general | Type de contenu (public visé). |
Rev | Votre@email | Mél du Webmestre. |
Revisitafter | "x days" ou x représente le nombre de jours | Délai de visite par le robot |
Robots | allnone | Permet à tous les robots d'indexerNe permet à aucun robot d'indexer |
Subject | "Sujet de la page" | Permet de préciser le sujet de la page |
2. Métas HTTP-EQUIV
Nom du tag | Attribut | Utilité |
Pragma | no-cache | Empêche le navigateur de garder la page dans son cache |
Refresh | x; URL="adresse" | Appelle une autre page (située à l'URL spécifiée) après un délai d'attente de x secondes. |
Robots | allfollowindexnofollownoindexnone | Permet au robot de référencer toute la page (par défaut) Permet au robot de suivre les liens de la page Permet au robot d'indexer la page Interdit au robot de suivre les liens Interdit au robot d'indexer la page Empêche le robot de poursuivre l'indexation du site |
Window- target | _blank_top | Force le browser à afficher la page dans une nouvelle fenêtre Affiche la page dans la fenêtre entière (pas dans une frame). |
XV. LES FRAMES
1. Présentation des frames
Grâce à la technologie des frames (en français "cadres") il est désormais possible d'afficher plusieurs pages HTML dans différentes zones (ou cadres).
Les frames ne font pas partie de la spécification du HTML 3.x, il faut donc déclarer sa page comme étant écrite en HTML 4.0 !
2. Créer des frames
Afin de créer un site contenant des cadres, il suffit de créer un fichier contenant l'agencement des cadres : ce fichier HTML a pour particularité d'avoir un conteneur <FRAMESET> à la place du jeu de balises <BODY>. C'est cette balise qui définit les cadres par leur dimension en pixels ou en pourcentage (%).
Voyons ceci sur 3 exemples:
• 2 cadres verticaux
• 2 cadres horizontaux
• 2 cadres horizontaux et un vertical
Exemple n°1
<FRAMESET COLS="20%,80%">
<FRAME SRC="" NAME="gauche">
<FRAME SRC="" NAME="droite">
</FRAMESET>
1 | 2 |
Exemple n°2
<FRAMESET ROWS="20%,80%">
<FRAME SRC="" NAME="haut">
<FRAME SRC="" NAME="bas">
</FRAMESET>
1 |
2 |
Exemple n°3
<FRAMESET COLS="20%,80%">
<FRAME SRC="" NAME="gauche">
<FRAMESET ROWS="50%, 50%">
<FRAME SRC="" NAME="droit_haut">
<FRAME SRC="" NAME="droit_bas">
</FRAMESET>
1 | 2 |
3 |
3. Les attributs de la balise <FRAMESET>
Attribut | Valeur | Action |
Rows | pourcentage (entre 1 et 100) valeur en pixels En fixant une seules des valeurs et en donnant à l'autre la valeur *, la valeur s'ajuste automatiquement | Cadre horizontal |
Cols | pourcentage (entre 1 et 100) valeur en pixels En fixant une seules des valeurs et en donnant à l'autre la valeur *, la valeur s'ajuste automatiquement | Cadre vertical |
Frameborder | YES NO | Indique si le cadre a une bordure ou non |
Border=n | n est une valeur définissant la taille de la bordure | Indique la taille de la bordure |
Bordercolor | Nom de la couleur Valeur de la couleur en hexadécimal | Indique la couleur de la bordure |
Framespacing=n | n est une valeur définissant l'espace entre les cadres | Indique l'espace entre les cadres |
4. Les attributs de la balise <FRAME>
La balise <FRAME> permet de définir un ou plusieurs cadres au sein de la balise <FRAMESET>
Attribut | Valeur | Action |
Src | URL | Définit l'emplacement de la page à afficher dans le cadre |
Name | "nom" | Définit un nom qui permettra d'afficher un autre document dans le cadre gâce à l'attribut Target |
Marginwidth=n | n est un entier spécifiant le nombre de pixels | Taille des marges latérales |
Marginheight=n | n est un entier spécifiant le nombre de pixels | Taille des marges du haut et du bas |
Frameborder | YES NO | Détermine si les cadres auront ou non une bordure |
Border=n | n est un entier spécifiant le nombre de pixels | Taille de l'espace entre les cadres (uniquement pour Netscape) |
Noresize | (Aucune) | Interdit à l'utilisateur de redimensionner les cadres (Ce n'est pas la valeur par défaut) |
Scrolling | YES NO AUTO | Permet ou non l'affichage d'une barre de défilement (Auto laisse le navigateur décider de son utilité) |
5. Comment éviter les erreurs avec les navigateurs non compatibles?
On utilisera les balises <NOFRAMES> et </NOFRAMES> permettant de spécifier un texte HTML à afficher en cas de navigateur ne permettant pas d'afficher les frames. Le texte entre les balises <NOFRAMES> et </NOFRAMES> doit donc contenir les balises <BODY>
</BODY>.
Exemple :
<FRAMESET COLS="20%,80%">
<FRAME SRC="" NAME="gauche">
<FRAME SRC="" NAME="droite">
</FRAMESET>
<NOFRAMES>
<BODY>
Cette page HTML nécessite un navigateur supportant les frames, veuillez nous en excuser.
</BODY>
</NOFRAMES>
6. Désigner un cadre avec un lien hypertexte
Pour faire afficher des liens dans un des cadres, il suffit d'utiliser l'attribut target dans la balise <A HREF ..> pour spécifier le nom du cadre qui a été spécifié dans la balise <FRAME> par l'attribut NAME.
Par exemple:
<A HREF="" TARGET="gauche">
Valeur | Action |
_self | Affiche la cible dans le même cadre que le lien |
_parent | Affiche la cible dans le cadre de niveau supérieur |
_blank | Affiche la cible dans une nouvelle fenêtre |
_top | Affiche la cible dans la fenêtre entière du navigateur |