ISN Chapitre 1 HTML/CSS

Crédits

Une partie de la structure css/js a été réalisée par Nicolas Buyle-Bodin professeur au lycée Lacassagne, avec l'aide de Jean-Manuel Mény, professeur au lycée de la plaine de l'Ain. Ils ont travaillé pendant plusieurs centaines d'heures pour créer un site de formation à destination des enseignants du secondaire de l'académie de Lyon d'une grande qualité visible sur le portail Mathématiques du site académique. Ils ont eu la gentillesse de placer leur code source sous licence Creative Commons BY-NC-SA Respect de la Paternité - Pas d'utilisation commerciale - Partage des conditions initiales à l'identique..

Nous les en remercions chaleureusement.

Ce document est placé de même sous licence Creative Commons BY-NC-SA Respect de la Paternité - Pas d'utilisation commerciale - Partage des conditions initiales à l'identique..

Langage HTML

Les bases du langage HTML

Pour commencer, visionner la vidéo ci-dessous qui présente les fondements du langage HTML. Elle est aussi disponible en lienmini page 62 du manuel Delagrave.

Source : HTML contenus, structure, liens from Université Lille SHS on Vimeo.

Une page Web est écrite en langage HTML, acronyme de Hypertext Markup Language, qui est un langage de description de document créé par Tim Berners-Lee pour relier des documents sur le réseau mondial Internet à l'aide de liens hypertextes.

Le langage HTML est normalisé par le consortium W3C, qui définit les standards du Web, ainsi une page Web codée en HTML peut être affichée dans un navigateur récent (supportant les derniers standards) sur n'importe quelle machine.

Le code source en HTML est écrit dans un fichier texte qu'on peut éditer avec un logiciel éditeur de texte comme Notepad++ ou un éditeur spécialisé comme Brackets ou geany. Ce fichier texte est envoyé par le serveur au client dont le logiciel navigateur interprète le code et génère l'affichage.

Dans un navigateur, on peut obtenir le code source d'une page Web :

  • avec la combinaison de touches CTRL + U ou en cliquant sur le bouton droit de la souris à un endroit quelconque de la page avant de sélectionner Voir le code source ;
  • avec l'inspecteur disponible dans la fenêtre d'outils de développement accessible après appui sur la touche F12 ; on peut aussi inspecter un élément sélectionné avec la souris.

En HTML, un lien hypertexte s'écrit <a href="https://fr.wikipedia.org/wiki/Tim_Berners-Lee"> Tim Berners-Lee </a> : le texte du lien est entouré d'une balise ouvrante <a href="https://fr.wikipedia.org/wiki/Tim_Berners-Lee"> et d'une balise fermante </a>.

Un document HTML possède une structure arborescente définie par l'imbrication des différentes balises. Voici un document HTML de structure minimale. Ce document peut être téléchargé par ce lien de téléchargement :

  	
<!DOCTYPE html> 

<html lang="fr">

<head> 
<meta charset="UTF-8">
<meta name="author" content="Frederic JUNIER" > 
<title>Titre de la page - Lisible sur l'onglet du navigateur</title>
</head> 

<body> 

<h1>Le langage HTML </h1> 
<p> 
Il est <strong>important</strong> de respecter l'imbrication
des balises en <a href="https://fr.wikipedia.org/wiki/Hypertext_Markup_Language">HTML</a>.


Les saut de ligne précédents  figurent dans le fichier source mais ne sont pas affichés. <br>
Le dernier saut de ligne était marqué par une balise et il est affiché.
</p>
<p> Un autre paragraphe. </p>

<!-- Fermeture du corps de page, ceci est un commentaire-->
</body> 
</html>
  	
  
Voici l'affichage obtenu : Et voici la structure arborescente du document :

Détaillons cette structure de base :

  • La première balise est toujours <!DOCTYPE html>, elle indique qu'il s'agit d'un fichier écrit en HTML.
  • Ensuite, on trouve la balise balise ouvrante <html> qui est la racine du document. Elle correspond à une balise fermante </html> qui termine obligatoirement le document.
  • A l'intérieur de la racine <html>, on a forcément un en-tête, délimité par la balise ouvrante <head> et la balise fermante </head>.
    Dans l'en-tête, sont placées des informations qui ne seront pas affichées par le navigateur. Le titre, affiché dans l'onglet, est inséré entre la balise ouvrante <title> et la balise fermante </title>.
    L'encodage des caractères, l'auteur, mes mots clefs pour les robots d'indexation sont insérés dans des balises <meta>. Dans Firefox, on peut lire ces metainformations, avec un clic droit puis en choisissant Informations sur la page.
  • On remarque qu'il existe deux types de balises :
    • Des balises comme <head> constituées d'une balise ouvrante et d'une balise fermante, elles s'utilisent comme des parenthèses et peuvent être imbriquées. Une mauvaise imbrication de balises constitue une des erreurs de syntaxe les plus courantes.
      • Des balises bien imbriquées : <a> ... <b> ... </b> ... </a>
      • Des balises mal imbriquées : <a> ... <b> ... </a> ... </b>
    • Des balises de type marqueur comme <meta>, qui s'utilisent toutes seules.
  • Dans la racine <html>, après l'en-tête <head>, le contenu affiché par le navigateur va se trouver dans le corps du document, délimité par la balise ouvrante <body> et la balise fermante </body>.
  • Parmi les éléments les plus courants, qui structurent le corps du document, on trouve des balises de type bloc qui se superposent avec un saut de ligne par défaut entre deux blocs:
    • Les paragraphes délimités par une balise ouvrante <p> et une balise fermante </p>.
    • Les titres délimités par une balise ouvrante <h1> et une balise fermante </h1>.
  • A l'intérieur d'une balise de type bloc, comme un paragraphe, on peut insérer des balises de type en-ligne qui ne sont pas suivies de saut de ligne et peuvent se juxtaposer sur la même ligne.
    • Un lien hypertexte est inséré avec une balise <a> dont l'attribut href doit être renseigné avec une chaîne de caractères entre guillemets correspondant à l'URL de la ressource liée.
    • Pour signaler un terme important, on peut le placer entre une balise ouvrante <strong> et une balise fermante </strong>.
  • Dans un document HTML, Les indentations ainsi que les commentaires ne sont pas obligatoires (ils ne sont pas interprétés par le navigateur), mais ils permettent de mieux se repérer dans le fichier source. Par ailleurs les sauts de ligne dans le fichier source ne sont pas interprétés par le navigateur. Pour effectuer un saut de ligne, on utilise soit une balise de type bloc comme un paragraphe <p> ou la balise <br> de type marqueur.

Remettre les balises dans l'ordre

chambre Corriger les erreurs de syntaxe et d'imbrication de balises dans le code ci-dessous pour obtenir l'affichage précédent.

Code HTML possible

Voir

Cliquer dans l'encadré pour afficher le code.

Exemple d'affichage

Voir

Balises de mise en forme

Voici quelques exemples de balises de mise en forme.

Sémantique Syntaxe Affichage
Paragraphe <p>Paragraphe 1</p> <p>Paragraphe 2</p>

Paragraphe 1

Paragraphe 2

Titre de niveau 1 <h1>Titre</h1>

Titre

Titre de niveau 2 (il existe six niveaux de titre de 1 à 6 par ordre décroissant d'importance) <h2>Titre</h2>

Titre

Texte important (en gras par défaut) <strong>Texte</strong> Texte
Texte particulier (en italique par défaut) <em>Texte</em> Texte
Insertion d'un lien hypertexte à partir de son URL <a href="https://interstices.info/un-moteur-de-recherche-pour-le-meilleur-et-pour-le-pire/"> Lien </a> Lien
Insertion d'une image à partir de son URL <img src="https://upload.wikimedia.org/wikipedia/commons/a/af/Tux.png" alt="image absente"> Tux

Mise en forme du texte et insertion d'hyperliens dans une page HTML

moteur de recherche
  • Dans le bac à sable ci-dessous, écrire un code HTML qui permet d'obtenir le même affichage que ci-dessus (cliquer sur l'image pour l'agrandir). Les URL des liens hypertextes et de l'image sont dans l'ordre :
    • https://interstices.info/un-moteur-de-recherche-pour-le-meilleur-et-pour-le-pire/
    • https://interstices.info/wp-content/uploads/jalios/democratie/schema-index2.jpg
    • https://fr.wikipedia.org/wiki/Fake_news
    • https://www.lemonde.fr/verification/
    • https://www.liberation.fr/desintox
  • Lorsque le résultat est correct, créer un fichier de texte exercice2.html avec Notepad++ puis copier le code dans le fichier et l'enregistrer dans un dossier pertinent de son espace personnel sur le réseau pédagogique.

Listes non ordonnées <ul>

Une liste non ordonnée ou liste à puces est délimitée par une balise ouvrante <ul> et une balise fermante </ul>.

Entre ces balises, on insère chaque item de la liste entre une balise ouvrante <li> et une balise fermante </li>.

On peut paramétrer les symboles précédant les items, voir la page listes de w3schools.

Listes ordonnées <ol>

Une liste ordonnée est délimitée par une balise ouvrante <ol> et une balise fermante </ol>.

Comme pour les listes non ordonnées, on insère entre ces balises chaque item de la liste entre une balise ouvrante <li> et une balise fermante </li>.

On peut paramétrer les symboles précédant les items, voir la page listes de w3schools.

Insertion de listes dans une page HTML

  • Dans le bac à sable ci-dessous, écrire un code HTML qui permet d'obtenir le même affichage que ci-dessus. Les URL des liens hypertextes et de l'image sont les mêmes que dans l'exercice 2. Cliquer sur l'image pour l'agrandir
  • Lorsque le résultat est correct, créer un fichier de texte exercice3.html avec Notepad++ puis copier le code dans le fichier et l'enregistrer dans un dossier pertinent de son espace personnel sur le réseau pédagogique.

Langage CSS

Les bases du langage CSS

Pour commencer, visionner la vidéo ci-dessous qui présente les fondements du langage CSS. Elle est aussi disponible en lienmini page 62 du manuel Delagrave.

Source : 4.3 Mise en forme S3 from Université Lille SHS on Vimeo.

Le CSS pour Cascading Style Sheets est le langage qui permet de gérer l'apparence et le positionnement des éléments HTML d'une page web:

  • l'apparence : : la couleur, l'épaisseur et le style du trait, l'encadrement ...
  • le positionnement : : l'organisation des blocs dans la page ...

Le langage CSS est normalisé par le consortium W3C, qui définit les standards du Web, ainsi une page Web codée en HTML/CSS peut être affichée dans un navigateur récent (supportant les derniers standards) sur n'importe quelle machine.

Le

Sur cette page du site W3schools, on trouvera une démonstration de la puissance du CSS pour modifier l'apparence d'une même page HTML. Une démonstration similaire est disponible sur csszengarden

Un fichier texte au format CSS est un ensemble de blocs de déclaration de style qui s'appliquent un sélecteur selon la syntaxe suivante :

selecteur

Un fichier au format CSS s'appelle aussi une feuille de style.

Chaque bloc de déclaration de style délimite par des accolades, une ou plusieurs déclarations de styles de la forme propriete : valeur ; . Il ne faut pas oublier les deux points : pour séparer propriété et valeur et le point virgule pour terminer chaque déclaration de style.

Les propriétés CSS étant très nombreuses, on s'appuie sur des sites comme W3schools.

Avec le navigateur Firefox, on peut afficher dans une fenêtre de développement le style d'un élément de la page en le sélectionnant puis en choisissant Examiner cet élément. On peut aussi ouvrir la fenêtre de développement avec F12. Pour cet élément Firefox on pourrait observer la déclaration de style :

	
strong {
	text-decoration: none;
	font-weight: bold;
	color: #212529;
}

/* Ceci est commentaire en CSS
On peut l'écrire sur plusieurs lignes
*/

On peut insérer des commentaires multilignes dans un fichier CSS, ils sont délimités par les caractères /* et */ (voir ci-dessus).

Si on inspecte l'élément Firefox avec l'inspecteur, on observe des règles plus complexes car certaines sont héritées de ses éléments parents dans la structure HTML du document. Du fait de cette propriété d'héritage on parle de feuille de styles en cascades.

examiner element

Le langage CSS permet d'attribuer des propriétés à des éléments HTML mais il permet aussi de combiner les sélecteurs avec des opérateurs pour cibler finement les éléments. La page CSS Diner propose d'apprendre les opérateurs sur les sélecteurs CSS de façon ludique.

Une bonne pratique est de regrouper toutes les déclarations CSS associées à une page HTML dans fichier externe, par exemple mystyle.css qui est lié à la page HTML par l'insertion dans celle-ci d'une balise <link> dans la balise d'en-tête <head> du fichier HTML. L'attribut href prend pour valeur l'URL de la feuille de style CSS. On parle de feuille de style externe.


<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head> 


Jouer avec les propriétés CSS

On considère la page Web définie par les codes HTML et CSS ci-dessous.

Associer une feuille de style CSS à un document HTML

  • Dans le bac à sable ci-dessous, recopier le code HTML définissant la page de l'exercice 3 puis compléter le code CSS pour obtenir l'affichage ci-dessus.
  • Lorsque le résultat est correct, créer un fichier de texte style_exercice3.css avec Notepad++, copier le code CSS dans le fichier et l'enregistrer dans le même dossier que exercice3.html. Ensuite, insérer une balise <link rel="stylesheet" type="text/css" href="style_exercice3.css"> dans la balise <head> de exercice3.html et enregistrer.
    Vérifier qu'en ouvrant exercice3.html avec un navigateur, les déclarations de style sont bien prises en compte.