Cours de Programmation Web I
Cours de Programmation Web I
Bac I
MIANGALA Anaclet
2024-2025
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 1
2025 : Version brouillon
Contenu du cours
Chapitre V : Applications
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 1
2025 : Version brouillon
0. Introduction
Le début de l’internet remonte à la fin des années 1960, et au début des années
1970. Alors qu’il était au stade de projet expérimental du ministère de la défense
américain nommé ARPANET (Advanced Research Project Agency Network), pour
tenter de mettre en place des réseaux capables de survivre à une description partielle,
due, selon le contexte géopolitique, à une attaque nucléaire.
Le terme le plus en vogue et que les médias en particulier ont adapté est celui
de « l’autoroute de l’information ». Il s’agit d’une métaphore destinée à représenter le
futur réseau mondial qui assurera la connexion, l’accès à l’information et des services
en ligne pour les utilisateurs du monde entier.
Bref, l’internet est une collection à échelle mondiale des réseaux informatiques
interconnectés.
Le Web, c’est ce que les anglophones appellent « World Wide Web (WWW) », et
les francophones « la toile mondiale ». C’est un moyen simple de cliquer pour
explorer le volume gigantesque des pages d’informations situées sur internet.
Il est aussi une des possibilités offerte le réseau internet, de naviguer entre les
documents reliés par des liens hypertextes. Sur le web, les informations se présentent
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 2
2025 : Version brouillon
dans des pages web que celles-ci affichent sous-forme d’une suite de textes, de
graphiques, d’images, de sons et de vidéos.
Une page web peut contenir outre, des liens hypertextes vers d’autres pages
web ; ce qui permet aux utilisateurs de naviguer parmi les informations d’une
manière résolument non séquentielle.
Le principe de web repose sur l’utilisation d’hyperliens pour naviguer entre les
documents grâce à un logiciel appelé « Navigateur ou Brouser ».
Une page web est un simple fichier texte, écrit dans un langage de description
(HTML), permettant de décrire la mise en page des documents et d’inclure des
éléments graphiques ou bien des liens vers d’autres documents à l’aide des balises.
Un site web, aussi appelé « site internet » est un ensemble des fichiers html
stockés sur un ordinateur connecté en permanence à internet et hébergeant les pages
web (serveur web).
Un site web est habituellement architecturé autour d’une page centrale appelée
« Page d’accueil » et proposant des liens vers un ensemble d’autres pages hébergées
sur le même serveur ; et parfois des liens externes ; c’est-à-dire des pages hébergées
par d’autres serveurs.
La création d’un site web est un projet à parts entières comprenant trois phases :
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 3
2025 : Version brouillon
Chapitre I : Développement web
Un développeur web ou programmeur web est une personne qui prend un projet
web, qui a été pensé et réfléchi par un client ou une équipe de conception, et le
transforme en site web. Ils le font en écrivant des lignes de code compliqués. Pour les
écrire, ils utilisent différents langages avec une spécificité et une utilité pour chacun
d’entre eux.
Les développeurs web ont un travail assez difficile, car ils doivent prendre une
langue que nous comprenons, comme l’anglais, et la traduire dans une langue qu’un
ordinateur comprend, comme python ou html.
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 4
2025 : Version brouillon
1.2. Types de développement web
Le terme front-end et back-end sont utilisés dans le métier des programmeurs pour
décrire les couches d’un site web.
a) Les développeurs front-end : ils s’occupent de la partie d’un site web que les gens
voient et avec laquelle ils interagissent.
c) Java Script : Va quant à lui, rendre votre site web réactif, interactif et attrayant
pour vos visiteurs. Un développeur « Java Script » va travailler sur des extraits
des codes Java Script qui, souvent seront intégrés aux codes sources html d’un
site web. Bien qu’il ait toujours été un langage front-end, Java Script devient
également de plus en plus populaire pour le développement principal.
Le langage des applications web est sans conteste le « Java Script ». C’est un
langage assez controversé mais qui a tout de même des avantages indéniables,
surtout depuis les récentes normes (ES2015<) : flexibilité, expressivité, performance,
intégration dans le navigateur,<
Cependant, Java Script permet facilement de faire des erreurs qui se produiront à
l’exécution finale de l’application, les fameuses rutines errors. Pour éviter ces erreurs,
on utilise souvent des outils comme des analyseurs statiques, des debugger ou tests
unitaires. Une autre solution consiste à utiliser des Framework (Angular, React,<),
des bibliothèques (imitables, Redux,<) voire des langages dérivés (TypeScript,<)
qui réduisent les sources d’erreurs possibles.
En fait, une bonne partie des solutions proposées pour rendre le développement
en Java Script plus robuste existe déjà naturellement dans des langages fonctionnels
comme Haskell : immuabilité, typage statique fort,<
Certains développeurs se sont donc inspirés des langages fonctionnels pour proposer
des technologies web front-end garantissant l’absence d’erreurs au rutine.
Cela signifie qu’ils doivent créer les codes et les programmes qui allument le serveur
du site web, les bases de données et toutes les applications que contient le site
internet. Ils utilisent un large éventail des langages différents du coté serveur afin de
construire des programmes compliqués.
Parmi les langages les plus utilisés, citons : PHP, Python, Java et Ruby, tandis que le
SQL est couramment utilisé pour gérer et analyser les données dans les bases de
données des sites web.
La vitesse d’un site web étant une considération majeure lorsqu’il s’agit
d’optimisation pour le moteur de recherche (SEO), elle est un facteur important lors
du développement du back-end.
c) Java : Est un vieux langage qui est populaire pour toute une série d’utilisation des
programmations différentes. Du point de vue du développement web, java est
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 7
2025 : Version brouillon
utilisé pour créer les applications web réactives et évolutives qui sont utilisées
pour la conception rapide des sites web.
d) Ruby : est le plus utilisé pour créer les applications web. Cependant, c’est un
langage à usage général similaire à python, il a donc de nombreuses autres
applications comme l’analyse de données, le prototypage et la preuve des
concepts. Le langage Ruby fera gagner du temps à des efforts, ce qui accélèrera
l’achèvement du projet sans sacrifier ses fonctionnalités.
Le web design et le développement web sont deux choses différentes, mais bien
sûr, cela dépend de la façon dont vous définissez « design-développement ». Il faut
des connaissances différentes pour comprendre ce qu’est un concepteur de site web
et ce qu’est un développeur de site web. Ces professions sont différentes et elles ont
les rôles suivants :
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 8
2025 : Version brouillon
Chapitre II : Description d’une page web
Tout le monde a déjà entendu parler de HTML. Tous les internautes ont déjà vu
cette extension dans la barre d’adresses de leur navigateur. Pourtant, très peu savent
ce qui se cache réellement derrière ces quatre lettres mystérieuses qui leur permettent
d’accéder à leurs sites et services favoris.
En tant que concepteur, designer ou intégrateur web, on croit le maîtriser puis l’on
découvre de nouvelles applications chaque jour, de nouvelles subtilités et astuces qui
en font un sujet passionnant, voire monstrueux lorsqu’il s’agit de contenter tous les
navigateurs sachant l’interpréter avec plus ou moins de virtuosité.
2.1. Définitions
a) HTML : est un langage simple utilisé pour créer des documents hypertextes pour
le web.
Les balises permettent d’indiquer la façon dont doit être présenté le document et le
lien qu’il établit avec d’autres documents. Ces balises seront bien sûr invisibles au
moment de l’affichage du document dans le navigateur. Les balises sont limités par
les signes < et >.
Conformément à son objectif de produire une révision de html à peu près chaque
année, le W3C a récemment publié la spécification de html 5.2. Il s’agit de la
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 9
2025 : Version brouillon
deuxième révision de html 5, après la recommandation html 5.1. « au cours de la
dernière année, il y a eu un nettoyage important de la spécification », explique
l’organisme de standardisation du web sur son site officiel. « Nous avons introduit
des nouvelles fonctionnalités et supprimer des éléments qui ne font plus partie de la
plate-forme web moderne ou qui n’ont jamais atteint une interopérabilité étendue.
Comme toujours, nous avons également corrigé des bogues dans la spécification
pour nous assurer qu’elles s’adaptent à la réalité changeante du web ».
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 10
2025 : Version brouillon
sécurité potentielles, réduit souvent le coût du développement et permet de
mettre davantage l’accent sur les services que les utilisateurs souhaitent créer
plutôt que sur la plateforme sur laquelle ils se trouvent.
Au nombre de fonctionnalités supprimées, on retiendra aussi les éléments
keygen, menus et menuItem, l’attribut « inputMode » pour les éléments
« Inputs » textuels et les attributs dropZone, mais aussi la méthode
« showmodaldialog ».
2.3.1. Commentaire :
Nom Description
1. < !--<--->Pour un commentaire
2. < !DOCTYP L’inclusion du DOCTYPE
E> dans un document html
assure que le navigateur
interprétera la version
html ainsi déclarée. En
html 5 le DOCTYPE à
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 12
2025 : Version brouillon
déclarer est : < !DOCTYPE
html>.
3. <a> Utilisée pour les Attributs spécifiques
hyperliens. L’attribut name
n’existe plus pour les liens. href
target
rel
media
hreflang
type
4. <abbr> Pour une abréviation. Son
attribut « title » ne doit être
utilisé que pour l’extension
de l’abréviation et rien
d’autre.
Exemple une nouvelle version d'<abbr title="Hypertext Marckup Language">
Html</abbr> une sortie de ...
5. <acronym> Non utilisé
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 16
2025 : Version brouillon
recommande d’utiliser une
classe avec le nom du
langage informatique cité
dans cette balise. On peut
ajouter une classe pour
décrire le type de langage
utilisé dans la balise.
Exemple <code class="langage-javascript">teardown:function(){
if([Link]){
// Actions
}
}
</code>
28. <col> Utilisée pour créer des Attributs spécifiques
colonnes dans un tableau.
Span
29. <colgroup> Utilisée pour créer des Attribut spécifique
groupes des colonnes dans
span
un tableau.
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 17
2025 : Version brouillon
pour en garder la trace, on balise <s>
l’utilisera en CSS. On peut qui
utiliser cette balise indique
conjointement avec la qu’un texte
balise <ins> pour indiquer n’est pas
le nouveau texte qui est à correct ou
prendre en compte. non
pertinent.
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 18
2025 : Version brouillon
36. <div> Balise sans valeur
sémantique réelle, elle sert
de conteneur pour une
mise en forme en CSS.
Cette balise doit être
utilisée en dernier recours,
lorsqu’une autre balise ne
peut convenir.
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 19
2025 : Version brouillon
42. <figcaption Utilisée dans le conteneur
> <figure>, avant ou après le
contenu, cette balise
permet d’écrire une
légende ou une
description.
Exemple <figure><figcaption>Jeanne, Photo de profil</figcaption><img
src="E:\MES PHOTOS\L2 COLLATION\[Link]" width= "250"
height= "420"/></figure>
43. <figure> Utilisée pour regrouper un Cette
ou plusieurs médias balise ne
(illustrations, diagrammes, doit être
exemples des codes, utilisée dès
photos, <) attachés au qu’il y a
document sans pour une image
autant ensuivre le flux. Les dans un
images s’y trouvant n’ont article, on
pas obligation d’être peut aussi
insérées dans une balise la
<p> et dans le cas d’une confondre
liste d’images, on peut avec la
omettre les listes à puces. balise
On utilisera la balise <aside>.
<figcaption> pour décrire
les médias utilisés.
Exemple <figure><p>Photo de profil de Marie-Jeanne</p><img src
="E:\MES PHOTOS\L2 COLLATION\[Link]" width= "250"
height= "420"/></figure>
44. <font> Non utilisé
45. <footer> Regroupe des informations
de bas de page dans une
section ou un article. Cette
balise permet d’ajouter des
liens de navigation sans
utilisation de la balise
<nav>.
Exemple <section><article><p>Voici un article
....</p></article><footer><p>Réalisateur du site
web</p></footer></section>
46. <form> Pour un formulaire. Attributs spécifiques
accept-
charset
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 20
2025 : Version brouillon
action
autocom
plete
enctype
method
name
novalidate
target
47. <frame> Non utilisé
48. <frameset> Non utilisée
49. <h1> à <h6> Utilisées pour la
hiérarchisation des titres
50. <head> Pour les informations
d’entête du document hmtl
51. <header> Pour l’entête d’une section
et/ou d’une page, cette
balise est utile pour une
introduction et/ou des
éléments de navigation.
Elle peut être utilisée dans
la balise <section> et dans
la balise <article>.
Exemples <header><h1>Procès-verbal de délibération</h1><p>Le PV de
délibération sera rendu publique par le comité de
gestion.</p></header>
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 21
2025 : Version brouillon
<b>,<cite>,<em>,<q>,<small
> ou <strong> peuvent être
utilisées.
55. <iframe> Pour créer une sous- Attributs spécifiques
fenêtre.
src
srcdoc
name
sand
box
seam
less
width
height
56. <img> Pour déclarer une image Attributs spécifiques
alt
src
usemap
isemap
width
height
57. <input> Pour un champ de texte Attributs spécifiques
accept
alt
autocompl
ete
autofocus
checked
dirname
disabled
form
formaction
formenctype
formmeth
od
formnoval
idate
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 22
2025 : Version brouillon
formtarget
height
list
max
maxlength
min
multiple
name
patern
placehold
er
readonly
required
size
src
step
type
value
width
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 23
2025 : Version brouillon
titre d’une commande. form
for
62. <legend> Titre du fieldset auquel il
se rapporte.
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 24
2025 : Version brouillon
<main>
<article>
<section>...</section>
<section>...</section>
</article>
</main>
<footer>...</footer>
</body>
</html>
66. <map> Utilisée pour créer une
carte d’images avec des
zones réactives. L’attribut
« name » est
obligatoirement requis.
67. <mark> Pour marquer du texte, par
exemple surligner un
résultat de recherche. On
utilisera cette balise en
CSS.
68. <menu> Pour une liste des Confusion Attributs spécifiques
commandes. possible
avec la type
balise label
<nav>
69. <meta> Permet d’ajouter des métas Attributs spécifiques
à la page html.
name
http-
equiv
content
charset
70. <meter> Pour les mesures. Attributs spécifiques
value
min
max
low
high
optimum
form
71. <nav> Pour regrouper des liens
qu’il soit internes à la page
ou pour des pages liés. Il
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 25
2025 : Version brouillon
est recommandé, mais non
obligatoire d’utiliser les
listes à puces pour lister les
liens.
Exemple <nav>
<a href="[Link]">Accueil</a>
<a href="[Link]">Les cours prevus</a>
<a href="[Link]">Notes importantes</a>
<a href="[Link]">Nous contacter</a>
</nav>
Ou :
<nav>
<ul>
<li><a href="[Link]">Accueil</a></li>
<li><a href="[Link]">Les cours prevus</a></li>
<li><a href="[Link]">Notes importantes</a></li>
<li><a href="[Link]">Nous contacter</a></li>
</ul>
</nav>
72. <noframes> Non utilisée
73. <noscript> Utilisée pour indiquer un
message dans le cas où
Java Script serait désactivé.
74. <object> Pour déclarer un objet. Attributs spécifiques
data
type
name
usemap
form
width
height
75. <ol> Utilisée pour les listes Attributs spécifiques
ordonnées.
reversed
start
type
76. Optgroup Pour grouper des Attributs spécifiques
informations dans une liste
déroulante. disabled
label
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 26
2025 : Version brouillon
77. <option> Pour déclarer un item dans Attributs spécifiques
une liste déroulante. Peut
être utilisée comme disabled
« commands ». label
selected
value
name
value
81. <pre> Permet d’écrire un texte
pré-formaté. L’utilisation
de la balise <p> n’est pas
obligatoire. Peut être lui-
même le conteneur de la
balise <code>
Exemple <p>Le texte dans une balise <pre> est affiché avec une
largeur fixe. Les sauts des lignes et les espaces sont
respectés. Attention à ne pas mettre l'attribut "white-
space:normal" dans le CSS, sinon, les sauts des lignes ne
seront pas actifs. </pre></p>
82. <progess> Pour une barre de Attributs spécifiques
progression
value
max
form
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 28
2025 : Version brouillon
90. <section> Utilisée pour regrouper
des éléments différents,
mais partageant la même.
Cette balise est la plus
souvent utilisée avec un
<header>.
91. <select> Pour une liste déroulante. Attributs spécifiques
autofoc
us
disabled
form
multiple
name
required
size
92. <small> La balise <small> est Elle a été
utilisée comme contenu redéfinie,
relatif mais non essentiel. elle ne sert
On l’utilisera pour déclarer plus à
un copyright de minimiser
disclaimers, de mise en un texte.
garde, <
93. <source> Utilisée dans les balises Attributs spécifiques
<video> et <audio> pour
indiquer l’url et le type de src Définit l’URL, où le
média. contenu vidéo est
hébergé
type Définit le format de
fichier
media
94. <span> Utilisée pour mettre en
style une portion de texte
qui se différencie des
autres. Cette balise ne doit
pas être utilisée si une
autre balise de formatage
de texte convient mieux.
95. <strike Non utilisée, la balise <dl>
remplace cette balise.
96. <strong> Utilisée dans un
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 29
2025 : Version brouillon
paragraphe pour mettre un
texte en gras.
97. <style> Permet de définir un style L’attribut
dans le document html. title a une
valeur
sémantique
différente
pour cette
balise.
98. <sub> Déclare un indice, petit
caractère placé en bas et à
droite d’autre caractère.
99. <summary> Généralement utilisée à
l’intérieur du conteneur
<detail>, elle permet de
décrire le sommaire, la
légende ou le titre d’un
élément.
100. <sup> Permet de déclarer un
exposant, petit caractère
placé en haut et à droite
d’un autre caractère.
101. <table> Pour un tableau. L’attribut Attributs spécifiques
« summary
» utilisé en border
accessibilité
n’est plus
valide et ne
doit pas être
utilisé. La
balise
<caption>
devient
indispensab
le.
102. <tbody> Utilisée pour le corps du
tableau
103. <td> Pour déclarer une cellule
dans un tableau
104. <textarea> Pour un champ de saisie Attributs spécifiques
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 30
2025 : Version brouillon
autofoc
us
cols
dirname
disabled
form
maxleng
th
name
placehol
der
readonl
y
required
rows
wrap
105. <tfoot> Pour les pieds de page
d’un tableau.
106. <th> Pour déclarer une cellule
dans l’entête d’un tableau.
107. <thead> Utilisée pour l’entête d’un
tableau.
108. <time> Pour déclarer une date ou Attributs spécifiques
une heure.
datetime
pubdate
109. <title> Pour le titre de la page
html en cours de lecture
110. <tr> Pour déclarer un champ
dans un tableau.
111. <track> Barre pour indiquer une Attributs spécifiques
portion de temps.
kind
src
srclang
label
default
112. <tt> Non utilisée
113. <u> Non utilisée, cette balise
créait une confusion avec
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 31
2025 : Version brouillon
la balise <a> au niveau de
style.
114. <ul> Pour créer une liste à puce.
115. <var> Pour déclarer une variable
116. <video> Pour lire une vidéo. Un point Attributs spécifiques
important
est que src Définit l’URL, où le
l’élément contenu vidéo est
<video> est hébergé
pris en poster Sélectionne une
charge par image à afficher
tous les comme affiche pour
navigateurs la vidéo jusqu’à ce
modernes. que la lecture
Par contre, commence
la balise preload Indique que la
<video> vidéo doit être
supporte 3 chargée à
types de l’ouverture de la
fichiers : page
MP4 autopla Spécifie que la vidéo
(video/mp4) y commencera à jouer
, WebM dès qu’elle sera
(video/web prête
m) et Ogg mediagr
(video/ogg) oup
loop Spécifie que la vidéo
va recommencer à
chaque fois qu’elle
est terminée
muted Permet de couper le
son de la vidéo
controls Doit être spécifié ou
aucun élément
Visual n’apparaitra
pour contrôler la
lecture du contenu
width Définit la largeur de
l’affichage
height Définit la hauteur
de l’affichage
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 32
2025 : Version brouillon
Exemple <video src="E:\VIDEOS\AUTRES VIDEOS\MES VIDEOS\M4V00029.MP4"
type="video/mp4" width="400" height="400" controls
poster="[Link]">
</video>
Ou:
<video width="400" height="400" controls autoplay>
<source src="E:\VIDEOS\AUTRES VIDEOS\MES
VIDEOS\M4V00029.MP4" type="video/mp4">
</video>
117. <wbr> Balise non fermante à
utiliser à l’intérieur d’un
mot long pour forcer un
retour à la ligne.
118. <xmp> Non utilisée.
Pour créer un document XHTML, il suffit de respecter les règles de XML avec
quelques additions :
Toutes les balises XHTML peuvent-être employées ; mais leurs noms doivent-
être saisis en minuscule ;
Les balises XHTML fonctionnent par paire (par deux) en minuscule, afin d’agir
sur les éléments qu’elles encadrent. La première est appelée « balise
d’ouverture » et la seconde « balise de fermeture ». La balise de fermeture est
précédée du caractère slash (/) ;
Toutes les balises d’éléments vides doivent se terminer par le caractère slash (/) ;
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 33
2025 : Version brouillon
Certaines balises peuvent admettre des attributs définis chacun par un nom et
pouvant avoir une valeur. L’attribut étant un élément présent dans la balise
courante et permettant de définir des propriétés supplémentaires de la balise.
Les balises suivantes s’appliquent aux styles des caractères des textes pour le
contenu d’une page (cette liste n’est pas exhaustive) :
Pour présenter une certaine arborescence dans un sommaire par exemple, il est
souvent pratique d’utiliser une liste. On peut ainsi faire la différence entre les listes
numérotées et les listes à puces ;
La balise <ul> avec son attribut type pouvant prendre les valeurs disc, circle,
square, permet de créer une liste à puces. Chaque élément de la liste est placé dans la
balise <li>
La balise <ol> avec son attribut type pouvant prendre les valeurs 1,2 ou a,b ou
A,B ou i, ii ou I, II, < permet de créer une liste numérotée (avec des chiffres ou des
lettres). Chaque élément de la liste est placé dans la balise <li>. Par exemple, le code
suivant crée une liste numérotée que voici :
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 34
2025 : Version brouillon
2.4.4. Les titres
La balise <h1> met en forme le titre de niveau 1 : grande taille, gras, espaces au-dessus
et en dessous.
Les balises <h2>correspondent à des sous-titres : taille un peu moins grande, un peu
moins d’espacement autour.
En XHTML, 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.
Le tableau se construit ligne par ligne, avec les balises <tr> ... <tr>comme table
row en anglais, c’est-à-dire rangée du tableau.
Les cellules du tableau sont définies à l’intérieur de chaque ligne, grâce aux
balises <td> ... </td> ou <th> ... </th>comme table data, soit donnée du tableau.
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 35
2025 : Version brouillon
Lorsqu’il s’agit d’une cellule de titre, il est possible d’utiliser à la place les
balises <th> ...</th>comme table header ou en-tête du tableau : le texte est alors mis en
gras et centré.
En XHTML, 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.
Exemple :
NB: Si l’attribut src ne contient qu’un nom de fichier, cela signifie que ce fichier
image se trouve dans le même dossier que la page web qui l’utilise. Si cette image se
trouvait dans le sous-dossier Images_site, il est nécééssaire d’indiquer l’emplacement :
Les balilses suivantes permettent de gérer les fichiers multimédia (les audios et les
vidéos) :
Les liens permettent de naviguer entre les pages web (ou de naviguer dans une
page). Pour changer de page, il faut cliquer sur un lien, le navigateur chargera alors
la nouvelle page.
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 36
2025 : Version brouillon
Il existe trois types de liens :
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="ici", ce qui
permet de l’atteindre directement grâce au lien <a href="#ici" ...>...</a>.
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 37
2025 : Version brouillon
N.B. : L’attribut bgcolor associé à la balise body permet de définir la couleur de
l’arrière-plan d’une page : <body bgcolor= « nom de la couleur »>
Parmi les exemples d’iframes, on peut citer les vidéos YouTube, les cartes de
Google Maps, les plug-ins des réseaux sociaux ou les applications spécifiques, mais
aussi des documents HTML peuvent également être intégrés à l’aide d’iframes.
Les inlineframes sont créés dans le code html à l’aide de la balise <iframe> :
<iframe...>...</iframe>
2.5.2. Attributs
Il est nécessaire de renseigner certains de ces attributs (src, width, height, name,
sandbox,…) pour remplir correctement la balise.
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 38
2025 : Version brouillon
- allow : l’attribut « allow » permet de définir une politique de fonctionnalité pout
l’<iframe>. Cette politique définit les fonctionnalités disponibles au sein de
l’<iframe> selon l’origine de la requête (l’accès au micro, à la caméra, aux
informations de batterie, etc.).
- allowfullscreen : Cet attribut, lorsqu’il vaut « true », indique que l’iframe intégré
peut être passé en plein écran via la méthode « [Link]() ». Cet
attribut est considéré comme historique et a été redéfini avec
allow= « fullscreen ».
- allowpaymentrequest : cet attribut, lorsqu’il vaut « true », permet à l’iframe
intégrée d’appeler l’API « Payment Request. Il est considéré comme historique et
a été redéfini avec (allow= « payment »).
- csp : cet attribut définit la politique de sécurité du contenu que le document
intégré doit respecter.
- height : cet attribut définit la hauteur du cadre en pixels. La valeur par défaut est
150.
- loading : cet attribut indique la façon dont le navigateur devrait charger l’iframe :
eager : l’iframe doit être chargée immédiatement même si elle n’est pas
dans la zone d’affichage (viewport) visible. C’est la valeur par defaut.
lazy : le chargement de l’iframe est retardé jusqu’à ce que celle-ci
atteigne une distance donnée du viewport, définie par le navigateur.
- name : un nom pour le contexte de navigation (iframe). Ce nom peut être utilisé
comme la valeur de l’attribut target (cible) d’un élément <a> ou <form> ou
comme valeur de l’attribut formtarget d’un élément <input>.
- referrerpolicy : une chaine de caractères qui indique le référent (referrer) à utiliser
lors de la récupération de la source :
no-referrer : signifie que l’entête referrer ne sera pas envoyé.
no-referrer-when-downgrade : signifie qu’aucun entête Referrer ne sera
envoyé lorsqu’on navigue vers une origine qui n’utilise pas HTTPS.
C’est le comportement par défaut de l’agent utilisateur.
origin : signifie que le référent sera l’origine de la page (c’est-à-dire son
schéma, son hôte et le port utilisé).
origin-when-cross-origin : signifie que les navigations vers d’autres
origines seront limitées aux schémas, hôtes et ports. Les navigations sur
la même origine incluront le chemin explicite du référent.
same-origin : un référent sera envoyé pour les mêmes origines, mais les
requêtes multi-origines ne contiendront pas d’informations des
référents.
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 39
2025 : Version brouillon
strict-origin : celle l’origine du document est envoyée comme référent
lorsque le protocole de sécurité est le même (HTTPS-HTTPS). L’origine
n’est pas envoyée lorsque la destination est moins sécurisée ( HTTPS-
HTTP).
strict-origin-when-cross-origin : l’URL complète est envoyée pour des
requêtes de même origine, celle l’origine est envoyée lorsque le
protocole de sécurité est le même (HTTPS-HTTPS) et aucun entête n’est
envoyé pour une destination moins sécurisée (HTTPS-HTTP).
unsafe-url : signifie que le référent inclura l’origine et le chemin (mais
pas les fragments, le mot de passe ou le nom utilisateur). Cette valeur
n’est pas sûr car elle peut entrainer des fuites d’origines ou de chemins
provenant des ressources sécurisées avec TLS vers des origines non
sécurisées.
- sandbox: cet attribut permet d’appliquer des restrictions sur le contenu qui peut
apparaitre dans l’iframe. Si cet attribut vaut la chaine de caractère vide, toutes les
restrictions sont appliquées, sinon, on peut utiliser une liste de mots clé séparés
par des espaces pour définir des restrictions précises. Les mots clé qui peuvent
être utilisés sont :
allow-downloads-without-user-activation : permet aux téléchargements
d’avoir lieu sans un signe de l’utilisateur.
allow-downloads : permet aux téléchargements d’avoir lieu après une
action de la part de l’utilisateur.
allow-forms : le contexte de navigation intégré peut envoyer des
formulaires. Si ce mot clé n’est pas utilisé, cette opération n’est pas
autorisée.
allow-modals : le contexte de navigation peut ouvrir des fenêtres
modales.
allow-orientation-lock : le contexte de navigation peut désactiver les
verrouillages de l’orientation de l’écran.
allow-pointer-lock : le contexte de navigation peut utiliser l’API pointer
lock.
allow-popups : le contexte de navigation peut déclencher des fenêtres
contextuelles. Si ce mot clé n’est pas utilisé, la fonctionnalité échouera
sans message d’erreur.
allow-popups-to-escape-sandbox : ce mot clé permet à un document isolé
dans un bac à sable (sandboxed) d’ouvrir des nouvelles fenêtres sans
avoir à forcer la mise en bac à sable pour ces fenêtres. Cela permettra
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 40
2025 : Version brouillon
par exemple à une publicité tiers d’être correctement mise dans un bac à
sable sans appliquer les mêmes restrictions sur la page initiale.
allow-presentation : ce mot clé permet à une iframe de démarrer une
session de présentation (en US).
allow-same-origin : ce mot clé permet au document isolé de supporter les
tests de same-origin-policy en désactivant le remplacement de l’origine
de l’iframe par une origine unique.
allow-script : le contexte de navigation peut exécuter des scripts (mais ne
peut pas créer des fenêtres contextuelles). Si ce mot clé n’est pas utilisé,
cette opération n’est pas autorisée.
allow-storage-access-by-user-activation: ce mot clé permet au contexte de
navigation embarqué de demander l’accès aux fonctionnalités de
stockage du document parent.
allow-top-navigation : le contexte de navigation peut charger du contenu
depuis le contexte de navigation de plus haut niveau. Si ce mot clé est
absent, cette opération n’est pas autorisée.
allow-top-navigation-by-user-activation : le contexte de navigation peut
charger du contenu depuis le contexte de haut niveau uniquement si
l’action provident de l’utilisateur. Si ce mot est absent, cette opération
n’est pas autorisée. Lorsque le document intégrée possède la même
origine que la page principale, il est fortement déconseillé d’employer
« allow-script » et « allow-same-origin » simultanement, car cela permet
de retirer l’attribut sandbox via un programme, c’est donc aussi sûr que
de ne pas utiliser l’attribut sandbox. La mise en bac à sable (sandboxing)
est d’une aide minime si un attaquant peut faire en sorte qu’un contenu
potentiellement hostile soit affiché dans le navigateur de l’utilisateur en
dehors d’une iframe sous sandbox. Aussi, il est recommandé de diffuser
le contenu depuis un domaine dédié séparé, afin de limiter des
éventuels dommages. L’attribut sandbox n’est pas pris en charge par
« Internet Explorer 9 » et les versions inférieures.
- src: l’URL de la page qu’on souhaite intégrée.
- srcdoc: le contenu de la page qu’on souhaite intégré dans le contexte de
navigation et qui surcharge celui indiqué par src.
- width: cet attribut indique la largeur de l’iframe en pixels. Par défaut, width
vaut 300.
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 41
2025 : Version brouillon
Outre ces attributs toujours d’actualité, il existe en pratique d’autres attributs qui
ne sont plus supportés depuis html5. Pour ces fonctionnalités, il est nécessaire
d’utiliser des solutions CSS. Il s’agit de :
Le contenu de l’iframe ainsi qu’une partie de la mise en page peuvent donc être
paramétrés exclusivement à l’aide de ces attributs. Les parenthèses de la balise ne
comportent en principe aucun contenu. En pratique, cet emplacement est utilisé pour
indiquer un texte alternatif. Ce contenu est lu lorsqu’un navigateur est dans
l’incapacité d’afficher une iframe. Toutefois, cela ne devrait plus se produire de nos
jours. Cette technologie est en effet supportée par les dernières versions de tous les
navigateurs courants.
2.5.4. Exemple :
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 42
2025 : Version brouillon
Chapitre III : Les formulaires
Avec les formulaires, Html vous ouvre les portes de l'interactivité et vous permet
de recevoir des informations provenant directement de votre lecteur et
éventuellement de lui répondre directement.
Les balises <form></form> prennent des attributs qui déterminent la façon dont le
formulaire sera traité du côté du serveur (par exemple en PHP).
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 43
2025 : Version brouillon
Un formulaire se déclare, pour ce faire, de la manière suivante :
<form …>
</form>
L’élément html <input> est utilisé pour créer un contrôle interactif dans un
formulaire web. <input /> est le plus utilisé. Les saisies possibles et le comportement
de l’élément <input> dépend fortement de la valeur indiquée dans son attribut
« type ».
Définit un champ texte sur une ligne. Les sauts de ligne sont automatiquement
retirés.
La zone de texte est l'élément le plus commun. On s'en sert pour recueillir une entrée
au clavier de la part de l’internaute.
<form>
<input type="text" name="Prenom" size="25" maxlength="25"
value="Votre nom SVP!">
</form>
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 44
2025 : Version brouillon
Commentaire:
La zone de mot de passe constitue une variante de la boîte texte. Toutefois, elle
sert principalement à recueillir un mot de passe de la part de l'utilisateur. Les
caractères tapés sont représentés par des astérisques.
<form>
<input type="password" name="motdepasse" size="20"
maxlength="20"/>
</form>
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 45
2025 : Version brouillon
<input type="button" name="Bouton" value="Bouton"/>
3.1.4. type=”radio”
Définit un bouton radio. Les boutons radio présentent une liste de choix à l'utilisateur. Ce
dernier ne peut effectuer qu'un seul choix dans la liste. Par exemple, le groupe « Sexe » :
<form...>
<input type="radio" name="Masculin" value="M"
checked/>Masculin<br/>
</form>
<form ...>
<tr><td>Vos préférences</td><td>
<input type="checkbox" name="option1" value="Du riz"
checked/>Du riz<br/>
<input type="checkbox" name=" option2" value="Du riz +
haricot" />Du riz + haricot<br/>
<input type="checkbox" name=" option3" value="Foufou +
poissons" />Foufou + poissons<br/>
<input type="checkbox" name=" option4" value="Pondu + riz"
/>Pondu + riz<br/>
</from>
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 47
2025 : Version brouillon
<form action="#" method="POST">
<input type="color" name="couleur" value="Boite de couleurs"/>
</form>
3.1.7. type=”date”
Définit un contrôle permettant de sélectionner une date composée d’un jour, d’un
mois et d’une année.
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 48
2025 : Version brouillon
<form action="#" method="POST">
<input type="date" name="dt""/>
</form>
3.1.8. type=”datetime-local”
Définit un contrôle permettant de sélectionner une date et une heure sans fuseau
horaire.
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 49
2025 : Version brouillon
<form action="#" method="POST">
<input type="datetime-local" name="dtlocal" value="Date et
temps"/>
</form>
3.1.9. type=”email”
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 50
2025 : Version brouillon
<form action="#" method="POST">
<input type="email" name="email" multiple
placeholder="Complétez votre e-mail SVP"/>
</form>
3.1.10. type=”file”
3.1.11. type=”hidden”
Définit un contrôle qui ne s’affiche pas, mais dont la valeur est envoyé au serveur.
<form …>
<input type="hidden" name="hid" value="vide"/>
</form>
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 51
2025 : Version brouillon
3.1.12. type=”month”
Définit un contrôle qui permet de sélectionner un mois et une année sans fuseau
horaire.
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 52
2025 : Version brouillon
3.1.14. type=”range”
Définit un contrôle qui permet de saisir un nombre dont la valeur exacte n’est pas
importante.
Définit un champ texte sur une ligne pour des termes de recherche. Les sauts de
ligne sont automatiquement retirés.
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 53
2025 : Version brouillon
3.1.16. type= "tel"
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 54
2025 : Version brouillon
<form action="#" method="POST">
<input type="time" name="temps"/>
</form>
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 56
2025 : Version brouillon
<form…>
<input type="submit" value="Soumettre" name=”Soumettre”/>
<input type="reset" value="Recommencer" name=”Recommencer”/>
</form>
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 58
2025 : Version brouillon
- pattern : Pour aller plus loin dans l'auto-vérification des formulaires par le
navigateur, il est possible de vérifier que le contenu des informations
données par l’utilisateur correspond à un motif prédéfini. Cette auto-
vérification utilise l'attribut pattern qui doit contenir une expression
régulière à ce sujet. Par exemple, pattern="[A-Za-z0-9]". Expression
régulière du format du champ. Les autres cas d’auto vérification sont
donnés dans le tableau ci-dessous :
- min, max, step : concerne number, range, date, datetime, datetime-local, month,
week, time.
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 59
2025 : Version brouillon
3.2. Les listes
On distingue ici deux types de listes : une liste dans laquelle l’internaute ne peut
effectuer qu’un seul choix (liste déroulante) et une liste dans laquelle l’utilisateur
peut effectuer plus d’un choix.
Une liste déroulante permet à l'utilisateur de faire un choix parmi une liste d'items.
Considérons un candidat qui veut prendre inscription dans l’une des facultés de l’université,
donc, liste des facultés :
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 60
2025 : Version brouillon
<form action="#" method="POST">
<select name="Faculte">
<option value="Sciences informatiques">Sciences
informatiques</option>
<option value="Sciences économiques">Sciences
économiques</option>
<option value="Droit">Droit</option>
<option value="Santé publique">Santé
publique</option>
</select>
</form>
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 61
2025 : Version brouillon
<form action="#" method="POST">
<input type="text" list="faculte">
<datalist id="faculte">
<option value="Sciences informatiques">
<option value="Sciences économiques">
<option value="Droit">
<option value="Santé publique">
</datalist>
</form>
<form…>
<select name="Media" multiple>
<option value="[Link]">[Link]</option>
<option value="[Link]">[Link]</option>
<option value="[Link]">[Link]</option>
<option value="[Link]">[Link]</option>
<option value="[Link]">[Link]</option>
<option value="[Link]">[Link]</option>
</from>
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 62
2025 : Version brouillon
Par exemple la figure ci-dessous :
<!--Groupe Identité-->
<fieldset>
<legend>Identité</legend>
<table border="0">
<tr><td><label for="idPrenom">Prénom :</label></td>
<td><input type="text" name="prenom" /></td>
</tr>
<tr><td><label for="idNom">Nom :</label></td>
<td><input type="text" name="prenom" /></td>
</tr>
<tr><td><label for="idPostnom">Post nom
:</label></td>
<td><input type="text" name="postnom" /></td>
</tr>
</table>
</fieldset>
<!--Groupe Sexe-->
<fieldset>
<legend>Sexe</legend>
<input type="radio" name="Masculin" value="M" checked
/>label for="idM">Masculin :</label>
<input type="radio" name="Feminin" value="F"/><label
for="idF">Féminin </label>
</fieldset>
Les balises HTML sont associées à des évènements auxquels elles peuvent réagir.
Ainsi, la balise <body> possède deux évènements intrinsèques souvent utilisés,
« onload et onunload ».
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 63
2025 : Version brouillon
A l’intérieur de ces balises, il est donc possible d’associer du code JavaScript qui
sera exécuté lorsque l’évènement sera déclenché, soit par l’utilisateur (envoi d’un
formulaire par exemple), soit par le navigateur lui-même (chargement d’une page
par exemple).
N° Nom Description
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 64
2025 : Version brouillon
souris alors enfoncé
17 onMove Quand une fenêtre ou une frame est déplacée
18 onReset Quand un formulaire est remis à zéro (avec un bouton
[Reset])
19 onResize Quand l’internaute redimensionne sa fenêtre de
navigateur
20 onScroll Quand la position de la barre de défilement est
modifiée
21 onSelect Quand l’internaute sélectionne du texte dans un objet
HTML
22 onSubmit Quand le formulaire est envoyé, quand l’internaute
clique sur un bouton [Envoyer]
23 onUnLoad Quand une page est quittée
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 65
2025 : Version brouillon
Chapitre IV : Les feuilles de styles (CSS3)
Créées pour prendre en charge tous les aspects graphiques et les rendus sur les
différents médias (écran, mais aussi imprimante, synthèse vocale, assistant
personnel, etc.), les feuilles de styles ajoutent la couche graphique au document web
et à sa structure. Cette partie aborde leur syntaxe et utilisation pratique allant de la
typographie aux différentes méthodes de positionnement.
Voici quelques exemples de mise en forme à l’aide de balises qui donnent du sens
au texte. Ils utilisent le principe des balises, que nous n’avons pas encore détaillé
(c’est l’objet du chapitre qui suit). Cependant c’est une première approche
intéressante, avant de se jeter dans le grand bain du XHTML et des CSS !
Titre de page
Pour mettre des mots en gras ou en italique, il existait en HTML les balises <b>
(gras) et <i> (italique) qui sont obsolètes en XHTML : remplacez-les respectivement
par <strong> et <em>.
L’affichage sera identique avec les anciennes et les nouvelles balises, alors
pourquoi ce changement ? Il correspond au raisonnement suivant :
Les nouvelles balises <strong> et <em> indiquent une mise en relief plus ou
moins prononcée sans dire par quel moyen elle s’effectuera, notamment
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 66
2025 : Version brouillon
sans imposer le gras ou l’italique comme le font les anciennes <b> (« gras »
se dit bold en anglais) et <i>.
Ainsi par exemple, le concepteur de la page peut effectuer cette mise en
forme par un changement de couleur du texte, sans recourir au gras ni à
l’italique. Ce choix serait en contradiction avec le nom des anciennes
balises, il ne l’est pas avec celui des nouvelles.
Pour écrire un menu, évitez d’avoir recours à une succession de balises <p>.
Préférez-leur une structure de liste en délimitant l’ensemble par la balise <ul> (liste
non numérotée), et chaque ligne par une balise <li>. Nous reviendrons bientôt sur
l’utilisation de ces balises.
Puisque nous parlons de menu, il faut signaler que sa place de choix dans le code
se trouve au début de la page. Celle-ci sera alors mieux comprise par les navigateurs
qui lisent la page en mode texte, d’où une accessibilité améliorée pour les personnes
handicapées et un meilleur référencement par les moteurs de recherche.
Cette dissociation des fonctions évite encore de pénaliser les anciens navigateurs
(les documents y demeurant lisibles), les navigateurs en mode texte (ciblant les
aveugles ou les utilisateurs en mode texte), et les programmes utilisant d’autres
médias (assistants personnels, WAP, ordinateurs avec synthétiseur vocal,
navigateurs braille, etc.) ;
Quel webmaster n’a jamais dû modifier tout son site, page après page, pour
répéter fastidieusement la même manipulation élémentaire (par exemple,
changer la couleur des titres) ? CSS simplifie cette opération : avec cette nouvelle
technique, une seule feuille de styles, stockée dans un fichier, assure la gestion
graphique de l’intégralité d’un site, qu’il compte trois pages ou plusieurs
centaines. Toute intervention dans ce fichier sera immédiatement répercutée
partout ;
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 67
2025 : Version brouillon
En outre, cette feuille CSS étant conservée dans la mémoire cache de l’ordinateur
du navigateur après la première connexion, toutes les pages du site s’afficheront
plus rapidement que si les indications de présentation étaient répétées sur
chacune d’entre elles.
Selecteur
{
Propriété 1 : valeur ;
Propriété 2 : valeur ;
…
Propriété n : valeur ;
}
Exemple :
h1
{
font-family:Arial;
font-size:20px;
color:green;
text-align:center;
}
Cette règle colorera en vert le contenu texte (ici titre de niveau 1) des balises <h1>
contenues dans les pages auxquelles ce fichier CSS sera lié. Elle centrera aussi les
titres, la taille sera 20 pixels et la police arial.
Les trois méthodes sont notamment : les styles en ligne (styles insérés dans la balise à
travers la propriété style), les styles du document (styles insérés dans le document
dans la balise <head> à travers la balise style) et les styles externes (styles définis dans
un fichier CSS à part).
Ici on insère directement(ou localement) dans le code html, le style sur une balise à
l’aide de l’attribut style. Voici un exemple :
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 68
2025 : Version brouillon
<balise style= " propriété 1 : valeur ; propriété 2 : valeur ;
… ; propriété n : valeur ; "/>
Exemple :
<h1 style="font-family:times new roman; font-size:22px;
color:red;"> Programmation web</h1><br/>
Cette ligne affecte au texte ‚Programmation web‛ la police times new roman, la
taille 22 et la couleur rouge.
On peut d’abord placer des styles CSS dans l’en-tête HTML (contenu de
l’élément<head></head>). Placé entre les balises <style> </style>, le style s’appliquera
à tous les éléments sélectionnés.
Il s’agit de stocker les ressources dans des fichiers distincts : documents HTML et
feuilles de styles CSS. Ces dernières renfermeront toutes les règles nécessaires à la
mise en page et au design des fichiers HTML. Il suffira alors de modifier le fichier
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 69
2025 : Version brouillon
CSS séparé pour changer l’allure de toutes les pages HTML du site. Ce fichier CSS,
appelé feuille de styles, portera l’extension .css et ne contiendra que des règles CSS
(aucun code HTML n’y sera autorisé, pas même la balise <style> vue dans la méthode
précédente). Le langage CSS, fait pour écrire des règles, ne peut contenir d’autres
langages. Il convient ensuite de relier ce fichier aux contenus sur lesquels il est censé
porter.
Pour ce faire, il s’agit dans un premier temps de créer un fichier (CSS) contenant la
définition des styles à appliquer aux différentes pages et dans un deuxième temps,
de créer dans chaque fichier XHTML un raccourci (lien) vers le fichier de style CSS.
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 70
2025 : Version brouillon
<li>php</li>
<li>MySQL</li>
</ol>
<h1> Langages de programmation proceduraux</h1>
<ul>
<li> Java </li>
<li> VB Net </li>
<li> C & C++ </li>
<li> C Sharp </li>
<li> NetBeans </li>
</ul>
<a href="EX2_STYLE_DU_DOCUMENT.html">Revenir à
la page d'accueil</a>
</body>
</html>
<link> est une balise HTML qui n’est pas uniquement dévolue aux feuilles de
styles. Quand elle désigne une feuille de styles CSS, elle s’accompagne des propriétés
et valeurs suivantes : rel="stylesheet", type="text/css ", < voire title dans le cas de
feuilles de styles persistantes et alternatives.
Par exemple :
Dans les exemples ci-dessus on utilise comme sélecteur la balise <h1>. Cette règle
affectera donc toutes les balises <h1> dans les pages HTML concernées. Cet effet n’est
pas toujours désirable : on souhaite parfois n’intervenir que sur certaines balises d’un
type donné (par exemple, en colorant en rouge certains liens hypertextes mais pas
tous). Pour cela, le langage CSS accepte différentes formes de sélecteurs :
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 71
2025 : Version brouillon
Toute balise HTML peut intervenir dans un sélecteur. Ainsi, on pourra supprimer
tous les interlignes entre paragraphes en attribuant à la balise <p> des marges haute
et basse nulles :
p
{
margin-top: 0;
margin-bottom: 0;
}
Une classe est un nom que l’on choisit librement (en se limitant aux caractères
alphanumériques classiques) et dont on baptise les éléments concernés. Un sélecteur
de classe reprend son nom en le préfixant d’un point (par exemple : .ma_classe,
.structu, etc.). Pour attribuer un comportement différent à certains éléments, il suffit
de leur appliquer une classe. On affichera en vert les liens hypertextes du document
à l’exception de certains liens particuliers que l’on souhaite voir apparaître en rouge
en reprenant la technique suivante.
Une première règle précise le comportement par défaut à adopter pour toutes les
balises <a> :
Code CSS Code html
a { <a href="…">lien normal</a>
color: green;
} <a href="…"
.sommaire { class="sommaire">lien
color: red; rouge</a>
}
Un identificateur (identifiant, ou id) est lui aussi un nom choisi librement (en se
limitant aux caractères alphanumériques classiques). Il se distingue de la classe en ce
qu’il ne peut porter qu’au plus sur un objet du document. Les sélecteurs CSS s’y
réfèrent par l’emploi d’un caractère dièse (#) suivi de son nom (exemples : #exemple,
#structams, #myna, etc.)
#special { #special {
background-color : navy ; background-color : navy ;
color :white ; color :white ;
} }
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 72
2025 : Version brouillon
4.5.4. Les pseudo-classes et les pseudo-éléments
Remarque :
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 73
2025 : Version brouillon
.texte {
margin-left: 0;
}
.texte, p, h1, h2
p {
{
margin-left: 0; Equivalent à margin-left: 0;
} }
h1 {
margin-left: 0;
}
h2 {
margin-left: 0;
}
Cette dernière déclaration annulera la marge gauche de tous les éléments de classe
.texte, de tous les paragraphes et de tous les titres de premier et de deuxième niveau.
Equivalent à
p { p {
font-family: Arial, sans- font : italic bold
serif; 120%/140% Arial, sans-
font-style: italic; serif;
font-weight: bold; }
font-size: 120%;
line-height: 140%;
}
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 74
2025 : Version brouillon
1°) La taille
Pour indiquer une taille absolue, on utilise généralement les pixels. Pour avoir un
texte de 16 pixels de hauteur, vous devez écrire( en CSS) : font-size: 16px;
p{
font-size: 12px; /* Paragraphes de 12 pixels */
}
h2
{
font-size: 20px; /* Titres de 20 pixels */
}
NB : Les tailles en centimètres ou millimètres sont aussi disponibles. On remplace
juste "px" par "cm" ou "mm". Ces unités sont cependant moins bien adaptées
aux écrans.
text-decoration. : Elle permet entre autres de souligner le texte, mais pas seulement.
Voici les différentes valeurs qu'elle peut prendre :
underline : souligné.
line-through : barré.
overline : ligne au-dessus.
blink : clignotant. Ne marche pas sur tous les navigateurs (Internet Explorer et
Google Chrome notamment).
none : normal (par défaut).
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 75
2025 : Version brouillon
Exemple d’utilisation avec css :
h1
{
text-decoration: blink;
}
.souligne
{
text-decoration: underline;
}
.barre
{
text-decoration: line-through;
}
.ligne_dessus
{
text-decoration: overline;
}
4°) 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é :
h1
{
text-align: center;
}
p{
text-align: justify;
}
.signature
{
text-align: right;
}
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 76
2025 : Version brouillon
Remarque : Il est impossible de modifier l'alignement du texte d'une balise inline
(comme <span>, <a>, <em>, <strong>...). L'alignement ne fonctionne que
sur des balises de type block (<p>, <div>, <h1>, <h2>, ...), et c'est un peu
logique quand on y pense : on ne peut pas modifier l'alignement de
quelques mots au milieu d'un paragraphe ! C'est donc en général le
paragraphe entier qu'il vous faudra aligner.
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.
body
{
background-image: url("[Link]");
}
4.7.3. La transparence
Le CSS nous permet de jouer très facilement avec les niveaux de transparence des
éléments. La propriété opacity, très simple, permet d'indiquer le niveau d'opacité
(c'est l'inverse de la transparence).
Avec une valeur de 1, l'élément sera totalement opaque : c'est le comportement par
défaut. Avec une valeur de 0, l'élément sera totalement transparent.
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 !
p{
opacity: 0.6;
}
Exemple d’utilisation :
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 77
2025 : Version brouillon
body
{
background: url('[Link]');
}
p
{
background-color: black;
color: white;
opacity: 0.3;
}
Il existe en CSS une propriété très puissante : display. Elle est capable de
transformer n'importe quel élément de votre page d'un type vers un autre. Avec
cette propriété, il est par exemple possible de transformer mes liens (originellement
de type inline) sous forme de blocs :
a{
display: block;
}
A ce moment-là, les liens vont se positionner les uns en-dessous des autres (comme
des blocs normaux) et il devient possible de modifier leurs dimensions ! Voici
quelques-unes des principales valeurs que peut prendre la propriété display en CSS
(il y en a encore d'autres) :
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 78
2025 : Version brouillon
.secret
{
display: none;
}
Nous allons transformer en inline-block les deux éléments que nous voulons placer
côte à côte : le menu de navigation et la section du centre de la page.
nav
{
display: inline-block;
width: 150px;
border: 1px solid black;
}
section
{
display: inline-block;
border: 1px solid blue;
}
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 79
2025 : Version brouillon
Références
Andy BUDD avec Cameron Moll et Simon COLLISON, Maîtrise des CSS, 2eme éd.,
Pearson, Paris,
Cyril PIERRE de Geyer et Guillaume PONÇON, PHP & SQL, Eyrolles, Paris, 2017.
ENI,
Mat MARQUIS, Javascript pour les Web designers, Eyrolles, Paris, 2017.
Raphaël GOETTER, CSS avancés Vers HTML 5 et CSS 3, Eyrolles, Parsis, 2011.
MIANGALA Anaclet, Notes de cours de Programmation web I, Bac I., Informatique, 2024- 80
2025 : Version brouillon