dev//home/etudiant/dev/ ← Linux ou Mac
C:/Users/etudiant/dev/ ← Windows
Dans dev, on créera un dossier par cours puis par projet :
/dev/
/pwf/ ← Programmation Web : Frontend
/session_01/ ← Premier cour PWF
/session_02/
...
/session_11/ ← Dernier cour PWF
/pwb/ ← Programmation Web : Backend
/session_1/ ← Premier cour PWB
..
/session_3/ ← Dernier cour PWB
La structure est claire, consistente, previsible: faible charge mentale a la lecture
| Mauvais nom | Pourquoi éviter ? | Bon nom |
|---|---|---|
Mon site |
Espaces posent problème sur certains serveurs. | mon_site |
Site-École |
Accents non supportés partout. | site_ecole |
TP#1 |
Caractères spéciaux risqués. | tp1 |
Session 01 |
Espaces gênants. | session_1 |
Index.HTML |
Majuscules sensibles sur Linux. | index.html |
Ma Page.html |
Espaces + majuscules = double risque. | ma_page.html |
essai |
Trop vague, impossible de savoir ce que c’est. | portfolio_site |
dev/Créer un dossier global dev/
Documents ou Home), créez un dossier nommé dev/.Créer un sous-dossier pour ce cours
dev/, créez un dossier nommé pwf/ (Programmation Web : Frontend).Créer le premier dossier de séance
pwf/, créez un dossier session_01/.Ouvrir le dossier dans VS Code
session_01/.Créer un premier fichier
index.html.Tapez simplement :
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Session 1</title>
</head>
<body>
Bonjour, ceci est mon premier fichier HTML !
</body>
</html>
Ctrl + S.Afficher dans le navigateur
index.html dans votre explorateur de fichiers.Nous allons maintenant appliquer tout ce que nous avons vu à un mini-projet complet.
Vous avez 15 minutes pour préparer deux images :
ampoule_off.pngampoule_on.png
Elles doivent être de même taille et superposables.index.html<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Ampoule interactive</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<main>
<h1>Ampoule interactive</h1>
<figure>
<img id="ampoule" src="ampoule_off.png" alt="Ampoule éteinte">
<figcaption>Cliquez sur le bouton pour allumer ou éteindre la lumière.</figcaption>
</figure>
<button id="toggle" aria-pressed="false">
Allumer / Éteindre
</button>
</main>
<script src="script.js"></script>
</body>
</html>
style.cssbody {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
min-height: 100vh;
margin: 0;
font-family: Arial, sans-serif;
background: #f4f4f4;
color: #333;
}
main {
text-align: center;
}
img {
max-width: 200px;
margin-bottom: 1rem;
}
button {
padding: 10px 20px;
font-size: 1.2em;
background: #f0c420;
border: none;
border-radius: 5px;
cursor: pointer;
transition: background 0.3s ease;
}
button:hover {
background: #e0b010;
}
.on {
filter: drop-shadow(0 0 30px yellow);
transition: filter 0.3s;
}
script.jsconst ampoule = document.getElementById("ampoule");
const bouton = document.getElementById("toggle");
bouton.addEventListener("click", function() {
const eteinte = ampoule.src.includes("off");
if (eteinte) {
ampoule.src = "ampoule_on.png";
ampoule.alt = "Ampoule allumée";
bouton.setAttribute("aria-pressed", "true");
ampoule.classList.add("on");
} else {
ampoule.src = "ampoule_off.png";
ampoule.alt = "Ampoule éteinte";
bouton.setAttribute("aria-pressed", "false");
ampoule.classList.remove("on");
}
});
Pour l’instant, recopiez simplement addEventListener. Nous expliquerons plus tard ce que signifie “écouter un événement”.
Vous avez maintenant un dossier organisé comme ceci :
/dev/
/pwf/
/session_01/
index.html
Vous êtes prêt à travailler dans un environnement clair et structuré.