HTML - LITA

Transcription

HTML - LITA
(X)HTML
Internet et développement Web
Qu’est-ce ?
•
•
Un langage de structuration de textes
•
définit les parties d’un textes
•
chaque partie est entourée de balises
•
<truc> ouverture et </ truc> fermeture de la balise truc
•
< truc /> ouverture et fermeture en une seule fois (pour
l’utilisation d’attributs)
exemples :
•
<b> ... </b> définit un texte en gras
•
<i> ... </i> définit un texte en italique
•
<img src=”monImage.jpg” /> insère l’image monImage.jpg
Le squelette
• <!
DOCTYPE> : le langage utilisé.
• <html>
... </html> : le document. Utilise
le langage du DOCTYPE.
• <head>
</head> : titre du document
(obligatoire), son encodage, et autres
informations (les méta-données).
• <body>
</ body> : le corps du
document. La page proprement dite.
Un exemple
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Exemple de fichier XHTML valide</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
Un texte normal <br />
<i> italique </ i>
<ul>
<li>un élément d’une liste</li>
<li><b> du gras </b></li>
</ul>
</body>
</html>
Langage
• Une DTD définit les balises que l’on a le droit
d’utiliser.
• analogie : dictionnaire
• un fichier HTML doit être conforme
• les balises doivent respecter certains critères
• analogie : une phrase
• les balises doivent être bien formées
DTD
• Document Type Definition
• permet de définir les commandes autorisées
• permet de vérifier que le texte est conforme
(validateur W3C , Validateur W3Québec(en
français))
• Syntaxe
<!DOCTYPE html PUBLIC "-//W3C//DTD
XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/
xhtml1-strict.dtd">
• <html xmlns="http://www.w3.org/1999/
xhtml"> ... </ html>
•
3 DTD principales
•
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//
EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
•
•
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
•
•
attributs de présentation supprimés
attributs de présentation là.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
•
Avec des “frames”. à proscrire. Les frames c’est le mal
Grammaire des balises 1/3
• les balises sont en minuscules
• Faux : <BODY>
</BODY>
• exact : <body>
</body>
• ne doit posséder qu’un seul élément “racine”
• <html>
<head> ... </head>
<body> ... </body>
</html>
Grammaire des balises 2/3
• Toute balise ouverte doit être fermée
•<p>
un paragraphe </p>
•<br
/> ET <img src=”./
toto.png” />
• Les balises doivent être correctement
imbriquées
• faux : <b><i> gras et en italique
</b></i>
• exact : <b><i>
</i></b>
gras et en italique
Grammaire des balises 3/3
• les valeurs d’attributs sont sont toujours entre “ ”
• Faux : <table width=100%> ... </
•
table>
exact : <table width=”100%”> ... </
table>
• un attribut à toujours une valeur
• faux : <input checked />
• exact : <input checked=”checked”
/>
HTML ou pas ? 1/2
• juste ?
• </ p><p>
• <p></p>
• <P></P>
• <P></p>
• et lui ?
• <p>
Un <b><i>court</i></b>
paragraphe
• <p>
Un <b><i>court</b></i>
paragraphe</p>
• <p>
Un <b><i>court</i></b>
paragraphe </p>
XHTML ou pas ? 2/2
•
attributs :
•
•
•
•
•
width=80
WIDTH=”80”
WIDTH=80
width=”80”
Retour à la ligne :
•
•
•
<br>
<br />
<break/>
•
listes :
•
<ul>
<li>Café</li>
<li>Thé
<ul>
<li>vert</li>
<li>noir</li>
</ul></ li>
<li>lait</li>
<ul>
Html non conforme
<html>
<head>
<title>Exemple de fichier XHTML non valide</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<BODY>
Il y a quelques erreurs XHTML dans ce document <br>
<ul>
<li>il manque le DOCTYPE
<li>les balises BODY sont en MAJUSCULES
<li>les balises meta et br ne sont pas fermées ;
les balises li non plus, d’ailleurs !
<li>il manque les " " autour du <a ref=lien.html>lien</a>
<li>&amp; doit toujours être utilisé à la place de &, même dans les URL
(<a ref="http://www.google.com/search?q=xhtml&n=100">exemple</a>)
<li>le <i>chevauchement dans l’ouverture / fermeture
de <b>BALISES</i></b> n’est pas correct.
</ul>
</html>
</BODY>
Le même, mais conforme
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Exemple de fichier XHTML valide (mode transitional)</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
Il n’y a plus d’erreurs XHTML dans ce document <br/>
<ul>
<li>le DOCTYPE est présent</li>
<li>les balises (body notamment) sont en minuscules</li>
<li>les balises meta, br et li sont fermées</li>
<li>les " " sont présents pour délimiter les attributs
(comme dans ce <a ref="lien.html">lien</a>)</li>
<li>&amp; est utilisé dans l’URL
<a ref="http://www.google.com/search?q=xhtml&amp;n=100">suivante</a>
</li>
<li>le <i>chevauchement dans l’ouverture / fermeture
de <b>BALISES</b></i> est correct.</li>
</ul>
</html>
</body>
Les types de balises 1/6
• les titres : de h1 à h6
• <h1>...</
•
h1>
<h6>...</ h6>
• les paragraphes : <p>...</p>
• retour à la ligne : <br />
Les types de balises 2/6
• strong : <strong>
... </ strong>
• (remplace gras : <b>
... </b>)
• emphasis (mise en valeur) : <em>
• (remplace italique : <i>
... </em>
... </i>)
• (ne pas utiliser souligné : <u>
... </u>)
Les types de balises 3/6
• les listes
• à puces : <ul>
... </ul>
• numérotées : <ol>
... </ ol>
• un item de liste : <li>
... </li>
Les types de balises 4/6
• un tableau : <table>
• une ligne : <tr>
... </table>
... </tr>
• une cellule (dans une ligne) :
• <td>
... </td>
• un titre de colonne : <th>
... </ th>
• attributs colspan ou rowspan
Tableau exemple
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Exemple de fichier XHTML valide</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<table >
<tr>
<td rowspan = "3"></td><td></td><td></td>
</tr>
<tr>
<td></td><td></td>
</tr>
<tr>
<td colspan = "2"></td>
</tr>
</table>
</html>
</body>
Tableau Résultat
Les types de balises 4/6
• un tableau : <table>
• une ligne : <tr>
... </table>
... </tr>
• une cellule (dans une ligne) :
• <td>
... </td>
• un titre de colonne : <th>
... </ th>
• attributs colspan ou rowspan
Les types de balises 5/6
•
•
•
les liens <a href=”URL”> ... </a>
relatifs : entre pages d’un même
site
•
<a href=”plus_bas/
ici.html”> click
</a>
•
<a href=”../
autrepart/la.html”>
click </a>
externes : entre pages de sites
différents
•
<a href=”http://
www.google.fr”>
click </a>
ici
fichier.html
plus_bas
ici.html
autrepart
la.html
Les types de balises 6/6
• les images <img
src=“URL” />
• attributs indispensables :
• texte alternatif : alt
• dimensions de l’image : width et height
L’entête : <head> </head>
• titre de la page : <title> ... </title>
• des méta-données
• auteur : <meta name =”author”
•
content=”moi”/>
• description (pour les moteurs de recherches) :
<meta name =”description” content=”des
choses sur moi”/>
• ...
l’encodage du texte : <meta httpequiv="content-type" content="text/html;
charset=iso-8859-1" />
Exemple
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /
>
<meta name="author" content="François Brucker" />
<meta name="keywords" content="publication,cours,cv,françois
brucker,classification" />
<meta name="description" content="Page professionnelle de François
Brucker. On y trouve ses publications, ses cours, plein d'autres trucs
super" />
<meta name="robots" content="all" />
<title>page professionnelle de Fran&ccedil;ois Brucker</title>
<style type="text/css" media="all">
@import "base.css";
@import "index.css";
</style>
</head>
L’entête : <head> </head>
• titre de la page : <title> ... </title>
• des méta-données
• auteur : <meta name =”author”
•
content=”moi”/>
• description (pour les moteurs de recherches) :
<meta name =”description” content=”des
choses sur moi”/>
• ...
l’encodage du texte : <meta httpequiv="content-type" content="text/html;
charset=iso-8859-1" />
L’encodage des caractères
• <meta
•
http-equiv="content-type"
content="text/html;
charset=iso-8859-1" />
• iso-8859-1 (iso-latin1)
• iso-8859-15 (iso-latin9)
• utf-8
Attention aux accents, ß, etc...
Caractères spéciaux
• HTML défini des caractères spéciaux,
utilisable quelque soit l’encodage
• certains peuvent être utiles :
• &eacute; : é
• &slig; : ß
• &copy; : ©
• &nbsp; : espace insécable
• ...
Texte et codes
• Au départ était le code ASCII (American
Standart Code for Information Interchange)
• Puis viennent le tour des langues européennes
ISO-LATIN1
• Enfin, l’utf-8 et toutes les langues du mondes
(voir plus)
Code ASCII 1/3
ASCII initial, sur 7 bits (de 0 à 127)
Code ASCII 2/3
ASCII “étendu” sur 8 bits (un octet)
ASCII art 3/3
Suffit pour faire des trucs sympa tout de même :-)
Autres codages 1/2
•
ISO-latin1 (256
caractères)
•
Unicode
•
plus de 120 000
caractères
•
utf-8 (universal
transformation
format) (RFC 3629)
Travaux pratiques 2/2
•
Hello ?
•
Et lui ?
•
U+0048
•
U+0065
•
U+0069
•
U+006E
•
U+003F
Travaux pratiques 2/2
D’autres glyphes unicode
Caractères spéciaux
• HTML défini des caractères spéciaux,
utilisable quelque soit l’encodage
• certains peuvent être utiles :
• &eacute; : é
• &slig; : ß
• &copy; : ©
• &nbsp; : espace insécable
• ...
La semaine prochaine...

Documents pareils