Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de...

85
Ministère de l’Enseignement Supérieur, et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Djerba Support de cours Programmation Web 1 Elaboré par : Olfa HAMROUNI Mouna KORT Maèl SALAH JRAD Public cible : Classe de 1 ère année Licence appliquée : Technologies de l’informatique Année Universitaire : 2016-2017

Transcript of Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de...

Page 1: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Ministère de l’Enseignement Supérieur,

et de la Recherche Scientifique

Direction Générale des Etudes Technologiques

Institut Supérieur des Etudes Technologiques de Djerba

Support de cours

Programmation Web 1

Elaboré par : Olfa HAMROUNI

Mouna KORT

Maèl SALAH JRAD

Public cible : Classe de 1ère année

Licence appliquée : Technologies de l’informatique

Année Universitaire : 2016-2017

Page 2: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Support de cours Programmation Web1

Fiche Matière

Fiche descriptive de la matière : Programmation Web 1

Domaine de formation : Sciences et technologies

Mention : Technologie de l’informatique (TI)

Parcours : Tronc commun (TC)

Semestre : S1

Unité d’enseignement : Développement Web et Multimédia 1

Volume horaire : 21 heures (CI)

Coefficient : 2

Objectifs

Introduire des terminologies liées au développement web

Connaitre la syntaxe du langage HTML5

Connaitre la syntaxe du langage CSS3

Comprendre les technique de référencement

Pré-requis

Connaissances générales sur l’Internet et le Web

Evaluation

Devoir de contrôle

Examen

Travaux personnalisés

Moyens pédagogiques

Tableau

Fascicule de Travaux dirigés

Méthodologies

Le cours s’articule autour des séances de travaux dirigés.

Les TP sont distribués aux étudiants.

Page 3: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Support de cours Programmation Web1

Table des matières

Chapitre1. Introduction au Web ............................................................................ 2

1. Introduction .......................................................................................................... 2

2. Définition .............................................................................................................. 3

3. Principe ................................................................................................................ 3

4. Evolution du Web ................................................................................................. 4

5. Les étapes de développement d’un site web .......................................................... 7

5.1. Planification du travail de développement ...................................................... 7

5.2. Mise en œuvre ................................................................................................... 8

5.3. Conception ........................................................................................................ 8

5.4. Réalisation ........................................................................................................ 9

6. L'hébergement ...................................................................................................... 9

6.1. Définition .......................................................................................................... 9

6.2. Types d’hébergement ........................................................................................ 9

7. Le référencement ................................................................................................ 10

7.1. Annuaires et moteurs de recherche ............................................................... 10

7.2. Définition du référencement........................................................................... 12

Le langage XHTML .............................................................................................. 14

Chapitre 2 :Le langage XHTML ........................................................................... 15

1. Historique .......................................................................................................... 15

2. XHTML en tant que langage de balisage ............................................................ 16

3. HTML ou XHTML ? ............................................................................................ 16

4. La différence entre HTML et XHTML ................................................................ 16

5. Les éditeurs HTML ............................................................................................. 17

6. Les éditeurs visuels ............................................................................................ 18

7. Les éditeurs classiques ....................................................................................... 18

8. La structure de base d’un document XHTML ..................................................... 18

8.1. L’élément racine <HTML> ............................................................................. 19

8.2. L’élément<HEAD> : en-tête d’un document .................................................. 19

8.3. L’élément <body> : le corps du document ...................................................... 22

Chapitre 3:Mise en forme, liste et tableau ........................................................... 24

1. Les titres ............................................................................................................. 24

2. Les divisions de la page ...................................................................................... 24

2.1. Les paragraphes : l’élément <P> .................................................................... 24

2.2. L’élément<DIV> ............................................................................................. 25

3. Les styles physiques ........................................................................................... 25

4. Les listes ............................................................................................................. 26

4.1. Les listes ordonnées ........................................................................................ 26

4.2. Les listes à puces ............................................................................................ 26

4.3. Les listes de définitions .................................................................................. 27

5. Les tableaux ....................................................................................................... 28

5.1. La structure générale d’un tableau ................................................................ 28

5.2. Les attributs de la balise <TABLE> .............................................................. 28

5.3. L'alignement du contenu des cellules ............................................................ 29

5.4. La fusion des cellules ...................................................................................... 30

Chapitre 4: Images, Audio, Vidéo et Liens Hypertextes ...................................... 33

Page 4: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Support de cours Programmation Web1

1. Les images .......................................................................................................... 33

1.1. Les types d’images .......................................................................................... 33

1.2. L’insertion d’images ........................................................................................ 33

2. L'audio ................................................................................................................ 35

3. La vidéo .............................................................................................................. 35

4. Les liens hypertextes .......................................................................................... 36

4.1. Définition ........................................................................................................ 36

4.2. Les liens externes............................................................................................ 37

4.3. Les liens internes: les ANCRES / les SIGNETS .............................................. 38

4.4. Les liens déclenchant l’envoi d’un e-mail ........................................................ 39

Chapitre 5. Les formulaires ................................................................................. 41

1. Introduction ........................................................................................................ 41

2. Structure d'un formulaire ................................................................................... 41

3. Les attributs de l'élément <FORM> .................................................................... 42

3.1. L’attribut ID................................................................................................... 42

3.2. l’attribut ACTION ......................................................................................... 42

3.3. L’attribut METHOD ...................................................................................... 42

4. Les éléments intégrés dans l'élément FORM ...................................................... 42

4.1. Les boutons d'envoi ou de soumission ............................................................ 42

4.2. Les boutons de réinitialisation ....................................................................... 43

4.3. Les boutons graphiques .................................................................................. 43

4.4. Les zones de saisie de texte unilignes ............................................................ 44

4.5. Les zones de saisie de mot de passe ............................................................... 46

4.6. Les zones de saisie de texte long .................................................................... 46

4.7. Les boutons radio et les cases a cocher .......................................................... 47

4.8. Les listes de sélection ..................................................................................... 49

4.9. Les zones cachées ........................................................................................... 52

4.10. Les zones file ................................................................................................... 52

5. Apports du HTML5 ............................................................................................. 53

5.1. Les nouveaux objets ........................................................................................ 53

5.2. Les nouveaux attributs ................................................................................... 54

Chapitre 6: Les feuilles de style ........................................................................... 56

1. Introduction ........................................................................................................ 56

2. les avantages des CSS ........................................................................................ 56

3. Définition ............................................................................................................ 56

4. La syntaxe .......................................................................................................... 56

5. Les sélecteurs ..................................................................................................... 57

5.1. La sélection d’un seul élément ....................................................................... 57

5.2. La sélection de plusieurs éléments................................................................ 57

5.3. Le sélecteur universel ..................................................................................... 58

5.4. Les classes ....................................................................................................... 58

5.5. L'application de plusieurs classes au même élément .................................... 59

5.6. Le sélecteur d’identifiant ID ........................................................................... 60

5.7. Les pseudo-classes et Les pseudo-éléments ................................................... 60

6. Où écrire les styles ? ........................................................................................... 62

6.1. Manière 1 : dans l’élément <style> ................................................................ 62

6.2. Manière 2 : dans un fichier externe ............................................................... 63

6.3. Manière 3 : dans l’attribut style ..................................................................... 63

7. Le positionnement .............................................................................................. 64

7.1. Généralités ...................................................................................................... 64

7.2. Attributs.......................................................................................................... 66

Page 5: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Support de cours Programmation Web1

Annexe1 ............................................................................................................... 69

Annexe2 ............................................................................................................... 75

Page 6: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

1

Chapitre 1 Introduction au Web

Objectifs Spécifiques

A la fin de ce chapitre, l’étudiant sera capable de :

- Connaitre l’origine et l’utilisation d’Internet.

- Identifier les principaux services d'Internet et leurs utilisations.

- Savoir différencier entre le Web et l’Internet.

- Avoir une idée sur les différentes technologies utilisées pour le

développement des sites web.

- Connaitre le cycle de vie d’un site web passant de l’idée vers

l’administration.

Plan du chapitre

1. Introduction

2. Définition

3. Principe

4. Evolution du Web

5. Les étapes de développement d’un site web

6. L'hébergement

7. Le référencement

Volume horaire

- 3 heures

Page 7: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Introduction au Web

2

Chapitre1. Introduction au Web

1. Introduction

Le Web n’est qu’une des applications d’Internet. Il existe d’autres applications qui sont:

FTP (File Transfer Protocol)

Le protocole FTP permet d’établir une connexion temporaire entre deux machines

pour échanger ou télécharger des fichiers. Les fichiers peuvent être des

programmes, des fichiers textes, des images, des séquences vidéo, de la musique,

des logiciels, etc.

Messagerie électronique

La messagerie s’utilise soit avec un logiciel de messagerie spécifique soit avec un

navigateur qui intègre ces fonctionnalités. La messagerie est basée sur différents

protocoles : protocole SMTP (Simple Mail Transfer Protocol), POP (Post Office

Protocol). Généralement, chaque internaute dispose d’une adresse mail

reconnaissable au caractère @.

USENET

Il est appelé aussi news ou newsgroup ou groupe de discussion ou conférence

répartie. Les news sont des forums fédérés par thèmes, où, pendant un temps

donné, les courriers sont conservés sur un serveur. Les news ne sont pas envoyés à

tous les utilisateurs mais stockées sur des ordinateurs dédiés à cette fonction. La

consultation des news résulte d’une démarche volontaire de l’utilisateur.

TELNET

Ce service est appelé aussi émulation de terminal. Il s’agit d’une connexion à un

ordinateur éloigné. Ce service assure le travail en mode réparti, c'est-à-dire qu’il

est possible d’utiliser les ressources offertes par la machine distante.

CHAT

Il est appelé aussi tchatte ou bavardage. C’est un lieu de dialogue en directe avec

d’autres utilisateurs du web sur des sujets. Il existe plusieurs façons de chatter, la

plus classique consiste à se connecter à un serveur IRC (protocole Internet Relay

Page 8: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Introduction au Web

3

Chat) avec un logiciel spécialisé (MSN par exemple), de choisir un pseudo puis de

répondre en direct aux phrases qui s’affichent à l’écran.

2. Définition

Le Web ou le World Wide Web ou le WWW ou le 3W ou la toile d’araignée, est une

source phénoménale d'information. Il s'agit d'un système d'information hypermédia. Il

est constitué de documents MULTIMEDIAS (pages de textes enrichies de sons,

graphiques, images fixes et animées, vidéos, etc...) qui sont reliés entre eux par des

liens HYPERTEXTE.

Ainsi dans les pages qui composent un site web, chaque mot souligné voire certaines

images, est un lien hypertexte cliquable assurant l’affichage d’un autre document. Ce

document pouvant être localisé sur n’importe quel ordinateur du réseau. Des

documents contiennent ainsi des références sur d'autres documents, créant une toile

d'araignée de documents recouvrant le monde.

Le Web a été inventé plusieurs années après Internet, mais c’est lui qui a rendu le

grand public attentif à Internet. Depuis, le Web est fréquemment confondu avec

Internet.

3. Principe

Le Web se base sur:

Le protocole HTTP

Un protocole de communication est un ensemble de contraintes et de règles

permettant d'établir une communication entre deux entités. HTTP s’agit de

l’abréviation de HyperText Transfer Protocol

Le langage HTML

HTML s’agit de l’abréviation de HyperText Markup Language. C’est un langage

à balises permettant de doter certains mots ou images d’une propriété

d’hyperlien.

Les adresses URL

Une adresse URL (Uniform Resource Locator) localise les pages HTML ou

fichiers HTML qui existent dans des serveurs. L’URL est le reflet de la

structuration des informations sur le plan informatique et leur emplacement sur

Page 9: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Introduction au Web

4

le disque dur du serveur. L’URL peut être une adresse simple (généralement

l’adresse d’une page d’accueil) ou une adresse compliquée.

Exemples :

Exemple d’adresse simple : http://www.yahoo.fr

Exemple d’adresse compliquée :

Un logiciel de navigation

Pour consulter le web, il faut disposer d’un logiciel de navigation appelé aussi

browser. Ce logiciel fonctionne avec le principe de client/serveur. Le browser sur

le poste de travail est le client, la machine distante sera le serveur.

Les navigateurs les plus répandus aujourd’hui sont les logiciels proposés

gratuitement : Internet Explorer (Microsoft), Firefox (Mozilla), Netscape

Navigator, Opéra, google chrome, etc.

Ces navigateurs permettent de « surfer » sur le Web en utilisant les hyperliens.

Ils permettent également d’accéder à des outils de recherche d’informations

appelés généralement les moteurs de recherche.

4. Evolution du Web

4.1. Web 1.0 [1995->2003]

Le Web1.0 était la 1ère génération du web. Il comprenait des pages statiques. On

prenait de la communication papier et on la transférait sous forme numérique dans

des pages html qui étaient rarement mises à jour voir jamais. L’internaute n’est

alors qu’un spectateur, extérieur à l’information.

Puis les sites web sont devenus plus dynamiques grâce notamment à l'avènement

des CMS (Content Management System=système de gestion de contenu) permettant

de créer des pages web à la volée. Un système de gestion de contenu ou SGC

(Content Management System ou CMS) est une famille de logiciels destinés à la

Page 10: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Introduction au Web

5

conception et à la mise à jour dynamique de site web. Ils partagent les

fonctionnalités suivantes :

Ils permettent à plusieurs individus de travailler sur un même document ;

Ils fournissent une chaîne de publication (workflow) offrant par exemple la

possibilité de mettre en ligne le contenu des documents ;

Ils permettent de séparer les opérations de gestion de la forme et du contenu.

Dans ce contexte l'internaute est plutôt passif par rapport au Web qui est alors

considéré principalement comme un outil de diffusion et de visualisation de données.

4.2. Web 2.0 [2003 -> 2008]

Le Web 2.0 est la 2ème génération, il est plus orienté vers le partage de données. Il

répond à la question: Comment ce que je mets en ligne peut-être partagé avec

d’autres utilisateurs ? L’internaute n’est plus simplement spectateur, il est devenu

un acteur. Dans cette optique sont apparus les forums, les blogs, les wiki, les flux

RSS et les SPIP.

Les forums

Un forum est un espace de discussion publique ouvert à plusieurs participants. Les

discussions y sont archivées ce qui permet une communication asynchrone (c'est ce

qui différencie les forums de la messagerie instantanée).

Les blogs ou WeBlog

C’est un journal personnel en ligne qui permet à un internaute de publier

régulièrement des informations ou de commenter l’actualité sur un sujet. Sa mise à

jour (blogging), normalement quotidienne, est effectuée par un utilisateur (blogger)

n'ayant pas forcément un profil technique. Des logiciels, accessibles via le web,

permettent de créer et de maintenir facilement le blog.

Un blog est constitué d’un ensemble de billets qui sont les articles ou messages. Ils

sont classés par ordre chronologique et les visiteurs peuvent y laisser des

commentaires. Le billet est donc la colonne vertébrale du blog. Le souci quotidien

du blogueur est de trouver le billet qui lui permettra d'attirer des millions de

visiteurs sur son blog.

Page 11: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Introduction au Web

6

Plusieurs logiciels sont disponibles pour créer des blogs : Blogger, Typepad,

OverBlog, BlogSpirit, SkyBlog, MovableType, WorldPress, Blogware, etc.

Les wiki

Un wiki est un site web dont les pages sont modifiables par tout ou partie des

visiteurs du site. Il permet ainsi l'écriture et l'illustration collaboratives de

documents.

Plus techniquement, il s’agit d’un outil de collaboration de contenu éditorial libre

(open editing) où l’information est publiée sous une licence de documentation libre,

c’est-à-dire qui autorise la modification et la libre utilisation des œuvres de chacun

des auteurs.

Le premier wiki est créé en 1995 et appelé WikiWikiWeb. En 2010, le plus consulté

de tous les wikis est l'encyclopédie libre Wikipédia.

Le phénomène de syndication : les fameux flux RSS

RSS est un acronyme de Really Simple Syndication (syndication vraiment simple),

ou de Rich Site Summary (résumé détaillé d'un site)

Un flux (fils) au format RSS est un fichier XML, mis à jour en temps réel, qui

reprend automatiquement les titres ou le texte d'un site. Bien souvent, il s'agit de

sites d'actualité, webzines, blogs... Le flux RSS est ensuite intégré dans une page

web et affiché sous forme de liens cliquables, qui renvoient vers le site auteur du

flux.

Le système du flux RSS est utilisé pour diffuser les nouvelles des sites

d'information, ce qui permet de consulter ces dernières sans forcément visiter le

site, de les formater comme on souhaite, de faire une présélection des articles, etc.

Les webmasters intègrent ces flux à leur site internet pour afficher les actualités

d'autres sites. Les internautes récupèrent des flux pour lire ces actualités sur leur

navigateur préféré.

Pour lire ces flux RSS, il faut un logiciel spécialisé appelé agrégateur. Ce dernier

peut suivre plusieurs fils de syndication en même temps. Il existe plusieurs

exemples dont on cite : Mozilla Thunderbird, Esobi, Akregator, etc.

Page 12: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Introduction au Web

7

Le système SPIP

SPIP (Système de Publication pour l'Internet Partagé ou Participatif) est un logiciel

libre destiné à la conception de site Web, de type système de gestion de contenu.

SPIP permet, une fois installé et configuré, dedéfinir l’architecture (les rubriques,

l’arborescence) ainsi que la charte graphique d’un site. SPIP permet ainsi de

développer des sites web relativement complexes et puissants, sans pour autant s’y

connaître en programmation. Il vise tout autant les particuliers que les

professionnels. Une fois l’outil installé, le ou les administrateurs du site n’auront

plus qu’à se concentrer sur les articles à rédiger : la gestion du site se fera au

travers d’une console d’administration accessible à partir d’un simple navigateur.

4.3. Web 3.0 [2008 -> ???]

Le Web 3.0 qui est en train de naître, correspond à un nouveau stade de cette

évolution. Les fils RSS commence à émerger une nouvelle approche, par la

multiplication des réseaux sociaux qui relient directement émetteur et destinataire

de l’information

Un réseau social est un ensemble d'identités sociales (individus ou organisations)

reliées entre elles par des liens créés lors des interactions sociales. Il se représente

par une structure ou une forme dynamique d'un groupement social. Alors que le

nombre de sites de réseaux sociaux augmente tous les jours, citons les suivants:

Facebook , FlickR, Youtube, Dailymotion, Skype, twitter, etc.

5. Les étapes de développement d’un site web

Pour développer un site web, les étapes suivantes sont à suivre :

5.1. Planification du travail de développement

Réflexion sur l'objectif du site, sa cible et les moyens financiers à engager.

Réflexion sur les moyens humains pour faire la réalisation et la mise à jour.

Réflexion sur le contenu : contenu des pages, services attendus, principes de

navigation.

Page 13: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Introduction au Web

8

5.2. Mise en œuvre

Dépôt d'un nom de domaine. Un nom de domaine est un identifiant unique

lié à une entité dont les ordinateurs sont reliés au réseau Internet. Le dépôt

des noms de domaines se fait auprès des organismes spécialisés

(InterNic1pour les domaines internationaux et l’Afnic2 pour la France). On ne

peut pas joindre directement ces organismes, il faut passer par

l’intermédiaire d’une société appelée registrar. Il s’agit soit des prestataires

de services pour les entreprises, soit d’hébergeur de site. Le service consiste à

réserver un nom de domaine pour un certain nombre d’années avec une

somme d’argent comme contrepartie. Le système est hiérarchique,

permettant la définition de sous-domaine(s).

Exemples : tunisie.com, bt.com.tn

Il existe deux classes d’extension :

CcTLD (Country Code Top Level Domain): pour les domaines

nationaux composés de deux lettres identifiant un pays : tn (Tunisie), fr

(France), ...

GTLD (Generic Top Level Domain): pour les domaines génériques

composés de trois lettres ou plus : com, net, info, org

Choix d'un hébergeur.

Choix et installation d'un outil de développement (SPIP, CMS,...) ou d'un

éditeur de site Web de type WYSIWYG (exemples : NVU, Macromedia

Dreamweaver, Microsoft FrontPage, Webself) ou texte (exemple : Bluefish,

Emacs, Notepad...).

5.3. Conception

Établissement d'une structure de pages HTML ou XHTML ou CSS.

Définition d'une arborescence

Mise au point d'une charte graphique. La charte graphique est un guide

comprenant les recommandations d’utilisation et les caractéristiques des

différents éléments graphiques (logos, couleurs, polices,..) qui peuvent être

1 INTERnet’s Network Information Center

2 Association Française pour le Nommage Internet en Coopération

Page 14: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Introduction au Web

9

utilisés sur les différents supports de communication de l’entreprise.

La charte graphique permet de garantir l’homogénéité de la communication

visuelle au sein de l’entreprise.

5.4. Réalisation

Création de pages via le Système de gestion de contenu ou l'éditeur.

Mise en place de la charte graphique via les feuilles de styles CSS.

Développement dynamique via des formulaires.

6. L'hébergement

6.1. Définition

Une fois que l’ensemble des pages du site sont créées, il faudra s’assurer qu’elles ont

un aspect identique et très semblable dans les différents navigateurs du marché. Si

c’est le cas, il ne reste plus qu’à transférer l’ensemble des pages du site vers le

serveur web distant qui va les héberger pour les mettre à la disposition de tous. Donc

l’opération d’hébergement consiste à « mettre à disposition d'un espace disque sur un

serveur web afin de diffuser de l'information par le biais d'un site web sur la toile.3 »

6.2. Types d’hébergement

Il existe plusieurs types d’hébergements. À titre d’exemple on cite :

L’hébergement mutualisé ou partagé (shared hosting)

Un site web partage les ressources d'un serveur avec d'autres sites web. Dans ce

cas un serveur web peut héberger jusqu'à plusieurs milliers de sites.

Les avantages d’un tel hébergement sont :

Coûts faibles (coûts partagés)

Toutes les interventions techniques sont à la charge de l'hébergeur

Aucune connaissance d'administration requise

Par contre, l’inconvénient majeur est que les performances sont moyennes voire

même médiocres dans certains cas

3Source : dicodunet.com

Page 15: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Introduction au Web

10

L’hébergement dédié (dedicated hosting)

Le client loue son propre serveur, et peut l'administrer comme il le souhaite. Ce

type d’hébergement est conseillé pour les sites ayant un grand trafic et un

nombre de visiteurs très élevé.

Les avantages de cet hébergement sont :

Performances exceptionnelles

Autonomie totale

Par contre, les inconvénients sont nombreux :

Coûts importants

Connaissances d'administration indispensables

Toutes les interventions techniques sont à la charge du client et sous sa

responsabilité

Grandes sensibilités aux attaques et aux failles de sécurité

L’hébergement sur serveur dédié virtuel (virtual dedicated server)

C’est une solution intermédiaire entre l'hébergement mutualisé et dédié : Le

serveur virtuel se comporte (théoriquement) comme un serveur dédié, mais sur

des ressources matérielles physiques mutualisées.

Les avantages de cet hébergement sont :

Performances très bonnes

Bonne vision de la consommation en ressources

Interventions techniques limitées ou inexistantes

Coûts légèrement réduits par rapport au serveur dédié

En revanche les inconvénients y existent :

Risque de dégradation des performances si l'infrastructure de l'hébergeur

n'est pas suffisamment robuste

Connaissances d'administration souhaitables

7. Le référencement

7.1. Annuaires et moteurs de recherche

Lorsqu’on veut effectuer une recherche sur Internet, on utilise un des deux moyens

suivants : les annuaires de recherche ou les moteurs de recherche.

Page 16: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Introduction au Web

11

Les annuaires4

Les annuaires proposent une liste de sites Web classée par catégories. Chaque

catégorie s’intéresse à un thème bien déterminé et elle contient, à son tour, des

sous-catégories concernant des aspects plus pointus du thème en question. Les

annuaires sont de trois types :

Les annuaires généralistes qui n'excluent aucun centre d'intérêt. Exemple :

waaaouh.com, costaud.net, jusseo.com, bloc.com, etc.

Les annuaires spécialisés et thématiques se penchent exclusivement sur les

sites ou les pages Web traitant un certain sujet, ou destinés à un certain public.

Exemples :

o Domaine informatique : 123-informatique.com, annuaire.aformaclic.fr

o Domaine loisir et tourisme : annuaire-des-vacances.com, univers-

nature.com

o Domaine immobilier : immo-annuaire.com, immo-immo.com

o Domaine automobile : best-of-auto.fr

Les annuaires géographiques peuvent à la fois se révéler généralistes ou

spécialisés ; dans les deux cas, ils sont relatifs à un pays, une région, une

localité.

Les moteurs4

Un moteur de recherche est un outil permettant de retrouver des pages Web

associées à des mots clés déclarés par l’internaute. Google, Wanadoo, voila, MSN,

AOL, AltaVista et autres sont des exemples de moteurs de recherche.

En fait, un moteur est constitué de « robots »,encore appelés bots, spiders,

crawlers, ou agents qui parcourent automatiquement les sites web, suit les

liens hypertextes , indexe les pages examinées dans des bases de données et enfin les

affiche dans une liste classée par ordre décroissant de pertinence des informations

identifiées et localisées. Notant que le moteur de recherche Google est le plus

employé dans le monde, selon certaines estimations plus de 80 % des internautes

l'utilisent5.

4 Fr.wikipedia.org 5Source : accesstoebusiness.com

Page 17: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Introduction au Web

12

On trouve également des méta-moteurs, c'est-à-dire des sites Web où une même

recherche est lancée simultanément sur plusieurs moteurs de recherche. Les

résultats sont ensuite fusionnés pour être présentés à l'internaute. On peut

citer Copernic, Mamma, Kartoo, Seek.fr, Apollo7, etc.

7.2. Définition du référencement

Dans l’absolu, le référencement est l'action de référencer, c'est-à-dire mentionner

quelque chose ou y faire référence. Dans le domaine du web, le référencement est

l’opération qui rend votre site visible parmi les résultats de recherche des annuaires

et de moteurs. Autrement c’est l’inscription ou l’indexation du site dans un annuaire

et/ou un moteur de recherche. Il existe deux types de référencement :

Le référencement naturel : c'est le fait de positionner un site le plus haut

possible dans les résultats de moteurs de recherche. Le positionnement d’un site

en premier lieu dans les résultats de recherche dépend de son titre, de la qualité

de son contenu, de la pertinence et du choix des mots clés…

Le référencement payant ou liens sponsorisés : les liens sponsorisés, liens

commerciaux ou liens promotionnels sont des liens publicitaires apparaissant à

droite ou en haut des pages de résultats des moteurs de recherche. Le

référencement payant est particulièrement recommandé au lancement d'un site

car l'indexation par les moteurs de recherche peut prendre plusieurs mois.

Dans le code source des pages web, c’est la balise « méta » qui est utilisée pour

indiquer le moyen de référencement. Voici un exemple :

<meta name="description" content="Les liens sponsorisés, liens

commerciaux ou liens promotionnels sont des liens publicitaires faisant partis des techniques utilisées en référencement pour optimiser la visibilité d'un site Web. Access To eBusiness, agence de webmarketing

en Tunisie"> <meta name="keywords" content="agence referencement Tunisie,

agence webmarketing Tunisie">

Le paramètre « description » indique une présentation du site et le paramètre

« keywords » donne la liste des mots clefs qui définissent le contenu du site ou de la

page en question.

Page 18: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Introduction au Web

13

Ainsi un moteur de recherche utilise les mots qu'il trouve dans la description, dans

keywords, dans la balise TITLE et dans le texte visible de la page pour leur donner

leur importance nécessaire.

Donc si un mot décrit particulièrement bien le site, il est important qu'on le retrouve

dans ces paramètres.

Page 19: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

14

Chapitre 2 Le langage XHTML

Objectifs Spécifiques

A la fin de ce chapitre, l’étudiant doit être capable de :

- Enumérer et décrire les éléments d’une page web.

- Connaitre la syntaxe des principales balises du langage XHTML.

- Manipuler le langage XHTML.

Plan du chapitre

1. Historique

2. XHTML en tant que langage de balisage

3. HTML ou XHTML ?

4. La différence entre HTML et XHTML

5. Les éditeurs HTML

6. Les éditeurs visuels

7. Les éditeurs classiques

8. La structure de base d’un document XHTML

Volume horaire

- 3 heures

Page 20: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Le langage XHTML

15

Chapitre 2 :Le langage XHTML

1. Historique 6

Historiquement, les langages de balisage sont issus du langage SGML (Standard

Generalized Markup Language) créé en 1986 pour structurer des contenus très divers.

Ce langage s’est révélé trop complexe pour être appliqué au Web, d’où la nécessité d’en

créer une version allégée respectant les mêmes principes essentiels. C’est au début des

années 90, en 1992, que le CERN (Centre Européen de Recherche Nucléaire) rend

public le projet World Wide Web. Ce projet consistait à définir un langage de

présentation de documents hypertextes, dérivé de SGML : HTML = HyperText Markup

Language, ainsi qu'un protocole de transfert de ces documents : HTTP = HyperText

Transfert Protocol.

HTML est un langage de description et de structuration de documents hypertextes. Ce

langage est basé sur une syntaxe de balisage très simple. Il est clair que depuis sa

première version, ce langage a bien évolué, surtout avec l’apparition des feuilles de

styles CSS (Cascading Styles Sheets) en 1996. C’est avec ces feuilles de styles qu’il y a

eu une vraie séparation entre l’information (contenu des documents HTML) et de sa

présentation (contenu des feuilles de style).

La dernière recommandation HTML est en version 4 et particulièrement la version «

strict » associée avec l’emploi de CSS2 publié en 1998.

Quelques mois plus tard, toujours en 1998, le langage XML (eXtensible Markup

Language) a vu le jour. Son succès dans de multiples domaines d’application a conduit

le W3C (World Wide Web Consortium) à créer le langage XHTML (eXtensible

HyperText Markup Language) en 2000, non plus comme une nouvelle version de

HTML, mais comme une reformulation de HTML en tant qu’application XML. Donc le

XHTML n'est rien que du HTML, reformulé de façon à respecter les règles strictes

du XML. [1]

6Source : www.infini-software.com

Page 21: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Le langage XHTML

16

2. XHTML en tant que langage de balisage

Rappelons que, par définition, le langage HTML ou XHTML est un outil de

structuration des documents. Il est basé sur la notion de balises ou marqueurs. Dans

un langage de balisage, tout contenu, qu’il s’agisse de texte, d’image ou d’éléments

multimédias, doit être renfermé dans un élément. En XHTML, chaque élément, appelé

« balise », a un nom et la liste des éléments utilisables est clairement définie dans la

DTD (Document Type Definition) liée à la version utilisée du langage. Généralement,

une balise a la structure suivante :

<nom_balise attribut1="valeur1" attribut2="valeur2" > Contenu_balise </nom_balise>

Les attributs de chaque balise précisent ses caractéristiques. Il peut s’agir par exemple

de la définition de la largeur, de la hauteur ou de l’alignement du contenu.

3. HTML ou XHTML ?

L’utilisation du HTML strict, et plus encore du XHTML s’impose de plus en plus. De

plus, une page web respectant les normes rigoureuses du HTML strict, ou encore du

XHTML, sera plus pertinente pour les moteurs de recherche, mieux interprétée par les

navigateurs graphiques actuels et accessible à tout le monde7. En effet, il existe des

règles de base XHTML qui imposent aux développeurs de pages web de respecter les

spécifications indiquées par le W3C. Plus ces recommandations sont appliquées

rigoureusement dans les pages web, plus ces dernières ont la possibilité d’être

facilement référenciées et indexées par les moteurs de recherche.

Parmi ces règles, on cite :

- Document « bien formée »

- Document « conforme »

- Document « valide »

4. La différence entre HTML et XHTML

Les différences entre HTML et XHTML viennent essentiellement de la syntaxe qui doit

être beaucoup plus propre en XHTML. Voici donc les points qu'il faut obligatoirement

respecter :

7Source : openweb.eu.org

Page 22: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Le langage XHTML

17

Toutes les balises doivent avoir une fermeture mais également les balises qui

n'ont pas de balises fermantes. On aura donc <br />, <img />, etc.

Il faut respecter les règles d'imbrication des éléments comme par exemple

"<p>Le langage <strong>XHTML</strong></p>" et non pas "<p>Le langage

<strong>XHTML</p></strong>".

Les balises et attributs doivent être entièrement en minuscules. Les valeurs ne

sont pas concernées par cette règle mais doivent par contre être toujours entre

guillemets. Il faut également savoir que les attributs en formes abrégées sont

interdits.

Exemple :

<meta name="Keywords" content="langage, xhtml, html"/>

L'attribut "name" est remplacé par l'attribut "id". Cependant, pour certains

anciens navigateurs qui ne reconnaissent que très partiellement l'attribut "id",

il convient de mettre les deux à la fois.

Exemple :

<h1 name="titre"id="titre">Langage XHTML</h1>

L'attribut "name" n'est plus utilisable avec les éléments a, applet, form, frame,

iframe, img, et map.

Pour déclarer un document XHTML 1.1 et au-delà, on écrira:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">

5. Les éditeurs HTML8

Un éditeur HTML (ou éditeur Web) est un logiciel conçu pour faciliter la préparation et

la modification de documents écrits en Hypertext markup language (HTML). Un

document HTML est le principal composant d'une page Web.

L'édition des images, des animations ou du son sont effectuées avec

les logiciels appropriés. Un éditeur HTML ne sert qu'à disposer ces ressources dans

une page Web. Il existe deux catégories d'éditeur :

8Source : wikipédia.org

Page 23: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Le langage XHTML

18

- Les éditeurs tel-tel (WYSIWYG) ou visuels

- Les éditeurs de texte ou classiques

6. Les éditeurs visuels

Un éditeur visuel permet d'éditer une page Web comme elle apparaît dans

les navigateurs courants. Il propose les fonctions classiques des traitements de texte

WYSIWYG. Ses deux principaux avantages sont la facilité d'utilisation et l'observation

immédiate du rendu graphique. Par contre, ses deux principaux inconvénients sont le

manque de maîtrise sur la qualité du document HTML produit et les risques

d'incompatibilité avec des navigateurs non prévus par l'éditeur. Exemple : Adobe

GoLive, Adobe Dreamweaver, BlueGriffon, Komodo, KompoZer, Netlor…

7. Les éditeurs classiques

Ces éditeurs éditent directement en langage HTML : le code y apparaît et y est traité

comme du texte. Ils requièrent donc une compétence dans ce langage. En contrepartie,

ils permettent à un utilisateur compétent de s'assurer de la qualité du document

produit.

Exemple : Bluefish, Ecoder, Htmledit, HTML Kit, Notepad++, PSPad, Quanta+.

Remarque : certains éditeurs sont visuels mais avec accès au mode texte. En fait,

ils combinent les deux éditeurs présentés ci-dessus. Exemple : Nvu.

8. La structure de base d’un document XHTML

Le squelette d’un document HTML est le suivant :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"

"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html> <head> Informations d’entête </head>

<body> Corps de la page XHTML

</body></html>

La déclaration DOCTYPE est obligatoire dans tout document. Elle précise le type

de document qui va être créé, la DTD à laquelle il va se conformer et l’adresse du

Page 24: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Le langage XHTML

19

fichier xhtml11.dtd qui contient la DTD elle-même. Rappelons que la DTD est

l’ensemble des règles qui précisent « la grammaire du langage ».

Les informations d’entête sont :

- le titre: exprimé par la balise TITLE

- les balises méta: exprimées par la balise META

- les objets liés: exprimés par la balise LINK

- les scripts: exprimés par la balise SCRIPT

Le corps contient tout ce qui apparaîtra dans la fenêtre du navigateur.

Remarque : Il est toujours utile de commenter un code XHTML, comme tout code

informatique d’ailleurs, pour en permettre une meilleure compréhension, en particulier

quand on souhaite le relire un certain temps après l’avoir écrit. Pour le faire, il faut

utiliser les symboles : "<!--" au début du commentaire et "-->" à la fin de celui-ci. , Tout

ce qui est écrit comme commentaires sera ignoré par le navigateur.

Dans ce qui suit, on détaillera chacune des balises déjà mentionnées en exemple ci-

dessus.

8.1. L’élément racine <HTML>

C’est l’élément <html> qui est l’élément racine du document. C’est donc lui qui est

le parent de tous les autres. L’élément <html> est donc le conteneur de premier

niveau placé en haut de la hiérarchie de tous les éléments du document. Il n’existe

que deux éléments enfants de l’élément <html>:head et body. L’élément racine

possède trois attributs facultatifs : xml:lang, dir et xmlns.

8.2. L’élément<HEAD> : en-tête d’un document

L’élément <head> englobe six sous-éléments différents qui ont chacun un rôle bien

déterminé. Il s’agit des sous-éléments :<base>, <link>, <meta>, <script>, <style> et

<title>.

Aucun d’eux n’a de répercussion directement visible dans la page et seul le contenu

de l’élément <title> sera visible, non dans la page mais dans la zone de titre du

navigateur.

Dans ce qui suit, on détaillera deux sous-éléments inclus dans <head>:

Page 25: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Le langage XHTML

20

Le sous-élément <META /> : les meta-données

La balise <meta /> est un élément dont les informations ne sont pas visibles dans

la page mais elles sont destinées au serveur web, aux navigateurs et aux moteurs

de recherche. Il contient 2 attributs name et http-equiv dont les rôles sont

similaires, et leur valeur associée est contenue dans l’attribut content sous la

forme suivante :

<meta name="nom1" content="valeur 1" />

<meta http-equiv="nom2" content="valeur 2" />

La plupart des valeurs des attributs name et http-equiv sont des mots-clés qui

seront utilisés par les moteurs et les annuaires de recherche.

Le tableau suivant décrit les valeurs possibles de chacun de ces attributs :

Attribut Description

name="author" Désigne le nom de l’auteur de la page.

name="keywords" Dans ce cas, l’attribut content associé à name contient la liste

des mots clés. Chaque mot ou expression est séparé des

autres par une virgule. Il est important de choisir ses mots-

clés pour qu’ils correspondent au contenu du site et d’en

multiplier les variantes dans la liste de l’attribut content. Il

est possible de mettre le même mot au singulier et au pluriel,

au masculin et au féminin.

name="description" Indique une brève description de l’information contenue dans

le site. Elle doit être courte, correcte et concise.

http-equiv="refresh" Force le navigateur à recharger la page. L’attribut content

définit le nombre de secondes de recharge. Utilisé avec les

sites aux informations renouvelées très fréquemment

(cotation boursière, affichage d’heure…)

http-equiv="expires" Force le navigateur à actualiser la page. L’attribut content

définit la date et l’heure de mise à jour (format anglais de

date et heure)

Page 26: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Le langage XHTML

21

À titre d’exemple, on peut écrire les codes suivants :

- Pour afficher une liste de mots clés en anglais :

<meta name="keywords" content="html,xhtml, site web"/>

- Pour afficher une description d’une page qui sera indexée par les moteurs de

recherche :

<meta name="Description" content="Ici se place le résumé d'un document, d'une

page d'accueil, le descriptif d'une activité, la présentation d'une société"/>

- Pour que le document sera rechargé toutes les dix secondes

<meta http-equiv="refresh" content="10" />

- Pour que la page sera mise à jour le 11 juillet 2005 à 18 h 34 min 45 en temps

GMT

<meta http-equiv="expires" content="Mon, 11 Jul 2005

18:34:45 GMT"/>

Le sous-élément <TITLE> : le titre de la page

C’est la balise qui permet d’afficher un titre de la page. Ce titre apparaît dans la

barre de titre située en haut de la fenêtre du navigateur avant même l’affichage

complet de la page web. C’est une balise dont sa présence est obligatoire dans

l’élément <head>. Son contenu est un simple texte qui doit résumer le contenu de la

page en une ligne maximum. Il est important de bien réfléchir à ce contenu car c’est

aussi lui qui apparaîtra comme titre principal du site dans les moteurs de

recherche. Il doit donc être accrocheur et bien correspondre à l’esprit de la page.

Par exemple, on peut écrire le code suivant :

<title>Le site de XHTML 1.1 et CSS 2</title>

L’exemple suivant donne un code possible de la balise <head> avec quelques sous-

éléments :

Page 27: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Le langage XHTML

22

<head> <title>Titre de la page</title>

<meta name="Author" content="Jean ENGELS"/> </head>

8.3. L’élément <body> : le corps du document

L’élément <body> est le conteneur de l’ensemble des éléments textuels et graphiques

d’une page web. Les mots clés suivants donnent la liste exhaustive de toutes les

balises qui peuvent être incluses directement dans l’élément <body> :

Address – blockquote – del – div – dl – fieldset – form - h1 - h2 - h3 - h4 - h5 - h6 - hr

– ins – ol – noscript – p – pre – script – table – ul

Tout autre élément y est interdit et le respect de cette liste est une convention

primaire de validation d’un document XHTML. Les éléments ne figurant pas dans

cette liste doivent d’abord être inclus dans des éléments de cette liste (c’est le cas par

exemple de l’élément <img />).

Page 28: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

23

Chapitre 3 Mise en forme, liste, tableau

Objectifs Spécifiques

A la fin de ce chapitre, l'étudiant doit être capable de:

- Créer des pages web contenant des tableaux.

- Introduire les notions HTML avancées tels que les tableaux, les

listes.

Plan du chapitre

1. Les titres

2. Les divisions de la page

3. Les styles physiques

4. les listes

5. Les tableaux

Volume horaire

- 3 heures

Page 29: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Mise en forme, liste et tableau

24

Chapitre 3:Mise en forme, liste et tableau

1. Les titres

Dans une page web, c’est en priorité les titres qui identifient les grandes sections

de texte, comme dans un livre. Les titres sont contenus dans les éléments <h1>,

<h2>, <h3>, <h4>, <h5> et<h6>, avec <h1>…</h1>, pour les titres de premier

niveau et <h6> … </h6>, pour les titres de plus bas niveau.

Le code suivant donne un exemple d’utilisation des différents niveaux de titre :

<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>

2. Les divisions de la page

Le corps d’un document, contenu dans l’élément <body>, peut être divisé en

différentes parties qui vont constituer les différents blocs de la page. Ces

divisions permettent de bien structurer l’information contenue dans une page.

2.1. Les paragraphes : l’élément <P>

Comme dans un traitement de texte, le contenu d’une page peut être divisé en

différents paragraphes.

- Chaque est précédé et suivi d’un saut de ligne pour marquer la séparation

avec le contenu précédent et suivant.

- Chaque paragraphe doit être délimité par les balises <p> et </p>.

- Chaque paragraphe peut contenir du texte mais également tous les

éléments enligne comme des images, des objets multimédia ou des

composants de formulaire si l’élément <p> est inclut lui-même dans un

formulaire.

Page 30: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Mise en forme, liste et tableau

25

2.2. L’élément<DIV>

L’élément <div> crée une division de la page. Ce type de division permet de

grouper dans un seul bloc un ensemble composé soit de texte soit d’éléments

inclus, auxquels on pourra appliquer globalement des styles particuliers. À la

différence des paragraphes, une division créée avec <div> permet d’inclure une

très grande variété d’éléments XHTML, comme du texte brut, les éléments en

ligne et la totalité des éléments de niveaux bloc comme l’autorise <body>, mais

également les titres, les listes et les formulaires, ce qui est interdit dans un

paragraphe.

Remarque : Contrairement aux paragraphes <p>, la fin d’une division

n’entraîne pas un saut de ligne par défaut, mais seulement un retour à la

ligne. Les contenus des différentes divisions peuvent donc se succéder sans

rupture. De plus il est possible d’utiliser la balise <span> avec quelques mots

afin de les particulariser et de les mettre en évidence, le plus fréquemment au

moyen d’un style prédéfini (italique, gras, souligné couleur différente…)

3. Les styles physiques

Le tableau suivant résume les balises de styles physiques :

Style Syntaxe Résultat

Gras <b>Texte</b>

<strong> Texte </strong>

Texte

Italique <i> Texte </i>

<em> Texte </em>

Texte

Souligné <u>Texte</u> Texte

Exposant 10 <sup>3</sup> 103

Indice C <sub> 2</sub> C2

Barré <s> Texte </s>

<strike> Texte </strike>

Texte

Police plus grande <big> texte </big> texte

Police plus petite <small>texte</small> texte

Créer un retour en ligne <br /> ---

Ligne horizontale <hr />

Police <font size= ".." face="…"

color="…"> texte </font>

Page 31: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Mise en forme, liste et tableau

26

L’exemple de code suivant utilise successivement l’ensemble de ces éléments,

créant des styles physiques.

<p>Éléments b et strong : Le contenu suivant est <b> important </b>. La suite l’est moins. Mais ceci est <strong>également remarquable.</strong></p>

<p>Éléments i et em : Celui est en <i>caractères italiques </i> et le suivanten<i><b> caractères italiques gras</b></i>

Celui est en <em>caractères italiques </em> et le suivant en<em><b> caractèresitaliques gras</b></em></p> <p> Ce texte là est <big>grand, <big>encore plus grand, <big>et plus

grand encore,<big>toujours plus grand </big></big></big></big></p> <p>Ce texte ci est <small>petit, <small>encore plus petit, <small>et

plus petitencore, <small>toujours plus petit </small></small></small></small></p> <p>Le n<sup>ième</sup> terme de la suite numérique est noté

u<sub>n</sub>.La fonction cube est notée : x<sup>3</sup></p>

4. Les listes

4.1. Les listes ordonnées

Une liste ordonnée est constituée d'un conteneur <ol> (Ordered List) dans

lequel se trouve chaque item de la liste, précédé d'un élément <li>.

Exemple : Le code suivant :

<ol> <li> Hiver</li>

<li> Automne</li> <li> Été</li>

<li> Printemps</li> </ol>

Permet d'afficher la liste ordonnée suivante :

1. Hiver

2. Automne

3. Été

4. Printemps

4.2. Les listes à puces

Une liste à puces est constituée d'un élément ul (Unordered List) dans lequel

chaque item est précédé d'un élément <li>.

Page 32: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Mise en forme, liste et tableau

27

Exemple : Le code suivant :

<ul> <li> Hiver</li>

<li> Automne</li> <li> Été</li> <li> Printemps</li>

</ul>

Permet d'afficher la liste à puces suivante :

Hiver

Automne

Été

Printemps

4.3. Les listes de définitions

Une liste de définitions permet de créer une liste de termes, chacun d’entre eux

étant suivi de sa définition. Le conteneur de l’ensemble de la liste est l’élément

<dl> qui ne peut contenir que des éléments <dt>, <dd>, ou l’élément <dl> lui-

même. Le plus souvent, l’élément <dt> contient le terme et <dd> en renferme

la définition. La structure de base d’une liste de définitions est donc la

suivante :

<dl>

<dt>Terme 1</dt> <dd>Définition 1</dd> .....

</dl>

Le code suivant donne un exemple de liste de définitions :

<dl>

<dt>XHTML</dt> <dd><fieldset>eXtensible HyperText Markup Language : le langage

moderne de création de pages web...</fieldset></dd> <dt>CSS</dt> <dd><fieldset>Cascading Style Sheet : le langage de création des styles

et du design...</fieldset></dd> <dt>PHP</dt>

<dd><fieldset>PHP Hypertext Preprocessor : le meilleur langage de création de pages dynamiques...</fieldset></dd> <dt>SQL</dt>

<dd><fieldset>Structured Query Language : le langage d’interrogation des bases de données...</fieldset></dd>

</dl>

Page 33: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Mise en forme, liste et tableau

28

5. Les tableaux

5.1. La structure générale d’un tableau

L’élément essentiel dans la création de tableaux est <table>. Un tableau doit

se créer ligne par ligne. Chaque ligne est déclarée par un élément <tr> (pour

table row). La création de chaque cellule d’une ligne est déclarée par un

élément <td> (pour table data) pour les cellules standards du tableau ou <th>

(pour tablehead) pour les cellules qui jouent le rôle d’en-tête de colonne ou de

ligne. Pour terminer la présentation d’un tableau, on peut lui attribuer un

titre général qui doit être contenu dans l’élément <caption>, lui-même inclus

dans <table>. Cet élément doit être le premier à apparaître dans <table>. Son

contenu apparaît par défaut au-dessus du tableau.

Le code suivant donne un exemple de création de tableau régulier.

<table border="1">

<caption>Un tableau </caption> <tr> <td> Ligne 1 Colonne 1</td>

<td> Ligne 1 Colonne 2</td> <td> Ligne 1 Colonne 3</td>

</tr> <tr>

<td> Ligne 2 Colonne 1</td> <td> Ligne 2 Colonne 2</td> <td> Ligne 2 Colonne 3</td>

</tr> <tr>

<td> Ligne 3 Colonne 1</td> <td> Ligne 3 Colonne 2</td> <td> Ligne 3 Colonne 3</td>

</tr> </table>

5.2. Les attributs de la balise <TABLE>

La balise ou l’élément <table> possède plusieurs attributs dont les plus

utilisés sont :

Page 34: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Mise en forme, liste et tableau

29

Attributs Désignation

border ="N" Définit la largeur des bordures externes et

internes qui délimitent le tableau et les cellules.

Sa valeur s’exprime exclusivement en nombre

de pixels et la

valeur 0 est admise pour cacher ses bordures.

width ="N px" ou

width = "N%"

Définit la largeur totale du tableau dans la

page. La possibilité de définir une largeur

relative en pourcentage est très pratique pour

adapter le tableau à l’écran du visiteur.

cellpadding = "N px" ou

cellpadding = "N%"

Définit la largeur de l’espacement entre le

contenu d’une cellule et sa bordure.

cellspacing = "N px" ou

cellspacing = "N%"

définit l’espacement entre les bordures de

chaque cellule. Pour que cet attribut soit pris en

compte, il faut que l’attribut border ne soit pas

nul. Si l’attribut cellspacing est non défini, il

prend par défaut la valeur de l’attribut border.

5.3. L'alignement du contenu des cellules

Les attributs align et valign des éléments <table>, <tr>, <td> et <th>

permettent de définir l’alignement de leurs différents contenus. Comme tous

ces éléments sont emboîtés les uns dans les autres, la définition de ces

attributs à des niveaux différents implique des règles de priorité pour

déterminer laquelle des valeurs doit l’emporter.

Ces règles sont les suivantes :

- L’alignement défini dans un élément inclut dans <td> ou <th>

l’emporte sur celui de son parent.

- L’alignement défini dans <td> ou <th> l’emporte sur celui de <tr>.

- L’alignement défini dans <tr> l’emporte sur celui de <table>.

- Le code suivant montre l’application de ces règles

Page 35: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Mise en forme, liste et tableau

30

<table border="3" width="100%" cellpadding="12px" align="left"> <caption><big>Alignement du contenu des cellules</big></caption>

<tr align="right"> <td align="justify">

<p><big>Texte justifié</big><br/>AAAA</p> </td> <td>

<p><big>Texte aligné à droite</big><br/>BBBB </p> </td>

</tr> <tr> <td align="center"><p><big>Texte centré</big><br/>CCCC </p>

</td> <td><p><big>Texte aligné à gauche</big><br/>DDDDD</p>

</td></tr> </table>

5.4. La fusion des cellules

Pour concevoir des tableaux irréguliers, il est fréquent de fusionner des

colonnes et des lignes. Pour cet objectif, on utilise respectivement les

attributs « colspan » et « rowspan ».

Exemple: Le code suivant:

<tableborderheight="300"width="400"> <tralign="center">

<tdrowspan="3">A</td> <tdcolspan="2">B</td> <td>C</td>

</tr> <tralign="center">

<td>D</td> <td>E</td>

<tdrowspan="2">G</td> </tr> <tralign="center">

<tdcolspan="2">F</td> </tr>

</table>

Page 36: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Mise en forme, liste et tableau

31

Fournit le tableau suivant :

Page 37: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

32

Chapitre 4 Les formulaires

Objectifs Spécifiques

A la fin de ce chapitre, l'étudiant doit être capable de:

- Introduire les notions HTML avancées tels que les images, les

fichiers audio, les fichiers vidéo, les liens hypertextes.

Plan du chapitre

1. Les images

2. L'audio

3. La vidéo

4. Les liens hypertextes

Volume horaire

- 3 heures

Page 38: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Images, Audio, Vidéo et Lien Hypertextes

33

Chapitre 4: Images, Audio, Vidéo et Liens Hypertextes

1. Les images

1.1. Les types d’images

Les navigateurs actuels n’acceptent qu’un nombre restreint de types d’images et il

faudra se limiter aux trois grands types les plus utilisés et enregistrer les images

selon les formats présentés ci-après, qui sont suffisants pour satisfaire tous les

besoins d’un concepteur de sites:

• GIF : Graphics Interface Format, ayant pour extension .gif. Ce format est limité

à 256 couleurs et est donc déconseillé pour les photographies ayant une grande

plage de teintes différentes. On l’utilisera en priorité pour des icônes, des

dessins ou des bandeaux publicitaires car il présente aussi l’avantage de

permettre la création de petites animations et l’entrelacement qui va permettre

l’affichage progressif de l’image, d’abord en basse résolution puis, au fur et à

mesure du chargement, à la résolution maximale.

• JPEG : Joint Photographic Experts Group, ayant pour extensions .jpeg ou .jpg.

Ce format permet la création d’images en 24 bits (16 millions de couleurs), et

est donc très adapté aux photographies réalistes. En contrepartie toutefois, les

images JPEG ont habituellement un poids plus important en Ko, ce qui ralentit

leur chargement.

•PNG : Portable Network Graphics, ayant pour extension .png. Ce format est

assez récent et a été conçu comme alternative au format GIF. Le format PNG

créé à l’initiative du W3C est donc libre de droit et permet la création de

graphiques et de photographies.

1.2. L’insertion d’images

a. L’élément<IMG />

L’élément <img /> permet d’inclure des images dans une page web. Il s’agit d’un

élément de type en ligne et doit être inclus directement dans un élément de type

Page 39: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Images, Audio, Vidéo et Lien Hypertextes

34

bloc, dans une liste, ou encore d’autres éléments. C’est un élément vide, d’où

l’utilisation du symbole de fermeture incorporé à la fin de la balise d’ouverture.

Les éléments parents de l’élément <img /> sont :a, caption, div, li, p, span, td, th,

etc.

b. L’attribut SRC

Il précise l’adresse relative ou absolue du fichier image que l’on désire afficher

dans la page. Son utilisation est donc obligatoire.

Exemples :

<img src="image.png" /> : pour une adresse relative, ce qui suppose que le

fichier PNG est situé dans le même répertoire que le fichier XHTML qui

l’incorpore.

<img src="http://www.votresite.com/images/image.png" />: définit une adresse

absolue, l’image pouvant donc figurer sur un autre serveur que le nôtre.

L’utilisation des adresses relatives est préférable en vue de faciliter la

maintenance du site. Si le fichier n’est pas disponible, les navigateurs affichent

une icône à la place.

c. L’attribut ALT

La présence de cet attribut est également nécessaire et il doit contenir un texte

fournissant une brève description de l’image. Ce texte apparaîtra à la place de

l’image si celle-ci n’est pas disponible (absente du répertoire cible ou illisible).

d. Les attributs HEIGHT et WIDTH

Ils permettent de définir respectivement la hauteur (height) et la largeur (width)

qu’aura l’image sur le média d’affichage. Ces dimensions peuvent être définies à

l’aide de valeurs exactes en pixels ou d’un pourcentage. Dans ce dernier cas, les

pourcentages font référence aux dimensions de l’élément parent de l’image. Si la

fenêtre du navigateur est redimensionnée, les dimensions de l’image seront alors

recalculées, laissant l’image entièrement visible. La définition de ces attributs

accélère l’affichage dans les navigateurs car elle leur permet de déterminer la zone

d’affichage avant même d’avoir téléchargé l’image.

Page 40: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Images, Audio, Vidéo et Lien Hypertextes

35

2. L'audio

Pour insérer une séquence audio dans une page web, on utilise la balise <audio>. Cette

dernière est l'apport du HTML5.

Syntaxe

<audio src="url fichier audio"></audio>

OU

<audio>

<source src="url fichier audio"></source>…

</audio>

Extensions fichiers

Les fichiers audio supportés par le web ont généralement les extensions suivantes:

mp3, aac et ogg.

Attributs:

A part l'attribut src, la balise audio admet d'autres dont on cite:

• Controls : pour ajouter les boutons « Lecture », « Pause » et la barre de défilement.

• Width : pour modifier la largeur de l'outil de lecture audio.

• Loop : la musique sera jouée en boucle.

• Autoplay : la musique sera jouée dès le chargement de la page.

Exemple:

<audio src="fayrouz.mp3" controls="controls" width="400px" autoplay="autoplay" loop="loop">

</audio>

3. La vidéo

Pour insérer une séquence vidéo dans une page web, on utilise la balise <video>. Cette

dernière est l'apport du HTML5.

Syntaxe

<video src="url fichier audio"></video>

OU

<video>

<source src="url fichier video"></source>…

Page 41: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Images, Audio, Vidéo et Lien Hypertextes

36

</video>

Extensions fichiers

Les fichiers vidéo supportés par le web ont généralement les extensions suivantes:

mp4, webm et ogv.

Attributs:

A part l'attribut src, la balise video admet d'autres dont on cite:

• Poster : l'URL de l'image à afficher à la place de la vidéo tant que celle-ci n'est pas

lancée.

• controls : pour ajouter les boutons « Lecture », « Pause » et la barre de défilement.

• width : pour modifier la largeur de la vidéo.

• height : pour modifier la hauteur de la vidéo.

• loop : la vidéo sera jouée en boucle.

• autoplay : la vidéo sera jouée dès le chargement de la page

Exemple:

<video src="film1.mp4" controls="controls" poster="film.jpg" width="400px"

autoplay="autoplay"> </video>

4. Les liens hypertextes

4.1. Définition

Dans l’acronyme XHTML, on peut considérer que l’élément le plus important est le

mot «Hypertext ». En effet, la création de documents contenant des liens hypertextes

est la particularité qui a rendu le Web si populaire. Les liens hypertextes permettent

de passer, d’un simple clic, sur un mot ou sur une image, d’une page à l’autre, qu’elle

soit située sur le même serveur ou en n’importe quel point du réseau. Nous parlerons

dans ce cas de lien externe. Il est également possible de passer instantanément d’un

point de la page à un autre situé dans la même page et identifié par un nom

particulier. Nous parlerons alors de lien interne. Un lien peut permettre, également,

de déclencher l’ouverture automatique de la messagerie électronique du visiteur

pour envoyer un e-mail vers le site ou à l’attention de tout autre destinataire.

Page 42: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Images, Audio, Vidéo et Lien Hypertextes

37

4.2. Les liens externes

L’élément XHTML primordial pour la création de liens est l’élément <a>, dont le

contenu est situé entre les balises <a> et </a>. Le contenu peut être un texte ou une

image et il est sensible au clic. Ses attributs permettent de définir la cible du lien et

les moyens de le déclencher. Comme il s’agit d’un élément en ligne, il doit être inclus

dans un bloc ou tout autre élément admettant comme contenu cet élément. Quand on

définit un lien dont l’origine est par exemple un texte, celui-ci apparaît souligné,

dans une couleur particulière définie par défaut dans le navigateur (généralement en

bleu), et le curseur prend l’aspect d’une main pour signaler l’existence de ce lien. Ces

conventions visuelles sont communes à tous les navigateurs et il est possible de les

modifier à loisir avec des styles CSS.

Syntaxe:<a href="url">texte ou image</a>

Avec url est l'adresse relative ou absolue du fichier cible vers lequel le navigateur

passe en cliquant sur le texte ou l'image définie.

Exemples:

<p>La page <a href= "pagecss.html" > CSS2 </a></p>

En cliquant sur CSS2, on passe au fichier pagecss.html. Ce document doit se trouver

sur le serveur, dans le même dossier que la page en cours qui contient le lien. Dans

le cas contraire, on expose les visiteurs à l’affichage de la page maudite des

webmestres, nommée « Erreur 404 ».

<div>Visitez le site du <a href= "http://www.w3.org" >W3C </a></div>

En cliquant sur le mot W3C, on passe à son site officiel.

L’élément <a> possède un ensemble d’attributs dont on cite l'attribut target. Ce

dernier permet de désigner la fenêtre dans laquelle s'ouvre la page cible d’un lien. Il

peut prendre les valeurs prédéfinies:

_blank: pour afficher la cible dans une nouvelle fenêtre.

_parent: pour afficher la cible dans la fenêtre parent de la fenêtre en cours.

_self: pour afficher la cible dans la fenêtre elle-même.

_top: pour afficher la cible dans la fenêtre de plus haut niveau.

Page 43: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Images, Audio, Vidéo et Lien Hypertextes

38

4.3. Les liens internes: les ANCRES / les SIGNETS

Quand le contenu d’une page est volumineux, l’utilisateur ne peut pas en avoir une

vision globale. Il est alors souhaitable de lui proposer une table des matières ou un

menu, composé de liens internes vers les différentes sections de la page. Il pourra

ainsi accéder directement au point de son choix sans faire défiler la page. De même,

si le lien est externe, il est possible d’accéder en un point particulier de la page cible.

Chaque point cible de la page doit être signalé par un lien particulier, appelé ancre,

lequel est créé à l’aide de l’élément <a>, muni simplement d’un attribut id dont la

valeur doit être unique dans la page.

Exemple:

<h1>Vos sujets préférés</h1>

<ul> <li><a href="#sujet1" id="menu1"> XHTML</a></li> <li><a href="#sujet2" id="menu2"> CSS</a></li>

<li><a href="#sujet3" id="menu3"> JavaScript</a></li> </ul>

<hr/> <!-- Première section --> <div>

<h1>XHTML</h1><a id="sujet1" href="#menu1">Retour au vers le menu</a><br/>

Quand le contenu d’une page est assez long, l’utilisateur ne peut pas en avoir une vision globale. Il est alors possible de lui proposer une table des matières ou un menu composé de liens vers les différentes sections de la page. Il pourra alors

accéder directement au point qui lui convient sans avoir à faire défiler la page… </div><br/><hr/>

<!-- Deuxième section --> <div> <h1>CSS</h1><a id="sujet2" href="#menu2">Retour au vers le

menu</a><br/> Quand le contenu d’une page est assez long, l’utilisateur ne peut pas en avoir une

vision globale. Il est alors possible de lui proposer une table des matières ou un menu composé de liens vers les différentes sections de la page. Il pourra alors accéder directement au point qui lui convient sans avoir à faire défiler la page…

</div><br/><hr/> <!-- Troisième section -->

<div> <h1>JavaScript</h1><a id="sujet3" href="#menu3">Retour au vers le menu</a><br/>

Quand le contenu d’une page est assez long, l’utilisateur ne peut pas en avoir une vision globale. Il est alors possible de lui proposer une table des matières ou un

menu composé de liens vers les différentes sections de la page. Il pourra alors accéder directement au point qui lui convient sans avoir à faire défiler la page…

</div><br/><hr/>

Page 44: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Images, Audio, Vidéo et Lien Hypertextes

39

On peut aussi créer un système de navigation complet entre plusieurs pages du même

site à l’emplacement qu’on veut atteindre

Exemple

<h1 id="menuxhtml">XHTML <a href="xhtml.html#chap1"> Chapitre 1</a>

<a href="xhtml.html#chap2"> Chapitre 2</a> <a href="xhtml.html#chap3"> Chapitre 3</a> </h1><hr/>

Avec chap1, chap2 et chap3 sont des ancres à définir dans le fichier xhtml.html grâce à

l’attribut id

4.4. Les liens déclenchant l’envoi d’un e-mail

Un site qui se dit à l’écoute de ses visiteurs doit leur permettre d’entrer en contact

avec son webmestre afin qu’ils envoient leurs observations ou questions. Pour leur

faciliter la tâche, il ne suffit pas d’indiquer une adresse e-mail dans chaque page. On

doit créer un type de lien particulier provoquant, en un clic, l’ouverture automatique

du logiciel de courrier préféré du visiteur avec comme destinataire l’adresse que

l’auteur du site aura choisi dans son code. Pour réaliser cette opération, il suffit que

l’attribut href du lien soit composé du nom de protocole mailto: suivi de l’adresse e-

mail du contact.

Exemples

<div> <a href="mailto:[email protected]"> Contactez nous! </a></div>

<p>Demande de <a href="mailto:[email protected]?subject=Demande de

renseignements">documentation</a></p>

Page 45: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

40

Chapitre 5 Les formulaires

Objectifs Spécifiques

A la fin de ce chapitre, l'étudiant doit être capable de:

- Réaliser des formulaires dans des pages web.

Plan du chapitre

1. Introduction

2. Structure d’un formulaire

3. Les attributs de l’élément <form>

4. Les éléments intègres dans l'élément form

5. Apports du html5

Volume horaire

- 3 heures

Page 46: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Les formulaires

41

Chapitre 5. Les formulaires

1. Introduction

De nos jours, plusieurs actions sont devenues très courantes et ne sont possibles que

grâce à l’existence des formulaires insérés dans une page web. Citons comme exemples:

laisser un avis dans un livre d’or, saisir un mot-clé dans un moteur de recherche,

passer une commande en ligne, etc. Tout échange de données entre un visiteur (le poste

client) et l’ordinateur hébergeant le site (le serveur), opéré via le protocole HTTP, se

fait donc via les saisies effectuées dans un formulaire. L’utilisateur peut entrer des

textes ou des mots de passe, opérer des choix grâce à des boutons radio, de cases à

cocher ou des listes de sélection. Il peut également effectuer le transfert de ses propres

fichiers vers le serveur. Les formulaires sont donc présents dans un très grand nombre

de sites web.

2. Structure d'un formulaire

Les éléments constitutifs d’un formulaire doivent être contenus entre les balises

<form> et </form>. Cette balise peut être incluse directement dans l’élément <body>ou

encore sous l'un des éléments suivants: dd, div, fieldset, li, td, th, etc. Un formulaire

est, généralement, formé d'un ensemble de "fieldset".

L'élément <fieldset> est pratique pour créer des groupes de blocs qui partagent un

objectif commun. Un élément <fieldset>peut être étiquetté avec un élément <legend>.

L'élément <legend> décrit le but de l'élément <fieldset>.

La structure minimale d'un formulaire est:

<form> <fieldset>

<legend>Titre de la légende</legend> </fieldset> <!-- éventuellement un ensemble d'autres fieldset -->

</form>

Cette structure est améliorée par un ensemble d'attributs et d'autres éléments intégrés.

Page 47: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Les formulaires

42

3. Les attributs de l'élément <FORM>

3.1. L’attribut ID

Il permet d’identifier le formulaire pour pouvoir accéder à ses composants à partir

d’un script JavaScript. On peut utiliser l'attribut name.

3.2. l’attribut ACTION

Cet attribut est obligatoire car il désigne le fichier qui est chargé de traiter les

données du formulaire côté serveur. Le code du script de traitement des données

peut être inclus dans un fichier séparé de celui qui contient le code XHTML mais il

peut être inclus dans ce même fichier qui doit alors avoir une extension appropriée à

la place de .html. Par exemple, .php pour le langage PHP ou .aspx pour ASP.Net. Le

contenu de l’attribut action doit donc être une URL, qui peut être:

Relative, de la forme: <form action="traitement.php">, Dans ce cas, le fichier

désigné doit être présent dans le même répertoire que le fichier XHTML.

Absolue, de la forme: <form action = "http://www.monsite.com/trait.php">, dans

ce cas, le fichier doit être présent sur le même serveur, ou même sur un autre

serveur.

3.3. L’attribut METHOD

Il détermine la méthode d’envoi des données vers le serveur. Il peut prendre les deux

valeurs: get ou post. La méthode get est celle qui est utilisée par défaut. Elle

présente l’inconvénient d’ajouter les données du formulaire sous la forme

nom=valeur à la suite de l’URL définie dans l’attribut action.

La seconde valeur de l’attribut method est post. Elle ne présente pas l’inconvénient

de la méthode get car les données transmises sont invisibles dans l’URL. C’est donc

celle recommandée dans la plupart des cas.

4. Les éléments intégrés dans l'élément FORM

4.1. Les boutons d'envoi ou de soumission

Il s'agit d'un bouton indispensable permettant de déclencher l’envoi des données du

formulaire vers le serveur, suite à un clic. La manière la plus courante de créer un

Page 48: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Les formulaires

43

bouton d’envoi est d’utiliser l’élément <input/>. Cependant, il est possible d’utiliser

l’élément <button/> pour atteindre le même objectif.

Syntaxe

<input type="submit" value="valider" name="BtValid" title="bouton de

validation"/>

<button type="submit" name="BtValid" title="bouton de validation">

valider</button>

Description des attributs

L'attribut "value" détermine le texte du bouton pour l'élément <input>.

L'attribut "name" attribue un nom au bouton qui sera utilisé par l'un des langages

de script.

L'attribut "title" affiche un bref message permettant d’expliquer le rôle du bouton.

4.2. Les boutons de réinitialisation

Le rôle d'un bouton de réinitialisation est de revenir à l'état initial du formulaire. Il

n’efface pas le contenu de toutes les zones de saisies mais remet le formulaire dans

son état initial, y compris les valeurs par défaut qui ont pu y être définies. Un tel

bouton est le plus souvent créé à l’aide de l’élément <input />. Comme les boutons

d’envoi, c’est l’attribut value qui contient le texte visible sur le bouton. Les autres

attributs sont identiques à ceux des boutons d’envoi.

Syntaxe

<input type="reset" value="annuler" name="BtAnnul" title="bouton annulation"/>

<button type="reset" name=" BtAnnul " title="bouton annulation "> annuler

</button>

4.3. Les boutons graphiques

Le bouton de validation et celui d'annulation peuvent être conçus sous forme

d'images d'où la notion de boutons graphiques.

Page 49: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Les formulaires

44

Exemple:

<form action="traitement.php"method="post"name="formul1"> <fieldset>

<legend>Les boutons d’envoi : </legend> <button type="submit" value="Envoi" name="BtEnv" title="Bouton d’envoi">

<img src="../images/val.gif" height="50px" width="50px" /></button> <input type="image" src="../images/val1.gif"value="Envoi1" name=" BtEnv1"title="Bouton d’envoi image"onclick="submit()"/>

</fieldset> <fieldset>

<legend>Les boutons de réinitialisation : </legend> <button type="reset" value="annuler" name="BtAnnul"

title="Bouton d’effacement"> <img src="../images/annul.gif "height="50px" width="50px"/> <input type="image" src="../images/annul1.gif" value="annuler1" name="BtAnnul1" title="Bouton d'annulation

image"onclick="reset()"/> </fieldset>

</form>

4.4. Les zones de saisie de texte unilignes

Pour un champ de saisie de texte ne comprenant qu’une ligne, l’attribut type de

l'élément <input>, prend la valeur text. Toute zone de texte doit être,

éventuellement, précédé par une étiquette fournie par l'élément <label>.

En plus des attributs déjà vus (name, value, title), il est possible d’améliorer

l’affichage des zones de texte, en utilisant les attributs suivants:

- Size="N"

Permet de fixer la longueur visible de la zone de texte à N caractères, ce qui

n’empêche pas des saisies plus longues

- Maxlength="N"

Permet de limiter le texte saisi à N caractères. Au-delà de ce nombre, les frappes

effectuées au clavier sont inopérantes

- Disabled="disabled"

Prend la valeur booléenne unique disabled, rend la zone de saisie inactive,

empêchant ainsi toute saisie

Page 50: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Les formulaires

45

- readonly="readonly"

Permet d’utiliser une zone de saisie pour afficher une information. Celle-ci ne

peut donc pas être modifiée, mais est en lecture seule

Exemple

<form method="post" action="traitement.php">

<fieldset> <legend>Vos données personnelles</legend> <label>Nom : </label>

<input type="text" name="nom" maxlength="25"/><br/><br/>

<label>Prénom : </label> <input type="text" name="prenom" value="Votre prénom" maxlength="25"/><br/><br/>

<label>Adresse : </label> <input type="text" name="adresse" value="Votre adresse"

maxlength="60"/><br/><br/> <label>Pays : </label> <input type="text" name="pays" value="Votre pays"

maxlength="20"/><br/><br/> <input type="submit" name="envoi" value="Envoyer"/>

</fieldset> </form>

Remarque

Pour des raisons d’ergonomie, il est préférable que le texte par défaut défini à l’aide

de l’attribut value s’efface tout seul au moment où l’utilisateur clique dessus car

cela lui évite d’avoir à le faire lui-même. Il suffit pour cela d’utiliser une instruction

JavaScript très simple :

Pour réagir à l’événement clic :

<input type="text" name="prenom" value="Votre prénom" maxlength="25" onclick="this.value="" />

Pour que le texte s’efface dès que la zone reçoit le focus (par tabulation ou clic):

<input type="text" name="adresse" value="Votre adresse" maxlength="60" onfocus="this.value="" />

Page 51: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Les formulaires

46

4.5. Les zones de saisie de mot de passe

Les champs de saisie de mot de passe sont quasi identiques aux champs de saisie de

texte. Ils ne comportent qu’une seule ligne et sont créés avec le même élément

<input/>. La différenciation entre ces deux champs réside dans la valeur de

l’attribut type qui prend la valeur password au lieu de text. Pour l’utilisateur, le

champ a le même aspect visuel, mais quand il tape son mot de passe, les caractères

qu’il utilise ne sont pas affichés dans la zone et sont remplacés par des astérisques

(*), ce qui le protège des regards indiscrets. Les attributs sont les mêmes que pour

un champ de texte.

4.6. Les zones de saisie de texte long

Pour permettre à un visiteur la saisie de textes longs, comme des commentaires

dans les blogs, il existe l'élément <textarea>. Ce dernier crée un champ de saisie de

texte sur plusieurs lignes. Contrairement à l'élément <input>, <textarea> n’est pas

un élément vide et son contenu n’est autre que le texte saisi par le visiteur. Les

dimensions de la zone de saisie doivent obligatoirement être définies. Pour cela, il

faut utiliser les attributs suivants :

- cols="N" : fixe la largeur de la zone à N caractères. Le retour à la ligne est

automatique dans la zone.

- rows="N" : fixe la hauteur à N lignes. Il faut distinguer la hauteur visible et le

nombre de lignes que l’on peut saisir. En effet, le visiteur peut écrire autant de

lignes qu’il le souhaite, quelle que soit la hauteur visible de la zone. Quand le

texte dépasse la capacité de la zone, une barre de défilement vertical apparaît

automatiquement.

Il est à signaler que les attributs : disabled, readonly, name et title restent

valables pour l'élément <textarea>.

Page 52: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Les formulaires

47

Exemple

<form action="traitement.php" method="post">

<fieldset> <legend>Donnez-nous vos impressions</legend> <label>Votre nom </label>

<input type="text" name="nom" size="25"/><br/> <label>Vos commentaires</label>

<textarea name="commentaires" cols="70" rows="10" onfocus="this.value=""">Tapez vos commentaires ici… </textarea><br/> <input type="submit" value="Envoi de vos commentaires"/>

<input type="reset" value=" Effacer tout"/><br/> </fieldset>

</form>

4.7. Les boutons radio et les cases a cocher

Pour les données dont les réponses sont prévisibles et en nombre limité, on utilise

des éléments de formulaire spéciaux, nommés boutons radio et cases à cocher.

a. Les boutons RADIO

Les boutons radio sont utilisés pour présenter plusieurs choix dont la réponse est

unique (par exemple, un choix entre Homme et Femme). Pour créer un bouton

radio, on utilise l’élément <input /> avec un attribut "type" qui prend la valeur

"radio". L’ensemble des boutons radio avec lesquels on peut opérer un choix

donné constitue un groupe. Il faut que tous ses éléments aient la même valeur

pour leurs attributs "name". L’attribut "value" de chaque bouton radio contient la

valeur que l’on veut associer à chacun d’eux. Seule la valeur choisie dans le

même groupe est récupérée par le serveur.

L’attribut "checked" qui prend la valeur booléenne unique "checked" permet de

cocher par défaut un des boutons d’un groupe, s’il est plus répandu que les

autres.

L’attribut "readonly" bloque le bouton radio et impose ainsi une valeur.

L’attribut "disabled" dont la valeur unique est "disabled" permet de rendre un

bouton radio inactif. On peut l’utiliser pour désactiver un choix réalisé

antérieurement.

Page 53: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Les formulaires

48

L'attribut "title" reste toujours utilisable.

Exemple

<form action="exemple.php" method="post"> <fieldset>

<label>Monsieur</label> <input type="radio" name="sexe" value="Monsieur" checked="checked"/>

<label>Madame</label> <input type="radio" name="sexe" value="Madame"/>

</fieldset> </form>

b. Les cases a cocher

Les cases à cocher sont utilisées lorsqu’il s’agit d’une réponse contenant plus

qu'un choix. Le fonctionnement paraît identique aux boutons radio à la différence

que les cases à cocher ne font pas partie d’un groupe.

Une case à cocher est encore créée à l’aide de l’élément <input /> dont l’attribut

"type" prend cette fois la valeur "checkbox". Les attributs "name" de chacune des

cases doivent porter des noms différents. L’attribut "value" est indispensable et il

contient la valeur associée à chaque case cochée, qui sera récupérée côté serveur

après l’envoi du formulaire. Cet attribut peut avoir une valeur de type booléen de

la forme « oui » ou « non ».

Les attributs checked, disabled et title ont le même rôle que les boutons radio

peuvent être utilisés dans les mêmes conditions. Le code de création d’une case à

cocher peut donc être le suivant :

Page 54: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Les formulaires

49

Exemple

<form action="traitement.php" method="post">

<fieldset> <legend><big>Quelques renseignements </big></legend>

<!--Civilité--> <label>Mr</label> <input type="radio" name="sexe" value="Monsieur"

checked="checked"/> <label>Me</label>

<input type="radio" name="sexe" value="Madame"/> <label>Mlle</label> <input type="radio" name="sexe" value="Mademoiselle"/> <br/>

<!--Nom --> <label>Nom </label>

<input type="text" name="nom" size="25"/><br/> <!-- Pays -->

<label>Pays: </label> <label>France </label> <input type="radio" name="pays"/>

<label>Allemagne </label> <input type="radio" name="pays"/>

<label>Italie </label> <input type="radio" name="pays"/><br/> <!-- Goûts -->

<label>Vos goûts musicaux: </label> <label>Classique </label>

<input type="checkbox" name="classique"/> <label> Chanson française </label> <input type="checkbox" name="chanson"/>

<label> Rock </label> <input type="checkbox" name="rock"/><br/>

<input type="submit" value="valider"/> <input type="reset" value="rétablir"/><br/> </fieldset>

</form>

4.8. Les listes de sélection

Un autre moyen de faciliter la saisie de données par un visiteur d'un site consiste à

lui proposer d’effectuer un ou plusieurs choix parmi une liste de sélection

déroulante pouvant contenir un grand nombre d’éléments. Une liste de sélection est

créée avec l’élément <select>. En soi, cet élément n’entraîne aucun rendu visuel, il

n’est que le conteneur de la liste. Il doit donc inclure ensuite autant d’éléments

Page 55: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Les formulaires

50

<option>qu’il y a de choix proposés au visiteur. La structure XHTML d’une liste de

sélection prend alors la forme suivante :

<select name="nom" size="n">

<option value="valeur_1"> valeur_1</option> <option value=" valeur_2"> valeur_2</option>

<option value=" valeur_3"> valeur_3</option> <option value=" valeur_n"> valeur_n</option> </select>

L’élément <select> possède des attributs résumés dans le tableau suivant :

Attribut Description

name="texte" Permet de récupérer la ou les données choisies par

le visiteur dans une variable qui est identifiée par

ce nom

size="Nombre" Définit le nombre de lignes d’options qui sont

visibles lors de l’affichage de la liste

multiple="multiple" Prend la valeur booléenne unique multiple pour

indiquer que l’utilisateur peut opérer plusieurs

choix simultanément dans la liste en maintenant la

touche Ctrl enfoncée

tabindex="Nombre" Attribue un ordre de tabulation à la liste et la

rendre active avec la touche de tabulation

disabled="disabled" Rend la liste inactive et aucun choix n’est plus alors

possible

selected= "selected" définit une valeur par défaut autre que celle de la

première option de la liste

Remarque

Quand l’attribut multiple est défini et que l’on utilise un serveur PHP, les valeurs

choisies sont récupérées dans un tableau, et il faut, pour les récupérer, que le nom

de la liste soit suivi de crochets ouvrant et fermant (par exemple : name="nom[]").

Page 56: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Les formulaires

51

Exemple

<form action="exemple.php"method="post"> <fieldset>

<legend><b>Veuillez compléter le questionnaire</b></legend> <label>Nom : </label>

<inputtype="text"name="nom"size="40"maxlength="256"value="votre nom"onclick="this.value=����"/><br/>

<!-- Liste à choix unique --> <label>Votre pays</label> <selectname="pays"size="1">

<optionvalue="null"disabled="disabled"> Votre pays</option>

<optionvalue="France"> France</option> <optionvalue="Belgique"> Belgique</option> <optionvalue="Suisse"> Suisse</option>

<optionvalue="Canada"> Canada</option> </select

<!-- Liste à choix multiples --> <h3>Vos connaissances informatique <small>(Pour faire plusieurs

choix maintenir la touche CTRL enfoncée)</small></h3> <selectname="savoir[]"size="4"multiple="multiple"> <optionvalue="C++"selected="selected">

C++</option> <optionvalue="Java"> Java</option>

<optionvalue="PHP"> PHP</option> <optionvalue="SQL"> SQL</option> </select><br/>

<inputtype="submit"value="Envoyer "/> <inputtype="reset"value=" Effacer tout"/><br/>

</fieldset> </form>

Pour créer des groupes d’options à l’intérieur d’une liste, il faut faire intervenir

l’élément <optgroup> dans l’élément <select>. Les options de chaque groupe sont

incluses entre les balises <optgroup> et </optgroup>. À l’intérieur d’un élément

<select>, on peut inclure autant de groupes que l’on veut. Le libellé de chaque

groupe est donné dans l’attribut "label" de l’élément <optgroup>. Le code de

création d’un groupe a donc la structure suivante :

<select name="nom" size="n">

<optgroup label="nomGroupe"> <option value="valeur_1"> valeur_1</option>

<option value=" valeur_2"> valeur_2</option> </optgroup> <!-- Autres groupes -->

</select>

Page 57: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Les formulaires

52

Exemple

<form action="trait.php"method="post"> <fieldset> <legend><b>Veuillez compléter le questionnaire</b></legend>

<!-- Liste à choix unique --> <label>Nom : </label>

<input type="text" name="nom"/> <h3>Indiquez quel est votre pays <select name="pays" size="1">

<option value="null"> Votre pays</option> <optgroup label="Afrique du nord"> <option value="Tunisie"> Tunisie</option>

<option value="Algérie"> Algérie</option> <option value="Maroc"> Maroc</option> <option value="Libye "> Libye</option>

</optgroup> <optgroup label="Europe"> <option value="France"> France</option>

<option value="Belgique"> Belgique</option> <option value="Suisse"> Suisse</option> <option value="Allemagne"> Allemagne</option>

</optgroup> <optgroupl abel="Autres"> <option value="Europe"> Europe </option>

<option value="Asie"> Asie </option> <option value="Amériques"> Amériques </option> <option value="Océanie"> Océanie</option>

</optgroup> </select></h3> <input type="submit" value="Envoyer"/>

<input type="reset" value=" Effacer tout"/><br/> </fieldset> </form>

4.9. Les zones cachées

Dans certains cas, un formulaire peut contenir des zones de texte cachées. Ces zones

peuvent servir pour recueillir des données. Pour définir ce type de zones de saisie, il

faut recourir à l’élément <input /> avec un attribut type auquel il faut attribuer la

valeur hidden.

4.10. Les zones file

Dans un siteinteractif, il est possible de permettre aux visiteurs d’envoyer des fichiers

du poste client vers le serveur (photo, image d’un objet à vendre…). Il est possible de le

Page 58: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Les formulaires

53

faire avec l’élément <input /> doté d’un attribut "type" qui prend la valeur "file". Dans

ce cas, l’élément <form> doit utiliser la méthode "post" et avoir un attribut "enctype"

comme c’est indiqué dans l’exemple suivant :

5. Apports du HTML5

5.1. Les nouveaux objets

Objet Description Code HTML 5

date Champ de saisie d'une date. <input type="date" name="d" />

time Champ de saisie de l'heure. <input type="time" name="t" />

month Champ de saisie du mois. <input type="month" name="m"

/>

week Champ de saisie du numéro de

la semaine. <input type="week" name="w" />

datetime-

local

Champ de saisie de la date et

de l'heure au format local.

<input type="datetime-local"

name="t" />

number

Champ permettant l'incré/la

décré d'une valeur numérique

initiale (0 par défaut). On peut

fixer la valeur minimale,

maximale ou le pas.

<input type="number" name="n"

min="1" max="20" step="2/>

color

Champ permettant la sélection

d'un code couleur dans une

palette. La couleur est au

format héxadécimal. La valeur

par défaut est le noir qu'on

peut modifier avec l'attribut

<input type="color"

name="couleur" value="#ff0000"/>

<formaction="traitement.php"method="post"enctype="multipart/form-data">

<fieldset> <legend><b>Envoyez-nous votre photo</b></legend> <label>Choisissez le fichier JPEG ou PNG : </label>

<inputtype="file"name="fichier"accept="image/jpeg,image/png"/> </fieldset>

</form>

Page 59: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation Web 1 Les formulaires

54

"value".

url

Champ ressemblant, en

apparence, à celui de type text,

mais il n'acceptera que les

formats url de type: ftp://,

mailto:// ou http://.

<input type="url" name="t" />

email

Champ très proche du

type text. La valeur saisie doit

avoir le format d'un email: au

minium un caractère (caractère

non accentué comprenant - et

_) suivi d'un @ suivi à son tour

d'un caractère.

<input type="email" name="t" />

5.2. Les nouveaux attributs

Attribut Description Code HTML 5

required

Il impose la présence d'une

saisie dans le champ

correspondant.

<input type="text" name="d"

required="required"/>

autofocus

Il permet de donner le focus à

un champ dès le chargement

de la page.

<input type="text" name="d"

autofocus="autofocus"/>

placeholder

Il donne une chaîne de

caractères contenant des

indications pour le

remplissage d'un champ.

<input type="email"

value="[email protected]" placeholder

= "veuillez indiquer un E-mail

valide"/>

pattern

Il permet de définir une

expression régulière de

filtrage.

Voir dans ce qui suit

Min, max,

step

Déjà vu précédemment

Page 60: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

55

Chapitre 6 Les feuilles de style

Objectifs Spécifiques

A la fin de ce chapitre, l'étudiant doit être capable de:

- Introduire la mise en page des pages web en utilisant le langage

CSS ;

- Décrire les concepts des feuilles de style ;

- Utiliser les feuilles de style dans la mise en forme des pages web;

- Réaliser une maquette, pour un site web, avec les feuilles de style.

Plan du chapitre

1. Introduction

2. Les avantages des CSS

3. Définition

4. La syntaxe

5. Les sélecteurs

6. Où écrire les styles ?

7. Le positionnement

Volume horaire

- 6 heures

Page 61: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation web 1 Les feuilles de style CSS

56

Chapitre 6: Les feuilles de style

1. Introduction

Le langage CSS (Cascading Style Sheets) est utilisé pour définir l’aspect futur des sites

web, comme par exemple la couleur du fond de la page ou le type de police. Plus

concrètement, le CSS (ou feuille de style) est un document numérique qui va pouvoir

spécifier toutes les caractéristiques de mise en forme du document lié à la balise à

laquelle elle s'applique.

2. les avantages des CSS

La création de styles CSS (Cascading Style Sheets ou feuilles de style en cascade) est le

complément indispensable du langage XHTML. Ce procédé correspond parfaitement à

la séparation du contenu et de la présentation. Cette séparation permet de:

- Alléger les pages en centralisant les définitions des styles en un point unique:

une seule définition pouvant s’appliquer à un grand nombre d’éléments.

- Faciliter la maintenance et l’évolution des sites: elle apporte une grande rigueur

dans la conception des pages et permet un travail collaboratif entre plusieurs

programmeurs travaillant en parallèle, d’où une réduction des délais de

production.

3. Définition

Les propriétés sont regroupées par blocs de règles, délimités par les accolades {}.

Chaque bloc est précédé d'un sélecteur désignant les éléments structurels auxquelles

les propriétés concernées doivent être appliquées (balise, classe, ..).

4. La syntaxe

Pour déclarer un style, il faut suivre quelques règles générales. La syntaxe doit avoir

l'allure suivante:

Sélecteur { propriété 1 : valeur ;

propriété 2 : valeur ;

propriété n : valeur ;

Page 62: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation web 1 Les feuilles de style CSS

57

}

Exemple :

div { color : red ;

background-color :yellow ;}

Avec :

- div: un sélecteur,

- color: propriété qui détermine la couleur du texte de l’élément, red est la valeur

attribuée à cette couleur,

- background-color désigne la couleur de fond, yellow est sa valeur.

Par la suite, tous les éléments <div> de la page dans laquelle se trouve cette

déclaration ont donc un contenu écrit en rouge sur fond jaune.

5. Les sélecteurs

Les sélecteurs permettent d’appliquer un style à tous les éléments, en une seule ligne

de code, sans avoir à répéter la définition dans plusieurs pages web.

5.1. La sélection d’un seul élément

Il s’agit de la sélection la plus simple, puisque le sélecteur est constitué du nom de

l’élément sans les caractères de début < et de fin de balise />.

Exemple :

p {color : yellow ; background-color :blue;}

Effet: le texte de tous les paragraphes s'affiche en jaune sur fond bleu.

5.2. La sélection de plusieurs éléments

On peut appliquer le même style à plusieurs éléments différents en les énumérant

et en les séparant par une virgule dans le sélecteur. Cette possibilité de

regroupement est utile pour définir des styles communs à un ensemble d’éléments

et évite la répétition.

Exemple

h1 {color : black ; background-color : red;}

div {color : black ; background-color : red;}

p {color : black ; background-color : red;}

Page 63: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation web 1 Les feuilles de style CSS

58

seront remplacés par :

h1, div, p {color : black ; background-color : red;}

Exemple:

h1,div,p {color : black ; background-color : red;}

div {margin : 20px;}

Effet:

- L’élément<div> va avoir à la fois un texte noir et un fond rouge comme les

éléments <h1> et <p>.

- Il aura, de même, une marge de 20 pixels.

5.3. Le sélecteur universel

Pour appliquer un style à tous les éléments, nous utiliserons le sélecteur universel *

avant la définition d’une ou plusieurs propriétés.

Exemple1:

*{background-color : yellow;}

Effet: tous les éléments auront la couleur de fond jaune.

Exemple2:

*{background-color : yellow;}

p{background-color : gray;}

Effet: tous les éléments ont un fond jaune, sauf <p> aura un fond gris.

5.4. Les classes

Une classe permet d’appliquer un style à un élément via l’attribut class. Pour créer

une classe, le sélecteur est constitué du nom choisi pour la classe précédé d’un point

(.). Le nom de la classe peut être un mot quelconque, en évitant quand même les

noms des propriétés CSS et des éléments XHTML car cela occasionnerait des

confusions. Les classes présentent l’intérêt de pouvoir s’appliquer à n’importe quel

élément, n’importe où dans le code de la page

Exemple1 :

Code CSS : .class1 {color : red;}

Code XHTML : <p class="class1">Texte contenu du paragraphe</p>

Page 64: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation web 1 Les feuilles de style CSS

59

Effet: le paragraphe aura comme couleur de texte rouge. Il est distingué du reste du

texte qui aura la couleur par défaut.

Exemple2 :

Code CSS:

div.classe1 {background–color : blue; color : red;}

Code XHTML :

<div class="classe1">Texte1</div>

<div>Texte2</div>

Effet: seule Texte1 aura une couleur de texte rouge sur un fond bleu. La classe

classe1 ne sera pas appliqué sur Texte2.

5.5. L'application de plusieurs classes au même élément

La puissance de l'application de plusieurs classes est la possibilité de combiner des

propriétés de chacune des classes.

Exemple :

Code CSS:

.jaune {color: yellow;}

.classe1 {color: red;}

.classe2 {font-style: italic}

.classe3 {background-color: #CCC;}

Code XHTML:

<h1 class="jaune">XHTML et CSS</h1>

<div class="classe1"> Un texte de classe 1(texte rouge) </div>

<div class="classe1 classe2"> Un texte de classe 1 et 2 (texte rouge et en italique)

</div>

<div class="classe1 classe3"> Un texte de classe 1 et 3 (texte rouge et fond gris)

</div>

<div class="jaune classe2 classe3"> Un texte de classe jaune, 2 et 3 (texte jaune,

en italique et fond gris) </div>

Page 65: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation web 1 Les feuilles de style CSS

60

5.6. Le sélecteur d’identifiant ID

Chaque élément peut avoir un attribut id qui doit être unique dans une page

donnée. Un identifiant doit être précédé par le caractère dièse (#).

Exemple :

Code CSS:

div {color: aqua;}

#bleu {color: white; background-color: blue;}

Code XHTML :

<div id="bleu">Texte en blanc sur bleu</div>

<div>Texte en turquoise </div>

5.7. Les pseudo-classes et Les pseudo-éléments

Les sélecteurs précédents permettent d’attribuer un style à un ou plusieurs éléments

bien définis dans la hiérarchie d’un document XHTML. Les pseudo-classes et les

pseudo-éléments permettent de:

- attribuer un style à une partie d'un élément, par exemple le premier caractère

ou la première ligne d’un paragraphe.

- attribuer un style à un document en fonction des actions de l’utilisateur final,

par exemple le fait de placer son curseur sur un lien ou un composant de formulaire.

Les pseudo-classes applicables aux liens

Deux pseudo-classes spécifiques aux éléments possèdent un attribut href faisant

référence à un document externe (lien vers une autre page) ou interne (ancre

vers une partie du même document). Il s’agit des pseudo-classes suivantes :

:link, qui permet d’attribuer un style à un lien qui pointe vers un

document non encore vu. C’est l’état normal de tous les liens à l’ouverture de

la page.

:visited, pour attribuer un style à un lien qui pointe vers un document déjà

vu, après un retour sur la page d’origine.

Pour les employer, il faut faire précéder le nom de la pseudo-classe de celui de

l’élément.

Page 66: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation web 1 Les feuilles de style CSS

61

Exemple :

a:link {color: blue;}

a:visited {color: red;}

Les pseudo-classes dynamiques

Elles permettent d’attribuer un style à un élément en fonction des actions

effectuées par le visiteur. Ces pseudo-classes sont dynamiques car le style

attribué disparaît avec le motif de leur création. Elles sont au nombre de trois :

:focus, pour attribuer un style à l’élément qui a le focus. Le style disparaît

quand l’élément perd le focus.

Exemple :

a:focus{color: red;}

input:focus{background–color: blue;}

:hover, pour attribuer un style à un élément visible dont la zone est

survolée par le pointeur de la souris. Quand le pointeur quitte cette zone, le

style est annulé, ce qui peut produire des effets visuels intéressants.

Exemple :

div:hover{backround-color: red; color: white;}

:active, pour attribuer un style à un élément dit actif, c’est-à-dire quand

l’utilisateur clique sur son contenu. Là aussi, l’effet est transitoire et ne dure

que le temps de l’activation de l’élément.

Exemple

a:active{background-red; color: yellow;}

Les pseudo-éléments

Leur nom vient de ce qu’ils permettent d’agir sur une partie du contenu d’un

élément comme s’il était contenu dans un nouvel élément fictif. On dénombre les

quatre pseudos éléments suivants :

:first-letter, qui permet d’affecter un style à la première lettre du contenu

d’un élément indiqué avant ce sélecteur. On l’utilise classiquement pour créer

des effets de lettrines.

Exemple:

p:first-letter {font-size: 300%; color: blue;}

Page 67: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation web 1 Les feuilles de style CSS

62

:first-line, qui permet d’affecter un style à la première ligne du contenu de

l’élément indiqué. Cet affichage permet d’attirer l’attention sur un texte.

Exemple :

div:first-line{font-size: 150%; font-weight: bold;}

:before, qui permet d’insérer un contenu doté d’un style particulier avant

le contenu réel de l’élément précisé, en l’associant avec la propriété content.

Exemple:

Code CSS:

p:before{content:"<<"; font-weight: bold;}

Code XHTML

<p>ceci est un texte</p>

:after, qui joue un rôle similaire au précédent mais définit un contenu doté

d’un style à la fin du contenu de l’élément utilisé.

Exemple:

Code CSS:

p:after{content:">>"; font-weight: bold;}

Code XHTML

<p>ceci est un texte</p>

6. Où écrire les styles ?

Les styles CSS peuvent être intégrés dans le document XHTML de plusieurs manières :

6.1. Manière 1 : dans l’élément <style>

L’élément <style> a pour vocation de renfermer les définitions des styles CSS

utilisables dans la page qui le contient. Il doit, toujours, être inclus dans l’élément

<head> et qu’il ne peut contenir que des définitions de styles CSS et des

commentaires XHTML délimités par <!-- et --> ou des commentaires CSS délimités

par /* et */.

Exemple 1:

<head>

<style type= "text/CSS">

div,p {font-style: italic;}

h1,h2 {color: red;}

Page 68: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation web 1 Les feuilles de style CSS

63

</style>

</head>

6.2. Manière 2 : dans un fichier externe

La tendance actuelle étant à la recommandation de la séparation du contenu et de

la présentation des pages web, l’écriture des styles dans les fichiers externes est

fortement conseillée. Il s’agit de fichiers écrits en texte brut réalisables avec un

éditeur simple. Le fichier ne devra contenir que des sélecteurs et les définitions des

styles ainsi que des commentaires CSS (délimités par les caractères /* et */) mais

aucune balise d’élément XHTML. Le fichier CSS doit toujours être enregistré sous

l’extension .CSS.

Exemple :

Code CSS :

/* Styles communs à toutes les pages */

/* fichier:« commun.CSS » */

body {background-color: white; color: marine;}

h1 {color: black; font-size: 20px;}

div,p {font-size: 12px;}

a:link {color: blue;}

a:hover {color: red;}

Code XHTML

<head>

<link rel="stylesheet" type="text/CSS" href="commun.CSS" />

......

</head>

6.3. Manière 3 : dans l’attribut style

Nous signalons cette possibilité pour mémoire car il n’est pas conseillé de l’utiliser.

Exemple :

<p> Le langage <span style="color: red "> XHTML </span> représente la dernière

évolution du <span style="color: gray"> HTML </span></p>

Il va de soi que cette manière ne correspond en rien à la philosophie de l’association

XHTML et CSS, qui commande une séparation du contenu et de la mise en forme.

Page 69: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation web 1 Les feuilles de style CSS

64

De plus, toute modification de ces styles demande une exploration de tout le code

XHTML afin de repérer tous les attributs style, ce qui rend la maintenance plus

longue à réaliser.

7. Le positionnement

7.1. Généralités

La propriété CSS position permet de modifier le comportement d'affichage des blocs

énuméré comme suit :

position:static : indique que l'élément doit se comporter normalement.

position:inherit (CSS2) : déclare que l'élément en question hérite de la

propriété position de son parent. Si la position du parent est de type absolu,

l'élément concerné le sera aussi.

position:fixed : L'idée est de placer un élément sur la page, et qu'il y reste quel

que soit le défilement.

position:relative : ne retire pas l'élément du flux, mais le déplace simplement

par rapport à sa position dans le flux.

position:absolute : retire complètement l'élément concerné du flux, et le place

aux coordonnées définies par les propriétés bottom, left, right ou top.

7.1.1. Position absolue

La position absolue {position: absolute} se détermine par rapport au coin

supérieur

gauche de la fenêtre du browser. Les coordonnées de ce point sont « top = 0 » et «

left = 0 ».

Il y a trois options pour top et left :

auto (par défaut).

pixels (vous précisez la valeur suivie de px).

pourcentage (la même chose suivie de %).

Les coordonnées d'un point de haut en bas pour top et de gauche à droite pour

left.

Pour appliquer une position absolue à un texte on pout utiliser les balises «

SPAN » ou« DIV ». La balise « DIV » est préférable pour les grands textes qu'elle

Page 70: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation web 1 Les feuilles de style CSS

65

fera précéder et suivre d'un saut de ligne; la balise « SPAN », conçue comme

simple marqueur, sera utilisée pour encadrer un paragraphe.

7.1.2. Position relative

La position relative {position: relative} se détermine par rapport à d'autres

éléments de la page, par exemple un élément du code Html. Un positionnement

relatif sera donc traité dans le flux du document (qui est traité de bas en haut),

et fera référence pour son positionnement à l'élément qui lui est immédiatement

supérieur. Cette propriété est valable pour tous les types de balises.

Exemple d'application :

Soit l'image un.jpg :

toto {position:absolute; top:10px; left:10px;}

<BODY BGCOLOR="#000080" TEXT="#FF0000">

<IMG SRC="1.jpg" BORDER=0 WIDTH=50 HEIGHT=50>

<B><DIV CLASS="toto">Toto et titi</DIV></B>

Page 71: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation web 1 Les feuilles de style CSS

66

Donne en position absolue : Donne en position relative avec "Toto et Tata":

7.2. Attributs

7.2.1. Clip

Il s'applique uniquement aux éléments de position absolue. Il spécifie la zone de

visibilité du document, c'est à dire l'endroit où le document contenu dans les

balises pourra ne plus être visible s'il dépasse les paramètres de largeurs et de

hauteurs fixés par clip. La syntaxe de clip varie selon les navigateurs, mais les

recommandations du W3C sont du type:

clip:rect(haut,droite,bas,gauche)

Exemple : Prenons l'image un.jpg avec CLIP

<HEAD>

<STYLE TYPE="text/css">

<!--

.toto {

position:absolute;

top:10px;

left:10px;

clip:rect(0, 25, 25, 0);

} -->

</STYLE>

</HEAD>

<BODY BGCOLOR="#000080" TEXT="#FF0000">

<DIV CLASS="toto"><IMG SRC="1.jpg" BORDER=0

WIDTH=50 HEIGHT=50></DIV>

</BODY>

Page 72: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation web 1 Les feuilles de style CSS

67

Donne :

Remarquons que les ¾ de l'image ont disparu.

7.2.2. Z-index

Z-index, c'est l'attribut qui permet de définir l'empilement des feuilles de styles.

Il indique l'axe vertical d'empilement, ou la priorité d'affichage entre les

éléments superposés. Il s'applique à tous les éléments de position relative ou

absolue. Plus l'index est grand, plus l'élément est situé dessus. Deux éléments

de même index vont se superposer. C'est très pratique pour afficher du texte

sur une image, ou vice-versa.

Exemple avec les deux images un.jpg et deux.jpg :

<STYLE TYPE="text/css"> <!-- .toto { position:absolute; top:10px; left:10px; } .titi { position:absolute; top:30; left:30; z-index:2; } --> </STYLE> </HEAD> <BODY BGCOLOR="#000080" TEXT="#FF0000"> <DIV CLASS="toto"><IMG SRC="1.jpg" BORDER=0 WIDTH=50 HEIGHT=50></DIV> <DIV CLASS="titi"><IMG SRC="2.jpg" BORDER=0 WIDTH=50 HEIGHT=50></DIV>

Page 73: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation web 1 Les feuilles de style CSS

68

Donne :

Si l'on place le z-index:2 sur la classe Toto, on aura :

Page 74: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation web 1 Annexes

69

Annexe1

Les unités de mesure de longueur en CSS

CSS offre différentes unités pour exprimer les dimensions. Certaines

proviennent de la typographie, comme le point (pt) et le pica (pc), d'autres

sont connues pour leur usage quotidien, comme le centimètre (cm) et le

pouce (in). Il y a également une unité "magique" inventée spécifiquement

pour CSS: le pixel px, et une unité dépendant de l'élément contenant qui est

le pourcentage (%).

Le tableau suivant résume les unités :

Type Unité Description

Unité absolue

cm Centimètre

mm millimètre

in(inch) Pouce=2.54cm

pt(point) 1pt= 1/72 in

pc(pica) 1pc= 12 pt

Unité relative

px (pixel) Pixel signifie Picture Element. C'est une unité

de mesure relative qui dépend des dimensions

de la zone utile de l'écran et du mode vidéo

utilisé.

Selon les définitions vidéo, le nombre de pixels

varie grandement pour un même écran:

- Mode VGA : 640x480 pixels

- Mode SVGA-I : 800x600 pixels

- Mode SVGA-II: 1024x768 pixels.

em ou ex relative à la hauteur des caractères de la police

pourcentage % relative à une unité de longueur

Page 75: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation web 1 Annexes

70

Les propriétés de formatage de texte

Les polices, taille et décoration

Propriété Description Valeurs

font-style Définit le style de

police

italic : italique

oblique : autre façon de mettre en

italique

normal : normal (par défaut)

font-variant Définit si la police doit

être rendue en petites

capitales ou non

small-caps : petites capitales

normal : normal (par défaut)

font-weight Définit la graisse de la

police

bold : gras

bolder : plus gras

lighter : plus fin

normal : normal (par défaut)

font-size Définit la taille de la

police

px (pixels)

% (pourcentage, 100% = normal)

em (taille relative, 1.0 = normal)

ex (taille relative à la hauteur de la

lettre "x". 1.0 = normal)

nom de taille

- xx-small : très très petit

- x-small : très petit

- small : petit

- medium : moyen

- large : grand

- x-large : très grand

- xx-large : très très grand

font-family Indiquer les noms de

polices possibles par

ordre de préférence.

Exp:

font-family:police1, police2, police3;

Rq: On utilise des guillemets si le

Page 76: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation web 1 Annexes

71

nom de la police comporte des

espaces.

text-decoration La décoration du texte underline : souligné

overline : ligne au-dessus

line-through : barré

blink : clignotant

none : normal (par défaut)

text-transform Mettre un texte en

majuscule ou pas

uppercase : tout en majuscules

lowercase : tout en minuscules

capitalize : début des mots en

majuscules

none : normal (par défaut)

Font Méga-propriété de

police

Indique dans n'importe quel ordre des

valeurs possibles pour font-family,

font-weight, font-style, fontsize, font-

variant. Exp: font:Arial, bold, 16px;

L'alignement

Propriété Description Valeurs

text-align

Définit l'alignement

horizontal d'un texte au

sein de son conteneur

left : à gauche (par défaut)

center : centré

right : à droite

justify : texte justifié

vertical-align

Définit l'alignement

vertical d'un texte au

sein de son conteneur

A utiliser dans des cellules de tableau

top : en haut

middle : au milieu

bottom : en bas

text-indent Définit un alinéa pour la

première ligne de texte

d'un élément

Indiquer une valeur en pixels (px).

Valeur par défaut est 0

line-height Définit la hauteur de

ligne d'un texte

Indiquer une valeur en pixels (px) ou

en pourcentage (%)

Page 77: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation web 1 Annexes

72

letter-spacing

Définit l'espacement

entre chaque lettre d'un

texte

Indiquer une valeur en pixels (px)

word-spacing

Définit l'espacement

entre chaque mot d'un

texte

Indiquer une valeur en pixels (px)

Les propriétés de couleur et de fond

Les couleurs

Type Propriété Valeurs possibles

Couleur de texte color Indiquer une couleur:

- En indiquant le nom de la couleur

en anglais (black, blue, green, white,

red...) - En indiquant la couleur en

hexadécimal (#CC48A1)

- En indiquant la couleur en RGB :

rgb (128, 255, 0)

Couleur de fond background-color Même chose que pour color, pour la

couleur de fond du texte

Les images de fond

Type Propriété Valeurs possibles

Image de fond background-image Indiquer l'url de l'image (notation absolue

ou relative)

background-image:url("images/fond.png");

Background-image:url

("http://www.monsite.com/images/fond.png");

Fond fixé background-

attachment

fixed : le fond reste fixe quand on descend

plus bas sur la page

scroll : le fond défile avec le texte (par

Page 78: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation web 1 Annexes

73

défaut)

Répétition du

fond

background-

repeat

repeat : le fond se répète (par défaut)

repeat-x : le fond ne se répète que sur une

ligne, horizontalement

repeat-y : le fond ne se répète que sur une

colonne, verticalement

no-repeat : le fond ne se répète pas, il n'est

affiché qu'une fois

Position du

fond

background-

position

2 façons de faire :

- En notant une distance en px ou %, par

rapport au coin en haut à gauche.

background-position:50px 200px; /* 50 px à

droite, 200px en bas */

- En utilisant des valeurs prédéfinies, une

pour la verticale et une pour l'horizontale :

o top : en haut, verticalement

o center : au milieu, verticalement

o bottom : en bas, verticalement

o left : à gauche, horizontalement

o center : au centre, horizontalement

o right : à droite, horizontalement

background-position : bottom right; /* en

bas à droite */

Méga-

propriété de

fond

background Indique dans n'importe quel ordre des

valeurs possibles pour background-image,

background-repeat, background-

attachment et background-position. L'ordre

des valeurs n'a pas d'importance et on n'est

pas obligé de mettre toutes les valeurs de

ces propriétés (au moins une suffit)

background:url("images/fond.png") no-

Page 79: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation web 1 Annexes

74

repeat fixed top right;

Les propriétés des listes

Type Propriété Valeurs possibles

Type de liste list-style-type

Pour les listes non ordonnées (<ul>) :

disc : un disque noir (par défaut)

circle : un cercle

square : un carré

none : aucune puce ne sera utilisée

Pour les listes ordonnées (<ol>) :

decimal : des nombres 1, 2, 3, 4... (par

défaut)

upper-roman : numérotation romaine, en

majuscules (I, II, III,...)

lower-roman : numérotation romaine, en

minuscules (i, ii, iii, iv, v...)

upper-alpha : numérotation alphabétique, en

majuscules (A, B, C, D, E...)

lower-alpha : numérotation alphabétique, en

minuscules (a, b, c, d, e...)

Position en

retrait

list-style-

position

inside : sans retrait

outside : avec retrait (par défaut)

Puce

personnalisée

list-style-image

Indiquer l'url de l'image qui servira de puce.

list-style-image: url("images/puce.png");

Méga-

propriété de

liste

list-style Réunir les valeurs de list-style-type, list-style-

position et list-style-image. On n'est pas obligé

de mettre toutes les valeurs, et l'ordre n'a pas

d'importance.

list-style: inside square;

Page 80: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation web 1 Annexes

75

Annexe2

Les propriétés des boîtes

Les dimensions

Type Propriété Valeurs possibles

Largeur width Valeur en px, %, ou encore "auto" (valeur par

défaut, la largeur dépendra du texte à

l'intérieur)

Hauteur height Idem

Les bordures

Type Propriété Valeurs possibles

Épaisseur de la

bordure

border-width Indiquer une valeur en px

Couleur de la

bordure

border-color Indiquer une valeur de couleur

Type de

bordure

border-style none : pas de bordure (par défaut)

hidden : bordure cachée

solid : ligne pleine

double : ligne double (nécessite une taille

de bordure de 3px minimum)

dashed : en tirets

dotted : en pointillés

inset : effet 3D "enfoncé"

outset : effet 3D "surélevé"

ridge : autre effet 3D

Bordure à

gauche

border-left Indiquer la couleur, l'épaisseur et le type de

bordure pour la bordure gauche

border-left: 2px inset blue; /* Bordure bleue

Page 81: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation web 1 Annexes

76

de 2px avec effet 3D "enfoncé" */

Bordure en

haut

border-top Idem

Bordure à

droite

border-right Idem

Bordure en bas border-bottom Idem

Méga-propriété

de bordure

border Indiquer l'apparence des bordures en haut, à

droite, en bas et à gauche.

Les marges extérieures

Type Propriété Valeurs possibles

Marge en haut margin-top Indiquer une valeur comme 20px, 10%, ...

Marge à gauche margin-left Idem

Marge à droite margin-right Idem

Marge en bas margin-

bottom

Idem

Méga-propriété

de marge

margin Indiquer de 1 à 4 valeurs à la suite:

- 1 valeur : c'est la marge pour le haut, le

bas, la gauche et la droite

- 2 valeurs : la première correspond à la

marge pour le haut et le bas, la seconde pour

la gauche et la droite

- 3 valeurs : la première correspond à la

marge du haut, la seconde aux marges à

gauche et à droite, la troisième à la marge du

bas

- 4 valeurs : respectivement la marge du

haut, de la droite, du bas, de la gauche

Exemple, avec 2 valeurs : margin:20px 5px;

/* 20px de marge en haut et en bas, 5px à

gauche et à droite */

Page 82: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation web 1 Annexes

77

Les marges intérieures

Type Propriété Valeurs possibles

Marge intérieure

en haut

padding-top Indiquer une valeur comme 20px,

1.5em...

Marge intérieure à

gauche

padding-left Idem

Marge intérieure à

droite

padding-right Idem

Marge intérieure

en bas

padding-bottom Idem

Méga-propriété de

marge intérieure

padding Idem que margin

Les propriétés des tableaux

Type Propriété Valeurs possibles

Type de bordure border-collapse collapse : les bordures du tableau et

des cellules sont mélangées

separate : les bordures du tableau et

des cellules sont séparées (par

défaut)

Cellules vides empty-cells show : les bordures des cellules vides

sont affichées

collapse : les cellules vides sont

masquées (par défaut)

Position du titre caption-side Indique la position du titre du tableau,

défini via la balise <caption>

top : en haut du tableau

bottom : en bas du tableau

left : à gauche du tableau

right : à droite du tableau

Page 83: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation web 1 Annexes

78

Les propriétés de positionnement et d'affichage

Les propriétés d'affichage

Type Propriété Valeurs possibles

Type d'élément display

none : l'élément ne sera pas affiché

block : l'élément devient de type "block"

(bloc, comme <p>)

inline : l'élément devient de type "inline"

(en ligne, comme <strong>

list-item : l'élément devient de type

"élément de liste à puce" (comme <li>)

Affichage visibility

hidden : masqué

visible : visible (par défaut)

Rq: display:none; fait disparaître

l'élément, tandis que visibility:hidden;

masque l'élément, qui continue quand

même à prendre de la place sur l'écran

Afficher seulement

une partie

clip

Indiquer 4 valeurs comme ceci :

clip: rect(valeur1, valeur2, valeur3,

valeur4);

Cela permet de n'afficher qu'une partie

d'un élément. rect() permet d'indiquer les

coordonnées du rectangle qui sera affiché

Les valeurs 1 à 4 correspondent

respectivement aux coins haut, droit, bas

et gauche du rectangle

Les propriétés de positionnement

Type Propriété Valeurs possibles

Flottant float left : flottant à gauche

right : flottant à droite

none : pas de flottant (par défaut)

Page 84: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation web 1 Annexes

79

Stopper un

flottant

clear left : supprime l'effet d'un flottant à gauche

précédent

right : supprime l'effet d'un flottant à

droite précédent

both : supprime l'effet d'un flottant

précédent, qu'il soit à gauche ou à droite

none : pas de suppression de l'effet du

flottant (par défaut)

Type de

positionnement

position absolute : position absolue par rapport au

coin en haut à gauche

fixed : position fixe (fonctionne comme la

position absolue) L'élément reste à sa

position même quand on descend plus bas

dans la page

relative : position relative, par rapport à la

position "normale" de l'élément

static : positionnement normal (par défaut)

Position par

rapport au haut

top Valeur en px, %, em... à utiliser pour un

positionnement absolu, fixe ou relatif

Position par

rapport au bas

bottom Idem

Position par

rapport à gauche

left Idem

Position par

rapport à droite

right Idem

Ordre d'affichage z-index En cas de positionnement absolu par

exemple, si 2 éléments se chevauchent, z-

index permet d'indiquer quel élément doit

être affiché au-dessus de l'autre. La valeur

est un nombre. Plus ce nombre est élevé,

plus l'élément sera affiché en avant.

Page 85: Support de cours Programmation Web 1 - msj-learning.commsj-learning.com/pdf/html.pdf · Support de cours Programmation Web1 Fiche Matière Fiche descriptive de la matière : Programmation

Programmation web 1 Annexes

80

Exp: si 2 éléments sont positionnés en

absolu avec un z-index de 10 pour l'un et de

20 pour l'autre, celui qui a un z-index de 20

est affiché par-dessus

La propriété CURSOR

Type Propriété Valeurs possibles

Curseur de souris cursor auto : curseur automatique (par

défaut)

default : curseur standard

pointer : curseur en forme de main,

comme quand on pointe sur un lien

text : curseur utilisé quand on pointe

sur du texte

wait : curseur utilisé pour indiquer une

attente (sablier)

help : curseur en forme de point

d'interrogation, indiquant une aide

move : curseur en forme de croix,

indiquant un déplacement possible

n-resize : flèche vers le nord

ne-resize : flèche vers le nord-est

e-resize : flèche vers l'est

se-resize : flèche vers le sud-est

s-resize : flèche vers le sud

sw-resize : flèche vers le sud-ouest

w-resize : flèche vers l'ouest

nw-resize : flèche vers le nord-ouest

url : curseur personnalisé, de type .cur

ou .ani cursor:

url("images/curseur.cur");