Cours de Programmation Web 1
Cours de Programmation Web 1
Ce cours prépare les étudiants à une programmation réseau qui les amène à la
conception des Data Web et l’interfaçage des bases de données sur le WEB où les
étudiants seront conduits à la réalisation des sites de différents types, à l’instar des
e-commerces, etc.
A l’issu de ce cours, les étudiants seront capable de créer un site statique de
présentation ou de tout autre type, notions qui constituent un prérequis pour la
conception des Sites dynamiques.
2. ORGANISATION DU COURS
Ce cours sera articulé sur :
La conception et la description d’un site Web statique avec le langage
XHTML ;
La conception des designs avec le langage CSS ;
3. CONTACTS
4. Les prérequis
la connaissance du système d'exploitation que l'on utilise afin de pouvoir
réaliser les tâches de base du système d’exploitation telles que créer de
nouveaux fichiers ou dossiers, les supprimer, les nommer ou renommer, les
déplacer; utiliser les menus, sous-menus, boîtes de dialogues, menus
contextuels etc.
une bonne aptitude à saisir et manipuler les textes, utiliser les commandes
copier, couper et coller.
une bonne compréhension des notions de fichier, dossier, sous-dossier et
leur organisation dans un ordinateur. l'aptitude à utiliser l'Internet notamment
les aspects courriers électroniques et navigation sur le World Wide Web.
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
2
Dans le langage courant, les termes "web" et "Internet" sont souvent utilisés
comme des synonymes. Pourtant, ils ne désignent pas la même chose et ne sont
pas interchangeables. Nous vous proposons de faire le point sur la différence entre
web et Internet.
Pour expliquer autrement la différence entre web et Internet, on pourrait dire que le
web n'est pas l'Internet mais sa principale application. Il s'agit d'un système
de publication et de consultation de documents : des sons, des images et des
textes.
Ce système utilise les techniques de l'hypertexte, c'est-à-dire des hyperliens ou
liens qui vous permettent de surfer d'une partie d'un document à une autre ou d'un
document à un autre d'un simple double-clic.
L'internet ayant été popularisé par l'apparition du World Wide Web (WWW), les
deux sont parfois confondus par le public non averti. Le World Wide Web n'est
pourtant que l'une des applications d'internet.
1.2. Le Web
1.2.1. La naissance du web
Tim Berners-Lee, un physicien britannique, a inventé le web au CERN en 1989. À
l’origine, le projet, baptisé « World Wide Web », a été conçu et développé pour que
des scientifiques travaillant dans les universités et les instituts du monde entier
puissent s'échanger des informations instantanément.
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
3
Le premier site web créé au CERN – et dans le monde – était destiné au projet
World Wide Web lui-même. Il était hébergé sur l’ordinateur NeXT de Tim Berners-
Lee. Le site décrivait les principales caractéristiques du web et expliquait comment
accéder aux documents d’autres personnes et comment configurer son propre
serveur. L’ordinateur NeXT – le serveur web d’origine – est encore au CERN. En
2013, le CERN a entrepris de remettre en service le premier site web (Disponible à
cette adresse : [Link]), et a même rétabli le site web à son
adresse d’origine.
Le 30 avril 1993, le CERN a mis le logiciel du World Wide Web dans le domaine
public. Puis il a émis la version suivante de l’application sous licence libre afin
d’accélérer sa diffusion. En donnant libre accès au logiciel nécessaire pour faire
fonctionner un serveur web, ainsi qu’au navigateur et à la bibliothèque de codes
associés, il a permis à la Toile de se tisser.
Une page web est un document simple qui peut être affiché par un navigateur. Ce
document est écrit à l'aide du langage HTML (nous en reparlerons plus en
profondeur dans d'autres chapitres) et peut inclure diverses autres ressources
telles que :
b. site web
Un site web est un ensemble de pages web reliées entre elles (ainsi que des
ressources associées) qui partagent un nom de domaine. Chaque page d'un site
fournit des liens explicites (généralement sous la forme de texte cliquable) qui
permettent à l'utilisateur de naviguer entre les pages du site web.
Il existe deux grandes familles de sites web, du point de vu fonctionnement :
Les sites statiques : ce sont des sites réalisés uniquement à l’aide des
langages HTML et CSS. Ils fonctionnent très bien mais leur contenu ne peut
pas être mis à jour automatiquement : il faut que le propriétaire du site (le
webmaster) modifie le code source pour y ajouter des nouveautés. Ce n’est
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
4
pas très pratique quand on doit mettre à jour son site plusieurs fois dans la
même journée ;
Les sites dynamiques : plus complexes, ils utilisent d’autres langages en
plus de HTML et CSS, tels que PHP et MySQL. Le contenu de ces sites web est
dit « dynamique » parce qu’il peut changer sans l’intervention du
webmaster ! La plupart des sites web que vous visitez aujourd’hui, sont des
sites dynamiques. Le seul pré requis pour apprendre à créer ce type de sites
est de déjà savoir réaliser des sites statiques en HTML et CSS.
c. Serveur web
Un serveur web est un ordinateur hébergeant un ou plusieurs sites web. « Héberger
» signifie que toutes les pages web et fichiers associés sont localement enregistrés
sur cet ordinateur. À la demande d'un utilisateur, le serveur web transmettra la
page web du site web hébergé au navigateur de l'utilisateur.
d. Moteur de recherche
Un site web qui aide à trouver des pages web (par exemple, Google, Bing, Yahoo,
DuckDuckGo, Qwant, etc.).
Pour une question de crédibilité, il est préférable de disposer d’un véritable site
Internet, avec un design unique. Cependant, une petite entreprise ne disposant pas
du budget nécessaire peut très bien opter pour une des options suivantes :
Créer une page sur un réseau social (une page Facebook par exemple)
Créer un mini-site grâce à une plateforme gratuite
Réserver un nom de domaine avec l’extension .tel (plus d’informations sur le
site de Telnic disponible sur : [Link]/fra/[Link])
1.3.5. Le blog
Le blog est un type de site Internet composé essentiellement d’articles
(généralement sur une thématique précise) qui permet d’établir le dialogue avec
les internautes. L’internaute participe donc grandement au contenu du blog. Le ton
employé y est moins formel et plus personnel que dans les autres types de site
Internet. Le blog est le type de site idéal pour donner à son entreprise un visage
humain, ainsi que pour recueillir les avis et idées de ses clients.
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
7
HTML est un langage de description de document utilisé sur Internet pour faire des
pages Web. Son sigle signifie « HyperText Markup Language » en anglais,
littéralement « langage de marquage hypertexte ». Le balisage HTML est incorporé
dans le texte du document et est interprété par un navigateur Web. La version
actuelle de HTML comporte près d’une centaine de balises.
Le langage HTML (Hypertext Markup Langage) est accessible à tous. Il est composé
de balises c’est-à-dire de codes encadrés de chevrons. Voyez la balise comme un
ordre ponctuel envoyé à l’exécutant, le navigateur, qui concerne la présentation et
la structure du document.
Utilisation des balises
Une balise est un objet servant à guider l’affichage à l’écran de la page. Les balises
s’utilisent conjointement entre elles. Il y a une balise d’ouverture et une balise de
fermeture. Ces balises sont identiques sauf la balise pour la balise de fermeture il
y a un Slash devant le nom de
Exemple :
<TITLE>Formation</TITLE>
<B>Formation</B>
Voici un très bref historique des langages pour votre culture générale.
• Les versions de HTML
✓ HTML 1 : c'est la toute première version créée par Tim Berners-Lee en 1991.
✓ HTML 2 : la deuxième version du HTML apparaît en 1994 et se finira en 1996
avec l'apparition du HTML 3.0. C'est cette version qui posera en fait les bases
des prochaines versions du HTML. Les règles et le fonctionnement de cette
version sont donnés par le W3C (tandis que la première version a été créée
par un seul homme).
✓ HTML 3 : apparue en 1996, cette nouvelle version du HTML rajoute de
nombreuses possibilités au langage comme les tableaux, les applets, les
scripts, le positionnement du texte autour des images etc...
✓ HTML 4 : il s'agit de la version la plus répandue de HTML (plus précisément il
s'agit de HTML 4.01). Elle apparaît pour la première fois en 1998, et propose
l'utilisation de frames (qui découpent une page web en plusieurs parties), des
tableaux plus complexes, des améliorations sur les formulaires etc... Mais
surtout, cette version permet pour la première fois l'utilisation de feuilles de
style, notre fameux CSS !
✓ HTML 5 : c'est LA dernière version. Encore assez peu répandue, elle fait
beaucoup parler d'elle car elle apporte de nombreuses améliorations comme
la possibilité d'inclure facilement des vidéos, un meilleur agencement du
contenu, de nouvelles fonctionnalités pour les formulaires, etc.
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
8
Incroyable mais vrai : on peut tout à fait créer un site web juste avec Bloc-Notes, le
logiciel d'édition de texte intégré par défaut sur Windows.
Il y a cependant des logiciels dits WYSIWYG (What You See Is What You Get - Ce
Que Vous Voyez Est Ce Que Vous Obtenez) : ce sont des programmes qui se
veulent très faciles d'emploi, ils permettent de créer des sites web sans apprendre
de langage particulier. Parmi les plus connus d'entre eux : Nvu, Microsoft
Expression Web, Dreamweaver... et même Word !
Leur principal défaut est la qualité du code HTML et CSS qui est automatiquement
généré par ces outils, souvent d'assez mauvaise qualité. Un bon créateur de site
web doit tôt ou tard connaître HTML et CSS, c'est pourquoi je ne recommande pas
l'usage de ces outils.
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
9
Vous l'aurez compris, je vais vous inviter à utiliser un éditeur de texte dans ce
cours.
Il existe une grande quantité d'éditeurs de texte, je ne pourrai pas tous vous les
présenter. Néanmoins, je vous invite à vous pencher sur Notepad++, l'un des plus
utilisés d'entre eux sous Windows. Ce logiciel est simple, en français et gratuit.
Voici à quoi ressemble Notepad++ lorsque vous le lancez :
jEdit
PSpad
ConTEXT
... et bien d'autres si vous recherchez "Editeur de texte" sur le Web
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
10
Le travail du navigateur est de lire le code HTML et CSS pour afficher un résultat
visuel à l'écran. Si votre code CSS dit "Les titres sont en rouge", alors le navigateur
affichera les titres en rouge. Le rôle du navigateur est donc essentiel !
On ne dirait pas, mais un navigateur est un programme extrêmement complexe.
Comprendre le code HTML et CSS n'est en effet pas une mince affaire. Le principal
problème, vous vous en rendrez vite compte, c'est que les navigateurs
n'affichent pas tous les sites exactement de la même façon ! Il faudra vous y
faire et prendre l'habitude de vérifier régulièrement que votre site fonctionne
correctement sur la plupart des navigateurs.
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
11
Bon, qu'est-ce qu'on fait maintenant ? Qu'est-ce qu'on écrit sur cette feuille blanche
? On va faire un petit essai. Je vous invite à écrire ce qui vous passe par la tête :
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
12
Vous pouvez écrire les mêmes phrases que moi ou ce que vous voulez ; le but est
d'écrire quelque chose.
Maintenant, enregistrons ce fichier. Pour ça, c'est très simple : comme dans tous les
programmes, vous avez un menu Fichier / Enregistrer. Une boîte de dialogue
vous demande où enregistrer le fichier et sous quel nom. Enregistrez-le où vous
voulez. Donnez au fichier le nom que vous voulez, en terminant par .html, par
exemple : [Link].
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
13
L'apparence du fichier dépend de votre navigateur web par défaut. Ici, l'icône est
celle de Google Chrome, mon navigateur par défaut, mais le fichier a peut-être une
autre icône chez vous. Voici par exemple l'icône qui apparaît selon que votre
navigateur principal est Firefox ou Internet Explorer :
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
14
Ça ne marche pas bien on dirait ! Tout le texte s'affiche sur la même ligne alors
qu'on avait écrit 2 lignes de texte différentes !?
En effet, bien vu !
Le texte s'affiche sur la même ligne alors qu'on avait demandé à l'écrire sur 2
lignes différentes. Que se passe-t-il ?
En fait, pour créer une page web il ne suffit pas simplement de taper du texte
comme on vient de le faire. En plus de ce texte, il faut aussi écrire ce qu'on appelle
des balises, qui vont donner des instructions à l'ordinateur comme "aller à la
ligne", "afficher une image", etc.
a. Les balises
Les pages HTML sont remplies de ce qu'on appelle des balises. Celles-ci sont
invisibles à l'écran pour vos visiteurs, mais elles permettent à l'ordinateur de
comprendre ce qu'il doit afficher.
Les balises se repèrent facilement. Elles sont entourées de "chevrons", c'est-à-dire
des symboles < et >, comme ceci : <balise>
À quoi est-ce qu'elles servent ? Elles indiquent la nature du texte autour d'elles.
Elles veulent dire par exemple : "Ceci est le titre de la page", "Ceci est une image",
"Ceci est un paragraphe de texte", etc.
On distingue deux types de balises : les balises en paires et les balises orphelines.
On distingue une balise ouvrante (<titre>) et une balise fermante (</titre>) qui
indique que le titre se termine. Cela signifie pour l'ordinateur que tout ce qui n'est
pas entre ces deux balises... n'est pas un titre.
Code : HTML
Ceci n'est pas un titre <titre>Ceci est un titre</titre> Ceci n'est pas un titre
Code : HTML
<image />
Notez que le / de fin n'est pas obligatoire. On pourrait écrire seulement <image>. Néanmoins, pour ne pas
confondre avec le premier type de balise, les webmasters recommandent de rajouter ce / (slash) à la fin de la
balise. Vous me verrez donc mettre un / aux balises orphelines et je vous recommande de faire de même, c'est
une bonne pratique.
b. Les attributs
Les attributs sont un peu les options des balises. Ils viennent les compléter pour
donner des informations supplémentaires.
L'attribut se place après le nom de la balise ouvrante et a le plus souvent une
valeur, comme ceci :
Code : HTML
<balise attribut="valeur">
A quoi ça sert ? Prenons la balise <image /> que nous venons de voir. Seule, elle
ne sert pas à grand-chose. On pourrait rajouter un attribut qui indique le nom de
l'image à afficher :
Code : HTML
<image nom="[Link]" />
L'ordinateur comprend alors qu'il doit afficher l'image contenue dans le fichier
[Link].
Dans le cas d'une balise fonctionnant "par paire", on ne met les attributs que dans
la balise ouvrante et pas dans la balise fermante. Par exemple, ce code indique que
la citation est de Neil Armstrong et qu'elle date du 21 Juillet 1969 :
Code : HTML
<citation auteur="Neil Armstrong" date="21/07/1969">
C'est un petit pas pour l'homme un bond de géant pour l´humanité.
</citation>
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
16
Toutes les balises que nous venons de voir sont fictives. Les vraies balises ont des noms
en anglais (eh oui !), nous allons les découvrir dans la suite de ce cours.
Vous noterez que les balises s'ouvrent et se ferment dans un ordre précis. Par
exemple, la balise <html> est la première que l'on ouvre, et c'est aussi la dernière
que l'on ferme (tout à la fin du code, avec </html>). Les balises doivent être
fermées dans le sens inverse de leur ouverture.
Un exemple :
<html><body></body></html> : correct. Une balise qui est ouverte à
l'intérieur d'une autre doit aussi être fermée à l'intérieur.
<html><body></html></body> : incorrect, les balises s'entremêlent.
Euh, on pourrait avoir des explications sur toutes les balises que l'on vient de copier
dans notre éditeur m'sieur ?
Bien sûr, c'est demandé si gentiment.
Le doctype
Code : HTML
<!DOCTYPE html>
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
17
La toute première ligne s'appelle le doctype. Elle est indispensable car c'est elle qui
indique qu'il s'agit bien d'une page web HTML.
Ce n'est pas vraiment une balise comme les autres (elle commence par un point
d'exclamation), vous pouvez considérer que c'est un peu l'exception qui confirme la
règle (ça commence bien).
La balise <html>
Code : HTML
<html>
</html>
C'est la balise principale du code. Elle englobe tout le contenu de votre page.
Comme vous pouvez le voir, la balise fermante </html> se trouve tout à la fin du
code !
Pour le moment, le corps est vide (nous y reviendrons plus loin). Intéressons-nous
par contre aux deux balises contenues dans l'en-tête...
L'encodage (charset)
Code : HTML
<meta charset="utf-8" />
Sans rentrer dans les détails, car cela pourrait vite devenir compliqué, l'encodage
indique la façon dont le fichier est enregistré.
C'est lui qui détermine comment les caractères spéciaux vont s'afficher (accents,
idéogrammes chinois et japonais, symboles arabes, etc.).
Il y a plusieurs techniques d'encodage aux noms bizarres utilisées en fonction des
langues : ISO-8859-1, OEM 775, Windows-1253... Un seul cependant devrait être
utilisé aujourd'hui autant que possible : UTF-8. Cette méthode d'encodage permet
d'afficher sans aucun problème pratiquement tous les symboles de toutes les
langues de notre planète ! C'est pour cela que j'ai indiqué utf-8 dans cette balise.
Il faut aussi que votre fichier soit bien enregistré en UTF-8. C'est le cas le plus
souvent sous Linux par défaut, mais sous Windows il faut généralement le dire au
logiciel.
Code : HTML
<title>
Chacun a déjà remarquer dans son navigateur qu’avant l’affichage complet d’une
page web, un titre apparaît dans la barre de titre située en haut de la fenêtre du
navigateur.
Ce texte est défini dans l’élément <title> qui est le seul dont la présence soit
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. Nous aurons
par exemple le code suivant :
Il est conseillé que le titre soit assez court (moins de 100 caractères en général).
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
19
Tout ce qui est contenu entre les symboles <!-- et --> est considéré par le
navigateur comme des commentaires et n’est pas affiché dans la page, même s’ils
se trouvent dans l’élément <body>.
Comme pour tout langage de programmation, nous avons tout intérêt à commenter
le code HTML afin d’en faciliter la relecture à posteriori. Notez toutefois que les
commentaires seront visibles par l’internaute si celui-ci choisit d’afficher le code
source de la page dans son navigateur. Évitez donc d’y inclure des informations
confidentielles et d’y faire figurer des informations privées.
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
20
Code : HTML
<p>Bonjour et bienvenue sur mon site !</p>
<p> signifie "Début du paragraphe"
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
21
Comme je vous l'ai dit dans la section précédente, on écrit le contenu de notre site
web entre les balises <body></body>. Il nous suffit donc de mettre notre
paragraphe entre ces deux balises, et nous aurons enfin notre première vraie page
web avec du texte !
Je reprends donc exactement le même code que dans la section précédente, et j'y
ajoute mon paragraphe :
Mais ne nous arrêtons pas en si bon chemin. Nous allons voir maintenant quelque
chose d'un peu particulier en HTML : le saut de lignes. Ça a l'air simple, mais
pourtant ça ne fonctionne pas vraiment comme dans un traitement de texte
habituel...
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
22
Tout est sur la même ligne alors qu'on est pourtant allé à la ligne dans notre code !
Taper frénétiquement sur la touche Entrée dans l'éditeur de texte ne sert donc
strictement à rien.
Comme vous devez vous en douter, il y a pourtant bien un moyen de faire des
sauts de ligne en HTML.
C'est une balise orpheline qui sert juste à indiquer qu'on doit aller à la ligne :
<br />. Vous devez obligatoirement la mettre à l'intérieur d'un paragraphe.
Vous pouvez théoriquement mettre plusieurs balises <br /> d'affilée pour faire plusieurs
sauts de lignes, mais on considère que c'est une mauvaise pratique qui rend le code
délicat à maintenir. Pour décaler un texte avec plus de précision, on utilisera le CSS, ce
langage qui vient compléter le HTML et dont je vous parlerai un peu plus loin.
Maintenant qu'on sait écrire des paragraphes, voyons voir comment on crée des
titres.
<h1> </h1> : signifie "titre très important". En général, on s'en sert pour
afficher le titre de la page au début de celle-ci.
<h2> </h2> : signifie "titre important".
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
23
<h3> </h3> : pareil, c'est un titre un peu moins important (on peut dire un
"sous-titre" si vous voulez).
<h4> </h4> : titre encore moins important.
Ne vous laissez pas impressionner par toutes ces balises. En fait, 6 niveaux de
titres, c'est beaucoup. Dans la pratique, personnellement, je n'utilise que les balises
<h1>, <h2> et <h3>, et très rarement les autres (je n'ai pas souvent besoin de 6
niveaux de titres différents). Votre navigateur affiche le titre très important en très
gros, le titre un peu moins important en un peu moins gros, etc.
Ne choisissez pas votre balise de titre en fonction de la taille qu'elle procure au texte ! Il
faut impérativement bien structurer sa page en commençant par un titre de niveau 1
(<h1>), puis un titre de niveau 2 (<h2>), etc. Il ne devrait pas y avoir de sous-titre sans
titre principal !
Si vous voulez modifier la taille du texte, sachez que nous apprendrons à faire ceci en
CSS un peu plus tard.
Essayez de faire une page web avec des titres pour voir ce que ça donne :
Parmi les éléments en ligne utilisables pour contenir du texte, certains permettent
de créer des styles physiques pour leur contenu. Une partie d’entre eux
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
24
correspondent aux modifications courantes que chacun peut effectuer dans son
traitement de texte, comme mettre un texte en gras, en italique, ou certains
caractères en indice ou en exposant. Ce type de marquage est indépendant de la
taille et de la police de caractères. D’autres éléments agissent de manière relative
sur leur contenu en permettant d’afficher dans une police plus grande ou plus
petite que la police utilisée dans le texte qui précède sans préjuger de cette taille. À
chacun de ces éléments correspond un style par défaut qui peut donner
satisfaction, mais dans le cas contraire ce style pourra être personnalisé à loisir
avec CSS.
Pour mettre en gras une partie de texte comprise dans un bloc, il faut l’inclure dans
l’élément <b> (donc entre <b> et </b>). Il peut aussi contenir tous les éléments
en ligne et possède tous les éléments en ligne de tous les attributs communs.
Nous pouvons également utiliser l’élément <strong> pour obtenir le même effet. Il
n’est pas possible d’imbriquer ces éléments les uns dans les autres pour forcer le
caractère gras d’un texte.
Nous y remarquons qu’il est possible d’imbriquer des éléments <b> dans les
éléments <i> et <em> pour que le texte apparaisse à la fois en italique et en
caractères gras.
peut obtenir des tailles de police de plus en plus petites ou de plus en plus grandes.
Le nombre d’imbrications possibles dépend de la taille de la police du conteneur
des éléments <big> ou <small>.
Le code suivant :
<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 petit
encore, <small> toujours plus petit </small></small></small></small></p>
Permettra d’obtenir des mots de plus en plus grands en imbriquant les éléments
<big>, puis de plus en plus petits en imbriquant les éléments <small> sur quatre
niveaux.
Nous avons déjà utilisé l’élément <code> pour afficher du texte dans un style
listing. L’élément <tt> (comme télétype) permet d’obtenir par défaut le même
résultat pour des textes courts en ligne. Il peut contenir éventuellement tous les
attributs communs.
<p> La fonction JavaScript <tt> alert() </tt> permet d’afficher une boîte d’alerte.
On peut écrire, par exemple : <tt> alert(" Vérifier votre code ") </tt> pour prévenir
le visiteur. </tt> </p> pour mettre en évidence dans un paragraphe du code
JavaScript.
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
26
Pour créer une liste dans laquelle la notion d’ordre a une importance, nous pouvons
utiliser une liste ordonnée dont chaque item sera numéroté par défaut à l’aide
d’entiers incrémentés de 1 à N, suivis d’un point puis du contenu de chaque item.
Une liste ordonnée doit commencer par l’élément <ol> (pour ordered list) qui doit
obligatoirement contenir au moins un élément <li> qui lui-même renferme le
contenu visible de chaque item. Il faut donc que <ol> contienne autant d’éléments
<li> qu’il y a d’items dans la liste désirée.
L’élément <ol> ne peut rien contenir d’autre, même pas de texte brut. La structure
d’une liste ordonnée est donc la suivante :
<ol>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ol>
Les éléments <li> peuvent avoir un contenu très varié, qu’il s’agisse de texte, de
titres, de tous les éléments de niveau bloc, des éléments en ligne et d’autres
éléments de liste.
Une liste à puces est introduite par l’élément <ul> et fermée par </ul>. Comme
l’élément <ol>, son seul contenu direct est un ou plusieurs éléments <li>. Le
contenu de chaque élément <li> est le même que pour les listes ordonnées. La
structure d’une liste à puces est donc la suivante :
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
27
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
L’élément <li>, seul contenu autorisé des éléments <ol> et <ul>, peut lui-même
avoir un contenu très varié, et contenir d’autres éléments <ol> ou <ul>. Ainsi,
nous pouvons exploiter cette propriété pour créer des listes imbriquées les unes
dans les autres. Nous obtenons ainsi plusieurs niveaux de numérotation ou de
puces, à l’instar d’une table des matières qui reflète les titres des chapitres puis les
titres des différentes sections les composant.
Chaque élément <li> de premier niveau contient un élément <ol> ou <ul> qui lui-
même renferme des éléments <li> de deuxième niveau.
La structure des listes ordonnées imbriquées est donc la suivante :
<ol>
<li>Item 1
<ol>
<li>Item 1 A</li>
<li>Item 1 B</li>
</ol>
</li>
<li>Item 2
<ol>
<li>Item 2 A</li>
<li>Item 2 B</li>
</ol>
</li>
</ol>
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
28
<dl>
<dt>Terme 1</dt>
<dd>Définition 1</dd>
<dt>Terme 2</dt>
<dd>Définition 2</dd>
</dl>
<a href="[Link]
accesskey="a" title="Site de l’auteur">
Visitez le site de l’auteur </a>
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
29
Lien hypertexte : au passage de la souris, le curseur prend la forme d’unemain et le contenu de l’attribut title
s’affiche dans une bulle.
Lien hypertexte vers un endroit de la page
<a href="#poissons"
accesskey="p" title="Les habitants de la mer">
Accès au paragraphe "Les habitants de la mer"
</a>
...
...
<h2 id="poissons">Les habitants de la mer</h2>
Pour mettre en place un lien vers un endroit précis de la page courante, il
suffit d’ajouter un identifiant en attribut de la balise destination, par
exemple id="toto", ce qui permet de l’atteindre directement grâce au
lien <a href="#toto" ...>...</a>.
Si le texte à relier au lien en question n’est pas encadré par une balise, il
est possible d’utiliser la balise <a>comme ancre simple, uniquement pour
attribuer un identifiant à cette partie du texte :
<a id="toto">Texte à relier au lien interne</a>
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
30
Code : HTML
<p><a href="[Link]">Télécharger le fichier</a></p>
C’est tout ! Le navigateur, voyant qu’il ne s’agit pas d'une page web à
afficher, va lancer la procédure de téléchargement lors qu'on cliquera sur
le lien.
Il est possible de "forcer" l'ouverture d'un lien dans une nouvelle fenêtre.
Pour cela, on rajoutera target="_blank" à la balise <a> :
Code : HTML
<p>Bonjour. Souhaitez-vous visiter le <a
href="[Link] target="_blank">Site de l’Uka</a> ?
<br />
Code : HTML
<p><a href="[Link] un e-
mail !</a></p>
Exercices
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
31
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
32
À première vue, une image GIF ou PNG aura un poids plus faible qu’une
image JPEG; cependant, c’est la variété des teintes de l’image (la palette
des couleurs) qui va influencer le poids final de l’image. Quand vous créez
une image, essayez donc systématiquement de l’enregistrer sous les trois
formats. Vous serez parfois surpris par le poids réel des images obtenues
et vous pourrez choisir la moins lourde, donc celle qui s’affichera le plus
vite dans votre page. Ne vous fiez pas non plus au temps d’affichage des
images dans votre navigateur lors de vos tests, car le fichier provient
directement de votre disque dur dans le navigateur, et ce temps de
chargement n’a rien à voir avec celui que les visiteurs du site auront à
subir si votre image « pèse » 100 Ko par exemple. Pour faire bonne
mesure, diminuez la définition des photos numériques pouvant atteindre
une taille de 2 Mo.
De plus, on estime généralement qu’après 5 secondes d’attente, un
visiteur moyen commence à s’impatienter.
Testez donc vos pages en ligne pour vous mettre dans la situation de vos
visiteurs.
3.1.2. Insérer une image
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
33
En HTML, insérer une image revient à placer un lien vers le fichier qui la
contient, avec la balise <img ... />. Elle contient obligatoirement l’attribut
src qui indique le nom du fichier image à afficher.
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
34
3.2. Le Multimédias
Depuis l'arrivée de YouTube et Dailymotion, il est devenu courant
aujourd'hui de regarder des vidéos sur des sites web. Il faut dire que
l'arrivée du haut débit a aidé à démocratiser les vidéos sur le Web.
Cependant, aucune balise HTML ne permettait jusqu'ici de gérer la vidéo. Il
fallait à la place utiliser un plugin, comme Flash.
Encore aujourd'hui, Flash reste de loin le moyen le plus utilisé pour
regarder des vidéos sur YouTube, Dailymotion, Vimeo et ailleurs. Mais
utiliser un plugin a de nombreux défauts : on dépend de ceux qui gèrent le
plugin (en l'occurrence l'entreprise Adobe, qui possède Flash), on ne peut
pas toujours contrôler son fonctionnement, il y a parfois des failles de
sécurité... Au final, c'est assez lourd.
Imaginez, pour les images, si la balise <img /> n'existait pas. Si à la place
il fallait à chaque fois charger un programme (un plugin) pour afficher une
image, ce serait lourd et compliqué !
C'est pour cela que 2 nouvelles balises standard ont été créées en HTML5 :
<video> et <audio> !
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
35
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
36
Code : HTML
<audio src="musique.mp3"></audio>
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
37
Code : HTML
<audio src="hype_home.mp3" controls></audio>
Code : HTML
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
38
Ceux qui ont un navigateur récent ne verront pas le message. Les anciens
navigateurs, qui ne comprennent pas la balise, afficheront en revanche le
texte qui se trouve à l'intérieur.
La balise <video > que nous allons découvrir est reconnue par tous les
navigateurs récents, y compris Internet Explorer à partir de la version 9
(IE9).
Il suffit d'une simple balise <video > pour insérer une vidéo sur sa page :
Code : HTML
<video src="[Link]"></video>
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
39
Code : HTML
<video src="[Link]" controls poster="[Link]" width="600">
Il est temps de mettre à jour votre navigateur ! </video>
Comment contenter tous les navigateurs, puisque chacun reconnaît des
formats vidéo différents ?
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
40
Code : HTML
<video controls poster="[Link]" width="600">
<source src="sintel.mp4" />
<source src="[Link]" />
<source src="[Link]" />
</video>
3.3. Tableaux
En HTML, un tableau est délimité par les balises <table> ... </table>.
Initialement, les bordures du tableau sont invisibles, donc il faut ajouter
dans la balise <table> l’attribut border pour indiquer l’épaisseur de la
bordure en pixels.
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
41
Exemple de tableau
<table border="1" cellspacing="0">
<tr>
<th>Pays</th>
<th>Capitale</th>
</tr>
<tr>
<td>France</td>
<td>Paris</td>
</tr>
<tr>
<td>Espagne</td>
<td>Madrid</td>
</tr>
</table>
<td rowspan="2">Canada</td>
<td>anglais</td>
</tr>
<tr>
<td>français</td>
</tr>
</table>
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
42
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
43
positionner des blocs de texte dans une page en utilisant les propriétés
CSS adéquates.
1. La boîte texte :
La boîte texte est l'élément le plus commun. On s'en sert pour recueillir
une entrée au clavier de la part de l'utilisateur.
Exemple:
<FORM>
Explication de la syntaxe :
INPUT TYPE="text" Cela définit le type de boîte, ici texte en entrée.
NAME="nom identificateur" Nom de la boîte.
VALUE="valeur" Contenu par défaut ici "voilà une boîte texte".
SIZE= nombre Détermine le nombre de caractères maximal visible à l'écran.
MAXLENGTH=nombre fixe le nombre maximal de caractères permis.
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
45
Explication de la syntaxe :
INPUT TYPE="password" Cela définit le type de boîte, ici mot de passe en
entrée. NAME="nom idenficateur" Nom de la boîte.
SIZE= nombre Détermine le nombre de caractères maximal visible à
l'écran. MAXLENGTH=nombre fixe le nombre maximal de caractères
permis.
Code source :
<FORM> <INPUT TYPE="radio" NAME="Groupedage" VALUE="16-25 ans" CHECKED> 16-
25 ans<BR> <INPUT TYPE="radio" NAME="Groupedage" VALUE="26-35 ans"> 26-35
ans<BR> <INPUT TYPE="radio" NAME="Groupedage" VALUE="36-45 ans"> 36-45
ans<BR> <INPUT TYPE="radio" NAME="Groupedage" VALUE="46-65 ans"> 46-65
ans<BR> <INPUT TYPE="radio" NAME="Groupedage" VALUE="65 ans et plus"> 65 ans
et plus<BR> </FORM>
Explication de la syntaxe :
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
46
Code source :
Explication de la syntaxe :
INPUT TYPE="checkbox " Cela définit le type de case, ici case à cocher.
NAME="nom identificateur" Nom de la case à cocher.
VALUE="valeur" Contenu par défaut ici les options.
5. La boîte liste :
La boîte liste constitue une autre façon de présenter une liste d'items.
Celle-ci est utile dans le cas où le nombre d'éléments est plus important.
De plus, elle permet de sélectionner plus d'un item à l'aide de la touche
SHIFT ou CTRL.
Exemple :
Une liste de livres parmi lesquels l'utilisateur peut choisir :
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
47
Code source :
<FORM> <SELECT NAME="Livres" SIZE="5" MULTIPLE>
<OPTION VALUE="HTML"> Apprendre le HTML
<OPTION VALUE="DREAMWEAVER" SELECTED> Créez vos pages pour le
Web <OPTION VALUE="FLASH"> La bible du flash
<OPTION VALUE="DIRECTOR"> Le livre sur Director <OPTION
VALUE="JAVA"> Programmer en Java
</SELECT>
</FORM>
Explication de la syntaxe :
<SELECT NAME="nom de la liste" SIZE="nombre" MULTIPLE> L'attribut
SIZE indique le nombre de lignes qui seront visibles dans la liste. L'attribut
MULTIPLE, s'il est présent, permet à l'utilisateur d'effectuer plus d'une
sélection.
<OPTION VALUE="Texte à définir par le concepteur">Les entrées de la
liste sont décrites par l'attribut OPTION,VALUE sert à définir la valeur qui
doit être retournée dans le courrier électronique.
<OPTION VALUE="Texte à définir par le concepteur"
SELECTED>SELECTED, lorsque présent, indique que l'item est sélectionné
par défaut au chargement de la page.
Code source :
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
48
Explication de la syntaxe :
NAME= nom de la liste
<OPTION VALUE="Texte à définir par le concepteur">Les entrées de la
liste sont décrites par l'attribut OPTION,VALUE sert à définir la valeur qui
doit être retournée dans le courrier électronique.
<OPTION VALUE="Texte à définir par le concepteur"
SELECTED>SELECTED, lorsque présent, indique que l'item est sélectionné
par défaut au chargement de la page.
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
49
Explication de la syntaxe :
NAME="nom identificateur"
COLS=nb colonnes.
ROWS=nb rangées.
WRAP détermine la façon dont les lignes sont traitées lors d'un
changement de ligne. La liste ci-dessous donne une description
des différentes possibilités :
- OFF : aucun changement de ligne.
- VIRTUAL : les changements de lignes sont effectués
automatiquement dans la boîte texte multilignes.
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
50
Code source :
<FORM>
ICI tous les éléments de votre formulaire, cases à cocher, boîte
de texte, boutons radio ...
<INPUT TYPE="submit" VALUE="Envoyer"> <INPUT TYPE="reset"
VALUE="Recommencer"> </FORM>
Le bouton Envoyer est celui dont l'attribut TYPE est submit, tandis que le
bouton Recommencer est reset.
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
51
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
52
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
53
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
54
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
55
Code : HTML
<!DOCTYPE …>
<html>
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="[Link]" />
<title>Premiers tests du CSS</title>
</head>
<body>
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
56
Code: CSS
P
{
color: blue;
}
Code: HTML
<!DOCTYPE html>
<html>
<head>
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
57
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
58
Code: CSS
P{
color: blue;
}
Dans un code CSS comme celui-ci, on trouve 3 éléments différents :
Des noms de balises : on écrit les noms des balises dont on veut
modifier l'apparence. Par exemple, si je veux modifier l'apparence
de tous les paragraphes <p>, je dois écrire p.
Des propriétés CSS : les "effets de style" de la page sont rangés
dans des propriétés. Il y a par exemple la propriété color qui permet
d'indiquer la couleur du texte, font-size qui permet d'indiquer la
taille du texte, etc. Il y a beaucoup de propriétés CSS et, comme je
vous l'ai dit, je ne vous obligerai pas à les connaître toutes par coeur
(sauf s'il me prend une envie sadique de vous faire souffrir).
Les valeurs : à chaque propriété CSS on doit indiquer une valeur.
Par exemple, pour la couleur, il faut indiquer le nom de la couleur.
Pour la taille, il faut indiquer quelle taille on veut, etc.
Code : CSS
balise1
{
propriete: valeur;
propriete: valeur;
propriete: valeur;
}
balise2
{
propriete: valeur;
propriete: valeur;
propriete: valeur;
propriete: valeur;
}
balise3
{
propriete: valeur;
}
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
59
Code : CSS
h1, em
{
color: blue;
}
Cela signifie : "Je veux que le texte de mes <h1> et <em> soit écrit en
bleu".
Vous pouvez indiquer autant de balises à la suite que vous le désirez.
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
60
Code : CSS
/*
---------
G2 Info
*/
p{
color: blue; /* Les paragraphes seront bleus */
}
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
61
Comme je viens de vous le dire, c'est un attribut que l'on peut mettre sur
n'importe quelle balise, aussi bien titre que paragraphe, image, etc.
Code: HTML
<h1 class=""></h1>
<p class=""></p>
<img class="" />
Code : XHTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"[Link]
<html xmlns="[Link] xml:lang="fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf- 8"/>
<link rel="stylesheet" href="[Link]" />
<title>Premiers tests du CSS</title>
</head>
<body>
<h1>Mon super site</h1>
<p class="introduction">Bonjour et bienvenue sur mon site !</p>
<p>Pour le moment, mon site est un peu <em>vide</em>.
Patientez encore un peu !</p>
</body>
</html>
Code: CSS
.introduction
{
color: blue;
}
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
62
Quel intérêt ? Il y en a assez peu pour tout vous dire, cela vous sera utile
si vous faites du Javascript plus tard pour reconnaître certaines balises.
D'ailleurs, nous avons déjà vu l'attribut id dans le chapitre sur les liens
(pour réaliser des ancres).
En pratique, nous ne mettrons des id que sur des éléments qui sont
uniques sur votre page, comme par exemple le logo :
Code : XHTML
<img src="images/[Link]" alt="Logo du site" id="logo" />
Si vous utilisez des id, dans le CSS il faudra faire précéder le nom de l'id
par un dièse (#) :
Code : CSS
#logo
{
/* Indiquez les propriétés CSS ici */
}
Il arrivera parfois que vous ayez besoin d'appliquer une class (ou un id) à
certains mots qui ne sont pas à l'origine entourés par des balises.
En effet, le problème de class, c'est qu'il s'agit d'un attribut. Vous ne
pouvez donc en mettre que sur une balise. Par exemple, si je veux
modifier uniquement "bienvenue" dans le paragraphe suivant :
Code : HTML
<p>Bonjour et bienvenue sur mon site !</p>
Ça serait facile à faire s'il y avait une balise autour de "bienvenue",
malheureusement il n'y en a pas. Heureusement, on a inventé... la balise-
qui-sert-à-rien.
En fait, on a inventé 2 balises dites universelles qui n'ont aucune
signification particulière (elles n'indiquent pas que le mot est important
par exemple). Il y a une petite (mais importante !) différence entre ces
deux balises :
<span></span>: c'est une balise de type inline. C'est une balise
que l'on place au sein d'un paragraphe de texte, pour sélectionner
certains mots uniquement. Les balises <strong>et <em>sont de la
même famille. Cette balise s'utilise donc au milieu d'un paragraphe,
et c'est celle dont nous allons nous servir pour colorer "bienvenue".
<div></div>: c'est une balise de type block qui entoure un bloc de
texte. Les balises de la même famille sont <p>,<h1>, etc. Ces
balises ont quelque chose en commun : elles créent un nouveau
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
63
Code : HTML
<p>Bonjour et <span class="salutations">bienvenue</span> sur mon
site !</p>
Code : CSS
.salutations
{
color: blue;
}
En CSS, le plus difficile est de savoir cibler le texte dont on veut changer la
forme. Pour cibler (on dit "sélectionner") les éléments de la page à
modifier, on utilise ce qu'on appelle des sélecteurs. Nous en avons déjà
utilisé un peu plus tôt dans cette section, résumons-les pour commencer.
Les sélecteurs que nous connaissons déjà
Ces sélecteurs, que nous avons vus précédemment, sont de loin les plus
couramment utilisés. Il faut les connaître par coeur. Commençons par la
base de la base :
Code : CSS
P
{
}
... signifie "Je veux affecter tous les paragraphes". Après, c'est à vous de
dire ce que vous faites à ces paragraphes (vous les écrivez en bleu par
exemple).
Nous avons aussi vu :
Code : CSS
h1, em
{
}
... qui signifie "Tous les titres et textes importants". Nous avons
sélectionné deux balises d'un coup.
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
64
Code : CSS
*{ }
Sélectionne toutes les balises sans exception. On l'appelle le sélecteur
universel.
Code : CSS
h3 em
{
}
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
65
Code : HTML
<h3>Titre</h3>
<p>Paragraphe</p>
Code : CSS
a[title]
{
}
Sélectionne tous les liens <a>qui possèdent un attribut title.
Exemple :
Code : HTML
<a href="[Link] title="Infobulle">
Code : CSS
a[title="Cliquez ici"]
{
}
Idem, mais l'attribut doit en plus avoir exactement pour valeur "Cliquez
ici".
Exemple :
Code : HTML
<a href="[Link] title="Cliquez ici">
Code : CSS
a[title*="ici"]
{
}
Idem, l'attribut doit cette fois contenir dans sa valeur le mot "ici" (peu
importe sa position).
Exemple :
Code : HTML
<a href="[Link] title="Quelque part par ici">
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
66
4.2.1. La taille
Pour modifier la taille du texte, on utilise la propriété CSS font-size. Mais
comment indiquer la taille du texte ? C'est là que ça se corse car plusieurs
techniques vous sont proposées :
✓ Indiquer une taille absolue : en pixels, en centimètres ou millimètres.
Cette méthode est très précise mais il est conseillé de ne l'utiliser que si
c'est absolument nécessaire, car on risque parfois d'indiquer une taille
trop petite pour certains lecteurs.
✓ Indiquer une taille relative : en pourcentage, "em" ou "ex", cette
technique a l'avantage d'être plus souple. Elle s'adapte plus facilement
aux préférences de taille des visiteurs.
Code : CSS
p{
font-size: 14px; /* Paragraphes de 14 pixels */
}
h1
{
font-size: 40px; /* Titres de 40 pixels */
}
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
67
Code : CSS
p{
font-size: small;
}
h1
{
font-size: large;
}
Cette technique a un défaut : il n'y a que 7 tailles disponibles (car il n'y a
que 7 noms). Heureusement il existe d'autres moyens.
Ma technique préférée consiste à indiquer la taille en "em". C'est une unité
spécifique au CSS.
Si vous écrivez 1em, le texte a une taille normale.
Si vous voulez grossir le texte, vous pouvez inscrire une valeur supérieure
à 1, comme 1.3em.
Si vous voulez réduire le texte, inscrivez une valeur inférieure à 1, comme
0.8em.
Faites attention, il faut mettre un point à la place de la virgule pour les
nombres décimaux. Vous devez donc écrire"1.4em" et non pas "1,4em" !
Exemple :
Code : CSS
p{
font-size: 0.8em;
}h
1
{
font-size: 1.3em;
}
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
68
4.2.2. La police
Code : CSS
balise
{
font-family: police;
}
Seulement, pour éviter qu'il n'y ait de problème si l'internaute n'a pas la
même police que vous, on précise en général plusieurs noms de police,
séparés par des virgules :
Code : CSS
balise
{
font-family: police1, police2, police3, police4;
}
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
69
Arial Black
Comic Sans MS
Courier New
Georgia
Impact
Times New Roman
Trebuchet MS
Verdana
Ainsi, si j'écris :
Code : CSS
P{
font-family: Impact, "Arial Black", Arial, Verdana, sans-
serif;
}
... cela signifie : "Mets la police Impact, ou, si elle n'y est pas, Arial Black,
ou sinon Arial, ou sinon Verdana, ou si rien n'a marché mets une police
standard (sans-serif)".
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
70
Cela vous permet d'annuler une mise en italique. Par exemple, si vous
voulez que les textes entre <em>ne soient plus en italique, vous devrez
écrire :
Code : CSS
em
{
font-style: normal;
}
Code : CSS
h2
{
font-style: italic;
}
Mettre en gras
N'oubliez pas que ce n'est pas <strong>qui permet de mettre en gras
(son rôle est d'indiquer que le texte est important, donc le navigateur
l'affiche en gras). La mise en gras en CSS permet de mettre en gras par
exemple les titres, certains paragraphes entiers, etc.
La propriété CSS pour mettre en gras est font-weight, et prend les
valeurs suivantes :
bold : le texte sera en gras.
normal : le texte sera écrit normalement (par défaut).
Voici par exemple comment écrire les titres en gras :
Code: CSS
h1
{
font-weight: bold;
}
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
71
Code : CSS
h1
{
text-decoration: blink;
}.
souligne
{
text-decoration: underline;
}.
barre
{
text-decoration: line-through;
}.
ligne_dessus
{
text-decoration: overline;
}
4.2.3. L'alignement
Le langage CSS nous permet de faire tous les alignements que l'on connaît
: à gauche, centré, à droite et justifié.
On utilise la propriété text-align, et on indique l'alignement désiré :
left : le texte sera aligné à gauche (c'est le réglage par défaut).
center : le texte sera centré.
right : le texte sera aligné à droite.
justify : le texte sera "justifié".
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
72
Exemple :
Code : CSS
h1
{
text-align: center;
}
p{
text-align: justify;
}
.signature
{
text-align: right;
}
a. Couleur du texte
Nous connaissons déjà la propriété qui permet de modifier la couleur du
texte : il s'agit de color. Nous allons nous intéresser aux différentes façons
d'indiquer la couleur, car il y en a plusieurs.
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
73
Voici les 16 couleurs que vous pouvez utiliser en tapant simplement leur
nom :
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
74
La première que nous allons voir est la notation hexadécimale. Elle est
couramment utilisée sur le Web, mais il existe aussi une autre méthode
que nous verrons plus loin.
Un nom de couleur en hexadécimal, ça ressemble à ça : #FF5A28. Pour
faire simple, c'est une combinaison de lettres et de chiffres qui indiquent
une couleur.
Code: CSS
p{
color: #FFFFFF;
}
Notez qu'il existe une notation raccourcie : on peut écrire une couleur
avec seulement 3 caractères. Par exemple : #FA3est équivalent à écrire
#FFAA33.
La méthode RGB
Que signifie RGB ? En anglais, Rouge-Vert-Bleu s'écrit Red-Green-Blue, ce
qui s'abrège en "RGB". Comme pour la notation hexadécimale, on doit
définir une quantité de rouge, de vert et de bleu pour choisir une couleur.
C'est beaucoup plus pratique et qu'avec un logiciel de dessin tout simple
comme Paint, vous pouvez trouver la couleur que vous désirez. Voici la
marche à suivre :
1. Lancez le logiciel Paint depuis le menu Démarrer.
2. Rendez-vous dans la section Modifier les couleurs
3. Une fenêtre s'ouvre.
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
75
Dans la zone qui apparaît à droite, faites bouger les curseurs pour
sélectionner la couleur qui vous intéresse. Supposons que je sois pris
d'une envie folle d'écrire mes titres <h1>en rose barbie (supposons
seulement). Sélectionner la couleur dans la fenêtre, comme ceci :
Code: CSS
p
{
color: rgb(240,96,204);
}
Nota : Nous mettons à votre disposition un petit logiciel tout simple,
spécialisé dans le choix d'une couleur, réalisé par Benjamin Chartier. Nul
doute qu'il vous sera très utile pour vous aider à choisir vos couleurs. Ce
logiciel s'appelle "La boîte à couleurs", et il ressemble à ceci :
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
76
b. Couleur de fond
Pour indiquer une couleur de fond, on utilise la propriété CSS
background-color. Elle s'utilise de la même manière que la propriété
color, c'est-à-dire que vous pouvez taper le nom d'une couleur, l'écrire en
notation hexadécimale ou encore utiliser la méthode RGB.
Code : CSS
body /* On travaille sur la balise body, donc sur TOUTE la page */
{
background-color: black; /* Le fond de la page sera noir */
color: white; /* Le texte de la page sera blanc */
}
c. Images de fond
Dans les exemples qui suivent, je vais modifier l'image de fond de la page.
Cependant, tout comme pour la couleur de fond, n'oubliez pas que l'image
de fond ne s'applique pas forcément à la page entière. On peut aussi
mettre une image de fond aux titres, paragraphes, etc.
Appliquer une image de fond
La propriété permettant d'indiquer une image de fond est background-
image. Comme valeur, on doit lui donner url("nom_de_l_image.png"). Par
exemple:
Code : CSS
body
{
background-image: url("[Link]");
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
77
}
Options disp
Code: CSS
body
{
background-image: url("[Link]");
background-attachment: fixed; /* Le fond restera fixe */
}
background-repeat : répétition du fond
Exemple d'utilisation :
Code : CSS
body
{
background-image: url("[Link]");
background-repeat: no-repeat;
}
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
78
Code : CSS
background-position: 30px 50px;
... votre fond sera placé à 30 pixels de la gauche et à 50 pixels du haut. Il
est aussi possible d'utiliser ces valeurs en anglais :
top : en haut.
bottom : en bas.
left : à gauche.
center : centré.
right : à droite.
Il est possible de combiner ces mots. Par exemple, pour aligner une image
en haut à droite, vous taperez :
Code: CSS
Code: CSS
body
{
background-image: url("[Link]");
background-attachment: fixed; /* Le fond restera fixe */
background-repeat: no-repeat; /* Le fond ne sera pas répété*/
background-position: top right; /* Le fond sera placé en haut àdroite */
}
Combiner les propriétés
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
79
Code: CSS
body
{
background: url("[Link]") fixed no-repeat top right,
url("[Link]") fixed;
}
d. La transparence
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
80
Il faut donc choisir une valeur comprise entre 0 et 1. Par exemple avec
0.6, votre élément sera opaque à 60%... et on verra donc à travers !
Voici comment on peut l'utiliser :
Code : CSS
p{
opacity: 0.6;
}
Voici un exemple qui va nous permettre d'apprécier la transparence :
Code: CSS
body
{
background: url('[Link]');
}
P
{
background-color: black;
color: white;
opacity: 0.3;
}
Bordures standard
Le CSS vous offre un large choix de bordures pour décorer votre page. De
nombreuses propriétés CSS vous permettent de modifier l'apparence de
vos bordures : border-width, border-color, border-style...
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
81
Ainsi, pour avoir une bordure bleue en tirets de 3 pixels autour des mes
titres, je vais écrire :
Code: CSS
h1
{
border: 3px blue dashed;
}
Voici les différents styles de bordures en images pour vous aider à faire
votre choix :
En haut, à droite, à gauche, en bas...
Si vous voulez mettre des bordures différentes en fonction du côté (haut,
bas, gauche ou droite), vous pouvez le faire sans problème. Dans ce cas,
vous devrez utiliser ces 4 propriétés :
border-top : bordure en haut.
border-bottom : bordure en bas.
border-left : bordure à gauche.
border-right : bordure à droite.
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
82
Code: CSS
p{
border-left: 2px solid black;
border-right: 2px solid black;
}
Code : CSS
p{
border-radius: 10px;
}
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
83
Code : CSS
p{
box-shadow: 6px 6px 0px black;
}
Code: CSS
p{
box-shadow: 6px 6px 6px black inset;
}
text-shadow : l'ombre du texte
Avec text-shadow, vous pouvez ajouter une ombre directement sur les
lettres de votre texte ! Les valeurs fonctionnent exactement de la même
façon que box-shadow : décalage, adoucissement et couleur.
Code: CSS
p{
text-shadow: 2px 2px 4px black;
}
Au survol
Lors du clic
Lors du focus (élément sélectionné)
Lorsqu'un lien a été visité
Au survol
Nous allons ici découvrir plusieurs pseudo-formats CSS. Le premier
s'appelle : hover.
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
84
Comme tous les autres pseudo-formats que nous allons voir, c'est une
information que l'on rajoute après le nom de la balise (ou de la classe)
dans le CSS, comme ceci :
Code : CSS
a:hover
{
}
:hover signifie "dessus". a:hover signifie donc : "Quand la souris est sur le
lien" (quand on pointe dessus).
À partir de là, c'est à vous de définir l'apparence que doivent avoir les
liens lorsqu'on pointe dessus.
Voici un exemple de présentation des liens, mais n'hésitez pas à inventer
le vôtre :
Code : CSS
a /* Liens par défaut (non survolés) */
{
text-decoration: none;
color: red;
font-style: italic;
}
a:hover /* Apparence au survol des liens */
{
text-decoration: underline;
color: green;
}
Code : CSS
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
85
{
background-color: #FFCC66;
}
Code : CSS
a:focus /* Quand le visiteur sélectionne le lien */
{
background-color: #FFCC66;
}
Il est possible d'appliquer un style à un lien vers une page qui a déjà été
vue. Par défaut, le navigateur colore le lien en un violet assez laid (de mon
point de vue du moins !).
Vous pouvez changer cette apparence avec : visited (qui signifie "visité").
En pratique, on ne peut pas changer beaucoup de choses à part la couleur
sur les liens visités.
Code : CSS
a:visited /* Quand le visiteur a déjà vu la page concernée */
{
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
86
b. Adresses utiles
1. Spécifications XHTML du World Wide Web Consortium (W3C) :
[Link]
2. Spécifications CSS 2.1 du World Wide Web Consortium (W3C) :
[Link]
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web
87
Ir Nico KABAMBA Langage HTML et Styles CSS pour les Sites Web