Le concept actuel d'écriture des pages web est de séparer le contenu de la mise en forme de la page.
Cette séparation entre contenu et mise en forme apporte un certain nombre de bénéfices :
Une page web est entièrement décrite par un fichier HTML, qui est un simple fichier texte ( d'extension .html
), dans lequel on indique les éléments à afficher dans la page ( texte, liens, images,...).
Le navigateur lit les fichiers HTML depuis le début, de haut en bas et de gauche à droite : il faut en tenir compte pour l'affichage des divers éléments les uns par rapport aux autres...
Le langage de description utilisé ( ce n'est pas un langage "de programmation" ), le HTML ( = Hypertext Markup Language ) a été inventé en 1990, en même temps que le web, au CERN à Genève par Tim Berners-Lee.
Ce langage en est à sa version 5 actuellement.
Voici le lien vers la première page web jamais mise en ligne...
Avec le navigateur Firefox, on peut consulter le code source HTML de la page affichée : clic-droit sur la page et sélectionner Code source de la page
Vous pouvez par exemple visualiser le code source de cette page que vous êtes en train de lire...
Le fichier est structuré par des balises ( = "markups", le "m" du sigle HTML ), dont le nom apparaît dans le code encadrées par des chevrons : <nom_de_la_balise>.
<nom>
et une fermante </nom>
) encadre l'élément sur lequel elle porte :
<html> la page entière </html>
<h1> un titre </h1>
<em> un texte important </em>
Pour certaines balises cependant, seule celle ouvrante est nécessaire ( par exemple, la balise <img>
qui signale une image ).
Les balises servent à signaler au navigateur des éléments d'une page comme :
De manière plus générale, à chaque balise est associé un élément sémantique particulier, c'est à dire un élément ayant une certaine signification dans la page.
<p>Cette syntaxe est <strong>bonne</strong></p>
<p>Cette syntaxe est <strong>mauvaise</p></strong>
Par défaut, les éléments de type bloc sont affichés par le navigateur avec un saut de ligne au début et à la fin.
Exemples :
<h1>, <p>, <ul>, <table>, <pre>, <form> ...
Les éléments de type inline se placent normalement l'un à côté de l'autre ( pas de saut de ligne ).
Exemples :
<strong>, <em>, <a>, <sup>, <sub>, ...
<div>.........</div> pour les éléments de type bloc
<span>.........</span> pour les éléments de type inline
Pour écrire des pages web, il existe des logiciels, tout à fait similaires à des traitements de texte, qui permettent de créer la page de manière "visuelle" ( on dit WYSIWYG = "What You See Is What You Get" ), et de générer automatiquement le fichier HTML; mais, d'une part, ces logiciels créent un code HTML extrêmement confus et difficile à lire ( et donc à corriger ou à améliorer ), et, d'autre part, ils ne permettent pas d'apprendre le langage HTML et de comprendre "comment ça marche"...
Vous allez donc créer vos pages web "à partir de zéro", en écrivant vous-mêmes dans un fichier le code HTML avec les balises nécessaires pour décrire vos pages.
Pour cela, bien qu'un simple éditeur de texte ( comme le Bloc Notes ) suffise, vous utiliserez pour plus de "confort" un éditeur de texte "enrichi" qui propose une option particulièrement intéressante, la coloration syntaxique, c'est à dire le fait qu'il mette en couleur les portions de texte ayant une certaine signification pour le code, comme les balises justement !
En classe, vous utiliserez l'éditeur Bluefish.
Sous Windows, vous pouvez utiliser par exemple Notepad++, ou Visual Studio Code.
Vous trouverez ici un mémento des balises HTML avec leur signification, et ici, quelques exemples d'utilisation de ces balises.
Examinons rapidement le code HTML "minimum" pour une page web :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Titre de la page</title>
</head>
<body>
</body>
</html>
html
qui indique le début de la page; la balise fermante correspondante se trouve à la ligne 18, logiquement tout à la fin du code...head
) :body
) : il contient la description de tous les éléments affichés dans la page.L'indentation et les sauts de ligne dans le code source ne sont absolument pas obligatoires ( le navigateur les supprime à la lecture du fichier ) : on pourrait très bien décrire une très longue page HTML dans un fichier sur une seule ( très longue ) ligne !!
Mais bien sur, le code source apparaît beaucoup plus clair si on prend ainsi soin de le structurer....
Vous allez écrire le ficher HTML décrivant une page simple au sujet d'un des grands noms de l'histoire de l'informatique.
Pour l'instant, vous allez vous limiter au code HTML de la page, sans vous préoccuper de la mise en page.
Le texte ne devra pas être un simple copier-coller d'une page ( Wikipedia au hasard...) mais un résumé de la vie de la personne et ses contributions au domaine de l'informatique.
Ce texte devra bien entendu être structuré en paragraphes, titres, etc....
La page devra contenir :
Le nom de votre fichier .html
devra être le même que celui de la personnalité dont votre page traite ( par exemple : alan_turing.html
, richard_stallman.html
, etc... ), de façon à pouvoir y accéder directement une fois en
ligne à l'aide des liens ci-dessous.
Les noms des personnalités :
Les feuilles de style en cascade, généralement appelées CSS ( Cascading Style Sheets ), forment un langage informatique qui décrit la présentation et la mise en forme des documents HTML.
.css
Une feuille de style est en fait contenue dans un simple fichier texte d'extension .css
.
Dans notre simulateur, la feuille de style ( le fichier est dans le dossier Simulateur Bac
) s'appelle style.css
( attention, il est très incomplet pour l'instant ! ).
Ce fichier est lié au document HTML auquel la feuille de style doit s'appliquer, par l'intermédiaire d'une unique balise link
placée dans l'en-tête ( balises head
) du fichier .html
décrivant la page :
<head>
.......................
<link rel="stylesheet" href="style.css"/>
......................
</head>
Un site peut très bien utiliser différentes feuilles de style, que ce soit pour distinguer des pages ou pour adapter la présentation à l'appareil utilisé pour consulter le site ( PC, tablette,...).
.css
Le fichier .css
contient la description de l'ensemble des règles de style, c'est à dire des règles de présentation, de formatage de texte,..., qui permettront la mise en page du fichier HTML lié.
Une règle de style est constituée du nom d'une propriété de présentation ( couleur, police, espacement des caractères, taille de la marge, ...) suivie de son attribut ( en gros sa "valeur" : rouge, Arial, 3 pixels,...)
propriété: attribut;
Les règles de style à appliquer sur un même élément HTML donné sont regroupées par blocs de règles, délimités par des accolades { }.
Chaque bloc est précédé d'un sélecteur désignant le (ou les) élément(s) de la page au(x)quel(s) les propriétés concernées doivent être appliquées.
En résumé, un bloc de règles se présentera sous cette forme :
sélecteur {
propriété_1: attribut_1;
propriété_2: attribut_2;
........
}
Un très grand nombre de choses !! Et ces propriétés dépendent de l'élément à formater...
En voici quelques exemples :
Nom de la propriété | Rôle | Attribut(s) possible(s) |
---|---|---|
color |
couleur de caractères ou de paragraphe | nom d'une couleur en anglais ( red, blue, green,...), ou bien codée en hexadécimal en donnant les evaleurs de 0x00 à 0xFF codant les trois couleurs primaires
Rouge, Vert et Bleu ( exemples : #FFFFFF correspond au blanc, #000000 au noir, #FFFF00 au jaune, etc...), ce qui permet d'indiquer n'importe quelle couleur parmi
16 millions de nuances différentes... |
text-align |
alignement de texte ou de paragraphe | left, right,.... |
font-size |
taille de caractères | valeurs en pixels ( ex. : 10px ) ou en multiple de la taille par défaut des caractères d'une page ( ex. : 0.9em ) |
La liste est très longue ! Voila un pense-bête qui résume un grand nombre de propriétés et leur signification.
Un sélecteur désigne un élément à formater; ce peut être :
Exemples :
a {
............;
............;
}
→ formate tous les liens ( balises a
) sans exception. Par défaut, les navigateurs affichent les liens en bleu et soulignés, on peut donc changer ce comportement...
strong {
...........;
...........;
}
→ formate tous les caractères signalés par les balises strong
; ces balises ne signifient donc pas forcément que le texte doit être en gras ( c'est le comportement pas défaut ),
mais simplement que le texte qu'elles encadrent est à mettre évidence...On peut bien entendu changer les règles de style pour cela : pourquoi ne mettrait-on pas ce genre d'informations plutôt en rouge et en italique ??
Dans le code HTML, le nom de l’identifiant unique ( id
) est indiqué dans la balise d'ouverture de l'élément que l'on veut mettre en forme.
Exemple :
<h4 id="titre_1">Titre à formater</h4>
Dans le fichier CSS, le sélecteur est alors l'id précédé du symbole # :
#titre_1 {
..............;
..............;
}
→ formate un élément d'identifiant "titre_1" .
Seul l'élément ayant cet identifiant ( ici un titre de niveau 4 ) sera formaté en accord avec ces règles de style; tous les autres éléments de même nature ( donc tous les autres titres de niveau 4 ) seront formatés "par défaut"...
On désigne ainsi un ensemble d'éléments HTML ( même de nature différente ) sur lesquels on veut appliquer les mêmes propriétés.
Dans le code HTML, le nom de la classe ( class
) est indiqué, pour chacun des éléments de la classe, dans sa balise d'ouverture.
Exemples :
<p class="python">1er paragraphe à formater</p>
<p class="python">2ème paragraphe à formater</p>
.......................
Dans le fichier CSS, le sélecteur est le nom de la classe précédé d'un point :
.python {
..............;
..............;
}
→ formate tous les éléments appartenant à la classe "python".
Les sélecteurs peuvent être encore plus complexes : on peut sélectionner un unique élément lui-même contenu dans un autre, tout en excluant d'autres éléments du même type...
On peut aussi sélectionner plusieurs classes ou élément d'identifiant unique en même temps pour les formater de la même manière.
Les possibilités sont vraiment très variées et puissantes...mais leur manipulation demande une bonne compréhension de la "hiérarchie" des éléments dans la page HTML.
Pour plus d'informations, voir par exemple cette page.
A vous d'écrire les règles de style nécessaire pour formater la page dont vous avez écrit précédemment le fichier .html
.( ou avec vos propres règles, mais attention,
pas trop de fantaisie !...)
Donnez à votre fichier .css
le même nom que celui du fichier .html
. Ex. : alan_turing.html
→ alan_turing.css
padding
) et extérieure ( margin
)Pensez à lier le fichier .css
au fichier .html
pour pouvoir appliquer la feuille de style à votre page !
Avant de rendre votre travail, assurez-vous que :
.html
soit correctement nommé.css
soit lui aussi correctement nommé ( pas simplement "style.css"...), et bien lié au fichier .html
.html
et .css
Il faut qu'il soit suffisant d'ouvrir le fichier .html
pour que la page s'affiche correctement ( aucun "bricolage" ne sera fait par les enseignants pour que "ça marche vraiment..." ).
Renommez le dossier contenant votre travail avec le nom de la personnalité, et compressez-le au format .zip
( clic-droit sur le dossier → Compresser... )
Envoyez alors le fichier compressé à vos professeurs via l'ENT.