Bonjour et bienvenue à toutes et à tous !
Voici donc le premier chapitre de ce cours pour débutants, qui va vous apprendre à créer votre site web !
Nous allons passer un certain temps ensemble, tout dépendra de la vitesse à laquelle vous apprendrez. Si vous lisez ce cours régulièrement et à une bonne vitesse, vous l'aurez terminé en une à deux semaines. Mais si vous avez besoin d'un peu plus de temps, ne vous inquiétez pas : le principal est que vous y alliez à votre rythme, de préférence en prenant du bon temps.
Je vous propose de commencer par la question la plus simple mais aussi la plus importante : comment fonctionnent les sites web ?
Le fonctionnement des sites web
Comment fonctionnent les sites web ?
Non, n'ayez pas peur de poser des questions même si vous pensez qu'elles sont « bêtes ». Il est très important que nous en parlions un peu avant de nous lancer à fond dans la création de sites !
Je suis certain que vous consultez des sites web tous les jours. Pour cela, vous lancez un programme appelé le navigateur web en cliquant sur l'une des icônes représentées à la figure suivante.

Avec le navigateur, vous pouvez consulter n'importe quel site web. Voici par exemple un navigateur affichant le célèbre site web Wikipédia :

Je suis sûr que vous avez l'habitude d'utiliser un navigateur web ! Aujourd'hui, tout le monde sait aller sur le Web… mais qui sait vraiment comment le Web fonctionne ? Comment créer des sites web comme celui-ci ?
J'ai entendu parler de HTML, de CSS, est-ce que cela a un rapport avec le fonctionnement des sites web ?
Tout à fait !
Il s'agit de langages informatiques qui permettent de créer des sites web. Tous les sites web sont basés sur ces langages, ils sont incontournables et universels aujourd'hui. Ils sont à la base même du Web. Le langage HTML a été inventé par un certain Tim Berners-Lee en 1991…
Il s'agit de langages informatiques qui permettent de créer des sites web. Tous les sites web sont basés sur ces langages, ils sont incontournables et universels aujourd'hui. Ils sont à la base même du Web. Le langage HTML a été inventé par un certain Tim Berners-Lee en 1991…
Tim Berners-Lee suit encore aujourd'hui avec attention l'évolution du Web. Il a créé le World Wide Web Consortium (W3C) qui définit les nouvelles versions des langages liés au Web. Il a par ailleurs créé plus récemment la World Wide Web Foundation qui analyse et suit l'évolution du Web.
Les langages HTML et CSS sont à la base du fonctionnement de tous les sites web. Quand vous consultez un site avec votre navigateur, il faut savoir que, en coulisses, des rouages s'activent pour permettre au site web de s'afficher. L'ordinateur se base sur ce qu'on lui a expliqué en HTML et CSS pour savoir ce qu'il doit afficher, comme le montre la figure suivante.

HTML et CSS sont deux « langues » qu'il faut savoir parler pour créer des sites web. C'est le navigateur web qui fera la traduction entre ces langages informatiques et ce que vous verrez s'afficher à l'écran.
Vous vous demandez sûrement pourquoi il faut connaître deux langages pour créer des sites web ? Je vous réponds sans plus tarder !
Vous vous demandez sûrement pourquoi il faut connaître deux langages pour créer des sites web ? Je vous réponds sans plus tarder !
HTML et CSS : deux langages pour créer un site web
Pour créer un site web, on doit donner des instructions à l'ordinateur. Il ne suffit pas simplement de taper le texte qui devra figurer dans le site (comme on le ferait dans un traitement de texte Word, par exemple), il faut aussi indiquer où placer ce texte, insérer des images, faire des liens entre les pages, etc.
Les rôles de HTML et CSS
Pour expliquer à l'ordinateur ce que vous voulez faire, il va falloir utiliser un langage qu'il comprend. Et c'est là que les choses se corsent, parce qu'il va falloir apprendre deux langages !
Pourquoi avoir créé deux langages ? Un seul aurait suffi, non ?
Vous devez vous dire que manipuler deux langages va être deux fois plus complexe et deux fois plus long à apprendre… mais ce n'est pas le cas ! Je vous rassure, s'il y a deux langages c'est, au contraire, pour faciliter les choses. Nous allons avoir affaire à deux langages qui se complètent car ils ont des rôles différents :
- HTML (HyperText Markup Language) : il a fait son apparition dès 1991 lors du lancement du Web. Son rôle est de gérer et organiser le contenu. C'est donc en HTML que vous écrirez ce qui doit être affiché sur la page : du texte, des liens, des images… Vous direz par exemple : « Ceci est mon titre, ceci est mon menu, voici le texte principal de la page, voici une image à afficher, etc. ».
- CSS (Cascading Style Sheets, aussi appelées Feuilles de style) : le rôle du CSS est de gérer l'apparence de la page web (agencement, positionnement, décoration, couleurs, taille du texte…). Ce langage est venu compléter le HTML en 1996.
Vous pouvez très bien créer un site web uniquement en HTML, mais celui-ci ne sera pas très beau : l'information apparaîtra « brute ». C'est pour cela que le langage CSS vient toujours le compléter.
Pour vous donner une idée, la figure suivante montre ce que donne la même page sans CSS puis avec le CSS.

Le HTML définit le contenu (comme vous pouvez le voir, c'est brut de décoffrage !). Le CSS permet, lui, d'arranger le contenu et de définir la présentation : couleurs, image de fond, marges, taille du texte…
Comme vous vous en doutez, le CSS a besoin d'une page HTML pour fonctionner. C'est pour cela que nous allons d'abord apprendre les bases du HTML avant de nous occuper de la décoration en CSS.
Vos premières pages ne seront donc pas les plus esthétiques, mais qu'importe ! Cela ne durera pas longtemps.
Vos premières pages ne seront donc pas les plus esthétiques, mais qu'importe ! Cela ne durera pas longtemps.
Les différentes versions de HTML et CSS
Au fil du temps, les langages HTML et CSS ont beaucoup évolué. Dans la toute première version de HTML (HTML 1.0) il n'était même pas possible d'afficher des images !
Voici un très bref historique de ces langages pour votre culture générale.
Les versions de HTML
- HTML 1 : c'est la toute première version créée par Tim Berners-Lee en 1991.
- HTML 2 : la deuxième version du HTML apparaît en 1994 et prend fin en 1996 avec l'apparition du HTML 3.0. C'est cette version qui posera en fait les bases des versions suivantes du HTML. Les règles et le fonctionnement de cette version sont donnés par le W3C (tandis que la première version avait été créée par un seul homme).
- HTML 3 : apparue en 1996, cette nouvelle version du HTML rajoute de nombreuses possibilités au langage comme les tableaux, les applets, les scripts, le positionnement du texte autour des images, etc.
- HTML 4 : cette version aura été utilisée un long moment durant les années 2000. Elle apparaît pour la première fois en 1998 et propose l'utilisation de frames (qui découpent une page web en plusieurs parties), des tableaux plus complexes, des améliorations sur les formulaires, etc. Mais surtout, cette version permet pour la première fois d'exploiter des feuilles de style, notre fameux CSS !
- HTML 5 : c'est LA dernière version. De plus en plus répandue, elle fait beaucoup parler d'elle car elle apporte de nombreuses améliorations comme la possibilité d'inclure facilement des vidéos, un meilleur agencement du contenu, de nouvelles fonctionnalités pour les formulaires, etc. C'est cette version que nous allons découvrir ensemble.
Les versions de CSS
- CSS 1 : dès 1996, on dispose de la première version du CSS. Elle pose les bases de ce langage qui permet de présenter sa page web, comme les couleurs, les marges, les polices de caractères, etc.
- CSS 2 : apparue en 1999 puis complétée par CSS 2.1, cette nouvelle version de CSS rajoute de nombreuses options. On peut désormais utiliser des techniques de positionnement très précises, qui nous permettent d'afficher des éléments où on le souhaite sur la page.
- CSS 3 : c'est la dernière version, qui apporte des fonctionnalités particulièrement attendues comme les bordures arrondies, les dégradés, les ombres, etc.
L'éditeur de texte
De quel logiciel vais-je avoir besoin pour créer mon site web ?
Vais-je devoir casser ma tirelire pour acheter un logiciel très complexe que je vais mettre des mois à comprendre ?
Vais-je devoir casser ma tirelire pour acheter un logiciel très complexe que je vais mettre des mois à comprendre ?
Il existe effectivement de nombreux logiciels dédiés à la création de sites web. Mais, je vous rassure, vous n'aurez pas à débourser un seul centime. Pourquoi aller chercher un logiciel payant et compliqué, alors que vous avez déjà tout ce qu'il faut chez vous ?
Eh oui, accrochez-vous bien parce qu'il suffit de… Bloc-Notes !

Incroyable mais vrai : on peut tout à fait créer un site web uniquement avec Bloc-Notes, le logiciel d'édition de texte intégré par défaut à Windows. D'ailleurs, j'avoue, c'est comme cela que j'ai commencé moi-même il y a quelques années.
Il y a cependant des logiciels plus puissants aujourd'hui et personne n'utilise vraiment Bloc-Notes. On peut classer ces logiciels de création de site web en deux catégories :
- Les WYSIWYG (What You See Is What You Get - Ce Que Vous Voyez Est Ce Que Vous Obtenez) : ce sont des programmes qui se veulent très faciles d'emploi, ils permettent de créer des sites web sans apprendre de langage particulier. Parmi les plus connus d'entre eux : Mozilla Composer, Microsoft Expression Web, Dreamweaver… et même Word ! Leur principal défaut est la qualité souvent assez mauvaise du code HTML et CSS qui est automatiquement généré par ces outils. Un bon créateur de site web doit tôt ou tard connaître HTML et CSS, c'est pourquoi je ne recommande pas l'usage de ces outils.
- Les éditeurs de texte : ce sont des programmes dédiés à l'écriture de code. On peut en général les utiliser pour de multiples langages, pas seulement HTML et CSS. Ils se révèlent être de puissants alliés pour les créateurs de sites web !
Vous l'aurez compris, je vais vous inviter à utiliser un éditeur de texte dans ce cours.
De nombreux éditeurs de texte fonctionnent que vous soyez sous Windows, Mac OS X ou Linux (ils sont disponibles partout). Je vais vous en proposer plusieurs pour que vous ayez le choix, mais, comme je sais que vous allez me demander celui que j'utilise, je vais commencer par vous présenter... Sublime Text !
Sublime Text : mon éditeur
Sublime Text est un éditeur de texte devenu très populaire parmi les développeurs. On l'utilise aussi bien pour développer en HTML et CSS que dans d'autres langages (Python, Ruby, etc.). Il fonctionne sur Windows, Mac OS X et Linux.
Il a l'avantage d'être simple, épuré et facile à lire dès le départ. Pas de centaines de boutons dont on ne comprend pas à quoi ils servent.

Malgré les apparences, il ne faut pas croire qu'il est limité. Au contraire : il est possible de l'étendre avec tout un système de plugins. Ca devient un peu plus compliqué et on ne rentrera pas là-dedans, mais il faut savoir que certains personnalisent énormément leur Sublime Text pour gagner du temps !
En somme, Sublime Text est à la fois simple et puissant. Même pour l'usage basique que nous allons avoir, il s'avèrera très pratique.
Sous Windows
Voici quelques logiciels que vous pouvez essayer sous Windows si vous voulez en tester plusieurs :
- Sublime Text (j'insiste ;o) ;
- Brackets ;
- jEdit ;
- PSpad ;
- ConTEXT ;
- … et bien d'autres si vous recherchez « Éditeur de texte » sur le Web.
Sous Mac OS X
Je recommande la plupart des mêmes logiciels car ils sont multi-plateformes. Voici une petite sélection :
Sous Linux
Les éditeurs de texte sont légion sous Linux. Certains d'entre eux sont installés par défaut, d'autres peuvent être téléchargés facilement via le centre de téléchargement (sous Ubuntu notamment) ou au moyen de commandes comme
apt-get et aptitude. Voici quelques logiciels que vous pouvez tester :Les navigateurs
Pourquoi le navigateur est important
Le navigateur est le programme qui nous permet de voir les sites web. Comme je vous l'ai expliqué plus tôt, le travail du navigateur est de lire le code HTML et CSS pour afficher un résultat visuel à l'écran. Si votre code CSS dit « Les titres sont en rouge », alors le navigateur affichera les titres en rouge. Le rôle du navigateur est donc essentiel !
On ne dirait pas, mais un navigateur est un programme extrêmement complexe. En effet, comprendre le code HTML et CSS n'est pas une mince affaire. Le principal problème, vous vous en rendrez vite compte, c'est queles différents navigateurs n'affichent pas le même site exactement de la même façon ! Il faudra vous y faire et prendre l'habitude de vérifier régulièrement que votre site fonctionne correctement sur la plupart des navigateurs.
Les navigateurs sur ordinateur
Télécharger les navigateurs
Il existe de nombreux navigateurs différents. Voici les principaux à connaître :
Navigateur
|
OS
|
Téléchargement
|
Commentaires
|
|---|---|---|---|
Google Chrome
![]() |
Windows
Mac Linux |
Le navigateur de Google, simple d'emploi et très rapide.
C'est le navigateur que j'utilise au quotidien. | |
Mozilla Firefox
![]() |
Windows
Mac Linux |
Le navigateur de la fondation Mozilla, célèbre et réputé.
Je l'utilise fréquemment pour tester mes sites web. | |
Internet Explorer
![]() |
Windows
|
(Déjà installé sur Windows)
|
Le navigateur de Microsoft, qui équipe tous les PC Windows jusqu'à Windows 10.
|
Edge
![]() |
Windows
|
(Déjà installé sur Windows 10)
|
Le nouveau navigateur de Microsoft, qui équipe tous les PC à partir de Windows 10.
Il ressemble à Internet Explorer (les logos sont proches !) mais c'est une toute nouvelle version bien plus à jour. Edge est le remplaçant d'Internet Explorer. ![]() |
Safari
![]() |
Windows
Mac |
Téléchargement
(Déjà installé sur Mac OS X) |
Le navigateur d'Apple, qui équipe tous les Mac.
|
Opera
![]() |
Windows
Mac Linux |
L'éternel outsider.
Il est moins utilisé mais propose de nombreuses fonctionnalités. |
La figure suivante vous montre un aperçu du résultat produit par quelques-uns de ces principaux navigateurs sur la page d'accueil de Google.

Comprendre les différences entre navigateurs
A vue de nez, ces navigateurs se ressemblent beaucoup. Mais comme je vous le disais plus tôt, les navigateurs n'affichent pas toujours un même site web exactement de la même façon. Pourquoi ? Cela est dû au fait que les navigateurs ne connaissent pas toujours les dernières fonctionnalités de HTML et CSS. Par exemple, Internet Explorer a longtemps été en retard sur certaines fonctionnalités CSS (et paradoxalement, il a aussi été en avance sur quelques autres).
Pour compliquer les choses, plusieurs versions des navigateurs co-existent. Aujourd'hui, un navigateur comme Chrome sort une nouvelle version presque tous les mois. Les mises à jour sont (heureusement) de plus en plus fréquentes.
Chaque version prend en charge de nouvelles fonctionnalités mais, si les utilisateurs ne mettent pas à jour leur(s) navigateur(s), cela devient un problème pour les webmasters comme vous qui créent des sites web.
Chrome a résolu en grande partie le problème en mettant en place des mises à jour automatiques, sans intervention de l'utilisateur. Firefox a semble-t-il décidé de suivre le rythme lui aussi. Internet Explorer est de plus en plus à jour, et son remplaçant Edge n'a pas à rougir des autres navigateurs.
Bref, j'ai un peu le sentiment de parler comme un ancêtre du web en disant ça, mais on a beaucoup de chance aujourd'hui : les navigateurs supportent un grand nombre de fonctionnalités. La compatibilité reste toujours un problème malgré tout, mais ce n'est pas aussi grave qu'à une époque.
Le célèbre site caniuse.com tient à jour une liste des fonctionnalités prises en charge par les différentes versions de chaque navigateur (figure suivante).

Ca peut paraître un peu compliqué, mais comme je vous le disais les navigateurs supportent aujourd'hui très bien un grand nombre de fonctionnalités. Les problèmes viennent le plus souvent d'anciennes versions d'Internet Explorer (IE7, IE8...) mais celles-ci sont si peu utilisées que je vous recommande de les ignorer.
Les navigateurs sur mobile
En plus des navigateurs que je vous ai présentés, il faut savoir qu'il existe des variantes de ces navigateurs conçues pour les téléphones portables, en particulier pour les smartphones.
De plus en plus de personnes consultent aujourd'hui des sites web sur leur portable, il faut donc connaître un minimum le fonctionnement des navigateurs des téléphones.
De plus en plus de personnes consultent aujourd'hui des sites web sur leur portable, il faut donc connaître un minimum le fonctionnement des navigateurs des téléphones.
En fait, vous n'allez pas être dépaysés : la plupart des navigateurs sur smartphones sont les mêmes que sur ordinateur, dans une version plus légère adaptée aux mobiles. Tout dépend du type de téléphone.
- iPhone : sur l'iPhone d'Apple, le navigateur utilisé est Safari Mobile. Il s'agit d'une version light et néanmoins très complète de Safari pour ordinateur.
- Android : les portables sous Android bénéficient du navigateur Chrome Mobile. Là encore, il s'agit d'une version adaptée aux mobiles.
- Windows Phone : sous Windows Phone, on retrouve… Internet Explorer/Edge Mobile ! Le principe est le même que pour les précédents navigateurs : il s'agit d'une version dédiée aux mobiles.
- Blackberry : les Blackberry font exception car ils ont leur propre navigateur (il n'existe pas d'équivalent sur ordinateur). Néanmoins, les versions les plus récentes de ce navigateur se basent sur un noyau commun à Safari et Chrome (il s'agit du moteur de rendu Webkit). Par conséquent, l'affichage est en général proche de celui proposé par Safari et Chrome. Enfin, il faut reconnaître que les Blackberry sont de moins en moins utilisés.
Les navigateurs pour mobiles prennent en charge la plupart des dernières fonctionnalités de HTML et CSS. De plus, le système de mise à jour automatisé des mobiles nous garantit que les utilisateurs auront le plus souvent les dernières versions.
Sachez néanmoins que des différences existent entre ces différents navigateurs mobiles et qu'il est conseillé de tester son site sur ces appareils aussi ! En particulier, l'écran étant beaucoup moins large, il faudra vérifier que votre site s'affiche correctement.
En résumé
- Le Web a été inventé par Tim Berners-Lee au début des années 1990.
- Pour créer des sites web, on utilise deux langages informatiques :
- HTML : permet d'écrire et organiser le contenu de la page (paragraphes, titres…) ;
- CSS : permet de mettre en forme la page (couleur, taille…).
- Il y a eu plusieurs versions des langages HTML et CSS. Les dernières versions sont HTML5 et CSS3.
- Le navigateur web est un programme qui permet d'afficher des sites web. Il lit les langages HTML et CSS pour savoir ce qu'il doit afficher.
- Il existe de nombreux navigateurs web différents : Google Chrome, Mozilla Firefox, Internet Explorer, Safari, Opera… Chacun affiche un site web de manière légèrement différente des autres navigateurs.
- Dans ce cours, nous allons apprendre à utiliser les langages HTML et CSS. Nous travaillerons dans un programme appelé « éditeur de texte » (Sublime Text, Notepad++, jEdit, vim…).
VOTRE PAGE WEB EN HTML
Ça y est, vous avez installé tous les logiciels ? Vous devriez maintenant avoir un éditeur de texte pour créer votre site (comme Sublime Text) et plusieurs navigateurs pour le tester (Mozilla Firefox, Google Chrome…).
Dans ce chapitre, nous allons commencer à pratiquer ! Nous allons découvrir les bases du langage HTML et enregistrer notre toute première page web !
Alors oui, bien sûr, ne vous attendez pas encore à réaliser une page web exceptionnelle dès ce second chapitre, mais patience… cela viendra !
Alors oui, bien sûr, ne vous attendez pas encore à réaliser une page web exceptionnelle dès ce second chapitre, mais patience… cela viendra !
Créer une page web avec l'éditeur
Allez, mettons-nous en situation ! Comme je vous l'ai dit, nous allons créer notre site dans un éditeur de texte. Vous avez dû en installer un suite à mes conseils dans le premier chapitre : qu'il s'appelle Sublime Text, Notepad++, Brackets, jEdit, vim, TextWrangler… peu importe. Ces logiciels ont un but très simple : vous permettre d'écrire du texte !
Dans la suite de ce cours, je travaillerai avec Sublime Text. Je vais donc l'ouvrir :

Bon, qu'est-ce qu'on fait maintenant ? Qu'est-ce qu'on écrit sur cette feuille blanche (euh... noire) ?
On va faire un petit essai. Je vous invite à écrire ce qui vous passe par la tête, comme moi à la figure suivante.

Vous pouvez écrire les mêmes phrases que moi ou ce que vous voulez ; le but est d'écrire quelque chose.
Maintenant, enregistrons ce fichier. Pour cela, c'est très simple : comme dans tous les programmes, vous avez un menu
Fichier > Enregistrer (ouFile > Save en anglais) Une boîte de dialogue vous demande où enregistrer le fichier et sous quel nom. Enregistrez-le où vous voulez. Donnez au fichier le nom que vous voulez, en terminant par .html, par exemple test.html, comme indiqué à la figure suivante.
Ouvrez maintenant l'explorateur de fichiers dans le dossier où vous avez enregistré votre page (l'Explorateur sous Windows ou le Finder sous Mac). Vous y verrez le fichier que vous venez de créer:

L'icône qui représente le fichier dépend de votre navigateur web par défaut en général. Vous pouvez y voir une icône de Firefox, de Chrome... ou un aperçu comme ici. N'y prêtez pas attention. Faites simplement un double-clic sur ce fichier et… votre navigateur s'ouvre et affiche le texte que vous avez écrit.

Cela ne marche pas bien, on dirait ! Tout le texte s'affiche sur la même ligne alors qu'on avait écrit deux lignes de texte différentes !?
En effet, bien vu !
Le texte s'affiche sur la même ligne alors qu'on avait demandé à l'écrire sur deux lignes différentes. Que se passe-t-il ?
Le texte s'affiche sur la même ligne alors qu'on avait demandé à l'écrire sur deux lignes différentes. Que se passe-t-il ?
En fait, pour créer une page web il ne suffit pas de taper simplement du texte comme on vient de le faire. En plus de ce texte, il faut aussi écrire ce qu'on appelle des balises, qui vont donner des instructions à l'ordinateur comme « aller à la ligne », « afficher une image », etc.
Les balises et leurs attributs
Bon, tout cela était trop facile. Évidemment, il a fallu que ces satanés informaticiens s'en mêlent et compliquent les choses. Il ne suffit pas d'écrire « simplement » du texte dans l'éditeur, il faut aussi donner des instructions à l'ordinateur. En HTML, on utilise pour cela des balises.
Les balises
Les pages HTML sont remplies de ce qu'on appelle des balises. Celles-ci sont invisibles à l'écran pour vos visiteurs, mais elles permettent à l'ordinateur de comprendre ce qu'il doit afficher.
Les balises se repèrent facilement. Elles sont entourées de « chevrons », c'est-à-dire des symboles
Les balises se repèrent facilement. Elles sont entourées de « chevrons », c'est-à-dire des symboles
< et >, comme ceci : <balise>
À quoi est-ce qu'elles servent ? Elles indiquent la nature du texte qu'elles encadrent. Elles veulent dire par exemple : « Ceci est le titre de la page », « Ceci est une image », « Ceci est un paragraphe de texte », etc.
On distingue deux types de balises : les balises en paires et les balises orphelines.
Les balises en paires
Elles s'ouvrent, contiennent du texte, et se ferment plus loin. Voici à quoi elles ressemblent :
Ceci est un titre
On distingue une balise ouvrante (
<titre>) et une balise fermante (</titre>) qui indique que le titre se termine. Cela signifie pour l'ordinateur que tout ce qui n'est pas entre ces deux balises… n'est pas un titre.
Ceci n'est pas un titre Ceci est un titre Ceci n'est pas un titre
Les balises orphelines
Ce sont des balises qui servent le plus souvent à insérer un élément à un endroit précis (par exemple une image). Il n'est pas nécessaire de délimiter le début et la fin de l'image, on veut juste dire à l'ordinateur « Insère une image ici ».
Une balise orpheline s'écrit comme ceci :
Les attributs
Les attributs sont un peu les options des balises. Ils viennent les compléter pour donner des informations supplémentaires. L'attribut se place après le nom de la balise ouvrante et a le plus souvent une valeur, comme ceci :
attribut="valeur"
À quoi cela sert-il ? Prenons la balise
<image /> que nous venons de voir. Seule, elle ne sert pas à grand chose. On pourrait rajouter un attribut qui indique le nom de l'image à afficher :
nom="photo.jpg"
L'ordinateur comprend alors qu'il doit afficher l'image contenue dans le fichier
photo.jpg.
Dans le cas d'une balise fonctionnant « par paire », on ne met les attributs que dans la balise ouvrante et pas dans la balise fermante. Par exemple, ce code indique que la citation est de Neil Armstrong et qu'elle date du 21 Juillet 1969 :
auteur="Neil Armstrong" date="21/07/1969"
C'est un petit pas pour l'homme, mais un bond de géant pour l'humanité.
Structure de base d'une page HTML5
Reprenons notre éditeur de texte (dans mon cas Sublime Text). Je vous invite à écrire ou à copier-coller le code source ci-dessous dans Notepad++. Ce code correspond à la base d'une page web en HTML5 :
<!DOCTYPE html>
charset="utf-8"
Titre
Copié dans Sublime Text, vous devriez voir:

Vous noterez que les balises s'ouvrent et se ferment dans un ordre précis. Par exemple, la balise
<html> est la première que l'on ouvre et c'est aussi la dernière que l'on ferme (tout à la fin du code, avec </html>). Les balises doivent être fermées dans le sens inverse de leur ouverture. Un exemple :<html><body></body></html>: correct. Une balise qui est ouverte à l'intérieur d'une autre doit aussi être fermée à l'intérieur.<html><body></html></body>: incorrect, les balises s'entremêlent.
Euh, on pourrait avoir des explications sur toutes les balises que l'on vient de copier dans l'éditeur, m'sieur ?
Bien sûr, c'est demandé si gentiment. 
Ne prenez pas peur en voyant toutes ces balises d'un coup, je vais vous expliquer leur rôle !

Ne prenez pas peur en voyant toutes ces balises d'un coup, je vais vous expliquer leur rôle !
Le doctype
<!DOCTYPE html>
La toute première ligne s'appelle le doctype. Elle est indispensable car c'est elle qui indique qu'il s'agit bien d'une page web HTML.
Ce n'est pas vraiment une balise comme les autres (elle commence par un point d'exclamation). Vous pouvez considérer que c'est un peu l'exception qui confirme la règle.
Ce n'est pas vraiment une balise comme les autres (elle commence par un point d'exclamation). Vous pouvez considérer que c'est un peu l'exception qui confirme la règle.
La balise </html>
C'est la balise principale du code. Elle englobe tout le contenu de votre page. Comme vous pouvez le voir, la balise fermante
</html> se trouve tout à la fin du code !
L'en-tête <head> et le corps <body>
Une page web est constituée de deux parties :
- L'en-tête
<head>: cette section donne quelques informations générales sur la page comme son titre, l'encodage (pour la gestion des caractères spéciaux), etc. Cette section est généralement assez courte. Les informations que contient l'en-tête ne sont pas affichées sur la page, ce sont simplement des informations générales à destination de l'ordinateur. Elles sont cependant très importantes ! - Le corps
<body>: c'est là que se trouve la partie principale de la page. Tout ce que nous écrirons ici sera affiché à l'écran. C'est à l'intérieur du corps que nous écrirons la majeure partie de notre code.
Pour le moment, le corps est vide (nous y reviendrons plus loin). Intéressons-nous par contre aux deux balises contenues dans l'en-tête…
L'encodage (charset)
charset="utf-8"
Cette balise indique l'encodage utilisé dans votre fichier
.html.
Sans rentrer dans les détails, car cela pourrait vite devenir compliqué, l'encodage indique la façon dont le fichier est enregistré. C'est lui qui détermine comment les caractères spéciaux vont s'afficher (accents, idéogrammes chinois et japonais, caractères arabes, etc.).
Il y a plusieurs techniques d'encodage portant des noms bizarres et utilisées en fonction des langues : ISO-8859-1, OEM 775, Windows-1253… Une seule cependant devrait être utilisée aujourd'hui autant que possible : UTF-8. Cette méthode d'encodage permet d'afficher sans aucun problème pratiquement tous les symboles de toutes les langues de notre planète ! C'est pour cela que j'ai indiqué
utf-8 dans cette balise.
Il ne suffit pas de dire que votre fichier est en UTF-8. Il faut aussi que votre fichier soit bien enregistré en UTF-8. C'est heureusement le cas désormais par défaut dans la plupart des éditeurs de texte.
Le titre principal de la page
C'est le titre de votre page, probablement l'élément le plus important ! Toute page doit avoir un titre qui décrit ce qu'elle contient.
Il est conseillé de garder le titre assez court (moins de 100 caractères en général).
Il est conseillé de garder le titre assez court (moins de 100 caractères en général).
Le titre ne s'affiche pas dans votre page mais en haut de celle-ci (souvent dans l'onglet du navigateur). Enregistrez votre page web et ouvrez-la dans votre navigateur. Vous verrez que le titre s'affiche dans l'onglet, comme sur la figure suivante.

Il faut savoir que le titre apparaît aussi dans les résultats de recherche, comme sur Google (figure suivante).

Autant vous dire que bien choisir son titre est important !
Les commentaires
Nous avons appris à créer notre première vraie page HTML dans ce chapitre. Avant de terminer, j'aimerais vous présenter le principe des commentaires.
Un commentaire en HTML est un texte qui sert simplement de mémo. Il n'est pas affiché, il n'est pas lu par l'ordinateur, cela ne change rien à l'affichage de la page.
Bref, cela ne sert à rien ?
Eh bien si !
Cela sert à vous et aux personnes qui liront le code source de votre page. Vous pouvez utiliser les commentaires pour laisser des indications sur le fonctionnement de votre page.
Cela sert à vous et aux personnes qui liront le code source de votre page. Vous pouvez utiliser les commentaires pour laisser des indications sur le fonctionnement de votre page.
Quel intérêt ? Cela vous permettra de vous rappeler comment fonctionne votre page si vous revenez sur votre code source après un long moment d'absence. Ne rigolez pas, cela arrive à tous les webmasters.
Insérer un commentaire
Un commentaire est une balise HTML avec une forme bien spéciale :
<!-- Ceci est un commentaire -->
Vous pouvez le mettre où vous voulez au sein de votre code source : il n'a aucun impact sur votre page, mais vous pouvez vous en servir pour vous aider à vous repérer dans votre code source (surtout s'il est long).
<!DOCTYPE html>
<!-- En-tête de la page -->
charset="utf-8"
Titre
<!-- Corps de la page -->
Tout le monde peut voir vos commentaires… et tout votre code HTML !
Terminons par une remarque importante : tout le monde peut voir le code HTML de votre page une fois celle-ci mise en ligne sur le Web. Il suffit de faire un clic droit sur la page et de sélectionner « Afficher le code source de la page » (l'intitulé peut changer selon votre navigateur), comme le montre la figure suivante.

Le code source s'affiche alors (figure suivante).

Vous pouvez tester cette manipulation sur n'importe quel site web, cela marche ! Garanti à 100%. Cela s'explique assez facilement : le navigateur doit obtenir le code HTML pour savoir ce qu'il faut afficher. Le code HTML de tous les sites est donc public.
La morale de l'histoire ? Tout le monde pourra voir votre code HTML et vous ne pouvez pas l'empêcher. Par conséquent, ne mettez pas d'informations sensibles comme des mots de passe dans les commentaires… et soignez votre code source, car je pourrai venir vérifier si vous avez bien suivi mon cours à la lettre ! 

En résumé
- On utilise l'éditeur de texte (Sublime Text, Notepad++, jEdit, vim…) pour créer un fichier ayant l'extension
.html(par exemple :test.html). Ce sera notre page web. - Ce fichier peut être ouvert dans le navigateur web simplement en faisant un double-clic dessus.
- À l'intérieur du fichier, nous écrirons le contenu de notre page, accompagné de balises HTML.
- Les balises peuvent avoir plusieurs formes :
<balise> </balise>: elles s'ouvrent et se ferment pour délimiter le contenu (début et fin d'un titre, par exemple).<balise />: balises orphelines (on ne les insère qu'en un seul exemplaire), elles permettent d'insérer un élément à un endroit précis (par exemple une image).
- Les balises sont parfois accompagnées d'attributs pour donner des indications supplémentaires (exemple :
<image nom="photo.jpg" />). - Une page web est constituée de deux sections principales : un en-tête (
<head>) et un corps (<body>). - On peut afficher le code source de n'importe quelle page web en faisant un clic droit puis en sélectionnant
Afficher le code source de la page.
ORGANISER SON TEXTE
Bon, la page blanche c'est bien joli, mais votre site web risque d'avoir un succès mitigé si vous le laissez comme cela.
Nous allons découvrir de nombreuses balises HTML dans ce chapitre. Certaines existent depuis la toute première version de HTML, d'autres ont été introduites plus récemment dans HTML5.
Nous allons voir successivement dans ce chapitre :
- comment rédiger des paragraphes ;
- comment structurer sa page avec les titres ;
- comment donner de l'importance à certains mots de son texte ;
- comment organiser les informations sous forme de listes.
Motivés ? Allez, vous allez voir, ce n'est pas compliqué.
Les paragraphes
La plupart du temps, lorsqu'on écrit du texte dans une page web, on le fait à l'intérieur de paragraphes. Le langage HTML propose justement la balise
<p> pour délimiter les paragraphes.
Bonjour et bienvenue sur mon site !
<p>signifie « Début du paragraphe » ;</p>signifie « Fin du paragraphe ».
Comme je vous l'ai dit au chapitre précédent, on écrit le contenu du site web entre les balises
<body></body>. Il nous suffit donc de mettre notre paragraphe entre ces deux balises et nous aurons enfin notre première vraie page web avec du texte !
Je reprends donc exactement le même code qu'au chapitre précédent et j'y ajoute mon paragraphe :
<!DOCTYPE html>
charset="utf-8"
Paragraphes
Bonjour et bienvenue sur mon site !
Essayez, vous allez voir le résultat !
Bon, ok, ce n'est pas encore le nirvana mais c'est un bon début.
Bon, ok, ce n'est pas encore le nirvana mais c'est un bon début.
Mais ne nous arrêtons pas en si bon chemin. Nous allons voir maintenant quelque chose d'un peu particulier en HTML : le saut de ligne. Cela paraît simple et pourtant, cela ne fonctionne pas vraiment comme dans un traitement de texte habituel…
Sauter une ligne
En HTML, si vous appuyez sur la touche Entrée, cela ne crée pas une nouvelle ligne comme vous en avez l'habitude. Essayez donc ce code :
<!DOCTYPE html>
charset="utf-8"
Essais de sauts de ligne
Bonjour et bienvenue sur mon site !
Ceci est mon premier test alors soyez indulgents s'il vous plaît, j'apprends petit à petit comment cela marche.
Pour l'instant c'est un peu vide, mais revenez dans 2-3 jours quand j'aurai appris un peu plus de choses, je vous assure que vous allez être surpris !
Tout le texte s'affiche sur la même ligne alors qu'on est bien allé à la ligne dans le code ! Taper frénétiquement sur la touche Entrée dans l'éditeur de texte ne sert donc strictement à rien.
Comme vous devez vous en douter, il y a pourtant bien un moyen de faire des sauts de ligne en HTML.
En fait, si vous voulez écrire un deuxième paragraphe, il vous suffit d'utiliser une deuxième balise
Votre code HTML devrait donc être au final rempli de balises de paragraphe !
<p>.Votre code HTML devrait donc être au final rempli de balises de paragraphe !
Un exemple :
<!DOCTYPE html>
charset="utf-8"
Paragraphes
Bonjour et bienvenue sur mon site !
Ceci est mon premier test alors soyez indulgents s'il vous plaît, j'apprends petit à petit comment cela marche.
Pour l'instant c'est un peu vide, mais revenez dans 2-3 jours quand j'aurai appris un peu plus de choses, je vous assure que vous allez être surpris !
Le résultat se trouve à la figure suivante.

Oui, mais si je veux juste aller à la ligne dans un paragraphe et non pas sauter une ligne ?
Eh bien devinez quoi : il existe une balise « Aller à la ligne » !
C'est une balise orpheline qui sert juste à indiquer qu'on doit aller à la ligne :
C'est une balise orpheline qui sert juste à indiquer qu'on doit aller à la ligne :
<br />. Vous devez obligatoirement la mettre à l'intérieur d'un paragraphe.
Voici comment l'utiliser dans un code :
<!DOCTYPE html>
charset="utf-8"
Sauts de ligne
Bonjour et bienvenue sur mon site !
Ceci est mon premier test alors soyez indulgents s'il vous plaît, j'apprends petit à petit comment cela marche.
Pour l'instant c'est un peu vide, mais revenez dans 2-3 jours quand j'aurai appris un peu plus de choses, je vous assure que vous allez être surpris !
Donc c'est compris ?
<p> </p>: pour organiser son texte en paragraphes ;<br />: pour aller à la ligne.
Maintenant qu'on sait écrire des paragraphes, voyons voir comment on crée des titres.
Les titres
Lorsque le contenu de votre page va s'étoffer avec de nombreux paragraphes, il va devenir difficile pour vos visiteurs de se repérer. C'est là que les titres deviennent utiles.
En HTML, on est verni, on a le droit d'utiliser six niveaux de titres différents. Je veux dire par là qu'on peut dire « Ceci est un titre très important », « Ceci est un titre un peu moins important », « Ceci est un titre encore moins important », etc. On a donc six balises de titres différentes :
<h1> </h1>: signifie « titre très important ». En général, on s'en sert pour afficher le titre de la page au début de celle-ci.<h2> </h2>: signifie « titre important ».<h3> </h3>: pareil, c'est un titre un peu moins important (on peut dire un « sous-titre » si vous voulez).<h4> </h4>: titre encore moins important.<h5> </h5>: titre pas important.<h6> </h6>: titre vraiment, mais alors là vraiment pas important du tout.
Ne vous laissez pas impressionner par toutes ces balises. En fait, six niveaux de titres, c'est beaucoup. Dans la pratique, personnellement, je n'utilise que les balises
<h1>, <h2> et <h3>, et très rarement les autres (je n'ai pas souvent besoin de six niveaux de titres différents). Votre navigateur affiche le titre très important en très gros, le titre un peu moins important en un peu moins gros, etc.
Essayez de créer une page web avec des titres pour voir ce que cela donne :
<!DOCTYPE html>
charset="utf-8"
Niveaux de titres
Titre super important
Titre important
Titre un peu moins important (sous-titre)
Titre pas trop important
Titre pas important
Titre vraiment pas important du tout
Allez, je vous donne un exemple d'utilisation des titres dans une page web (vous allez voir que je ne me sers pas de toutes les balises) :
<!DOCTYPE html>
charset="utf-8"
Présentation d'OpenClassrooms
Bienvenue sur OpenClassrooms !
Bonjour et bienvenue sur mon site : OpenClassrooms.
OpenClassrooms, qu'est-ce que c'est ?
Des cours pour débutants
OpenClassrooms vous propose des cours (tutoriels) destinés aux débutants : aucune connaissance n'est requise pour lire ces cours !
Vous pourrez ainsi apprendre, sans rien y connaître auparavant, à créer un site web, à programmer, à construire des mondes en 3D !
Une communauté active
Vous avez un problème, un élément du cours que vous ne comprenez pas ? Vous avez besoin d'aide pour créer votre site ?
Rendez-vous sur les forums ! Vous y découvrirez que vous n'êtes pas le seul dans ce cas et vous trouverez très certainement quelqu'un qui vous aidera aimablement à résoudre votre problème.
Voilà une page web qui prend forme !
Oui, mais moi je veux centrer mon titre, l'écrire en rouge et le souligner !
Nous ferons tout cela lorsque nous apprendrons le CSS (dès la deuxième partie du cours). Il faut savoir que
<h1> ne signifie pas « Times New Roman, taille 16 pt », mais « Titre important ».
Grâce au langage CSS, vous pourrez dire « Je veux que mes titres importants soient centrés, rouges et soulignés ». Pour le moment, en HTML, nous ne faisons que structurer notre page. Nous rédigeons le contenu avant de nous amuser à le mettre en forme.
La mise en valeur
Au sein de vos paragraphes, certains mots sont parfois plus importants que d'autres et vous aimeriez les faire ressortir. HTML vous propose différents moyens de mettre en valeur le texte de votre page.
Mettre un peu en valeur
Pour mettre un peu en valeur votre texte, vous devez utiliser la balise
Son utilisation est très simple : encadrez les mots à mettre en valeur avec ces balises et c'est bon ! Je reprends un peu l'exemple de tout à l'heure et j'y mets quelques mots en évidence :
<em> </em>.Son utilisation est très simple : encadrez les mots à mettre en valeur avec ces balises et c'est bon ! Je reprends un peu l'exemple de tout à l'heure et j'y mets quelques mots en évidence :
<!DOCTYPE html>
charset="utf-8"
Emphase
Bonjour et bienvenue sur mon site !
Ceci est mon premier test alors soyez indulgents s'il vous plaît, j'apprends petit à petit comment cela marche.
Comme vous pouvez le voir, utiliser la balise
<em> a pour conséquence de mettre le texte en italique. En fait, c'est le navigateur qui choisit comment afficher les mots. On lui dit que les mots sont assez importants et, pour faire ressortir cette information, il change l'apparence du texte en utilisant l'italique.Mettre bien en valeur
Pour mettre un texte bien en valeur, on utilise la balise
<strong> qui signifie « fort », ou « important » si vous préférez. Elle s'utilise exactement de la même manière que <em> :
<!DOCTYPE html>
charset="utf-8"
Forte emphase
Bonjour et bienvenue sur mon site !
Ceci est mon premier test alors soyez indulgents s'il vous plaît, j'apprends petit à petit comment cela marche.
Vous voyez sûrement le texte s'afficher en gras. Là encore, le gras n'est qu'une conséquence. Le navigateur a choisi d'afficher en gras les mots importants pour les faire ressortir davantage.
La balise
<strong> ne signifie pas « mettre en gras » mais « important ». On pourra décider plus tard, en CSS, d'afficher les mots « importants » d'une autre façon que le gras si on le souhaite.Marquer le texte
La balise
<mark> permet de faire ressortir visuellement une portion de texte. L'extrait n'est pas forcément considéré comme important mais on veut qu'il se distingue bien du reste du texte. Cela peut être utile pour faire ressortir un texte pertinent après une recherche sur votre site par exemple.
<!DOCTYPE html>
charset="utf-8"
Marquage du texte
Bonjour et bienvenue sur mon site !
Ceci est mon premier test alors soyez indulgents s'il vous plaît, j'apprends petit à petit comment cela marche.
Par défaut,
<mark> a pour effet de surligner le texte. On pourra changer l'affichage en CSS (décider de surligner dans une autre couleur, d'encadrer le texte, etc.). C'est le même principe que ce que je vous disais pour les balises précédentes : elles indiquent le sens des mots et non pas comment ceux-ci doivent s'afficher.N'oubliez pas : HTML pour le fond, CSS pour la forme
Je vais peut-être vous sembler un peu lourd mais il est très important qu'on se comprenne bien car les débutants font souvent la même grosse erreur à ce stade. Ils ont vu les balises
<em>, <strong>, <mark>… et ils se disent : « Chouette, j'ai découvert comment mettre en italique, en gras et comment surligner du texte en HTML ! ».
Et pourtant… ce n'est pas à cela que servent ces balises ! Je sais, je sais, vous allez me dire « Oui mais quand j'utilise
<strong> le texte apparaît en gras, donc c'est pour mettre en gras. » et pourtant, c'est une erreur de croire que cette balise sert à cela.
Le rôle des balises est d'indiquer le sens du texte. Ainsi,
Et pour montrer que le texte est important, l'ordinateur décide de le mettre en gras (mais il pourrait aussi bien l'écrire en rouge !). La plupart des navigateurs affichent les textes importants en gras, mais rien ne les y oblige.
<strong> indique à l'ordinateur « Ce texte est important ». C'est tout.Et pour montrer que le texte est important, l'ordinateur décide de le mettre en gras (mais il pourrait aussi bien l'écrire en rouge !). La plupart des navigateurs affichent les textes importants en gras, mais rien ne les y oblige.
Je ne comprends pas. À quoi cela sert-il que l'ordinateur sache qu'un texte est important ?
Il n'est pas assez intelligent pour comprendre !
Il n'est pas assez intelligent pour comprendre !
Détrompez-vous ! De nombreux programmes analysent le code source des pages web, à commencer par les robots de moteurs de recherche. Ces robots parcourent le Web en lisant le code HTML de tous les sites. C'est le cas des robots de Google et de Bing, par exemple. Les mots-clés « importants » ont tendance à avoir plus de valeur à leurs yeux, donc si quelqu'un fait une recherche sur ces mots, il a plus de chances de tomber sur votre site.
Bien entendu, c'est une explication grossière et il ne faut pas croire qu'utiliser la balise
Bien entendu, c'est une explication grossière et il ne faut pas croire qu'utiliser la balise
<strong> à tout-va améliorera votre référencement. Il faut simplement faire confiance aux ordinateurs : ils comprennent ce qu'un texte « important » veut dire et peuvent se servir de cette information.
Mais alors, comment fait-on pour mettre spécifiquement en gras, pour écrire en rouge, et tout et tout ?
Tout cela se fait en CSS. Souvenez-vous :
- le HTML définit le fond (contenu, logique des éléments) ;
- le CSS définit la forme (apparence).
Nous verrons le CSS plus loin, pour l'instant nous nous concentrons sur le HTML et ses balises, qui ont chacune un sens particulier.
Les listes
Les listes nous permettent souvent de mieux structurer notre texte et d'ordonner nos informations.
Nous allons découvrir ici deux types de listes :
Nous allons découvrir ici deux types de listes :
- les listes non ordonnées ou listes à puces ;
- les listes ordonnées ou listes numérotées ou encore énumérations.
Liste non ordonnée
Une liste non ordonnée ressemble à ceci :
- Fraises
- Framboises
- Cerises
C'est un système qui nous permet de créer une liste d'éléments sans notion d'ordre (il n'y a pas de « premier » ni de « dernier »). Créer une liste non ordonnée est très simple. Il suffit d'utiliser la balise
Commencez donc à taper ceci :
<ul> que l'on referme un peu plus loin avec </ul>.Commencez donc à taper ceci :
Et maintenant, voilà ce qu'on va faire : on va écrire chacun des éléments de la liste entre deux balises
<li></li>. Chacune de ces balises doit se trouver entre <ul> et </ul>. Vous allez comprendre de suite avec cet exemple :
Fraises
Framboises
Cerises
Le résultat se trouve à la figure suivante.

Retenez donc ces deux balises :
<ul></ul>délimite toute la liste ;<li></li>délimite un élément de la liste (une puce).
Vous pouvez mettre autant d'éléments que vous voulez dans la liste à puces, vous n'êtes pas limités à trois éléments.
Et voilà, vous savez créer une liste à puces ! Pas si dur une fois qu'on a compris comment imbriquer les balises.
Liste ordonnée
Une liste ordonnée fonctionne de la même façon, seule une balise change : il faut remplacer
À l'intérieur de la liste, on ne change rien : on utilise toujours des balises
<ul></ul> par<ol></ol>.À l'intérieur de la liste, on ne change rien : on utilise toujours des balises
<li></li> pour délimiter les éléments.
Comme c'est particulièrement intuitif, je vous laisse admirer la simplicité de cet exemple (résultat à la figure suivante) :
Ma journée
Je me lève.
Je mange et je bois.
Je retourne me coucher.

Par rapport à l'exemple précédent, tout ce qu'on a eu à changer est donc la balise
<ol>.En résumé
- Le HTML comporte de nombreuses balises qui nous permettent d'organiser le texte de notre page. Ces balises donnent des indications comme « Ceci est un paragraphe », « Ceci est un titre », etc.
- Les paragraphes sont définis par la balise
<p> </p>et les sauts de ligne par la balise<br />. - Il existe six niveaux de titre, de
<h1> </h1>à<h6> </h6>, à utiliser selon l'importance du titre. - On peut mettre en valeur certains mots avec les balises
<strong>,<em>et<mark>. - Pour créer des listes, on doit utiliser la balise
<ul>(liste à puces, non ordonnée) ou<ol>(liste ordonnée). À l'intérieur, on insère les éléments avec une balise<li>pour chaque item.
PRATIQUEZ !
Avez-vous bien compris les premiers chapitres ? Entraînez-vous à coder avec cet éditeur interactif de code !
Cliquez sur l'éditeur ci-dessous pour commencer l'exercice :
Vous allez construire votre première page HTML. Choisissez bien les balises (vous avez le droit de revoir les chapitres précédents !), placez-les au bon endroit et cliquez sur le bouton "Build website" pour tester votre code !
CRÉER DES LIENS
Au chapitre précédent, vous avez appris à créer une page HTML toute simple. D'accord, elle n'était pas franchement magnifique, mais c'était une vraie page HTML quand même.
Comme vous le savez, un site web est composé de plusieurs pages. Comment faire pour aller d'une page vers une autre ? À l'aide de liens pardi ! Dans ce chapitre, nous allons justement apprendre à créer des liens entre nos pages.
Je suppose que chacun d'entre vous sait ce qu'est un lien : il s'agit d'un texte sur lequel on peut cliquer pour se rendre sur une autre page.
On peut faire un lien d'une page
On peut faire un lien d'une page
a.html vers une page b.html, mais on peut aussi faire un lien vers un autre site (par exemple, http://www.siteduzero.com). Dans les deux cas, nous allons voir que le fonctionnement est le même.Un lien vers un autre site
Il est facile de reconnaître les liens sur une page : ils sont écrits d'une façon différente (par défaut, en bleu et soulignés) et un curseur en forme de main apparaît lorsqu'on pointe dessus.
Je vous propose d'essayer de coder le lien qui amène vers OpenClassrooms, comme à la figure suivante.

Pour faire un lien, la balise que nous allons utiliser est très simple à retenir :
<a>. Il faut cependant lui ajouter un attribut, href, pour indiquer vers quelle page le lien doit conduire.
Par exemple, le code ci-dessous est un lien qui amène vers OpenClassrooms, situé à l'adresse
https://openclassrooms.com :
href="https://openclassrooms.com"OpenClassrooms
Nous allons placer ce lien au sein d'un paragraphe. Voici donc comment reproduire l'exemple de la figure précédente :
Bonjour. Vous souhaitez visiter href="https://openclassrooms.com"OpenClassrooms ?
C'est un bon site ;o)
Si vous voulez faire un lien vers un autre site, il suffit donc de copier son adresse (on parle d'URL) en
http://. Notez que certains liens commencent parfois par https:// (sites sécurisés, comme OpenClassrooms) ou d'autres préfixes (ftp://,…).
Les liens que nous venons de voir sont appelés liens absolus car on indique l'adresse complète. Nous allons maintenant voir que l'on peut écrire les liens d'une façon un peu différente, ce qui va nous être utile pour faire des liens entre les pages de notre site.
Un lien vers une autre page de son site
Nous venons d'apprendre à créer des liens vers des sites existants. Mais je suis sûr que vous aimeriez faire des liens entre les différentes pages de votre site, non ?
Oui, justement, comment je fais pour faire un lien vers une autre page de mon site ? Je ne connais pas son adresse en
http://…, je commence à peine à créer mon site là ! Je n'ai pas d'adresse.
En effet, pour le moment, vous êtes en train de créer votre site sur votre ordinateur. Vous êtes le seul à pouvoir le voir et il n'a pas encore « d'adresse web » qui commence en
http:// comme la plupart des sites. Heureusement, cela ne va pas nous empêcher de travailler.Deux pages situées dans un même dossier
Pour commencer, nous allons créer deux fichiers correspondant à deux pages HTML différentes. Comme je suis très inspiré, je vous propose de les appeler
page1.html et page2.html. Nous aurons donc ces deux fichiers sur notre disque dans le même dossier (figure suivante).
Comment faire un lien de la page 1 vers la page 2, sans avoir d'adresse en
http:// ? En fait, c'est facile : si les deux fichiers sont situés dans le même dossier, il suffit d'écrire comme cible du lien le nom du fichier vers lequel on veut amener. Par exemple : <a href="page2.html">. On dit que c'est un lien relatif.
Voici le code que nous allons utiliser dans nos fichiers
page1.html et page2.html.
page1.html
Bonjour. Souhaitez-vous consulter href="page2.html"la page 2 ?
page2.html
La page 2 (page d'arrivée) affichera simplement un message pour indiquer que l'on est bien arrivé sur la page 2 :
Bienvenue sur la page 2 !
Deux pages situées dans des dossiers différents
Les choses se corsent un petit peu si les pages sont situées dans des dossiers différents. Idéalement, elles ne devraient pas être trop loin l'une de l'autre (dans un sous-dossier par exemple).
Imaginons que
page2.html se trouve dans un sous-dossier appelé contenu, comme à la figure suivante.
Dans ce cas de figure, le lien doit être rédigé comme ceci :
href="contenu/page2.html"
S'il y avait plusieurs sous-dossiers, on écrirait ceci :
href="contenu/autredossier/page2.html"
Et si le fichier ne se trouve pas dans un sous-dossier mais dans un dossier « parent », on fait comment ?
Si votre fichier cible est placé dans un dossier qui se trouve « plus haut » dans l'arborescence, il faut écrire deux points comme ceci :
href="../page2.html"
Résumé en images
Les liens relatifs ne sont pas bien compliqués à utiliser une fois qu'on a compris le principe. Il suffit de regarder dans quel « niveau de dossier » se trouve votre fichier cible pour savoir comment écrire votre lien. La figure suivante fait la synthèse des différents liens relatifs possibles.

Un lien vers une ancre
Une ancre est une sorte de point de repère que vous pouvez mettre dans vos pages HTML lorsqu'elles sont très longues.
En effet, il peut alors être utile de faire un lien amenant plus bas dans la même page pour que le visiteur puisse sauter directement à la partie qui l'intéresse.
En effet, il peut alors être utile de faire un lien amenant plus bas dans la même page pour que le visiteur puisse sauter directement à la partie qui l'intéresse.
Pour créer une ancre, il suffit de rajouter l'attribut
Utilisez l'attribut
id à une balise qui va alors servir de repère. Ce peut être n'importe quelle balise, un titre par exemple.Utilisez l'attribut
id pour donner un nom à l'ancre. Cela nous servira ensuite pour faire un lien vers cette ancre. Par exemple :
id="mon_ancre"Titre
Ensuite, il suffit de créer un lien comme d'habitude, mais cette fois l'attribut
href contiendra un dièse (#) suivi du nom de l'ancre. Exemple :
href="#mon_ancre"Aller vers l'ancre
Normalement, si vous cliquez sur le lien, cela vous amènera plus bas dans la même page (à condition que la page comporte suffisamment de texte pour que les barres de défilement se déplacent automatiquement).
Voici un exemple de page comportant beaucoup de texte et utilisant les ancres (j'ai mis n'importe quoi dans le texte pour remplir ) :
Voici un exemple de page comportant beaucoup de texte et utilisant les ancres (j'ai mis n'importe quoi dans le texte pour remplir ) :
Ma grande page
Aller directement à la partie traitant de :
href="#cuisine"La cuisine
href="#rollers"Les rollers
href="#arc"Le tir à l'arc
id="cuisine"La cuisine
... (beaucoup de texte) ...
id="rollers"Les rollers
... (beaucoup de texte) ...
id="arc"Le tir à l'arc
... (beaucoup de texte) ...
S'il ne se passe rien quand vous cliquez sur les liens, c'est qu'il n'y a pas assez de texte. Dans ce cas, vous pouvez soit rajouter du blabla dans la page pour qu'il y ait (encore) plus de texte, soit réduire la taille de la fenêtre de votre navigateur pour faire apparaître les barres de défilement sur le côté.
Lien vers une ancre située dans une autre page
Alors là je vous préviens, on va faire le Mégamix !
L'idée, c'est de faire un lien qui ouvre une autre page ET qui amène directement à une ancre située plus bas sur cette page.
En pratique c'est assez simple à faire : il suffit de taper le nom de la page, suivi d'un dièse (
En pratique c'est assez simple à faire : il suffit de taper le nom de la page, suivi d'un dièse (
#), suivi du nom de l'ancre.
Par exemple :
<a href="ancres.html#rollers">
… vous amènera sur la page
ancres.html, directement au niveau de l'ancre appelée rollers.
Voici une page qui contient trois liens, chacun amenant vers une des ancres de la page de l'exemple précédent :
Le Mégamix
Rendez-vous quelque part sur une autre page :
href="ancres.html#cuisine"La cuisine
href="ancres.html#rollers"Les rollers
href="ancres.html#arc"Le tir à l'arc
Cas pratiques d'utilisation des liens
Je vais essayer de vous montrer ici quelques cas pratiques d'utilisation des liens. Par exemple, saviez-vous qu'il est très facile de faire des liens qui lancent un téléchargement ? Qui créent un nouvel e-mail ? Qui ouvrent une nouvelle fenêtre ?
Non ? Eh bien nous allons voir tout cela ici.
Un lien qui affiche une infobulle au survol
Vous pouvez utiliser l'attribut
title qui affiche une bulle d'aide lorsqu'on pointe sur le lien. Cet attribut est facultatif.
Vous aurez un résultat ressemblant à la figure suivante.

La bulle d'aide peut être utile pour informer le visiteur avant même qu'il n'ait cliqué sur le lien.
Voici comment reproduire ce résultat :
Voici comment reproduire ce résultat :
Bonjour. Souhaitez-vous visiter href="https://openclassrooms.com" title="Vous ne le regretterez pas !"OpenClassrooms ?
Un lien qui ouvre une nouvelle fenêtre
Il est possible de « forcer » l'ouverture d'un lien dans une nouvelle fenêtre. Pour cela, on rajoutera
target="_blank" à la balise <a> :
Bonjour. Souhaitez-vous visiter href="https://openclassrooms.com" title="Vous ne le regretterez pas !" target="_blank"OpenClassrooms ?
Un lien pour envoyer un e-mail
Si vous voulez que vos visiteurs puissent vous envoyer un e-mail, vous pouvez utiliser des liens de type
mailto. Rien ne change au niveau de la balise, vous devez simplement modifier la valeur de l'attribut hrefcomme ceci :
href="mailto:votrenom@bidule.com"Envoyez-moi un e-mail !
Il suffit donc de faire commencer le lien par
mailto: et d'écrire l'adresse e-mail où on peut vous contacter. Si vous cliquez sur le lien, un nouveau message vide s'ouvre, prêt à être envoyé à votre adresse e-mail.Un lien pour télécharger un fichier
Beaucoup d'entre vous se demandent comment cela se passe pour le téléchargement d'un fichier… En fait, il faut procéder exactement comme si vous faisiez un lien vers une page web, mais en indiquant cette fois le nom du fichier à télécharger.
Par exemple, supposez que vous vouliez faire télécharger
monfichier.zip. Placez simplement ce fichier dans le même dossier que votre page web (ou dans un sous-dossier) et faites un lien vers ce fichier :
href="monfichier.zip"Télécharger le fichier
C'est tout ! Le navigateur, voyant qu'il ne s'agit pas d'une page web à afficher, va lancer la procédure de téléchargement lorsqu'on cliquera sur le lien.
En résumé
- Les liens permettent de changer de page et sont, par défaut, écrits en bleu et soulignés.
- Pour insérer un lien, on utilise la balise
<a>avec l'attributhrefpour indiquer l'adresse de la page cible. Exemple :<a href="https://openclassrooms.com">. - On peut faire un lien vers une autre page de son site simplement en écrivant le nom du fichier :
<a href="page2.html">. - Les liens permettent aussi d'amener vers d'autres endroits sur la même page. Il faut créer une ancre avec l'attribut
idpour « marquer » un endroit dans la page, puis faire un lien vers l'ancre comme ceci :<a href="#ancre">.
LES IMAGES
Insérer une image dans une page web ? Vous allez voir, c'est d'une facilité déconcertante… Enfin presque. Il existe différents formats d'image que l'on peut utiliser sur des sites web, et on ne doit pas les choisir au hasard. En effet, les images sont parfois volumineuses à télécharger, ce qui ralentit le temps de chargement de la page (beaucoup plus que le texte !).
Pour faire en sorte que vos pages restent lisibles et rapides à télécharger, suivez donc activement mes conseils !
Les différents formats d'images
Savez-vous ce qu'est un format d'image ?
Quand vous avez une image « entre les mains », vous avez la possibilité de l'enregistrer dans plusieurs « formats » différents. Le poids (en Ko, voire en Mo) de l'image sera plus ou moins élevé selon le format choisi et la qualité de l'image va changer.
Par exemple, le logiciel de dessin Paint (même si c'est loin d'être le meilleur) vous propose de choisir entre plusieurs formats lorsque vous enregistrez une image (figure suivante).

Certains formats sont plus adaptés que d'autres selon l'image (photo, dessin, image animée…). Notre but ici est de faire le tour des différents formats utilisés sur le Web pour que vous les connaissiez et sachiez choisir celui qui convient le mieux à votre image. Rassurez-vous, il n'y a pas beaucoup de formats différents, cela ne sera donc pas bien long.
Toutes les images diffusées sur Internet ont un point commun : elles sont compressées. Cela veut dire que l'ordinateur fait des calculs pour qu'elles soient moins lourdes et donc plus rapides à charger.
Le JPEG
Les images au format JPEG (Joint Photographic Expert Group) sont très répandues sur le Web. Ce format est conçu pour réduire le poids des photos (c'est-à-dire la taille du fichier associé), qui peuvent comporter plus de 16 millions de couleurs différentes. La figure suivante est une photo enregistrée au format JPEG.

Les images JPEG sont enregistrées avec l'extension
.jpgou.jpeg.
Notez que le JPEG détériore un peu la qualité de l'image, d'une façon généralement imperceptible. C'est ce qui le rend si efficace pour réduire le poids des photos.
Quand il s'agit d'une photo, on ne peut généralement pas détecter la perte de qualité. Par contre, si ce n'est pas une photo, vous risquez de voir l'image un peu « baver ». Dans ce cas, il vaut mieux utiliser le format PNG.
Quand il s'agit d'une photo, on ne peut généralement pas détecter la perte de qualité. Par contre, si ce n'est pas une photo, vous risquez de voir l'image un peu « baver ». Dans ce cas, il vaut mieux utiliser le format PNG.
Le PNG
Le format PNG (Portable Network Graphics) est le plus récent de tous. Ce format est adapté à la plupart des graphiques (je serais tenté de dire « à tout ce qui n'est pas une photo »). Le PNG a deux gros avantages : il peut être rendu transparent et il n'altère pas la qualité de l'image.
Le PNG a été inventé pour concurrencer un autre format, le GIF, à l'époque où il fallait payer des royalties pour pouvoir utiliser des GIF. Depuis, le PNG a bien évolué et c'est devenu le format le plus puissant pour enregistrer la plupart des images.
Le PNG existe en deux versions, en fonction du nombre de couleurs que doit comporter l'image :
- PNG 8 bits : 256 couleurs ;
- PNG 24 bits : 16 millions de couleurs (autant qu'une image JPEG).
La figure suivante est une image PNG en 24 bits, représentant Zozor, qui sera notre mascotte tout au long de ce cours.

Au fait, si le PNG 24 bits peut afficher autant de couleurs qu'une image JPEG, et qu'en plus il peut être rendu transparent sans modifier la qualité de l'image… quel est l'intérêt du JPEG ?
La compression du JPEG est plus puissante sur les photos. Une photo enregistrée en JPEG se chargera toujours beaucoup plus vite que si elle était enregistrée en PNG. Je vous conseille donc toujours de réserver le format JPEG aux photos.
Le GIF
C'est un format assez vieux, qui a été néanmoins très utilisé (et qui reste très utilisé par habitude). Aujourd'hui, le PNG est globalement bien meilleur que le GIF : les images sont généralement plus légères et la transparence est de meilleure qualité. Je vous recommande donc d'utiliser le PNG autant que possible.
Le format GIF est limité à 256 couleurs (alors que le PNG peut aller jusqu'à plusieurs millions de couleurs).
Néanmoins, le GIF conserve un certain avantage que le PNG n'a pas : il peut être animé. D'où l'explosion ces dernières années des GIF animés sur le web (aussi appelé "reaction gifs").

Il existe un format adapté à chaque image
Si on résume, voici quel format adopter en fonction de l'image que vous avez :
- Une photo : utilisez un JPEG.
- N'importe quel graphique avec peu de couleurs (moins de 256) : utilisez un PNG 8 bits ou éventuellement un GIF.
- N'importe quel graphique avec beaucoup de couleurs : utilisez un PNG 24 bits.
- Une image animée : utilisez un GIF animé.
Les erreurs à éviter
Bannissez les autres formats
Les autres formats non cités ici, comme le format BITMAP (
*.bmp) sont à bannir car bien souvent ils ne sont pas compressés, donc trop gros. Ils ne sont pas du tout adaptés au Web. On peut en mettre sur son site mais le chargement sera vraiment extrêmement long !Choisissez bien le nom de votre image
Si vous voulez éviter des problèmes, prenez l'habitude d'enregistrer vos fichiers avec des noms en minuscules, sans espace ni accent, par exemple :
mon_image.png.
Vous pouvez remplacer les espaces par le caractère underscore (« _ ») comme je l'ai fait ici.
Insérer une image
Revenons maintenant au code HTML pour découvrir comment placer des images dans nos pages web !
Insertion d'une image
Quelle est la fameuse balise qui va nous permettre d'insérer une image ? Il s'agit de…
<img />!
C'est une balise de type orpheline (comme
<br />). Cela veut dire qu'on n'a pas besoin de l'écrire en deux exemplaires comme la plupart des autres balises que nous avons vues jusqu'ici. En effet, nous n'avons pas besoin de délimiter une portion de texte, nous voulons juste insérer une image à un endroit précis.
La balise doit être accompagnée de deux attributs obligatoires :
src: il permet d'indiquer où se trouve l'image que l'on veut insérer. Vous pouvez soit mettre un chemin absolu (ex. :http://www.site.com/fleur.png), soit mettre le chemin en relatif (ce qu'on fait le plus souvent). Ainsi, si votre image est dans un sous-dossierimages, vous devrez taper :src="images/fleur.png"alt: cela signifie « texte alternatif ». On doit toujours indiquer un texte alternatif à l'image, c'est-à-dire un court texte qui décrit ce que contient l'image. Ce texte sera affiché à la place de l'image si celle-ci ne peut pas être téléchargée (cela arrive), ou dans les navigateurs de personnes handicapées (non-voyants) qui ne peuvent malheureusement pas « voir » l'image. Cela aide aussi les robots des moteurs de recherche pour les recherches d'images. Pour la fleur, on mettrait par exemple :alt="Une fleur".
Les images doivent se trouver obligatoirement à l'intérieur d'un paragraphe (
<p></p>). Voici un exemple d'insertion d'image :
Voici une photo que j'ai prise lors de mes dernières vacances à la montagne :
src="images/montagne.jpg" alt="Photo de montagne"
Bref, l'insertion d'image est quelque chose de très facile pour peu qu'on sache indiquer où se trouve l'image, comme on avait appris à le faire avec les liens.
La plus grosse « difficulté » (si on peut appeler cela une difficulté) consiste à choisir le bon format d'image. Ici, c'est une photo donc c'est évidemment le format JPEG qu'on utilise.
La plus grosse « difficulté » (si on peut appeler cela une difficulté) consiste à choisir le bon format d'image. Ici, c'est une photo donc c'est évidemment le format JPEG qu'on utilise.
Ajouter une infobulle
L'attribut permettant d'afficher une bulle d'aide est le même que pour les liens : il s'agit de
title. Cet attribut est facultatif (contrairement à alt).
Voici ce que cela peut donner :
Voici une photo que j'ai prise lors de mes dernières vacances à la montagne :
src="images/montagne.jpg" alt="Photo de montagne" title="C'est beau les Alpes quand même !"
Survolez la photo avec la souris pour voir l'infobulle apparaître.
Miniature cliquable
Si votre image est très grosse, il est conseillé d'en afficher la miniature sur votre site. Ajoutez ensuite un lien sur cette miniature pour que vos visiteurs puissent afficher l'image en taille originale.
De nombreux sites permettent de redimensionner des images, comme ResizeImage.net par exemple. Je vais ainsi disposer de deux versions de ma photo, comme à la figure suivante) : la miniature et l'image d'origine.

Je les place toutes les deux dans un dossier appelé par exemple
img. J'affiche la version montagne_mini.jpgsur ma page et je fais un lien vers montagne.jpg pour que l'image agrandie s'affiche lorsqu'on clique sur la miniature.
Voici le code HTML que je vais utiliser pour cela :
Vous souhaitez voir l'image dans sa taille d'origine ? Cliquez dessus !
href="img/montagne.jpg" src="img/montagne_mini.jpg" alt="Photo de montagne" title="Cliquez pour agrandir"
Les figures
Au cours de la lecture de ce livre, vous avez déjà rencontré plusieurs fois des figures. Ce sont des éléments qui viennent enrichir le texte pour compléter les informations de la page.
Les figures peuvent être de différents types :
- images ;
- codes source ;
- citations ;
- etc.
Bref, tout ce qui vient illustrer le texte est une figure. Nous allons ici nous intéresser aux images mais, contrairement à ce qu'on pourrait croire, les figures ne sont pas forcément des images : un code source aussi illustre le texte.
Création d'une figure
Reprenons par exemple cette capture d'écran du premier chapitre, représentée à la figure suivante.

En HTML5, on dispose de la balise
<figure>. Voici comment on pourrait l'utiliser :
src="images/blocnotes.png" alt="Bloc-Notes"
Une figure est le plus souvent accompagnée d'une légende. Pour ajouter une légende, utilisez la balise
<figcaption>à l'intérieur de la balise <figure>, comme ceci :
src="images/blocnotes.png" alt="Bloc-Notes"
Le logiciel Bloc-Notes
Bien comprendre le rôle des figures
Un peu plus tôt dans ce chapitre, je vous ai dit que les images devaient être situées dans des paragraphes (placées à l'intérieur d'une balise
<p></p>). Ce n'est pas tout à fait vrai.
Si vous faites de votre image une figure, l'image peut être située en-dehors d'un paragraphe.
Connaissez-vous le logiciel Bloc-Notes ? On peut faire des sites web avec !
src="images/blocnotes.png" alt="Bloc-Notes"
Le logiciel Bloc-Notes
Je ne vois pas vraiment de changement. Quand dois-je placer mon image dans un paragraphe et quand dois-je la placer dans une figure ?
Bonne question ! Tout dépend de ce que votre image apporte au texte :
- Si elle n'apporte aucune information (c'est juste une illustration pour décorer) : placez l'image dans un paragraphe.
- Si elle apporte une information : placez l'image dans une figure.
La balise
<figure>a un rôle avant tout sémantique. Cela veut dire qu'elle indique à l'ordinateur que l'image a du sens et qu'elle est importante pour la bonne compréhension du texte. Cela peut permettre à un programme de récupérer toutes les figures du texte et de les référencer dans une table des figures, par exemple.
Enfin, sachez qu'une figure peut très bien comporter plusieurs images. Voici un cas où cela se justifie :
src="images/internetexplorer.png" alt="Logo Internet Explorer"
src="images/firefox.png" alt="Logo Mozilla Firefox"
src="images/chrome.png" alt="Logo Google Chrome"
Logos des différents navigateurs
En résumé
- Il existe plusieurs formats d'images adaptées au Web :
- JPEG : pour les photos ;
- PNG : pour toutes les autres illustrations ;
- GIF : similaire au PNG, plus limité en nombre de couleurs mais qui peut être animé.
- On insère une image avec la balise
<img />. Elle doit obligatoirement comporter au moins ces deux attributs :src(nom de l'image) etalt(courte description de l'image). - Si une image illustre le texte (et n'est pas seulement décorative), il est conseillé de la placer au sein d'une balise
<figure>. La balise<figcaption>permet d'écrire la légende de l'image.
objectif réussit








Aucun commentaire:
Enregistrer un commentaire