TP 1 - HTML/CSS
Objectif : Créer une page WEB statique en manipulant le langage HTML et la mise en forme CSS.
Bien comprendre les styles et le positionnement des blocs en CSS.
0. Préparatifs (si le TP se fait en Salle de TP)
- Lancer la machine virtuelle (VM) depuis le raccourci sur le bureau (dans le répertoire OMI : VM-Pole-Info)
- Vider tout le contenu du répertoire www du dossier Home de la VM
(voir note explicative ci-après)
- Dans le répertoire www
- créer un répertoire "pages" qui contiendra les pages HTML produites
- créer un répertoire "images" qui contiendra toutes les images de la page WEB
- créer un répertoire "styles" qui contiendra les feuilles de styles
- A partir du dossier Importer de la VM, sélectionner tous les fichiers du répertoire :
HEI3_NDC1_TP_CommWEB/TP1/images qui se trouvent dans le dossier importer de la VM et copier-les dans le répertoire images de www de la VM.
- Vérifier et faire en sorte que tous les fichiers soient accessibles en « lecture & écriture » (Sélectionner tous les fichiers, clic droit sur les fichiers > propriétés > permissions > Accès > Lecture & Ecriture). Cette manipulation supprime le cadenas sur le fichier et vous permet de modifier les fichiers.
IMPORTANT
Le dossier www est le dossier par défaut du serveur WEB.
Lorsque vous lancez le navigateur à l'adresse http://localhost, le serveur WEB "regarde" le contenu du répertoire www.
Si, dans ce dossier www, il existe un fichier par défaut comme index.html, index.php...., celui-ci sera lancé systématiquement.
Si ce fichier par défaut n'existe pas, vous visualiserez alors l'arborescence du contenu du répertoire www
Vous enregistrez donc par la suite, dans ce dossier www, tous les fichiers WEB que vous créerez ainsi que les éléments attachés s'ils existent (images, photos,...)
0. Préparatifs (si le TP se fait sur https://tponline.hei.fr)
- Via un navigateur (Chrome ou Firefox) connectez-vous à une machine virtuelle du site https://tponline.hei.fr
- Vérifier que le répertoire etudiant du raccourci Home présent sur le bureau de la VM est vide
(voir note explicative ci-après)
- Dans le répertoire etudiant
- créer un répertoire "pages" qui contiendra les pages HTML produites
- créer un répertoire "images" qui contiendra toutes les images de la page WEB
- créer un répertoire "styles" qui contiendra les feuilles de styles
- A partir du dossier input du raccourci Home présent sur le bureau de la VM, sélectionner tous les fichiers et copier-les dans le répertoire images de etudiant dans la VM.
- Vérifier et faire en sorte que tous les fichiers soient accessibles en « lecture & écriture » (Sélectionner tous les fichiers, clic droit sur les fichiers > propriétés > permissions > Accès > Lecture & Ecriture). Cette manipulation supprime le cadenas sur le fichier et vous permet de modifier les fichiers.
IMPORTANT
Le dossier etudiant du raccourci Home est le dossier etudiant du serveur WEB.
Lorsque vous lancez le navigateur à l'adresse http://localhost/etudiant, le serveur WEB "regarde" le contenu de ce répertoire.
Si, dans ce dossier etudiant, il existe un fichier par défaut comme index.html, index.php...., celui-ci sera lancé systématiquement.
Si ce fichier par défaut n'existe pas, vous visualiserez alors l'arborescence du contenu du répertoire etudiant
Vous enregistrez donc par la suite, dans ce dossier etudiant, tous les fichiers WEB que vous créerez ainsi que les éléments attachés s'ils existent (images, photos,...)
1. Structure de la page HTML
- Créer dans le répertoire pages une page HTML index.html
Ouvrir ce fichier avec l'éditeur "sublime Text" et insérer les éléments minimum d'une page WEB
- En regardant la structure de la page dans le schéma ci-dessous, compléter dans le corps principal <body> l’arborescence complète des différents blocs mentionnés en respectant les inclusions et les successions (la hauteur et la couleur des blocs n'ont que pour signification la compréhension de l'organisation des blocs)
- En guise de test, mettre dans le DIV titre_principal, le contenu suivant :
- un titre de niveau 1 avec le texte "texte à supprimer après !"
- Tester la page en lançant le navigateur WEB de la VM

ATTENTION :
- N'oubliez pas d'indenter les balises pour une meilleure lecture !!!
- N'hésitez pas à mettre des commentaires <!-- .... --> pour vous souvenir de ce que fait le code !
Fichier index.html à créer et à compléter :
<!DOCTYPE html>
<html>
<head>
<title>...</title>
</head>
<body>
<div id="bloc_page">
<header>
... A COMPLETER ...
</header> <!-- fin header -->
<div id="banniere_image">
... A COMPLETER ...
</div> <!-- fin div banniere_image -->
... A COMPLETER ...
</div> <!-- fin bloc_page -->
</body>
</html>
2. Contenu de la page HTML
Les images ont été placées dans le répertoire images
- Supprimer le texte "texte à supprimer après !"
- Dans le DIV titre_principal, mettre à la suite
- l'image pastor.png de texte alternatif "pastor" et d'identificateur "logo"
- un titre de niveau 1 avec le texte "Pastor"
- un titre de niveau 2 avec le texte "Grimoire de la cuisine"
- Dans le bloc <nav>,
- créer une liste non-ordonnée avec les 4 items suivants : Accueil, Blog, CV, Contact
- sur chaque item de la liste non-ordonnée, mettre un lien pointant vers le site WEB de l'école HEI
- Dans le DIV banniere_image,
- mettre un paragraphe contenant à la suite
- le texte "Retour sur mes vacances en Asie... Voir l'article"
- et l'image flecheblanchedroite.png
- Créer un lien de classe bouton_rouge pointant vers "http://www.globe-trotting.com/a-voir-asie" qui englobe à la fois le texte à partir de "Voir l'article" et l'image.
- Dans le bloc <article>, mettre à la suite :
- un titre de niveau 1 comprenant l'image ico_epingle.png et le texte "Je suis un grand gourmand"
- 5 paragraphes <p> de contenu "Blablabla... Blablabla... Blablabla... Blablabla..."
- Dans le bloc <aside>, mettre à la suite :
- un titre de niveau 1 comprenant le texte "A propos de l'auteur"
- l'image bulle.png de texte alternatif "bulle" et d'identificateur bulle
- l'image pastor.png de texte alternatif "pastor" d'identificateur pastor
- un paragraphe <p> de contenu "Blablabla... Blablabla... Blablabla... Blablabla..."
- les images facebook.png, twitter.png, vimeo.png, flickr.png et rss.png
- Dans le DIV tweet, mettre à la suite :
- un titre de niveau 1 comprenant le texte "Mon dernier tweet..."
- 2 paragraphes <p> de classe "ragot" de contenu "Blablabla... Blablabla... Blablabla... Blablabla..."
- Dans le DIV mes_photos, mettre à la suite :
- un titre de niveau 1 comprenant le texte "Mes photos"
- les 4 photos photo_min_1.jpg, photo_min_2.jpg, photo_min_3.jpg et photo_min_4.jpg
- Dans le DIV mes_amis, mettre à la suite :
- un titre de niveau 1 comprenant le texte "Mes amis"
- une liste non-ordonnée avec les 4 items suivants : Perceval, Roi arthur, Léodagan, Karadoc.
- une seconde liste non-ordonnée avec les 4 items suivants : Merlin, Lancelot, Bohort, Guenièvre.
- sur chaque item des listes non-ordonnées, mettre un lien de classe "amis" pointant vers "https://fr.wikipedia.org/wiki/Kaamelott"
La suite du TP s'intéresse maintenant à la mise en forme du contenu créé et du positionnement des blocs
Le schéma ci-dessous montre globalement comment seront positionnés les blocs dans la page WEB.
3. Mise en forme du contenu et positionnement
- Dans le répertoire styles, créer un fichier style.css dans lequel vous mettrez tous les styles relatifs aux pages créées.
- Ajouter au fichier index.html le lien avec cette feuille de styles
Le but est maintenant de compléter la feuille de styles pour réaliser la charte graphique du site (mise en forme du contenu et positionnement)
Créer tous les styles suivants (aidez-vous de l'annexe CSS du site)
Styles principaux
- Corps principal de la page (body)
- la couleur de fond sera faite avec l'image fond_jaune.png (cf. propriété CSS background-image)
- la police utilisée est "Trebuchet MS", Arial, Helvetica, sans-serif ;
- la couleur du texte sera #333333
- Le bloc bloc_page aura une largeur de 900px et des marges extérieurs (margin) ayant pour valeur auto (ce qui aura pour effet le centrage du bloc bloc_page)
- Les titres de niveau 1 des blocs section et footer ainsi que les liens du bloc nav seront en majuscules (cf. propriété text-transform)
En-tête
- le bloc header aura pour fond une image separateur.png répétée en x en position bas (cf. propriété background-...)
- les titres de niveau 1 du bloc titre_principal auront une taille de 5em et de police "Arial", cursive;
- les titres de niveau 1 et l'image d'identificateur "logo" du bloc titre_principal auront un affichage (propriété display) inline-block avec une marge basse de 0px;
- les titres de niveau 2 du bloc titre_principal seront de taille 1.1em, une marge haute de 0px et de police Verdana, Geneva, sans-serif;
Liens de navigation
- le bloc nav aura un affichage (cf. propriété display) inline-block, de largeur 90% et un alignement du texte à droite
- les listes non-ordonnées du bloc nav seront privées de leurs puces
- Chaque item des listes non-ordonnée du bloc nav aura un affichage inline-block et une marge extérieure droite de 15px;
- les liens du bloc nav auront une taille de 1.3em de couleur #181818, une marge intérieur basse de 3px et ne seront pas soulignés
- les liens survolés du bloc nav auront une couleur #760000 , une bordure basse et haute d'épaisseur 3px, pleine de couleur #760000 (cf. propriété border-bottom)
La banniere_image
- Le bloc banniere_image aura
- une marge extérieure haute de 15px,
- une hauteur de 200px,
- des bords arrondis de 5px,
- une position relative,
- une marge intérieure de 0px,
- un effet d'ombre de valeur "0px 14px 14px #1c1a19;"
- en fond l'image non répétée bangkok.jpg,
- le texte de couleur blanc et de taille 0.8em
- une marge extérieure basse de 30px;
- La classe bouton_rouge aura
- un affichage inline-block,
- une hauteur de 20px,
- la position absolute,
- une couleur de fond #993300,
- une police de taille 1.2em,
- le texte centré de couleur blanc
Le corps (<section>)
- Les blocs article et aside auront un affichage inline-block, alignés verticalement en haut et un alignement du texte justifié
- Le bloc article aura une largeur de 60% avec une marge extérieure droite de 15px
- Le bloc aside aura une position relative de largeur 30%, une couleur de fond #706b64, des bords arrondis de 5px, une marge intérieure de 10px, le texte de taille 0.9em de couleur blanc, une ombre de valeur "4px 4px 5px #1c1a19;"
- les paragraphes du bloc article auront une taille de 0.8em
- L'identificateur bulle sera en position absolute avec un top de 100px et un left de -12px
Le pied de page (<footer>)
- Le bloc footer aura
- une marge extérieure haute de 10px
- une marge intérieure haute de 30px
- l'image separateur.png répétée en position top en guise de fond
- les paragraphes et les listes non-ordonnées du bloc footer auront une taille de 0.8em
- les paragraphes de classe "ragot" seront en italique
- les titres de niveau 1 du bloc footer auront une taille de 1.1em
- Les bloc d'identificateur tweet, mes_photos et mes_amis auront un affichage inline-block, et seront alignés verticalement en haut.
- Le bloc d'identificateur tweet aura une largeur de 25%
- Le bloc d'identificateur mes_photos aura une largeur de 40%
- Le bloc d'identificateur mes_amis aura une largeur de 25%
- Les images du bloc d'identificateur mes_photos auront un bord solide de 1px et de couleur #181818, et une marge extérieure droite de 2px
- les listes non-ordonnées du bloc d'identificateur mes_amis auront
- un affichage (display) de valeur inline-block,
- alignés verticalement en haut,
- de marge extérieure haute de 0px,
- de largeur 48%
- marge intérieure gauche de 2px
- les liens de classe "amis" n'auront pas de soulignement et seront de couleur #760000
4. Liens
- Sur les images facebook.png, twitter.png, vimeo.png, flickr.png et rss.png , mettre 5 liens vers les sites ad hoc
- Sur chacune des 4 photos photo_min_1.jpg, photo_min_2.jpg, photo_min_3.jpg et photo_min_4.jpg, mettre un lien pour visualiser la photo (grand format) dans le bloc <article> d'une nouvelle page identique à celle créée : chacune des pages portera le nom de photo1.html, photo2.html, photo3.html et photo4.html
- Ne pas oublier de revoir toutes les pages afin de compléter les liens sur chaque page !
5. Résultat final
6. Barème de correction
Ci-dessous le barème des points attribués par question.
La note tiendra compte de la "propreté" du code à savoir le respect des indentations, les commentaires utiles à la compréhension, l'organisation de la structure du site et la justesse des réponses attendues
Partie |
Points |
1. Structure de la page HTML |
2 |
2. Contenu |
7 |
3. Mise en forme du contenu et positionnement
- Styles principaux,
- En-tête,
- Liens de navigation,
- bannière image,
- le corps <section>,
- Le pied de page <footer>.
|
9 |
4. Liens (images, Photos) |
2 |