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. Si vous travaillez sur votre machine personnelle assurez vous que l'IDE VSCode (Integrated Development Environnment) est bien installé.
Pour comprendre l'utilisation des balises HTML étudié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 du cours Techonologies du Web. Pour cela procédez comme suit :
- Dans votre répertoire personnel, créez un répertoire
TW
(commande mkdir TW dans un terminal) - Positionnez vous dans ce répertoire
TW
(commande cd TW dans le terminal) - Créez un répertoire
TP1
dans le répertoireTW
(commande mkdir TP1 dans le terminal) - Positionnez vous dans ce répertoire
TP1
(commande cd TP1 dans le terminal)
C'est dans ce répertoire TW/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 et les règles du langage HTML5 sont bien respectées.
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 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
etcolspan
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
3.6 : Déployer votre mini site sur un serveur Apache
A l'ufr IM2AG, la machine Goedel
est un serveur où sont installés et
configurés :
- Un serveur Web Apache avec PHP 5
- Un serveur de base de données MySQL et une interface PhpMyAdmin
- Un accès aux bases de données Oracle via OCI8
Le nom IP du serveur est le suivant : im2ag-goedel.univ-grenoble-alpes.fr. Vous pouvez vous connecter à ce serveur en ssh, avec vos identifiants AGALAN (à condition d'être sur une machine de l'UFR ou sur le VPN de l'UGA).
Un répertoire nommé public_html devrait se trouver dans votre home dir. Le contenu de ce répertoire est accessible via un navigateur script php se trouvant à l'intérieur peut être exécuté en accédant au fichier concerné via l'adresse web suivante (si vous n'êtes pas sur le réseau de l'UFR, i faut lancer le VPN UGA):
https://im2ag-goedel.univ-grenoble-alpes.fr/~[votre_login]/[path]/[nomfichier]
où :
- [votre_login] doit être remplacé par votre login agalan
- [path] est le chemin relatif pour accéder à votre ressource à partir de votre répertoire public_html
- [nomFichier] doit être remplacé le nom du fichier
Par exemple si votre login agalan est toto38 vous voulez pour accéder au fichier test.html qui se trouve dans le répertoire public_html/CV/ vous utiliserez l'URL https://im2ag-goedel.univ-grenoble-alpes.fr/~toto38/CV/test.html
En cas de mauvais fonctionnement, vérifiez les droits sur le répertoire “public_html” ainsi que les fichiers et répertoires qu'il contient : l'utilisateur www-data doit être capable de lire vos fichiers et de traverser les éventuels répertoires pour y accéder.
Si vous avez des problèmes pour atteindre le lien mentionné plus haut, essayez d'ajouter une exception au proxy du navigateur si vous vous trouvez sur un réseau UGA ou VPN UGA.