séance-1-3-ème-sti 2023-2024fv3
séance-1-3-ème-sti 2023-2024fv3
séance-1-3-ème-sti 2023-2024fv3
Initiation au langages :
HTML
CSS
JavaScript
0
Sommaire
HTML5
Définitions
🙧 Le Web a été inventé par Tim Berners-Lee au début des années 1990, c'est un
service Internet qui permet la recherche d'informations dans les sites web.
🙧 Un site web est un ensemble de pages web reliées entre elles par des liens hypertexte
🙧 Une page web contient des informations (texte, image, son, vidéo)
🙧 Un navigateur web est un programme qui permet de naviguer sur le Web
A ctivité 1: ouvrir un navigateur web ,visiter un site web
exemple :www.hourofcode.com puis cliquer avec le bouton droit de la souris à
l’intérieur de la page et choisir inspecter.
🙧 HTML (HyperText Markup Language) : il a fait son apparition dès 1991 lors du
lancement du Web. Son rôle est de gérer et organiser le contenu de la page
(paragraphes, titres…) ;
🙧 C'est le navigateur web qui fera la traduction entre ces langages informatiques et ce
que vous verrez s'afficher à l'écran.
Activité 2:affichage sans style :
Cliquer sur alt ,choisir affichage
puis style de pagesans style
Page avec
style Page sans
style
2
🙧 CSS (Cascading Style Sheets, aussi appelées Feuilles de style) : permet de mettre en
forme la page web
(couleur, taille…). Ce langage est venu compléter le HTML en 1996.
Javascript le rend
CSS l'embellit dynamique
La structure
🙧 . Pour créer des pages web, on utilise des langages de conception de site web parmi
lesquels : HTML
,CSS et javascript.
🙧 Il y a eu plusieurs versions des langages HTML et CSS. Les dernières versions sont HTML5
et CSS3
🙧 L'éditeur de texte :
Ce sont des programmes dédiés à l'écriture de code. On peut, en général, les utiliser
pour de multiples langages, pas seulement HTML et CSS.
Exemples :
3
.
Que remarquez-vous ?
4
Le document HTML contient un ensemble de balises tels que, <html>, <body>,
<head>, …
Un document HTML commence par la balise <HTML> et finit par la balise </HTML>. Il
contient également un en-tête décrivant le titre de la page, puis un corps dans lequel se
trouve le contenu de la page. L'en-tête est délimité par les balises <HEAD> et
</HEAD>. Le corps est délimité par les balises <BODY> et </BODY>.
Balise Rôle
<!DOCTYPE html> Elle indique qu'il s'agit bien d'une page web HTML
5
L’encodage (charset) détermine comment les caractères
<meta
charset="utf-8" /> spéciaux vont s'afficher (accents, idéogrammes chinois et
japonais, caractères arabes, etc.).
<meta name="viewport" La propriété width contrôle la taille de la zone d'affichage.
content="width=device-width, Elle peut être définie sur un nombre spécifique de pixels
initial-scale=1" /> comme width=600 ou sur la valeur spéciale device-width, qui
est la largeur de l'écran en pixels CSS à une échelle
de 100%
title Définit le titre de la page web qui sera affiché dans la barre du titre
du navigateur.
body Elle est utilisée pour définir le contenu de la page Web.
Pour visualiser le résultat dans un navigateur web cliquer sur F5,puis choisir le
navigateur ou cliquer sur Exécuter puis choisir démarrer le débogage
6
Quelques balises html :
Balise Fonction Exemple
<b>< /b> Gras
<i></i> italique
<br> Saut de ligne
<u></u> Souligné
<FONT SIZE= "**" Mise en
COLOR="#****" forme des
FACE="****"> ……</FONT> caractères
<SUP>…..</SUP> Exposant
<HR SIZE= "**" Ligne de
COLOR="#****" séparation
WIDTH="****"
ALIGN="CENTER/LEFT/RIGH
t">
<p> …</p> Nouveau
paragrap
he
<h1> </h1> Créer des titres ( 6
…… niveaux de titres)
<h6> </h6>
Remarques :
1) On distingue deux types de balises :
🙧 Balises paires : <balise> </balise> : elles s'ouvrent et se ferment pour délimiter
le contenu
🙧 Balises orphelines : <balise /> : on ne les insère qu'en un seul exemplaire
2)Un commentaire : Les commentaires sont des notes, des informations et des
détails qui accompagnent le code source et qui ne s’afficheront pas sur la page web
Cela permet une meilleure relecture du code. La forme d’une balise contenant un
commentaire est : <!-- commentaire -->
Exemples :
Application 1 :
Compléter le code suivant par les balises adéquates pour assurer les
taches décrites ci dessous
8
<!DOCTYPE html>
<html> 1) Ajoutez un titre de niveau 1
<head> 2) A la suite du titre, ajoutez un
<meta charset="utf-8" /> paragraphe indiquant "la définition
<title>Html 5</title> de html5:"
9
</head> 3) Ajoutez une liste ordonnée d'au
<body> moins trois différences avec html que
</body> vous allez rechercher
</html> 4)Mettez en valeur (emphase forte) la
première différence
Rappel
🙧 L’attribut background de la balise body permet de mettre une image comme arrière-
plan d'une page.
Exemple:<body background="images\image2.jpg">
III)Insertion d’objets :
1) Les images :
- src : il permet d'indiquer où se trouve l'image que l'on veut insérer. Vous
pouvez soit mettre un chemin absolu (ex. :http://www.site.com/fleur.png), soit
mettre le chemin en relatif(ex : src="images/fleur.png")
- alt : cela signifie « texte alternatif ». c'est-à-dire un court texte qui décrit ce
que contient l'image. Ce texte sera affiché à la place de l'image si celle-ci ne
peut pas être téléchargée
Cela aide aussi les robots des moteurs de recherche pour les recherches d'images.
10
<p> - Survolez la photo avec la
Voici une photo de la montagne :<br /> souris pour voir l'infobulle
<img src="images/montagne.jpg" apparaître.
alt="Photo de montagne"
title="C'est beau les Alpes quand même !"
/>
</p>
11
Les figures
L'élément HTML <figure> représente une figure (un schéma), qui peut être
accompagné d'une légende grâce à l'élément <figcaption>. C'est souvent une
image, une illustration, un diagramme, un fragment de code ou un schéma auquel il
est fait référence dans le texte principal mais qui peut être utilisé sur une autre
page ou dans une annexe sans que cela affecte le contenu principal.
Quand dois-je placer mon image dans un paragraphe et quand dois-je la placer dans
une figure ?
- Si elle n'apporte aucune information (c'est juste une illustration pour décorer)
: placez
Exemple :
<figure>
<img src="pic_trulli.jpg" alt="Trulli">
<figcaption>Fig.1 - Trulli, Puglia, Italy.
</figcaption>
</figure>
- Si elle apporte une information : placez l'image dans une figure <figure>.
12
🙧 src ="adresse" : définit l'adresse absolue (http://...) ou relative de l'image à
afficher.
13
🙧 width ="largeur" et height ="hauteur" : définissent la largeur et la hauteur de l'image
en pixels.
🙧 alt ="texte": cela signifie « texte alternatif », décrit ce que contient l'image. Ce
texte sera affiché à la place de l'image si celle-ci ne peut pas être téléchargée
(cela arrive).
🙧 border ="taille": définit la largeur de la bordure autour de l'image.
🙧 align ="alignement" permet de définir l'alignement de l'image ("left", "center","right").
2) L’audio :
Quelques formats audio :
MP3 : il est très utilisé aujourd'hui.
.AAC : utilisé majoritairement par Apple sur iTunes, ( iPod, iPhone et autres iPad )
WAV (format non compressé) : car le fichier est très volumineux, on ne l'utilise pas
Activité 6: Ajouter un fichier audio ‘song.mp3’
Autres attributs :
🙧 controls : pour ajouter les boutons « Lecture », « Pause » et la barre de défilement.
🙧 width : pour modifier la largeur de l'outil de lecture audio.
🙧 loop : la musique sera jouée en boucle.
🙧 autoplay : la musique sera jouée dès le chargement de la page.
3) Insertion d'une vidéo
Quelques formats : mp4, H.264, Ogg Theora webm…
Autres attributs :
🙧 poster : image à afficher à la place de la vidéo tant que celle-ci n'est pas lancée. Par
défaut, le navigateur prend la première image de la vidéo.
🙧 controls : pour ajouter les boutons « Lecture », « Pause » et la barre de défilement.
🙧 width : pour modifier la largeur de la vidéo.
🙧 height : pour modifier la hauteur de la vidéo.
🙧 loop : la vidéo sera jouée en boucle.
🙧 autoplay : la vidéo sera jouée dès le chargement de la page
14
Activité 7: Ajouter un tableau
1) Créer un nouveau fichier HTML et l’enregistrer avec le nom activité7.html
2) Ajouter les lignes suivantes dans la balise body et visualiser votre travail.
<table border="1">
<tr>
<th> le langage html5 </th>
<th> le langage css3 </th>
</tr>
<tr>
<td> structure</td>
<td>le design </td>
</tr>
</table>
Remarques
1-pour mettre en forme le document html cliquer avec le bouton droit de la souris et cho
2-On peut installer une extension pour avoir un aperçu direct au fur et à mesure qu’on
sur extension puis rechercher ou choisir l’extension voulu)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-
width, initial-
scale=1.0">
<title>Document</title>
</head>
<body>
<table border="1">
<tr>
<th>Month</th>
<th>Savings</th>
<th>Month</th> Toujours on met colspan et
<th>Savings</th> rowspan dans la cellule en haut à
</tr>
gauche de la zone à fusionner.
<tr>
<td>February</td>
<td
colspan="2"
rowspan="2">$80</td>
<td>$80</td>
</tr>
<tr>
<td>February</td>
<td>$80</td>
</tr>
<tr>
<td colspan="2">Sum:
$180</td>
<td colspan="2">Sum:
$180</td>
</tr>
</table>
12
IIICréation des liens hypertexte
LIEN HYPERTEXTE
Lien absolu
: Vers un
autre site Ou Lien relatif : Lien vers un ancre :
une autre Vers une autre page du Vers un endroit dans la
page même site même page
du même
site
<!DOCTYPE html>
<html>
<head>
<meta charset = "UTF-8">
<title> liens </title>
</head>
<body>
<h1> Les liens en HTML
</h1>
<p> Rechercher avec Google :
<a href ="https://www.google.com/" >
www.google.com </a> </p>
<p> Ouvrir Facebook
<a href="https://www.facebook.com"> Facebook
</a></p>
</body>
</html>
🙧 Les attributs :
- target : pour spécifier la fenêtre d'affichage du lien. ( "_blank","_parent","_self",
"_top").
- Title : permet d’afficher un texte au survol du lien.
Exemple :
<a href ="https://www.google.com/" title ="Lien vers le moteur de recherche
13
google" target="_blank">
www.google.com </a>
2) Le lien relatif
Pour se déplacer vers une autre page du même site, utiliser la balise : < a href =
"page cible"> </a>
14
Exemple : <a href ="acceuil.html " > Page d’accueil </a>
……………………………………………………………………………………………………………………………
……
……………………………………………………………………………………………………………………………
……
Activité 9: dans le fichier de l’activité4, créer le lien : « cliquer ici pour aller vers le bas
de la page »
<body>
<h1> Les liens en HTML </h1>
<p><a href="#bas">cliquer ici pour
aller
vers le fin de la page</a></p>
<p> Rechercher avec Google :
<a
href="https://www.google.com/">
www.google.com </a>
</p>
<p> Ouvrir Facebook
<a
href="https://www.facebook.com"> Facebook
</a>
</p>
<h3 id="bas"> fin de la page </h3>
</
body>
Propriété interpréter
<a href=” “ target=”_self”> le contexte de navigation actuel. (Par défaut)
<a href=” “ target=”_parent”> le contexte de navigation parent de celui en cours. S'il n'y a pas de
parent, il se comporte comme _self.
<a href=” “ target=”_blank”> généralement un nouvel onglet, mais les utilisateurs peuvent
configurer les navigateurs pour ouvrir une nouvelle fenêtre à la place.
15
TP1 ( HTML5)
1) Lancer l’éditeur visual code
2) Lancer un nouveau fichier (ctrl+N),puis
Remarque :on peut tapper un point d’exclamation puis tapper rntré pour créer une page html de
base
5) Ajouter les lignes suivantes à la fin du fichier tp1et visualiser votre travail.
<h3>Évolutions du langage</h3>
<ul><li>1989-1992 : Origine</li></ul>
</body>
16
En déduire le rôle de chaque balise ol.
…………………………………………………………………………………………………..
………………………………………………………………………………………………
9) Effectuer les modifications présentées dans le tableau ci-dessous sur votre
codeHTML.
N Modification Résult
° at
1 <ol type="A">
2 <ol type="a">
3 <ol type="I">
4 <ol type="i">
Remarque :
17
LES FEUILLES DE STYLE
INTRO :
Le langage CSS (Cascading Style Sheets : Feuilles de Style en Cascade) a été développé
par le W3C (World
Wide Web Consortium) à partir de 1996.
Il a pour but de séparer totalement la présentation d'une page Web de son contenu (c'est
à dire du langage HTML), et de faciliter ainsi la maintenance et l'accessibilité d'un site.
Activité1 :
1) Lancer l'éditeur Visual code studio
2) Créer un nouveau fichier et l’enregistrer dans votre dossier de travail sous le
nom tp2.html
3) Ecrire un code HTML permettant de réaliser la page web représentée ci-dessous.
……………………………………………………………………
……………………………..………
……………………………………………………………………
…
……………………………………………………………………
……………………
4) Effectuer les modifications ci-dessous sur la balise p.
<p style ="color:blue; font-size:24px; font-family:arial;">
5) Visualiser votre travail, que remarquez-vous ?
style est un attribut.
- On respecte la syntaxe du CSS à l’intérieur de l’attribut style en utilisant les
deux-points et les points virgules.
19
10) Ajouter la ligne suivante dans la balise head.
I. PRINCIPE :
Le design d'un site évolue toujours au fil du temps. Le problème, lorsqu'on n'utilise pas de
feuilles de style, c'est qu'il faut reprendre toutes les pages html une à une pour modifier
une police de caractère ou une couleur de fond... Avec les "Cascading Style Sheets"
(CSS), ce lourd handicap est résolu.
C'est dans la feuille de style CSS que l'on va déclarer toute la mise en forme des pages :
le positionnement des éléments, l'image de fond, les polices de caractère, les
couleurs,etc.
Celle-ci sera liée à chaque page html. Ainsi, lorsqu'on en modifiera un élément, cela se
répercutera immédiatement sur toutes les pages html.
Où écrit-on le code CSS ?
20
Dans la balise <head>, on ajoute la BALISE LINK :
21
<link rel="stylesheet" href="Chemin
d'accès/NOM_FICHIER.css"/>
Avantages :
Obtenir une présentation homogène sur tout un site en faisant appel sur toutes les pages à une
même définition de style
Simplifie le code.
Une maintenance de site beaucoup plus facile.
Meilleure accessibilité : permet de produire des pages web respectueuses des normes du W3C,
les pages seront donc accessibles pour la majorité des navigateurs (ordinateurs, tablettes,
smartphones, smart TV, …).
Exp. :
Pour écrire
- Soit le code suivant contenu dans le fichier « style.css » : l’accolade { On
p{ utilise le raccouci
color : blue ; clavier :Altgr+4
}
Code : CSS
balise1
{
propriete1:
valeur1;
propriete2:
valeur2;
propriete3:
valeur3;
}
balise2
{
propriete1: valeur1;
…
Note bien :il ne faut pas oublier le point-virgule devant
Remarques :
II.Sélecteurs : class et id
Comme en HTML, il est possible de mettre des commentaires. Les
Il peut s'avérerintéressant
commentaires ne seront pas affichés,d'affecter
ils serventdes styles
simplement différents
à indiquer des
à des mêmes balises. Pour cela les spécifications CSS ont
informations : /* Votre commentaire */
introduit le concept de classe. Pour que certains paragraphes
Exp :
p{
color : blue ; /* les paragraphes de couleur bleu */}
20
seulement soient écrits d'une manière différente on utilise des attributs
spéciaux qui fonctionnent sur toutes les balises :
- L'attribut class.
- L’attribut id.
1. L'attribut class :
Il peut s'avérer intéressant d'affecter des styles différents à des mêmes balises.
Pour cela les spécifications CSS ont introduit le concept de classe.
La définition des classes est aussi simple que celles des styles. Elle consiste
à préciser la balise sélectionnée (comme pour une déclaration de style),
puis de lui ajouter un point (.) et le nom que l'on souhaite donner à la classe. Le nom de la
classe peut-être composé de lettres (accentuées ou non), de chiffres et de tirets :
Pour appeler une classe dans le code HTML, il suffit de rajouter un attribut class à la balise :
Soit la classe Rouge appliquée à la balise b :
html
Les classes universelles :Il est possible de ne pas préciser de balise, auquel cas la classe pourra être utilisée
dans n'importe quelle balise pour laquelle le style sélectionné a un sens ! On parle alors de classe universelle
(parfois classe indépendante). La définition d'une telle classe se fait en précédant tout simplement le nom de la
classe d'un point :
.Nom-de-la-classe { propriété-de-style: Valeur; propriété-de-style: Valeur;
...;}
21
Soit la classe « important » suivante : css
L’appel de cette classe peut être fait à partir de n’importe quel élément HTML pour lequel la définition
est valide :
Exp. :
<h1
Remarque : Notez l'absence dececi
class="important">Attention point dans l'appel à la classe.
est un avertissement</h1>
2. L'attribut id :
Activité 2 : Modifier la
couleur du fond #couleur
{ background-color: blue; }
A retenir
Quand vous voulez appliquer un style à un bloc ou un élément spécifique, utilisez un attrib
Dans la feuille de style CSS, les règles seront écrites avec la syntaxe :
#nom_id à pour les id
.nom_de_classe à pour les class
22
Les éléments HTML div et span ont été créés principalement pour simplifier la mise en page
des pages HTML en
CSS c’est-à-dire pour simplifier l’application de certains styles CSS.
<body>
<div class="mauve">
<h1> CSS : Cascading Style Sheets </h1>
<p> Les feuilles de style en cascade, généralement appelées CSS de l'anglais
<span id="vert" class="souligne">Cascading Style Sheets </span>, forment
un langage informatique qui décrit la présentation des documents HTML et XML.
</p>
</div>
</body>
C'est une balise de type inline, c'est-à-dire une balise que l'on place au sein
d'un paragraphe de texte, pour sélectionner certains mots uniquement. Les
balises <strong> (rendre du texte important) et <em> (insister sur du texte)
sont de la même famille.
Ainsi, on va pouvoir placer une certaine partie du texte d’un titre ou d’un
paragraphe dans un élément span pour ensuite pouvoir lui appliquer un style
CSS particulier, chose qu’il nous était impossible de faire jusqu’à présent.
23
Si on veut spécifier un mot <span> </span> : c'est une balise de type inline, que l'on
place dans un paragraphe, pour sélectionner certains mots uniquement.
Exp.
Code : HTML
Code : CSS
.salutations
{
color: blue;
}
Block (div)
Inline (span)
IV.Formatage du texte
a) Introduction Le choix de la ou les polices de caractères doit se faire
en connaissance de cause car elle est sujette aux contraintes suivantes
:
Code : CSS
p
{
font-size: 14px; /* Paragraphes de 14 pixels */
}
h1
{
26
font-size: small; /* Titres de petite taille */
}
h2
{
font-size: 1.4em;
}
A2. /font-style
Exemple :
Si vous voulez que les textes entre <em> ne soient plus en italique, vous devrez
écrire en CSS :
em { font-style: normal; }
La propriété CSS pour mettre en gras est font-weight et prend les valeurs suivantes :
Exemple :
Pour écrire les titres en gras : h1 { font-weight: bold; }
A. 4/La police font-family
- La propriété CSS qui permet d'indiquer la police à utiliser est font-family .
balise {
font-family: police1, police2, police3, police4;
}
- Le navigateur essaiera d'abord d'utiliser la police1. S'il ne l'a pas, il essaiera la
police2. S'il ne l'a pas, il passera à la police3, et ainsi de suite.
- Voici une liste de polices qui fonctionnent bien sur la plupart des navigateurs :
Arial ; Arial Black ; Comic Sans MS ; Courier New ; Georgia ; Impact ; Times
New Roman ; Trebuchet MS ; Verdana.
- Si le nom de la police comporte des espaces, je conseille de l'entourer de
guillemets, comme je l'ai fait pour « Arial Black ».
27
B-Mettre en forme le texte
B.1 text-decoration
Voici les différentes valeurs qu'elle peut prendre :
underline : souligné ; p{text-decoration: underline;}
line-through : barré p{text-decoration: line-
; through;}
overline : ligne au- p{text-decoration: overline;}
dessus
;
blink : clignotant p{text-decoration: blink;} Ne fonctionne pas sur
tous les navigateurs
(Internet Explorer et
Google Chrome,
notamment) ;
none : normal (par
défaut).
Exemple :
h1 { text-align: center; }
p { text-align: justify; }
.signature { text-align: right; }
Remarque : Vous ne pouvez pas modifier l'alignement du texte d'une balise inline,
28
L'alignement ne fonctionne que sur des balises de type block.
29
B.3. L’indentation : text-indent
La propriété text-indent définit la longueur qui doit être laissée avant le début de la
première ligne d'un élément contenant du texte. L'espacement horizontal se fait en
accord avec le bord gauche (ou droit pour les dispositions de droite à gauche) de
l'élément contenant le texte. Les valeur sont :
Longuer : Absolus par exemple 3mm , 40px, -3em … ou en pourcentage en proportion de la largeur du
bloc englobant exemple 15%
each-line : L'indentation n'affecte que la première ligne du bloc et chaque ligne située après un saut de
ligne forcé. Cela n'affecte pas les lignes situées après un retour à la ligne automatique (wrap).
hanging : Inverse les lignes indentées. Toutes les lignes, sauf la première, seront indentées.
initial : valeur globale utilisé pour définir une propriété CSS sur sa valeur par défaut.
inherit : valeur globale qui Donne à une propriété la même valeur que celle de l'élément parent.
unset : valeur globale qui correspond à la combinaison des mots-clés initial et inherit. Autrement dit, s'il
y a de l'héritage, ce mot-clé se comporte comme inherit, sinon, il se comporte comme initial.
Remarque : Les mots-clés globaux (initial, inherit et unset ) peuvent être utilisés
pour n'importe quelle propriété CSS
Activité 8 :
soit le code CSS suivant :
div.a { text-indent: 50px ; }
div.b { text-indent: -2em ; }
div.c { text-indent: 30% ; }
div.d { text-indent: 5em each-line ; }
div.e { text-indent: 5em hanging ; }
div.f { text-indent: 5em hanging each-line ; }
Ecrire une page HTML qui exploite le code CSS ci-dessus.
30
• 1ère valeur : déplacement horizontal de l’ombre ;
• 2ème valeur : déplacement vertical de l’ombre ;
• 3ème valeur : rayon de propagation (flou gaussien) de l’ombre ;
• 4ème valeur : couleur de l’ombre (accepte les mêmes valeurs que la propriété
« color »).
Exemple :
text-shadow: 1px 1px 2px pink;
html
<!DOCTYPE html>
Css :
<html lang="en">
.miseenforme{
<head>
Résultat
/* : charset="UTF-8">
color
<meta | offset-x | offset-y | blur-radius
*/
<meta name="viewport" content="width=device-width, initial-
B.6-Miniscule
text-shadow: ou #fc0
scale=1.0"> Majuscule
1px :0text-transform
10px;
<title>Document</title>
On utilisera la propriété text-transform
<link rel="stylesheet" pour modifier l’aspect des caractères d’un
href="style.css">
texte (majuscules ou minuscules). Nous pouvons choisir parmi quatre valeurs :
</head>
<body>
• Uppercase : transforme tout le texte en majuscules ;
<p class="miseenforme">bienvenu</p>
• Lowercase
</body> : met tout le texte en minuscules ;
• Capitalize : met uniquement la première lettre de chaque mot en majuscule ;
• None : pas de transformation ;
Exemple : CSS :
31
B.7-Dépassement de texte (overflow)
Si vous voulez que le texte ne dépasse pas des limites du bloc, il va falloir
utiliser la propriété overflow. Voici les valeurs qu'elle peut accepter :
• visible (par défaut) : si le texte dépasse les limites de taille, il reste visible et
sort volontairement du bloc.
• hidden : si le texte dépasse les limites, il sera tout simplement coupé. On ne
pourra pas voir tout le texte.
• scroll : le texte sera coupé s'il dépasse les limites. Sauf que cette fois, le
navigateur mettra en place des barres de défilement pour qu'on puisse
lire l'ensemble du texte.
• auto : le navigateur décide de mettre ou non des barres de défilement.
32
B. 9/ Couleur du texte color
rgb (0..255,0..255,0..255)
rgba (0..255,0..255,0..255,opacité:0..1)
Code : CSS
h1
{color: aqua;} p
32
{color:
#FFFFFF;}
h2
{color: rgb(240,96,204);}
• no-repeat : le fond ne sera pas répété. L'image sera donc unique sur la page.
• repeat-x : le fond sera répété uniquement sur la première ligne, horizontalement.
• repeat-y : le fond sera répété uniquement sur la première colonne, verticalement.
• repeat : le fond sera répété en mosaïque (par défaut).
Exemple :
33
body {
background-image: url("soleil.png");
background-attachment: fixed; /* Le fond restera fixe*/
background-repeat: no-repeat; /* Le fond ne sera pas répété */
background-position: top right; /* Le fond sera placé en haut à droite */
}
La première image de cette liste sera placée par-dessus les autres. Attention donc,
l'ordre de déclaration des images a son importance : si vous inversez le soleil et la
neige dans le code CSS précédent, vous ne verrez plus le soleil !
La transparence opacity
Il faut donc choisir une valeur comprise entre 0 et 1. Ainsi, avec une valeur de 0.6,
votre élément sera
opaque à 60%… et on verra donc à travers !
Code : CSS p
h1 { background-color: black;
{ background-color: green ; color: color: white;
white; opacity: 0.3;
opacity: 0.5; }
}
34
Le CSS nous offre deux méthodes pour fixer le niveau d’opacité.
Si nous avons utilisé une valeur de type nom de couleur ou
hexadécimale avec la propriété color, nous devrons utiliser la
propriété opacity pour fixer l’opacité.
Si nous avons utilisé une valeur de type RGB avec la propriété color , nous
pouvons également maîtriser l’opacité de notre texte d’une façon plus simple,
en utilisant une valeur de type RGBa. Dans ce cas, il suffit de rajouter une
valeur pour l’opacité de notre texte après les trois valeurs de notre propriété
RGB.
- Les dégradés linéaires sont définis par un axe : la ligne du dégradé. Chaque point de
cette ligne aura une couleur différente. Les lignes perpendiculaires à la ligne du dégradé
ont chacune une couleur qui est celle du point se situant sur la ligne du dégradé à ce
niveau.
- Les dégradés sont des valeurs de type <image> et non des couleurs type <color>.
- Il est possible de définir des couleurs intermédiaires grâce à des points d'arrêt de
couleurs qui seront situés sur la ligne du dégradé. Cela permet de créer une transition
non linéaire ou d'utiliser plusieurs couleurs sur un seul dégradé.
- La position d'un point d'arrêt peut être définie de façon explicite en utilisant une longueur
(valeur de type
<length>) ou un pourcentage (valeur de type <percentage>).
Exemple : CSS :
Body{
background: linear-gradient(#e66465, #9198e5);}
35
<div id="grad1"></div>
#grad1 {
height: 200px;
background-color: red; /* For browsers that do not
support gradients */
This linear gradient starts red at the top,
background-image: linear-gradient(red, yellow);}
transitioning to yellow at the bottom:
<div id="grad1"></div>
#grad1 {
height: 200px;
background-image: linear-gradient(to right,
rgba(255,0,0,0), rgba(255,0,0,1));
}
Constatation :
Le fond de la page sera un dégradé dont la direction est de gauche à droite qui commence avec le rouge jusqu’à
10% de larguer puis un bleu positionné a 30% de la largeur et enfin un orange qui commence à 90% jusqu’a la
fin.
Valeurs :
- Coté ou coint : Les valeurs to top, to bottom, to left et to right correspondent respectivement aux angles 0deg,
180deg, 270deg, 90deg.
- angle : L'angle de la direction du dégradé. L'angle démarre à partir de to top et progresse dans le sens des
aiguilles d'une montre.
- point d’arrêt : Une valeur composée d'une valeur <color> éventuellement suivie d'une position (un pourcentage
ou une longueur <length>) sur l'axe du dégradé.
- indice de couleur : Cette valeur est une indication pour l'emplacement de la couleur moyenne entre les deux
couleurs des points d'arrêt adjacents. Si cette valeur n'est pas utilisée, la moitié de la transition se produit à
équidistance entre les deux points d'arrêt.
Activité :
Créer des dégradés avec les exemples suivants :
CSS :
- background : linear-gradient( 135deg , red , blue );
- background : linear-gradient( 135deg , red , red 60%, blue );
- background : linear-gradient( to right , red , orange , yellow, green , blue , indigo , violet );
- background : linear-gradient( to bottom right , red , rgba( 0 , 0 , 0 , 0) );
36
Tp3
Exercice
1:
En saisissant le code suivant, on constatera la différence entre la présence d’un paragraphe
dans un bloc généré avec <div> et l’existence d’un paragraphe en dehors d’un bloc :
Style.css :
Page.html
body{ :
background-color: lightBlue; }
<!DOCTYPE html>
<html>
div{ color: white;
<head>
background-color: purple;
<meta80%;
width: charset="utf-8">
/*Définit la largeur des div à 80% de leur parent (body
<title>balise avec attribut</title>
ici)*/
<link 0rel="stylesheet"
margin: href="style.css"
auto; /*Permet de centrer les div/>dans leur élément parent
</head>
(body ici)*/
}
<body>:
Résultat
<h1>Un titre de niveau 1</h1>
<p>Un premier paragraphe</p>
<p>Un autre paragraphe avec un </p>
<a href="#" title="Infobulle">lien</a>
<ul>
<li><a href="#">Elément de liste (lien) 1</a></li>
<li>Elément de liste 2</li>
</ul>
</body>
</html>
37
Activité 4 :
EnCorrection
modifiant le
: code des fichiers de l’activité précédente, mettre le texte « autre
élément » et html>
<!DOCTYPE
« troisième
<html> » en gras, le fond jaune et couleur de police noir.
<head>
<meta charset="utf-8">
<title>Exemple div</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<h1>Un titre de niveau 1</h1>
<div>
<p>Un premier paragraphe</p>
<p>Un autre paragraphe</p>
<ul>
<li>Un élément de liste</li>
</ul>
</div>
<li>Un <span>autre élément</span> de liste</li>
<div>
<p>Un <span>troisième</span> paragraphe</p>
<p>Un dernier paragraphe</p>
</div>
</body>
</html>
Style.css :
38
body{ background-color: lightBlue; }
Exercice2:
Construisons une section de page à deux colonnes.
L'une des deux colonnes servira pour un menu de
110 pixels de large flottant à gauche, l'autre pour
un contenu placé à 120 pixels du bord gauche
(pour ne pas empiéter sur le menu bien sûr).
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Exemple sélecteur "id"</title>
<link rel="stylesheet" href="Exp_id.css" />
</head>
<body>
<h1>Exemple sélecteur "id"</h1>
<div id="menu">
<ul>
<li>élément 1</li>
<li>élément 2</li>
<li>élément 3</li>
<li>élément 4</li>
<li>élément 5</li>
</ul>
</div>
39
<div id="contenu">
<p> bla bla bla bla bla bla bla </p>
</div>
</
body>
</
html>
Exp_id.css :
#menu {
background-color:silver;
width:110px;
float:left;
}
#contenu {
margin-left:120px;
}
40
D.Les bordures et les ombres
solid : trait
simple dotted
: pointillés
dashed :
tirets
double : bordure double
groove : en relief
ridge : autre effet relief
inset : effet 3D global enfoncé
D.2 Bordures arrondies border-radius outset : effet 3D global surélevé
Pour obtenir des bordures arrondies, utiliser la propriété border-radius en indiquant la taille
de l'arrondi en pixels.
Exemple : border-radius: 10px
41
La propriété border-width peut être définie avec une, deux, trois ou quatre valeurs.
Une valeur peut être une longueur( en px, em, …) ou un mot-clé (thin , medium, thick )indiquant l'épaisseur de la
bordure.
Activité : CSS : Utiliser les codes css suivants pour tester des bordures différentes :
- border: ridge #ccc; border-width: 6px; #une valeur
- border: solid red; border-width: 2px 10px; deux valeurs
- border: dotted orange; border-width: 0.3em 0 9px; #trois valeurs
- border: solid lightgreen; border-width: thin medium thick 1em; #quatre valeurs
42
Border-top-left-radius : 20 px; border-top-left-radius: 30px 20px ;
Avoir une bordure arrondie, bleue, en tirets, épaisse de 3 pixels autour de mes titres :
Code : CSS h1
{
border: 3px blue dashed;
border-radius: 10px;
}
Exemples :
43
La balise <hgroup> </hgroup> :
Dans certains cas de figure, on peut avoir un titre composé de plusieurs éléments et pour
chaque élément un niveau de titre différents (de <h1> à <h6>). Néanmoins, on peut
vouloir leur donner un style unique.
Soit le corps d’une page web suivant :
<body> html
<hgroup>
<h1>Bienvenue sur le
WebMag</h1>
<h2>Le magazine du développeur
web</h2>
</hgroup>
<p>Le contenu ...</p>
</body>
On désire donner le même style suivant aux 2 titres : Alignement à droite avec la
police Verdana. Il faut donc définir le code suivant dans le fichier css :
hgroup { text-align : right ; css
font-family : Verdana ; padding-right : 16px ;
border-right : 10px solid lightblue ; }
La balise <hgroup> est utilisée pour grouper des éléments de titre. Elle permet de
regrouper un ensemble de balises <h1> à <h6>, quand un titre a plusieurs niveaux
(sous-titres).
Le résultat :
Résum
- Class
é :et Id sont deux qui ont été créés pour pouvoir appliquer différents styles à des
typ éléments de même
e.
- Class permet également de faire l’inverse et d’appliquer le même style à différents éléments
choisis.
- id doit être unique dans une page.
- On peut mettre ces deux attributs sur n'importe quelle balise, aussi bien titre que paragraphe,
image, etc.
Les éléments div et span ne possèdent aucune valeur sémantique. Nous allons nous en servir pour
Les balises universelles
entourer des blocs de
code et ainsi pouvoir attribuer des styles particuliers à ces blocs.
La balise <div> est de type en bloc( block), donc un objet rectangulaire qui ne peut être
réparti sur plusieurs lignes. Elle possède les attributs margin, padding, width, height.
Elle est précédée et suivie d'un saut de ligne. Exemple :
44
<div>0000000<div>111111</div>222222</div>
La balise <span> est de type en ligne( inline), elle s'inscrit dans le flux du contenu, peut être
répartie sur plusieurs lignes. On ne peut lui spécifier une hauteur ni une largeur ni
l'entourer d'une marge.
Elle peut être placée à l'intérieur d'un paragraphe pour délimiter une partie de celui-ci sans
affecter en soi l'apparence du texte.
45
VI- Les sélecteurs avancés
Les sélecteurs avancés sont l’une des grandes forces du CSS. En effet, grâce à eux, nous allons pouvoir cibler
du contenu très précisément et assez simplement. Il existe de très nombreux sélecteurs avancés en CSS on
présentera les plus utiles et les plus utilisés dans le tableau suivant :
1. Le sélecteur universel * :
èLe sélecteur étoile * permet de sélectionner tous les éléments HTML d’une page d’un coup,
c’est pourquoi il est
également appelé sélecteur CSS universel.
47
Permet de sélectionner toutes les balises <Y> situées à l'intérieur d'une balise <X>. Notez
qu'il n'y a pas de virgule entre les deux noms de balises.
un attribut : Activité 4 :
Dans le code du fichier page1.html de l’activité précédente, ajouter à la balise <a> un
attribut title
ayant pour valeur "Infobulle" pour obtenir le code suivant :
…
<p>Un autre paragraphe avec un </p>
<a href="#" title="Infobulle">lien</a>
…
En utilisant le fichier style.css, on veut cibler les balises <a> ayant un
attribut title pour donner une taille de police au lien de 50 px :
a[title]
{ font-size: 50px; }
èL’écriture suivante :
Balise [Attribut]
{
}
Permet de cibler des balises précises ayant un attribut précis.
48
5. Une balise qui possède un attribut et une valeur exacte :
50
Propriété CSS Ce qui est concerné :
Exemple :
<!DOCTYPE html>
<html> #entete {
<head> margin: 70px;
<link rel="stylesheet" href="style.css"> border: 1px solid
</head> #4CAF50; padding: 10px;
<body>
51
</body>
</html> }
Exemple :
p{
width: 350px; border: 1px solid black; text-align: justify;
padding: 12px; margin: 50px; /* Marge extérieure de 50px */
}
Exemple :
pRemarque
{ : utiliser la propriété margin: auto pour centrer des
blocs. Pour
width: 350px;cela,/*ilOn
faut obligatoirement
a indiqué donner
une largeur une largeur
(obligatoire) */ au bloc
(avec la propriété
margin: auto; /* On width).
peut donc demander à ce que le bloc soit centré avec auto */ }
52
Le positionnement
Les positionnements absolu, fixe et relatif
La propriété CSS position permet de positionner avec précision des
éléments sur la page. Pour cela, on lui donne une de ces valeurs :
Exemple :
element
{ position: absolute;
right: 0px; bottom:
0px; }
Remarque : les éléments positionnés en absolu sont placés par-dessus le reste des
éléments de la page ! Par ailleurs, si vous placez deux éléments en absolu vers le même
endroit, ils risquent de se chevaucher. Dans ce cas, utilisez la propriété z-index pour
indiquer quel élément doit apparaître au dessus des autres. L'élément ayant la valeur de z-
index la plus élevée sera placé par dessus les autres, comme le montre la figure ci-contre.
53
Le positionnement inline-block
En CSS la propriété display permet de transformer n'importe quel élément de la page d'un
type vers un autre et les faire apparaître sous forme de blocs. À ce moment-là, les
éléments vont se positionner les uns en-dessous des autres et il devient possible de
modifier leurs dimensions !
Voici quelques-unes des principales valeurs que peut prendre la propriété display :
Valeur Exemples Description
inline <a>, <em>, <span>… Eléments d'une ligne. Se placent les uns à côté des
autres.
block <p>, <div>, <section>… Eléments en forme de blocs. Se placent les uns
endessous des autres et peuvent être
redimensionnés.
inline-block <select>, <input> Eléments positionnés les uns à côté des autres
(comme les inlines) mais qui peuvent être
redimensionnés (comme les blocs).
none <head> Eléments non affichés.
Les éléments en inline-block nous permet d'utiliser la propriété vertical-align. Cette
propriété permet de modifier l'alignement vertical des éléments. Voici quelques-unes
des valeurs possibles pour cette propriété :
• baseline : aligne de la base de l'élément avec celle de l'élément parent (par défaut) ;
• top : aligne en haut ;
• middle : centre verticalement ;
• bottom : aligne en bas ;
• (valeur en px ou %) : aligne à une certaine distance de la ligne de base (baseline).
54
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="vertical.css">
Code css
</head> img.a {
<body> vertical-align: baseline;
}
<h1>The vertical-align Property</h1>
img.b {
<h2>vertical-align: baseline (default):</h2> vertical-align: text-top;
<p>An <img class="a" src="sqpurple.gif" }
width="9" height="9"> image with a default
alignment.</p> img.c {
vertical-align: text-
<h2>vertical-align: text-top:</h2> bottom;
<p>An <img class="b" src="sqpurple.gif" }
width="9" height="9"> image with a text-top
alignment.</p> img.d {
vertical-align: sub;
<h2>vertical-align: text-bottom:</h2> }
<p>An <img class="c" src="sqpurple.gif"
width="9" height="9"> image with a text-bottom img.e {
alignment.</p> vertical-align: super;
}
<h2>vertical-align: sub:</h2>
<p>An <img class="d" src="sqpurple.gif"
width="9" height="9"> image with a sub
alignment.</p>
<h2>vertical-align: sup:</h2>
<p>An <img class="e" src="sqpurple.gif"
width="9" height="9"> image with a super
alignment.</p>
</body>
</html>
55
Display :
Activité :ouvrir le dossier display qui se trouve sur le bureau
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="display.css">
</head>
<body>
<h1>The display Property</h1>
<h2>display: inline</h2>
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum consequat
scelerisque elit sit amet consequat. Aliquam erat volutpat. <span
class="a">Aliquam</span> <span class="a">venenatis</span> gravida nisl sit amet
facilisis. Nullam cursus fermentum velit sed laoreet. </div>
<h2>display: inline-block</h2>
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum consequat
scelerisque elit sit amet consequat. Aliquam erat volutpat. <span
class="b">Aliquam</span> <span class="b">venenatis</span> gravida nisl sit amet
facilisis. Nullam cursus fermentum velit sed laoreet. </div>
<h2>display: block</h2>
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum consequat
scelerisque elit sit amet consequat. Aliquam erat volutpat. <span
class="c">Aliquam</span> <span class="c">venenatis</span> gravida nisl sit amet
facilisis. Nullam cursus fermentum velit sed laoreet. </div>
</body>
</html>
56
Code css : span.b {
span.a { display: inline-
display: inline; /* the default for span */ block; width: 100px;
width: height:
100px; 100px;
height: padding:
100px; 5px;
padding: border: 1px solid
5px; blue; background-
border: 1px solid color: yellow;
blue; background- }
color: yellow;
vertical-align:top;
}
span.c {
display:
block; width:
100px;
height:
100px;
padding: 5px;
border: 1px solid blue;
background-color: yellow;
}
Habillage
.imageflottante
{
float:
left;
width:
100px;
}
p{
width
: 400px;
} Rendu :en inspectant
l’image
Le CSS permet de faire flotter un élément autour d'un texte grâce à la propriété CSS
float.
Modifier
Ajouter la largeur
une classeduà paragraphe
l’image du contenant l’image
logo du html 5 à 400px
p{
.imageflottante
{ width: 400px;
} float:
Floatleft;
:right modifier la valeur du float avec right
.imageflottante
width:
{
float: right; width: 100px;
}
p{
width: 400px;
}
Float :none :
.imageflottante
{
float: none; width: 100px;
}
p{
width: 400px;
}
Dans cet exemple l’image va s’afficher ou elle apparait dans le texte (float: none;)
58
La propriété clear indique si un élément peut être situé à côté d'éléments flottants qui le
précèdent ou s'il doit être déplacé vers le bas pour être en dessous de ces éléments. La
propriété clear s'applique aux éléments flottants comme aux éléments non-flottants.
box-shadow
La propriété CSS box-shadow ajoute des ombres à la boîte d'un élément via une liste
d'ombres séparées par des virgules. Une boîte d'ombre est définie avec des décalages
horizontal et vertical par rapport à l'élément, avec des rayons de flou et d'étalement et
avec une couleur.
Exemple :
59
À deux, trois ou quatre valeurs de longueur (<length>) :
o Avec deux valeurs, celles-ci sont respectivement considérées comme les
coordonnées de décalage de l'ombre : <offset-x> et <offset-y>
o Si une troisième valeur est fournie, celle-ci correspondra au rayon du flou : <blur-
radius>
o Si une quatrième valeur est fournie, celle-ci correspondra au rayon
d'étalement : <spread- radius>.
Au mot-clé optionnel inset
À une valeur de couleur (<color>) optionnelle.
Elle permet de projeter une ombre depuis un élément. Si une border-radius est définie sur
l'élément avec l'ombre, la boîte de l'ombre prendra les mêmes arrondis. L'ordre des couches
(z order) pour plusieurs ombres sera le même que pour les ombres texte (la première ombre
est sur le dessus).
60
Animations
2. Plusieurs étapes :
L’intérêt des animations est de pouvoir gérer des étapes intermédiaires. Voici une
nouvelle version de l’animation :
@keyframes taille {
0% {width:
0px;}
61
100% {width: 200px;}
}
On a 3 étapes :
3. Plusieurs propriétés :
4. Démarrage différé :
5. Nombre d’exécutions :
Par défaut, une animation est exécutée une seule fois, si on en veut plus, il faut
utiliser la propriété animation-iteration-count. Toujours avec notre exemple :
div {
animation-name:
taille; height:
100px;
width: 200px;
background-color:
blue; animation-
duration: 4s;
62
Rque :
Si on veut un nombre d’exécutions infini, au lieu de mettre une valeur on
utilisera infinite.
6. Sens de l’animation :
Par défaut une animation va dans le sens normal mais on peut aussi l’obliger à
aller dans l’autre sens en utilisant la propriété animation-direction. On dispose
de deux valeurs :
div {
height:
7. Progression de l’animation
100px; :
width:
200px;
On peut modifier l’animation avec la propriété animation-timing-function et
background-color:
ces valeurs : blue; animation-name:
taille; animation-
ease : début rapide, puis
duration: ça accélère, puis ça ralentit à la fin (c’est l’effet par
4s;
défaut).
linear : même vitesse du début à la fin.
ease-in : début lent.
ease-out : fin lente.
ease-in-out : début et fin lents.
Le style avant et après l’animation est défini par défaut par les règles de
l’élément. On a la possibilité de changer ce comportement en utilisant la
propriété animation-fill-mode. On dispose de ces valeurs :
63
forwards : on garde les valeurs calculées lors de la dernière étape
backwards : on garde les valeurs calculées lors de la première étape
Pour l’instant nous n’avons pas vu de possibilité d’intervention sur une animation.
On dispose de la propriété animation-play-state qui permet une interaction
avec ces valeurs :
64
On peut faire exactement l’inverse et mettre l’animation en action seulement au
survol :
@keyframes taille {
0% {width:
50px}
100% {width: 200px}
}
div {
height: 100px;
background-color:
blue; animation-name:
taille; animation-
duration: 4s;
animation-fill-mode: forwards;
animation-iteration-count:
infinite; animation-direction:
alternate; animation-timing-
function: linear; animation-play-
state: paused;
}
65
Série Animation
Exercice1 :
HTML : Construisez une page HTML <!DOCTYPE html>
De base <html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, initial-
scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
67
du survol du carré avec les critères …………………………………………………
suivants : Durée de la
transition : 2 secondes.
.button:active {
background-color:
#3e8e41; box-shadow: 0
5px #666; transform:
translateY(4px);
}
68
Transitions
Les transitions permettent de passer d'un affichage à un autre pour un même objet, d'un
contenu à un autre, de façon progressive.
1. Syntaxe de la propriété :
transition-property :
Indique à quelle propriété on fournit une transition. Par défaut all, c’est-à-dire toutes les
propriétés.
Par exemple pour changer la couleur progressivement :
transition-property:color;
transition-duration :
Définit la durée totale du temps de la transition. Par défaut la valeur est 0, il n'y a aucune
transition.
Exemple, pour une durée d'une demi-seconde :
transition-duration:0.5s;
transition-timing-function :
Définit la forme de la progression dans le temps, avec des accélérations possibles durant
la transition.
Liste des valeurs possibles:
Indique à quel moment démarre la transition (par rapport à l'évènement qui la déclenche).
Par exemple pour un délai de réaction d'une seconde :
transition-delay: 1s;
69
Par défaut le délai est de 0.
2. Transition :
On peut avoir une liste de groupes de propriétés séparées par une virgule :
transition: color 0.2s ease 1s, top 2s ease-in 0;
Les propriétés élémentaires comme la forme compacte peuvent comporter des listes
séparées par une virgule :
transition-property:color,top;
transition-duraction:1s, 5s;
Les éléments des listes sont associés par leur position dans la liste. Une durée d'une seconde
est attribuée à la propriété color, une durée de 5 secondes à la propriété top.
4. Exemple :
Page.html :
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="tr2.css">
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div>3SI</div>
</body>
</html>
tr2.css :
div{
color: white;
background-color: red;
width: 300px;
height: 300px;
text-align: center;
position: relative;
top: 0;
70
left: 0;
transition:left,border-radius 5s,10s ;
}
div:hover{
left:1000px;
border-radius: 50%;
}
CSS TRANSITIONS CSS ANIMATIONS
Peut passer de l'état initial à
l'état final, avec des étapes
intermédiaires entre les deux
Peut uniquement passer de l'état Peut boucler à l'infini grâce à la
initial à l'état final – aucune propriété animation-iteration-
étape intermédiaire count
Ne peut s'exécuter qu'une seule fois Peut être déclenché mais peut
Nécessite un déclencheur pour également s'exécuter
s'exécuter (comme le survol de la automatiquement
souris) Peut courir en avant, en marche
Courez vers l'avant lorsqu'il est arrière ou dans des directions
déclenché et vers l'arrière lorsque alternatives
la gâchette est retirée Plus difficile à utiliser avec
Plus facile à utiliser avec JavaScript JavaScript
Idéal pour créer un simple Idéal pour créer une série
changement d'un état à un autre complexe de mouvements
Voici un moyen simple de visualiser les principales différences entre les transitions CSS et les
animations :
71
Complément de cours html
View port,blockquote,cite,q,image mappé
Balises HTML 5 relatives à l’adaptation d’une page Web :
Lors des premières utilisations du web sur mobile, les sites étaient très mal adaptés à
l’utilisation avec un téléphone. Les textes étaient illisibles, les images trop petites, des
marges apparaissaient sur les bords de l’écran, etc…
Exemple :
2-On veut afficher dans une page web une phrase avec des espaces comme suit :
73
<p>Voici la structure itérative en Python :
………………for i in range(4):
print("i a pour valeur", i)………………….
</p></body>
<p>Chaque fois que Kenny est tué, Stan dira < ……… >Oh mon Dieu, ils ont tué Kenny ! </
...........................................................................................................................></p>
Résultat :
Retenons :
<blockquote>(qui signifie bloc de citation) indique que le texte contenu dans l'élément est
une citation longue.
<q> permet de placer des citations en incise dans une ligne de texte.
<cite> permet d'indiquer la source de la citation.
Les contacts :
Chercher la balise qui indique des informations de contact pour une personne, un groupe de
personnes ou une organisation.
Exemple :
Image mappée : On veut créer des zones cliquables dans l’image ci-dessus, par exemple
en cliquant sur la zone de l’ordinateur une page « computer.html » qui contient plus
d’informations s’ouvre. En cliquant sur la zone de tasse du café, la page « caffé.html »
s’ouvre.
74
1- Dans le dossier image mappée qui contient une image « workspace.jpg » et les pages
web « café.html », « phone.html » et « computer.html » , créer un fichier nommée
index.html et écrire le code suivant dans la partie body:
<h2>Image Mappée</h2>
<p>Cliquer sur l’ordinateur, le smartphone, ou la tasse de café pour aller à une
nouvelle page et lire plus sur ce sujet:</p>
<img src="workspace.jpg" alt="image source" usemap="#photomap">
<map name="photomap">
<area shape="rect" coords="34,44,270,350" alt="Computer" href="computer.html">
<area shape="circle" coords="337,300,44" alt="Coffee" href="café.html">
</map>
75
Vous devez également définir des coordonnées pour pouvoir placer la zone cliquable sur
l'image.
Exemple polygone :
Il existe une image nommée frenchfood.jpg dans votre dossier, on veut la rendre
cliquable. Le type de zone cliquable est polygone, ses coordonnées sont : 140 , 121 , 181 ,
116 , 204 , 160 , 204 , 222
,191,270,140,329,85,355,58,352,37,322,40,259,103,161,128,147 La page à ouvrir en
cliquant sur cette zone est « croissant.html » Ajouter le code correspondant dans le fichier
index
<p>Cliquer sur le croissant pour aller à une nouvelle page et
lire plus sur ce sujet:</p>
<!-- insérer l’image frenchfood.jpg -->
<……………… src="………………………………" alt="………….." usemap=" " >
<!- - créer l’image cliquable - - >
<……………….. name="..........................">
< ! - - créer la zone cliquable - - >
<………… shape="………………….."...........="140,121,181,116,204,160,204,222,191,270,
140,329,85,355,58,352,37,322,40,259,103,161,128,147" href="…................................">
</……………….>
76
LES FORMULAIRES
Une page peut comprendre un à plusieurs formulaires dans sa section <body>. Tous les contrôles
du formulaire doivent être insérés entre les balises <form>…</form> :
Balise Description Attributs facultatifs
<form> formulaire contenant name="nomFormulaire"
des contrôles method="get|post" méthode d’envoi des données
au serveur (get par défaut).
action (="URL") adresse du script auquel
les données sont envoyées (pour être traitées).
Un à plusieurs évènements JavaScript peuvent
être spécifiés
Une zone de texte permet de saisir tout type de données. La voici en version « minimale » :
contrôle de formulaire code HTML
Nom : <input type="text" name="nom" />
La zone de texte :
L’attribut name est obligatoire afin de permettre au serveur, chargé de traiter les valeurs, de
récupérer ces valeurs à partir du nom qui leur est attribué (deux contrôles d’un même formulaire ne
peuvent donc pas avoir la même valeur de l’attribut name).
77
Le message issu du placeholder disparaît lorsque le curseur est placé dans la zone (ce qui est
d’emblée le cas ici du fait de l’autofocus) : il apparaît lorsque la zone n’est pas sélectionnée et
qu’aucun contenu n’a été saisi. placeholder, autofocus et required sont des attributs HTML5 pas
encore reconnus par tous les navigateurs.
L’attribut default permet d’indiquer une valeur par défaut dans la zone (que l’arrivée du curseur
dans la zone ne supprime pas) : s’il n’y a pas de ressaisie, c’est cette valeur qui sera transmise (alors
que placeholder n’indique pas une valeur).
La balise <label> a une portée sémantique (repérer les libellés de formulaire), son attribut for se
réfère à l’id de la zone de texte (qui peut porter la même valeur que name) permet d’envoyer le
curseur dans la zone quand on clique sur le libellé.
78
elle permet d’effectuer un seul choix <option value="2">Professeur</option>
parmi un nombre élevé de propositions </select>
L’attribut value indique la
valeur renvoyée.
La zone de liste : Jour(s) de disponibilité :
<select size="3" multiple
elle permet d’afficher name="jour[]">
d’emblée plusieurs <option value="l">lundi</option>
(selon l’attribut size) propositions. L’attribut <option value="m">mardi</option>
facultatif multiple permet le choix multiple <option value="j">jeudi</option>
(l’attribut name doit alors désigner un <option value="v">vendredi</option>
tableau) </select>
L’attribut facultatif selected de la balise
<option> permettrait de préselectionner un
élément de la liste.
Le fichier joint : PJ : <input type="file" name="pj"
value="fichier" />
il permet de rechercher un fichier à envoyer
en pièce jointe
<input type="reset" value="Annuler" />
Le bouton Annuler :
il réinitialise tous les contrôles du formulaire
à vide ou à leur valeur par défaut
Le bouton Envoyer : <input type="submit" value="Envoyer" />
type=submit>Envoyer</button>
79
Regroupement de champ du formulaire par thématique
Liste (déroulante ou non) avec groupements affichage par un
d’options extrait du code HTML navigateur
<select size="9" name="jour">
<optgroup label="semaine">
<option value="1">lundi</option>
<option value="2">mardi</option>
<option value="3">mercredi</option>
<option value="4">jeudi</option>
<option value="5" selected>vendredi</option>
</optgroup>
<optgroup label="week end">
<option value="6">samedi</option>
Les libellés de
<option value="7">dimanche</option>
groupes
</optgroup> </select>
(semaine et week-
end) ne sont pas
cliquables
Script HTML Affichage Liste de suggestions
<input type="text" list="serie">
<datalist id="serie"> Ce type de valeur est le
<option value="juillet"> plus souvent alimenté
<option value="août"> </datalist> à partir
Rq : si août est saisi il de valeurs déjà
sera ensuite proposée enregistrées
deux fois (une fois par dans une base
la liste de suggestion, de données.
une fois par la mémoire
cache du navigateur).
Remarque :
Output <output onload="value = 2 + 2"></output>
<progress id="prog" max=100 value=75> 75%</progress>
Progress
L’apparence des messages de validation est personnalisables à l’aide de pseudo-classes CSS : :required |
:optional, :valid | :invalid et :in-range | :out-of-range.
80
Exercice1 :
81
Exercice2 :
Exercice3 :
77
body { ol li {
font-family: background: #b9cf6a;
Georgia; padding: border-color:
20px; } #e3ebc3; border-
form { style: solid;
background: border-width: 2px;
#9cbc2c; border- border-radius: 5px;
radius: 5px; line-height: 30px;
padding: 20px; list-style: none;
width: 400px; } padding: 5px 10px;
fieldset { margin-bottom:
border: 2px; } button{
none; margin-left:
margin-bottom: 10px; 60px; text-align:
} legend { center; color:
color: #384313; #fff;
font-size: 16px; line-height: 2.5;
font-weight: padding: 0 20px;
bold; border-radius:
padding-bottom: 10px; 10px;
text-shadow: 0 1px 1px background-color: rgba(220, 0, 0,
#c0d576; } button:hover { 1);
background: }
#1e2506; cursor:
pointer;}
Résultat :
78
Correction Exercice3 :html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="style1.css">
</head>
<body>
<form action="succes.html">
<fieldset>
<legend>Votre identité</legend>
<ol>
<li> <label for=nom>Nom Prénom *</label>
<input id=nom name=nom type=text placeholder="Prénom et nom" required>
</li>
<li> <label for=email>Email *</label>
<input id=email name=email type=email placeholder="[email protected]"
required
> </li>
<li> <label for=telephone>Téléphone</label>
<input id=telephone name=telephone type=tel placeholder="par ex:
+21600000000">
</li>
</ol>
</fieldset>
<fieldset>
<legend>Livraison</legend>
<ol>
<li>
<label for=adresse>Adresse *</label>
<textarea id=adresse name=adresse rows=5 required></textarea>
</li>
<li> <label for=pay>ville</label>
<input list=ville id="pay">
<datalist id=ville>
<option value="TUNIS"></option>
<option value="Bizerte"></option>
<option value="Nabeul"></option>
</datalist>
</li>
<li><label for="dat"> Date souhaitée de Livraison</label>
<input type="date" id="dat" name="dat">
</li>
<li><label for="heu"> Heure souhaitée de Livraison </label>
<input type="time" id="heu" name="heu">
</li>
</ol>
</fieldset>
<fieldset>
79
<legend>informations CB</legend>
<ol>
<li> <input id=visa name=type_de_carte type=radio value visa>
<label for=visa>VISA</label>
<input id=amex name=type_de_carte type=radio value=amex>
<label for=amex>AmEx</label>
<input id=mastercard name=type_de_carte type=radio value=mastercard>
<label for=mastercard>Mastercard</label>
</li>
<li> <label for=numero_de_carte>N° de carte</label>
<input id=numero_de_carte name=numero_de_carte type=number>
</li>
<li> <label for=securite>Code sécurité</label>
<input id=securite name=securite type="password">
</li>
</ol>
</fieldset>
<fieldset>
<button type=submit>J'achéte !</button>
<button type="reset">Annuler !</button>
</fieldset>
</form>
</body>
</html>
80
Correction exercice 1
Html :
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="formulaire2.css">
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form action="">
<fieldset id="f1">
<legend id ="id_leg">this is my form</legend>
<table>
<tr>
<td> <label for id="id_email">email</label></td>
<td><input type="email" id="id_email" class="mis"></td>
</tr>
<tr>
<td> <label for id="id_password">password</label></td>
<td><input type="password" id="id_password" class="mis"></td>
</tr>
<tr>
<td> <label for id="id_upload">upload your picture</label></td>
<td><input type="file" id="id_upload"
name="pj" value="fichier" class="mis"></td>
</tr>
<tr>
<td>gender</td>
<td>
<input type="radio" name="gender" value="m" checked class="mis"/>male
<input type="radio" name="gender" value="f" checked class="mis"/>female
</td></tr>
<tr> <td>
<select name="select country">
<option value="1" > UK</option>
<option value="2" > china</option>
</tr></td>
<tr>
<td>hoppy</td>
<td>
<input type="checkbox" name="cricket" value="1" /> cricket
<input type="checkbox" name="football" value="2" /> football
</td>
</tr>
81
<tr>
Code css :
Correction
.mis{ exercice 2
…………………………………………………………………………………………………………………………
background-color:
……………………
orange; border-
…………………………………………………………………………………………………………………………
style:solid; border-
……………………
color: red;
…………………………………………………………………………………………………………………………
}
……………………
#id_leg
…………………………………………………………………………………………………………………………
{
……………………border-style: double;
…………………………………………………………………………………………………………………………
border-color: red;
……………………background-color:
…………………………………………………………………………………………………………………………
orange; font-family:
……………………Verdana; color:
…………………………………………………………………………………………………………………………
yellow;
……………………
}
#f
…………………………………………………………………………………………………………………………
1{
……………………
border-style:
…………………………………………………………………………………………………………………………
…………………… groove; border-
color: red;
…………………………………………………………………………………………………………………………
…………………… border-width:
2px;
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
82
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
83
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
84
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
……………………
85
86
STRUCTURE GENERALE D’UNE PAGE WEB
<header> <footer> <article> <section> <nav> <aside>
En général, une page web est constituée d'un en-tête (tout en haut), de menus de
navigation (en haut ou sur les
côtés), de différentes sections au centre… et d'un pied de page (tout en bas).
Dans ce chapitre, nous allons nous intéresser aux nouvelles balises HTML dédiées à la
structuration du site. Ces balises ont été introduites par HTML5 (elles n'existaient pas
avant) et vont nous permettre de dire : « Ceci est l’en-tête », « Ceci est le menu de
navigation », etc.
Voici un schéma basique d'un découpage d'une page HTML5. Précisons bien qu'il ne
s'agit pas d'une règle fixe à appliquer à tout document mais juste d'un exemple.
1. <header> : En-tête
La plupart des sites web possèdent en général un en-tête, appelé header en anglais. On y
trouve le plus souvent
un logo, une bannière, le slogan du site …
87
Ces informations devront être placées à l'intérieur de la
balise <header> : Exp. :
<header>
88
<!-- Placez ici le contenu de l'en-tête de votre page -->
</header>
Rque : L'en-tête peut contenir tout ce que vous voulez : images, liens, textes…
La balise <nav> doit regrouper tous les principaux liens de navigation du site. Vous y
placerez par exemple le menu principal de votre site.
Généralement, le menu est réalisé sous forme de liste à puces à l'intérieur
de la balise <nav>. Exp. :
<nav>
<ul>
<li><a href="index.html">Accueil</a></li>
<li><a href="forum.html">Forum</a></li>
<li><a href="contact.html">Contact</a></li>
</ul>
</nav>
La balise <section> sert à regrouper des contenus en fonction de leur thématique. Elle
englobe généralement une portion du contenu au centre de la page.
Exp. :
<section>
<h1>Ma section de page</h1>
<p>Bla bla bla bla</p>
</section>
89
Remarque. : Il peut y avoir plusieurs blocs <aside> dans la page.
La balise <article> sert à englober une partie généralement autonome de la page. C'est
une partie de la page qui pourrait ainsi être reprise sur un autre site. C'est le cas par
exemple des actualités (articles de journaux ou de blogs).
Exp. :
<article>
<h1>Mon article</h1>
<p>Bla bla bla bla</p>
</article>
APPLICATION :
On se propose de créer la page web suivante :
body{
background-color:aliceblue;
}
p{
text-align:
justify;
padding:
20px;
}
header{
border: 1px solid
black; margin:
20px;
}
nav{
background-
color:aqua; display:
inline-block; width:
30%;
vertical-align:
top; margin:
0px 20px;
}
section{
background-color: floralwhite;
87
display: inline-block; width: 60%;
margin: 0px 20px; padding: 20px;
}
article{
background-color: antiquewhite; display: inline-block;
width: 65%
}
aside{
background-color:beige; display: inline-block; width: 30%;
float: right;
}
footer{
background-color: darkgray; margin: 20px;
}
Exercice :
Reproduire cette page
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<link rel="stylesheet"
88
<title>
Le site web</title>
</head>
<body>
<header>
<h1>voyageur</h1>
<h2>Carnets de voyage</h2>
</header>
<nav>
<ul>
<li><a href="accueil.html">Accueil</a></li>
<li><a href="blog.html">Blog</a></li>
<li><a href="cv.html">CV</a></li>
</ul>
</nav>
<section>
<aside>
<h1> à propos de l'auteur</h1>
<p>C'est moi le voyageur!Je suis né en
tunisie</p>
</aside>
<article>
<h1>je suis un grand voyageur</h1>
<p>(texte de l'article)</p>
</article>
</section>
<footer>
<p>Copyright voyageur-Tous droits réservés
<a href="mailto:[email protected]">Me
contacter!</a></p>
</footer>
</body>
Code css :
nav{ section
display:inline-block; {
border: 1px solid display:inline-
blue; background- block; border:1px
color: yellow; solid blue;
border:1px solid vertical-align:top;
black; vertical- }
align:top;
}
89
Projet1
Reproduire cette
page
Body
h1 h1 h2 p form
img
90
Description du contenu des conteneurs de la page devoir.html:
91
•Le conteneur header contient deux titres de niveau 1 « Site pour la promotion» et
de niveau 2 « de l'huile d'olive tunisienne» et 5 images une image olive animé .gif et 4
images (image1,image2,image3,image4)
•Le conteneur NAV contient 3 boutons
(Accueil, à propos, lien utile).(Accueil et propos sans lien ,lien utile mène à une adresse
d’un site web du lien se trouve dans un fichier texte intitulé lien.
•Le conteneur SECTION contient deux conteneurs article.
92
En survolant le bouton: couleur de fond : rgba de valeur ((255, 199, 71, 0.4)
Les div :contenants les boutons
alignement :centré
taille de la police
d’écriture :16px affichage :en
ligne (affichagedisplay)
bordure arronu :15px
marge intérieur gauche 10px ,droit
20 px
marge extérieur :auto (pour centrer
les
éléments à l’intérieur du parent)
Section:
couleur de fond :mauve
bordure arrondu :15px
couleur de la
bodure :jaune couleur de
fond : mauve
couleur:rouge
hgroup:
alignéement de texte: centré
93
largeur :300px
hauteur :3000px
Img affichage:enligne
borure arrondu de:15px;
style de la
bordure-:continu (solid)
couleur de la bordure-:or
largeur de la
bordure:3px;
Animation
94
Correction
Html :
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="project1.css">
</head>
<body>
<header class="e1">
<img class="a im0" src="internet-things.jpg" />
<hgroup>
<h1 id="h1">Lycée ouardanine Monastir</h1>
<h1>My first website</h1>
<h2>Internet Of Things</h2>
</hgroup>
</header>
<nav class="n1">
<div class="b1"><input class="btn" type="button" value="Accueil" /></div>
<div class="b1"><input class="btn" type="button" value="A propos"
href="https://www.aliexpress.com/item/32996463686.html" /></div>
<div class="b1"><input class="btn" type="button"
value="Forum" url="project.html" /></div>
</nav>
<section>
<article class="n0">
<p><img src="sensors.png" class="im1" alt="">Qu'est-ce que l'IoT ?
L'Internet of Things (IoT) décrit le
réseau de terminaux physiques, les « objets », qui intègrent
des capteurs, des softwares et d'autres
technologies en vue de se connecter à d'autres terminaux et
systèmes sur Internet et d'échanger des
données avec eux.</p>
</article>
<article class="n1">
<form name="inscription">
<h1>Priére de remplir ce formulaire</h1>
<fieldset>
<legend>Information générale</legend>
<table >
<tr>
<td>
<label for="id_nom" class="l1">Nom</label>
</td>
95
<td>
<input type="text" id="id_nom" placeholder="écrire
votre nom"
required> <span class="et">*</span>
</td>
</tr>
<tr>
<td>
<label for="id_prenom" class="l1">Prénom</label>
</td>
<td>
<input type="text"
id="id_prénom" placeholder="écrire votre prénom">
</td>
</tr>
<tr>
<td>
<label class="l1">votre email</label>
<td> <input type="text" name="email"></td>
</tr>
<tr>
<td>Vous étes</td>
<td>
<input type="radio" name="genre" />Femme
<input type="radio" name="genre" />homme
</td>
</tr>
<tr>
<td><label class="l1">vous habitez</label></td>
<td> <select name="s1">
<optgroup label="sahel">
<option>Mahdia</option>
<option>monastir</option>
<option>sousse</option>
</optgroup>
<optgroup label="Grand tunis">
<option>Ariana</option>
<option>Ben Arous</option>
</optgroup>
</select> </td>
</tr>
<tr>
<td> <label class="l1"> votre commentaire</label></td>
<td><textarea name="commentaire"></textarea></td>
</tr>
</table>
</fieldset>
<input type="submit" name="envoyer" value="Envoyer">
<input type="reset" name="annuler" value="Annuler">
</form>
</article>
96
</section>
</body>
</html>
Css :
#h1 { input.btn
animation: def 10s {color:white;
infinite linear; font-
transition: all 1s ease-in; family:cursive;
} font-size:16px;
@keyframes border-
def{ 0%{ radius:25px;
transform: background-color:rgba(255, 99,
translate(0,0); 71,
} 0.4);
100% }
{ input:hover
transform: {
translate(- 100%,0); background-color:rgba(255, 180,
} 71,
} 0.4);
@keyframes fondu-in-
out { 0% { }
opacity:1; } 25%
{ div.b1
opacity:1; } 75% {float:center;
{ font-
opacity:0; } 100% size:16px;
{ opacity:0; } color:white;
} display:inlin
.im0 { e;
animation-name: fondu-in- margin:auto;
out; animation-duration: width:100px;
5s; animation-iteration- border-radius:15px;
count: padding: 40px 12px 11px
infinite; 40px; margin:auto;
} }
fieldset legend{ section
font- {
size:18px;
color:red; border-
} radius:15px;
label.l1{ width:800px;
border-radius: 10px; height:500px;
border:solid rgb(31, 30, float:left;
30) 0.1px; background:purple;
background-color: border-
beige; padding: 2px; style:dashed;
} border-
hgroup style:solid;
{color:rgb(255, 255, border-
255); text- color:yellow;
}
97
align:center; article.n1
} {width:410px;
header.e1 margin-top:
{margin:30p 15px;
x; float:left;
width:800px background-
; color:orange; border-
background-color:purple; style:dotted; border-
style:solid;
border-color:black;
98
padding: 10px 12px 11px }
10px; border-radius:15px; img.a
color:white; {width:150p
} x;
nav.n1 height:150p
{width:800px; x;
background- position:fixed
color:gold; border- ; left: 100px;
radius:15px; border- top: 35px;
style:dotted;
height:30px;} border-
radius:15px;
article.n0{ border-
font-size: large; style:solid;
font-family: border-
corbel; color:gold;
width:300px; border-
float:left; spacing:3px;
margin-left: }
10px; margin-top: input[type=text],
20px; margin- select { width: 80%;
right: 20px; padding: 12px 20px;
padding-left: margin-left: 10px ;
10px; border: 1px solid
background-color:rgb(241, 237, #ccc; border-radius:
229); 4px; box-sizing:
border- border-box;
style:dotted; }
border-
style:solid; input[type=submit],input[type=rese
border- t] { width: 30%;
color:black; background-color:
box-shadow: 3px 1px 3px 1px #4CAF50; color: white;
rgb(248, 179, 16); padding: 7px
} 10px; margin-
.im1{ left: 10px ;
float: border: none;
right; border-radius:
width: 4px; cursor:
100px; pointer;
height: }
100px; span.et
border:solid 1px {
gold; border-radius: vertical-
5px; margin-right: align:middle;
5px; color:red;
}
}
99
Système d’exploitation
100
Composantes d’un S.E :
Le S.E est constitué généralement
de quelques logiciels pour assurer
ses fonctionnalités. On distingue
généralement les éléments
suivants :
Démarrage de l’ordinateur :
1. Le BIOS
Le BIOS (Basic Input/Output System) est un ensemble de programmes enregistrés
dans la ROM .Il contient les programmes et les pilotes de démarrage utilises pour
permettre a l'ordinateur de démarrer. Il intègre aussi des programmes de diagnostic
et d'autotest
2. L’autotest
Lors de démarrage de l'ordinateur le BIOS va commencer par effectuer des tests
pour vérifier la configuration et le fonctionnement de l’ordinateur .Cette
opération est effectuée par un programme spécifique dit POST (Power On Self
Test).
3. Le SETUP
Le SETUP est un ensemble de procédures permettant de configurer l'ordinateur
selon ses caractéristiques matérielles (type des disques, mot de passe, date et
heure système, choix de la
séquence de démarrage…). Toutes ces informations sont enregistrées dans la
mémoire RAMCMOS. L'accès au setup se fait grâce au BIOS.
4. Chargement du système
Une fois la phase d'autotest est accomplie avec succès, le BIOS lance le chargement
101
du SE dans la RAM à travers le Système d'amorçage (démarrage) appelé
BOOTSTRAP (chargeur d'amorce)
102
Fonctions de base d’un système d’exploitation:
Le S.E offre plusieurs fonctionnalités:
La gestion des processus
La gestion de la mémoire centrale
La gestion des fichiers
La gestion des périphériques
La gestion des entrées/sorties (dialogue Homme/Machine)
Ces fonctionnalités peuvent être structurées sous la forme de plusieurs couches
superposes allant de la plus proche du matériel vers la plus proche de l'utilisateur
L'interpréteur de commandes transfère les commandes de l'utilisateur aux différents
composants du SE
I- Information système :
Pour savoir des informations sur votre système :
Lancer l’interpréteur de commande.
Cliquer sur démarrer + Exécuter et taper la commande «
Version
Editeur
Répertoire système
Périphérique de démarrage
103
Types de SE
On distingue trois types de SE:
systèmes d’exploitation pour PC (Windows,
Linux, MAC OS). systèmes d’exploitation pour
Mobiles (Android, IOS).
systèmes d’exploitation embarqués (WatchOS, TVOS, QNX, etc.)
Exemples:
Microsoft:
Apple:
………………………………………… …………………………………………………
………….. ……………
Linux: est un système d'exploitation libre, c'est à dire que vous êtes libre de
l'utiliser, le modifier et le re- distribuer (ce qui n'est pas le cas de Windows ou MacOS X).
étant gratuit, différentes sociétés l'on reprit et complété afin de distribuer un système
d'exploitation à leur goût. C'est ce qu'on appelle les distributions.
Exemple de distributions:
104
Le prochain système d'exploitation de la distribution Linux Mint?.............................
Quel est le système d’exploitation pour les smart phones ………………………………………..
105
Question :
Quel est le système d’exploitation de votre
ordinateur……………………………………………………………
Comment le savoir ?
…………………………………………………………………………………………………………………………
……
1) L’unité centrale:
C’est l’élément le plus important de l’ordinateur. Il reçoit les données à partir des…........,
les traitent, puis il envoie les résultats au ……………… ………………….
A l’intérieur de l’unité centrale il y’ a ……………………………………………..
Activité 10:
Complete la figure ci-dessous par les mots : la carte mère, l’unité centrale, la mémoire
vive(RAM), le
microprocesseur
106
La carte mère: est le............................principal c’est en quelque sorte la mère sur elle
,tous les
composants de l’ordinateur sont connectés par exemple le ………………………………..et les
autres mémoires
(RAM et ROM) et les périphériques.
Activité
Installer la machine virtuelle VMWare,
puis tester le système d’exploitation libre Ubunto de Linux
Problématique 2:
107
Votre ordinateur se bloque souvent, alors vous fermez toutes les applications et vous le
redémarrez , mais le problème persiste.
108
Puis le restaurer.
Problématique 3:
Un membre de ta famille utilise votre pc , oups , il a modifié par erreur l’un de tes
fichiers.
Proposer une solution pour sécuriser vos documents.
Solution
Gérer des comptes utilisateurs.
Sécuriser vos fichiers en attribuant des droits d’accès aux utilisateurs
Chaque utilisateur peut avoir un compte identifié par un nom d'utilisateur et un mot de
passe.
Il existe trois types de compte:
Compte administrateur: utilisateur ayant tous droits.
Compte limité: droits limités.
Compte invité: compte occasionnel
Activité: Créer un compte utilisateur limité pour les autres utilisateurs. Chercher
comment protéger vos fichiers en attribuant les droits d’accès à ce compte
Problématique 4:
Votre pc est infecté par un virus ,
Proposer une solution pour le réparer et le protéger
109
Utiliser des logiciels de protection(antivirus).
Activité:
Installer un antivirus ,puis le- mettre à jour
Activité
Installer un émulateur
Manipuler le système Android ( installer et désinstaller des applications , gérer des
fichiers et des dossiers, gérer des comptes , créer des captures d’écran,
110
La gestion des interruptions : les interruptions sont des signaux envoyés par
le matériel destinés au logiciel pour signaler un événement brusque (arrêt
d'impression dut au manque du papier, disque
saturé…)
La gestion du multitâche:
Simuler la simultanéité des processus
Gérer les accès simultanés (en même temps) aux ressources
111
Gestion des logiciels (Installation et désinstallation,…):
Installation des logiciels:
Pour utiliser un logiciel, généralement il faut l'installer sur le disque dur (sauf qques
exceptions). Avant d'installer un logiciel, il faut s'assurer du type de la copie:
Un logiciel libre (open source)
Un logiciel gratuit (freeware)
Un logiciel partagé (shareware)
Une version d'essai (démo)
Un logiciel commercial (payant), où il faut avoir un certificat d'authentification
avec lequel il faut
avoir un numéro de série ou un code ou autre chose…
La majorité des logiciels utilisent un assistant qui facilite beaucoup l'installation
du logiciel qui suit les étapes suivantes:
L'utilisateur doit remplir un formulaire d'authentification contenant
qques informations personnelles et un numéro de série pour les logiciels
payants
En deuxième lieu, l'assistant doit décompresser les fichiers d'installation (s'ils
sont compressés) avant de les copier sur le disque dur
Une fois l'installation (la copie des fichiers) est terminée, l'application est
prête à être utilisée sauf qques logiciels qui demande de redémarrer la machine
Mise à jour d'un logiciel:
La mise à jour d'un logiciel, généralement réalisée par un assistant, permet de
modifier ou d'ajouter certaines fonctionnalités d'un logiciel en changeant certains
fichiers par des versions plus récentes. La mise à jour d'un logiciel est fournie dans
la plus part des cas à travers le réseau Internet et dans des cas moins fréquents
sur une mémoire de masse (cd, disquette, flash disc…)
Désinstallation des logiciels:
Pour bien gérer l'espace disque d'une machine, il faut désinstaller tout logiciel
inutile (mal installé, défaut de fonctionnement=>instabilité du système) ou non
utilisé (a cause par exemple de l'installation d'une nouvelle version)
La désinstallation d'un logiciel doit être réalisée correctement (la suppression
du répertoire d'installation ou du raccourci est insuffisante) en utilisant l'assistant
de désinstallation fournit avec le logiciel sinon avec un logiciel approprié pour la
désinstallation des logiciels malveillants.
Administration
SYSTÈME
Introduction:
Pour que le système informatique (hotes, périphériques, équipements réseaux…)
fonctionne correctement, on a besoin de ce qu'on appelle "administrateur système"
qui est une personne chargée de gérer un système informatique, qui en est le
responsable, que ce soit au niveau de sa sécurité, de son fonctionnement, de son
exploitation ou de son évolution
L'administrateur système a pour rôle:
112
Maintenir le bon fonctionnement du parc informatique
Résoudre tous types "d'incidents informatique" (imprimante en panne, pc
infecté par un virus…) Gérer les utilisateurs (création, limitations,
suppression…)
Gérer les systèmes de fichiers
113
Surveiller la sécurité du
système Bien configurer
les machines
Installer et mettre a jour les logiciels
Planifier l'évolution du parc (ajout d'une hote, extension du réseau…)
Choisir les nouveaux équipements
Guider et conseiller les utilisateurs…
3. copie des fichiers : Une fois les disques sont prêts, l'assistant commence la copie
des fichiers système sur la partition choisie
4. installation et configuration des périphériques : Dans cette étape l'utilisateur
n'intervient pas, l'assistant
installe les périphériques (drivers…), les utilitaires, les éléments du menu démarrer…
L'utilisateur doit définir quelques paramètres tel que la date et l'heure et les langues
…
5. activation des paramètres: L'installation est terminée, le système doit configurer
le système selon les paramètres choisis par l'utilisateur
6. démarrage du système: Le système est bien installé et la machine est prête à
l'exploitation
Remarques:
il faut s'assurer de la récupération des documents personnels avant le formatage
il est parfois d'installer les drivers du matériel non installé automatiquement par le
système
114
Cliquer sur le bouton "démarrer"
Choisir la commande "paramètres"
115
Pour installer une nouvelle police:
Activer le panneau de configuration
Choisir le paramètre "police"
Choisir la commande "installer une nouvelle police" du menu
"fichier"
Sélectionner l'emplacement de la police et valider
116
Gestion des comptes:
Quand un ordinateur est utilisé par plusieurs personnes, il est souvent
nécessaire de faire la distinction entre les utilisateurs, pour que leurs
fichiers privés le restent, par exemple Cependant, un utilisateur est plus
qu'un nom. Un compte comprend tous les fichiers, ressources, et
informations qui appartiennent à un utilisateur
Types des comptes utilisateur:
a. administrateur:
Il sert à gérer la configuration globale de l'ordinateur. Il peut effectuer toutes
les tâches tel que la gestion des utilisateurs (création, suppression,
modification du type et de mot de passé…) et l'installation des logiciels…
b. standard:
dit encore compte limité, ce compte est destiné aux utilisateurs qui ne
sont pas autorisés à modifier la plupart des paramètres de l'ordinateur,
un compte limité:
ne peut pas installer un logiciel ou un périphérique que si il est permit par
l'administrateur mais peut accéder aux applications déjà installées
peut créer, modifier ou supprimer le mot de passe de son compte et non
pas son nom ou le type de son compte
c. invité:
Il permet aux utilisateurs occasionnels d’ouvrir une session et d’accéder à
l’ordinateur local sans
passer par un mot de passe. Un invité:
ne peut pas installer un logiciel ou un périphérique mais peut accéder
aux applications déjà installées
ne peut pas avoir l'accès à la modification des utilisateurs
Manipulation des comptes utilisateur:
d. manipulation des comptes sous Windows:
La manipulation des comptes est une opération strictement réservée aux
administrateurs
i) création d'un compte:
118
o Double cliquer sur l'utilisateur souhaité et effectuer les
opérations nécessaires (désactiver ou verrouiller le
compte, interdire ou imposer le changement du mot de
passe,…)
exemple:
[jours et heures Descripti
autorisés] on
Lundi,9h00-20h00;Mardi,9h00- L'utilisateur peut uniquement ouvrir une session
21h00; Jeudi,10h00-18h00 le lundi entre 9h00 et 20h00, le Mardi entre 9h00
et 21h00 et le Jeudi entre 10h00 et 18h00.
Lundi-Vendredi,9h00- L'utilisateur peut ouvrir une session du Lundi au
20h00; Samedi- Vendredi entre 9h00 et 20h00 et le Samedi et le
Dimanche,8h00-23h00 Dimanche entre 8h00
et 23h00.
All L'utilisateur peut ouvrir une session sans aucune
restriction.
Utilisez cette valeur pour autoriser de nouveau un
utilisateur à ouvrir une session à n'importe quel
moment.
Remarques:
o Les valeurs de jour peuvent être écrites en toutes lettres : Lundi, Mardi, … ou bien
représentées
par des abréviations : L, Ma, Me, J, V, S, D.
o Si l'utilisateur essaie d'ouvrir une session en dehors des horaires autorisés, il
ne pourra pas aller plus loin.
119
o Si un utilisateur a ouvert une session et qu'il a dépassé sa limite, il restera
connecté sauf si l'administrateur a forcé la déconnexion des utilisateurs
e. manipulation des comptes sous linux:
i) mode graphique:
120
Pour la gestion des utilisateurs, il faut utiliser l'utilitaire "YAST":
o cliquer sur le menu KDE
o choisir la commande "YAST" du menu "système"
o effectuer les opérations nécessaires et valider
ii) mode textuel:
Commande description
useradd <login> Création d'un compte
Passwd <login> Création d'un mot de passe pour un compte
<pass>
<pass>
Usermod <login> Modifier un utilisateur appartenant à plusieurs groupes
userdel <login> Suppression d'un compte
Profils utilisateurs:
f. définition:
Un profil utilisateur (ou encore modèle utilisateur) est un ensemble de
données qui concernent l'utilisateur (affichage, paramètres de connexion
réseau, raccourcis du bureau…)
g. sauvegarde d'un profil:
Activer le panneau de configuration
Système=>options avancés=>profil des utilisateurs=>paramètres
Choisir le profil désiré
Cliquer sur le bouton "copier dans"
Taper un nom pour le profil, choisir une destination puis valider
h. attribution d'un profil prédéfini a un utilisateur:
Activer le panneau de configuration
Choisir "gestion de l'ordinateur" de l'option "outils d'administration"
Développer le dossier "utilisateurs et groupes locaux" pour sélectionner "utilisateurs"
Sélectionner le compte désiré
Taper le chemin d'accès du profil à attribuer et valider
Outils système et
sécurité:
introduction:
en général, un SE est fourni avec un ensemble d'utilitaires appelés outils
système(chdisk,
scandisk…) qui ont pour rôle de:
oentretenir les ressources du système
odétecter et corriger les failles de
fonctionnement ooptimiser l'utilisation des
ressources du système osécuriser le système
contre les différents types de menace facteurs
de défaillance des disques durs:
Panne électronique Panne mécanique Panne logique
Causes surtension Usure des composants Arrêt brutal de
l'ordinateur
Instabilité de
quelques logiciels
Fréquences rare Dépend de la marque du Fréquente
DD
conséquences Court_circuit de la Endommagement des Instabilité du
carte Composants têtes de lecture système Lenteur
grillés Arrêt de Arrêt de l'ordinateur d'accès aux
l'ordinateur données
121
Plantage des
applications
Remarques:
Les pannes mécaniques sont rarement récupérables et nécessitent l'intervention
d'un expert avec un matériel adéquat
122
Les pannes logiques sont souvent récupérables facilement moyennant des
utilitaires de gestion de disques
Entretien et maintenance des disques durs:
i. signalisation des erreurs:
Le SE détecte automatiquement les clusters défectueux pour interdire leur utilisation
j. nettoyage des disques durs:
Nettoyer le disque dur signifie la suppression de tous les éléments non utilisés qui
s'accumulent avec le temps
La plupart de ces fichiers sont des fichiers temporaires, installés sur le disque dur
par le SE lui-même ou par quelques applications mais qui ne sont pas supprimés
automatiquement par la suite
k. défragmentation:
Défragmenter son disque dur signifie bien organiser ses données.
Lorsqu'un fichier est supprimé du disque dur il laisse de l'espace qui
est non utilisé
La défragmentation consiste a "rassembler" l'espace vide pour gagner
en terme d'espace disque et de performance du système
Sauvegarde des données:
"Le matériel est fiable de façon
indéterminée. Le logiciel n'est pas
fiable de façon déterminée.
Les gens ne sont pas fiables de façon indéterminée.
La nature est fiable de façon déterminée."
Les données ont de la valeur. Les recréer coûte du temps, du travail, et de l'argent…
Quelquefois, elles ne
peuvent même pas être recrées, par exemple si elles étaient le résultat de quelque
expérimentation. Puisqu'elles représentent un investissement, on doit les protéger et
faire en sorte d'éviter de les perdre.
123
b. Restauration des fichiers et des paramètres:
124
Cette fonction permet de remettre votre ordinateur dans un état de travail
précédent correct, d'annuler les modifications néfastes et de restaurer les
performances et les paramètres de votre ordinateur, La Restauration système
vous permet de rétablir une configuration antérieure de votre système
Cet utilitaire est disponible en cliquant sur "Démarrer", "Tous les programmes",
"Accessoires", "Outils système" et "Restauration du système".
125
Le JavaScript
1. INTRODUCTION
1.1. Les limites du langage HTML :
- Absence de structures de contrôles algorithmiques (conditionnelles et itératives) ;
- Un langage sans aucune logique de programmation procédurale
- Absence de possibilité d’interfaçage avec les bases de données.
Pour dépasser ces limites, deux solutions sont proposées :
- Utilisation d’un langage du côté client (JavaScript, VbScript, …) permettant
d’ajouter d’autres
fonctionnalités omises par HTML et qui peuvent être exécutés par le navigateur ;
- Utilisation des langages du côté serveur (ASP, PHP, …) : pour se connecter à des
bases de données.
127
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width,
initial- scale=1.0">
<title>Cours Javascript</title>
</head>
<body>
<h1>Titre Principal</h1>
<p>un paragraphe</p>
</body>
</html>
Il s'agit d'une approche objet du modèle d'arbre: Chaque nœuds est un objet, et
des méthodes
permettent d'accèder aux noeuds en relation avec un noeud donné.
Les principaux types de nœuds sont:
Document: la racine
Element: les balises standards
Text: le... texte
Comment: les commentaires
Attr: les attributs des balises
128
129
b- Les propriétés des objets :
è Pour accéder à une propriété, il faut donner le chemin complet de l’objet :
Syntaxe : nom_objet.nom_propriété
Exp. :
document.form.zone.value c’est le contenu (propriété value) de l’élément
appelé « zone » du
formulaire « form ».
130
La méthode getElementById() permet de récupérer les informations d'une balise
identifiée par son id. Exp. :
131
Modifier la contenu d’une zone de texte :
document.getElementById("age").value = 25;
Modifier la couleur du texte :
document.getElementById("paragraphe").style.color = ‘blue’;
Modifier le fond du titre du texte :
document.getElementById("titre").style.backgroundColor =
"#FF0000";
Modifier le source d'une image :
document.getElementById('idImage').src='images/photo2.jpg';
{
document.write("pour fermer cette fenetre vous pouvez cliquer: ");
}
message();
</script>
<a href ="" onclick="fermer()">ici</a>
</body></html>
4. LES OPERATEURS :
4.1. Les Opérateurs de Calcul :
Dans les exemples, la valeur initiale de x sera toujours égale à 11
Signe Nom Significatio Exem Résult
n pl at
e
+ plus addition x+3 14
- moins soustraction x-3 8
* multipli multiplication x*2 22
é par
/ divisé par division x /2 5.5
% modulo reste de x%5 1
la
division
par
= a la affectation x=5 5
vale
ur
134
&& et (condition1) condition1 et condition2
&&
(condition2)
|| ou (condition1) || condition1 ou condition2
(condition2)
I. Les variables
IV.1.La déclaration des variables
Les variables peuvent se déclarer de deux façons :
- Façon explicite : en utilisant la
commande « VAR » Exemple : VAR Numero
=1 VAR Prenom=
"Yassine"
- Façon implicite : Décrire directement le nom de la variable suivi de la
valeur attribuée : Exemple : Numero = 1
135
- JavaScript utilise 4 types de données :
Des nombres (entier et réel) ;
Des chaînes de caractères ;
Des booléens : (True pour vrai et False pour faux) ;
136
Le mot null : Mot spécial qui indique l’absence
d’une valeur. Il ne faut pas déclarer le type de
données d’une variable.
Activité2 : Créer un fichier nommé « tpjs4bis.html » et saisir le code suivant :
<html><body>
<script
language="javascript">
b=prompt ("saisissez une
valeur"); if(isNaN(b))
{alert("conversion
impossible");} else
{
b=Number
(b); b=b+1;
document.write("la valeur de b est :"+b);
}</script>
</body></html>
Remarque :
- La Fonction « isNaN : is Not a Number » est une fonction booléenne permettant de vérifier
si le contenu d’une
variable donnée est numérique ou non. ;
- Alert et Prompt : sont deux méthodes de l’objet « window » permettant l’affichage et la
saisie dans des boites
de dialogue.
- Il existe des fonctions de conversion de type : String et Number
Var a = String (21.34) ; à a = "21.34"
Var a = Number ("10.5") ; à a = 10.5
- La fonction « eval » évalue une chaine de caractères sous forme de
valeur numérique : Exemple : ch="5+10" ; x=eval (ch) ; à x=15 ;
- Il est préférable de précéder toute conversion avec la fonction « Number » par un test de
validité avec la fonction
« isNaN ».
- Confirm :donne une fenetre avec deux choix ok et annuler
exemple : if(confirm("vous etes bac info?")) alert("commencer la
programmation"); else alert(("commencer le traitement de
texte");
IV.3. LES
TYPES
1/Objet string
137
P=Ch.indexOf(Sch Retourne la position d'une sous- Ch="Javascript" ;
,pos); ou chaîne souschaine dans une Sch="script" ;
P=Ch.indexOf(Sch); chaîne, à partir de la position pos P=Ch.indexOf(Sch,0);
sinonelle retourne -1 P=…….
P=Ch.lastIndexOf(Sch,pos); Retourne l'indice de la dernière Ch="Javascript" ;
occurence de Sch P=Ch.LastIndexOf("a");
P=Ch.lastIndexOf(Sch); Si souschaine n'est pas P=……..
trouvée, lastIndexOf()
retourne -1.
Sch=Ch.substr(P,Nbr); permet d'extraire d'une chaîne Ch, Ch="Javascript" ;
une sous chaîne Sch à partir d'une Sch1 = Ch.substr(3,3);
position P et d'une longueur Nbr. Sch2 = Ch.substr(1);
138
Nbr est facultatif.
Sch1 ="asc"
Sch2 = "avascript"
R=Ch.toLowerCase(); transforme une chaîne de
caractères Ch en minuscule
R=Ch.toUpperCase(); transforme une chaîne de
caractères Ch en majuscule
Ch=Ch1.concat(Ch2); concaténer une chaîne de Ch1="java"
caractères Ch1 Ch2="script"
avec une autre Ch2 Ch=Ch1.concat(
Ch2);
Ch="javascript"
X=chaine.charCodeAt(pos) ; Retourne le code ASCII du x= chaine.charCodeAt(1) ;
caractère de chaine à la position x = 65
pos
2/L'objet Array :
a/Declaration
Schéma Synta Exemp
xe le
1 NomObjet= new Array(); T=new Array();
2 NomObjet= new Array(nombre); T=new Array(10);
3 NomObjet= new Array(val1, val2); T=new Array("A","B","C");
N=3
T.reverse() permet d'inverser l'ordre des T=new
éléments d'un tableau T Array("R","I","P","T");
T.reverse() ;
T=("T","P","I","R")
element = T.shift(); enlever le premier T=new
élément d'un tableau T Array("R","I","P","T");
et le mettre dans le resultat A=T.shift();
T=("I","P",
"T") A="R"
R= Extraire une partie d'un T=new
139
T.slice(indexdébut,indexfin); tableau T allant de Array("R","I","P","T");
indexdebut a indexfin R=T.slice(1,2);
Elle renvoie les éléments
extraits sous R=("R","I")
forme d’un nouveau tableau
T.sort(); Exple1
permet de trier les éléments d'un tableau. Si vous ne transmettez T=new
aucun paramètre, le tri se fait alphabétiquement, les valeurs Array("R","I","P","T");
numériques sont transformées automatiquement en chaînes de T.sort();
caractères et triées en tant que T("I","P","R","T")
telles. Dans le cas où vous voulez trier des valeurs numériques, Exple2
vous pouvez
140
définir une fonction de comparaison et transmettre son nom T=new
comme paramètre. Array(14,7,66,19,33);
Cette méthode s'applique avec la syntaxe suivante T.sort(compare);
function compare(a,b)
{return a-b} T=(7,14,19,33,66)
c/Tableau à deux dimensions
Déclare un tableau à 1 dimension de façon Exemple
classique t=new
nom_du_tableau = new Array (x); Array(10) ;
Ensuite, déclare chaque élément du tableau t[i]=new
comme un tableau à 1 dimension : Array(20) ;
nom_du_tableau[i] = new Array(y);
3/L'objet Math :
a/ Les méthodes de l'objet Math
141
b est la base de chaine exemple parseInt("ABC7F", 16) donne 703615.
nb.toString(b) permet de convertir le nombre decimal nb a la
base b Exemple nb=25 ; V= nb.toString(2) ;//convertit nb a
la base binaire V=11001
V = nb.toString(16)// convertit nb a la base hexadecimal V=19
4/L'objet Date :
142
a/ Les méthodes de l'objet Date
remarque :
Ouverture d’une fenêtre pop
open("URL","","") ;
exemple open("page.htm","","");
ex :ecrire un script qui permet d’afficher le temps hh :mm :ss
143
II. Les Entrées/Sorties en JavaScript
144
L’entrée (lecture) : est faisable avec la méthode « prompt » de l’objet « window » ou à
l’aide d’objets graphiques
du formulaire HTML ;
La sortie : est possible en utilisant la méthode « write » de l’objet « document », la
méthode « alert » de l’objet
« window » ou à l’aide d’objets graphique du formulaire HTML. Ou avec l’objet
innerHTML contient le code HTML intérieur à l'objet.
Remarque : innerHTML :
Cette propriété est accessible en écriture : il est donc possible de changer le
contenu d'un objet. Exemple :
x=document.getElementById("element1").innerHTML;
document.getElementById("element2").innerHTML=5+x;
contenu=document.getElementById("eltformulaire").value ;
Autre formulation
<script
language="javascript">
a=prompt("a=","");
if(isNaN(a))
{alert("ce n'est pas une valeur
numérique");} else
{a=Number(a);}
b=prompt("b=","");
if(isNaN(b))
{alert("ce n'est pas une valeur
numérique");} else
{b=Number(
b);} a=a+b;
145
b=a-b;
a=a-b;
alert("a="
+a);
alert("b="+b);
</script>
146
Activité 2 :une page qui contient deux boutons . chacun bouton permet de changer le
contenu d’un
paragraphe <p> .
<script>
function
Msg1(){
document.getElementById('myText').innerHTML = 'Hey <strong>Thanks!</strong>';
}
function Msg2(){
document.getElementById('myText').innerHTML = 'Try <strong>message 1</strong>
again...';
}
</script>
<input type="button" onclick="Msg1()" value="Show Message 1">
<input type="button" onclick="Msg2()" value="Show Message 2">
<p id="myText"></p>
<html>
<head>
<title>forme reduite</title>
</head>
<body>
<script language="javascript">
var a=Number(prompt("donner un premier
entier:","")); var b=Number(prompt("donner un
deuxieme entier:","")); max=a;
if (a<b)
{max=b;}
alert("le maximum est:"+max);
</script>
</body></html>
Ex1 :tester si une valeur entrée est un nombre.
147
<html> <html>
<head> <head>
<title>forme reduite</title> <title>forme reduite</title>
</head> </head>
<body> <body>
<script language="javascript"> <script language="javascript">
Var a=Number(prompt("donner un premier var a=Number(prompt("donner un premier
entier:","")); var b=Number(prompt("donner entier:","")); var b=Number(prompt("donner
un deuxieme entier:","")); un deuxieme entier:",""));
max=a; if (a<b)
if (a<b) {max=b;}
148
{max=b;} else
alert("le maximum est:"+max); {max=a;}
</script> alert("le maximum est:"+max);
</body></html> </script>
</body>
</html>
Remarques:
Dans le cas d’une seule instruction, les accolades sont facultatives;
Il est possible d’imbriquer des structures conditionnelles (forme généralisée) ;
Autre syntaxe (expression) ? instruction 1 : instruction 2.
b) La structure switch
La syntaxe est la suivante :
Switch (expression)
{
Case v1:
bloc 1;
Break;
Case v2:
bloc 2;
Break ; …
Default: bloc
n; Break ;}
150
La clause default (bloc n) est facultative.
<html>
<head>
<title>boucle pour</title>
</head>
<body>
<script
language="javascript">
for (n=2;n<=1000;n++)
{
s=0;
for(i=1;i<=n/
2;i++) if(n
%i==0) s+=i;
if (s==n) document.write(n+"<br>");
}
</script>
</body>
</html>
b) La structure do…while
Permet de répéter l’exécution des instructions tant que la condition est vérifiée.
L’équivalent en langage pascal est repeat…until (à la seule différence que la condition
utilisée après until est une condition d’arrêt alors que la condition utilisée après while est
une condition de continuité)
Do
{
Instructions;
} while (condition(s));
151
dit premier s’il n’est divisible que par 1 et par lui-même.
<html>
<head>
<title>do while</title>
152
</head>
<body>
<script
language="javascript">
do
{
a=Number(window.prompt("donner un entier: ",""));
b=Number(window.prompt("donner un autre entier:",""));
}while(a<=1||a>=b||
b>=1001); for
(n=a;n<=b;n++)
{i=1;
do
{i=i+1;
}while (n%i!=0 && i<=n/2);
if (i>n/2) document.writeln(n);}
</script>
</body>
</html>
c) La structure while
Lorsque le nombre de répétitions n’est pas connu d’avance on utilise la structure itérative
while.
While (condition(s))
{
Instructions ;
}
153
alert("le pgcd est "+a);
</script></body>
</html>
Application1
154
Ecrire un script qui permet de lire un entier N entre 10 et 100 et d’afficher tous les nombre
premier inferieur a
N dans un tableau horizontal puis dans un tableau vertical
Application2
Ecrire un script qui permet de lire une taille d’un tableau T (entre 20 et 50),remplire T
avec des entiers positives Remplir a partir de T deux tableau TI et TP qui contiennent
respectivement les entiers impair et les entiers pairs de T
La fonction doit etre définie avant d'être appelée.Il est donc prudent de
placer toutes les déclarations de fonctions dans la dans la balise <HEAD> ...
<HEAD>.
3Exemple
<HTML>
<HEAD>
<SCRIPT
LANGUAGE="Javascript">
function message() {
document.write("Bienvenue à ma
page");}
</SCRIPT>
</HEAD>
<BODY onLoad="message()">
</BODY></HTML>
4 Passer des valeurs à une fonction
On peut passer des paramètres aux
fonctions Javascript function Exemple(Texte)
{
alert(texte); }
Et dans l'appel de la fonction : Exemple("Salut à tous");
155
Syntaxe exemple
function nom_de_la_fonction(arg1, arg2, function Exemplebis(Texte1,
arg3) { Texte2){ alert(texte1,texte2);
... code des instructions ... }
} et pour l'appel de la fonction
Exemplebis("Salut à tous", "Signé
directeur")
156
5 Retourner une valeur
Pour renvoyer un résultat, il suffit d'écrire le mot clé return suivi de l'expression à
renvoyer.
syntaxe exemple :
Function function cube(nombre) {
nom_de_la_fonction(arguments) { var C =
... code des nombre*nombre*nombre
instructions ... return C;
Return non_vble ; } }
Remarque L'instruction return est facultative et on peut trouver plusieurs return dans une
même fonction.
V. / La gestion des événements en javascript :
Les gestionnaires d'événements
les événements doivent etre associées a des actions prévues par le programme. C'est le
rôle des gestionnaires d'événements. La syntaxe est
<nonbalise onévénement="fonction()">
exemple
<input type="button" name="b" value="executer" onClick="execution()">
Description Evénement
Lorsque l'utilisateur clique sur un bouton, un lien ou tout autre élément. Clik
Lorsque la page est chargée par le browser ou le navigateur. Load
Lorsque l'utilisateur place le pointeur de la souris sur un lien ou tout MouseOver
autre élément.
Lorsque un élément de formulaire a le focus c-à-d devient la zone Focus
d'entrée active.
Lorsque un élément de formulaire perd le focus c-à-d que l'utilisateur Blur
clique hors du champs et que la zone d'entrée n'est plus active.
Lorsque la valeur d'un champ de formulaire est modifiée. Change
Lorsque l'utilisateur clique sur le bouton Submit pour envoyer un Submit
formulaire.
Lorsque l'utilisateur écrit dans une zone de formulaire input
Objets Gestionnaires d'événement disponibles
Formulaire onSubmit
Fenêtre onLoad,
Lien hypertexte onClick, onmouseOver
Elément de texte onBlur, onChange, onFocus,
Elément de zone de texte onBlur, onChange, onFocus, oninput
Elément bouton onClick
Case à cocher onClick
Bouton Radio onClick
Liste de sélectionon onBlur, onChange, onFocus
Bouton Submit onClick
Bouton Reset onClick
Clavier (saisie d’un texte) onKeyUp, onkeypress
157
Application1 Application2
Utiliser le gestionnaire d’evenement pour <html>
le code <head>
suivant: <script
<HTML> language="javascript">
<HEAD> function lon( ){
<SCRIPT np=document.f.a.value;
language="Javascript"> document.f.d.value=np.l
function message(){ ength
alert("evenementchoisi") }
} </script>
</SCRIPT> </head>
</HEAD> <body>
<BODY> <form method="POST" name="f">
<FORM> <p>nom
<INPUT TYPE=text..........="message( )"> <input type="text" name="a" size="20"
onkeyup="lon( )">
158
<INPUT TYPE="button" </p>
VALUE="Cliquezici" <p>nombre de caracteres tapés
……………………="message()"> <input type="text" name="d" size="20"></p>
</FORM> </form>
<A HREF=""….............="message( )"> </body></html>
message important</A>
</BODY></HTML>
160
NB1 : L'indice d'une liste déroulante commence à
partir de 0. Les propriétés JavaScript des éléments
d'un objet options sont :
document. getElementById('idliste').options[i].selected : renvoie true si
l'option est sélectionnée, false sinon.
document. getElementById('idliste').options[i].text : renvoie le texte de
l'élément sélectionné. document. getElementById('idliste').options[i].value
: renvoie la valeur de l'élément sélectionné. L'ajout d'une nouvelle option, se fait
à travers la syntaxe :
nomvariable= new Option(texte, valeur);
document.nomformulaire.nomliste.options[taille
] = nomvariable; document.
getElementById('idliste').options[taille] =
nomvariable; texte : le texte de l'élément à ajouter.
valeur : la valeur de l'élément à ajouter.
taille : la position de l'élément à ajouter dans la liste.(length de la liste)
❖ La suppression d'une option, se fait à travers la syntaxe :
document.
nomformulaire.nomliste.options[i] =
null; document.
getElementById('idliste').
options[i]=null ; avec :
i : la position de l'élément à supprimer de la liste.
Exemple
Créer un formulaire qui contient une liste deroulante appelee eleve ,contenant 4 nom
d’eleves ,si on choisit un
et on clique sur un bouton il affiche le nom d’eleve choisit .ajouter 3 bouton pour
ajouter,supprimer,
<html> </head>
<head> <body>
<script language="javascript"> <form name="f">
function changer() <select name="choix" size="1"
{i=document.f.choix.options.selectedIndex; onchange="changer()">
alert(document.f.choix.options[i].value); <option value="chaine1">ch1</option>
} <option value="chaine2">ch2</option>
function ajout() <option value="chaine3">ch3</option>
{x=prompt("le </select>
texte"); <input type=”button” name=”b1”
y=prompt("valeu value=”executer”
r"); v=new onclick="changer()">
Option(x,y); <input type=”button” name=”b2”
t=document.f.choix.options.leng value=”ajouter”
th; onclick="ajout()">
document.f.choix.options[t]=v; <input type=”button” name=”b3”
alert("on ajout elelt "+(t+1)); value=”supprimer”
} onclick="supp()">
function supp() <input type=”button” name=”b4”
{i=prompt("donner la pos a sup"); value=”vider”
document.f.choix.options[i]=null; onclick="vider()">
} </form>
function vider() </body>
{document.f.choix.options.length=null; </html>
}
</script>
161
162
Série1
Javascript
Activité :1 boite-de-dialogue-alert -prompt-en-javascript et document.write.
a)Afficher un message de bienvenu 4 SI dans un box de dialogue avec alert()
Activité:2 : getElementById,innerHTML
Ecrire un programme javascript qui permet d'afficher le mot bonjour dans une
balise p en utilisant la fonction suivante :
Activité :3
a) saisir deux entiers en utilisant prompt puis afficher leurs sommes dans la
console.
163
Correction :
correction :
164
Activité5 :appel d’une fonction ,évenement onclick et script src
Créer un code javascript dans un fichier qui permet de créer un lien avec lequel on ferme le
document.
lib.js
165
Serie 2
Exercice1 :somme de deux entiers
Ecrire un programme javascript qui permet calculer la somme de deux entiers
données par l'utilisateur en utilisant un formulaire comme le montre l'image
"maquette-somme.png" en créant une fonction somme. Enregistrer le
programme sous le nom "somme.html" dans le dossier "Javascript" dans votre
dossier de travail
Exercice:Mini calculatrice
Modifier le programme javascript précèdent pour réaliser la somme, la soustraction, la
multiplication
et la division de deux entiers données par l'utilisateur en utilisant un formulaire
comme le montre l'image "maquette-calculatrice.png"
166
167
168
169
Serie3
Activité 1:
(onmouseover,onmouseout)
Créer un programme qui permet d’agrandir une image qu’on va le mettre à 32px de
largeur et hauteur. lorsque l’image est survolée par la souris elle sera agrandi à 64 pixels
de largeur et hauteur. si non va avoir sa taille initiale (32pixels*32pixels)
Activité 2 :
changer d’image :src Créer un programme qui permet de changer d’images en cliquant
sur un bouton
document.getElementById('idImage').src='images/photo2.jpg';
170
Activité5: eval et onfocus et src Créer une page web contenant deux zone de texte
permettant d’afficher le résultat dans la zone de texte 2 d’une opération faite dans la
zone de texte 1
Activité 6 : (radio box,onchange et if ) Créer une page web cotenant des radio box pour
répondre à une question donnée Quel est l’angle d’un triangle équilatéral
si l’utilisateur coche la bonne réponse on affiche dans la zone de texte la réponse est
juste si non on affiche la réponse est fausse.
Activité 7 :bluegriffont+parseInt Remarque :parseInt (voir page 9) Oninput (voir page
18)
Exercice1: Date et substring Creér une page qui affiche une zone de saisie pour saisir
une date sous forme jj/mm/aaaa puis de Calculer l’Age à partir de cette date.
171
Exercice2 :onkeyup,onkeypress,substr,fonction avec paramètre
Créer la page suivante contenant un formulaire
Exécution :
172
Correction
Activité1:
activité2:
Correction Activité 3:
Activité4
173
Activité 5 : onchange
Html Javascript :
Activité6 correction :
Html :
174
Activité 7 :
Exercice1 :
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
Exercice2 :
175
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
176
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
…………………………………………………………………………………………………………………………
………………….
177
Série 4
Activité 1: display none,block
Créer un paragraphe initialement caché
Créer deux boutton permettant d’afficher et de cacher une paragraphe.
Activité 2:Math.Random
Créer un programme qui affiche un nombre aléatoire entre 0 et 1dans la console en
utilisant la fonction Math.Random() (cette fonction retourne un nombre aléatoire entre 0
et 1)(un réel)
……………………………………………………………………………………………………………………..
b) Modifier le programme pour afficher un nombre aléatoire entre 0 et 100
…………………………………………………………………………………………………………………………
………………………
……………………………………………………………………………………………………………
c) en utilisant la fonction Math.floor() afficher la partie entière (on va afficher un nombre
entier entre 0 et 100)
…………………………………………………………………………………………………………………………
………………………
…………………………………………………………………………………………………………..
Activité 3 : (objet string) :
chaine.charAt(pos) : Donne le caractere correspendant a la position dans la
chaine Exemple :
P=Ch.indexOf(Sch,pos); ou P=Ch.indexOf(Sch);
Retourne la position d'une sous-chaîne sous chaine dans une chaîne, à partir de la position
pos
sinon elle retourne -1
*)déterminer si un nombre saisie est il un entier ou un réel en utilisant indexOf .
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………
Activité 4 :Tableau
Déclaration 1-NomObjet= new Array();
2- NomObjet= new Array(nombre);
3- NomObjet= new Array(val1, val2);
Concaténer deux tableaux
On peut faire le débogage en choisiant un point d’arret (on a choisi la ligne 16)ou
l’éxécution pas à pas et voir le contenu des variables en l’ajoutant dans la partie
watch.
178
Activité 5 :boucle for
Permet de répéter l’exécution d’un bloc d’instructions un certain nombre de fois connu
d’avance :
For (initialisation ; condition ; progression) Initialisation : les instructions d’initialisations
{ nécessaires ;
Instructions ; Condition : la condition de continuité
} (bouclage) ;
Progression : définit le pas du compteur (pas
forcément + ou – 1)
Exercice n3 :Array,toString
Afficher remplir et afficher un tableau
179
Exercice n4 :for et while
Calculer la somme de 1 à 8 en utilisant la boucle for puis while
…………………………………………………………………………………………………………..
…………………………………………………………………………………………………………..
………………………………………………………………………………………………………….
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………….
……………………………………………………………………………………………………………..
…………………………………………………………………………………………………………….
Exercice n7 :charAt,while(condition){instructions ;}
Créer un formulaire et une fonction javascript verif() qui permet de saisir une chaine et
vérifier si elle est composé uniquement de lettre alphabétiques.
…………………………………………………………………………………………………………………………
………………
…………………………………………………………………………………………………………………………
………………
…………………………………………………………………………………………………………………………
………………
…………………………………………………………………………………………………………………………
……………..
180
…………………………………………………………………………………………………………………………
………………
…………………………………………………………………………………………………………………………
…………….
…………………………………………………………………………………………………………………………
……………..
…………………………………………………………………………………………………………………………
…………….
…………………………………………………………………………………………………………………………
…………….
…………………………………………………………………………………………………………………………
……………
181
Correction
Activité 1 :
Activité 2 :
Exercice1 :
<!DOCTYPE html>
<html>
<head><script language ="javascript" src="de.js">
</script>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Maximum de n</title>
</head>
<body onload="debut()">
<center>
<h1>Dé en ligne - Lancé de dé aléatoire - Dé virtuel</h1>
<table id="jets" >
<tr>
<br/><img id="pic" src="0.png"><br/>
</tr>
<tr>
<br/><center>nombre de lancés: <span id="nblanc"></span></center><br/>
<br/><center>total: <span id="total"></span></center><br/>
</tr>
<tr>
<br/><center><button onclick="lancer()">Lancer </button></center><br/><br/>
</tr>
</table>
</center>
182
<br/>
</body>
</html>
De.js
nbfois=0;
total=0;
Exercice 2 :
<html>
<head>
<script type="text/javascript"> function refresh(){
var t = 1000; // rafraîchissement en millisecondes
setTimeout('showDate()',t)
}
Exercice3 :
<!DOCTYPE html>
<head>
<script language="javascript" src="tab.js"></script>
<title>Nouvelle page 1</title>
</head>
<body>
183
<form id="f1">
</body>
</html>
Tab.js
function tableau()
{ tab=new Array; tab[0]=document.getElementById('T1').value; tab[1]=document.getElementB
document.write(" la taille du tableau",tab.length,"<br>"); chtab=tab.toString();
document.write("la taille de la chaine",chtab.length,"<br>"); for(i=0;i<tab.length;i++)
{ document.write("lelement numero " ,i, " est ",tab[i],"<br>"); }//
}
184
Base de données
Base de données?:
Activité 1:Brainstorming
Donner les informations utiles Donner les informations Donner les informations
pour gérer la location de nécessaires pour gérer une nécessaires pour gérer les notes des
voitures:
bibliothèque de facultés: élèves
Client, marque, CIN, Modèle, Livre, étudiant, nom Livre, CIN, Id_eleve,
numéro voiture, Classe, Code nom,prénom,date_de_naissan
date_de_location,date_de_retour,é livre,date_emprunt,date_de_retour,é ce,clas se,
tat tat Id_matière,lib_matière,coeffici
ent,no te
Prenant l’exemple de gestion de notes On peut créer
un fichier Excel qui englobe toutes les informations
185
On peut facilement faire une faute par exemple lors de saisie de l’identiant d’un
élève et mètre un code qui n’éxiste pas dans la feuille note par exemple Au lieu
d’écrire E003 on écrit E0003
-excell n’affiche pas une faute !non cohérence des données.
Cette solution qui est basée sur la structure des fichiers présente plusieurs
inconvénients : (lourdeur dans la manipulation des fichiers (vérification de
cohérence des données, mise à jours, sécurité
des
données)
on n’a pas de relation entre les tables qui garanti tous ça.
Parmi les approches qu’il peut l’utilisés on trouve celle basé sur une Base de
Données relationnelle.
186
Différences entre un Tableur et un SGBD
Différences Table SGB
sur... ur D
Utilisation principale Calculs Gestion et traitement des données
Structuration des Aucune Structuration et cohérence forte
Contrôles Aucuns Vérification stricte des valeurs
d'intégrité des possibles de chaque donnée
données
187
Accès aux données Mono utilisateur Multi utilisateurs
Confidentialité Aucun contrôle Vérification des droits d'accès de
des données chaque utilisateur
Taille des données - Une table - Plusieurs tables
- Quelques dizaines de - Plusieurs milliers de lignes par
lignes table
Traitement sur les Quantitatifs Qualitatifs et quantitatifs
Interrogations Réalisée par des Langage "universel" : SQL
des données procédures
spécifiques
Est-ce que Excel est une base de données ?
Une feuille de calcul, à elle seule, est une base de données, mais pas une base de
données relationnelle.
Excel ne permet de gérer des relations
Pourquoi créer une base de données relationnel?
Il est conçu pour gérer les données complexes reliées entre elles. Lorsque ces
données deviennent conséquentes, vous ne devez en aucun cas utiliser Excel pour
les gérer mais Access. Un de ses objectifs est d'éviter de répéter les données.
1- Les tables
Définition : une table est un ensemble de données relatives à un sujet
188
spécifique du monde réel (ou entité) et structurées sous forme de tableau.
Champs et enregistrement : une table est composée verticalement d’un ensemble de
colonnes appelées
attributs ou champs. Ils représentent les caractéristiques des entités qu'on souhaite
stocker dans la table
189
; et horizontalement d’un ensemble de lignes (tuples/ n-uplets) qui correspondent
aux occurrences (enregistrements) de l'entité.
Les enregistrements
Un enregistrement de table Eleve se lit de cette façon : L’élève dont l’identifiant est
E 001, qui s’appelle Bibani Ali, et qui est né le18/09/1992, est inscrit dans la classe 3Eco1
190
Le nom
Le type adéquat
Les propriétés souhaitées
Création des champs du table
. Lors de la création d’un champ, on doit spécifier son
nom, son type et ses propriétés.
Nous avons vue un exemple fait avec Microsoft Access 2016,Maintenant on va le recréer avec
Mysql
De xam plite.
B) Création de base et
table Avec Mysql de Xamp lite
1- On démarre Xampp Lite
2 - on va utiliser Mysql pour créer une base de données pour cela cliquer ave
191
2
3-puis cliquer sur le bouton Admin
3
5 6
192
nombre à virgule flottante simple
précision
193
Numérique Float(n,m) nombre à virgule flottante précision absolue
On remarque qu’il y a une clé jaune à droite de id_élèves (c’est une clés primaire :les
valeurs sont unique on ne peut pas avoir des valeurs en double)
On peut modifier ,supprimer un champs ou attribut.
Note bien :on peut imprimer la structure de la table en cliquant sur le bouton imprimer
194
On peut en cliqant sut le lien de la base de données accéder au concepteur pour afficher
la table
195
Schéma d’une base de données
Le schéma d’une base de données est l’ensemble des schémas de ces tables.
Le schéma de la base de données « Gestion des élèves » est :
élèves (Id_élève, Nom, Prénom,
date_naissance, classe) Matieres
(Id_matière, libellé matière, Coefficient)
Notes (Id_élèves, Id_matères, note)
2-Les relations:
Nous avons vu qu'une base de données est formée d'un ensemble de tables séparées. Pour éviter les
redondances
des données on doit établir des liens entre ces tables: ce sont les relations d'une BD.
a. Définition :
Une relation est un lien entre deux tables d’une base de données à l’aide de deux champs en commun à ces deux
tables. Ces deux champs sont dits associés.
Club(Numéro, Libellé,Adresse)
Abonné(CIN, Nom,Prénom,Numéro)
…………………………………………
163
Français Anglais Arabe Synonymes
Référence
Clé Foreign key مفتاح خارجي
Contrainte d'intégrité
étrangère
référentielle
164
Relation plusieurs- à -plusieurs (N-M):
Plusieurs enregistrements de la table A peut être mis en correspondance avec
plusieurs enregistrements de la table B et inversement. Cette relation est traduire en
Access par deux relations 1-N
Activité: Déterminer les relations entre les tables de la BD Gestion de notes et indiquer
leurs cardinalités.
On ne peut définir ce type qu’après définition d'une troisième table A_B (table de
jonction) dont la clé primaire est formée de deux clés des tables A et B.
Dans une relation N-M on trouve deux relations 1-N avec une troisième table.
Ajouter une table supplémentaire, contenant uniquement les champs associés, pour
servir de jointure
entre les deux tables.
Les contraintes
Une contrainte est une règle ( ق ـيـد/ ) ق ـاعـدةappliquée à une colonne ou à une table et qui doit être
toujours
vérifiée à fin d’assurer l’intégrité ( تناسق/سالمة/ )صحـةdes données.
On distingue trois types de contraintes ( )قـ ـ ـيـود:
• Contrainte d’intégrité de tables : Permet d’assurer l’unicité des lignes des
tables. Chaque table doit avoir une la clé primaire.
• Contrainte d’intégrité référentielle : Permet d’assurer qu’une clé secondaire
d’une table est reliée à une clé primaire d’une autre table. Elle est représentée
sous forme de lien entre tables.
• Contrainte de domaine : s’assurer de la validité des valeurs des colonnes
(obligatoire ou pas,
supérieur à zéro, ….)
Application :
Créer une nouvelle base de données dans votre dossier de travail et lui donner le nom «
Gestion des notes + votre nom
». Sql
:
…………………………………………………………………………………………………………………………
165
…………………
…………………………………………………………………………………………………………………………
………………………
.
On veut Créer les tables suivantes en respectant le schéma de la base
de données présenté ci- dessous.
ELEVE (id_élèves, Nom, Prénom, Date_naissance, Classe)
MATIERE (id_matières, libellé_matière,coefficient)
166
NOTE (id_élèves, id_matières, Note)
167
…………………………………………………………………………………………………………………………
………………………
…
3)Création la table note
Sql
:
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
………………………
…………………………………………………………………………………………………………………………
………………………
168
…………………………………………………………………………………………………………………………
………………………
………………….
…………………………………………………………………………………………………………………………
………………………
……
Création des relations :
…………………………………………………………………………………………………………………………
………………………
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
………………………
b)Insertion de données:
Id_élève Nom Prénom Date de Classe
naissance
E01 Tounsi Ahmed 04/01/2003 3SI
E02 Mrad Amira 23/10/2001 4ECO2
E03 Dridi Wided 22/01/2002 4ECO1
E04 Jileni Amira 23/10/2004 3ECO2
E05 Mtir Amine 22/03/2006 1s1
E06 Nouira Rami 05/04/2007 1s1
E07 Masmoudi Ahmed 06/12/2004 3SI
Sql: (se limiter à deux enregistrements)
INSERT INTO `élèves` (`id_élèves`, `Nom`, `Prénom`, `Date_naissance`,
`classe`) VALUES ('E01', 'Tounsi', 'Ahmed', '2003/01/04/', '3SI');
INSERT INTO `élèves` (`id_élèves`, `Nom`, `Prénom`, `Date_naissance`,
`classe`) VALUES ('E01', 'Tounsi', 'Ahmed', '2003/04/01/', '3SI');
La table MATIERE
ID_MATIERE Libéllé_Matière Coefficient
M01 Algorithme 3
M02 STI 3
M03 Math 1,5
Requête de sélection :
1)Afficher tous les élèves
169
Requête 1 :SELECT *
FROM ‘élèves’
Requête 2 :SELECT
‘Nom’,’Prénom’
FROM ‘élèves’
173
7) ’ajouter la colonne « E_mail » (de 70 caractères) à la table élèves
……………………………………………………………………………………………………..
………………………………………………………………………………………………………
……………………………………………………………………………………………………….
8) Modifier la colonne « E_mail » (au de 70 caractères on met 100 caractères) à la table
élèves.
……………………………………………………………………………………………………..
………………………………………………………………………………………………………
……………………………………………………………………………………………………….
9) supprimer la ligne de l’élève E05 du table élèves
……………………………………………………………………………………………………..
………………………………………………………………………………………………………
……………………………………………………………………………………………………….
10)Modifier la note de l’élève E01 dans la table note
……………………………………………………………………………………………………..
………………………………………………………………………………………………………
……………………………………………………………………………………………………….
174
Serie 2
1. Dans la base de données « BDgestion_deptg.. », créer les tables suivantes :
➢ Employes (NumEmp, Nom_emp, Fonction, Salaire, Prime, DateEmb, Num_dept#)
➢ Departement (Num_dept, Nom_dept , Ville)
Le tableau suivant indique les noms et les types des champs de chaque table.
Travail demandé :
Q1-Créer les tables Employés et départements.
Q2 :Créer la relation entre la table Employés et départements.
Q3-Requete de projection avec sql :SELECT liste des attributs FROM nom de relation ;
Donner les noms de tous les employés et le salaire de chacun d’eux ?
…………………………………………………………………………………………………………………………
……………….
…………………………………………………………………………………………………………………………
………………
…………………………………………………………………………………………………………………………
………………
Q4 :Requête de sélection avec sql :SELECT liste des attributs FROM nom de relation
WHERE condition ;
…………………………………………………………………………………………………………………………
…………………..
…………………………………………………………………………………………………………………………
…………………….
…………………………………………………………………………………………………………………………
175
……………………
…………………………………………………………………………………………………………………………
…………………….
Q5-Quels sont les employés travaillant dans le département 30 ?
…………………………………………………………………………………………………………………………
……………………
…………………………………………………………………………………………………………………………
…………………..
…………………………………………………………………………………………………………………………
………………….
176
Q6 : Modifier le salaire du NumEmp 1 de 2500 à 3000
…………………………………………………………………………………………………………………………
…………………….
…………………………………………………………………………………………………………………………
…………………….
Q7 : supprimer les données du NumEmp 6
…………………………………………………………………………………………………………………………
……………………….
…………………………………………………………………………………………………………………………
……………………..
…………………………………………………………………………………………………………………………
…………………………
Q8- : supprimer la colonne Prime
…………………………………………………………………………………………………………………………
…………………………
…………………………………………………………………………………………………………………………
……………………………
…………………………………………………………………………………………………………………………
…………………………..
177
Esp32 & iot
Définitions :
C’est quoi un robot ?
Santé Maison
Sport
Loisirs
Domaine de
l’Internet
des Objets
Transport
Animaux
Industrie
178
• 2-de réseaux de communication sans fil,
• 3-de plateformes de collecte/d’hébergement/de traitement des données,
• 4-d’applications/services pour les
utilisateurs finaux et d’une
supervision/sécurisation de toute la chaîne.
Les 5 composantes de l’IoT
• Une solution d’IoT s’articule autour de 5 composants essentiels que sont :
• Les objets (capteurs),Le réseau (connectivité),Les données, Les informations, Les
applications
d’exploitation.
Les objets communicants
Un objet communicant est un objet capable d’interagir en autonomie avec son
environnement et d’échanger de lui-même (sans intervention humaine) des
informations avec des utilisateurs ou d’autres objets. On distingue 2 types : les objets
communicants non connectés et les objets communicant connectés (ou encore
«objets connecté»)
Object Communicant
Objet communicant
Objet communicant
non connecté connecté
L’objet connecté est d’abord un objet qui a une fonction mécanique et/ou électrique
propre, il peut soit être
conçu directement « connectable », soit il est déjà existant et la connectivité est rajoutée
à postériori.
L’objet connecté a pour fonction de collecter des données de capteurs, de traiter ces
données et de les
communiquer à l’aide de d’une fonction de connectivité et de recevoir des instructions
pour exécuter une
action. Généralement ces fonctions de l’objet connecté nécessitent une source d’énergie,
surtout quand les
données sont prétraitées directement dans l’objet.
179
Architecture d’un object communicant
180
Exemple de cartes programmable :
La carte ESP 32
C’est une puce de type SOC(System On Chip) mise sur un ………………….. et une de
développement permettant de créer facilement des projets. La carte ESP32 est mise sur un
module qui
s’appelle WROOM32 et sur une plateforme de développement qui
181
Présentation
L’ESP32 des cartes
est une petite ESP32 :
carte électronique, appelée microcontrôleur, facile à prendre
en main grâce à ses
ressemblances avec la carte Arduino qui est bien plus répandue. L’ESP32 peut avoir
différentes tailles.
Généralement, ces cartes ont deux types :
1. Development Board ou ESP32 DB (Annexe.Fig1) : c’est la version avec laquelle
nous allons travailler.
2. Wrover Kit ou ESP32 WK (Annexe.Fig2) : qui est un peu raffinée par quelques
extensions (port caméra
intégré, SD card, powerjack, écran LCD …)
Utilité mentionné
Comme des cartesprécédemment,
ESP32 : l’ESP32 est une carte électronique permettant de
réaliser des projets «IoT» (Internet Of Things) assez facilement (exp. Domotique,
agriculture intelligente, météorologique …). Par ailleurs, elle mesure moins de 3 cm par 5
cm, malgré les technologies qu’elle embarque! L’ESP32 est sans doute la carte
microcontrôleur qui possède le meilleur compromis taille / connectivité / entrées sorties.
Cela en fait un outil redoutable pour la miniaturisation des projets connectés.
Pour finir elle est aussi tout à fait adaptée à la réalisation de prototypes (que nous
allons appliqués au niveau de ce chapitre) et non uniquement à la réalisation de projets
«finis et définitifs».
Installation
Passons des cartes
maintenant ESP32 et
à l’étape Ecriture
la plus des codes
importante de: ce chapitre : comment programmer
une carte ESP32
Pré-requis :
Carte Esp32
Cable data
Câble smartphone
Logiciel thonny pour python : https://thonny.org/
Esptools : https://github.com/espressif/esptool/
Firmware bin pour esp32 : https://micropython.org/resources/firmware/esp32-
20220117-v1.18.bin
Micropython : https://micropython.org/resources/source/micropython-1.18.zip
(MicroPython est une adaptation du langage Python pour les cartes de développement
ESP8266, ESP32,…)
Démarche à suivre :
Etape 1 : installer Thonny
Etape 2 : installer esptools pour Thonny
Etape 3 : relier la carte au PC
Etape 4 : installer le firmware sur esp32 en le mettant en download mode
(bouton EN ensuite bouton boot(IOO))
Programmation de la carte :
183
Saisir un code d’un tel programme avec le langage Microphyton.
Enregistrer le fichier: fichier -> enregistrer sous -> Save ou
cliquer sur le bouton "Save"
Choisir "Cet ordinateur" ou "appareil MicroPython" pour
enregistrer directement dans la carte ESP32.
Choisir le nom main puis cliquer sur le bouton "Ok"
184
Activité2 : Clignotement d’une diode led
Code :
185
Activité 2 :
186
Activité 4: GpiotouchPad: (la fonction if)
Code:
187
188
Explication du pwm:
Rouge-au pin 2
Vert-au pin
23 Bleu au
pin 22
Le (-) au gnd de l’esp 32
Code :
189
Activité 6 : afficher la température et l’humidité (capteur Dht11)
+-au pin 3v
-au pin GND
Bleu au pin
22
Le (-) au gnd de l’esp 32
Le signal -au pin 23
Code :
190
Projet : commander une diode led via wifi
191
192
193
194
195
196
Introduction aux réseaux informatiques
Activité
1:
Activité 2 :
Classer les réseaux ci-dessous suivant l’étendue géographique :
- Un réseau entre les différents points de vente d’un magasin situés dans une même
ville,
- Un laboratoire d’informatique d’un lycée,
- Un réseau d’un cabinet médical,
- Un réseau Internet,
- Un réseau bancaire.
- Un réseau entre un ordinateur portable et un ordinateur de bureau dans une maison
197
198
I-Définition d’un réseau informatique
C’est un ensemble d’équipements informatiques (ordinateurs, imprimantes, etc)
reliés entre eux par des supports de communications (câble, ondes) pour échanger
des données ou partager des ressources matérielles et logicielles.
On distingue deux catégories de réseaux :
Réseau câblé: si les ordinateurs sont reliés par des câbles
Réseau sans fils: s’ils sont reliés par des ondes
II-Intérêts d'un réseau
Communication plus efficace (chat, mail, forum, etc).
Diminuer les coûts grâce au partage de ressources
matérielles et logicielles. Partager des données et des
applications
Centraliser les données(base de données
en réseau). Le jeu vidéo multi-joueurs
III- Types des réseaux
Activité 2 (voir tp)
Les réseaux informatiques peuvent être classés suivant leurs
étendus géographiques. On trouve principalement :
réseau personnel
(PAN), réseau local
(LAN),
réseau métropolitain
(MAN) et réseau
étendu (WAN).
1- PAN (Personal Area Network):
Réseau de l'ordre de quelques mètres (autour d’une personne).
Exemple: réseau entre un ordinateur portable d'une personne et son ordinateur du
Bureau.
2-LAN (Local Area Network):
Il relie des ordinateurs et des dispositifs situés dans un espace réduit
(Quelques dizaines de mètres).
Exemple : laboratoire d'informatique du lycée, réseau dans un même bâtiment.
200
Protocoles réseaux
I- Présentation du modèle
OSI :
Avec l’évolution de l’informatique, le nombre et la taille des réseaux ont augmenté
considérablement, ce qui à provoque une incompatibilité entre les nombreux
réseaux d’où il est devenu difficile d’établir des communications entre eux. Pour
résoudre ce problème, l’organisation internationale de normalisation à
mis en place un modèle réseau permettant de mettre en œuvre des réseaux capable
de communiquer entre eux : c’est le modèle OSI (Open System Interconnexion).
Le modèle OSI représente 7 couches, chacune à une fonction réseau prédéfinie.
II-1 ) Les Couches du modèle OSI :
1. La Couche Physique :
Dans cette couche Physique, on atteint le matériel. C’est
par elle que passe le réseau filaire, qui relie un ordinateur
à un autre. Cette couche s’occupe donc du câblage, des
connecteurs, des signaux électriques et du flux de 0 et de
1 comme elle assure le transport des bits sur les supports
physique.
2. La Couche liaison :
Cette couche est responsable de l’acheminement sans
erreurs de blocs d’informations sur la liaison physique
Cette couche est divisée en 2 sous couches :
La couche MAC (Medium Access Control) qui a pour rôle de gérer l’adressage physique
des cartes réseaux.
La couche LLC (Logical Link Control) qui s’occupe de transfert des trames (séquence des
bits) entres les stations du réseau.
3. La Couche Réseau :
Elle s’occupe de trouver un chemin pour acheminer un paquet de données entre deux
stations qui ne sont
pas sur le même support physique : La fonction de routage.
4. La Couche Transport :
Cette couche permet :
De segmenter les données envoyées par la machine source en paquets et les
rassembler en flux de données sur la machine destinatrice.
De fournir une livraison de bout en bout (communication entre émetteur et
récepteur), qui inclut un accusé
de réception issu de l’ordinateur destinataire pour signaler que le message est arrivé sans
erreur.
5. La Couche Session :
Cette couche est responsable de l’organisation (ouverture et fermeture des sessions entre
deux machines en
communication) et de la synchronisation des échanges entre utilisateurs.
6. La Couche Présentation :
Cette couche s’occupe de la présentation des informations, c’est à dire, elle assure que les
informations
envoyées par la couche application d’un système sont lisibles par la couche application
d’un autre système.
7. La Couche Application :
201
C’est la couche la plus proche de l’utilisateur, elle fournit les applications tel que
(Courriers électronique, transfert des fichiers…).
8. Avantage de découpage en couche :
Le découpage en 7 couches présente les avantages suivant :
Il permet de diviser les communications en éléments plus petits et plus simples, ce qui
permet de les comprendre plus facilement.
202
Il uniforme les éléments du réseau ;
Il permet à différents types de matériels et logiciels de communiquer entre eux ;
II- Le modèle TCP/IP
III-1) Présentation du modèle TCP/IP :
La naissance et l’évolution d’Internet ont donné le jour à un autre modèle de référence :
Le TCP/IP ou modèle
de référence Internet.
Contrairement au modèle OSI, ce modèle n’est pas fondé sur le concept de session de
communication entre deux nœuds bien identifiés. Le modèle TCP/IP reflète le monde de
la communication inter-réseau, où
interviennent un transfert et un routage d’informations entre stations de travail et réseaux
différents.
III-2) Vue en couche de TCP/IP :
La couche matérielle correspond aux couches 1 et 2 du modèle OSI
Les Couches Interconnexion et interface réseau (la couche Internet) correspondent à la
couche 3 du modèle OSI
La couche transport correspond à la couche 4 du modèle OSI
La couche application correspond aux couches 5, 6 et 7 du modèle OSI
Retenons :
Une adresse IP est codée sur 4 octets (32 Bits)
L’adresse IP est composée de 2 parties:
203
L’identifiant du réseau
L’identifiant de la machine
Exemple
En mode binaire : 1001011.01101001.00100100.01000101
204
En mode décimale :155.105.50.69
Le plus courant, cette adresse est représenter sous forme décimale pointé W.X.Y.Z où
w,x,y et z sont quatre chiffre entre 0 et 255. Cette adresse peut être lue de 4 façons :
La machine d’adresse W.X.Y.Z ; ou
La machine d’adresse Z du réseau W.X.Y.0 ; ou
La machine d’adresse Y.Z du réseau W.X.0.0 ; ou
La machine d’adresse X.Y.Z du réseau W.0.0.0 ;
La décomposition d’une adresse IP en adresse de réseau + une adresse machine
ne se fait pas au hasard ;
Donc pour voir si l’adresse du réseau est codée sur 1,2 ou 3 octets, il suffit de regarder la
valeur du premier
octet (ou seulement les premiers bits du premier octet (en mode binaire)) :
Clas Valeur du Valeur Largeur de Nombre Nombre max
se premier des l’adresse de de des
octet premiers réseau réseau machines
Bits x
A 0-127 0 1 octet 127 167772
16
B 128- 10 2 octet 16384 65536
191
C 192- 110 3 octet 20971 256
223 52
D 224- 1110
239
E 240- 1111
255
Remarque:
Pour chaque classe d’adresse, on trouve des plages d’adresse non routable (réservé pour
les réseaux locaux).
Le tableau suivant représente les adresses NON routable pour chaque classe :
Clas Plages d’adresse non routable
se
A 10.0.0.1 à 10.255.255.254
B 172.16.0.1 à 172.31.255.254
C 192.168.0.1 à 192.168.255.254
Masque du réseau:
Afin de bien identifier la partie de l’adresse représentant le réseau et celle représentant la
machine, on utilise
un masque réseau composée de 32 bits (4 octets).
Les bits représentant le réseau sont positionnés à 1 et les bits représentant la machine
sont positionnés en 0. Exemple : le masque pour un réseau de classe B à la forme
suivante :
Masque : 11111111 11111111 00000000 00000000.
La valeur du masque en mode décimale est :
255.0.0.0 pour la classe A
205
255.255.0.0 Pour la classe
B 255.255.255.0 Pour la
classe C.
Note bien :Pour savoir l’adresse ip de notre machine on peut le savoir en ligne :
http://www.mon-ip.com/
206
adresse ip locale. C'est ce qui permet d'identifier votre appareil (PC, tablette,
telephone, portable ...) sur votre réseau local.
Attention à ne pas confondre adresse IP publique qui vous est attribuée par votre
Fournisseur d'accès Internet (FAI) et l'adresse IP locale de votre pc qui est en général
attribuée par votre Box ou routeur via son DHCP.
Adresse IP dynamique : Il s'agit d'une adresse qui n'est pas statique et qui peut
changer à tout moment. Cette adresse IP vous est distribuée à partir d'un groupe
d'adresses IP affectées à votre ISP ou serveur DHCP. C'est pour un grand nombre de
clients qui n'ont pas besoin de garder la même adresse IP tout le temps et cela pour des
raisons variées. Votre ordinateur obtient automatiquement ce numéro lorsqu'il se
connecte au réseau et cela vous épargne l'ennui d'avoir à connaître les détails des
configurations du réseau en question. Ce numéro peut être attribué à toute personne
utilisant une connexion téléphonique, des connexions internet sans fil et à haut débit. Si
vous devez gérer votre propre serveur d'e-mail ou serveur web, il vaut mieux avoir un IP
statique.
Adresse IP statique : une adresse IP qui est fixe et ne change jamais. Cela contraste
avec l'adresse dynamique qui peut changer à n'importe quel moment. La plupart des FAI
offrent une seule adresse IP statique ou un groupe d'IP statiques pour quelques dollars
supplémentaires par mois.
207
Si on n’utilise pas le serveur DHCP,On peut changer notre addresse Ip
manuellement
En accédant au propriété de notre réseau
Fig2:
Fig 4
Cas 1 :Chez vous pas besoin de faire la configuration pour identifier votre appareil sur
le réseau ,le serveur ou le protocol DHCP se charge de ça.de même pour le serveur DNS
(domain name system) (fig 4)ceux deux options sont cochées par défaut.
DHCP signifie Dynamic Host Configuration Protocol. Il s'agit d'un protocole qui
permet à un ordinateur qui se connecte sur un réseau d'obtenir dynamiquement (c'est-
à-dire sans intervention particulière)
208
Le serveur DNS permet d’associer un nom compréhensible, à une adresse IP. On associe
donc une adresse
logique, le nom de domaine, à une adresse physique l’adresse IP.
Le Serveur faisant autorité : serveur DNS qui connait le contenu d’un domaine. (Les
serveurs de l’AFNIC connaissent ce qu’il y a dans .Fr et peuvent répondre).
Le serveur DNS (Domain Name System, ou Système de noms de domaine en français)
est un service dont la principale fonction est de traduire un nom de domaine en
adresse IP.
Pour simplifier, le serveur DNS agit comme un annuaire que consulte un ordinateur au
moment d'accéder à un autre ordinateur via un réseau.
Cas 2 :Au lycée ou dans d’autre établissement utilisant un proxy on doit
configurer les adresses ip manuellement ,le masque sous réseau ainsi que la
passerelle les serveurs dns.
Note bien :dans le cas si on configure manuellement les adresses IP. Elles doivent être
Exemples :Ip pour pc1 labo 2 :172.16.100.1 Ip pour pc 2 labo 2 :172.16.100.2
unique.
Le proxy
Un proxy est un composant logiciel qui joue le rôle d'intermédiaire en se plaçant
entre deux hôtes pour faciliter ou surveiller leurs échanges.
un proxy est alors un programme servant d'intermédiaire pour
accéder à un autre réseau, généralement Internet.
III-4) Passage des adresses IP aux adresses physiques :
Dans un réseau local, chaque machine dispose d’une adresse physique unique (Adresse
MAC), cette adresse
dépend du matériel utilisé pour mettre la machine en réseau.
Dans un réseau TCP/IP chaque machine est identifiée par une adresse IP. Cette
adresse est logique, elle ne dépend pas du matériel et peut être modifié par les
administrateurs.
Dans un réseau local une machine ne peut envoyer une information à une autre
machine que si elle connaît son adresse physique. Il faut donc trouver un système qui
permet de convertir l’adresse logique IP en une adresse physique.
III-6) Routage:
Le Routage est l’un des rôles de la couche 3 : acheminer les informations d’un réseau à
un autre. Les réseaux sont reliés entre eux à l’aide de routeurs.
209
Tous les réseaux ne sont pas directement reliés, il faut passer par des réseaux
intermédiaires.
210
Toutes les machines (y compris les routeurs) possèdent une table de routage qui
contient des routes. Une route contient les paramètres pour déterminer par quel
routeur ou passerelle il faut passer pour accéder à un réseau donné.
Les protocoles pour chaque couche du modèle TCP/IP
http :hyper Texte Transfer Protocol : est un protocole qui permet de récupérer des
ressources telles que des documents HTML. Il est à la base de tout échange de
données sur le Web. C'est un protocole de type client- serveur, ce qui signifie que
les requêtes sont initiées par le destinataire (qui est généralement un navigateur web.
smtp:simple mail Transfer Protocol ftp:file transfer protocol
Note bien:
Un programme utilise un port pour envoyer ou recevoir
des données à travers le réseau. Les ports sont codés
sur 16 bits. Il en existe donc 65536. Lorsqu'un
ordinateur reçoit des informations du réseau, il
identifie à quelle application il doit les envoyer grâce
au numéro de port.
Les ports de 0 à 1023 sont les ports "reconnus",
généralement réservés aux processus système
(démons) ou aux ports du serveur. Par exemple, le
port 80 correspond au protocole HTTP, c'est-à-dire à
la connexion d'un serveur HTTP avec un navigateur
Web.
211
CP regroupe un ensemble de protocoles comme HTTP, FTP, SMTP..
212
Configuration et administration d’un réseau local
I-Introduction
Après installation des composants matériels d’un réseau local, il faut faire une
configuration pour que les
postes puissent communiquer.
II-Configuration logicielle d’un réseau poste à poste
Dans un réseau poste à poste, chaque poste peut jouer le rôle d’un
serveur et d’un client. L’organisation des postes se fait sous forme de
groupe de travail(WORKGROUP).
Pour que les postes puissent communiquer, il faut :
Installer et configurer les cartes
réseaux. Ajouter et configurer
les protocoles.
Attribuer une adresse IP pour chaque poste (manuellement ou automatiquement).
214
Partage et sécurité
Préciser les droits d’accès (lecture, écriture ou les deux).
Valider
215
216