Exercice 5 : Galerie d'images interactive¶
Objectif
Créer une galerie d'images interactive et responsive en utilisant HTML, CSS et JavaScript. Cet exercice vous permettra de manipuler le DOM, de gérer les événements utilisateurs, et d'améliorer l'expérience utilisateur avec des interactions visuelles.
Création du dossier de l'exercice
Avant de commencer cet exercice : créer le dossier de l'exercice.
Avec VS Code :
- Ctrl+Shift+P >
Create Folder - Ou sélectionnez le dossier parent dans l'explorateur de fichiers puis entrez le nom du nouveau dossier :
exercice-5 - Ou faites un clic droit sur le dossier parent >
New Folder> entrez le nom :exercice-5 - Ou File > New Folder > entrez le nom :
exercice-5
1. Créer la structure de la galerie¶
- Créez un fichier HTML nommé
galerie.html. - La galerie doit afficher au moins 8 images de produits ou de paysages.
- Utilisez des images libres de droits pour éviter les problèmes de copyright.
2. Organiser les images en grille¶
- Utilisez des éléments HTML pour créer une grille responsive qui affiche les images en colonnes.
- Chaque image doit être accompagnée d'un titre descriptif et d'une courte description.
3. Ajouter des styles CSS¶
- Créez un fichier CSS nommé
galerie-styles.css. -
Appliquez les styles suivants :
- Ajoutez une bordure autour de chaque image.
- Ajoutez un effet de survol (
hover) pour agrandir légèrement l'image lorsque la souris passe dessus. - Alignez le texte en dessous des images et assurez-vous que le texte est bien lisible.
4. Ajouter une fonctionnalité de modal (optionnelle)¶
Aide pour la fenêtre modale
Si vous n'avez jamais travaillé avec des modales, voici les concepts de base :
-
Structure HTML : Une modale est une
<div>cachée par défaut qui contient :- Un fond semi-transparent (overlay)
- Un conteneur pour le contenu (l'image agrandie)
- Un bouton de fermeture (X)
-
CSS pour la modale :
display: none;par défaut pour cacher la modaleposition: fixed;pour la positionner au-dessus du contenu- Une classe
.activeou.showpour l'afficher
-
JavaScript :
- Écoutez le clic sur chaque image de la galerie
- Changez le
displayde la modale àblockou ajoutez la classe.active - Récupérez la source (
src) de l'image cliquée - Affichez cette image dans la modale
- Écoutez le clic sur le bouton de fermeture pour cacher la modale
- Bonus : Écoutez la touche
Escapepour fermer la modale
- Lorsqu'un utilisateur clique sur une image, ouvrez une fenêtre modale affichant une version agrandie de l'image, accompagnée d'une description plus détaillée.
- Utilisez JavaScript pour gérer l'ouverture et la fermeture de la fenêtre modale.
5. Optimisation et accessibilité¶
- Assurez-vous que toutes les images contiennent des attributs
altpour l'accessibilité. - Vérifiez que la galerie est responsive et s'affiche correctement sur différents appareils (ordinateurs, tablettes, mobiles).
6. Livraison de l'exercice¶
Checklist avant de soumettre
- Fichiers :
exercice-5/galerie.html,exercice-5/galerie-styles.css,exercice-5/script.js - Dossier images avec au moins 8 images :
exercice-5/images/ - Grille responsive créée
- Effet hover sur les images (zoom)
- Fenêtre modale fonctionnelle avec JavaScript
- Tous les attributs
altrenseignés - Tests responsive effectués
Ouvrez le terminal intégré Ctrl+'
Dans VS Code, utilisez l'interface graphique pour ajouter, committer et pousser vos changements:
- Cliquez sur l'icône "Source Control" dans la barre latérale
- Ajoutez vos changements en cliquant sur le signe "+"
- Commitez vos changements en saisissant un message de commit
- Poussez vos changements en cliquant sur l'icône "Push"
Ajout de captures d'écran dans la PR Feedback
- Allez sur GitHub dans votre dépôt
- Cliquez sur "Pull requests" > Ouvrir une pull request "Feedback"
-
Ajoutez un commentaire dans la PR avec le texte suivant :
-
Ajoutez vos captures d'écran en glissant-déposant les images dans le champ de description
- Cliquez sur "Create pull request"
- N'oubliez pas : Ne cliquez PAS sur "Merge pull request" !
Captures d'écran à inclure dans votre PR
- Vue d'ensemble de la galerie (grille complète)
- Effet hover sur une image
- Modal ouverte avec image agrandie
- Vue responsive sur mobile/tablette
13. Evaluation¶
Pour lancer l'évaluation automatique, créez une "tag" sur votre branche main avec le nom exercice5 et poussez-la sur GitHub.
Voir Classroom50
Vous trouverez un exemple de commande pour créer la "tag" dans la page du devoir du TP (Assignment) sur Classroom50.
Soumission du compte rendu
N'oubliez pas de soumettre votre compte rendu sur Classroom50 pour que votre travail soit évalué. une fois terminé la correction des exercices (Voir les détails de l'autograder sur Classroom50 puis consulter les résultats "▶ Failure details"), Utilisez la commande de classroom50 pour soumettre votre travail :