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.
Workflow Git
Avant de commencer cet exercice :
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
Création de la Pull Request
- Allez sur GitHub dans votre dépôt
- Cliquez sur "Compare & pull request"
- Titre de la PR :
feat(exercice-5): galerie d'images interactive -
Remplissez la description de la PR :
-
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