L'objectif de cette scéance de TP est de découvrir le langage HTML au travers de la création d'un mini site web. Vous pouvez travailler indifféremment sous Windows ou Linux.
Pour comprendre l'utilisation des balises HTML utilisées dans ce TP, les liens étiquetés en vert vous renvoient vers la page correspondante dans le tutoriel du W3C consacré à HTML (https://www.w3schools.com/html).
1. Préparation
Avant toute chose, organisez proprement vos dossiers et fichiers afin de pouvoir facilement retrouver le travail effecué dans les différentes séances de TPs de l'enseignement PLAI-TW. Pour cela propcédez comme suit :
- Dans votre répertoire personnel, créez un répertoire
PLAI-TW
- Positionnez vous dans ce répertoire
PLAI-TW
- Créez un répertoire
TP1
dans le répertoirePLAI-TW
- Positionnez vous dans ce répertoire
TP1
C'est dans se répertoire TP1
que vous enregistrerez ensuite tous
les travaux effectués au cours de cette 1ère séance de TP
2. Validation et correction de pages HTML
La validation d'une page web est importante. Cela permet d'être sûr que la structure de la page est correcte et qu'il n'y a pas de fautes, c'est-à-dire que la syntaxe du langage HTML5 est bien respectée.
Dans ce premier exercice, vous allez effectuer ce travail de vérification sur le code d'un mini site existant
- Téléchargez le fichier exercice1.zip et désarchivez son contenu dans votre répertoire
TP1
. Un répertoireexercice1
y est créé, ce repertoire contient deux fichiers HTML (page1.html
etpage2.html
), ainsi que deux images. - Visualisez ces pages dans votre navigateur.
-
Vérifiez que
page1.html
etpage2.html
sont valides. Pour cela, vous utiliserez le validateur HTML5 "nu" du W3C accessible à l'URL https://validator.w3.org/nu.
- Corrigez le code de ces pages jusqu'à ce qu'elles soient toutes les deux valides.
3. Création d'un mini site personnel
Vous aller créer un mini site Web personnel présentant votre CV, votre emploi du temps et une galerie de photographies personnelles. Dans ce TP, nous nous focaliserons uniquement sur la description et la structuration du contenu du site à l'aide du langage HTML (Hyper Text Markup Language), sans nous soucier de son apparence sur laquelle nous travaillerons lors de séances ultérieures consacrées au langage CSS (Cascading Style Sheets). La vidéo ci-dessous vous montre le site que vous allez essayer de produire aujourd'hui.
3.1: Création d'une page CV
Pour la création du site, utilisez l'IDE VS Code. Vous trouverez quelques éléments de documentation sur la page FAQ VScode consacrée à l'édition de code HTML.
- Créez un fichier HTML portant le nom
monCV.html
. Ce fichier sera composé des éléments suivants :- une partie en tête (balise
head
) dans laquelle vous définirez le titre de votre page (balisetitle
), - une partie corps (balise
body
),
- une partie en tête (balise
- Créez à l'intérieur du corps de votre page un en-tête constitué d'un titre, par exemple Site Personnel de XXX, et d'un sous titre,
par exemple Mon CV. Pour distinguer le titre du sous titre vous pourrez utiliser les balises
h1 h2
.
Il peut être intéressant, en particulier pour lors la définition de l'apparence du site avec les CSS, d'imbriquer ces éléments à l'intérieur d'une balise sémantiqueheader
.
- Vous allez maintenant créer une section regroupant les informations d'état civil (Nom, Prénom, date de naissance, ...) ainsi qu'une photographie personnelle.
Délimitez celle-ci par une balise
section
et insérez à l'intérieur de cet élément les éléments suivants:- un titre, Etat Civil, mis en évidence par une balise
h2
, - votre photographie à l'aide d'une balise
img
.Si vous ne disposez pas encore d'une photographie personnelle sous forme numérique vous pouvez, en attendant, utiliser l'image ci-dessous que vous pourrez enregistrer sur votre compte par un clic droit avec la souris puis sélection de l'item "Enregistrer l'image sous..." du menu contextuel.
-
Vos informations état civil (Nom, Prénom, date de naissance, ...) que vous placerez chacune à l'intérieur d'un élément
p
.
- un titre, Etat Civil, mis en évidence par une balise
- Sur le même modèle que la section Etat Civil ajoutez les sections suivantes :
- Diplômes
- Compétences Informatiques
- Expériences professionnelles
- Activités et loisirs
- Complétez au moins l'une des sections précédentes en listant ses éléments sous forme de liste à puces
(balise
ul
), ou de liste numérotée ((baliseol
) ou de liste de descriptions (balisedl
). Vous ferez les autres ultérieurement après avoir réalisé les exercices suivants.
-
Vérifiez que votre code est conforme à la norme HTML5 du W3C. Pour cela utilisez le service de validation du W3C (https://validator.w3.org/nu) vu dans l'exercice 2.
3.2 : Tables HTML
Créez un second fichier HTML, agenda.html
, en respectant la même structure que le fichier monCV.html
, à savoir:
- un élément
header
contenant un titre (Site Personnel de XXX) et un sous titre (Emploi du Temps).
-
un élément
section
présentant votre emploi du temps hebdomadaire sous la forme d'un tableau HTML (balisetable
).Ce tableau comportera une colonne par jour et une ligne par tranche horaire de cours, et devra contenir des cours s'étalant sur au moins deux horaires comme dans l'exemple ci dessous.
Inutile d'essayer de présenter votre emploi du temps réel, contentez vous de reproduire l'emploi du temps ci dessus. Pour définir des cellules de tableau s'étendant sur plusieurs lignes ou plusieurs colonnes, utilisez les attributs
rowspan
etrowspan
de la balisetd
. Par ailleurs, pour matérialiser les bords des cases de votre tableau, vous utiliserez un attributborder=1
pour votre balisetable
. Cet attribut a vocation à disparaître avec HTML5, nous verrons par la suite comment le remplacer par un style CSS comme le préconise le W3C. - Comme dans l'exercice 1, pensez à vérifier que votre HTML est correct avec le service de validation du W3C.
3.3 Liens hypertextes
Dans cette partie, vous allez mettre en place dans votre site différents types de liens hypertextes
(balise a
) :
-
Des liens vers des ressources d'autres sites. Par exemple, dans la table présentant votre emploi du temps vous pourrez mettre un lien entre le nom de matière et le site web de celle-ci si elle existe. Ainsi pour le cours d'Algorithmique, vous pouvez ainsi pointer vers la page moodle du cours Algorithmique du M2CCI de l'ufr IM2AG.
-
Des liens entre resources de votre site. Pour cela, mettez en place des liens de navigation qui permettent de passer d'une page de votre site à l'autre, c'est à dire un lien de la page
monCV.html
vers la pageagenda.html
et inversement. Ces liens étant destinés à effectuer une navigation rapide dans votre site, il est habituel de les faire apparaître en haut de page (pour vous sous l'élémentheader
contenant le titre et sous titre de votre page). HTML5 permet de leur associer une sémantique de navigation en les plaçant à l'intérieur d'un élémentnav
, cela facilitera ensuite la mise en forme de ces éléments avec les styles CSS. -
Des liens internes à un document. Par exemple, pour pouvoir accéder rapidement aux différents éléments de votre CV, vous mettrez en place un sommaire dans votre page
monCV.html
.Pour effectuer une navigation rapide dans votre CV comme sur la figure ci-dessus, procédez comme suit:
- ajoutez un attribut
id
) à l'élement titre des différentes sections de votre CV, - après l'en tête de votre CV (élément
header
) ajoutez un élémentsection
contenant :- Sommaire dans un element titre (
h3
) - une liste de liens vers les différentes sections
- Sommaire dans un element titre (
- ajoutez un attribut
3.4 Image réactive
Il s'agit de doter votre mini site d'une page d'accueil (index.html
) présentant un menu permettant de choisir entre :
- La page d'accueil de l'ufr IM2AG,
- La page d'accueil du serveur moodle de l'ufr IM2AG (le placard électronique),
- Votre CV.
Ce menu est réalisé à l'aide d'une image réactive.
Affichage de l'image
Récupérez l'image contenue dans ce fichier menu.png
(vous pouvez procéder comme indiqué sur la figure ci-dessous) et créez une page index.html
contenant:
- le titre Menu,
- cette image.
Rendre l'image réactive
Rendez l'image réactive (voir balise map
) en définissant trois zones associées aux URL suivantes :
https://im2ag.univ-grenoble-alpes.fr/
pour le lien vers l'UFR IM2AG,https://im2ag-moodle.univ-grenoble-alpes.fr
pour le placard électronique,monCV.html
pour votre CV.
Il existe de nombreux outils pour construire des images réactives. Parmi ceux-ci on peut noter GIMP (GNU Image Manipulation Program), un logiciel gratuit offrant de nombreuses et puissantes fonctionalités de manipulation d'image dont en ce qui nous concerne la création d'images réactives (voir le tutorial How To Create An Image Map Using GIMP de Tim Lenahan).
Permettre la navigation dans le site
Pour faciliter la navigation dans votre site, ajoutez dans les pages monCV.html
et
agenda.html
des liens qui permettent de retourner directement
sur la page d'accueil.
3.5 : galerie de photographies
S'il vous reste du temps vous pouvez enrichir votre site d'une galerie de photographies.
Pour cela créez une nouvelle page, photos.html
et ajoutez aux pages de votre site
le ou les liens qui permettront d'y accéder.
Pour constituer cette galerie vous pouvez utiliser les images contenues dans cette archive photos.zip