Afficher une image
Rendre l’interface plus visuelle et moderne avec une image d’illustration

Notions théoriques
Pourquoi ajouter une image ?
Les images permettent de :
- Rendre le quiz plus attrayant
- Mieux illustrer certaines notions de cybersécurité (ex. : phishing, ransomware)
- Stimuler la mémorisation visuelle
Où placer l’image à l'écran ?
Nous allons afficher l’image à gauche de la question, dans la carte déjà utilisée par les élèves.
Cela donnera une interface plus équilibrée :
| Colonne gauche | Colonne droite |
|---|---|
| Image | Texte + Réponses |
Où stocker les images dans le projet ?
3 solutions sont possibles pour stocker les images
- Dans Supabase (via le Storage intégré)
- Dans le dossier
/publicde votre projet Next.js (solution simple pour débuter) - Depuis une URL externe (attention à la fiabilité du lien)
Dans cette séance, nous allons utiliser la méthode la plus simple : stocker les images localement dans le dossier /public/images.
Pour cette séance, nous allons stocker les images localement dans le dossier /public/images.
Ce dossier est accessible directement depuis le navigateur :
- Exemple :
/images/phishing.pngsera visible à l’adressehttp://localhost:3000/images/phishing.png
Où trouver des images gratuites ?
Pour illustrer une question sur le phishing, nous allons télécharger une image libre de droits représentant une tentative d’hameçonnage (phishing email).
Étape 1 — Trouver des images sur un site libre de droits
Voici 2 possibilités fiables :
-
Unsplash
Rechercher :phishing,cybersecurity,hacker,email fraudExemple de lien : https://unsplash.com/s/photos/phishing
-
Pixabay
Rechercher :phishing,cyber attack,cybersecurityExemple de lien : https://pixabay.com/images/search/phishing/
Étape 2 — Télécharger des images
Prenons un exemple concret sur Pixabay :
- Rendez-vous sur : https://pixabay.com/vectors/phishing-fraud-hacking-online-fraud-6926470/

- Cliquez sur le bouton Download
- Choisissez une taille raisonnable (ex. : 640×457 PNG 44 kB)
- Cliquez sur le bouton Download
Étape 3 — Enregistrer les images dans votre projet
- Renommez l’image téléchargée en
phishing.png - Placez-la dans le dossier
/public/imagesde votre projet Next.js :
/public/images/phishing.png
Si le dossier /public/images n’existe pas, créez le dossier /images dans /public.

Étape 4 — Vérifier que les images fonctionnent
Lancez votre serveur local (npm run dev) et ouvrez cette URL dans votre navigateur :
http://localhost:3000/images/phishing.png

Trouvez, téléchargez et enregistrez des images pour vos autres questions.
Veillez à respecter les droits d’auteur et à utiliser des images libres de droits.
Le composant <Image />
Next.js propose un composant optimisé pour afficher les images :
import Image from 'next/image';
<Image
src="/images/phishing.png"
alt="Illustration"
width={300}
height={200}
/>
Disposition en 2 colonnes
Nous allons utiliser Flexbox avec Tailwind CSS pour afficher l’image à gauche et le texte à droite :
<div className="flex">
<div className="w-1/2">Image</div>
<div className="w-1/2">Texte + Réponses</div>
</div>
TP pour réfléchir et résoudre des problèmes
Nous allons modifier l’application Quiz Cyber pour :
- Ajouter une image à une question
- Afficher cette image à gauche de la carte
- Respecter les droits d’auteur (nom de l’auteur et lien vers la source)
- Utiliser les composants
Image,Card,Alert, etc.
Avant de commencer, pensez à créer une nouvelle branche Git !