Le Web : langages HTML & CSS
I – Bases du HTML
HTML (HyperText Markup Language) décrit la structure d’une page Web : titres, paragraphes, liens, images. Créé par Tim Berners-Lee et standardisé par le W3C.
Code minimal d’une page :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Titre onglet</title>
</head>
<body>
<h1>Titre principal</h1>
<p>Un paragraphe.</p>
</body>
</html>
Visionnage conseillé : vidéo d’intro HTML (lienmini 3389-305, Delagrave).
II – Balises et imbrication correcte
Les balises doivent être bien imbriquées :
<a> ... <b> ... </b> ... </a> ✓ correct <a> ... <b> ... </a> ... </b> ✗ incorrect
Balises autofermantes (marqueurs) : <meta>, <br>, etc.
Lien hypertexte :
<a href="https://fr.wikipedia.org/wiki/Tim_Berners-Lee">Tim Berners-Lee</a>
Accéder au code source : Ctrl+U ou clic droit > “Voir le code source” ; inspecteur : F12.
III – Paragraphes, titres, listes
- Paragraphe :
<p> ... </p> - Titres :
<h1>à<h6> - Texte important :
<strong> ... </strong> - Italique :
<em> ... </em>
Listes :
<ul> <li>item</li> </ul> <ol> <li>item</li> </ol>
IV – Structure complète d’un document HTML
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="author" content="...">
<title>Titre onglet</title>
</head>
<body>
<h1>Titre</h1>
<p>Paragraphe avec <strong>mot</strong> et <a href="https://exemple.fr">lien</a>.</p>
<!-- Commentaire -->
</body>
</html>
Respecter l’imbrication et la fermeture des balises.
V – Activité HTML : remettre en forme
Objectif : structurer un document HTML pour obtenir l’affichage cible (texte + image + liens).
- Ouvrir le bac à sable (ex. repl.it) et coller le squelette HTML.
- Ajouter les balises pour titres, paragraphes, liens, image (URL d’exemple :
https://frederic-junier.org/SNT/Theme1_Web/media/schema-index2.jpg). - Vérifier l’imbrication des balises et la présence de
hrefsur les liens. - Télécharger le projet en zip, ouvrir
index.htmlavec un navigateur et contrôler l’affichage.
<h1>Titre de l'article</h1> <p>Texte avec <strong>mot important</strong> et <a href="https://exemple.fr">lien</a>.</p> <img src="https://frederic-junier.org/SNT/Theme1_Web/media/schema-index2.jpg" alt="schéma">
VI – Listes ordonnées / non ordonnées
Transformer un texte en liste :
- Classement des moteurs de recherche : utiliser
<ol>. - Outils de vérification d’information : utiliser
<ul>.
<ol> <li>interstices.info</li> <li>wikipedia / fake news</li> <li>lemonde.fr/verification</li> <li>liberation.fr/desintox</li> </ol>
VII – Bases du CSS
Le CSS (Cascading Style Sheets) gère apparence et positionnement.
h1 { color: #0b2f8f; font-size: 1.4rem; }
p { line-height: 1.5; }
strong { font-weight: bold; }
- Sélecteur (h1), propriété (color), valeur (#0b2f8f).
- Commentaires CSS :
/* ... */ - Feuille externe :
<link rel="stylesheet" href="style.css">dans<head>.
Visionnage conseillé : vidéo intro CSS (lienmini 3389-306, Delagrave).
VIII – Atelier CSS : jouer avec les propriétés
- Changer couleurs (cf. w3schools couleurs), alignements et décorations de texte (text, font).
- Modifier polices, tailles, graisses via
font-family,font-size,font-weight. - Déplacer le style dans un fichier externe
style.csset lier avec<link>. - Tester les modifications dans le navigateur (recharger après sauvegarde).
/* Exemple dans style.css */
body { font-family: "Times New Roman", serif; }
h1 { color: #0b2f8f; text-align: center; }
p { color: #222; text-align: justify; }
IX – Outils et bonnes pratiques
- Éditeurs conseillés : Notepad++, Brackets, geany (édition texte simple).
- Voir le code source : Ctrl+U ou clic droit > Voir le code source.
- Inspecteur : F12 pour analyser l’HTML/CSS, vérifier l’imbrication et les règles appliquées.
- Normalisation : standards W3C pour HTML/CSS.
<!-- Commentaire HTML --> /* Commentaire CSS */
X – Synthèse et liens utiles
- HTML structure le contenu (balises, attributs, imbrication).
- CSS gère l’apparence (couleurs, polices, alignements) via feuilles en cascade.
- Bonnes pratiques : valider l’imbrication, séparer contenu (HTML) et style (CSS), commenter le code.
- Ressources : w3schools (HTML/CSS), capytale (activités), csszengarden (puissance du CSS), inspecteur navigateur.
XI – HTTP / HTTPS
HTTP est le protocole d’échange Web. HTTPS ajoute le chiffrement (TLS).
GET /index.html HTTP/1.1 Host: www.exemple.fr User-Agent: Navigateur HTTP/1.1 200 OK Content-Type: text/html
- Méthodes fréquentes : GET (lecture), POST (envoi de données).
- Codes : 200 OK, 301/302 redirection, 404 Not Found, 500 Erreur serveur.
- En-têtes :
Content-Type,Cache-Control,Set-Cookie.
# Exemple avec curl curl -i https://www.exemple.fr
XII – DNS : de l’URL à l’adresse IP
Le DNS résout un nom de domaine vers une adresse IP.
- Enregistrements : A/AAAA (IPv4/IPv6), CNAME (alias), MX (mail).
- TTL : durée de cache de la réponse.
- Outils :
dig exemple.fr,nslookup.
XIII – Hébergement, statique / dynamique, cache
- Site statique : fichiers HTML/CSS/JS servis tels quels.
- Site dynamique : pages générées côté serveur (ex : formulaire traité, base de données).
- CDN / cache : copies proches de l’utilisateur, entêtes
Cache-Control.
XIV – HTML : formulaires et liens
<form action="/envoyer" method="POST"> <label>Nom</label> <input type="text" name="nom" required> <label>Message</label> <textarea name="msg"></textarea> <button type="submit">Envoyer</button> </form>
- Liens relatifs :
<a href="page2.html">. Absolus :https://site.fr/page. - Images :
<img src="img/photo.jpg" alt="description">(alt = accessibilité).
XV – CSS : boîte, flex, responsive
.bloc { display: block; margin: 8px 0; padding: 8px; border: 1px solid #ccc; }
.flex { display: flex; gap: 12px; }
.col { flex: 1; }
@media (max-width: 700px) {
.flex { flex-direction: column; }
}
- Box model : margin/padding/border.
- Flex : aligner des colonnes, répartir l’espace.
- Media queries : adapter la mise en page sur mobile.
@media (max-width: 700px) ?
XVI – JS minimal : DOM et fetch
<button id="btn">Clique</button>
<script>
document.getElementById('btn').addEventListener('click', async () => {
const res = await fetch('https://api.exemple.fr/data');
const data = await res.json();
console.log(data);
});
</script>
JS côté client : manipuler le DOM, réagir aux événements, appeler des API (fetch).
XVII – Accessibilité
- Images : attribut
altdescriptif. - Formulaires :
<label>associé aux inputs. - Titres hiérarchisés (h1, h2...).
- Contrastes suffisants, focus visible.
alt est-il important ?
XVIII – Exercices
- Formulaire de contact : nom, email, message, bouton envoyer. Ajouter labels et alt sur les images.
- Page “articles” : liste d’articles avec liens (relatif/absolu), image avec alt, paragraphe descriptif.
- Flex/grid : faire deux colonnes sur desktop, une colonne sur mobile (
@media).
XIX – Mini-projet + Checklist
Mini-projet : créer une page perso responsive (photo avec alt, bio, liste de liens, formulaire de contact). Utiliser une feuille CSS externe, flex/grid, media queries.
Checklist compétences :
- Créer page HTML valide, liens relatifs/absolus, images avec alt.
- Structurer titres, paragraphes, listes, formulaires.
- Appliquer CSS (couleurs, polices, flex/grid, responsive).
- Comprendre HTTP/HTTPS, DNS, cache.
- Utiliser l’inspecteur, corriger le code, séparer HTML/CSS.
XX – Activités & Quiz
- Activités Web : exercices guidés (structure HTML, listes, CSS externe).
- Quiz Web : 5 questions + corrigé (DOCTYPE, balises, lien CSS, sélecteurs, listes).
Consulte les activités puis reviens sur le cours si besoin. Les pages sont imprimables via le bouton “Imprimer / PDF”.