Académique Documents
Professionnel Documents
Culture Documents
à HTML
Comment est crée un site
Web?
Code HTML & CSS
2
Langages Web
Fond de la page Web Forme de la page Web
3
Langage HTML
HTML (HyperText Markup Language) est un langage de balisage
utilisé pour créer des pages web. Il s'agit d'un langage de
programmation de base utilisé pour structurer le contenu d'une page
web et définir sa mise en forme.
Normalisé par le W3C (World Wide Web Consortium) regroupant
industriels (Microsoft, Google, Apple. . . ) et académiques (INRIA,
MIT…)
Il décrit la structure et du contenu d’un document.
On ne décrit pas la présentation (ce sera le rôle de CSS)
On ne décrit pas de comportement dynamique (ce sera le rôle de
JavaScript et des langages côté serveur)
4
Evolution du langage HTML
•HTML 1.0 : Publié en 1993 •HTML 4.01 : Publié en 1999
•HTML 2.0 : Publié en 1995 •XHTML 1.0 : Publié en 2000
•HTML 3.2 : Publié en 1997 •XHTML 1.1 : Publié en 2001
•HTML 4.0 : Publié en 1997 •HTML5 : Publié en 2014
5
Outils de Html5
Pour apprendre le langage HTML, on a besoin :
D'un éditeur de texte tout simple comme par exemple le Bloc‐notes de Windows.
D'un navigateur web comme Microsoft Internet Explorer, Google Chrome ou autres.
Pour développer des sites web professionnels, on utilise souvent des logiciels de
développement spécialisés appelés aussi éditeurs WYSIWYG : What You See Is
What You Get (Ce que vous voyez, vous l'obtenez). On trouve entre autres
Adobe DreamWeaver.
6
Html5 est un langage de balises
Les balises, aussi appelées éléments, sont des commandes à l’intention du
navigateur et saisies entre des signes inférieur à (<) et supérieur à (>). Ainsi une
balise s’écrit <balise>
Exemples
7
HTML: Balises et leurs
attributs
<balise> </balise>
<p> Ceci est un paragraphe </p>
8
HTML: Balises et leurs
attributs
Les balises paires:
<img/> <br/>
9
HTML: Balises et leurs
attributs
Les attributs:
Les attributs sont les options des balises. Ils viennent les
compléter pour donner des informations supplémentaires. L'attribut se
place après le nom de la balise ouvrante et a le plus souvent une valeur,
comme ceci :
10
Structure de base d'une page
en HTML5
11
Structure de base d'une page
HTML5
12
Doctype et son importance
Tout document Html doit commencer par un doctype. Le Html5 propose
un doctype unique et simplifié.
Le Doctype (Document Type Declaration) est une instruction spéciale
qui se trouve en haut d'un document HTML et qui indique au navigateur
Web quel type de document il doit interpréter.
13
Balise Html
La balise <html> indique au navigateur qu’il s’agit d’un document Html.
La balise <html> est l’élément le plus haut ou l’élément racine du document.
<!DOCTYPE html>
<html lang="fr">
…
</html>
La balise <Html> peut prendre comme attribut lang="fr" qui spécifie que le
document est en langue française.
14
En-tête du document
Dans cet en-tête du document se situe toute une série d’informations:
Le titre du document. Soit la balise <title> … <title>
Des déclarations ou des appels de feuilles de style CSS.
Des fonctions ou des liens vers des fichiers JavaScript.
Des informations à l’intention des moteurs de recherche pour le
référencement de la page.
Des informations à l’intention des navigateurs.
Des balises méta qui reprendront quant à elles l’encodage, la description
de la page, les mots-clés associés à la page, le nom de l’auteur, des
mentions de copyright, etc.
15
En-tête: <head>…</head>
Rôle: Fournir des informations au sujet du document
Position: En début de document (après la balise <html> et avant
la balise <body>)
Contenu
<title>…</title>
Titre de la fenêtre dans laquelle la page s'affiche
<meta name="..." content="...">
Permet de spécifier des méta-données sous la forme de couple
attribut-valeur (NAME-CONTENT)
16
En-tête: <meta…>
<meta name="auteur" content="El Motaki">
< meta name="keywords" content="page personnelle,
informatique">
<meta http_equiv="Content-Type" content="text/html;
charset=utf-8">
Permet de spécifier le type de contenu :
Type de document
Codage des caractères
< meta http_equiv ="Content-language" content="fr">
permet d’indiquer la langue du contenu du document
17
Arborescence d’une page
HTML
Métadonnées de
<meta> la page HTML
Intégration du code
Head <script > JavaScript
HTML
Body <style>
Feuilles de style CSS
<link>
18
Document Html5 minimal
<!DOCTYPE html>
<html lang="fr">
<head>
<title>Html5</title>
<meta charset="utf-8">
</head>
<body>
…………………………………………………………
</body>
</html>
19
Corps du document
20
Document Html5 minimal
<!DOCTYPE html>
<html lang="fr">
<head>
<title>Html5</title>
<meta charset="iso-8859-1">
</head>
<body>
Un premier document Html5
</body>
</html>
21
Heading, Paragraph, Break
L’élément p définit un paragraphe.
22
Strong, Emphasis, Mark
23
Paragraphe
<P ALIGN="LEFT|CENTER|RIGHT|JUSTIFY"> … </P>
ALIGN: Permet l’alignement des paragraphes. Les valeurs possibles de cet
attribut sont: left, center, right et justify.
Pour passer (ou sauter) une ligne, on utilise l’élément <BR>
Exemple
24
Ligne horizontale
<hr size=" " width=" " align="left|center|right" color=" ">
size : épaisseur en pixel de la ligne
width : largeur de la ligne
align : alignement à gauche| au centre | à droite dans la fenêtre
color :Permet de spécifier la couleur de la ligne
<hr> : Utilisée sans option, cette balise produit une ligne grise de
1 pixel d'épaisseur faisant toute la largeur de la fenêtre
Exemple
25
Titres des sections
Il existe 6 balises permettant de représenter les titres de sections, par
importance décroissante :
<h1>Titre de niveau 1</h1>
<h2>Titre de niveau 2</h2>
<h3>Titre de niveau 3</h3>
<h4>Titre de niveau 4</h4>
<h5>Titre de niveau 5</h5>
<h6>Titre de niveau 6</h6>
26
Listes
HTML possède plusieurs balises permettant de présenter le texte sous
forme de listes.
On en distingue trois types :
les listes non numérotées
les listes numérotées
les listes de définitions (ou lexiques)
Ces listes peuvent être emboîtées les unes à l’intérieur des autres.
27
Listes
Les listes classiques :
Les listes non numérotées délimitées par les balises <ul> ... </ul> (unordered
list).
Les listes numérotées délimitées par les balises <ol> ... </ol> (ordered list).
Tous les éléments d’une liste numérotée ou non sont délimités par les balises
<li> ... </li> (list item)
Les lexiques sont délimités par les balises <dl> ... </dl> (definition list) et
leurs entrées par les balises <dt> ... </dt> (term) et <dd> ... </dd>
(definition).
28
Listes: Exemple
29
Listes: attributs
Listes non numérotées
L’attribut TYPE="disc|circle|square" Permet de choisir la forme de la puce
(disc par défaut)
Listes numérotées
L'attribut TYPE définit le type de numérotation:
1 : Numérotation en chiffres arabes (1, 2, 3… par défaut)
A: Numérotation en lettres majuscules (A, B, C…)
a: Numérotation en lettres minuscules (a, b, c…)
i : Numérotation en petits chiffres romains (i, ii, iii…)
I : Numérotation en grands chiffres romains (I, II, III…)
L'attribut START permet de spécifier à partir de quel niveau la numérotation
doit commencer (un nombre entier)
30
Tableaux
Les tableaux sont délimités par les balises <table>... </table>
Les balises <tr> ... </tr> (table row) délimitent les lignes
Les balises <td> ... </td> (table data) délimitent les cellules
Attention ! On déclare les lignes à l’intérieur du tableau, les cellules à
l’intérieur des lignes
On peut ajouter de la structure à un tableau en :
donnant une légende au tableau avec les balises <caption
align="top|bottom" >... </caption> juste après la balise ouvrante
<table>
remplaçant les <td> ... </td> qui contiennent des en-têtes (de ligne, de
colonne) par des <th> ... </th> (table header)
31
Tableaux: Exemple1
32
Tableaux: attributs
<TABLE BGCOLOR= "couleur_fond " ALIGN="LEFT|RIGHT|CENTER"
WIDTH="pixels ou%" BORDER="pixels" CELLPADDING="pixels"
CELLSPACING="pixels">
• BGCOLOR: Couleur du fond
• ALIGN: Alignement horizontal
• WIDTH: Largeur du tableau exprimée en pixel ou en pourcentage de la largeur de la
fenêtre (à utiliser avec prudence)
• BORDER: Largeur de l'encadrement du tableau et des cellules exprimée en pixels. Si
une cellule est vide, il n'apparaît pas
• CELLPADDING: Marge intérieure de chaque cellule (en pixels)
• CELLSPACING: Espace inter-cellules
33
Tableaux: attributs
<TR BGCOLOR="couleur" ALIGN="LEFT|CENTER|RIGHT|JUSTIFY" VALIGN=
"TOP|MIDDLE|BOTTOM" >
• ALIGN: Alignement horizontal du contenu de toutes les cellules de la ligne
• VALIGN: Alignement vertical du contenu de toutes les cellules de la ligne
34
Tableaux: attributs
COLSPAN
ROWSPAN
35
Tableaux: Exemple2
36
Tableaux: Exemple1
37
Tableaux: Exemple2
38
Tableaux: Exemple2 - corrigé
39
Liens
Un lien se définit par le marqueur <a ...> suivi de l’attribut
HREF="URL" qui définit l’adresse du document vers lequel le lien
conduit. Il se termine par </a>
Syntaxe: <A HREF="adresse"> texte ou image</A>
Exemple:
<A HREF="http://www.wikipedia.org">aller vers wikipedia</A>
40
Liens externes
Un lien externe est un lien qui renvoie vers une page d'une autre site
internet
Deux types de liens externes:
Exemple:
<A HREF="http://www.wikipedia.org">aller vers wikipedia</A>
41
Liens externes
Exemple
42
Liens internes (type 1)
Liens vers des pages locales (même site)
Deux façons pour spécifier un lien:
Chemin absolu
Indique l'adresse complète du fichier. Il est généralement utilisé
pour afficher une page d'un autre site
Chemin relatif
Indique l'adresse du fichier par rapport à la page actuelle. Il est
vivement conseillé de l'utiliser dans son site web
43
Liens internes (type 1)
Liens vers des pages locales (même site)
Exemple:
<A HREF="Contacts.html">Mes contacts</A>
<A HREF="dossier1/Contacts.html">Mes contacts</A>
44
Liens internes (type 1)
Exemple: Chemin relatif
Racine du site
Dossier1
Page1.html Href=“Page2.html”
Page2.html Href= “SousDossier/Page3.html”
SousDossier Href=“../Dossier2/Page4.html”
Page3.html
Dossier2
Page4.html
45
Liens internes (type 2)
Les liens internes permettent de construire des tables de matières et des
renvois à l’intérieur du même document
Un lien interne pointe vers une ancre, c’est à dire un endroit à l’intérieur
du même document défini par un nom
Dans un lien interne, il faut définir:
L’ancre interne
Exemple: <h3 NAME="HautPage"> Début de la page</h3>
Le lien vers l’ancre
Exemple:<a HREF="#HautPage">Aller en haut</a>
46
Liens internes: Exemple
47
Lien: Envoi d’un email
Un tel lien lance automatiquement l’application de messagerie
électronique en incluant le nom du destinataire
Syntaxe: <A HREF = "Mailto: adresse_Email?Subject=
sujet_msg"> zone_cliquable </A>
Mailto: ouverture d’une session de courrier électronique à
partir du navigateur
subject: sujet du message
Exemple:
<A HREF = "Mailto:saloua@gmail.com?Subject= Demande
d’information"> Envoyez moi un message </A>
48
Lien: Nouvelle fenêtre
L'attribut target permet de définir la cible du lien, c'est-à-dire
l'endroit où le fichier du lien sera ouvert
Exemple
49
Lien avec une image
Exemples
50
Images
Pour insérer une image dans un document HTML, on utilise la balise
<IMG SRC="URL" WIDTH="pixels" HEIGHT="pixels" ALT="texte
alternatif" BORDER="pixels" TITLE="description"
ALIGN="LEFT|RIGHT|TOP|ABSMIDDLE|MIDDLE|BOTTOM"
HSPACE="pixels" VSPACE="pixels" >
• SRC: Permet de préciser où se trouve l’image à insérer
• WIDTH: Largeur de l'image à afficher.
• 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: Hauteur de l'image affichée (mêmes remarques que pour WIDTH).
51
Images
• ALT: text qui s'affiche à la place de l'image en cas d'erreur
• BORDER: taille en pixel de la bordure autour de l'image
• TITLE: permet d'associer à l'image une annotation (Texte apparaissant dans
une info-bulle quand la souris est positionnée pendant 1 à 2 secondes sur
l'image)
• ALIGN: permet d’aligner une image par rapport à la ligne du texte courante
• HSPACE et VSPACE permettent d’éloigner les texte de l’image
NB : quand une seule des deux options WIDTH ou HEIGHT est spécifiée,
l'autre est automatiquement calculée en proportion.
52
Images
Exemples
<img src="images/Arbre.jpg" alt="Arbre sapin" height="50%"
width="50%" title="Arbre sapin" border="3" >
<img src="http://www.wikipedia.org/images/robot.png" alt="robot">
Les formats d’images utilisables pour le Web sont :
Le JPEG (.jpg), un format adapté aux photos.
Le GIF (.gif) et le PNG (.png), des formats adaptés aux autres types
d’image ; le PNG est à préférer dans tous les cas (transparence,
profondeur de couleurs. . .) sauf besoin d’images animées.
53
Formulaires: Exemple
54
Formulaires
Permettent d’interagir avec l’utilisateur en lui proposant d’entrer des
informations
Un formulaire HTML est placé à l’intérieur d’une balise <form>
Syntaxe
<form method="GET|POST" action="url" enctype="type"> …</form>
method : Méthode HTTP, valant soit "get" soit "post"
GET: envoie les paramètres dans l'URL
POST : On ne voit pas ce qui est envoyé dans l'URL
action :URL du script auquel sera soumis le formulaire
Exemple: <form method="post" action="action.php"> … </form>
55
Formulaires
En HTML, il est interdit de mettre des champs de formulaire directement à
l’intérieur d’un <form>. Il faut d’abord les regrouper:
Dans des paragraphes <p> si les champs de formulaires sont à l’intérieur
de paragraphes de textes (rare)
Dans des ensembles de champ <fieldset> pour regrouper des champs de
formulaire de sémantique proche
Dans des divisions <div> sans contenu sémantique sinon
Exemple
56
Etiquettes
La plupart des champs sont accompagnés d’une étiquette (<label>)
Exemple: <label>Ville :</label>
Pour lier une étiquette à un champ, il faut lui ajouter un attribut for
qui a la même valeur que l'id du champ en question
Lorsqu’une étiquette est liée à un champ, un clic sur l’étiquette
permet en général de sélectionner le champ
Exemple
<label for="txt_ville">Ville :</label>
<input type="text" name="ville" id="txt_ville">
57
Champs de saisie
La balise <input> 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
L’attribut type détermine le type du champ
L’attribut name(nom du paramètre de la requête HTTP) est obligatoire
(sauf pour les types "reset" et "submit" ) ; il permet de préciser au
serveur à quelle saisie on fait référence
Exemple:
58
Saisie d’une ligne de texte
type ="text" est utilisé pour la saisie d’un texte dont la taille est
inférieure à une ligne
L’attribut value permet de pré-remplir le champ avec une valeur par
défaut
L’attribut maxlength permet de spécifier la taille maximale de la chaîne
de caractères à saisir
L’attribut placeholder permet de donner une indication sur le contenu
du champ
L’attribut size permet de modifier la taille de la zone de saisie
Exemple:
59
Saisie d’un mot de passe
type ="password" est utilisé pour la saisie d’un texte dont les
caractères sont remplacés par des astérisques
L’attribut value permet de préciser la valeur par défaut (facultatif)
La taille maximale de la chaîne de caractères à saisir peut être
spécifiée à l’aide de l’attribut maxlength (facultatif)
Exemple
60
Zones de saisie enrichies
1. E-mail
On peut demander la saisie d'une adresse e-mail
<input type="email"/>
2. URL
Avec le type url, on peut demander à saisir une adresse absolue
(commençant généralement par http://)
<input type="url"/>
3. Numéro de téléphone
Ce champ est dédié à la saisie d’un numéro de téléphone
<input type="tel"/>
61
Zones de saisie enrichies
4. Nombre
Ce champ permet de saisir un nombre entier
<input type="number"/>
5. Date
Différents types de champs de sélection de date existent :
date : pour la date (05/08/1985 par exemple)
time : pour l'heure (13:37 par exemple)
week : pour la semaine
month : pour le mois
datetime : pour la date et l'heure (avec gestion du décalage horaire)
datetime-local: pour la date et l'heure (sans gestion du décalage
horaire)
Exemple: <input type="date"/>
62
Cases à cocher
type ="checkbox" permet de choisir plusieurs éléments parmi
une liste de possibilités
L’attribut checked ="checked" permet de cocher la case par
défaut
Certains langages côté serveurs imposent que les noms de
champs de formulaire à choix multiples se terminent par []
Exemple
63
Boutons radio
type ="radio" permet de choisir un seul élément parmi une liste
de possibilités.
La valeur retournée est obligatoirement précisée à l’aide de
l’attribut value.
L’attribut checked ="checked" permet de préciser la valeur par
défaut.
Exemple:
64
Menu de sélection
La balise <select> permet d’ajouter une liste de sélection :
L’attribut facultatif size permet de préciser le nombre de choix
apparaissant sur la page Web. Par défaut, ce nombre est
initialisé à 1
L’attribut multiple ="multiple" permet d’autoriser des
réponses multiples. Dans ce cas, pour PHP, on donnera
toujours un nom se terminant par []
Les choix du menu sont indiqués à l’aide de la balise <option> :
L’attribut value permet de spécifier la valeur associée au choix
L’attribut selected ="selected" permet de spécifier le(s) choix
par défaut
65
Menu de sélection
Exemple
66
Fichiers joints
type ="file" permet de joindre au formulaire un fichier
À cause de la taille de la requête due au téléchargement (upload)
du fichier, il faut impérativement utiliser la méthode POST et
l’encodage multipart/form-data
Exemple
<label for="fichier">Fichier:</label>
<input type="file" name="fichier" id="fichier">
67
Réinitialiser le formulaire
type ="reset" permet de réinitialiser le formulaire en affectant aux
différents champs leur valeur par défaut
Exemple
68
Soumettre le formulaire
type ="submit" permet de soumettre le formulaire
Le client envoie le contenu du formulaire à l’adresse précisée par
l’attribut action de la balise <form>
L’attribut value permet de changer le texte du bouton
correspondant
Exemple
<input type="submit" value="Enregistrer les donnes">
69
Zone de saisie multiligne
Pour les saisies multiligne, on utilise la balise <textarea>
Le texte délimité par cette balise permet d’initialiser la valeur par
défaut du champ
La balise fermante est obligatoire même si le champ est vide
Les attributs rows et cols (obligatoires) permettent de spécifier la
taille en lignes et colonnes de la fenêtre de saisie
Exemple
70
Exercice
71