Construis ta page de présentation
Sept étapes, d'un dossier vide à une page finie. Les durées sont indicatives, elles servent à repérer quand tu t'enlises, pas à te mettre la pression.
Coche au fur et à mesure
Chaque étape se termine par des critères « comment tu sais que c'est bon ». Coche-les quand tu les as vraiment vérifiés : ils restent enregistrés dans ce navigateur, et ils donnent à ton encadrant un point de départ quand il passe.
Mise en place
30 minObjectif : afficher dans ton navigateur une page qui contient un mot, écrit par toi.
À faire
- Crée un dossier
MaPremierePageWebà un endroit que tu retrouveras. - Ouvre ce dossier dans VS Code (menu Fichier → Ouvrir le dossier).
- Crée dedans un fichier nommé
index.html. Attention à l'extension : ce doit être.html, pas.txt. - Écris un mot dedans, n'importe lequel, et enregistre (Ctrl+S).
- Ouvre le fichier dans ton navigateur : double-clic dessus depuis l'explorateur de fichiers.
- Appuie sur F12 pour ouvrir les outils de développement. Regarde les onglets « Éléments » et « Console » : tu y reviendras toute la journée.
Pourquoi index.html et pas page.html ?
Par convention, un serveur web qui reçoit une demande sans nom de
fichier sert celui qui s'appelle index. C'est pour ça que
linov.fr et linov.fr/index.html affichent la
même page. Ce n'est pas une règle du langage : c'est une convention que
tout le monde respecte.
Comment tu sais que c'est bon
Ressources
Le squelette d'une page web
30 minObjectif : comprendre les quelques lignes qu'on retrouve en haut de toutes les pages web du monde.
Ces lignes-là, on te les donne : ce sont des conventions, pas quelque chose qui se devine. En revanche, tape-les à la main plutôt que de les copier-coller : c'est comme ça qu'elles rentrent.
Le squelette minimal
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ma présentation</title>
</head>
<body>
<!-- Tout ton contenu viendra ici -->
</body>
</html>
Ce que tu dois pouvoir expliquer
Cherche chacun de ces éléments, c'est le vrai travail de cette étape :
- À quoi sert
<!DOCTYPE html>? - Que change
lang="fr"? (indice : pense aux traducteurs automatiques et aux lecteurs d'écran) - Quelle est la différence entre le
<head>et le<body>? Lequel se voit dans la page ? - Que se passe-t-il si tu enlèves
<meta charset="UTF-8">et que ton texte contient des accents ? Essaie, c'est spectaculaire. - Où s'affiche le contenu de
<title>?
La notion la plus importante de la journée
Une balise s'ouvre (<p>) et se ferme
(</p>), et ce qu'il y a entre les deux, c'est son
contenu. Les balises s'emboîtent comme des poupées russes : celle qu'on
ouvre en dernier se ferme en premier. La quasi-totalité des bugs HTML de
débutant viennent d'une balise mal fermée ou mal emboîtée.
Comment tu sais que c'est bon
Ressources
Ton contenu, avec les bonnes balises
1 h 15Objectif : toute ta page, en HTML seulement. Ce sera moche. C'est normal et c'est voulu : le CSS viendra à l'étape 3.
À faire
Écris, dans le <body>, le contenu suivant :
- Un titre principal de page
- Ton prénom et ton nom, en sous-titre
- Une phrase qui te décrit, ou une devise
- Une image : ton avatar (voir plus bas) ou une photo
- Une section « À propos de moi » avec un paragraphe
- Une section « Mes centres d'intérêt » avec une liste
- Une citation qui te plaît, avec son auteur
- Un lien vers un site que tu aimes, qui s'ouvre dans un nouvel onglet
Un avatar en une ligne, sans rien installer
Le service DiceBear génère une image à partir d'un mot de ton choix.
Remplace tonprenom par ce que tu veux et ouvre l'adresse
dans ton navigateur pour voir le résultat :
https://api.dicebear.com/9.x/avataaars/svg?seed=tonprenom
Tu peux remplacer avataaars par bottts,
identicon ou pixel-art. Cette adresse est
celle que tu mettras dans ton image.
Les questions qui font la différence
N'importe qui peut mettre du texte à l'écran. Un développeur choisit quelle balise l'entoure, et c'est ce choix qu'on regardera :
- Combien de
<h1>doit-il y avoir dans une page, et pourquoi ? - Quelle est la différence entre
<ul>et<ol>? Laquelle convient à des centres d'intérêt ? - Une image a un attribut
alt. À quoi sert-il ? Que doit-on y écrire, et que ne doit-on pas y écrire ? - Pourquoi utiliser
<blockquote>pour une citation, plutôt qu'un paragraphe en italique ? - Quel attribut fait qu'un lien s'ouvre dans un nouvel onglet ? Et pourquoi lui ajoute-t-on presque toujours
rel="noopener"?
Rappel : tes vraies infos, mais pas toutes
Pas de numéro de téléphone, pas d'adresse postale, pas de date de naissance complète. On ne publie que ce qu'on accepterait de voir affiché dans la rue.
Je suis bloqué·e depuis plus de 30 minutes : montrez-moi un exemple
Voici une page d'exemple complète. Trois consignes si tu t'en sers : retape-la à la main (ne copie-colle pas), remplace tout le contenu par le tien, et cherche chaque balise que tu ne connais pas avant de passer à la suite. Sinon tu auras une page, mais pas une compétence.
<h1>Ma présentation</h1>
<h2>Prénom Nom</h2>
<p><em>« Toujours curieux et prêt à apprendre ! »</em></p>
<img src="https://api.dicebear.com/9.x/avataaars/svg?seed=monavatar"
alt="Mon avatar" width="150">
<h3>À propos de moi</h3>
<p>
Je suis passionné(e) par le web et la technologie.
J'aime découvrir de nouvelles choses et créer des sites internet.
</p>
<h3>Mes centres d'intérêt</h3>
<ul>
<li>Jeux vidéo</li>
<li>Musique</li>
<li>Sport</li>
</ul>
<blockquote>
« Le succès, c'est tomber sept fois, se relever huit. » (proverbe japonais)
</blockquote>
<p>
<a href="https://www.youtube.com/" target="_blank" rel="noopener">
Une vidéo que j'aime
</a>
</p>
Comment tu sais que c'est bon
Ressources
Brancher le CSS
30 minObjectif : une seule chose, mais elle est cruciale. Il faut que ton fichier CSS soit bien lu par ta page.
À faire
- Crée un fichier
style.cssdans le même dossier que tonindex.html. - Écris-y une seule règle : mets un fond de couleur bien visible sur toute la page (du rouge vif, par exemple, c'est temporaire).
- Dans le
<head>de ton HTML, ajoute la balise qui relie la feuille de style. Cherche « lier une feuille de style CSS » : c'est une ligne, avec deux attributs. - Recharge la page. Si le fond est rouge, la liaison fonctionne. Sinon, elle ne fonctionne pas, et tu dois régler ça avant d'écrire une ligne de CSS de plus.
Ne passe pas à la suite tant que le fond n'a pas changé
C'est l'erreur la plus fréquente des premières heures : écrire trente lignes de CSS magnifiques… dans un fichier que la page ne lit pas. Le test du fond rouge prend dix secondes et t'en fait gagner une heure.
Si ça ne marche pas : le nom du fichier est-il exactement celui écrit dans le HTML, majuscules comprises ? Est-il bien dans le même dossier ? L'onglet « Réseau » des outils de développement (F12) affiche-t-il une ligne rouge ?
Comment tu sais que c'est bon
Ressources
Mettre en forme
1 hObjectif : une page agréable à lire. Pas une page spectaculaire.
À faire
Dans l'ordre, du plus utile au plus décoratif :
- Change la police et la couleur du texte de toute la page.
- Donne au contenu une largeur maximale et centre-le dans la fenêtre : un texte qui court sur 2 000 pixels est illisible.
- Ajoute de l'espace : à l'intérieur du bloc, et autour.
- Donne une couleur à tes titres, différente du texte courant.
- Rends ton image ronde, et centre-la.
- Mets ta citation en valeur : italique, couleur plus douce, et un trait vertical à gauche.
- Enlève le soulignement de tes liens, et fais-le réapparaître au survol.
Les questions à te poser
- Comment vise-t-on tous les paragraphes d'un coup ? Et un seul élément précis ?
- Quelle est la différence entre
marginetpadding? (fais le test : mets un fond de couleur sur un bloc, puis change l'un puis l'autre) - Comment centre-t-on un bloc horizontalement ? Ce n'est pas
text-align. - Comment fait-on un carré parfaitement rond avec
border-radius? - Qu'est-ce que
:hover, et à quoi d'autre pourrait-il servir ?
Je suis bloqué·e depuis plus de 30 minutes : montrez-moi un exemple
Mêmes consignes qu'à l'étape 2 : retape à la main, change toutes les valeurs (les couleurs surtout), et cherche chaque propriété inconnue sur MDN. Une page identique à cet exemple sera considérée comme non faite.
/* Style global */
body {
font-family: Arial, sans-serif;
background-color: #f0f4f8;
color: #333;
max-width: 700px;
margin: 40px auto;
padding: 20px;
border-radius: 15px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
/* Titres */
h1 {
text-align: center;
color: #0066cc;
}
h2 {
color: #444;
}
/* Image */
img {
display: block;
margin: 10px auto;
border-radius: 50%;
}
/* Liste */
ul {
list-style-type: square;
padding-left: 20px;
}
/* Citation */
blockquote {
font-style: italic;
color: #555;
border-left: 4px solid #0066cc;
padding-left: 10px;
}
/* Lien */
a {
color: #0099cc;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
Comment tu sais que c'est bon
Ressources
Personnaliser
45 minObjectif : que la page te ressemble, et que plus personne ne puisse la confondre avec celle du voisin.
À faire · choisis-en au moins quatre
- Change le titre affiché dans l'onglet du navigateur.
- Ajoute un fond coloré derrière tes titres, avec un peu d'espace autour du texte pour que ce soit lisible.
- Change la taille de ton image, ou rends-la carrée à coins arrondis plutôt que ronde.
- Ajoute une bordure arrondie autour du bloc principal.
- Ajoute une nouvelle section de ton choix : « Mes objectifs », « Ce que je veux apprendre », « Mes projets »…
- Utilise une vraie police depuis Google Fonts plutôt qu'Arial.
- Ajoute une favicon : la petite icône dans l'onglet.
Un principe de mise en forme qui marche toujours
Trois couleurs maximum, deux polices maximum. Au-delà, ça part en sapin de Noël. Les sites qui ont l'air professionnels sont presque toujours ceux qui se sont le plus limités.
Comment tu sais que c'est bon
Ressources
- Google Fonts : polices gratuites, avec le code à collerfonts.google.com
- paddingMDN
- borderMDN
Relecture et vérifications
30 min, ne la saute pasObjectif : livrer quelque chose de propre. C'est la différence entre « ça marche » et « c'est fini ».
À faire
- Passe ton HTML au validateur du W3C (onglet « Validate by Direct Input », colle ton code). Corrige les erreurs. Les avertissements jaunes sont moins graves, mais lis-les.
-
Vérifie que toutes tes images ont un
altqui décrit vraiment ce qu'on voit. - Réduis la fenêtre de ton navigateur jusqu'à la largeur d'un téléphone. Le texte déborde-t-il ? L'image sort-elle du cadre ?
- Relis ton CSS : reste-t-il des essais inutiles, des couleurs de test, des règles qui ne servent plus ?
- Le test final : ouvre ton HTML, choisis cinq lignes au hasard et explique-les à voix haute. Toute ligne que tu ne sais pas expliquer est à comprendre, ou à supprimer.
Comment tu sais que c'est bon
Ressources
- Validateur HTML du W3Cw3.org
- Validateur CSS du W3Cw3.org
- Revoir la syntaxe HTMLMDN
Bonus
Si tout est fini et relu. Du plus simple au plus ambitieux : un bonus bien fait vaut mieux que trois bâclés.
1. Un menu qui saute aux sections
Ajoute en haut de page une liste de liens qui amènent directement à
chaque section. Cherche les « liens d'ancrage » et l'attribut
id.
2. Une deuxième page
Crée projets.html dans le même dossier, et fais un lien
aller-retour entre tes deux pages. Tu viens de fabriquer un site, plus
seulement une page.
3. Une mise en page en colonnes
Mets ton image et ton texte de présentation côte à côte plutôt que l'un sous l'autre. C'est le rôle de Flexbox, et Flexbox Froggy te l'apprend en jouant, en vingt minutes.
4. Vraiment responsive
Fais en sorte que ta mise en page à deux colonnes repasse à une seule colonne sur téléphone. Cherche les « media queries ».
5. Un peu de vie
Fais grossir légèrement ton image quand la souris passe dessus. Cherche
transform: scale() et transition. C'est le
premier pas vers les animations.
Quand ça ne marche pas
Ça arrivera, c'est le métier. Ce qui distingue un développeur d'un débutant, ce n'est pas de ne jamais bloquer : c'est d'avoir une méthode.
La méthode, dans l'ordre
- Explique ton problème à voix haute, comme à quelqu'un qui ne connaît pas ton projet. Ça résout un blocage sur trois avant la fin de la phrase.
- Regarde ta page dans l'onglet « Éléments » (F12) : ce que tu crois avoir écrit y est-il vraiment ?
- Change une seule chose à la fois, et recharge. Si tu changes trois choses et que ça marche, tu ne sais pas laquelle a corrigé le problème.
- Cherche sur MDN, pas sur un blog au hasard.
- Demande une explication à l'IA : pas une correction.
- Va voir ton encadrant, avec ce que tu as déjà essayé.
Les blocages classiques de cette journée
Mon CSS ne change rien
Une piste (pas la réponse)
Refais le test du fond rouge de l'étape 3. Le fichier est-il dans le même dossier ? Son nom est-il écrit exactement pareil dans le HTML, majuscules comprises ? As-tu bien enregistré (Ctrl+S) : un point apparaît dans l'onglet de VS Code tant que le fichier n'est pas sauvegardé.
Mon image ne s'affiche pas, j'ai une icône cassée
Une piste
L'adresse de l'image est-elle exacte ? Colle-la seule dans la barre d'adresse de ton navigateur : vois-tu l'image ? Si non, le problème vient de l'adresse, pas de ton HTML.
Une partie de ma page a un style bizarre, comme si ça débordait
Une piste
Une balise n'est probablement pas fermée, ou mal emboîtée : tout ce qui suit hérite alors du style de celle restée ouverte. Le validateur W3C de l'étape 6 trouve ça en deux secondes.
Mes accents s'affichent en caractères bizarres
Une piste
Tu as rencontré ça exprès à l'étape 1. Souviens-toi de la ligne que tu avais retirée.
J'ai tout cassé et je ne sais plus quoi
Une piste
Mets en commentaire la moitié de ton CSS
(/* … */), recharge : le problème est-il toujours là ? Tu
viens de diviser la zone de recherche par deux. Recommence jusqu'à
isoler la ligne coupable. C'est une technique de professionnel, et elle
marche sur n'importe quel langage.