Cours HTML CSS JAVASCRIPT-2
Cours HTML CSS JAVASCRIPT-2
DEVELOPPEMENT WEB
Support de Cours : HTML, CSS, JavaScript
Kevin Fonkoua
Dev web FullStack & Data Analyst
Mars 2025
March 25, 2025
Contents
1 Introduction 5
1
6 Formatage du Texte et Positionnement des Éléments 33
6.1 Les Propriétés de Type Font- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
6.1.1 La Propriété font-size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
6.1.2 La Propriété font-style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.1.3 La Propriété font-weight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.1.4 La Propriété line-height . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.1.5 La Propriété font-family . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.1.6 Les Web Safe Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.1.7 La Propriété color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
8 Fonctionnalités Avancées 44
8.1 Gestion du Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
8.1.1 Ajouter de la Couleur ou une Image pour le Fond . . . . . . . . . . . . . . . . . . . . . . . 44
8.1.2 Position et Répétition du Fond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
8.1.3 Fixer le Fond ou le Faire Défiler avec la Page . . . . . . . . . . . . . . . . . . . . . . . . . 45
8.2 Intégrer des Images, de l’Audio et de la Vidéo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
8.2.1 Insérer une Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
8.2.2 Ajuster et Positionner une Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
8.2.3 Intégrer de l’Audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
8.2.4 Intégrer de la Vidéo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
8.3 TP Corrigé: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
9 JavaScript 56
9.1 Rôle de JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
9.2 Pour qui est-ce destiné ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
9.3 Bases des Variables en JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
9.4 1. Utilisation de Base de prompt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
9.5 2. Concaténation de Chaı̂nes de Caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
9.6 Calcul avec prompt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
9.7 Les huit opérateurs de comparaison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
9.7.1 Les opérateurs logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
9.7.2 La Condition if-else . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
9.7.3 La Condition switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
9.7.4 Les Ternaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
9.7.5 La Condition switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
9.7.6 Les Ternaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
9.8 Incrémentation et Décrémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
9.9 La Boucle while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
9.10 La Boucle do while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
9.11 La Boucle for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
9.11.1 Exemple de Boucle for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
9.11.2 Boucle for avec prompt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2
9.12 Les Fonctions en JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
9.12.1 Déclaration des Fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
9.12.2 Exemple de Fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
9.12.3 Les Variables Locales et Globales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
9.12.4 Les Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
9.12.5 Les Valeurs de Retour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
9.12.6 Les Fonctions Anonymes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
9.13 Les Objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
9.13.1 Exemple d’Objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
9.14 Les Tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
9.14.1 Exemple de Tableau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
9.14.2 Modification d’une Valeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
9.14.3 Opérations sur les Tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
9.15 Les Objets Littéraux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
9.15.1 Exemple d’Objet Littéral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
9.15.2 Parcourir un Objet avec for...in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
11 Présentation Générale 70
12 Pages à Développer 70
12.1 Page d’Accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
12.1.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
12.1.2 Contenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
12.1.3 Exigences Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
12.2 Page ”À Propos” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
12.2.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
12.2.2 Contenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
12.2.3 Exigences Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
12.3 Page ”Services” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
12.3.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
12.3.2 Contenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
12.3.3 Exigences Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
12.4 Page ”Prendre Rendez-vous” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
12.4.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
12.4.2 Contenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3
Objectif du Cours
Vous apprendrez à créer des pages web basées sur HTML5 et CSS3. Vous implémenterez le modèle d’organisation
des contenus et utiliserez les éléments de structure proposés par HTML5. Vous utiliserez CSS3 afin de les rendre
plus attractives et responsives.
Objectifs Pédagogiques
À l’issue de ce cours, l’apprenant sera en mesure de :
Méthodes Pédagogiques
Pédagogie active basée sur des exemples, des démonstrations, des partages d’expérience, des cas pratiques et
une évaluation des acquis tout au long de la formation.
Travaux Pratiques
Échanges, partages d’expériences, démonstrations, travaux dirigés et cas pratiques.
À propos de l’auteur
Kevin Fonkoua
Kevin Fonkoua est un développeur web fullstack et Data Analyst avec plus de 6 ans d’expérience freelance.
Il enseigne dans plusieurs écoles et centres de formation et met à disposition ses cours sur Internet pour
que tout le monde puisse y accéder, surtout dans les pays en développement. Aujourd’hui, il encadre plus
de 50 étudiants par an dans le domaine de l’informatique et reste consultant dans plusieurs entreprises.
4
1 Introduction
HTML, ou HyperText Markup Language, est un langage de balisage créé en 1991. Il a pour rôle principal
de structurer et d’organiser le contenu d’une page web. En utilisant HTML, les développeurs peuvent indiquer
aux navigateurs comment interpréter différents types de contenu, tels que les paragraphes, les titres, les images
ou les vidéos, ce qui permet de donner un sens et une hiérarchie à l’information présentée.
CSS, qui signifie Cascading Style Sheets ou feuilles de style en cascade , a été introduit en 1996.
Son objectif est d’appliquer des styles et des mises en forme au contenu structuré par HTML. Grâce à CSS, il
est possible de modifier l’apparence d’un site web, comme la couleur et la taille des textes, la disposition des
éléments sur la page, ou encore d’ajouter des bordures et des ombres. Il est essentiel de ne pas confondre les
rôles de ces deux langages : HTML se concentre sur la structure, tandis que CSS s’occupe de l’esthétique.
Javascript, introduit peu après HTML et CSS, est un langage de programmation qui permet d’ajouter
de l’interactivité et des fonctionnalités dynamiques aux pages web. Il permet de réagir à des événements, de
manipuler le DOM (Document Object Model) et d’interagir avec des serveurs pour charger des données
sans avoir à recharger la page. Ensemble, HTML, CSS et JavaScript forment la base de la création de sites web
modernes, chacun jouant un rôle complémentaire dans le développement d’applications web.
Les versions actuelles, HTML5 et CSS3, apportent de nombreuses nouvelles fonctionnalités qui améliorent
l’expérience de développement. Bien qu’elles soient considérées comme des standards, ces versions continuent
d’évoluer. HTML5 facilite l’intégration de médias tels que des vidéos et des fichiers audio, tout en introduisant
des balises sémantiques qui améliorent la structure des documents. De même, CSS3 permet des styles avancés,
comme les bordures arrondies et les animations.
Pour commencer à coder en HTML, CSS et JavaScript, plusieurs éditeurs de texte peuvent être utilisés.
Parmi les plus populaires, on trouve :
- Visual Studio Code, un éditeur puissant et extensible qui supporte de nombreux langages et offre des
fonctionnalités avancées comme l’autocomplétion et le débogage ;
- NotePad++ pour Windows ;
- Komodo pour Mac ou Linux ;
- TextWrangler pour Linux.
Différences entre HTML, CSS et JavaScript
Il est fort probable que vous ayez déjà rencontré du HTML et du CSS dans votre expérience web. Voici un
exemple de code HTML :
<p>
Un super paragraphe avec <strong>du texte en gras</strong>.
</p>
p {
color: red;
}
Si nous devions faire une analogie, on pourrait comparer un site web à une maison : le HTML représenterait
les fondations et la structure de base, fournissant le cadre essentiel. Bien que la maison soit solide et fonctionnelle,
elle manquerait de charme et de confort.
Le CSS, en revanche, serait l’aspect décoratif de la maison. C’est comme la peinture, le mobilier et les
finitions intérieures qui rendent l’espace accueillant et agréable à vivre.
Ces deux langages sont donc indispensables :
- Le HTML établit les fondations de votre site. Il informe le navigateur sur la nature du contenu et comment
l’interpréter.
- Le CSS embellit le contenu brut fourni par le HTML, le rendant plus attrayant et plus facile à lire.
5
- Le JavaScript ajoute une couche d’interactivité, permettant de modifier le contenu dynamiquement et de
réagir aux actions de l’utilisateur.
Dans ce processus, tout le travail se fait en ligne sur un serveur. Cela signifie que chaque modification de
code doit être envoyée sur un serveur pour être visible dans un navigateur. Cependant, dans notre cas, où nous
ne travaillons qu’avec HTML et CSS, cela peut être trop fastidieux. Nous pouvons donc nous permettre de
travailler directement en local.
6
Figure 2: Illustration du travail en local
Dossier ‘images‘
Ce dossier va contenir toutes les images de votre site. Il est crucial de s’assurer que toutes les images
nécessaires sont stockées ici. Si vous souhaitez utiliser une image de votre bibliothèque personnelle, copiez-la et
collez-la dans ce dossier.
**Attention !** Si vous laissez vos images ailleurs sur votre disque dur, elles ne seront pas accessibles lors
de la mise en production de votre site, ce qui signifie que les internautes ne pourront pas les voir.
Dossier ‘fonts‘
Ce dossier est destiné à contenir les polices de caractères utilisées sur votre site. Les internautes n’ont pas
nécessairement les mêmes polices installées sur leur appareil que vous. Pour garantir qu’ils voient votre site tel
que vous l’avez conçu, il est important de fournir ces polices dans ce dossier. Cela évite les problèmes de rendu
et assure une expérience utilisateur cohérente.
Dossier ‘js‘
Ce dossier contiendra les fichiers JavaScript utilisés sur votre site. Bien que nous ne traiterons pas de
JavaScript dans ce cours, sachez que vous en aurez rapidement besoin pour ajouter de l’interactivité à vos
pages. Il est donc judicieux de préparer cet espace dès le départ.
Fichiers Principaux
Fichier ‘index.html‘
Le fichier ‘index.html‘ est la page d’accueil de votre site. Il est essentiel de nommer ce fichier ”index”, car
c’est une convention standard. Tous les serveurs web recherchent en premier un fichier nommé ainsi ; en son
absence, vous risquez de recevoir un message d’erreur.
**Notez bien** l’extension de fichier ‘.html‘. Tous vos fichiers HTML devront avoir cette extension pour
être correctement interprétés par le navigateur.
Fichier ‘style.css‘
Le fichier ‘style.css‘ est celui dans lequel vous allez écrire vos styles CSS. Il est important de garder le HTML
et le CSS dans des fichiers séparés pour de bonnes pratiques de programmation, à moins que vous ne codiez des
styles très légers. Cela permet de maintenir une structure claire et d’optimiser le chargement de la page.
Résumé de la Structure
Pour résumer, votre projet devrait contenir : - Un dossier nommé ‘images‘ - Un dossier nommé ‘fonts‘ - Un
dossier nommé ‘js‘ - Un fichier nommé ‘index.html‘ - Un fichier nommé ‘style.css‘
En suivant cette structure, vous vous assurez que votre projet est bien organisé, ce qui facilitera les modifi-
cations et la maintenance future.
7
4 Les Bases en HTML et CSS
4.1 Les Bases du HTML
4.1.1 Éléments, Balises et Attributs
Dans le monde du HTML, il est crucial de comprendre trois termes fondamentaux : élément, balise et attribut.
Éléments
Les éléments sont utilisés pour définir des objets dans une page web. Par exemple, pour créer un paragraphe,
vous utiliserez l’élément <p>, pour des titres d’importance variée, vous aurez les éléments <h1>, <h2>, <h3>,
<h4>, <h5> et <h6>, et pour des liens, vous utiliserez l’élément <a>.
Les éléments sont généralement constitués de balises. La majorité des éléments se composent d’une paire de
balises : une balise ouvrante et une balise fermante.
Attributs
Les attributs viennent compléter les éléments en fournissant des informations supplémentaires. Par exemple,
dans le cas d’un lien, un attribut sera utilisé pour indiquer la cible du lien, c’est-à-dire vers quel site le lien doit
mener.
Les attributs se trouvent toujours à l’intérieur de la balise ouvrante d’un élément (ou de la balise orpheline
si applicable).
- ‘<area />‘
- ‘<br />‘
- ‘<hr />‘
- ‘<img />‘
- ‘<input />‘‘
8
- ‘<link />‘
- ‘<meta />‘
- ‘<param />‘
Notez la présence du slash (‘/‘) avant le second chevron (‘>‘). Les balises autofermantes en sont pourvues,
ce qui indique qu’elles ne nécessitent pas de balise fermante.
En maı̂trisant ces concepts de base, vous serez mieux préparé à créer des pages web structurées et fonction-
nelles.
<!DOCTYPE html>
Notez bien le point d’exclamation, qui est obligatoire et indique que cet élément est particulier.
Éléments Principaux
Pour qu’une page HTML5 soit valide, il est nécessaire d’inclure trois nouveaux éléments : <html>, <head>
(en-tête) et <body> (corps de page).
- Élément <html> : Cet élément encadre l’ensemble de la page.
- Élément <head> : Cet élément contient diverses informations, dont le titre de la page, l’encodage utilisé
et des méta-données (invisibles pour les utilisateurs mais essentielles au bon fonctionnement du site).
- Élément <body> : C’est ici que se trouve tout le contenu visible de la page, comme les paragraphes, les
images, les tableaux, etc.
9
Contenu de l’Élément <head>
Pour que la page soit valide, l’élément <head> doit contenir :
- Un élément <title>, qui correspond au titre de la page.
- Un élément <meta charset>, qui précise le type d’encodage choisi. Pour les langues latines, on choisira
généralement la valeur utf-8.
Exemple de Structure de Page
Voici à quoi devrait ressembler la structure de base de votre page HTML5 :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Mon Premier Site</title>
</head>
<body>
<h1>Bienvenue sur mon site !</h1>
<p>Ceci est un paragraphe d’introduction.</p>
</body>
</html>
Voilà, vous venez de créer votre première page valide en HTML5 ! Retenez bien ce schéma, car il sera
toujours le même, quelle que soit la page HTML5 que vous créerez. En comprenant cette structure, vous serez
en mesure de créer des pages web bien formées et conformes aux standards du web.
10
l’éditeur. Sélectionnez Open with Live Server. Cela ouvrira votre document dans le navigateur par défaut
et mettra à jour la page automatiquement à chaque fois que vous sauvegardez. - **Ouvrir le Fichier Manuelle-
ment** : - Si vous ne souhaitez pas utiliser Live Server, enregistrez votre document (si ce n’est pas déjà fait) et
localisez-le sur votre ordinateur (par exemple, sur le bureau). - Double-cliquez sur le fichier ‘document.html‘.
Cela ouvrira votre page dans le navigateur par défaut.
3. **Rafraı̂chir le Navigateur** : - Pensez à toujours enregistrer votre document dans VS Code après avoir
apporté des modifications. Utilisez le raccourci Ctrl + S (ou Cmd + S sur Mac) pour enregistrer. - Si le
document était déjà ouvert dans le navigateur, n’oubliez pas de rafraı̂chir la page pour voir les changements.
Vous pouvez le faire avec le raccourci Ctrl + R (ou Cmd + R sur Mac).
Cela peut sembler évident, mais de nombreuses heures sont souvent perdues à déboguer des problèmes qui
résultent simplement de l’oubli d’enregistrer les modifications ou de rafraı̂chir la page. En suivant ces étapes,
vous aurez une expérience de développement plus fluide et efficace dans vos projets HTML5.
Deviendra ainsi :
<p>
Portez ce vieux whisky au juge blond qui fume.
</p>
<ul>
</ul>
<ul>
<li>
Un élément d’une liste.
</li>
</ul>
Notez que les balises ‘<li>‘ sont également indentées, ce qui permet de visualiser clairement l’imbrication.
Voici un exemple avec deux listes imbriquées :
11
<ul>
<li>
Un élément d’une liste.
</li>
<li>
Un élément d’une liste contenant une liste.
<ul>
<li>
Un élément d’une liste.
</li>
<li>
Un élément d’une liste.
</li>
<li>
Un élément d’une liste.
</li>
</ul>
</li>
<li>
Un élément d’une liste.
</li>
<li>
Un élément d’une liste.
</li>
</ul>
Commentaires
Au fur et à mesure que votre code grandit, il peut atteindre plusieurs centaines, voire milliers de lignes. Il
est donc crucial de commenter votre code pour deux raisons :
1. Vous aider à vous y retrouver six mois plus tard lors des mises à jour.
2. Rendre votre code plus accessible à d’autres personnes intervenant sur votre site.
Voici notre double liste imbriquée, commentée :
12
<!-- Ouverture de la première liste -->
<ul>
<li>
Un élément d’une liste contenant une liste.
<!-- Ouverture de la seconde liste -->
<ul>
<li>
Un élément d’une liste.
</li>
<li>
Un élément d’une liste.
</li>
<li>
Un élément d’une liste.
</li>
</ul>
<!-- Fermeture de la seconde liste -->
</li>
<li>
Un élément d’une liste.
</li>
<li>
Un élément d’une liste.
</li>
</ul>
<!-- Fermeture de la première liste -->
Un commentaire doit être compris entre ‘<!--‘ et ‘-->‘. Tout ce qui se trouve entre ces deux éléments
n’est pas visible par les internautes, alors n’hésitez pas à les utiliser !
Erreurs Communes
Les deux erreurs les plus fréquentes chez les débutants sont :
1. **Une balise non fermée** : Voici un exemple de balise ‘<p>‘ non fermée :
<p>Un paragraphe.
<p>
Un paragraphe.
<ul>
<li>
Un paragraphe.
</ul>
</li>
Si l’indentation est respectée, vous verrez que la balise ‘</ul>‘ est fermée avant la balise ‘</li>‘, ce qui
enfreint le principe d’imbrication :
<ul>
<li>
Un paragraphe.
</li>
</ul>
13
Voilà donc à quoi sert l’indentation : à éviter de faire des erreurs ! Et n’oubliez pas, on ne croise jamais les
effluves !
<div>
<h1>Titre Principal</h1>
<p>Ceci est un paragraphe qui explique le contenu de la section.</p>
</div>
Dans cet exemple, le <div> contient un titre (<h1>) et un paragraphe (<p>), chacun commencant sur une
nouvelle ligne.
Balises Inline
Les balises inline (ou en ligne) sont des éléments qui ne commencent pas sur une nouvelle ligne. Elles
n’occupent que l’espace nécessaire à leur contenu et permettent d’aligner d’autres éléments sur la même ligne.
Les balises inline sont souvent utilisées pour styliser une partie du texte ou ajouter des éléments à l’intérieur
d’un bloc.
**Exemples de balises inline :** - <span> : utilisée pour appliquer un style à une partie du texte. - <a> :
utilisée pour créer des liens hypertextes. - <img> : utilisée pour insérer des images. - <strong>, <em> : utilisées
pour mettre en gras ou en italique du texte.
**Exemple de balises inline :**
Dans cet exemple, le paragraphe <p> contient du texte inline, avec une partie mise en gras <strong> et un
lien <a>.
Résumé
- **Balises Block** : occupent toute la largeur, commencent sur une nouvelle ligne, utilisées pour structurer
le contenu.
- **Balises Inline** : n’occupent que l’espace nécessaire, ne commencent pas sur une nouvelle ligne, utilisées
pour styliser ou ajouter des éléments à l’intérieur d’un bloc.
<p>Ceci est un exemple de paragraphe. Il est utilisé pour présenter des idées ou des informations su
Titres
Les titres sont importants pour structurer le contenu d’une page. HTML propose six niveaux de titres, de
<h1> (le plus important) à <h6> (le moins important). Chaque niveau de titre est également un élément block
et commence sur une nouvelle ligne.
14
**Exemple de titres :**
<h1>Titre Principal</h1>
<h2>Sous-titre</h2>
<h3>Titre de Section</h3>
.....
.....
.....
Dans cet exemple, le titre principal est défini par <h1>, suivi d’un sous-titre avec <h2> et d’un titre de section
avec <h3>.
Sauts de Ligne
Pour créer un saut de ligne dans un texte, vous pouvez utiliser la balise <br/>. Cette balise est une balise
inline et n’a pas de balise fermante. Elle est utile lorsque vous souhaitez forcer un retour à la ligne sans créer
un nouveau paragraphe.
**Exemple de saut de ligne :**
.....
.....
.....
NB: Les titres apparaissent en gras et ont des tailles différentes selon leur degré d’importance. Et c’est
précisément là où j’en reviens à mon premier point : vous ne devez JAMAIS utiliser le langage HTML pour
mettre en forme le contenu.
Ce que vous voyez n’est qu’une mise en forme automatique faı̂te par votre navigateur, une interprétation visuelle
de ce que vous avez donné à votre navigateur. Cependant, vous ne devez jamais utiliser un titre de niveau h1 pour
mettre un texte en gros et en gras. Le résultat d’une interprétation et n’est qu’une mise en forme automatique.
Le CSS permet de faire réellement tout ce que l’on désire d’un point de vue visuel : créer des styles tout comme
enlever des styles automatiques. Résumé
- **Paragraphes (<p>)** : utilisés pour le texte courant, débutent sur une nouvelle ligne.
- **Titres (<h1> à <h6>)** : utilisés pour structurer le contenu, chacun commence sur une nouvelle ligne.
- **Sauts de ligne (<br />)** : permettent d’insérer un retour à la ligne sans créer un nouveau paragraphe.
**Instructions :**
1. Créez une page HTML simple contenant :
- Un titre principal (\texttt{<h1>}) pour le nom de votre page.
- Un sous-titre (\texttt{<h2>}) décrivant le contenu de votre page.
- Trois paragraphes (\texttt{<p>}) expliquant différents aspects du sujet choisi.
- Utilisez des sauts de ligne (\texttt{<br />}) pour séparer une phrase importante à l’intérieur
**Objectif :**
Pratiquer l’utilisation des titres, paragraphes et sauts de ligne.
15
Votre Réponse
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Élément <em>
L’élément <em> est utilisé pour indiquer qu’un texte doit être accentué ou mis en emphase. Par défaut, le
texte à l’intérieur de cette balise est affiché en italique.
**Exemple :**
<p>Moi aussi, je contiens trois mots <em>importants</em>, mais un peu moins importants que les autre
Élément <mark>
L’élément <mark> est utilisé pour mettre en évidence une portion de texte, souvent pour attirer l’attention
sur des informations pertinentes. Par défaut, le texte à l’intérieur de cette balise est affiché avec un fond jaune.
**Exemple :**
Résumé
- **<strong>** : Utilisé pour indiquer une importance particulière (texte en gras). - **<em>** : Utilisé
pour mettre en emphase (texte en italique). - **<mark>** : Utilisé pour mettre en évidence (texte sur fond
jaune).
16
<ul>
<li>Pomme</li>
<li>Banane</li>
<li>Fraise</li>
</ul>
**Résultat :**
• Pomme
• Banane
• Fraise
Liste Ordonnée
Une liste ordonnée est utilisée lorsque l’ordre des éléments est important. Elle est créée à l’aide de la balise
<ol> (ordered list) et chaque élément de la liste est également encapsulé dans une balise <li>.
**Exemple :**
<ol>
<li>Étape 1 : Préchauffer le four</li>
<li>Étape 2 : Mélanger les ingrédients</li>
<li>Étape 3 : Cuire au four pendant 30 minutes</li>
</ol>
**Résultat :**
Listes Imbriquées
Les listes imbriquées permettent de créer des sous-listes à l’intérieur d’une liste principale. Cela est utile
pour organiser des informations de manière hiérarchique.
**Exemple de liste imbriquée :**
<ul>
<li>Fruits
<ul>
<li>Pomme</li>
<li>Banane</li>
<li>Fraise</li>
</ul>
</li>
<li>Légumes
<ul>
<li>Carotte</li>
<li>Épinard</li>
</ul>
</li>
</ul>
**Résultat :**
• Fruits
• Pomme
• Banane
• Fraise
• Légumes
• Carotte
• Épinard
17
Résumé
- **Liste Non Ordonnée (<ul>)** : Utilisée lorsque l’ordre des éléments n’est pas important. Les éléments
sont précédés de puces. - **Liste Ordonnée (<ol>)** : Utilisée lorsque l’ordre des éléments est important. Les
éléments sont précédés de numéros. - **Listes Imbriquées** : Permettent de créer des sous-listes pour organiser
les informations de manière hiérarchique.
Les listes, y compris les listes imbriquées, facilitent la présentation d’informations de manière claire et
organisée, améliorant ainsi la lisibilité du contenu sur une page web.
Exercice d’Application
Votre Réponse
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16
Extensions d’Images
Voici quelques-unes des extensions d’images les plus courantes :
18
- **.svg** : Format vectoriel qui peut être redimensionné sans perte de qualité, utilisé pour des graphiques
à la fois simples et complexes.
Exemple d’Utilisation
Voici un exemple complet de la balise <img> intégrée dans un document HTML :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Exemple d’Image</title>
</head>
<body>
<h1>Bienvenue sur ma page web</h1>
<img src="images/photo.jpg" alt="Une belle photo" width="300" height="200">
<p>Voici une image de ma collection.</p>
</body>
</html>
1. Liens Internes
Les liens internes permettent de naviguer au sein d’un même document ou d’un même site web. Ils sont
souvent utilisés pour diriger l’utilisateur vers différentes sections de la même page.
Syntaxe :
Exemple :
19
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Liens Internes</title>
</head>
<body>
<h1>Mon Document</h1>
<p><a href="#section1">Aller à la section 1</a></p>
<p><a href="#section2">Aller à la section 2</a></p>
2. Liens Externes
Les liens externes dirigent l’utilisateur vers une page web située sur un autre domaine. Ils sont utilisés pour
référencer des ressources externes, comme des articles, des sites de médias sociaux, ou des documents.
Syntaxe :
Exemple :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Liens Externes</title>
</head>
<body>
<h1>Liens Externes</h1>
<p><a href="https://www.wikipedia.org" target="_blank">Visitez Wikipédia</a></p>
</body>
</html>
3. Ancres
Les ancres permettent de créer des liens vers des emplacements spécifiques à l’intérieur d’une page web.
Elles sont souvent utilisées pour améliorer la navigation sur des pages longues.
Syntaxe : Pour définir une ancre :
<a id="ancre1"></a>
Exemple :
20
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Exemple d’Ancres</title>
</head>
<body>
<h1>Mon Document</h1>
<p><a href="#ancre1">Aller à l’ancre 1</a></p>
Résumé
21
Les tableaux en HTML sont utilisés pour présenter des données sous forme de grille. Ils sont composés de
lignes et de colonnes, et sont définis par l’élément <table>.
Structure de Base d’un Tableau
La structure de base d’un tableau HTML est la suivante :
<table>
<tr>
<th>Titre 1</th>
<th>Titre 2</th>
<th>Titre 3</th>
</tr>
<tr>
<td>Donnée 1</td>
<td>Donnée 2</td>
<td>Donnée 3</td>
</tr>
</table>
Fusion de Cellules
Pour fusionner des cellules, vous pouvez utiliser les attributs colspan et rowspan :
- **colspan** : Permet de fusionner plusieurs colonnes. - **rowspan** : Permet de fusionner plusieurs
lignes.
<table>
<tr>
<th colspan="2">Titre Fusionné</th>
<th>Titre 3</th>
</tr>
<tr>
<td>Donnée 1</td>
<td rowspan="2">Donnée 2 (fusionnée)</td>
<td>Donnée 3</td>
</tr>
<tr>
<td>Donnée 4</td>
<td>Donnée 5</td>
</tr>
</table>
4.1.12 Résultat
Le code ci-dessus produira un tableau affichant les informations suivantes :
22
Exercice : Création d’une Page Simple
**Instructions :**
Créez un tableau HTML qui présente les résultats d’un sondage sur les préférences de nourriture. Le
- Nom
- Plat préféré
- Fréquence de consommation
Ajoutez une ligne avec un plat qui est très populaire et fusionnez les cellules pour afficher la fré
**Objectif :**
Pratiquer l’utilisation des tableaux, fusion de tableau.
Votre Réponse
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
- <input> : Pour différents types de données (texte, email, mot de passe, etc.).
23
- <select> : Pour créer des menus déroulants.
- <button> : Pour créer des boutons personnalisés.
Résultat
Le code ci-dessus produira un formulaire affichant des champs pour le nom, l’email, un message, une liste
déroulante et un bouton d’envoi.
Validation des Formulaires
La validation des formulaires est essentielle pour garantir que les données saisies par l’utilisateur sont cor-
rectes. Vous pouvez utiliser l’attribut required pour rendre un champ obligatoire. D’autres types de validation
peuvent être effectués via JavaScript ou sur le serveur.
Utilisation de <div>
- **Structuration** : Il permet de créer des sections distinctes dans une page.
- **Styling** : Vous pouvez appliquer des styles CSS à un <div> pour modifier son apparence.
- **JavaScript** : Il peut être utilisé pour manipuler des sections de la page via des scripts.
Exemple de <div>
<div class="section">
<h2>Titre de Section</h2>
<p>Ceci est un paragraphe à l’intérieur d’un div.</p>
</div>
L’Élément <span>
L’élément ‘<span>‘ est un conteneur en ligne. Il est utilisé pour appliquer des styles ou des scripts à une
partie d’un texte ou à un groupe d’éléments en ligne.
Utilisation de <span>
24
- **Styling** : Il permet d’appliquer des styles CSS à une portion du texte sans créer de nouvelles lignes.
- **JavaScript** : Vous pouvez cibler et manipuler des éléments spécifiques dans le texte.
Exemple de <span>
<header>
<h1>Mon Site Web</h1>
<nav>
<ul>
<li><a href="#home">Accueil</a></li>
<li><a href="#about">À propos</a></li>
</ul>
</nav>
</header>
<footer>
<p>© 2023 Mon Site. Tous droits réservés.</p>
</footer>
La Navigation (<nav>) La balise <nav> est utilisée pour regrouper les liens de navigation. Cela permet
aux utilisateurs de se déplacer facilement entre les différentes sections d’un site.
Exemple de <nav>
<nav>
<ul>
<li><a href="#home">Accueil</a></li>
<li><a href="#about">À propos</a></li>
<li><a href="#services">Services</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</nav>
25
Le Contenu et les Sections (<section>) La balise <section> est utilisée pour définir des sections
thématiques d’un document. Chaque section peut contenir son propre titre et contenu.
Exemple de <section>
<section>
<h2>Titre de la Section</h2>
<p>Voici le contenu de la section.</p>
</section>
Les Articles (<article>) La balise <article> est utilisée pour encapsuler un contenu indépendant, comme
un article de blog ou une publication. Cela permet de structurer le contenu qui peut être distribué ou réutilisé.
Exemple de <article>
<article>
<h2>Titre de l’Article</h2>
<p>Contenu de l’article...</p>
</article>
La Barre Latérale (<aside>) La balise <aside> est utilisée pour définir un contenu qui est en dehors du
contenu principal, comme une barre latérale. Cela peut inclure des liens, des informations supplémentaires, ou
des publicités.
Exemple de <aside>
<aside>
<h3>Liens Utiles</h3>
<ul>
<li><a href="#link1">Lien 1</a></li>
<li><a href="#link2">Lien 2</a></li>
</ul>
</aside>
Les figures suivantes présentent les deux formes les plus utilisés.
26
Exercice : Création d’une Page Simple
**Instructions :**
1. Donner le code HTML pour produire les images structutes de page donnée plus haut.
**Objectif :**
Maitriser les structures de page d’un document HTML.
Exemple de Sélecteurs
/* Sélecteur de type */
p {
color: blue;
}
/* Sélecteur de classe */
.intro {
font-size: 20px;
}
/* Sélecteur d’identifiant */
#main-title {
font-weight: bold;
}
Propriétés : Les propriétés CSS définissent les aspects de style que vous souhaitez appliquer à l’élément
ciblé. Cela peut inclure la couleur, la taille de la police, les marges, etc.
Exemple de Propriétés
h1 {
color: red; /* Couleur du texte */
font-size: 24px; /* Taille de la police */
margin: 10px; /* Marge autour de l’élément */
}
Valeurs : Les valeurs sont les spécifications que vous attribuez aux propriétés. Elles peuvent être des
couleurs, des longueurs, des mots-clés, etc.
Exemple de Valeurs
p {
background-color: yellow; /* Couleur de fond */
padding: 15px; /* Espacement intérieur */
}
27
Figure 6: Illustration de Sélecteurs, Propriétés et Valeurs
<!DOCTYPE html>
<html>
<head>
<style>
body {
background-color: lightgrey;
}
h1 {
color: green;
}
</style>
</head>
<body>
<h1>Titre de la Page</h1>
</body>
</html>
28
Exemple de CSS Externe
/* styles.css */
body {
font-family: Arial, sans-serif;
}
p {
color: purple;
}
Exemple de Commentaires
29
- **Class** : Permet d’appliquer le même style à plusieurs éléments.
Pour utiliser ces attributs, placez-vous dans la balise ouvrante d’un élément HTML, écrivez le nom de
l’attribut (class ou id), et donnez-lui une valeur cohérente. Cette valeur ne doit contenir ni de caractères
spéciaux (accents et autres) ni d’espace. Par exemple :
Ensuite, on retourne sur le fichier CSS. Pour commencer notre déclaration, nous devons utiliser un point (.)
là où nous avons utilisé un attribut class et un dièse (#) si nous avons utilisé un attribut id. Après le point
ou le dièse, on écrit la valeur de l’attribut en question pour former notre sélecteur. Enfin, on écrit le code CSS
voulu. Voici un exemple en pratique :
.intro {
font-size: 18px;
color: blue;
}
#unique {
font-weight: bold;
color: red;
}
30
Nous pouvons maintenant appliquer un style différent à chaque élément HTML grâce aux attributs class
et id.
Pourquoi avoir créé deux attributs pour faire la même chose ? En fait, il existe une différence notable entre
class et id : un attribut id avec une valeur précise ne peut être utilisé qu’une seule fois dans une page, au
contraire de class.
L’attribut id sera donc utilisé pour des éléments uniques dans une page web, comme le logo de votre site
par exemple. En revanche, vous pouvez utiliser plusieurs attributs class identiques (c’est-à-dire ayant la même
valeur) dans une page. C’est d’ailleurs une des méthodes que nous utiliserons pour appliquer un même style
à différents éléments. Notez que, dans l’exemple précédent, utiliser deux attributs class n’est pas la meilleure
solution. Nous voilà déjà un peu moins limités. Cependant, nous ne pouvons pour le moment appliquer un style
qu’à un contenu entre balises. Effectivement, on ne pourrait pas appliquer de style particulier au mot attributs
de notre titre dans l’exemple précédent. Pour remédier à cela, on a inventé les deux éléments HTML div et
span.
<div class="container">
<h1>Titre Principal</h1>
<p>Ceci est un paragraphe à l’intérieur d’un div.</p>
</div>
L’élément div est souvent utilisé pour appliquer des styles communs à plusieurs éléments ou pour structurer
le contenu d’une page, comme des sections, des colonnes, etc.
2. L’Élément span
L’élément span est un conteneur en ligne. Contrairement à div, il n’interrompt pas le flux du texte et ne
commence pas sur une nouvelle ligne. Il est principalement utilisé pour styliser une partie d’un texte ou un
petit groupe d’éléments.
L’élément span est utile pour appliquer des styles à des mots ou des phrases spécifiques sans affecter
l’ensemble du bloc.
31
Figure 10: Illustration des sélecteurs class et id
compreniez bien la différence entre les deux types d’éléments, voyons ensemble quelques exemples d’éléments
de type inline ou block pour que vous puissiez observer leur comportement.
Illustrons ce que nous venons de dire en regardant par exemple de plus près le comportement des éléments
p et em : On voit bien dans l’exemple ci-dessus les différences citées dans cette partie entre les éléments de
32
type block et inline. On a mis des bordures autour des paragraphes afin que vous soyez bien convaincu qu’un
élément de type block occupe toujours toute la largeur disponible.
Ici, l’élément body est le parent des éléments h1 et p, puisque les éléments h1 et p sont bien contenus dans
l’élément body. Ainsi, lorsqu’on applique un style à l’élément body (ici, mettre le texte en rouge), les éléments
p et h1 héritent automatiquement de ce style. Que se passe-t-il lorsque l’on donne deux ordres contradictoires à
un élément parent et à son enfant en CSS (par exemple, donner une couleur rouge au parent et bleue à l’enfant)
? Le CSS possède ici sa logique et le style appliqué sera celui le plus proche de l’élément en question. Cela
signifie que si on applique un style à un élément enfant, c’est bien ce style qui lui sera appliqué.
33
Figure 16: Illustration des sélecteurs class et id
Exemple de font-size
p {
font-size: 16px; /* Taille de police fixe */
}
h1 {
font-size: 2em; /* Taille de police relative */
}
Exemple de font-style
p.normal {
font-style: normal; /* Texte normal */
}
p.italic {
font-style: italic; /* Texte en italique */
}
p.oblique {
font-style: oblique; /* Texte en oblique */
}
Exemple de font-weight
h1 {
font-weight: bold; /* Texte en gras */
}
p {
font-weight: 300; /* Texte léger */
}
34
6.1.4 La Propriété line-height
La propriété line-height définit l’espacement entre les lignes de texte. Elle peut être spécifiée en unités
relatives ou absolues. Une bonne utilisation de cette propriété améliore la lisibilité.
Exemple de line-height
p {
line-height: 1.5; /* Espacement 1.5 fois la taille de la police */
}
Exemple de font-family
body {
font-family: ’Arial’, ’Helvetica’, sans-serif; /* Polices de secours */
}
Exemple de color
h1 {
color: blue; /* Couleur par nom */
}
p {
color: #ff5733; /* Couleur en hexadécimal */
}
a {
color: rgb(255, 0, 0); /* Couleur en RGB */
}
35
Figure 17: Illustration des sélecteurs class et id
Exemple de text-align
h1 {
text-align: center; /* Titre centré */
}
p {
text-align: justify; /* Paragraphe justifié */
}
Exemple de text-decoration
a {
text-decoration: underline; /* Lien souligné */
}
p.strike {
text-decoration: line-through; /* Texte barré */
}
Exemple de text-indent
p {
text-indent: 20px; /* Indentation de 20 pixels */
}
36
7.1.4 La Propriété text-transform
La propriété text-transform permet de contrôler la casse du texte. Les valeurs incluent :
- **none** : Pas de transformation (valeur par défaut). - **capitalize** : Met en majuscule la première
lettre de chaque mot. - **uppercase** : Transforme tout le texte en majuscules. - **lowercase** : Transforme
tout le texte en minuscules.
Exemple de text-transform
h1 {
text-transform: uppercase; /* Titre en majuscules */
}
p {
text-transform: capitalize; /* Paragraphe avec la première lettre de chaque mot en majuscule */
}
p {
letter-spacing: 1px; /* Espacement de 1 pixel entre les lettres */
word-spacing: 2px; /* Espacement de 2 pixels entre les mots */
}
Exemple de text-shadow
h1 {
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* Ombre de 2 pixels à droite et en bas */
}
37
forme ensuite la seconde boı̂te. Puis viennent les bordures qui constituent la troisième boı̂te. Enfin, la marge
extérieure vient former la quatrième et dernière boı̂te.
- Border-color, qui va définir la couleur de la bordure (accepte les mêmes valeurs que la propriété color ).
La propriété border-style peut prendre de nombreuses valeurs différentes. Les valeurs les plus utilisées sont
solid, dotted (pointillé) et dashed (tiret). Vous pouvez voir ci-dessous le résultat pour chaque style de bordure
:
38
Et voici un exemple d’utilisation des propriétés de type border :
Une fonctionnalité longtemps attendue par les webmasters et les développeurs et qui a vu le jour avec le
CSS3 est la possibilité de créer des bordures arrondies. Pour faire cela, nous allons utiliser la propriété border-
radius. Cette propriété va prendre une valeur : la taille de l’angle, en px. Notez que l’on peut définir des
angles différents pour chaque côté de nos bordures en utilisant les mots clefs top-left, top-right, bottom-left et
bottom-right. Notez également que ces mots clefs sont souvent employés en CSS, ensemble ou séparément (que
top, ou que left par exemple). N’hésitez donc pas à les tester avec certaines propriétés déjà vues ou que l’on va
voir !
39
être utilisée pour positionner des éléments dans une page ou les uns par rapport aux autres. Nous attribuerons
généralement des valeurs en px ou en % à cette propriété. Tout comme la propriété padding, nous allons pouvoir
des marges différentes de chaque côté de nos éléments avec les propriétés margin-right, margin-bottom, margin-
left et margin-top. Notez que les valeurs par défaut des marges intérieures et extérieures peuvent légèrement
différer d’un navigateur à un autre. Cela peut impacter le design général de votre site pour certains de vos
visiteurs. Afin de s’assurer que chaque visiteur verra un résultat conforme à nos attentes, nous pouvons utiliser
un reset CSS pour notre padding et notre margin. Dans ce cas là, c’est très simple, il suffit par exemple
d’appliquer un padding et une margin avec des valeurs égales à zéro à notre élément body. Ensuite, on précisera
les différentes marges souhaitées à nos éléments enfants.
40
7.1.13 Faire flotter un élément
Pour aligner des éléments les uns par rapport aux autres, on peut les faire flotter . Pour faire flotter un élément,
nous utiliserons la propriété float avec les valeurs suivantes : left, right, none ou inherit. Un élément flottant
va sortir du schéma naturel (du flow ) d’une page web pour venir se placer contre le bord gauche ou droit de
l’élément qui le contient ou contre le bord de la page. Lorsque l’on fait flotter un élément, les éléments après
l’élément flottant vont venir se positionner à côté de celui-ci.
Dans l’exemple ci-dessus, on remarque que l’élément strong, contenu dans l’élément p2, va venir se placer
dans le coin à droite de son élément parent (l’élément p2 donc). L’élément p1 va lui se placer à gauche dans la
page tandis que l’élément p2 va se placer à droite ; à côté de l’élément p1. Généralement, on utilisera plutôt
la propriété float sur des éléments de type inline comme des images par exemple. En effet, cette propriété
peut être la cause de problème d’affichages lorsqu’elle est mal utilisée sur des éléments de type block. Si l’on
veut qu’un élément suivant un élément flottant vienne se placer sous cet élément flottant, il faudra utiliser la
propriété clear. Celle-ci accepte trois valeurs : left, right ou both :
- left : un élément va se placer en dessous après un float left ;
- right : un élément va se placer en dessous après un float right ;
- both : un élément va se placer en dessous après un float left ou un float right.
41
différents types d’éléments possibles : inline, block, inline-block et none. La nouveauté ici est le type inline-
block. Ce nouveau type ne peut être donné à un élément que grâce à la propriété display. Il va être un mix des
types inline et block. Un élément de type inline-block se comporte de cette façon : l’élément en soi (contenu et
boı̂tes) se comporte comme un type block tandis que le contenu seulement se comporte comme un type inline.
Pour le dire plus simplement, un élément de type inline-block se comportera comme un élément de type inline
excepté que l’on va pouvoir contrôler précisément sa hauteur et sa largeur.
42
7.1.16 Le z-index
Parfois, lorsque l’on crée le design de pages web, il arrive que deux éléments se chevauchent selon certaines
circonstances. Il peut alors être utile de savoir comment indiquer quel élément doit apparaı̂tre au dessus de quel
autre en cas de chevauchement. Pour cela, nous utiliserons la propriété z-index. Celle-ci fonctionne avec tous
les éléments positionnés et permet d’indiquer quel élément doit être au dessus de quel autre en cas de conflit.
Un élément positionné est un élément auquel on a appliqué la propriété position avec une valeur soit absolute,
soit relative, soit fixed. Le z-index ne fonctionnera donc pas sur des éléments positionnés en static (qui est la
valeur par défaut).
Dans l’exemple précédent, par défaut, l’élément p2 devrait être par dessus l’élément p1. Or, en appliquant un
z-index avec une valeur plus élevée à p1, on arrive à refaire passer p1 par dessus p2 (on peut le voir au niveau des
bordures). 3.3.10. Notations long-hand et short-hand On peut écrire les trois propriétés relatives aux bordures
sous la forme condensée d’une seule propriété border. La première écriture, avec les trois propriétés de type
border, est ce que l’on appelle une notation long-hand, tandis que la forme condensée est une notation short-
hand. Jusqu’à présent, on a fait écrire que des propriétés sous leur forme long-hand afin que vous compreniez
bien les bases et la logique du CSS et afin de ne pas compliquer inutilement les choses. Dorénavant, vous avez
tout à fait le niveau pour utiliser des notations short-hand et je vous encourage à les utiliser dès que possible
(celles-ci sont plus rapides à écrire et donc moins gourmandes en code et en temps d’exécution). Voici ci-dessous
une liste de quelques propriétés acceptant une écriture short-hand. Encore une fois, écrire une propriété sous
sa forme long-hand ou short-hand produira exactement le même résultat.
43
8 Fonctionnalités Avancées
8.1 Gestion du Background
La gestion du background (arrière-plan) en CSS permet d’améliorer l’esthétique d’une page web. Cela inclut
l’ajout de couleurs, d’images, ainsi que le contrôle de leur position et de leur comportement de défilement.
body {
background-color: lightblue; /* Couleur de fond */
}
.header {
background-image: url(’image.jpg’); /* Image de fond */
background-size: cover; /* Couvre tout l’élément */
}
Exemple de background-repeat
.header {
background-image: url(’image.jpg’);
background-repeat: no-repeat; /* Pas de répétition */
}
44
Exemple de background-position
.header {
background-image: url(’image.jpg’);
background-position: center; /* Centre l’image */
}
body {
background-color: lightblue; /* Couleur de fond */
}
.header {
background-image: url(’image.jpg’);
background-repeat: no-repeat; /* Pas de répétition */
background-position: center; /* Centre l’image */
background-size: cover; /* Couvre tout l’élément */
}
Exemple de background-attachment
.header {
background-image: url(’image.jpg’);
background-attachment: fixed; /* Fond fixe */
}
Attributs de la Balise <img> - **src** : Définit le chemin de l’image. - **alt** : Fournit une description
alternative de l’image pour les lecteurs d’écran et lorsque l’image ne peut pas être affichée. - **width** et
**height** : Permettent de définir la largeur et la hauteur de l’image.
45
- **cover** : L’image couvre entièrement le conteneur, pouvant être coupée.
- **contain** : L’image est mise à l’échelle pour s’adapter entièrement au conteneur, sans être coupée.
- **fill** : L’image s’étire pour remplir le conteneur.
.img-responsive {
width: 100%; /* S’adapte à la largeur du conteneur */
height: auto; /* Conserve les proportions */
}
.img-cover {
width: 300px;
height: 200px;
object-fit: cover; /* Couvre le conteneur */
}
Positionner une Image Pour positionner une image, vous pouvez utiliser les propriétés de positionnement
CSS. Voici quelques exemples :
- **float** : Permet de faire flotter l’image à gauche ou à droite du texte. - **margin** : Ajoute de l’espace
autour de l’image. - **position** : Contrôle le positionnement absolu ou relatif.
.img-float-left {
float: left; /* Fait flotter l’image à gauche */
margin: 10px; /* Ajoute une marge de 10 pixels */
}
.img-center {
display: block; /* Rend l’image un bloc */
margin-left: auto; /* Centrer horizontalement */
margin-right: auto; /* Centrer horizontalement */
}
<audio controls>
<source src="audio.mp3" type="audio/mpeg">
Votre navigateur ne supporte pas l’élément audio.
</audio>
46
- **loop** : Fait jouer l’audio en boucle, utile pour les musiques d’ambiance.
En utilisant cette balise, vous pouvez enrichir votre contenu avec des effets sonores, de la musique de fond,
ou des narrations, rendant votre page plus engageante.
- **autoplay** : Joue la vidéo automatiquement lors du chargement de la page (à utiliser avec prudence).
- **loop** : Fait jouer la vidéo en boucle, idéal pour les présentations ou les démonstrations.
- **muted** : Démarre la vidéo sans le son, souvent utilisé avec l’attribut **autoplay** pour éviter les
surprises sonores.
8.3 TP Corrigé:
Énoncé de l’Exercice
Créer un formulaire HTML permettant de collecter les informations suivantes :
- Nom
- Prénom
- Email
- Genre (avec des radio buttons)
- Spécialité (avec une select box)
- Message
Le formulaire doit également inclure des boutons pour valider et annuler.
Correction
Voici les fichiers HTML et CSS :
Fichier HTML : formulaire.html
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Formulaire de Contact</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
47
<h1>Formulaire de Contact</h1>
<form action="#" method="post">
<label for="nom">Nom :</label>
<input type="text" id="nom" name="nom" required>
<label>Genre :</label>
<input type="radio" id="homme" name="genre" value="homme" required>
<label for="homme">Homme</label>
<input type="radio" id="femme" name="genre" value="femme">
<label for="femme">Femme</label>
<button type="submit">Valider</button>
<button type="reset">Annuler</button>
</form>
</body>
</html>
form {
width: 400px;
margin: auto;
padding: 20px;
border: 1px solid #ccc;
border-radius: 5px;
background-color: #f9f9f9;
}
label {
display: block;
margin-bottom: 8px;
}
button {
padding: 10px 15px;
background-color: #4CAF50;
48
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
margin-right: 10px;
}
button[type="reset"] {
background-color: #f44336; /* Couleur pour le bouton Annuler */
}
Énoncé
Créer un en-tête pour un site web avec les éléments suivants :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Header Example</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<div class="logo">
<img src="images/logo.png" />
<span class="slogan">A Computer Science Portal for Geeks</span>
</div>
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">Our Products</a></li>
<li><a href="#">Careers</a></li>
<li><a href="#">Contact Us</a></li>
</ul>
49
</nav>
</header>
<div class="background-image"></div>
<div class="description">
<h2>A Basic Web Design course by GeeksforGeeks</h2>
</div>
</body>
</html>
body {
margin: 0;
font-family: Arial, sans-serif;
}
header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 20px;
background-color: white;
}
.logo {
font-size: 24px;
font-weight: bold;
}
.slogan {
font-size: 14px;
color: #666;
margin-left: 10px;
}
nav ul {
list-style-type: none;
margin: 0;
padding: 0;
display: flex;
}
nav ul li {
margin: 0 15px;
}
nav ul li a {
text-decoration: none;
color: #333;
font-weight: bold;
}
.background-image {
background-image: url(’background.jpg’); /* Remplacez par votre image */
height: 300px; /* Ajustez la hauteur selon vos besoins */
background-size: cover;
background-position: center;
}
50
.description {
text-align: center;
padding: 20px;
}
Énoncé
Créer un pied de page (footer) pour un site web avec les éléments suivants :
- Informations de contact (adresse, téléphone, email)
Correction:
Voici les fichiers HTML et CSS nécessaires :
<footer>
<div class="contact-info">
<h3>Contact Us</h3>
<p>Address: 123 Main Street, City, Country</p>
<p>Phone: +1 234 567 890</p>
<p>Email: [email protected]</p>
</div>
<div class="social-media">
<h3>Follow Us</h3>
<a href="#">Facebook</a>
<a href="#">Twitter</a>
<a href="#">LinkedIn</a>
</div>
<div class="copyright">
<p>© 2023 Your Company Name. All rights reserved.</p>
</div>
</footer>
</body>
</html>
footer {
background-color: #333;
51
color: white;
text-align: center;
padding: 20px;
position: relative;
bottom: 0;
width: 100%;
}
.contact-info, .social-media {
margin: 10px 0;
}
.social-media a {
text-decoration: none;
color: #4CAF50; /* Couleur pour les liens */
margin: 0 10px;
}
.social-media a:hover {
text-decoration: underline;
}
Exercice div
Donner la page HTML et CSS pour la réalisation du footer donner en image.
Le Responsive Design
Le responsive design est une approche essentielle dans la création de sites web modernes. Il permet à un site de
s’adapter à différentes tailles d’écran, offrant ainsi une expérience utilisateur optimale sur ordinateurs, tablettes
et smartphones. Ses Principes Fondamentaux sont:
- Fluidité : Utiliser des unités de mesure flexibles (comme les pourcentages) plutôt que des unités fixes
(comme les pixels) pour que les éléments s’ajustent automatiquement à la taille de l’écran.
- Media Queries : CSS permet d’utiliser des media queries pour appliquer des styles spécifiques en fonction
des caractéristiques de l’appareil (largeur, hauteur, orientation, etc.).
- Flexbox et Grid : Utiliser des modèles de mise en page modernes comme Flexbox et CSS Grid pour
créer des mises en page réactives et complexes.
La balise <meta> est utilisée pour définir des métadonnées sur le document HTML.
52
Exemple de Balise <meta>
Attributs :
- name : Définit le type de métadonnée. Dans ce cas, il s’agit du viewport.
Attributs :
- src : Spécifie le chemin de l’image.
- alt : Fournit une description de l’image pour l’accessibilité.
- style : Utilisé ici pour rendre l’image responsive. max-width:100% permet à l’image de s’adapter à la
largeur de son conteneur, et height:auto maintient les proportions de l’image.
3. Balises de mise en page (<div>, <header>, <footer>, etc.)
Ces balises sont utilisées pour structurer le contenu d’une page web.
<header>
<h1>Titre du Site</h1>
</header>
<div class="container">
<div class="item">Contenu 1</div>
<div class="item">Contenu 2</div>
</div>
<footer>
<p>© 2023 Mon Site</p>
</footer>
- <footer> : Définit le pied de page, souvent utilisé pour les informations de copyright ou les liens.
- <div> : Un conteneur générique utilisé pour structurer le contenu, permettant de le styliser avec CSS.
Exemple de Code
Voici un exemple simple d’un layout responsive utilisant des media queries :
53
CSS de Base
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
}
.header, .footer {
background-color: #333;
color: white;
padding: 10px;
text-align: center;
}
.container {
width: 90%;
max-width: 1200px;
margin: auto;
}
.item {
flex: 1;
margin: 10px;
}
Media Queries
TP 1: Rélisation du CV
Rédiger votre CV en HTML et CSS, suivant la maquette ci-dessous. La page se compose de trois zones. La
première contient les zones d’adresse et la photo. La seconde zone contient le titre du CV, suivi du contenu
en plusieurs tableaux. Dans chaque tableau, l’espace entre les cellules est de 10pts et les lignes du tableau ne
sont pas apparentes. La cellule contenant l’entête du tableau doit avoir un fond couleur gris, avec une police
large, en gras, couleur bleu. L’espace entre les tableaux doit être d’au moins 20pts. Au niveau du contenu,
on vous demande de faire figurer les catégories suivantes : Formation , Expérience professionnelle , Loisirs
et Divers (permis de conduire, brevet de secouriste, obligations militaires etc.). Le bloc formation commence
avec le baccalauréat. Vous présentez chaque diplôme obtenu par une liste à puce mentionnant : le nom de
l’établissement, le nom de la formation, le niveau L.M.D. et la mention éventuellement obtenue. Pour chaque
expérience professionnelle, vous décrirez en un petit paragraphe la mission que vous avez réalisée, dans quel
cadre et pour quel type de contrat (CDD, CDI, emplois jeune...). Les parties Loisirs et Divers sont à présenter,
à votre convenance, en conservant le formalisme de la maquette.
TP 1 : Ferme d’Élevage
1. Page d’Accueil
54
2. Page ”Nos Animaux”
5. Page ”Contact”
- Titre : Contactez-Nous
- Contenu :
– Formulaire de contact (nom, email, message).
– Adresse complète de la ferme avec carte.
– Informations de contact (téléphone, email).
– Heures d’ouverture.
55
9 JavaScript
JavaScript est un langage de programmation dynamique, orienté objet et léger, principalement utilisé pour
ajouter de l’interactivité et des fonctionnalités aux sites web. Développé au début des années 1990 par Brendan
Eich, JavaScript est maintenant un pilier essentiel du développement web moderne. Il permet aux développeurs
de créer des sites web interactifs, réactifs et dynamiques.
- Interactivité : JavaScript permet d’ajouter des éléments interactifs aux pages web, comme des formu-
laires dynamiques, des animations, des jeux et des éléments de navigation.
- Manipulation du DOM : JavaScript peut manipuler le Document Object Model (DOM), qui est une
représentation structurée de la page web. Cela signifie que vous pouvez ajouter, supprimer ou modifier
des éléments HTML et CSS à la volée sans recharger la page.
- Communication asynchrone : Grâce à des technologies comme AJAX (Asynchronous JavaScript and
XML), JavaScript permet de récupérer des données sans recharger complètement la page. Cela améliore
la fluidité et la réactivité des applications web.
- Écosystème riche : JavaScript dispose d’un vaste écosystème de bibliothèques et de frameworks (comme
React, Angular, Vue.js) qui facilitent le développement d’applications web complexes.
alert(’Bonjour’);
// La fonction affiche une bo^
ıte de dialogue avec "Bonjour"
instruction_1;
instruction_2;
instruction_3;
56
La syntaxe d’une fonction se compose de deux choses : son nom, suivi d’un couple de parenthèses (une
ouvrante et une fermante). Entre les parenthèses se trouvent les arguments, que l’on appelle aussi paramètres.
myFunction();
Par exemple :
alert(’Bonjour’);
// La fonction affiche une bo^
ıte de dialogue avec "Bonjour"
Des fichiers .js Il est possible, et même conseillé, d’écrire le code JavaScript dans un fichier externe, portant
l’extension .js. Ce fichier est ensuite appelé depuis la page Web au moyen de l’élément script et de son attribut
src qui contient l’URL du fichier .js.
Par exemple, dans le fichier hello.js, on écrit :
alert(’Hello world!’);
<script src="hello.js"></script>
Pour éviter des problèmes de chargement sur les pages, il est conseillé de placer les éléments script juste
avant la fermeture de l’élément /body .
1.4. Indentations et commentaires Pour s’y retrouver dans l’écriture du code, on peut l’indenter, c’est-
à-dire hiérarchiser les lignes de code avec des tabulations. Par ailleurs, on peut intégrer des commentaires, qui
ne sont pas interprétés comme du code, afin d’expliquer son code ou de mieux s’y retrouver :
Les commentaires sont essentiels pour rendre le code plus compréhensible, surtout lorsqu’il est partagé ou
modifié par d’autres personnes.
1.5. Un site pour tester le JavaScript Pour tester le code JavaScript sans créer systématiquement des
pages web, vous pouvez utiliser des outils en ligne comme JSFiddle. Ce site permet d’écrire et d’exécuter votre
code JavaScript et de voir le résultat en temps réel, ce qui est très pratique pour expérimenter sans mettre en
place un projet complet.
var myVariable;
myVariable = 2;
ou :
var myVariable = 2;
2.2. Les Types de Variables Une variable peut être de type numérique, mais aussi une chaı̂ne de
caractères :
57
var text = ’J\’écris mon texte ici’; /* Avec des apostrophes, le \
sert à échapper une apostrophe intégrée dans le texte, pour ne pas que
JavaScript pense que le texte s’arr^ ete là.*/
Une variable peut enfin être de type booléen (boolean), avec deux états possibles : vrai ou faux (true ou
false).
2.3. Les Opérateurs Arithmétiques On peut utiliser 5 opérateurs arithmétiques : l’addition (+), la
soustraction (-), la multiplication (*), la division (/) et le modulo (%). Le modulo est le reste d’une division.
Par exemple :
var number1 = 3,
number2 = 2,
result;
result = number1 * number2;
alert(result); // Affiche : 6
ou :
var number = 3;
number = number + 5;
alert(number); // Affiche : 8
qui équivaut à :
var number = 3;
number += 5;
alert(number); // Affiche : 8
2.4. La Concaténation Une concaténation consiste à ajouter une chaı̂ne de caractères à la fin d’une autre,
comme dans cet exemple :
var hi = ’Bonjour ’,
name = ’toi’,
result;
result = hi + name;
alert(result); // Affiche : Bonjour toi
ou :
La fonction prompt() en JavaScript est utilisée pour afficher une boı̂te de dialogue qui invite l’utilisateur à
entrer des données. Cette fonction renvoie la valeur saisie par l’utilisateur sous forme de chaı̂ne de caractères.
58
var userName = prompt(’Entrez votre prénom :’);
alert(userName); // Affiche le prénom entré par l’utilisateur
Dans cet exemple, la fonction prompt() demande à l’utilisateur de saisir son prénom, qui est ensuite affiché
dans une boı̂te de dialogue d’alerte.
Dans cet exemple, nous concaténons une chaı̂ne de caractères de bienvenue (”Bonjour”) et une chaı̂ne de
caractères de fin (” !”) autour du prénom saisi par l’utilisateur. Le message complet est ensuite affiché dans
une alerte.
Dans cet exemple, nous demandons à l’utilisateur d’entrer deux chiffres. Ensuite, nous utilisons la fonction
parseInt() pour convertir les chaı̂nes de caractères en nombres afin de les additionner. Le résultat est finalement
affiché avec une alerte.
Une condition (true ou false) est un test qui permet de vérifier qu’une variable contient bien une certaine
valeur.
59
var number1 = 2, number2 = 2, number3 = 4, result;
- La structure conditionnelle if ;
- Des parenthèses qui contiennent la condition à analyser, ou plus précisément le booléen retourné par les
opérateurs conditionnels ;
- Des accolades qui délimitent la portion de code qui sera exécutée si la condition est vérifiée.
La fonction confirm() permet une interaction avec l’utilisateur à l’exécution du code (retourne true si
l’utilisateur clique sur ”OK”, false s’il clique sur ”Annuler”) :
if (confirm(’Pour accéder à ce site vous devez ^ etre une fille, cliquez sur "OK" si c\’est le cas.’))
alert(’Vous allez ^ etre redirigé vers le site.’);
} else {
alert("Désolé, vous n’avez pas accès à ce site.");
}
60
var floor = parseInt(prompt("Entrez l’étage où l’ascenseur doit se rendre (de -2 à 30) :"));
if (floor == 0) {
alert(’Vous vous trouvez déjà au rez-de-chaussée.’);
} else if (-2 <= floor && floor <= 30) {
alert("Direction l’étage n°" + floor + ’ !’);
} else {
alert("L’étage spécifié n’existe pas.");
}
switch (drawer) {
case 1: // Vérifie si le tiroir est 1
alert(’Contient divers outils pour dessiner : du papier, des crayons, etc.’);
break; // On arr^ete la fonction pour passer à un autre cas
case 2: // Vérifie si le tiroir est 2
alert(’Contient du matériel informatique : des c^ ables, des composants, etc.’);
break;
case 3: // Vérifie si le tiroir est 3
alert(’Ah ? Ce tiroir est fermé à clé ! Dommage !’);
break;
case 4: // Vérifie si le tiroir est 4
alert(’Contient des v^etements : des chemises, des pantalons, etc.’);
break;
default: // Gérer une erreur de l’utilisateur
alert("Info du jour : le meuble ne contient que 4 tiroirs et, jusqu’à preuve du contraire, l
}
Fournir un commentaire selon l’âge de la personne. Vous devez fournir un commentaire sur 4 tranches d’âge
définies comme suit :
*Correction
Voici une proposition de code pour réaliser cette tâche :
61
var age = parseInt(prompt(’Quel est votre ^
age ?’));
switch (drawer) {
case 1: // Vérifie si le tiroir est 1
alert(’Contient divers outils pour dessiner : du papier, des crayons, etc.’);
break; // On arr^ete la fonction pour passer à un autre cas
case 2: // Vérifie si le tiroir est 2
alert(’Contient du matériel informatique : des c^ ables, des composants, etc.’);
break;
case 3: // Vérifie si le tiroir est 3
alert(’Ah ? Ce tiroir est fermé à clé ! Dommage !’);
break;
case 4: // Vérifie si le tiroir est 4
alert(’Contient des v^etements : des chemises, des pantalons, etc.’);
break;
default: // Gère une erreur de l’utilisateur
alert("Info du jour : le meuble ne contient que 4 tiroirs et, jusqu’à preuve du contraire, l
}
latex
article [utf8]inputenc amsmath amsfonts graphicx hyperref listings tcolorbox
Incrémentation, Décrémentation et Boucles en JavaScript
62
var number = 0;
number++;
alert(number); // Affiche : 1
number--;
alert(number); // Affiche : 0
while (condition) {
instruction_1;
instruction_2;
instruction_3;
}
Quand la boucle s’arrête, les instructions qui suivent la boucle sont exécutées :
var number = 1;
while (number < 10) {
number++; // Tant que le nombre est inférieur à 10, on l’incrémente de 1
}
alert(number); // Affiche : 10
var prenoms = ’’, prenom; // On crée une variable prenoms pour mémoriser
while (true) {
prenom = prompt(’Entrez un prénom :’); // L’utilisateur entre chaque prénom
if (prenom) {
prenoms += prenom + ’ ’; // Ajoute le nouveau prénom ainsi qu’une espace
} else {
break; // On quitte la boucle
}
}
alert(prenoms); // Affiche les prénoms à la suite
do {
instruction_1;
instruction_2;
instruction_3;
} while (condition);
63
for (initialisation; condition; incrémentation) {
instruction_1;
instruction_2;
instruction_3;
}
for (var iter = 1; iter <= 5; iter++) { // On initialise une variable, et tant qu’elle est inférieur
alert(’Itération n°’ + iter); // À chaque fois on affiche une bo^
ıte de dialogue (5 fois)
}
for (var prenoms = ’’, prenom; true;) { // ici sans incrémentation nécessaire, mais avec un point-vi
prenom = prompt(’Entrez un prénom :’);
if (prenom) {
prenoms += prenom + ’ ’;
} else {
break;
}
}
alert(prenoms);
function myFunction(arguments) { // Le terme "function" est obligatoire pour déclarer une fonction
// Le code que la fonction va devoir exécuter
}
function byTwo() {
var result = parseInt(prompt(’Donnez le nombre à multiplier par 2 :’));
alert(result * 2);
}
64
var message = ’Ici la variable globale !’;
function showMsg() {
var message = ’Ici la variable locale !’;
alert(message); // On affiche la variable locale
}
showMsg();
alert(message); // Puis la variable globale
Il est recommandé d’éviter de créer des variables locales et globales qui portent le même nom. En règle
générale, on préfère utiliser des variables locales pour éviter les confusions.
Ou avec prompt() :
function myFunction(arg) {
alert(’Votre argument : ’ + arg);
}
myFunction(prompt(’Que souhaitez-vous passer en argument à la fonction ?’));
moar(
prompt(’Entrez votre premier argument :’),
prompt(’Entrez votre deuxième argument :’)
);
function sayHello() {
return ’Bonjour !’; // L’instruction return suivie d’une valeur, cette dernière est donc renvo
}
alert(sayHello());
65
function (arguments) {
// Le code de votre fonction anonyme
}
latex
article [utf8]inputenc amsmath amsfonts graphicx hyperref listings tcolorbox
Les Objets et les Tableaux en JavaScript
- Des propriétés
- Des méthodes
66
9.14.3 Opérations sur les Tableaux
On peut ajouter des items avec la méthode push() :
La méthode unshift() fonctionne comme push(), sauf que les items sont ajoutés au début du tableau. Les
méthodes shift() et pop() retirent respectivement le premier et le dernier élément du tableau.
var family = {
self: ’Rafael’,
sister: ’Mathilde’,
brother: ’Ahmed’,
cousin_1: ’Jér^
ome’,
cousin_2: ’Guillaume’
};
var id = ’sister’;
alert(family[id]); // Affiche : Mathilde
alert(family.brother); // Affiche : Ahmed
alert(family[’self’]); // Affiche : Rafael
family[’uncle’] = ’Pauline’; // On ajoute une donnée avec un identifiant
family.aunt = ’Karim’; // On peut ajouter aussi de cette manière
alert(family.uncle); // Affiche : Pauline
67
var family = {
self: ’Rafael’,
sister: ’Mathilde’,
brother: ’Ahmed’,
cousin_1: ’Jér^
ome’,
cousin_2: ’Guillaume’
};
for (var id in family) { // On stocke l’identifiant dans id pour parcourir l’objet family
alert(family[id]); // Affiche chaque valeur de l’objet
}
Exercice
Demandez les prénoms aux utilisateurs et stockez-les dans un tableau. Pensez à utiliser la méthode push().
À la fin, affichez le contenu du tableau avec alert(), seulement s’il contient des prénoms. En effet, il ne sert
à rien de l’afficher s’il ne contient rien. Séparez chaque prénom par un espace. Si le tableau est vide, faites-le
savoir à l’utilisateur avec un alert().
Code Exemple
68
– Un tableau pour montrer les quantités d’animaux par espèce.
*3. Page ”Produits de la Ferme”
- Contenu :
– Informations sur les horaires des visites.
– Tarifs d’entrée.
– Formulaire de réservation en ligne.
– Avis des visiteurs (témoignages).
*5. Page ”Contact”
- Titre : Contactez-Nous
- Contenu :
– Formulaire de contact (nom, email, message).
– Adresse complète de la ferme avec carte.
– Informations de contact (téléphone, email).
– Heures d’ouverture.
69
11 Présentation Générale
Le site de Consultation Médicale a pour objectif de fournir aux utilisateurs un accès facile à des informations
médicales, la possibilité de prendre rendez-vous en ligne et des ressources utiles concernant la santé. Le site se
composera de cinq pages principales.
12 Pages à Développer
12.1 Page d’Accueil
12.1.1 Description
- Présente une introduction au service de consultation médicale. - Affiche des informations clés sur les services
offerts. - Inclut une barre de navigation vers les autres pages.
12.1.2 Contenu
- En-tête : Logo et titre du site.
- Corps :
– Un bref texte de bienvenue.
– Image principale représentant le contexte médical.
– Lien vers d’autres pages du site (À propos, Services, Prendre Rendez-vous, Contact).
- Pied de page : Mentions légales et liens vers les réseaux sociaux.
12.2.2 Contenu
- En-tête : Titre de la page ”À Propos”.
- Corps :
70
12.3.2 Contenu
- En-tête : Titre de la page ”Nos Services”.
- Corps :
12.4.2 Contenu
- En-tête : Titre ”Prendre Rendez-vous”.
- Corps :
– Formulaire pour entrer les détails du patient (nom, email, date et heure de rendez-vous).
– Bouton d’envoi.
– Informations sur les méthodes d’annulation et de modification des rendez-vous.
- Pied de page : Liens vers les autres pages.
71