Vous êtes sur la page 1sur 57

LIF4 - Programmation Web - cours HTML

Fabien Duchateau

fabien.duchateau [at] univ-lyon1.fr


Université Claude Bernard Lyon 1

Automne 2012

http://liris.cnrs.fr/~fduchate/ens/2012-2013/LIF4/

Remerciements : Nicolas Lumineau et Emmanuel Coquery


1/51
Introduction
Rappel : conception, interrogation et mise à jour d’une base de
données

De nombreux sites Web ont une (ou plusieurs) BD pour gérer


leur données

2/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Pages Web statiques

Ÿ L’utilisateurice demande l’accès à une page Web depuis


son navigateur
Ÿ URL tapée, clic sur un lien, utilisation d’un signet, etc.

Ÿ Le navigateur envoie une demande à un serveur Web

Ÿ Le serveur Web lit le fichier demandé sur le disque dur

Ÿ Le serveur Web envoie le contenu du fichier au navigateur

Ÿ Le navigateur affiche le contenu de la page


Ÿ pour l’affichage, il peut également demander le contenu
d’autres fichiers au serveur (e.g., images)
3/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Pages Web statiques (2)

Inconvénient des pages statiques ?

4/51
http://fr.html.net/
LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Pages Web statiques (2)

Inconvénient des pages statiques ?


ñ Pour changer le contenu, il faut éditer le fichier !
4/51
http://fr.html.net/
LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Pages Web dynamiques
Idée : générer le contenu de la page au moment où elle est
demandée, en fonction :
Ÿ Du contenu d’une base de données
Ÿ De paramètres fournis avec la demande (e.g., formulaires)

5/51
http://fr.html.net/
LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Pages Web dynamiques (2)
Ÿ L’utilisateurice demande l’accès à une page Web depuis
son navigateur
Ÿ Le navigateur envoie une demande au serveur web
comprenant :
Ÿ le nom de la page, qui correspond en fait à un programme
Ÿ éventuellement un ensemble de paramètres
Ÿ Le serveur web va chercher sur le disque le code source
du programme et l’exécute :
Ÿ en utilisant les paramètres transmis avec la demande du
navigateur
Ÿ en récupérant des données dans une BD ou sur le disque
Ÿ Durant l’exécution, le programme génère un contenu
HTML
Ÿ Le contenu HTML est envoyé au navigateur
Ÿ Le navigateur affiche le résultat 6/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Quelques langages
Langages utilisés :
Ÿ Pour la structure et le contenu des pages :
ñ HTML, XML
Ÿ Pour la présentation (mise en forme) :
ñ CSS
Ÿ Pour le comportement (interactions, vérifications) :
ñ Javascript, AJAX
Ÿ Pour des animations :
ñ Flash (à éviter)

7/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Quelques langages
Langages utilisés :
Ÿ Pour la structure et le contenu des pages :
ñ HTML, XML
Ÿ Pour la présentation (mise en forme) :
ñ CSS
Ÿ Pour le comportement (interactions, vérifications) :
ñ Javascript, AJAX
Ÿ Pour des animations :
ñ Flash (à éviter)

7/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Quelques langages (2)

Langages utilisés :

Ÿ Pour générer le contenu des pages :


Ÿ aller chercher les données
Ÿ fabriquer un document (en général un document HTML)
ñ PHP (ou bien Perl, Python, Java, . . .)
Ÿ Pour interroger la base :
Ÿ requêtes à effectuer sur la base
ñ SQL
8/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Quelques langages (2)

Langages utilisés :

Ÿ Pour générer le contenu des pages :


Ÿ aller chercher les données
Ÿ fabriquer un document (en général un document HTML)
ñ PHP (ou bien Perl, Python, Java, . . .)
Ÿ Pour interroger la base :
Ÿ requêtes à effectuer sur la base
ñ SQL
8/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Quelques outils
Nombreux outils pour aider en programmation Web :
Ÿ Editeurs textuels (Emacs, BlueFish, . . .) ou WYSIWYG
(Dreamweaver, NVU, . . .)
Ÿ CMS pour Content Management System (Drupal, Joomla,
Spip, Wordpress, . . .)
Ÿ Framework (Symfony, Laravel, Hibernate, . . .)

http://fr.wikipedia.org/wiki/Syst%C3%A8me_de_gestion_de_contenu
http://fr.wikipedia.org/wiki/%C3%89diteur_HTML
http://fr.wikipedia.org/wiki/WYSIWYG
http://fr.wikipedia.org/wiki/Framework 9/51
http://fr.wikipedia.org/wiki/Liste_de_frameworks_PHP
LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Plan

Syntaxe de base du HTML


Généralités
En-tête (partie <head>)
Contenu (partie <body>)

Formulaires en HTML
Généralités
Composants de formulaire
Nouveautés avec HTML5

Bilan

10/51
Syntaxe de base du HTML Formulaires en HTML Bilan

Généralités

HTML pour HyperText Markup Language :


Ÿ Langage de balisage (structure contenu)
Ÿ Origine : 1989-1990
Ÿ Toujours en développement (HTML5)
Ÿ Extension de fichiers : .html
Ÿ Standard W3C depuis 1996

http://fr.wikipedia.org/wiki/Hypertext_Markup_Language
http://fr.wikipedia.org/wiki/Langage_de_balisage 11/51
http://www.w3.org/TR/html4/
LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Principe des balises


Ÿ Fichier texte contenant des informations de structuration
Ÿ La structure est indiquée à l’aide de balises :
Ÿ Le nom de la balise indique le type de mise en forme à
appliquer
Ÿ On met une balise ouvrante au début du morceau de texte
concerné :
Ÿ <nom_balise>début du texte...
Ÿ On met une balise fermante à la fin du texte concerné :
Ÿ ...fin du texte</nom_balise>
Ÿ Une balise ouvrante peut contenir des attributs de la forme
nom="valeur" :
Ÿ <nom_balise nom1="val1" nom2="val2" ...>texte...
Ÿ Les attributs permettent de préciser des informations
concernant la mise en forme
Ÿ Les balises peuvent être imbriquées
Ÿ C’est le navigateur qui interprète les balises pour faire
l’affichage 12/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Structure d’une page HTML

Structure d’une page HTML


< !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http ://www.w3.org/TR/html4/strict.dtd">
<html lang="fr">
<head>
<title>Titre de la page</title>
...
</head>
<body>
Partie affichée dans le navigateur
...
</body>
</html>
13/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Définition du type document


Balise doctype spécifie le type de document :
Ÿ Plusieurs versions (et variantes) de la norme HTML
Ÿ Il faut donc préciser laquelle on utilise (et s’y tenir)
Ÿ Obligatoire si l’on veut faire valider son document par un
validateur
Ÿ Balise doctype simplifiée en HTML5 (<!DOCTYPE html>)

Balise <doctype> en HTML4


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

Balise html pour le début du document :


Ÿ Attribut lang pour la langue (synthèse vocale) 14/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

En-tête
Partie head du fichier HTML peut contenir :
Ÿ Des métadonnées sur le document, utilisables par les
navigateurs ou moteurs de recherche :
Ÿ Syntaxe d’une métadonnée :

<meta name="propriété" content="attributs">


Ÿ Exemple de métadonnées :
Ÿ la balise titre, obligatoire (dans la norme)
Ÿ des mots-clés
Ÿ l’encodage du document (important pour afficher
correctement les caractères accentués)
Ÿ le comportement des robots
Ÿ ...

Ÿ La définition de scripts (qui seront utilisés dans la partie


body)
Ÿ Un lien vers une feuille de style ou des scripts externes 15/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

En-tête (2)

Exemple de fichier en-tête


< !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http ://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html ; charset=UTF-8" />
<title>Titre de la page</title>
<link rel="stylesheet" type="text/css" href="includes/styles.css">
...
</head>
<body>
Partie affichée dans le navigateur
...
</body>
</html>

ñ Trois métadonnées dans la partie head : une spécification du


codage, le titre de la page, et un lien vers un fichier de style CSS
16/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Contenu

Le contenu est placé entre les balises <body> et </body>

Le contenu est structuré par des balises de mise en page


(paragraphes, listes, etc.)

17/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Paragraphes

Syntaxe d’un paragraphe


<p>
un texte qui s’étend
sur plusieurs lignes
et qui forme un paragraphe
</p>

ñ le texte entre les balises <p> et </p> forme un paragraphe


(saut de ligne avant et après)

18/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Titres

Syntaxe des titres


Différents types de titres :
Ÿ <h1>un titre important</h1>
un titre important est un titre important (paragraphe
avec un affichage plus gros, en gras)
Ÿ <h2>un titre moins important</h2>
un titre moins important est un titre moins important
(affichage un peu moins gros)
Ÿ ...
Ÿ <h6>un titre peu important</h6>
un titre peu important est un petit titre

19/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Mise en forme du texte

Syntaxe de la mise en forme du texte


Ÿ <i>un texte en italique</i>
ñ un texte en italique
Ÿ <u>un texte souligné</u>
ñ un texte souligné
Ÿ <b>un texte en gras</b>
ñ un texte en gras
Ÿ <big>un texte en plus grands caractères</big>
ñ un texte en plus grands caractères
Ÿ <small>un texte en plus petits caractères</small>
ñ un texte en plus petits caractères
ñ Il vaut mieux privilégier les CSS pour la mise en forme ! 20/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Listes
Syntaxe d’une liste sans numérotation
<ul>
<li>entrée 1</li>
<li>entrée 2</li>
<li>entrée 3</li>
<li>...</li>
</ul>

Syntaxe d’une liste avec numérotation


<ol>
<li>entrée 1</li>
<li>entrée 2</li>
<li>entrée 3</li>
<li>...</li>
</ol> 21/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Tableaux

Syntaxe d’un tableau


<table>
<tr>
<td>case 1</td>
<td>case 2</td>
</tr>
<tr>
<td>case 3</td>
<td>case 4</td>
</tr>
</table>

ñ <tr> pour une nouvelle ligne, et <td> pour une nouvelle


case 22/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Tableaux (2)

Syntaxe d’un tableau


<table border="1">
<tr>
<td>case 1</td>
<td>case 2</td>
</tr>
<tr>
<td>case 3</td>
<td>case 4</td>
</tr>
</table>

ñ l’attribut border permet de définir l’épaisseur de la bordure


Autres attributs : width, align, cellpadding, colspan...
23/51
http://fr.wikibooks.org/wiki/Le_langage_HTML/Tableaux
LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Liens hypertextes

Syntaxe d’un lien hypertexte


<a href="adresse_web">texte servant de lien</a>

ñ Lorsque l’on clique sur texte servant de lien, on va à


l’adresse (URL) adresse_web
Ÿ texte servant de lien devient un lien cliquable
Ÿ Autres attributs de la balise <a> :
Ÿ target="cible" pour ouvrir l’URL dans cible
(target="_blank" pour une nouvelle fenêtre)
Ÿ name="mon_ancre" pour définir une ancre mon_ancre
(endroit précis d’une page)

24/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Liens hypertextes (2)

Caractéristiques du lien :
Ÿ Absolu : adresse_web a un chemin complet (obligatoire
pour un lien situé sur un autre site Web ou avec protocole
différent)

Ÿ Relatif : adresse_web a un chemin défini par rapport à la


page actuelle (préférable sur son site)

25/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Liens hypertextes (2)

Exemples de lien
<a href="documents/un_doc.pdf">un lien interne, avec
chemin relatif</a>

<a href="http ://fr.wikipedia.org/">un lien externe, avec


chemin absolu</a>

<a href="http ://fr.wikipedia.org/" target="_blank">un lien


externe, avec chemin absolu, qui s’ouvre dans une nouvelle
feneêtre</a>

<a href="page.html#section3">un lien interne, pointant sur


l’ancre section3 de la page page.html </a>
26/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Images

Syntaxe d’insertion d’une image


<img src="adresse_web_image" alt="texte alternatif">

ñ Insertion de l’image située à l’adresse adresse_web_image


Ÿ Pas de balise fermante pour <img>
Ÿ Attribut alt="texte alternatif" obligatoire (pour des
raisons d’accessibilité)
Ÿ Autres attributs : width, height, title, border, ...

27/51
http://fr.wikibooks.org/wiki/Le_langage_HTML/Images
LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Regroupements
Deux types de balise :
Ÿ Inline (e.g., <a>, <img>)
Ÿ Block (e.g., <p>)
ñ Un élement inline peut être placé dans des éléments de
type block, mais pas l’inverse

28/51
http://vidberg.blog.lemonde.fr/
LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Regroupements (2)

Les éléments <div> et <span> servent à regrouper et


structurer une page. Ce sont des balises neutres (pas d’effet
visible sur la page sans ajout d’attributs)

Syntaxe d’un regroupment <div>


<div><p>un texte</p><p>et un second</p></div>

ñ <div> s’utilise pour regrouper des éléments de type bloc


(e.g., plusieurs <p>)

Syntaxe d’un regroupement <span>


<p><span>un texte</span> et la suite<p>

ñ <span> s’utilise dans un élément de type bloc (e.g., <p>) 29/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Bonnes pratiques

Ÿ Les navigateurs sont assez tolérants aux erreurs de


programmation en HTML
Ÿ Aérer le code (mise à jour plus facile ñ soutenance de
projet)
Ÿ Commenter le code, avec les balises  !    ¡
<! ceci est un commentaire >
Ÿ Balises en minuscules
Ÿ Penser à l’accessibilité (e.g., attributs alt)
Ÿ Eviter les balises spécifiques à un navigateur
Ÿ Valider son fichier HTML avec un validateur

30/51
http://validator.w3.org/
LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

En résumé

Ÿ HTML  langage de balises, utilisé pour le contenu et la


structure
Ÿ Il existe d’autres balises pour le multimédia, les cadres,
applets, etc. (91 balises sous HTML4, et 188 attributs)

ñ Démo avec demo1.html (code source sur la page du LIF4) 31/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Plan

Syntaxe de base du HTML


Généralités
En-tête (partie <head>)
Contenu (partie <body>)

Formulaires en HTML
Généralités
Composants de formulaire
Nouveautés avec HTML5

Bilan

32/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Généralités

Objectifs des formulaires Web :


Ÿ Permettre à l’utilisateurice de saisir des paramètres
Ÿ Envoyer les valeurs saisies pour chaque paramètre au
serveur
Ÿ Accéder à une page dynamique générée par le serveur
selon les valeurs des paramètres

Quels moyens ?
Ÿ Différents composants (champs textuels, listes
déroulantes, cases à cocher, . . .)
Ÿ A chaque composant correspond un paramètre
33/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Généralités (2)

Des formulaires bien connus pour générer des pages


dynamiques...

34/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Formulaires : balise principale

Syntaxe générale d’un formulaire


<form action="adresse_web" method="type_methode"
name="nomF">
contenu_formulaire
</form>

ñ Formulaire (sans composant) qui a pour nom nomF (attribut


optionnel), qui transmettra ses paramètres avec la méthode
type_methode et qui exécutera le fichier adresse_web après
soumission du formulaire

35/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Formulaires : balise principale (2)

Attributs du formulaire :

Ÿ adresse_web : l’adresse de la page/script à exécuter

Ÿ type_methode : la méthode de transmission des


paramètres :
Ÿ GET : données encodées dans l’URL de la page
Ÿ à la fin de l’adresse, on ajoute le caractère ?
Ÿ puis pour chaque paramètre on ajoute nom=val
Ÿ les paramètres sont séparés par le caractère &
Ÿ POST : données dans le corps de la requête HTTP

Ÿ contenu_formulaire : balises représentant les différents


composants de saisie
36/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Composants de formulaire

Composant (ou élément) de formulaire :

Ÿ Généralement défini par la balise input

Ÿ Type du composant (liste, case à cocher, etc.) spécifié par


l’attribut type de la balise input

Ÿ Aussi des composants liste (balise select) et grand texte


(balise textarea)

Ÿ Attributs recommandés d’un composant : id


(identification dans la page) et name (récupération de la
valeur par ce nom)
37/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Labels

Dans un formulaire, il est recommandé d’associer à chaque


composant un texte descriptif (label)

Syntaxe d’un composant de saisie de texte


<label for="idDuComposant">Texte descriptif</label>

ñ Affiche un label texte descriptif, qui décrit le composant


identifié par idDuComposant
Ÿ Un clic sur le label donne le focus au composant
Ÿ Important pour l’accessibilité

38/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Composant de saisie de texte

Syntaxe d’un composant de saisie de texte


<input type="text" name="nom">

ñ Crée un champ de saisie pour une ligne de texte :


Ÿ nom est le nom du paramètre correspondant à ce
composant
Ÿ Attributs optionnels :
Ÿ size="un_nombre" : la taille du champ en caractères
Ÿ value="une_valeur" : texte pré-saisi
Ÿ utile pour modifier des informations
Ÿ Pas de balise fermante

39/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Composant de saisie de texte (2)

Syntaxe d’un composant de saisie de texte masqué


<input type="password" name="nom">

ñ Même composant que le champ texte, mais les caractères


saisis sont remplacés par des ’’ (typiquement utilisés pour
saisir un mot de passe)

40/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Composant de saisie d’un grand texte

Syntaxe d’un composant de saisie de grand texte


<textarea name="nom" rows="h" cols="l">
contenu pré saisi
</textarea>

ñ Crée un champ de saisie pour du texte sur plusieurs lignes,


avec les attributs :
Ÿ nom est le nom du paramètre correspondant à ce
composant
Ÿ h est la hauteur du composant en nombre de lignes
Ÿ l est la largeur du composant en nombre de caractères
Ÿ le contenu pré-saisi peut être vide et ne contient pas de
balise
41/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Paramètres cachés
Syntaxe d’un composant caché
<input type="hidden" name="nom" value="val">

ñ Permet de donner la valeur val au paramètre caché nom


Ÿ Ce composant n’est pas affiché
Ÿ Utile pour spécifier un identifiant dans un formulaire de
modification des informations de la base
Ÿ Pas de balise fermante

42/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Listes déroulantes
Syntaxe d’une liste déroulante
<select name="nom">
<option value="val1">Texte 1</option>
<option value="val2">Texte 2</option>
...
</select>
ñ Crée une liste déroulante ayant comme sélection possible
Texte 1, Texte 2, . . .
Ÿ La valeur du paramètre nom correspond à la sélection de
l’utilisateurice (e.g., val1 pour Texte 1)
Ÿ L’attribut value est optionnel (par défaut, la valeur vaut le
texte dans la balise option)
Ÿ Attribut selected="true" dans une des balises option
pour pré-sélectionner cette option 43/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Case à cocher
Syntaxe d’une case à cocher
<label>Texte 1 <input type="checkbox" name="nom" id="id1"
value="label1"/></label>
<label>Texte 2 <input type="checkbox" name="nom" id="id2"
value="label2" /></label>
ñ Crée deux cases à cocher identifiées par id1 et id2 portent
sur le même paramètre (nom) et ont pour valeur label1 et
label2 :
Ÿ Les cases d’un même paramètre nom peuvent toutes être
cochées à un moment donné
Ÿ Balise label recommandée pour afficher un texte
correspondant à la case
Ÿ Attribut optionnel checked pour sélectionner une case par
44/51
défaut
LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Boutons radio
Syntaxe d’un bouton radio
<label>Texte 1 <input type="radio" name="nom" id="id1"
value="label1"/></label>
<label>Texte 2 <input type="radio" name="nom" id="id2"
value="label2" /></label>
ñ Crée deux boutons radio portant sur le même paramètre
(même valeur pour leur attribut name), ayant des valeurs
respectives label1 et label2 :
Ÿ Un seul bouton radio coché à un moment donné parmi
tous ceux qui portent sur le même paramètre
Ÿ Balise label recommandée pour afficher un texte
correspondant à la case
Ÿ Attribut optionnel checked pour sélectionner un bouton
radio par défaut 45/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Boutons de soumission

Syntaxe d’un bouton de soumission


<input type="submit" value="texte">

ñ Crée un bouton déclenchant le chargement de la page de


destination (attribut action de la balise form)
Ÿ texte est le texte affiché sur le bouton

Syntaxe d’un bouton de soumission


<input type="reset" value="texte">

ñ Crée un bouton déclenchant la réinitialisation du formulaire,


en utilisant les valeurs pré-saisies lorsqu’elles existent
Ÿ texte est le texte affiché sur le bouton
46/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Quelques éléments de formulaires HTML5


Nouveaux types de l’élément input en HTML5 :
Ÿ tel, url, email
Ÿ search
Ÿ datalist (auto-complète un champ grâce à une liste de
valeurs prédéfinies)
Ÿ date, time, datetime, week, month
Ÿ number
Ÿ range (barre de progression)
Ÿ color
Nouveaux éléments en HTML5 :
Ÿ output (somme d’un calcul)
Ÿ keygen (génération de clés de cryptage) 47/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

Quelques attributs HTML5


Quelques attributs introduits dans HTML5 (pas forcément
implémentés dans les navigateurs) :
Ÿ placeholder : texte indicatif dans un champ textuel, qui
s’efface quand l’utilisateurice commence à saisir
Ÿ required : le formulaire ne peut être validé un de ses
composants avec attribut required n’est pas rempli
Ÿ pattern : vérifier qu’un champ respecte une expression
régulière donnée (e.g., pattern pour url )
Ÿ Ajout de sémantique pour l’attribut rel (valeurs
stylesheet, next, author, etc.)
Ÿ ...

48/51
http://www.w3schools.com/tags/
LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Syntaxe de base du HTML Formulaires en HTML Bilan

En résumé

Ÿ Dans un formulaire, chaque élément de saisie est un


paramètre
Ÿ Définition d’une page destination (attribut action) et d’un
mode de transmission des paramètres (attribut get)

ñ Démo avec demo2.html (code source sur la page du LIF4) 49/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Bilan

Utilisation de HTML pour le contenu et la structuration d’une


page Web :
Ÿ Balises principales (liens, images, listes, etc.)
Ÿ Eléments de base d’un formulaire (champs texte, cases à
cocher, listes déroulantes, etc.)
Ÿ HTML5 : simplification de certaines balises (e.g., doctype,
script), nouveaux éléments et attributs de formulaires,
objets audio et video natifs (plus besoin de plugin), etc.

50/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Bilan

Utilisation de HTML pour le contenu et la structuration d’une


page Web :
Ÿ Balises principales (liens, images, listes, etc.)
Ÿ Eléments de base d’un formulaire (champs texte, cases à
cocher, listes déroulantes, etc.)
Ÿ HTML5 : simplification de certaines balises (e.g., doctype,
script), nouveaux éléments et attributs de formulaires,
objets audio et video natifs (plus besoin de plugin), etc.

Prochain cours :
“l’habillage du contenu” avec CSS

50/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Questions ?

Ÿ Avantages et inconvénients des méthodes GET ou POST


pour transmettres les données d’un formulaire ?

51/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Questions ?

Ÿ Avantages et inconvénients des méthodes GET ou POST


pour transmettres les données d’un formulaire ?

Ÿ Que peut-on utiliser pour agencer les éléments d’une


page Web ? Frames ? Tableaux ? Autre ?

51/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1
Questions ?

Ÿ Avantages et inconvénients des méthodes GET ou POST


pour transmettres les données d’un formulaire ?

Ÿ Que peut-on utiliser pour agencer les éléments d’une


page Web ? Frames ? Tableaux ? Autre ?

Ÿ Quels types de métadonnées connaissez-vous au niveau


des BD ?

51/51

LIF4 - Initiation aux Bases de Données et Réseaux // Programmation Web - cours HTML UCBL Lyon 1

Vous aimerez peut-être aussi