Support - Initiation Programmation Web1 - 2021-2022
Support - Initiation Programmation Web1 - 2021-2022
PROGRAMMATION
WEB
HTML 5 – CSS 3 – JavaScript
SUPPORT DE COURS
1ère année de licence
Enseignant :
M. AMEVOR Kossi A.
[email protected] - 91259337
OBJECTIFS DU COURS
i
INITIATION PROGRAMMATION WEB
Sommaire
PARTIE I : LE LANGAGE HTML 5 : LES BALISES (Ossature/fond de la page) ..... 1
ii
INITIATION PROGRAMMATION WEB
iii
INITIATION PROGRAMMATION WEB
1
INITIATION PROGRAMMATION WEB
2
INITIATION PROGRAMMATION WEB
3
INITIATION PROGRAMMATION WEB
2. 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 :
<nom_balise attribut="valeur">
Exemple :
<nom_balise attribut1="Neil Armstrong" attribut2="21/07/1969">
C'est un petit pas pour l'homme, mais un bond de géant pour
l'humanité.
</nom_balise >
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>title</title>
<link rel="shortcut icon" href="icon.ico" />
<link rel="stylesheet" href="styles.css" />
<script src="javascript.js"> </script>
</head>
<body>
Contenu de la page
</body>
</html>
4
INITIATION PROGRAMMATION WEB
a. Le doctype
<!DOCTYPE html>
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.
b. La balise </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.
5
INITIATION PROGRAMMATION WEB
6
INITIATION PROGRAMMATION WEB
<!DOCTYPE html>
<html>
<head>
<!-- En-tête de la page -->
<meta charset="utf-8" />
<title>Titre</title>
</head>
<body>
<!-- Corps de la page -->
</body>
</html>
7
INITIATION PROGRAMMATION WEB
<ol>
<1i >élément 1 <1i> élément 2
on préférera le code suivant :
<ol>
<1i> élément 1</li>
<1i> élément 2</li>
</ol>
8
INITIATION PROGRAMMATION WEB
5. L’environnement de travail
Pour créer des pages web avec HTML 5 et CSS 3, il faut être doté
d’un environnement de travail adapté. En théorie, un simple
éditeur de texte tel que le Bloc-notes de Windows ou Emacs sous
Linux suffit. Cependant, comme la saisie des noms des différents
éléments HTML 5 dans ce type d’éditeur peut devenir à la longue
plutôt rébarbative, nous pouvons utiliser quelques outils
susceptibles de faire gagner du temps : notepad++, sublime text,
Dreamweaver etc….
9
INITIATION PROGRAMMATION WEB
10
INITIATION PROGRAMMATION WEB
<dl>
<dt> </dt>
<dt> </dt>
</dl>
Exemple :
<ul Type=x>
<li>Toto</li>
<li>Tata</li>
<li>Titi</li>
</ul>
c. Listes ordonnées
<ol></ol> délimite toute la liste ;
<li></li> délimite un élément de la liste (une puce).
Exemple :
11
INITIATION PROGRAMMATION WEB
<li>Cahier.</li>
<li>Bic</li>
<li>Ensemble géométrique</li>
</ol>
y=1; a ; A ; i ou I
➢ Lien absolu
Exemple :
<p> Voulez-vous découvrir ce que c’est que la magie ?
<a href="http://www.monsite.com">Cliquer ici</a>
</p>
➢ Lien relatif
Soit deux fichiers « index.html » et « apropos.html » se trouvant
dans un même dossier. Si on se trouve sur le fichier « index.html »,
pour faire un lien vers « apropos.html » on écrira simplement <a
href="apropos.html"></>
Une ancre est un point de repère utilisé lorsque les pages html sont
très longues. Il permet de faire un saut vers un autre titre plus bas
de la page.
12
INITIATION PROGRAMMATION WEB
Exemple :
<h2 id="mon_ancre">Titre</h2>
<a href="#mon_ancre">Aller vers l'ancre</a>
NB : On peut être amené à faire un lien vers une ancre qui se situe
sur une autre page. Dans ce cas la déclaration se fera de la manière
suivante :
<a href="h2.html#ancre">Aller vers l'ancre sur une autre page</a>
13
INITIATION PROGRAMMATION WEB
Exercice de synthèse 1
Vous allez créer une page, appelée Puces.html, qui fera apparaître
plusieurs mises en forme de listes. La page comprendra 2 parties.
Il est conseillé d’aller vérifier dans le navigateur votre travail entre
chaque partie. Pour cela, enregistrez votre fichier et réactualiser la
page dans le navigateur.
Description de la page à créer :
• Le fond de la page sera de la couleur "palegoldenrod" et le
texte sera "marroon".
• Le titre de la page sera : Les listes
1ère partie :
• un titre de niveau 1, centré : LISTES A PUCES
• une liste à puces de trois choix appelés : choix1, choix2,
choix3.
• Une ligne séparatrice
2ème partie :
• un titre de niveau 1, centré : LISTES NUMEROTEES
• Une liste numérotée de deux choix appelés : choix1, choix2.
14
INITIATION PROGRAMMATION WEB
Exemple :
<img src="ma_photo.jpg" alt="Photo préférée" />
15
INITIATION PROGRAMMATION WEB
16
INITIATION PROGRAMMATION WEB
17
INITIATION PROGRAMMATION WEB
<tr>
<td> A </td>
<td> B </td>
<td> C </td>
<td> D </td>
</tr>
<tr>
<td> E </td>
<td> F </td>
<td> G </td>
<td> H </td>
</tr>
<tr>
<td> I </td>
<td> J </td>
<td> K </td>
<td> L </td>
</tr>
</Table>
18
INITIATION PROGRAMMATION WEB
Exercice de synthèse 2
Vous allez créer une page, appelée Tableaux.html, qui fera
apparaître plusieurs tableaux. La page comprendra 2 parties. Il est
conseillé d’aller vérifier dans le navigateur votre travail entre
chaque partie. Pour cela, enregistrez votre fichier et réactualiser la
page dans le navigateur.
Description de la page à créer :
• Le fond de la page sera de la couleur "palegoldenrod" et le
texte sera "marroon".
• Le titre de la page sera : LES TABLEAUX
1ère partie :
• un titre de niveau 1, centré : TABLEAU SIMPLE
• Vous réaliserez le tableau dont la description en HTML est
donnée ci-dessus. Ce tableau sera centré.
• Une ligne séparatrice
2ème partie :
• un titre de niveau 1, centré : TABLEAU PLUS COMPLEXES
• Vous réaliserez un tableau, centré, similaire au tableau ci-
dessous :
19
INITIATION PROGRAMMATION WEB
20
INITIATION PROGRAMMATION WEB
</form>
Les composants d’un formulaire :
1. Zone de texte
<input type=”#” name="#" value="#">
2. L'élément textarea
<Textarea name="commentaire" rows=10 cols=40>
Tapez vos commentaires ici
</textarea>
3. L’élément radio
Exemple:
<input type="radio" name="sexe" value="F" checked>
Feminin<br/>
<input type="radio" name="sexe" value="M"> Masculin
4. Case à cocher
Exemple:
<input type="checkbox" name="ch" value="Word" checked>
Word<BR>
<input type="checkbox" name="ch" value="Excel"> Excel<BR>
<input type="checkbox" name="ch" value="Access"> Access
5. Menu déroulante
<select name="#">
<option><option>
</select >
Example:
21
INITIATION PROGRAMMATION WEB
<select name="liste">
<option> Taro
<option> Patate
<option> Igname
<option selected> Pomme de Terre
<option> Oignon
<option> Ail
</select >
22
INITIATION PROGRAMMATION WEB
6. Les boutons
<input type="submit" name="bouton1" value="Envoyer">
<input type="reset" name="bouton2" value="Effacer">
Exercice de synthèse 3
Ecrire le code HTML pour obtenir un formulaire ressemblant à la
capture d’écran ci-dessous.
23
INITIATION PROGRAMMATION WEB
24
INITIATION PROGRAMMATION WEB
Syntaxe :
Sélecteur {
Propriéte 1 : valeur 1 ;
Propriéte 2 : valeur 2 ;
}
Exemple
div {color : red ; background-color :yellow ;}
25
INITIATION PROGRAMMATION WEB
26
INITIATION PROGRAMMATION WEB
3. Le sélecteur universel
Pour appliquer un style à tous les éléments, nous utiliserons le
sélecteur universel * avant la définition d’une ou plusieurs
propriétés. Par exemple, pour que la couleur de fond de tous les
éléments soit le jaune, nous écrirons :
*{background-color : yellow;}
*{background-color : yellow;}
p{background-color : gray;}
Dans ce cas, tous les éléments ont un fond jaune, sauf <p> qui a
un fond gris redéfini spécialement.
27
INITIATION PROGRAMMATION WEB
peut être un mot quelconque, en évitant quand même les noms des
propriétés CSS et des éléments HTML 5 car cela occasionnerait des
confusions. Nous pouvons par exemple définir la classe nommée
evidence en écrivant le code :
.evidence (color : red;}
À ce stade, la classe est abstraite et ne s’applique à aucun élément.
Pour mettre en évidence un paragraphe précis de la page avec un
texte rouge, nous devons alors écrire dans le code HTML 5 :
28
INITIATION PROGRAMMATION WEB
29
INITIATION PROGRAMMATION WEB
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html;
charset=UTF-8” />
<title> Les classes de style </title>
<style type="text/css" title="classes">
*.jaune{color: green;}
div.jaune {color: yellow;}
.classel {color: red;}
.classe2 {font-style: italic}
.classe3 {background-color: #CCC;}
</sty1e>
</head>
<body>
<hl class="jaune">HTML 5 et CSS</hl>
<div class="classel">
Ceci est un texte avec la classe1 (texte rouge) <br/> <br/>
</div>
30
INITIATION PROGRAMMATION WEB
31
INITIATION PROGRAMMATION WEB
32
INITIATION PROGRAMMATION WEB
Toutes les images ayant un attribut ismap ont une bordure rouge
de deux pixels de large.
Nous pouvons également créer un style applicable à tous les
éléments qui possèdent un attribut donné en utilisant le sélecteur
universel * placé devant les crochets qui contiennent le nom de
l’attribut choisi. Si nous définissons le style suivant :
33
INITIATION PROGRAMMATION WEB
element[attributl="valeurl"][attribut2="valeur2"] {Définition du
style;}
Par exemple, avec la définition suivante, appliquée à une cellule de
tableau :
td {font-size: 12px;}
td [title="nom"] [align="center"] {font-size: 14px; color: red;}
34
INITIATION PROGRAMMATION WEB
p (color: blue;}
div p {color: red;}
35
INITIATION PROGRAMMATION WEB
seuls les contenus des éléments <p> inclus dans <div> sont de
couleur rouge, tous les autres étant bleus, et le texte inclus
directement dans <div> a la couleur par défaut qui est le noir.
Il est aussi possible de préciser la hiérarchie en appliquant plus de
deux éléments en les séparant tous par un espace.
Pour appliquer un style différent aux éléments de liste <li> inclus
directement dans une liste non ordonnée <ul> ou dans une liste
ordonnée <ol> elle-même incluse dans une liste non ordonnée
<ul>, nous pouvons définir les sélecteurs suivants :
36
INITIATION PROGRAMMATION WEB
37
INITIATION PROGRAMMATION WEB
Seul le deuxième élément <p> a le style texte jaune sur fond bleu,
le premier n’étant pas frère mais enfant de l’élément <div>. Le
troisième paragraphe aura de plus le même style que le premier car
il ne suit pas immédiatement l’élément <div>.
On note que si les deux éléments sont reliés par le sélecteur +, seul
le second présente un style défini. En effet, si nous écrivons le code
suivant au lieu des styles précédents :
38
INITIATION PROGRAMMATION WEB
IX. L’héritage
L’héritage est le fait qu’un élément enfant possède les mêmes styles
que l’élément qui le contient (son parent dans la hiérarchie des
39
INITIATION PROGRAMMATION WEB
éléments d’une page). Nous pouvons par exemple définir les styles
suivants :
40
INITIATION PROGRAMMATION WEB
I. Présentation
1. Bibliothèque
Il existe des bibliothèques côté serveur (désignés backend en
anglais), et d'autres côté client (désignés frontend en anglais).
Bootstrap fait partie de cette deuxième catégorie. Les bibliothèques
CSS sont spécialisées, comme leur nom l'indique, dans les CSS !
C'est-à-dire qu'ils nous aident à mettre en forme les pages web :
organisation, aspect, animation... Elles sont à la mode et il en
existe un certain nombre, en voici quelques-uns :
• Knacss
• Blueprint
• Unsemantic
• YUI
• 52Framework
• Pure
• Materializecss
• Semantic-ui
• Getuikit
• etc.
Bootstrap est une bibliothèque CSS, mais pas seulement, puisqu'il
embarque également des composants HTML et JavaScript. Il
comporte un système de grille simple et efficace pour mettre en
ordre l'aspect visuel d'une page web. Il apporte du style pour les
boutons, les formulaires, la navigation...
41
INITIATION PROGRAMMATION WEB
42
INITIATION PROGRAMMATION WEB
2. Découverte de bootstrap
Historique de bootstrap
Vous connaissez forcément Twitter, un des principaux réseaux
sociaux qui inondent la planète de liens virtuels entre les humains
devenus des noyaux cybernétiques. Le projet Bootstrap a été créé
au départ par Mark Otto et Jacob Thornton pour répondre à des
besoins internes de développement de cette entreprise au niveau
de l'uniformisation de l'aspect des pages web. Il s'agissait juste de
stylisation CSS, mais la bibliothèque s'est ensuite enrichie de
composants JavaScript.
Il a ensuite été publié en 2011 en devenant rapidement populaire
parce qu'il est venu se positionner dans un espacevacant du
développement. Son système de grille de 12 colonnes est devenu
une référence. D'autre part sa mise en œuvre est aisée comme nous
allons bientôt le voir. Il a été mis à disposition du public sous
licence MIT. La bibliothèque en est actuellement à la version 5.
43
INITIATION PROGRAMMATION WEB
Contenu de la bibliothèque
Bootstrap propose :
• une mise en page basée sur une grille de 12 colonnes fondée
sur flexbox ;
• l'utilisation de Normalize auquel est ajoutée l'extension
Reboot dans la version 4 ;
• du code fondé sur HTML5 et CSS3 ;
• une bibliothèque totalement open source sous licence MIT ;
• du code qui tient compte du format d'affichage des principaux
outils de navigation (responsive design) : smartphones,
tablettes... ;
• des plugins jQuery de qualité ;
• un résultat cross-browser (la prise en charge de IE8 a été
abandonnée avec la version 4), donc une garantie de
compatibilité maximale ;
• une bonne documentation ;
• la garantie d'une évolution permanente ;
• une mine de ressources variées sur le web ;
• une architecture basée sur Sass, un outil bien pratique qui
étend les possibilités de CSS.
44
INITIATION PROGRAMMATION WEB
45
INITIATION PROGRAMMATION WEB
46
INITIATION PROGRAMMATION WEB
2. Intégration de bootstrap
a. Fichiers locaux
Pour que Bootstrap fonctionne, il faut que les pages HTML soient
au format HTML 5, il faut donc prévoir le bon DOCTYPE :
47
INITIATION PROGRAMMATION WEB
b. Les CDN
48
INITIATION PROGRAMMATION WEB
a. La prestation minimale
49
INITIATION PROGRAMMATION WEB
4. Un exemple
Vous pouvez trouver sur le site de nombreux templates d'exemple.
Les éléments nécessaires à la compréhension de ces exemples
seront exposés tout au long de ce cours. Voyons toutefois le
premier, nommé Starter Template, qui est le plus classique :
50
INITIATION PROGRAMMATION WEB
On a le résultat suivant :
51
INITIATION PROGRAMMATION WEB
5. Flexbox
Les flexbox sont devenus de plus en plus populaires depuis
quelques années et leur utilisation grandit de plus en plus. Mais
de quoi s'agit-il ? Avec le CSS on a un modèle de boîtes (de type
block ou inline) qui permet la mise en page. Vous avez sans doute
l'habitude du positionnement flottant qui permet de jouer avec la
52
INITIATION PROGRAMMATION WEB
position des blocs. Avec les flexbox les boîtes deviennent flexibles.
On a un conteneur et des éléments, et le conteneur a la capacité
de modifier les dimensions, positions et l'ordre des éléments pour
qu'ils s'adaptent aux contraintes d'affichage. En fait exactement ce
qui manque cruellement avec le modèle de boîtes classique, on
peut même dire rigide par rapport à ce modèle flexible.
Dans sa version 3 Bootstrap n'utilisait pas flexbox, mais cela
change avec la version 4 parce que désormais il n'utilise que ça !
Mais je précise que Bootstrap est équipé de nombreuses classes
qui facilitent l'utilisation de flexbox et je vais les citer dans ce
chapitre au fur et à mesure de la présentation des superbes
possibilités qui nous sont offertes.
Faut-il vraiment connaître flexbox pour utiliser Bootstrap ?
Ce n'est pas indispensable pour une utilisation de base, mais ça le
devient très vite dès qu'on veut utiliser plus efficacement la
bibliothèque.
53
INITIATION PROGRAMMATION WEB
54
INITIATION PROGRAMMATION WEB
2. Terminologie
Une grille est découpée en rangées (appelées row, parce que tout
est en anglais) et colonnes (col).
3. La grille de Bootstrap
55
INITIATION PROGRAMMATION WEB
4. Organisation de la grille
56
INITIATION PROGRAMMATION WEB
Pour disposer d'une marge entre les colonnes, ces classes prévoient
un padding de 15px.
Pourquoi cinq sortes de classes pour les colonnes ?
Je vous ai déjà dit que Bootstrap est « responsive », ce qui veut dire
qu'il s'adapte à la taille de l'écran. Il permet une visualisation aussi
bien sur un écran géant que sur un smartphone.
Est-ce qu'il est possible de supprimer toutes ces marges ?
Oui. Il suffit d'utiliser la classe no-gutters avec la classe row. Ce
qui a pour effet de supprimer toutes les marges à la fois ainsi que
les lignes et les colonnes.
Mais que se passe-t-il pour les éléments d'une page web lorsque la
fenêtre diminue ou s'élargit ?
On peut envisager deux hypothèses : les éléments se
redimensionnent en restant positionnés, ou alors ils s'empilent
quand la fenêtre devient plus étroite et se positionnent côte à côte
quand elle s'élargit. Voici à la figure suivante l'exemple d'une partie
de la page d'accueil du site colly.com qui illustre ce phénomène
avec trois situations (grand écran, écran moyen et petit écran) :
57
INITIATION PROGRAMMATION WEB
58
INITIATION PROGRAMMATION WEB
59
INITIATION PROGRAMMATION WEB
60
INITIATION PROGRAMMATION WEB
Exemple
Pour avoir un élément de quatre colonnes de large accouplé avec
un élément de huit colonnes de large sur un smartphone en mode
portrait (et donc aussi tous les formats au-dessus) on a :
61
INITIATION PROGRAMMATION WEB
62
INITIATION PROGRAMMATION WEB
5. Le conteneur
63
INITIATION PROGRAMMATION WEB
64
INITIATION PROGRAMMATION WEB
Exemple
Après cette petite mise en jambe pour vous présenter la notion de
grille dans Bootstrap, on va passer en revue les possibilités dans le
détail dans les chapitres suivants. Mais pour visualiser tous les
exemples qui vont suivre, je vous propose d'ajouter un peu de style,
histoire d'afficher les éléments de façon explicite. Pour éviter de
polluer le code HTML on va mettre ce style spécifique dans un
fichier CSS particulier (ce fichier sera nommé tuto.css dans le
code) :
65
INITIATION PROGRAMMATION WEB
6. La grille en action
66
INITIATION PROGRAMMATION WEB
Voici le résultat :
67
INITIATION PROGRAMMATION WEB
68
INITIATION PROGRAMMATION WEB
69
INITIATION PROGRAMMATION WEB
• m : marge
• p : remplissage (padding)
2. Les côtés définissent la position :
• t : haut (top)
• r : droite (right)
• b : bas (bottom)
• l : gauche (left)
• x : gauche et droite (axe x)
• y : haut et bas (axe y)
Par exemple la classe ml-auto définit une marge automatique à
gauche alors que la classe mr-auto fait la même chose pour la
droite.
70
INITIATION PROGRAMMATION WEB
71
INITIATION PROGRAMMATION WEB
IV - Mise en page
L'intérêt principal d'une grille est de réaliser une mise en page.
Maintenant que vous savez comment utiliser la grille de Bootstrap,
nous allons voir dans ce chapitre quelques exemples pour
structurer correctement une page.
72
INITIATION PROGRAMMATION WEB
73
INITIATION PROGRAMMATION WEB
3. Plusieurs asides
74
INITIATION PROGRAMMATION WEB
Exemple :
75
INITIATION PROGRAMMATION WEB
.table-striped >tbody>tr:nth-child(odd) {
background-color: #f9f9f9;
}
Exemple :
Exemple :
76
INITIATION PROGRAMMATION WEB
.table-condensed >thead>tr>th,
.table-condensed >tbody>tr>th,
.table-condensed >tfoot>tr>th,
.table-condensed >thead>tr> td,
.table-condensed >tbody>tr> td,
.table-condensed >tfoot>tr> td {
padding: 5px;
}
Exemple :
77
INITIATION PROGRAMMATION WEB
.table-hover >tbody>tr:hover {
background-color: #f5f5f5;
}
Remarque
78
INITIATION PROGRAMMATION WEB
79
INITIATION PROGRAMMATION WEB
80
INITIATION PROGRAMMATION WEB
Cet affichage est basé sur la grille adaptative que nous verons par
la suite. C’est donc a vous d’utiliser les classes voulues dans les
éléments<div>, <label> et <input>.
81
INITIATION PROGRAMMATION WEB
82
INITIATION PROGRAMMATION WEB
83
INITIATION PROGRAMMATION WEB
84
INITIATION PROGRAMMATION WEB
➢ Désactiver un bouton
85
INITIATION PROGRAMMATION WEB
2. La navigation Horizontale
La barre de navigation est une boite <div>contenant la classe
.navbar. La mise en forme par défaut de cette barre de navigation
est appliquée avec la classe .navbar-default. Ensuite il y’a les
classes .collapse et .navbar-collapse qui permettent la mise en
forme du contenu de la barre de navigation. Les liens <a> sont
placés dans l’élément <li> d’une liste <ul>. L’élément <ul> utilise
les deux classes de mise en forme .nav et .navbar-nav.
86
INITIATION PROGRAMMATION WEB
<navclass="navbarnavbar-default">
<divclass="collapse navbar-collapse"id="bs-example-navbar-collapse-
1">
<ulclass="navnavbar-nav">
<liclass="active"><ahref="#">Link <spanclass="sr-
only">(current)</span></a></li>
<li><ahref="#">Link</a></li>
<liclass="dropdown">
<ahref="#"class="dropdown-toggle"data-
toggle="dropdown"role="button"aria-expanded="false">Dropdown
<spanclass="caret"></span></a>
<ulclass="dropdown-menu"role="menu">
<li><ahref="#">Action</a></li>
<li><ahref="#">Another action</a></li>
<li><ahref="#">Something else here</a></li>
<liclass="divider"></li>
<li><ahref="#">Separated link</a></li>
<liclass="divider"></li>
<li><ahref="#">One more separated link</a></li>
</ul>
</li>
</ul>
</div>
</nav>
87
INITIATION PROGRAMMATION WEB
Pour cela vous allez utiliser une fenêtre modale, elle est composée
de trois parties : l’en-tête, le corps et le pied de page. La boite <div>
88
INITIATION PROGRAMMATION WEB
2. Les alertes
Les alertes sont plutôt faites pour les interfaces d’administration
des CMS, mais vous pouvez les utiliser pour mettre en évidence des
propos important dans votre application web.
3. Le Carrousel
89
INITIATION PROGRAMMATION WEB
90
INITIATION PROGRAMMATION WEB
91
INITIATION PROGRAMMATION WEB
<SCRIPT language="Javascript">
var MaVariable;
var MaVariable2 = 3;
</SCRIPT>
92
INITIATION PROGRAMMATION WEB
<SCRIPT language="Javascript">
var nom = "Langage" ;
var prenom = ‘JavaScript’ ;
</SCRIPT>
Vous pouvez utiliser des guillemets dans une chaîne, tant qu'ils ne
correspondent pas aux guillemets entourant la chaîne :
<SCRIPT language="Javascript">
var hello = "Je m’appelle ‘HELLO’ " ;
let hello2 = ‘Je me nomme "HELLO" ‘ ;
</SCRIPT>
Remarque : var est utilisé pour déclarer une variable globale alors
que let est utilisé pour déclarer une variable dont la portée est
limitée à un bloc. Ainsi, vous pouvez déclarer une variable à l’aide
de let dans un bloc if mais sa portée est limitée à ce bloc. Vous
pouvez même déclarer plusieurs variables portant le même nom à
l’intérieur et à l’extérieur d’un bloc à l’aide du mot-clé let.
93
INITIATION PROGRAMMATION WEB
d. Les objets
Les objets sont déclarés en utilisant des accolades. Ils sont destinés
à stocker plusieurs types de valeurs et des méthodes (fonctions).
Exemple
<SCRIPT language="Javascript">
var formateur= {nom :"TOTO", sexe : 'M', age :22} ;
alert(formateur['nom']) ;
alert(formateur['sexe']) ;
</SCRIPT>
94
INITIATION PROGRAMMATION WEB
Exemple :
var a = "123";
var b = "456";
Selon que l'on utilise la fonction parseInt() ou non, l'utilisation de
l'opérateur + avec ces deux variables donnera un résultat
différent :
a+b ; // Affiche 123456
parseInt(a)+parseInt(b); // Affiche 579
parseFloat()
La fonction parseFloat() est une fonction du noyau Javascript
permettant de convertir une variable passée en paramètre en
nombre en virgule flottante (nombre avec une partie décimale). La
syntaxe de la fonction parseFloat() est la suivante :
parseFloat(chaine);
4. Les opérateurs
Opérateur
Exemple Exemple équivalent
d’affectation
= i = 20 i = 20
+= i += 20 i = i + 20
95
INITIATION PROGRAMMATION WEB
-= i -= 20 i = i - 20
*= i *= 20 i = i * 20
/= i /= 20 i = i / 20
%= i %= 20 i = i % 20
b. Opérateurs arithmétiques
Opérateur Description Exemple
Addition - ajoute des nombres var i = 0 ; i = i + 20
+ - fait la concaténation
des chaines de var Langage = "Java"+"Script" ;
caractères var age="J’ai" + 21 + "ans" ;
var titre = 007+" James Bond" ;
Soustraction soustrait des nombres var i = 0 ;
- i = i - 20
Multiplication multiplie les nombres var i = 0 ;
* i = i * 20
Division divise les nombres var i = 0 ;
/ i = i / 20
Modulo Reste de la division var i = 21 ;
% entière i=i%2
Incrément ajoute la valeur au var i = 0 ;
++ nombre i++
Décrément soustrait la valeur au var i = 0 ;
-- nombre i--
96
INITIATION PROGRAMMATION WEB
97
INITIATION PROGRAMMATION WEB
98
INITIATION PROGRAMMATION WEB
Exemple
L'exemple suivant modifie le contenu (innerHTML) de l’élément <p>
avec id="demo":
<html>
<head>
<meta charset="utf-8" />
<title>title</title>
</head>
<body>
<p id="demo"></p>
<script> document.getElementById("demo").innerHTML =
"Hello World!"; </script>
</body>
</html>
99
INITIATION PROGRAMMATION WEB
3. La méthode getElementById
Le moyen le plus courant d'accéder à un élément HTML est
d'utiliser le id de l'élément.
Dans l'exemple ci-dessus, la getElementById méthode
utilisée id="demo"pour trouver l'élément.
4. La propriété innerHTML
Le moyen le plus simple d'obtenir le contenu d'un élément consiste
à utiliser la propriété innerHTML. Elle est utile pour obtenir ou
remplacer le contenu des éléments HTML. La propriété innerHTML
peut être utilisée pour obtenir ou modifier n'importe quel élément
HTML, y compris <html>et <body>.
100
INITIATION PROGRAMMATION WEB
Propriété Description
Fonction Description
Fonction Description
101
INITIATION PROGRAMMATION WEB
a. Utilisation de innerHTML
Pour accéder à un élément HTML, JavaScript peut utiliser
la méthode document.getElementById(id). L’attribut id définit
l'élément HTML. La propriété innerHTML définit le contenu HTML :
Exemple
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>title</title>
</head>
<body>
<p id="para1"></p>
<script>
document.getElementById("para1").innerHTML =
"Ce message est écrit par un script JavaScript" ;
</script>
</body>
</html>
102
INITIATION PROGRAMMATION WEB
b. Utilisation de document.write ()
À des fins de test, il est pratique d'utiliser document.write():
Exemple
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>Document.write</title>
</head>
<body>
<script>
document.write("Ce message est écrit par un script
JavaScript") ;
</script>
</body>
</html>
c. Utilisation de window.alert ()
Vous pouvez utiliser une boîte d'alerte pour afficher des données :
Exemple
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>Window.alert</title>
</head>
<body>
<script>
window.alert("Hello world ! Ce message est écrit par
un script JavaScript") ;
</script>
</body>
</html>
103
INITIATION PROGRAMMATION WEB
d. Utilisation de console.log ()
À des fins de débogage, vous pouvez appeler la méthode
console.log() dans le navigateur pour afficher les données.
Exemple
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>Console.log</title>
</head>
<body>
<script>
console.log("Hello world ! Ce message est écrit par
un script JavaScript") ;
</script>
</body>
</html>
e. Impression JavaScript
En JavaScript vous pouvez appeler la méthode window.print() dans
le navigateur pour imprimer le contenu de la fenêtre actuelle.
Exemple
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>title</title>
</head>
<body>
<p id="para1"></p>
<script>
104
INITIATION PROGRAMMATION WEB
document.getElementById("para1").innerHTML = "Ce
message est écrit par un script JavaScript" ;
</script>
<button onclick="window.print()">Print this page</button>
</body>
</html>
a. Alert()
Une boîte de dialogue d'alerte est principalement utilisée pour
donner un message d'avertissement aux utilisateurs.
Syntaxe :
window.alert("message d’alerte");
Exemple
html : Script : javascript.js
<!doctype html> function bonjour() {
<html> alert( 'Hello, world!' );
<head> }
<meta charset="utf-8" />
<title>Boite ALERT </title>
<script src="javascript.js">
</script> </head>
105
INITIATION PROGRAMMATION WEB
a. Confirm()
Une boîte de dialogue de confirmation est principalement utilisée
pour obtenir le consentement de l'utilisateur sur n'importe quelle
option. Il affiche une boîte de dialogue avec deux boutons
: OK et Annuler.
Syntaxe :
window.confirm("Texte de confirmation");
Exemple
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Boite de confirmation </h2>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
function myFunction() {
var txt;
if (confirm("Press a button!")) {
txt = "Tu as appuyé sur OK!";
106
INITIATION PROGRAMMATION WEB
b. Prompt()
La boîte de dialogue d'invite est très utile lorsque vous souhaitez
afficher une zone de texte pour obtenir une entrée
utilisateur. Ainsi, il vous permet d'interagir avec
l'utilisateur. L'utilisateur doit remplir le champ puis cliquer sur
OK.
Syntaxe :
window.prompt("Texte indicatif"[, valeur par défaut]);
Exemple
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Prompt</h2>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
function myFunction() {
var txt;
107
INITIATION PROGRAMMATION WEB
1. Structure IF
La structure IF se présente comme suit :
if (condition) { OU if (condition) {
« instructions » « instructions »
} } else {
« instructions »
}
2. Structure SWITCH
Utilisez l'instruction switch pour sélectionner l'un des nombreux
blocs de code à exécuter. La syntaxe se présente comme suit :
108
INITIATION PROGRAMMATION WEB
Switch (expression) {
case n:
« instructions »
break;
case n:
« instructions »
break;
default:
« Instructions »
}
V. Les structures itératives (WHILE, DO … WHILE,
FOR, FOR .. IN)
JavaScript prend en charge différents types de boucles :
- while - boucle à travers un bloc de code alors qu'une
condition spécifiée est vraie
- do / while - boucle également à travers un bloc de code alors
qu'une condition spécifiée est vraie
- for - parcourt un bloc de code plusieurs fois
- for / in - parcourt les propriétés d'un objet
1. La structure while
Les boucles peuvent exécuter un bloc de code tant qu'une
condition spécifiée est vraie. La syntaxe est :
while (condition) {
« instrutions »
}
109
INITIATION PROGRAMMATION WEB
2. La structure Do .. while
La boucle do / while est une variante de la boucle while. Cette
boucle exécutera le bloc de code une fois, avant de vérifier si la
condition est vraie, puis elle répétera la boucle tant que la condition
est vraie.
3. La structure For
La boucle for a la syntaxe suivante:
for (statement 1; statement 2; statement 3) {
« Instructions »
}
L'instruction 1 est exécutée (une fois) avant l'exécution du bloc de
code.
L'instruction 2 définit la condition d'exécution du bloc de code.
L'instruction 3 est exécutée (à chaque fois) après l'exécution du
bloc de code.
4. La structure For .. In
L'instruction JavaScript for / in parcourt les propriétés d'un objet :
Exemple
var person = {nom:"John", prenoms:"Doe", age:25};
var text = "";
var x;
for (x in person) {
text += person[x];
}
110
INITIATION PROGRAMMATION WEB
Exemple
var cars = ["Toyota", "Mazda", "Honda", "Saab", "Volvo", "BMW"];
Alert(cars[0]) ;
var fruits = new Array( "pomme", "orange", "mangue" );
111
INITIATION PROGRAMMATION WEB
1. Déclaration de fonction
Syntaxe : Exemple
112
INITIATION PROGRAMMATION WEB
2. Expressions de fonction
Une fonction JavaScript peut également être définie à l'aide
d'une expression.
Syntaxe :
Var variableName = function (parametres) {
« instructions »
}
Exemple
<!DOCTYPE html>
<html>
<body>
<p>Une fonction stockée dans une variable :</p>
<p id="demo"></p>
<script>
var som = function (a, b) {return a * b};
document.getElementById("demo").innerHTML = som(2,50);
</script>
</body>
</html>
113
INITIATION PROGRAMMATION WEB
Evénement Description
Abort Cet événement a lieu lorsque l'utilisateur interrompt le
(onAbort) chargement de l'image
Se produit lorsque l'élément perd le focus, c'est-à-dire
Blur
que l'utilisateur clique hors de cet élément, celui-ci
(onBlur)
n'est alors plus sélectionné comme étant l'élément actif.
Change Se produit lorsque l'utilisateur modifie le contenu d'un
(onChange) champ de données.
Click Se produit lorsque l'utilisateur clique sur l'élément
(onClick) associé à l'événement.
Se produit lorsque l'utilisateur double-clique sur
l'élément associé à l'événement (un lien hypertexte ou
dblclick
un élément de formulaire). Cet événement n'est
(onDblclick)
supporté que par les versions de Javascript 1.2 et
supérieures
114
INITIATION PROGRAMMATION WEB
Evénement Description
Se produit lorsque l'utilisateur effectue un glisser-
dragdrop déposer sur la fenêtre du navigateur.
(onDragdrop) Cet événement n'est supporté que par les versions de
Javascript 1.2 et supérieures
Se déclenche lorsqu'une erreur apparaît durant le
error
chargement de la page.
(onError)
Cet événement fait partie du Javascript 1.1.
Se produit lorsque l'utilisateur donne le focus à un
Focus
élément, c'est-à-dire que cet élément est sélectionné
(onFocus)
comme étant l'élément actif
Se produit lorsque l'utilisateur appuie sur une touche
keydown de son clavier.
(onKeydown) Cet événement n'est supporté que par les versions de
Javascript 1.2 et supérieures
Se produit lorsque l'utilisateur maintient une touche de
keypress son clavier enfoncée.
(onKeypress) Cet événement n'est supporté que par les versions de
Javascript 1.2 et supérieures
Se produit lorsque l'utilisateur relâche une touche de
keyup son clavier préalablement enfoncée.
(onKeypress) Cet événement n'est supporté que par les versions de
Javascript 1.2 et supérieures
Load Se produit lorsque le navigateur de l'utilisateur charge
(onLoad) la page en cours
MouseOver Se produit lorsque l'utilisateur positionne le curseur de
(onMouseOver) la souris au-dessus d'un élément
115
INITIATION PROGRAMMATION WEB
Evénement Description
Se produit lorsque le curseur de la souris quitte un
MouseOut
élément.
(onMouseOut)
Cet événement fait partie du Javascript 1.1.
Reset Se produit lorsque l'utilisateur efface les données d'un
(onReset) formulaire à l'aide du bouton Reset.
Resize Se produit lorsque l'utilisateur redimensionne la fenêtre
(onResize) du navigateur
Se produit lorsque l'utilisateur sélectionne un texte (ou
Select
une partie d'un texte) dans un champ de type "text" ou
(onSelect)
"textarea"
Se produit lorsque l'utilisateur clique sur le bouton de
Submit
soumission d'un formulaire (le bouton qui permet
(onSubmit)
d'envoyer le formulaire)
Unload Se produit lorsque le navigateur de l'utilisateur quitte la
(onUnload) page en cours
116
INITIATION PROGRAMMATION WEB
ANNEXE
I. La liste complète des balises HTML5
Balise Description
<!– … –> Définit un commentaire
<!DOCTYPE> Définit le type du document
<a> Définit un lien
<abbr> Définit une abréviation
<address> Définit une adresse
<area> Définit une zone à l’intérieur d’une image
<article>NOUVEAU Définit un article
<aside>NOUVEAU Définit une partie latérale au contenu
<audio>NOUVEAU Définit un fichier audio
<b> Texte en gras
Définit une URL de base pour tous les liens
<base>
de la page
<bdo> Définit la direction du texte
<blockquote> Définit une longue citation
<body> Définit le corps de la page
<br> Saut de ligne
<button> Définit un bouton cliquable
<canvas>NOUVEAU Définit un graphique
<caption> Légende du tableau
<cite> Définit une citation
117
INITIATION PROGRAMMATION WEB
118
INITIATION PROGRAMMATION WEB
119
INITIATION PROGRAMMATION WEB
120
INITIATION PROGRAMMATION WEB
121
INITIATION PROGRAMMATION WEB
122
INITIATION PROGRAMMATION WEB
1. Bibliothèque .......................................................................41
2. Découverte de bootstrap .....................................................43
II. Installation de bootstrap ................................................................................................... 45
123
INITIATION PROGRAMMATION WEB
I. Historique du JavaScript....................................................91
II. Les bases du langage JavaScript ........................................91
1. Le concept de variable.................................................................................................... 91
2. Les types de variables .................................................................................................... 92
3. Conversion des variables .............................................................................................. 94
4. Les opérateurs .................................................................................................................. 95
124
INITIATION PROGRAMMATION WEB
125