Un cap pour ce chapitre
Ce que vous saurez faire
- Identifier les composants graphiques d’une page Web
- Distinguer structure HTML et présentation CSS
- Relier une règle de présentation aux éléments qu’elle cible
Les notions nécessaires sont introduites dans cette ressource.
HTML décrit des éléments et leurs relations
Le langage HTML organise un document avec des éléments imbriqués : titres, paragraphes, listes, liens, images, champs de formulaire et boutons. Une balise ouvrante et une balise fermante entourent souvent un contenu, comme <p>Un paragraphe</p>. Les attributs précisent des informations, par exemple href pour la destination d’un lien. L’ordre et l’imbrication forment une structure que le navigateur interprète. Les titres donnent une hiérarchie au contenu ; ils ne devraient pas être choisis uniquement pour leur taille visuelle. Cette structure peut aussi être utilisée par des technologies d’assistance.
Un navigateur peut corriger certaines erreurs de balisage, ce qui ne rend pas la structure écrite correcte. Lire l’arbre réellement obtenu aide à comprendre une imbrication inattendue. La hiérarchie des éléments exprime leurs relations et reste utile même lorsque les styles sont désactivés.
Les composants ont un rôle et un nom
Un lien sert à rejoindre une destination ; un bouton déclenche une action. Un champ input reçoit une valeur, et un label lui associe une étiquette compréhensible. Une image peut recevoir un texte alternatif qui transmet son rôle lorsqu’elle n’est pas vue. Ces choix facilitent l’usage au clavier et la compréhension de l’interface. Simuler un bouton avec un élément sans sémantique oblige à reconstruire des comportements déjà fournis par un vrai bouton. En Première, identifier ces composants aide à relier leur description aux événements qu’un programme pourra ensuite traiter.
Dans cet extrait, le lien mène à une section du même document. Le titre décrit la ressource et le bouton déclencherait une action à programmer. Les deux contrôles ont donc des rôles différents, même si CSS leur donne ensuite une apparence proche.
<article class="carte">
<h2>Découvrir les tableaux</h2>
<p>Des cases, des indices et des valeurs.</p>
<a href="#exercices">Aller aux exercices</a>
<button type="button">Réinitialiser une activité</button>
</article>
<section id="exercices">
<h2>Exercices sur les tableaux</h2>
<p>Les énoncés seront présentés ici.</p>
</section>Une étiquette visible doit être reliée au champ qu’elle décrit. L’attribut for du label reprend l’identifiant du champ. Deux champs ayant le même identifiant rendent cette association ambiguë. Un simple texte voisin peut paraître clair visuellement tout en perdant ce lien programmatique.
CSS choisit la présentation
Une règle CSS possède un sélecteur et des déclarations. Le sélecteur .carte vise les éléments portant la classe carte ; color définit une couleur de texte, tandis que padding ajoute un espace intérieur. HTML peut ainsi garder la même structure pendant que CSS adapte les couleurs, les dimensions et la disposition. Une classe peut être partagée par plusieurs éléments, alors qu’un identifiant doit rester unique dans le document. L’apparence finale résulte de plusieurs règles possibles : il faut examiner celles qui s’appliquent réellement au composant étudié plutôt que modifier une propriété au hasard.
Une classe décrit souvent un rôle de présentation partagé, tandis qu’un identifiant repère un élément unique. Le sélecteur .carte vise une classe ; #exercices vise un identifiant. Ces notations se ressemblent mais ne sélectionnent pas le même ensemble d’éléments.
Adapter l’interface à l’espace disponible
Une disposition à deux colonnes sur un grand écran peut devenir illisible sur un téléphone. Une requête de média CSS permet d’appliquer une autre règle lorsque la largeur franchit un seuil. Cela ne change pas nécessairement le contenu HTML : les mêmes cartes sont présentées dans un ordre cohérent avec moins de colonnes. La lisibilité dépend aussi de la taille du texte, du contraste, des espaces et de la possibilité d’utiliser les contrôles sans précision excessive. Une page doit être examinée à plusieurs largeurs, avec des textes longs et au clavier, pas uniquement avec une capture idéale.
Le seuil de l’atelier inclut exactement six cents pixels. À cette largeur, la règle à une colonne s’applique. Juste au-dessus, deux colonnes réapparaissent. Vérifier la frontière permet de relier une règle de média à la même rigueur que les conditions étudiées en Python.
Relier structure, style et comportement sur un contrôle
Un formulaire contient un champ de prénom et un bouton de validation. HTML décrit le champ, son étiquette et le bouton. CSS peut disposer ces éléments verticalement sur une petite largeur. Un gestionnaire d’événement peut vérifier une saisie, mais le bouton natif possède déjà des comportements d’activation attendus.
Si le texte du bouton est illisible, on examine la présentation. Si le label pointe vers le mauvais champ, on corrige la structure. Si une action de calcul n’est jamais exécutée, on examine le gestionnaire. Cette séparation permet de chercher la cause à partir du symptôme, sans supposer que tout défaut visuel vient du même langage.
Calculer une disposition avant de l’afficher
Pour deux cartes de même largeur séparées par vingt pixels dans un conteneur de six cent vingt pixels, il reste six cents pixels à partager, donc trois cents par carte. À six cents pixels avec la règle responsive de l’atelier, une seule carte occupe toute la largeur et les quatre cartes se répartissent sur quatre lignes.
Ce modèle ne comporte ni bordure ni marge intérieure. Dans une page réelle, ces dimensions peuvent aussi compter selon les règles CSS utilisées. Un calcul de largeur doit donc annoncer les espacements inclus. Le nombre de cartes et leur ordre de lecture peuvent rester identiques pendant que leur disposition change.
À vous de faire varier les choses
Quand deux colonnes deviennent-elles trop étroites ?
Changez la largeur et activez la règle responsive. Le modèle comporte quatre cartes, sans marge intérieure, avec un espace de 20 pixels entre colonnes.
Lire le résultat de l’expérience initiale
2 colonne(s), cartes de 340 pixels
La structure conserve quatre cartes. Seule la disposition change. Le modèle isole le calcul des largeurs ; les besoins réels dépendent du contenu.
| Carte | Ligne | Colonne | Largeur |
|---|---|---|---|
| 1 | 1 | 1 | 340 |
| 2 | 1 | 2 | 340 |
| 3 | 2 | 1 | 340 |
| 4 | 2 | 2 | 340 |
Le contenu HTML peut rester identique tandis que les règles CSS réorganisent l’espace pour préserver la lecture.
De la compréhension à l’autonomie
À vous de résoudre
Cherchez d’abord par vous-même. Vérifiez les résultats demandés, utilisez les indices si nécessaire, puis comparez votre méthode à la correction.
Identifier les rôles
Une page doit ouvrir une fiche, envoyer un formulaire et demander un prénom. Quels composants HTML correspondent à ces trois besoins ?
Indice 1
Distinguez navigation, action et saisie.
Indice 2
Le champ doit aussi posséder une étiquette.
Comprendre la correction
Un lien avec une destination convient pour ouvrir la fiche. Un bouton de soumission convient pour envoyer le formulaire. Un champ de texte associé à un label convient pour le prénom. Le choix du composant annonce son rôle et apporte des comportements attendus au navigateur et aux utilisateurs.
Lire un sélecteur
Une règle .important { color: red; } est présente. Quels éléments vise-t-elle, et pourquoi le texte ne devient-il pas automatiquement un titre ?
Indice 1
Le point désigne une classe CSS.
Indice 2
La couleur change la présentation, pas la structure HTML.
Comprendre la correction
La règle vise les éléments qui portent la classe important. Elle rend leur texte rouge si aucune règle prioritaire ne l’emporte. Elle ne transforme pas un paragraphe en titre : la sémantique reste donnée par l’élément HTML. Un titre doit être décrit comme tel indépendamment de sa couleur.
Un faux bouton
Un élève utilise un paragraphe avec un fond vert pour déclencher une action au clic. Pourquoi l’apparence ne suffit-elle pas ?
Indice 1
Un contrôle doit aussi fonctionner au clavier.
Indice 2
Le navigateur connaît déjà le comportement d’un véritable bouton.
Comprendre la correction
Un paragraphe coloré ressemble à un bouton mais ne possède pas automatiquement son rôle ni ses interactions au clavier. Il faut privilégier un élément button pour une action. Ajouter une couleur et un gestionnaire de clic ne garantit pas une interface utilisable ou correctement annoncée par les technologies d’assistance.
Calculer une disposition
Un conteneur de 700 pixels affiche deux cartes séparées par 20 pixels, sans autre espacement. Quelle largeur reçoit chaque carte ? Que gagne une colonne unique sur un écran étroit ?
Indice 1
Retirez d’abord l’espace entre les cartes.
Indice 2
Partagez ensuite la largeur restante.
Comprendre la correction
Chaque carte reçoit (700 - 20) / 2 = 340 pixels. Sur un écran étroit, une colonne unique permet à chaque carte d’utiliser toute la largeur disponible, ce qui réduit les lignes de texte trop courtes et les contrôles comprimés. Le seuil précis dépend du contenu, pas seulement du nom du type d’appareil.
La frontière du changement de colonnes
Quatre cartes se partagent un conteneur avec vingt pixels entre colonnes. Deux colonnes sont utilisées au-dessus de 600 pixels, une seule à 600 ou moins. Calculez largeur d’une carte et nombre de lignes pour des conteneurs de 620 puis 600 pixels.
Indice 1
Soustrayez l’espace seulement lorsqu’il y a deux colonnes.
Indice 2
Quatre cartes sur une colonne occupent quatre lignes.
Comprendre la correction
À 620 pixels, les deux cartes d’une ligne se partagent 600 pixels : chacune mesure 300 et il y a deux lignes. À 600 pixels, la règle inclusive donne une colonne : chaque carte mesure 600 et il y a quatre lignes. Les dimensions du contenu restent celles du modèle sans marges supplémentaires.
Deux champs et une étiquette ambiguë
Deux champs de texte possèdent tous deux l’identifiant prenom, et un label utilise for="prenom". Expliquez le défaut, proposez des identifiants distincts et indiquez ce qui doit changer dans les labels. Une classe CSS commune est-elle encore possible ?
Indice 1
Un identifiant doit désigner un seul élément.
Indice 2
La présentation partagée peut utiliser une classe.
Comprendre la correction
On peut nommer les champs prenom_eleve et prenom_contact, puis utiliser ces mêmes valeurs dans les attributs des labels correspondants. L’association devient explicite et unique. Les deux champs peuvent garder une même classe CSS pour leur présentation : partager une classe est permis et ne remplace pas l’identité propre de chaque champ.
Choisir le composant selon l’action
Une page propose « Lire le chapitre », « Augmenter le score » et une zone « Votre prénom ». Choisissez le composant et sa responsabilité pour chaque élément. Expliquez pourquoi colorer un paragraphe ne suffit pas pour la deuxième action et où programmer son calcul.
Indice 1
Une destination se représente par un lien.
Indice 2
Une action locale se représente par un bouton et un traitement associé.
Comprendre la correction
Lire le chapitre utilise un lien vers une destination. Augmenter le score utilise un bouton dont un gestionnaire réalise le calcul. Le prénom utilise un champ de texte et son label. Un paragraphe coloré n’acquiert pas automatiquement le rôle ni les interactions d’un bouton. HTML décrit les composants ; le calcul appartient au programme événementiel.
Les erreurs qui méritent un détour
- Choisir une balise seulement pour son apparence
- Choisissez d’abord le rôle du contenu, puis adaptez son style avec
CSS. - Tester uniquement avec un écran large
- Les textes longs, petites largeurs et interactions au clavier révèlent d’autres contraintes.
La fiche à garder
L’essentiel à retenir
HTMLdécrit la structure et les composants.CSSrègle leur présentation.- Une interface se vérifie par ses usages autant que par son apparence.
Le prochain pas
Retrouver le catalogue de Première
Ce chapitre s’appuie sur le programme officiel de Première (PDF, nouvel onglet). Les explications et exercices sont proposés pour l’apprentissage.
