Académique Documents
Professionnel Documents
Culture Documents
Les pages Web visualisées dans un navigateur Internet sont écrites avec un langage nommé ……………………(HyperText
Markup Language). C’est un langage de description de contenu et de structure.
Il est composé d’un ensemble de …………………………………. (tags). Une balise est un élément spécial qui indique une
action concernant la mise en page, la mise en forme ou la structure logique d’un document.
La partie « Head »:
Ouvrir la page « D:\ introduction.html » par l’éditeur de page web disponible (vs code, sublimetext, …)
Puis effacer la 4ème ligne ( <meta charset="utf-8" /> )
Enregistrer puis réouvrir la page par le navigateur « internet explorer » . Que remarquez-vous ? …………………..............
Cette balise indique l'encodage qui détermine comment les caractères spéciaux vont s'afficher (accents,
idéogrammes chinois et japonais, caractères arabes, etc.).
Les informations que contient l'en-tête ne sont pas affichées sur la page web, ce sont simplement des informations
générales à destination du navigateur (le titre, l'encodage, la description, ….)
1
Partie : Création d’un site web interactif 3STI
La partie « Body »:
Les paragraphes : Comparez entre les paragraphes comment elles sont écrites dans le code et comment
elles sont affichées. Que constatez-vous ?
Ajouter dans le code les balises nécessaires pour afficher chaque paragraphe à part. ………………………………………
Insérer si nécessaire la balise qui permet de retourner à la ligne. ……………………
Les titres : On veut ajouter le titre « introduction » avant le premier paragraphe.
Quelle balise doit-on insérer ? ………………………………….
Rappelons qu’en HTML , on a le droit d'utiliser 6 niveaux de titres différents:
La mise en valeur
Au sein de vos paragraphes, certains mots sont parfois plus importants que d'autres et vous aimeriez les
faire ressortir. HTML vous propose différents moyens de mettre en valeur le texte de votre page.
- Pour mettre un peu en valeur votre texte, vous devez utiliser la balise <em> </em>. Essayer cette
balise pour le mot « fichier texte » et voir son rôle . Le texte devient en ………………………….
- Pour mettre un texte bien en valeur, on utilise la balise <strong> qui signifie « fort », ou « important
». Essayer de mettre le mot « .html » entre la balise <strong> </strong> et voir le résultat. Le texte
s’affiche en ………………………
- La balise <mark> </mark> permet de faire ressortir visuellement une portion de texte. Essayer cette
balise pour les mots « le HTML et le CSS » et regarder le résultat. Le texte est ……………………..
Les listes :
Ajouter ces lignes puis déduire le rôle de ces balises Modifier <ul> </ul> par <ol> </ol> et regarder la
différence :
…………………………………………………………….. …………………………………………………….……….
2
Partie : Création d’un site web interactif 3STI
Exercice :
En utilisant un éditeur de page web, créer un nouveau fichier nommé « listes.html » dans votre dossier de travail,
puis écrire un code en HTML 5 sachant que : le titre de la page web est : « autres listes en HTML »
Dans le corps essayer de créer cette liste :
……………………………
……………HTML………………..
…………………….
……………Les titres………………..
……………Les paragraphes………………..
……………Les listes………………..
…………………….
……………CSS………………..
……………JavaSCript…………
………………………..
Ecrire et exécuter le code suivant puis déduire le rôle de ces balises :
L'élément HTML <dl> représente une liste de ………………………… sous la forme d'une liste de paires
associant des termes (fournis par des éléments <dt>) et leurs descriptions ou définitions (fournies par des
éléments <dd>).
Les commentaires
Votre code devient compliqué, comment faire pour expliquer des instructions ? ……………………………………………
……………………………………………………………………………………………………………………
Essayer d’ajouter ce commentaire puis exécuter votre code , est ce qu’il s’affiche dans la page web ? ………………..
Ligne horizontale
insérer une ligne horizontale ente les deux listes comme suit :
Indice et exposant
Dans un nouveau fichier essayer d’écrire un code pour obtenir le résultat suivant :
<p>En 4……….eme…….. année vous allez
apprendre E=MC…….2………..</p>
3
Partie : Création d’un site web interactif 3STI
Les tableaux :
Ecrire le code suivant dans la partie body et enregistrer le fichier sous le nom table.html dans votre
dossier . Dessiner le résultat obtenu :
<table >
<tr>
<th> Les balises en paires </th>
<th> Les balises orphelines </th>
</tr>
<tr>
<td> p </td>
<td> hr </td>
</tr>
</table>
le rôle de chaque balise.
o La définition d'un tableau : <table>…</table>
o La définition d'une ligne : <tr>…</tr>
o La définition d'une cellule contenant l'en-tête du tableau : <th>…</th>
o La définition d'une cellule : <td>…</td>
Les médias :
On veut créer une page web qui contient les différents médias : image, son et vidéo .
Sachant que dans votre dossier de travail il
existe une image nommé « html5.jpg » et
un son nommé « son1.mp3 » ainsi qu’une
vidéo nommée « 3d.mp4 », essayer de
compléter le code suivant afin d’obtenir
cette page web. Enregistrer votre fichier
sous le nom media.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>insertion médias</title>
</head>
<body>
<……>Les médias</……>
<……>Voici une image: </……..>
<………… src="…………….……" >
</body>
</html>
4
Partie : Création d’un site web interactif 3STI
La balise img :
Exemple : <img src="image1.jpg" width="200" height="150">
< img src="image2.jpg" width ="200" height="150" border="2" alt="image insérée">
Dans les pages Web, l'insertion d'une image se fait avec la balise suivante :
<img src ="adresse" width="largeur" height="hauteur" border="taille" alt="texte" align="alignement">
o src ="adresse" : définit l'adresse absolue (http://...) ou relative de l'image à afficher.
o width ="largeur" et height ="hauteur" : définissent la largeur et la hauteur de l'image en pixels.
o alt ="texte": permet de définir le texte de l'info bulle de l'image.
o border ="taille": définit la largeur de la bordure autour de l'image.
La balise audio :
Exemple : <audio controls="controls" loop="loop" autoplay="autoplay" preload="auto">
<source src ="son1.mp3">
</audio>
Attribut Rôle
controls Affiche le lecteur audio et ses différentes fonctionnalités (lecture, pause, volume ...).
Valeur = "controls"
loop Indique que le fichier son doit être joué en boucle.
Valeur = "loop"
autoplay Indique que le fichier son doit être lu automatiquement lorsqu'il est chargé.
Valeur = "autoplay"
preload Spécifie le mode de chargement du fichier son à l'ouverture de la page.
Valeur ="auto","metadata","none"
src URL du fichier son qui sera lu
La balise audio permet de lire des fichiers sons ou des flux audio directement dans la page en proposant un lecteur
intégré avec des contrôles génériques tels que lecture, pause et contrôle du volume.
La balise vidéo :
Exemple : <video controls="controls" height=300 width=300 poster="image_poster.jpg">
<source src ="3D.mp4 ">
</video >
Attribut Rôle
poster Spécifie une image par défaut à afficher comme arrière-plan du lecteur tant que la vidéo n'est pas
lancée.
muted Indique au lecteur de désactiver le son de la vidéo.
Valeur="muted"
La balise vidéo permet de lire des fichiers ou des flux vidéo directement dans la page en proposant un lecteur intégré
avec des contrôles génériques tels que lecture, pause, positionnement dans la vidéo et contrôle du volume.
Insérer un lien hypertexte :
On peut insérer dans une page web plusieurs types de liens :
- Lien externe : Un lien vers une autre page web dans internet ou dans l’ordinateur, un lien vers un fichier , …
- Lien interne : Un lien vers un emplacement dans la même page
Ecrire le code suivant et l’enregistrer sous le nom « lien.html » dans votre dossier
<!DOCTYPE html> <body>
<html> Menu
<head> <ul>
<meta charset="utf-8"> <li> <a href ="media.html" > Les médias</a></li>
<title>les liens </title> </ul>
</head> </body>
</html>
Ajouter de la même manière des liens vers les pages tables et listes.
5
Partie : Création d’un site web interactif 3STI
NB : A noter qu’il existe pour les liens des attributs qui peuvent modifier le comportement par défaut de ces liens.
Exemple : L’attribut target permet d’ouvrir la page cible dans une nouvelle fenêtre ou un nouvel onglet en lui
attribueant la valeur _blank. Exemple : <a href ="media.html" target="_blank" > Les médias</a>
6
Partie : Création d’un site web interactif 3STI
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 :
Si vous souhaitez optimiser votre site pour une utilisation sous mobile ou
tablettes, vous devrez ajouter au minimum la balise « viewport ».
Il faut écrire la ligne de code suivante, entre les balises « head » de votre
site, pour utiliser un viewport classique :
<meta name="viewport" content="width=device-width, initial-
scale=1.0">
2- On veut afficher dans une page web une phrase avec des espaces comme suit :
7
Partie : Création d’un site web interactif 3STI
Les citations :
1- Chercher la balise qui permet d’insérer un bloc de citation (citation longue ) ainsi que sa source.
Exemple :
<………………………………… >Je n'ai pas d'ordinateur. Je ne méprise pas du tout l'informatique, tous mes amis
écrivent à l'ordinateur, mais moi j'écris mes articles avec un stylo et mes livres avec un crayon. C'est la seule
névrose que j'ai : je ne dois pas perdre mon crayon. Je sais qu'un livre, c'est quatre
crayons.</.........................................>
Jean D'Ormesson <……………………………..>citation informatique et livre</…………………..>
2- Chercher la balise qui indique que le texte est une citation en incise (citation courte).
Exemple :
<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 :
<p>Contactez l’auteur de cette page:</p>
<………………………….>
<a href="mailto:jim@rock.com">jim@rock.com</a><br>
<a href="tel:+13115552368">(311) 555-2368</a>
</….………………………>
Barre de progression
Une barre de progression (ou barre de chargement) est un composant de base
des interfaces graphiques qui permettent d'indiquer à l'utilisateur l'état
d'avancement d'un travail qu'est en train d'effectuer l'ordinateur.
Au début la barre est complètement vide, puis elle se remplit au fur et à mesure de
l'avancement de la tâche pour finir complètement remplie lorsque le travail est
terminé.
Chercher la balise qui permet d’afficher cette barre.
<………………………………….. max="100" value="70"> 70% </……………………………………>
Les images avec légende:
Chercher les balises à utiliser pour afficher une image avec sa légende.
<…………………………………..>
<…………………. src="html5.jpg" >
<……………………………………..> Dernière version de Html</…………………………………..>
</…………………………………………………….>
8
Partie : Création d’un site web interactif 3STI
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.
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>
9
Partie : Création d’un site web interactif 3STI
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
<p>Cliquer sur le croissant pour aller à une nouvelle page et lire plus sur ce
sujet:</p>
<……………….. 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="………………………………………………………">
</……………….>
10
Partie : Création d’un site web interactif 3STI
Application :
Ecrire un code en html pour créer la page web suivante (vous pouvez copier le texte enregistré dans app.txt et ajouter les balises nécessaires pour les titres,
paragraphes , listes, bloc de citation, les mots peu et très important, ligne horizontale, les contacts , ….)
-Ajouter les liens internes vers les différentes parties. - Ajouter un lien externe de la source vers la page web d’adresse https://books.openedition.org/editionsmsh/84
-Enrichir votre page par la vidéo « ioT.mp4 » dans la partie « introduction » et par l’image « exemples.jpg » dans la partie « exemples »
11
Partie : Création d’un site web interactif 3STI
CSS
1- La petite histoire de css
CSS (Cascading Style Sheets), permet de choisir la couleur du texte, la police utilisée, la taille du texte, les bordures,
le fond… et de faire la mise en page du site (menu à gauche, en-tête calé en haut, etc).
SYNTAXE :
Sélecteur 1
{
propriété1: valeur1;
propriété2: valeur2;
propriété n: valeur n;
}
Sélecteurs, propriétés et valeurs :
Un sélecteur : déterminer à quels éléments (ou type d’éléments) HTML on souhaite appliquer un style particulier. Si
on veut appliquer un style à tous nos paragraphes par exemple, on utilise le sélecteur « p ».
Une propriété : un critère bien particulier comme la taille d’un texte, sa police ou sa couleur par exemple.
Une valeur :détermine le comportement, par exemple bleu pour la propriété valeur.
Exemple :
P{
Color : blue ;
2- Déclaration du CSS
On peut écrire du code en langage CSS à trois endroits différents :
• dans un fichier .css (méthode la plus recommandée) ;
• dans l'en-tête <head> du fichier HTML ;
• directement dans les balises du fichier HTML via un attribut style (méthode la moins recommandée).
3- Appliquer un style
Prenons le code CSS suivant :
h1 {
color: blue;
}
em {
color: blue; }
Les titres <h1> et les textes peu importants <em> doivent s'afficher en bleu.
Si les deux balises doivent avoir la même présentation, il suffit de combiner la déclaration en séparant les noms des
balises par une virgule :
h1, em
{
color: blue; }
4- Les commentaires en CSS
Les commentaires ne seront pas affichés, ils servent simplement à indiquer des informations.
Taper /*, suivi de votre commentaire, puis */ pour terminer votre commentaire.
12
Partie : Création d’un site web interactif 3STI
Activité 1 : CSS
Ecrire un code HTML permettant de réaliser la page web représentée ci-dessous.
3- Déplacer le contenu de la balise style dans un nouveau fichier enregistré sous le nom style.css puis modifier
la couleur .
4- Ajouter la ligne suivante dans la balise head.
L’attribut rel sert à préciser le style du fichier lié (dans notre cas c’est une feuille de style, donc stylesheet en anglais).
5- Ajouter les lignes suivantes dans la feuille style.css une par une pour déduire leurs rôles
{ color: blue;
13
Partie : Création d’un site web interactif 3STI
Activité 2 : CSS
Ajouter les propriétés suivantes dans votre dernier fichier style.css et voir à chaque fois le résultat puis déduire leurs
rôles :
h1{
text-align:center;
p{
text-indent:25px;
Activité 3 : CSS
Ouvrir votre fichier application.html et le relier avec le fichier style2.css contenant le code suivant (essayer par bloc
et déduire le rôle de chaque propriété)
blockquote {
padding: 35px; /* modifier par 55*/
background: #eee;
border-radius: 10px; /* modifier par 20*/
}
figure{
border: thin #c0c0c0 solid; /*changer thin par medium*/
padding: 5px;
max-width: 220px;
margin: auto;
}
img {
max-width: 220px;
max-height: 150px;
}
figcaption {
background-color: #222;
color: #fff;
font: italic smaller sans-serif;
padding: 3px;
text-align: center;
}
14
Partie : Création d’un site web interactif 3STI
Bordure (border ) en css
15
Partie : Création d’un site web interactif 3STI
16
Partie : Création d’un site web interactif 3STI
La propriété padding est une propriété raccourcie qui permet de définir les différents écarts de remplissage
sur les quatre côtés d'un élément (cf. les boîtes CSS). Elle synthétise padding-top, padding-right, padding-
bottom, padding-left.
padding: 1em;
padding: 10% 0;
padding: 0;
17
Partie : Création d’un site web interactif 3STI
Les formulaires
Les pages Web construites en HTML permettent de présenter et de diffuser de l’information en provenance d’un
serveur Web vers un navigateur client. Un « dialogue » client-serveur s’instaure lorsque le client peut à son tour
envoyer des informations au serveur, notamment par le biais de formulaires :
Activité 1 :
On veut créez un formulaire d’authentification contenant un champ de texte pour saisir un login et un champ
password pour le mot de passe de huit caractères au maximum, chacun étant précédé d’un label explicatif.
Ajoutez un bouton d’envoi et un bouton de réinitialisation.
Commençons pas à pas :
1- Ouvrir un nouveau fichier et l’enregistrer sous le nom « fomulaire_authentification.html »
2- Commencer par la balise <form> </form> pour créer un formulaire.
3- Dans le bloc form , insérer les lignes suivantes :
<label > Login : </label>
<input type="text" />
Exécuter et voir le résultat :
Essayer de cliquer sur le mot « Login » , la zone de saisie ne s’active pas , essayons alors de les relier ensemble :
Attribut Description
placeholder permet d’afficher un exemple de la valeur attendue en gris clair directement dans le
champ
disabled indique si le champ doit être désactivé
readonly indique si le champ peut être édité ou non
required indique que le champ est obligatoire à saisir
value La valeur par défaut du champ
maxlength le nombre maximal de caractères à saisir
size définit la largeur de la zone de texte
hidden Les champs de ce type sont invisibles sur la page.
18
Partie : Création d’un site web interactif 3STI
4- Ajoutons maintenant le champ de mot de passe :
<label for="mdp"> Mot de passe </label>
<input type="password" id="mdp" name="mdp" maxlength="8">
Enregistrer et exécuter, essayer de saisir plus de 8 caractères. Est-ce que
c’est possible ?
Le bouton de type reset réinitialise tous les contrôles du formulaire à vide ou à leur valeur par défaut.
6- Ajoutons les balises <fieldset> </fieldset> autour des éléments ajoutés dans le bloc form.
<fieldset>
<label for="log"> Login </label>
…
<input type="reset" value="Effacer"/>
</fieldset>
Enregistrer et voir le résultat. ………………………………………………….
Après la balise fieldset, ajouter la balise suivante et voir le résultat :
<fieldset>
<legend> Authentification </legend>
19
Partie : Création d’un site web interactif 3STI
La zone de texte long : <textarea type="text" name="lib" rows="3"
cols="25">valeur par défaut</textarea>
20
Partie : Création d’un site web interactif 3STI
Application :
body { ol li {
font-family: Georgia; background: #b9cf6a;
padding: 20px; } border-color: #e3ebc3;
form { border-style: solid;
background: #9cbc2c; border-width: 2px;
border-radius: 5px; border-radius: 5px;
padding: 20px; line-height: 30px;
width: 400px; } list-style: none;
fieldset { padding: 5px 10px;
border: none; margin-bottom: 2px; }
margin-bottom: 10px; } button{
legend { margin-left: 60px;
color: #384313; text-align: center;
font-size: 16px; color: #fff;
font-weight: bold; line-height: 2.5;
padding-bottom: 10px; padding: 0 20px;
text-shadow: 0 1px 1px #c0d576; } border-radius: 10px;
button:hover { background-color: rgba(220, 0, 0, 1);
background: #1e2506; }
cursor: pointer;
}
21
Partie : Création d’un site web interactif 3STI
Correction :
<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="exemple@domaine.com" 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>
<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>
22
Partie : Création d’un site web interactif 3STI
Balise de groupement div, les attributs class et id
Activité :
1- Créer une page web nommée « connexion .html » qui contient le formulaire suivant :
Remarque :
2- Mettre chaque ligne (chaque label et zone de saisie correspondante, les boutons) dans un bloc.
1. Mettre une image en arrière-plan de la page. 4. Mettre les boutons au centre => il faut
2. Le fieldset est au centre de la page. (il faut identifier le bloc des boutons.
définir une largeur puis mettre les marges
5. Régler la largeur du bouton « annuler »
gauche et droite automatique)
Il a un arrière-plan coloré. 6. Mettre les zones de saisies à droite. Régler
Régler la marge haut et la marge d’intérieur. leurs largeurs.
3. Régler l’espace entre les blocs (les marges en
7. Changer la couleur des boutons et régler leurs
bas)
Appliquer une bordure arrondit. marges d’intérieurs
Choisir une couleur d’arrière-plan plus claire 8. En passant la souris sur les boutons leur couleur
que celle du fieldset.
change et le curseur devient un pointeur
Régler la marge d’intérieur.
23
Partie : Création d’un site web interactif 3STI
Correction :
On remarque que la mise en forme des zones de saisies n’est pas la même pour les boutons. Donc on ne peut pas
utiliser le sélecteur input.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="s.css"/>
<title>connexion</title>
</head>
<body>
<form action="">
<fieldset>
<div> <label for="log"> Adresse email: </label>
<input class="zone" type="email" id="log" name="login">
</div>
<div> <label for="mdp"> Mot de passe: </label>
<input class="zone" type="password" id="mdp" name="mdp" maxlength="8"
placeholder="8 caractères au maximum">
</div>
<div id="bou"> <input class="bout" type="submit" value="Se connecter"/>
<input class="bout" id="ann" type="reset" value="Annuler"/>
</div>
</fieldset>
</form>
</body>
</html>
Fichier css
body{ #ann{
background-image:url(a.jpg); width: 90px;
} }
fieldset{ .zone{
background-color: rgb(139, 201, 160); float: right;
margin-left: auto; width: 200PX;
margin-right: auto; }
width: 400px; .bout{
margin-top: 200px; background-color: skyblue;
padding: 50px; padding: 5px;
} font-family: 'Courier New', Courier,
div{ monospace;
margin-bottom: 10px; font-weight: bold;
border-radius: 5px; }
background-color: rgb(207, 250, 221); .bout:hover {
padding: 15px; background: #0f21be;
} cursor: pointer;
#bou{ }
text-align: center;
}
24
Partie : Création d’un site web interactif 3STI
Style : class et id
Pour que certains paragraphes 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.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="style.css" />
<title>Premiers tests du CSS</title>
</head>
<body>
<h1>Mon super site</h1>
<p class="introduction">Bonjour et bienvenue !</p>
</body>
</html>
Dans le CSS, indiquez le nom de votre classe en commençant par un point, comme ci-dessous :
.introduction
{
color: blue;
}
L'attribut id fonctionne exactement de la même manière que class mais il ne peut être utilisé qu'une fois dans le
code.
Dans le fichier CSS, il faudra faire précéder le nom de l'id par un dièse (#) :
#introduction
{
color: blue;
}
Les balises universelles
Il existe deux balises dites universelles :
•<span> </span> : 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> et <em> sont de la même famille.
•<div> </div> : c'est une balise de type block, qui entoure un bloc de texte. Les balises <p>, <h1>, etc. sont de la
même famille. Ces balises ont quelque chose en commun : elles créent un nouveau « bloc » dans la page et
provoquent donc obligatoirement un retour à la ligne.
Exemple :
.salutations
{
color: blue;
}
25
Partie : Création d’un site web interactif 3STI
Balises HTML liées aux groupement : <div> , <span>, <hgroup>
Activité 1 :
1- Ecrire les deux codes suivants html et css dans deux fichiers exdiv.html et stylex.css
exdiv.html stylex.css
<body> p{ background-color: gray;}
<p> Avant la division <div>Dans la division</div> Et div{ background-color: red;
après la division</p> opacity:1 ; }
</body>
Exécuter et regarder le résultat, quel est le rôle de la balise div ?
…………………………………………………………………………………………….
3- Dans le fichier css changer la valeur de la propriété opacity par 0 puis par 0.3 et regarder les résultats .
………………………………………………………………………………………………………………………………………………………..
4- Modifier les propriétés background-color et opacity par une seule comme suit :
span{
background-color:rgba(255,0, 0, 0.3); }
La transparence en css peut se faire avec deux méthodes :
avec la propriété opacity (on lui donne une valeur entre 0 et 1), mais dans ce cas tout le contenu
devient transparent)
avec la valeur rgba(red, green, blue, alpha) , la valeur alpha est compris entre 0 et 1
Activité 2 :
Ajouter ces deux codes et voir le résultat
<hgroup> hgroup {
<h1>LES BALISES DE GROUPEMENT</h1> text-align: right;
<h2>div et span</h2> font-family: Verdana, sans-serif;
</hgroup> padding-right: 16px;
border-right: 10px solid #00c8d7;
}
Quel est le rôle de hgroup ?
L'élément <hgroup> est utilisé pour regrouper un ensemble des éléments de <h1> à <h6> , lorsqu'un titre a plusieurs
niveaux (sous-titres).
26
Partie : Création d’un site web interactif 3STI
STRUCTURE GENERALE D’UNE PAGE WEB
<header> <footer> <article> <section> <nav> <aside>
En regardant des exemples de sites web on remarque qu’ils sont structurés de plusieurs façons avec quelques points
en commun.
Le HTML5 nous offre une série de nouveaux éléments dit « structurants » et qui vont préciser le sens de certains
contenus.
27
Partie : Création d’un site web interactif 3STI
Code html
<body>
<header>
<img src="logo.jpg" alt="">
<h1> entête </h1>
</header>
<div>
<nav>naviguation</nav>
<section> section</section>
<aside> aside</aside>
</div>
<footer>pied</footer>
</body>
Relier ce code par un fichier css nommé exp.css
- L’image logo :
Largeur de 10vw
Marges : 1%
- H1 : marges d’intérieures haut : 1%
En exécutant le code on remarque que le titre reste en bas ; dans ce cas on va ajouter la propriété « display :flex »
pour le sélecteur « header » pour mettre les blocs dans la même ligne
28
Partie : Création d’un site web interactif 3STI
Correction :
body{
margin: 0px;
}
header{
background-color: #f575f5;
height:20vh;
display: flex;
}
img{
width: 10vw;
margin:1%;
}
h1{
padding-top: 1%;
}
div{
display: flex;
}
nav, aside {
width: 10%;
height: 70vh;
background-color: cadetblue;
}
section{
width: 80%;
height: 70vh;
background-color: #ddddee;
}
footer{
width: 100%;
height:10vh;
background-color: #f575f5;
}
29
Partie : Création d’un site web interactif 3STI
Les bordures en CSS
En utilisant le contenu du fichier applicaton1.txt enregistré sous D:\3STI\applications , ajouter les balises nécessaires
afin d’obtenir cette page web et l’enregistrer sous le nom application1.html
Lier votre page web par un fichier css nommé « styapp1.css » et ajouter les propriétés nécessaires afin d’obtenir la
mise en forme suivante :
30
Partie : Création d’un site web interactif 3STI
1- Les images ont une largeur et hauteur 50px , marges gauches 10%
2- Appliquer un arrière-plan dégradé incliné de 45 degrés, commençant par la couleur silver et finissant en
couleur gris. background:linear-gradient(45deg,silver,gray);
Remarque : voici des autres exemples de degradation :
/* Un dégradé commençant en bas à droite et allant jusqu'au coin supérieur gauche, commençant en
bleu et finissant en rouge. */
linear-gradient(to left top, blue, red);
/* Un arrêt de couleur : un dégradé allant de bas en haut, commençant en bleu, devenant vert à
40% de sa longueur et finissant en rouge. */
linear-gradient(0deg, blue, green 40%, red);
31
Partie : Création d’un site web interactif 3STI
Correction
Html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="excs2.css">
<title>Document</title>
</head>
<body>
<header>
<h1>Système , technologie et internet</h1>
</header>
<nav>
<ul>
<li><a class="lien" href="#ac"> Accueil</a></li>
<li><a class="lien" href="#se">Services</a></li>
<li><a class="lien" href="#co">Contact</a></li>
<li> <input type="text" placeholder="Rechercher..."> </li>
</ul>
</nav>
<main>
<section>
<h3 id="ac">Les objets communicants</h3>
<article>Les progrès continus des technologies de la microélectronique et des
réseaux de capteurs permettent maintenant d’envisager le déploiement de services sécurisés
et optimisés distribués sur des réseaux d’objets communicants intelligents interconnectés
: c’est notamment la vision de l’Internet des Objets. Nous assistons actuellement au
déploiement d’une nouvelle génération d’objets interconnectés dotés de capacités de
communication, de détection et d’activation pour de nombreuses applications. Ainsi,
l’interconnexion d’objets dotés de capacités avancées de traitement va conduire à une
révolution en termes de création et de disponibilité de service et va profondément changer
notre façon d’agir sur notre environnement : les villes, les transports, l’énergie,
l’industriel, le médical, le commerce, la banque…,
</article>
<h3>Les objets connectés</h3>
<article>Les objets connectés ont encore de beaux jours devant eux ! Tee-shirts,
montres, chaussures, lunettes.., les objets high-tech, aussi appelés intelligents,
envahissent nos foyers. Aujourd'hui faisant partie intégrante de notre vie quotidienne,
leur utilité est indissociable pour le côté pratique, ludique et technologique.
Les objets connectés sont des objets électroniques connectés sans fil,
partageant des informations avec un ordinateur, une tablette ou un smartphone... et
capables de percevoir, d'analyser et d'agir selon les contextes et notre environnement.
</footer>
</body>
</html>
Css
img{width:50px;
height: 50px;
margin-left: 10%;}
body{
background:linear-gradient(45deg, silver, gray);
width: 70%;
margin: auto;}
header{height: 20vh; }
header h1{
text-shadow:0PX 3PX coral;
}
nav{
background-color:rgba(168, 131, 21,0.5);
border-radius: 15PX 15px 0px 15px;
padding-top: 1px;
padding-bottom: 1px;
width: 70%;
position: fixed;
top: 10%;
}
li{
list-style: none;
display:inline ;
margin-left: 20px;
}
.lien {text-decoration: none;
color: aliceblue;
font-weight: bolder;
33
Partie : Création d’un site web interactif 3STI
}
.lien:hover{color: #000;}
/*.lien:visited{color:rgb(231, 36, 36);}*/
input:focus{ background-color: bisque;}
input{float: right;
border-radius: 40px;
margin-right: 1%;
height:20px ;
}
h3,h2,footer{background-color: coral;
padding-left: 5px;
}
main{display: flex;
}
section{
background-color: white;
width: 80%;
border: solid coral;
border-radius: 15px 0px 15px 15px;
margin-right: 1%;
/* height: 70VH;
overflow: scroll;*/
}
aside{
width: 20%;
background-color: white;
border: solid coral;
border-radius: 0px 0px 15px 15px;
}
footer{
margin-top: 5vh;
padding: 10px;
border-radius: 15px;
text-align: center;
font-weight: bold;
}
article,p{
padding: 2%;
text-align: justify;
font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;
font-size: 1.2em;
}
34
Partie : Création d’un site web interactif 3STI
HTML5&CSS3 3STI
Arrière-plan : image nabeul.jpg avec une taille (100% , 3Ovh) Type de bordure :outset
Le titre de l’entête : marge intérieure haut 5%, couleur beige , opacité 0.6 , police courier new , ombre (1px 1px
2px black)
Le main : display flex , marges gauche et droite 10%
Navigation : couleur d’arrière-plan blanc , Type de bordure : outset ,largeur 20%
Les éléments de la liste : pas de style
Les liens de menu navigation : display block , couleur d’arrière-plan bleu, pas de soulignement, couleur blanc,style
gras , lageur 60% , marge haut 3% , marges intérieures 3%
Section : couleur d’arrière-plan blanc, Type de bordure : outset, largeur 60%, marge intérieure gauche 1%
Paragraphes : police Georgia, 'Times New Roman', Times, serif ; taille 1.1em
En passant la souris sur les liens : la couleur devient rgb(248, 20, 180) , largeur 80%, hauteur 5vh ,
bordure arrondit 5px
La transition de la largeur dure 1seconde
En passant la souris sur l’image de l’aside : la largeur devient 120%
La transition de la largeur dure 2secondes
En passant la souris sur l’image de header : les marges gauche et droite 5% , largeur 90% , la durée
de transition 3s
Paragraphe :
p
{
animation-duration: 3s;
animation-name: slidein;
}
@keyframes slidein
{ from { margin-left:
100%; width: 300%;
} to { margin-
left: 0%; width: 100%;
Ajouter une animation pour le pied de page qui dure 20 secondes et qui se passe sur 5 étapes où à
chaque étape la couleur change.
36
Partie : Création d’un site web interactif 3STI
Annexe CSS
Propriétés de mise en forme du texte
La mise en forme est l’opération qui permet de contrôler la présentation du texte.
Description Propriété Valeurs (exemples)
Police du texte font-family police1, police2,police3,…
Taille du texte font-size 1.3em, 16px, 120%...
Gras font-weight bold : gras , bolder : plus gras , lighter : plus fin ,
normal : pas gras (par défaut)
Italique font-style italic (italique ), oblique(autre façon de mettre en
italique) , normal (par défaut)
Soulignement, ligne au-dessus, text-decoration underline (souligné), overline ( ligne au-dessus),
barré ou clignotant line-through (barré),blink (clignotant),
none : normal (par défaut)
Alignement horizontal du texte text-align left : aligné à gauche (par défaut)
center : centré
right : aligné à droite
justify : justifié (prend toute la largeur de la page)
Ombre text-shadow Exemple : 5px 5px 2px blue
(horizontale, verticale, fondu, couleur)
37
Partie : Création d’un site web interactif 3STI
exemple de float
Display :
display flex
Type de liste
Bordure Border-radius
Position
39
Partie : Création d’un site web interactif 3STI
Exercice :
b-………………………………………………………………………
c-………………………………………………………………………..
d-…………………………………………………………………………….. e- …………………………………………………..
f -………………………………………………………………………….. g- …………………………………………………..
h-………………………………………………………………………….. i- …………………………………………………..
40
Partie : Création d’un site web interactif 3STI
j- ………………………………… k-………………………………
L-……………………………………………………. m-………………………………………
n-……………………………………………… o-…………………………………………………………………
4- Proposer deux solutions pour que la couleur de fond de contenu 1 soit différente à celle de contenu 2.
(exemple contenu 1 bleu ciel , contenue 2 jaune)
html css
Solution 1
41
Partie : Création d’un site web interactif 3STI
Solution 2
42
Partie : Création d’un site web interactif 3STI
Animations
On utilise :
animation-name : pour désigner l’animation utilisée. (obligatoire)
animation-duration : pour définir la durée de l’animation (par défaut elle est de 0 seconde).
(obligatoire)
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;}
50% {width: 300px;}
100% {width: 200px;}
}
On a 3 étapes :
le départ (0%) avec une largeur de 0px
la moitié (50%) avec une largeur de 300px
l’arrivée (100%) avec une largeur de 200px
43
Partie : Création d’un site web interactif 3STI
3. Plusieurs propriétés :
On peut aussi changer plusieurs propriétés :
@keyframes taille {
0% {width: 0px; background-color: red;}
25% {width: 50px; background-color: yellow;}
50% {width: 100px; background-color: green;}
75% {width: 150px; background-color: pink;}
/* 100% {width: 200px; background-color: blue;} devient facultatif car
l'état 100% est déjà l'état du div "final".*/
}
4. Démarrage différé :
Dans les exemples ci-dessus, l’animation commence dès le chargement, ce qui n’est pas toujours
souhaitable. On dispose de la propriété animation-delay pour différer le départ de la durée voulue.
En poursuivant notre exemple ça pourrait donner ce code :
div {
animation-name: taille;
height: 100px;
width: 200px;
background-color: blue;
animation-duration: 4s;
animation-delay: 2s;
}
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;
animation-iteration-count: 2;
}
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 :
reverse : on va dans le sens inverse.
alternate : on alterne d’un sens à l’autre (dans ce cas évidemment il faut prévoir au moins deux
exécutions).
44
Partie : Création d’un site web interactif 3STI
div {
height: 100px;
width: 200px;
background-color: blue;
animation-name: taille;
animation-duration: 4s;
animation-iteration-count: infinite;
animation-direction: alternate;
}
7. Progression de l’animation :
On peut modifier l’animation avec la propriété animation-timing-function et ces valeurs :
ease : début rapide, puis ça accélère, puis ça ralentit à la fin (c’est l’effet par 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.
Au départ et pendant le délai de démarrage, la largeur sera de 0px qui correspond à la première étape (à
0%) parce qu’on a utilisé la valeur backwards pour animation-fill-mode.
9. Action sur une animation :
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 :
running : valeur par défaut de l’animation en action.
paused : animation en pause.
45
Partie : Création d’un site web interactif 3STI
@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;
}
div:hover {
animation-play-state: paused;
}
46
Partie : Création d’un site web interactif 3STI
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:
- ease: Par défaut, Cela donne un départ et une arrivée ralentis.
- linear: Une fonction linéraire,
- ease-in: Départ ralenti.
- ease-out: Arrivée ralentie.
- ease-in-out: Départ et arrivée ralentis.
transition-delay
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;
2. Transition :
Les quatre propriétés peuvent être réduites à une seule.
On place dans l'ordre : transition-property, transition-duration, transition-timing-function, transition-
delay. Pas de virgules pour séparer les valeurs, comme usuel.
transition: all 2s ease 0;
47
Partie : Création d’un site web interactif 3STI
On peut omettre les dernières valeurs.
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;
left: 0;
transition:left,border-radius 5s,10s ;
}
div:hover{
left:1000px;
border-radius: 50%;
}
48