O
n a tous pris l'habitude de visiter des sites Web tous les jours et jusque là,
on se contentait d'être de simples visiteurs parce qu'on croit que derrière
ce superbe site Web que nous aimons tant visiter, se cachent des super
doués en informatique, qui eux seuls savent comment on crée un truc pareil...
Mais ça, c'était avant! Cette vieille perception des choses va changer dès
maintenant. Nous allons découvrir dans ce livre comment on peut créer un
superbe site Web même quand on ne sait seulement que comment allumer un
ordinateur actuellement.
Nous allons apprendre pas à pas à créer et gérer des sites Web en partant de
zéro jusqu'à la mise en activité de nos sites Web.
Le Web est une partie d’Internet, à ne pas confondre avec Internet qui lui est un
ensemble plus vaste et comprend le Web, les e-mails, etc. Pour accéder au Web, on
utilise un navigateur Web dans lequel il faut introduire l’adresse de la page Web que
l’on souhaiterait consulter. Internet Explorer est le navigateur Web intégré par défaut sur
les ordinateurs qui tournent sous Windows ; et Safari pour les Mac.
Pour créer un site Web, il faut avant tout écrire les codes sources des pages du site.
Mais ces codes sources, on ne les écrit pas comme on écrit un texte de courrier, On le
fait dans le (ou les) langage(s) que le navigateur Web pourra comprendre et traduire
pour les gens qui visiteront notre site: HTML et CSS.
Ce sont là les deux langages universels et incontournables du Web. Ils sont à la base
même des sites Web.
HTML signifie Hyper Text Markup Language, il a été créé en 1991 par Sir Tim Berbers-
Lee à travers un document appelé « HTML Tags » dans lequel il a proposé moins d’une
douzaine d’élément qu’on pourrait utiliser pour écrire des pages Web. C’était le HTML
1.0
HTML a jusque là été un langage en pleine évolution. Ses spécifications ont changé au
cours des années avec des améliorations à chaque version, tendant à rendre la création
Web beaucoup plus aisé.
La dernière version à ce jour où nous écrivons ces lignes, est la version 5, ce que nous
allons apprendre…
HTML5 a été finalisé et publié le 28 octobre 2014 par le World Wide Web Consortium
(W3C), l’organisation en charge de la définition des standards et des spécifications du
HTML. Les avantages de HTML sont nombreux : un langage facile à comprendre et
utiliser, un langage supporté par quasiment tous les navigateurs, un langage très utilisé et
donc offrant une très large communauté mondiale, un langage gratuit ! Vous ne payerez
pas d’argent pour acheter une licence logicielle, et pleins d’autres.
HTML ne peut malheureusement pas produire des effets dynamiques, c’est un langage
statique ; les options de sécurités offertes sont limitées et parfois la structure des pages
est difficile à mettre en place.
CSS signifie Cascading Style Sheets, feuilles de style en cascade. C’est une extension de
HTML qui permet de styler les pages Web. Il décrit la façon dont les éléments HTML
doivent être disposés à l’écran, sur papier ou autres média.
CSS a été inventé par Häkon Wium Lie, le 10 octobre 1994. Il est maintenu par un
groupe au sein du W3C appelé « The CSS Working Group ». Il évolue au fil des années
et est à son 3e niveau actuellement.
CSS3 est la version que nous allons apprendre ici.
Ses avantages sont multiples : gain remarquable de temps dans la création Web,
Chargement plus rapide des pages, maintenance facile des pages Web, Compatibilité
sur multiples appareils, utilisation hors ligne par mise en cache...
Aperçu de HTML
Lorsque vous visitez un site Web, vous voyez une page en clair comme sur cet exemple :
Bien, maintenant faites Clic droit avec votre souris dans un endroit de la page Web
active (désolé pour ceux qui sont sur mobile) et Afficher le code source de la page
(Ctrl+U, les fanas des raccourcis sont où là ?).
Le résultat est quelque chose qui ressemble à ceci :
Figure2 : Ctrl+U affiche le code source du site Web que vous visitez à cet instant
Ce que vous allez apprendre, c’est d’écrire comme sur la figure 2 pour obtenir
un rendu comme sur la figure 1.
- du temps,
- un navigateur Web installé sur votre machine. Chez moi c’est
Opera. Vous pouvez utiliser celui qui vous plait le plus, l’essentiel
c’est qu’il puisse afficher des pages Web…
… d’attributs et de valeurs
Les éléments HTML ont le plus souvent des attributs, et les attributs, des valeurs.
Donc, un élément HTML aura la forme :
<balise attribut="valeur"> … </balise>
(Ou <balise attribut="valeur" />, pour certains).
Un élément HTML peut avoir plusieurs attributs mais un attribut n’a généralement pas
plusieurs valeurs, à l’exception de quelques uns que nous verrons plus tard.
U
n document HTML5 est constitué par une tête et un corps. Le corps du
document peut contenir un pied de page! Le tout compris entre la balise
<html> et sa fermante </html>. L’élément html (<html>…</html>)
doit être unique pour chaque document HTML.
…
<html>
<head>
…
</head>
<body>
…
</body>
</html>
La tête <head>…</head>
La tête d’un document HTML5 n’est pas visible sur la page Web. Elle est utilisée à titre
indicatif au navigateur Web et aux moteurs de recherche (si votre site est sur la toile).
Donc tout ce que vous écrirez entre <head> et </head> (à part le titre du
document), personne ne le verra à moins d’afficher votre code source.
La structure basique de la tête d’un document HTML5 se présente comme suit :
<head>
<meta charset="utf-8" />
<title>Mon premier site Web</title>
</head>
Le corps <body>…</body>
Le corps du document est la partie qui sera visible lorsqu’on se rendra sur votre site. Il
contient la plus grande partie des éléments HTML.
Le corps se présente comme ceci :
<body>
<balise1 attribut="valeur">…</balise1>
<baliseN attribut="valeur">…</baliseN>
… … … … …
</body>
Création du code
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8" />
5 <title>Mon premier site Web</title>
6 </head>
7 <body>
8 Bonjour et Bienvenue sur mon premier site Web!
9 </body>
10 </html>
Nativement, l’arrière plan de Notepad++ est blanc. Mais si vous commencez à mettre
du temps devant votre Notepad++ natif, vous allez vite vous fatiguer les yeux. Pour
changer de thème, cliquez sur Paramétrage > Configurateur de coloration
syntaxique… > Thème
Notepad++ change la couleur des balises HTML pour faciliter l’écriture du code
Enregistrement du code
Cliquez sur Fichier et Enregistrer sous (Ctrl+S pour les fanas des raccourcis !)
Créer un nouveau dossier et nommez-le « test » puis touche Entrée pour sauver.
Double-cliquez sur le nouveau dossier pour l’ouvrir
Notez que l’icône du fichier « test.html » dépend de votre navigateur par défaut.
Chez moi c’est Opera donc normal de voir le Grand ‘’O’’ rouge !
Vous aurez remarqué que sur des lignes, le code est parfois plus ou moins décalé
de la gauche. C’est ce qu’on appelle « indentation » du code. On utilise la touche
Tab(Tabulation) pour le faire. Vous pourrez voir une touche avec deux flèches
opposées sur certains claviers juste au dessus de Ver. Maj ou Caps Lock.
Indenter son code à l’avantage de faciliter l’écriture du code en faisant apparaitre les balises pas
encore ou pas fermées.
Nous venons de créer notre premier site. Mais ça ressemble à quoi dans le
navigateur ? Pour le savoir, double-cliquez sur le fichier « test.html ».
Sûrement votre navigateur Web par défaut s’ouvre. Vous voyez quoi ?
Humm chez moi c’est…
Quoi ? Vous espériez voir un truc beaucoup plus beau que ça?
Bah c’est que vous avez dit au navigateur de vous rendre ! Faut écrire mieux pour
avoir mieux…
Si ça vous tente, faites Ctrl+U dans le navigateur. Vous retrouverez tout ce que vous
avez écrit dans votre éditeur de code.
Et aussi, ce qui ce trouvait entre <title> et </title> est en titre de page dans
le navigateur et le contenu de la page est uniquement ce qui était entre <body> et
</body>.
Explications
C’est la première ligne de notre code. Il spécifie la version HTML utilisé pour
la page actuelle. Ce n’est pas une balise comme les autres où il faut ouvrir et
fermer etc.… le doctype est unique dans la page et doit venir avant le reste de
votre code HTML. Les versions HTML antérieures à la 5e utilisent un doctype
beaucoup plus complexe, un truc du genre :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
(pour xHTML 1.0). Ça s’est beaucoup plus simplifié on dirait… Notez qu’il
commence par un point d’exclamation « ! ».
La balise <head>
L’en-tête ou la tête du document. Elle contient les balise <meta> et <title>, elle
en contiendra beaucoup plus dans la suite.
- <meta charset="utf-8" /> : l’attribut charset indique l’encodage des
caractères à utiliser pour la page actuelle. L’encodage définit la manière
d’afficher les caractères accentués, les lettres en Chinois traditionnel ou encore
en Japonais… Plusieurs types d’encodages peuvent être utilisés selon le codeur et
la langue dans laquelle il écrit. Les anglais utiliseraient ISO-8859-1, OEM 775,
Windows-1253 ou autre. Mais en français, préférons l’UTF-8, c’est plus classe et
tout est pris en charge !
En fait si vous voyez des caractères du genre ou des carrés
noirs façon là, c’est le type d’encodage utilisé qui n’est pas adapté au contenu
de la page.
Si ça vous tente de tester, écrivez juste des caractères accentués dans le code
précédent en laissant le charset à UTF-8, Ctrl+S et actualisez la fenêtre de votre
navigateur. Normalement, rien n’a changé. Maintenant changez seulement le
charset de UTF-8 à ISO-8859-1 et actualisez la fenêtre du « browser » à
nouveau. Notez la différence.
La balise <body>
Elle, vous la connaissez déjà.
Dans tous les langages informatiques, les commentaires sont très utiles pour la lisibilité
du code source. Ils ne sont pas interprétés par le traducteur du code mais peuvent
servir à se retrouver dans son propre code si on le reprenait des jours, des semaines,
voir des années après.
Pour insérer des commentaires en HTML, on écrit le texte du commentaire entre
<!-- et -->
L
e premier essai est un succès, le navigateur nous a rendu le contenu de notre
code mais c’est quand même trop Mumm… pour être un site, mais bon… c’est un
site! Essayons plutôt de faire un truc plus grand et beaucoup plus beau, comme
des grands !
L’organisation de notre code va se faire avec les éléments HTML (une balise ouvrante suivi
de sa fermante, ou des balises orphelines).
Soignez le code
En HTML, même si les erreurs ne bloquent pas la traduction du code (comme c’est le
cas dans les vrais langages de programmation), le bon sens demanderait qu’on écrive
un code propre et sans erreurs pour que le rendu des différents navigateurs ne
diffère pas trop de l’un à l’autre, car, que le code source soit propre ou pas, chaque
navigateur à sa manières de faire les choses. Il vous sera parfois très utile de tester
votre site sur au moins 3 navigateurs Web avant de le mettre sur la toile.
Fermez les balises après leur ouverture : votre code ne doit pas contenir les trucs du
genre
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8" />
5 <title>Titre de mon site</titre>
6 </head>
7 <body>
8 <element1>
9 …
10 </elemen1>
11 <element2>
12 …
13 < !-- une basile ouverte et pas fermée ici -->
14 </body>
15 </html>
Ne testez surtout pas ce code parce qu’il n’est pas du bon code (utilisation de balises
inconnues à HTML).
Respectez la hiérarchie entre les balises ; les balises se ferment dans leur ordre
d’ouverture. Toute balise ouverte à l’intérieur d’une autre doit être refermée avant son
élément parent, l’élément qui la contient. Ça veut dire que si j’ouvre une balise
<title> à l’intérieur de <head>, je ne dois pas refermer </head> avant
</title>, mais </title> avant </head>.
ILLUSTRATION :
Mauvais code :
<head><title>Mon titre ici</head></title>
Bon code:
<head><title>Mon titre ici</title></head>
Les paragraphes
C’est simple de faire des paragraphes en HTML ! Vous comprenez anglais ? Oui !
Super, ça ira plus vite comme ça (sinon revoyez votre cours de 6e 2 du Lycée
Moderne HTML5 ! vous n’avez pas jeté votre cahier, j’espère). Certaines balises
HTML5 prennent seulement l’initial anglais de leur vrai nom anglais. C’est le cas des
paragraphes. Vous devinez ? Un « p » !
Et donc voici l’élément HTML qui fera les paragraphes dans votre document :
<p> … </p>
Ainsi
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8" />
5 <title>Mon super site Web</title>
6 </head>
7 <body>
8 <p>
9 Ceci est un paragraphe
10 </p>
11 </body>
12 </html>
Et un deuxième, ce serait encore mieux ;)
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8" />
5 <title>Mon premier site Web </title>
6 </head>
7 <body>
8 <p>
9 Ceci est un paragraphe
10 </p>
11 <!-- Et mon super méga hyper commentaire passe par ici -->
12 <!-- Ensuite mon 2e et précieux paragraphe se trouve là ! --
>
13 <p>
14 Mon deuxième paragraphe est ici.
15 </p>
16 </body>
17 </html>
Copiez ce bout de code et Ctrl+S « noch ein mal » ! Bon je sais pas si c’est la bonne
expression mais je crois que « encore une fois » ressemble à ça en allemand :-P
Testez !
Par défaut, HTML insère une ligne libre avant et après un paragraphe.
Le paragraphe est un élément type bloc donc même si vous écrivez tout votre code
sur une ligne unique, le rendu serait le même !
Voyez ça :
Si on faisait Ctrl+U sur chacune des deux pages HTML, on n’obtiendrait pas la même
forme pour les deux codes sources. Le code source de « test.html » est plus long que
celui de « test2.html »
Le code source de « test.html » sur 17 lignes
Sous Notepad++, il faut activer le retour auto à la ligne pour éviter que son code ne
déborde (en largeur et devienne difficile à y naviguer).
Le code est plus facile à lire avec le Retour auto à la ligne
Retourner à la ligne
On a dit tout à l’heure que les paragraphes inséraient une nouvelle ligne avant
et après. En fait ça fait un retour à la ligne et puis retour à la ligne à nouveau.
Donc retour et ligne libre.
Mais quand vous faites du texte, vous ne voudrez parfois pas forcément faire un
nouveau paragraphe parce que c’est le même paragraphe qui doit continuer.
Ce dont vous avez besoin, c’est juste de retourner à une nouvelle ligne.
Pour cela, insérez une balise orpheline <br />.
Les normes HTML5 reconnaissent <br /> et <br> comme le même élément.
Alors pourquoi ne pas faire simple si vous codez sous HTML5 ? <br> et c’est
bon !
Le gras
En anglais : bold. Pour faire du texte en gras avec HTML, il suffit de mettre sont
texte à l’intérieur d’un élément <b> comme ceci :
Italic en anglais,
<i>Mon super texte en italique</i>
suffit pour faire du texte en italique.
Le souligné
Le barré
Important !
Marquez le texte
Faites du petit
A l’exposant 1million !
En indice aussi
Eh bien, on peur formater son texte de plusieurs manières. Nous en découvrirons plus
avec le CSS. Je vous laisse le temps de voir à quoi tout ceci ressemble à l’intérieur
d’un document HTML :
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8" />
5 <title>Mon super site Web </title>
6 </head>
7 <body>
8 <p>
9 <b>Mon super texte en gras</b> <br>
10 <i>Mon super texte en italique</i><br>
12 <u>Mon super texte souligné</u> <br>
15 <del>Mon super texte barré</del> <br>
16 <strong>Mon super texte important</strong> <br>
17 <mark>Mon super texte marqué</mark> <br>
18 <small>Mon super texte petit</small> <br>
19 <em>Mon super texte en emphase</em> <br>
20 Quand 4 est à l’exposant 2 ça ressemble à
4<sup>2</sup> = Combien déjà ?? <br>
21 Les physiciens eux mettent beaucoup d’indice comme
M<sub>indice</sub> aux masses de leurs objets ! <!--pas
besoin de <br> ici, c la dernière ligne -->
22 </p>
23 </body>
24 </html>
Dans la page Web, le résultat de ce code est le suivant :
Les titres
Ici, il ne s’agit pas de titre du document (ce qu’on a fait avec <title>) mais de titre
de paragraphe ou de partie par exemple ; de titre visible dans le corps du document.
En HTML, on distingue six (6) niveaux de titres numérotés de <h1> à <h6> dans
l’ordre décroissant de leur importance ; c’est-à-dire que : un titre de niveau 1 est
beaucoup plus important qu’un titre de niveau 4 ou 5. Les titres sont des éléments de
type bloc donc « auto line break » !
Dans la pratique, vous n’aurez pas vraiment besoin de tous les six, perso j’arrive très
rarement à <h4> ! Le navigateur différencie chacun des titres en mettant le plus
important (<h1>) en plus grand, l’important en grand, le moins important en beaucoup
plus petit.
Résultat :
Pour insérer une ligne horizontale dans votre document, écrivez <hr /> simplement
où vous voulez la mettre.
Donne :
Et pour faire une ligne verticale ? C’est <vr /> , hein !? J’ai dit un truc qu’il fallait pas ?
Eh bien, il n’existe pas de ligne verticale en HTML. Donc pas de <vr />, d’accord ?
Les listes
Liste ordonnée
Si vous testez ce code seul, vous ne verrez rien parce qu’on a dit qu’on veut
faire une liste ordonnée mais on n’a donné aucun élément sur la liste.
Pour citer les éléments à lister, on utilisera : <li> … </li> pour chaque
élément de la liste, et entre <ol> et </ol>.
Exemple : Je veux faire la liste des fruits préférés de mon gars sûr, en ordre
biensûr!
1 <ol>
2 <li>Orange</li>
3 <li>Banane</li>
5 <li>Mangue</li>
6 <li>Ananas</li>
7 </ol>
Essayez ce code !
Liste complexe
Imaginez que vous avez des noms de personnes à lister et pour chaque personne de
la liste, vous devez aussi lister les caractéristiques (taille, poids, âge, …). Vous vous y
prenez comment ? Deux listes séparées ? Non ! Ça ne marcherait pas bien.
HTML permet de faire cette tâche sur une liste unique mais qui contient une autre liste
comme ceci :
1 <ol>
2 <li>Abou</li>
3 <li>Jean</li>
4 <li>Marc</li>
5 </ol>
Abou :
1 <ul>
2 <li>1,78m</li>
3 <li>81Kg</li>
4 <li>27 ans</li>
5 </ul>
Jean :
1 <ul>
2 <li>1,63m</li>
3 <li>73Kg</li>
4 <li>19 ans</li>
5 </ul>
Marc :
1 <ul>
2 <li>1,92m</li>
3 <li>79Kg</li>
4 <li>24 ans</li>
5 </ul>
LISTE 3 : Liste complexe (personnes & caractéristiques)
1 <ol>
2 <li>Abou
3 <ul>
4 <li>1,78m</li>
5 <li>81Kg</li>
6 <li>27ans</li>
7 </ul>
8 </li>
9 <li>Jean
10 <ul>
11 <li>1,63m</li>
12 <li>73Kg</li>
13 <li>19ans</li>
14 </ul>
15 </li>
16 <li>Marc
17 <ul>
18 <li>1,92m</li>
19 <li>79ans</li>
20 <li>24ans</li>
21 </ul>
22 </li>
23 </ol>
Voilà c’est mieux comme ça. Notez que vous pouvez mettre autant de <ul>, <ol>,
<li> que vous voulez, cela ne regarde personne d’autre que vous !
L
es liens en HTML permettent de passez d’une page à une autre dans le même
site, d’un site à un autre, d’une position à une autre dans la même page… On crée
un lien avec l’élément <a>.
On distingue ainsi :
1 <p>
2 <a href="test2.html">Aller à la page 2</a>
3 </p>
Dans “test2.html”:
1 <p>
2 <a href="test.html">Returner à la page 1</a>
3 </p>
C’est bien logique non ? « test » ne contient plus de fichier « test2.html » ! Il faut donc
modifier le chemin vers « test2.html » comme ceci dans « test.html » :
1 <a href="mon_dossier/test2.html">Aller à la page 2</a>
Ou encore :
1 <a href="./mon_dossier/test2.html">Aller à la page 2 </a>
Cliquer à nouveau sur « Aller à la page 2 ». Parfait ! Tout marche bien. Et si vous
cliquiez sur « Retourner à la page 1 » ? Encore un message d’erreur ! « mon_dossier »
ne contient pas de « test.html ». Changeons aussi le chemin vers « test.html » dans la
source de « test2.html » comme ceci :
Dans trois…
1 <a href="mon_dossier/autre_dossier/test2.html">Aller à
la page 2</a>
Les espaces, utilisez plutôt des tirets ou des tirets de soulignement (underscore
« _ », touche 8 du haut) ;
Les caractères spéciaux ou (@, &, \, *, …) ;
Les caractères accentués (é, ê, ë, à, â, ô, ü, ï,…)
Les chemins vers des pages dans le même site, qui commencent par « ./ », « ../ » ou
« dossier/ » sont appelés chemins relatifs. Ils dépendent de la position actuelle de
votre fichier dans le site.
1 <a href="http://www.site.com/dossier/page.html">Aller au
site </a>
Cas pratiques des liens
Vous voyez parfois sur des sites : « Cliquez pour aller au bas de la page »
ou « Haut de page ».
Il s’agit en fait de liens qui vous renvoient vers une ancre placée à un
endroit de la page. On le fait comme ceci :
Et pour le bas :
<a href="./dossier/page.html#superAncre">Voir
plus de détails ici</a>
Par exemple :
1 <body>
2 <p>Sommaire <br> <br>
3 <a href="#livres">Livres</a><br>
4 <a href="#cahiers">Cahiers de cours</a><br>
5 <a href="#stylos">Les stylos</a><br>
6 </p>
7 <p>
8 <!--Une tonne de trucs ici pour remplir
notre intro et patate -->
9 </p>
10 <p>
11 <h1 id="livres">Chapitre sur les livres</h1>
12 <!-- bla bla bla bla bla bla -->
13 <br>
14 <h1 id="cahiers">Et les cahiers…</h1>
15 <!--bla bla bla bla bla bla bla -->
16 <br>
17 <h1 id="stylos">Plein de stylos dans votre
cartable !</h1>
18 <!-- bla bla bla bla bla bla bla bla -->
19 <br>
20 </p>
21 </body>
C’est le texte qui apparaît quand on pose le curseur sur le lien (survol).
L’attribut title de <a> permet de d’ajouter des infos bulles aux liens.
Ah je sens que vous allez essayer plein de codes vous-même à partir de maintenant. Ça
vous permettra de pratiquer un peu et de ne pas rester à me regarder là tout le temps.
Allez –y c’est plutôt fun…
C’est le même principe que pour tous les liens seulement qu’ici, au lieu
d’indiquer le chemin vers une page à charger, on donne le chemin absolu
ou relatif vers un fichier (non HTML) qui peut être soit de la musique, une
vidéo, un document PDF, un logiciel, etc ; en valeur à l’attribut href de
<a>.
<a href="mailto:username@exemple.com">Envoyez-
moi un e-mail</a>
On va s’arrêter là mais retenez qu’on peut faire plein d’autres trucs avec
les liens, même envoyer des SMS !
LES IMAGES
O
n peut penser à faire une galerie d’images sur son site ou juste utiliser des
images pour décorer. HTML offre la possibilité d’insérer des images dans
votre site et très facilement grâce à l’élément <img >
On le fait ainsi :
Ou encore (HTML5)
La balise <img > est orpheline. L’attribut src prend en valeur le chemin relatif ou
absolu vers l’image qu’on veut insérer au site. L’attribut alt prend en valeur un texte
alternatif au cas où l’image n’a pas pu être chargée, il sert également d’indicatif aux
robots des moteurs de recherche et aux malvoyants. Il est requis depuis HTML5. Si
votre image sert juste de décoration et qu’elle n’est pas trop importante, vous pouvez
ne pas mettre de valeur à alt en laissant à alt="".
Les valeurs de width et height sont en pixels. On peut également présenter ses
images sous forme de miniatures cliquables et charger l’image en grandeurs réelles
dans une autre page ou directement comme ceci :
Sans bordures
Les figures HTML5 permettent d’ajouter facilement des légendes à vos images. C’est
l’élément <figure> qui s’en charge, et <figcaption> contient le texte de la
légende.
1 <figure>
2 <img src="chalkboard.jpg" width="150" height="150"
alt="Tableau à craie" />
3 <figcaption>Tableau à craie</figcaption>
4 </figure>
O
n définit les tableaux avec l’élément <table>. Les tableaux sont découpés
en lignes avec la balise <tr> et les lignes, en colonnes avec <td>. Ils
servent à classer et organiser assez facilement des informations. La balise
<th> permet de structurer son tableau avec des entrées pour les colonnes
et/ou les lignes.
1 <table>
2 <tr>
3 <th>Noms</th>
4 <th>Taille</th>
5 <th>Age</th>
6 </tr>
7 <tr>
8 <td>Abou</td>
9 <td>1,78m</td>
10 <td>27ans</td>
11 </tr>
12 <tr>
13 <td>Jean</td>
14 <td>1,65m</td>
15 <td>19ans</td>
16 <tr>
17 <td>Marc</td>
18 <td>1,92m</td>
19 <td>21ans</td>
20 </tr>
21 </table>
Et ça donne ça:
Un tableau basique en HTML
Les balises <td> des tableaux peuvent contenir toute sorte de données : textes,
images, liens, listes également d’autres tableaux, etc. Par défaut, les tableaux ont des
bordures d’épaisseur égale à 0. Notez aussi qu’il n’est pas obligatoire de mettre des
<th> à son tableau.
Ajoutez juste l’attribut border à <table>, avec une valeur supérieure à 0 pour
faire apparaitre les bordures de tableaux.
Application 1 : colspan
Et on obtient :
Application 2 : rowspan
<td rowspan="2">19ans</td>
Et on obtient :
Bon, c’est vrai que dans ce cas c’est pas vraiment adapté (parce que Jean et Marc
n’ont pas tous les deux 19ans) mais l’idée c’est de vous montrer comment ça
fonctionne.
On peut fusionner plus de deux colonnes.
Lorsqu’on ajoute des bordures au tableau avec l’attribut border, chaque cellule du
tableau prend des bordures, séparées des autres cellules comme vous pouvez le voir
sur les figure précédentes. Dans la suite, nous verrons comment faire en sorte que les
bordures des cellules se collent et ne soient plus en double ; c’est avec CSS. Nous
allons également voir comment maquiller les tableaux : couleur/image de fond, format des textes…
LES FORMULAIRES
L
es formulaires permettent de recueillir des informations fournies par les visiteurs
comme les données de connexion (pour les sites qui demandent l’authentification
du visiteur). Les formulaires contiennent les champs de texte, les cases à cocher,
les champs de sélection de fichier à uploader, les boutons, etc. Cependant, notez que
HTML peut seulement servir à la saisie d’informations, si vous voulez leur traitement,
utilisez un autre langage, PHP par exemple.
Comme pour le <ol> ou <ul> pour les listes, on crée les formulaires avec <form>.
A l’intérieur de notre formulaire, nous allons ajouter un élément de type bloc, par
exemple <p> ou <div>
Allons-y avec le nouveau <div> :
1 <form>
2 <div>
3 …
4 </div>
5 </form>
Les libellés
Voici un formulaire basique qui demande de saisir le titre d’un sujet de forum, le
sujet et des tags pour le sujet (si on reprend tout depuis le début):
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8" />
5 <title>Poster un sujet au forum</title>
6 </head>
7 <body>
8 <p>
9 <h1>Merci de remplir le formulaire ci-
dessous :</h1>
10 <form method="post"
action="traiter.php">
11 <div>
12 <label for="titre">Titre du
sujet </label> : <input type="text" id="titre" /> <br>
13 <label for="sujet">Texte du
sujet</label> :<textarea id="sujet"></textarea><br>
14 <label for="tags">Tags</label>: <input
type="text" id="tags" /><br>
15 </div>
16 </form>
17 </p>
18 </body>
19 </html>
La valeur de l’attribut for d’un <label> doit être égale à la valeur de l’attribut
id du champ correspondant. Lorsque vous cliquez sur le <label> d’un champ, le
curseur se place automatiquement dans la zone de saisie associée.
A chaque champ de saisie (input, textarea), il faut ajouter un attribut
name qui prendra en valeur le nom que le « traiter.php » utilisera pour identifier
l’information. Il serait plus souple de donner la même valeur aux attributs name
et id.
Exemple:
On les fait aussi avec <input />. Il suffit juste de changer la valeur de
l’attribut type de text à password.
Ils permettent de choisir un fichier à uploader. Pour les ajouter, mettez juste la
valeur de l’attribut type de votre bon vieux <input /> à file comme ceci :
Avant d’aller plus loin, je vous demanderais gentiment: « il me semble que vous utilisiez
une ancienne version de votre/vos navigateur/s Web. Veillez le mettre à jour s’il vous plait
sans quoi nous ne pourrons continuer ce tutoriel ! »
Les champs cachés: ils ne sont pas affichés dans le formulaire mais sont très
utiles lorsque la page n’utilise pas seulement HTML mais en plus un vrai
langage de programmation comme PHP ou JavaScript qui peut associer
dynamiquement une valeur à l’attribut value d’un champ input. On crée
ces champs comme ceci :
<input type="hidden" name="cacher" id="cacher"
value="sa valeur" />
Les champs d’e-mail: ajoutés depuis HTML5, ils permettent la saisie correcte
d’adresse e-mail dans les formulaires. Le formulaire ne pourra être validé que
si la valeur du champ respecte le format minimal d’e-mail requis ; c'est-à-dire
username@domain. Les Smartphones affichent un clavier adapté à ce type de
champ.
Les champs de nombre : HTML5, ils ne peuvent recevoir que des valeurs de
type nombre et possèdent deux attributs min et max permettant de limiter la
valeur possible à contenir dans ce champ, et un attribut step, avec un
nombre en valeur, permettant de définir l’intervalle de sélection si vous utilisez
le bouton associé au champ. Les Smartphones affichent un clavier adapté à ce
type de champ.
Les champs de numéro de téléphone : HTML5, ils sont dédiés aux numéros de
téléphone. Les Smartphones affichent un clavier adapté à ce type de champ.
Les champs d’URL : HTML5, ces champs sont réservés à la saisie d’URL. Le
formulaire ne sera pas validé si la valeur entrée n’est pas de type URL. Les
Smartphones affichent un clavier adapté.
Les champs de date : HTML5, permettent se saisir la date (jour, mois, année,
heure, minute, semaine) dans un formulaire. Plusieurs formats de date sont
disponibles.
Champ de saisie de date (par sélection) sous Opera.
Les cases à cocher : c’est le style sur la Figure suivante (exemple de cases)
Chaque case doit porter sa propre valeur à l’attribut name sans oublier que les
id restent UNIQUE ! On crée les cases à cocher comme ceci :
Les cases d’options : supposons qu’on vous demande votre sexe dans un
formulaire, vous allez répondre soit par Homme, soit par Femme mais pas les
deux en même temps et il n’y a pas d’autres réponses possibles. Dans ce cas,
les cases d’options sont adaptées. On les crée avec input et leur type est
radio
Essayez ! Vous ne pourrez pas cocher les deux en même temps. Notez aussi que
les input type radio portant sur le même thème doivent avoir la même valeur
à leurs attributs name et des valeurs différentes pour les attributs value.
Les listes déroulants : Regardez ce cas par exemple où le visiteur doit choisir
son pays dans une liste de 178 pays que vous lui proposez, vous me diriez
peut être que ça marcherait avec les radio ? bien sûr que Oui, ça
fonctionne plutôt bien puisqu’on choisit seulement 1 pays ! Mais ce n’est pas le
type adapté à cette tache. Pensez plutôt aux listes déroulantes parce qu’avec
les radio, votre page serait étoffée de noms de pays. Avec la magie des
listes déroulantes, vous ne verrez plus qu’un élément, celui qui est sélectionné.
Ça se passe comme ceci :
Un exemple :
1 <label for="pays">Pays</label>:
2 <select name="pays" id="pays">
3 <optgroup label="Afrique">
4 <option value="Côte d'Ivoire">Côte d'ivoire</option>
5 <option value="Ghana">Ghana</option>
6 <option value="Mali">Mali</option>
7 <option value="Bénin">Bénin</option>
8 </optgroup>
9 <optgroup label="Europe">
10 <option value="Allemagne">Allemagne</option>
11 <option value="Italie">Italie</option>
12 <option value="Espagne">Espagne</option>
13 <option value="France">France</option>
14 </optgroup>
15 <optgroup label="Asie">
16 <option value="Japon">Japon</option>
17 <option value="Chine">Chine</option>
18 </optgroup>
19 </select>
Pour les formulaires assez longs, il est parfois intéressant de regrouper les champs en
classes avec la balise <fieldset> et à chaque classe, on associe un titre avec
<legend>.
Voyez cet exemple de formulaire qui demande de s’enregistrer sur un site:
Envoyer le formulaire
Félicitations! Votre formulaire est bien conçu, c’est parfait, tout y est! Sauf qu’il ne sert
pas à grand-chose actuellement. On finit de le remplir "opi on na ka fair koi ? "
On l’envoie. Mais à qui ? À « traiter.php » ; c’est pour cela qu’on a mis le chemin vers
« traiter.php » en valeur à l’attribut action de <form>.
Un bouton suffit pour dire à HTML d’envoyer votre formulaire au serveur. On le fait
comme ceci :
Notre formulaire est maintenant complet et prêt à être mis en service ! Je vous
rappelle que c’est avec un langage autre qu’HTML que vous pourriez récupérer les
informations du formulaire. Pensez à apprendre PHP par exemple.
CHAPITRE 2
LIEN : http://www.inspirates.cf
CONTACTS :
Facebook.com/Akotia99
www.inspirates.byethost6.com/telechargements/
yaokahn@hotmail.com
(+225) 52 69 52 69 – sms
(+225) 88 14 88 84 - appel