Ecriture de pages Web Ecriture de pages Web Le langage HTML / XHTML Lionel LAFITTE...

Preview:

Citation preview

Ecriture de pages WebEcriture de pages Web

Le langage HTML / XHTML

Lionel LAFITTE

llafitte@pasteur.fr

5 Novembre 2004

Comment fonctionne le Web ?Comment fonctionne le Web ?

C'est un mécanisme client-serveur.

Le client demande un fichier, le serveur lui donne tel qu'il est stocké – processus statique

Le serveur peut aussi générer un fichier en fonction de la demande du client – processus dynamique

Écrire pour le WebÉcrire pour le Web

Ce n'est pas uniquement écrire des pages en HTML, il faut penser en terme de projet:

Définir, écrire le contenu. Trouver une arborescence ergonomique

Équilibre menus/sous-menus.

Appliquer / Respecter la charte graphiqueUtiliser, adapter les propositions graphiques.

Produire et intégrer les pages. Installer le site sur le serveur. Politique de maintenance et de mise à jour.

Comment écrire en HTML?Comment écrire en HTML?

A la main, avec un éditeur de texte

A l'aide d'un programme qui génère le code HTML pour vous• Assistant au code HTML.• Éditeur dit « WYSIWYG » ou graphique.• Filtres.• Application de  « Content Management ».

Que choisir pour écrire de l' HTML?Que choisir pour écrire de l' HTML?

A la main, avec un éditeur de texte– Simple Text, Bbedit,Emacs ,WordPad …

Avec un logiciel « assistant » au code HTMLPageSpinner sur MacIntosh, Amaya sur Unix, HTML-Kit sur PC …

A l'aide d'un programme dit "WYSIWYG" – Dreamweaver , Golive, Netscape composer, FrontPage, Claris Homepage ...

A l'aide d'un filtre Les commandes enregistrer sous html, que l'on trouve dans les suites bureautiques, dans certains logiciels de P.A.O.

Application « CMS »• SPIP, Lutèce, Plone et un grand nombre d’applications commerciales.

Conversion HTML vers XHTML avec HTML TidyDisponible dans de nombreuses versions sur le site du W3C

Le client doit pouvoir interpréter HTML et afficher le résultat. Ils sont divers, tournant sur des systèmes différents:

– Mozilla, Netscape Navigator, Internet explorer, Safari, Firefox, Opéra, iCab, Emacs mode www, Amaya, Lynx, links, w3m …

Note: Les clients web ne possèdent pas tous un processeur XML capable d'interpréter correctement le XHTML. Pour une meilleure compatibilité:

utiliser les versions les plus récentes des navigateurs.pour les plus anciens, faire en sorte qu'ils affichent la page comme du HTML en omettant les déclarations XML qui pourraient les perturber.

Que choisir pour lire HTML?Que choisir pour lire HTML?

HTML, l'origineHTML, l'origine

HTML Hyper Text Markup Language est né en 1989 sous l'impulsion de Tim Berners Lee, " inventeur " du Web.

HTML est basé sur SGML (Structured Markup Language), qui est une vieille norme utilisée pour la description de documents.Elle est conçue pour les grosses documentations techniques.

HTML est une instance de SGML.

HTML, les principesHTML, les principes

Il contient des commandes, implémentées par des balises pour marquer les différents types de texte (titres, paragraphe, listes …) , pour inclure des images, des formulaires, des liens …

C'est un langage à balisage qui décrit la structure logique d'un document hypertexte. Il a volontairement été conçu pour être simple.

Il a évolué vers un langage de description de pages offrant des possibilités plus proches de la P.A.O.

L'hypertexteL'hypertexte

Le langage HTML permet de créer des documents interactifs grâce à des liens hypertextes, qui relient votre document à d'autres documents.

En cliquant sur une zone de texte (ou une image, un logo) mise en évidence, on peut accéder a un nouveau document situé sur un autre ordinateur en n'importe quel point du globe.

XHTMLXHTML

XHTML 1.0, est une reformulation de HTML en une application XML et trois DTDs correspondant à celles définies par HTML 4. La norme actuelle est XHTML 1.1.

La compatibilité avec les agents utilisateurs (les "clients") HTML actuels est possible en suivant un ensemble raisonnable de règles.

La sémantique des éléments et de leurs attributs sont définis dans la Recommendation W3C pour le HTML.

Le site du W3C: http://www.w3c.org.

SGML

XML

HT

ML

Doc

book

XH

TM

L

SM

IL

Mat

hML

Arbre généalogiqueArbre généalogique

Les balises - 1Les balises - 1

Pour décrire un fichier hypertexte, le langage HTML insère des balises dans le texte du document :

Début de mise en forme Fin de mise en forme

<marqueur> ici votre texte </marqueur>

Synonymes: marqueur, élément, tag.

Les balises - 2Les balises - 2

Ces balises peuvent être insérées n'importe où dans le texte, entre 2 phrases, mots, lettres …

<gras>Le <italique> cours </italique> HTML</gras>

Le cours HTML

Les balises - 3Les balises - 3

Il faut respecter une logique d'imbrication:

Bon:

Mauvais:

<gras><italique> Le cours HTML</gras></italique>

<gras><italique> Le cours HTML </italique> </gras>

Les balises - 4Les balises - 4

Le langage HTML est insensible à la casse, mais comme XHTML l'est, toujours écrire en minuscules.

Bon:

Mauvais: <GRAS><italique> Le cours HTML </italique> </GRAS>

<Gras><ITALIQUE> Le cours HTML </ITALIQUE> </Gras>

<GRAS><ITALIQUE> Le cours HTML </italique> </GRAS>

<gras><italique> Le cours HTML </italique> </gras>

Les attributsLes attributs

Les balises peuvent posséder un ou plusieurs attributs qui permettent de spécifier l'action de la balise. Toujours mettre la valeur de l'attribut entre guillemets.

<marqueur attribut="argument">texte</marqueur>

<marqueur attribut1="argument" attribut2="argument">texte</marqueur>

Caractères accentuésCaractères accentués

Vous pouvez rencontrer le codage ASCII sur 7 bits spécifié par la norme pour afficher les caractères accentués ou spéciaux. Ceux ci devront faire l'objet d'un codage spécial au sein du fichier HTML.

é s'écrit &eacute; être s'écrit &eacirc;tre

Les serveurs Web accepte les caractères accentués de la norme iso-8859-1. On spécifie l'encodage dans le fichier HTML.

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

Les DTDs HTML / XHTMLLes DTDs HTML / XHTML

<!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">

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<title>mon premier fichier</title>

</head>

<body>

hello world

</body>

</html>

Un fichier HTMLUn fichier HTML

<?xml version="1.0" encoding="iso-8859-1"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">

<head>

<title>mon premier fichier</title>

</head>

<body>

hello world

</body>

</html>

Un fichier XHTMLUn fichier XHTML

Un fichier HTMLUn fichier HTML

Un fichier HTML doit comporter au minimum ces 4 balises:

<html><head><title><body>

Expert : un fichier XHTML doit comporter ces 4 balises + les déclarations XML et DTD.

Analyse des balisesAnalyse des balises

<html> .. </html> Délimite le début et la fin du document

<head> . . </head> Entête du document

<title> . .</title> Titre du document

<body> . . </body> Corps du document

RappelsRappels

Les noms d' éléments sont sensibles à la casse et sont écrits en minuscules.

Les noms d'attributs sont sensibles à la casse, doivent être écrits en minuscules et encadrées par

des guillemets. Tous les attributs doivent recevoir une valeur.

Les balises fermantes sont obligatoires.

Expert: Les documents XHTML strictement conformes doivent comporter une déclaration DOCTYPE

(sémantique). La balise <html> doit déclarer l'espace de noms (syntaxe) de la spécification XHTML.

ExercicesExercices

On utilisera PageSpinner

Présentation de l'interface

ExercicesExercices

Créer un fichier HTML 4.01 Transitional.

Ajouter du contenu

Enregistrer et visualiser le fichier avec un navigateur

Un peu plus loin dans l' HTMLUn peu plus loin dans l' HTML

<html>

<head>

<title>Mon deuxieme fichier</title>

</head>

<body>

<h2>Hello World</h2>

<p>

L'emplacement de votre nouveau mat&eacute;riel est-il &agrave; proximit&eacute; (moins de 5m) d'une prise r&eacute;seau libre ? Si oui, relevez le num&eacute;ro de la prise (il est &eacute;crit sur une plaque de c&eacute;ramique bleue, il faut respecter la distinction entre lettres majuscules et minuscules). Sinon, il faut faire installer une nouvelle prise par le Service Travaux, auquel vous devrez adresser un bon de cession interne. La suite des op&eacute;rations aura lieu quand vous aurez une prise disponible. Dans le doute, interrogez par courrier &eacute;lectronique netadm@pasteur.fr. </p>

<p>Votre demande doit nous parvenir par l'interm&eacute;diaire du correspondant informatique de votre Unit&eacute;. Elle se composera de deux parties : un bon de cession interne envoy&eacute; au Service Informatique Scientifique et un courrier &eacute;lectronique adress&eacute; &agrave; netadm@pasteur.fr qui contiendra toutes les informations utiles (dont le num&eacute;ro du bon de cession). </p>

<ol>

<li> le premier &eacute;l&eacute;ment</li>

<li> le deuxi&egrave;me &eacute;l&eacute;ment</li>

<li> le troisi&egrave;me &eacute;l&eacute;ment</li>

</ol>

<p><a href="http://www.pasteur.fr/infosci/utilinfo/FAQ.html#Q1">Vous trouverez ici la suite du texte !! </a></p>

</body>

</html>

Les titres et paragraphesLes titres et paragraphes

<hn> . . </hn> Titre de niveau n, de 1 à 6

<p> . . </p> Paragraphe

Les listesLes listes

<ul> . . </ul> Liste non triée, liste à puces

<ol> . . </ol> Liste triée, liste à numéros

<li> . . </li> Elément de la liste

Les liens - 1Les liens - 1

<a> . . </a>

Création d'un lien hypertexte, ou vers un point d'ancrage du document

Principaux attributs:

href = url

name = chaîne de caractères

<a href = "http://www.pasteur.fr">L'Institut Pasteur</A>

Les liens - 2Les liens - 2

<a name = "ref" >référence</A><p> .<p> ...<p> .<a href = "monfichier.html#ref">Vers la référence</a>

Les adresses URLLes adresses URL

Les adresses du Web ou URL ( Uniform Resource Locator ) sont du type:

http://bioweb.pasteur.fr/seqanal/alignment/intro-fr.html#LASSAP

Le protocole: http

Le serveur: bioweb.pasteur.fr

Le fichier: /seqanal/alignment/ intro-fr.html

Un ancrage: #LASSAP

L'adresse indiquée dans le lien ( URL) peut être absolue, elle inclut tout le chemin en commençant par le protocole:

http://www.pasteur.fr/monfichier.html

Ou relative, elle n'inclut qu'une partie du chemin:

Mon_repertoire/monfichier.html

Les adresses URLLes adresses URL

<b>texte gras</b> texte gras

<i>texte italique</i> texte italique

<big>texte gros</big> texte gros<small>texte petit</small> texte petit

Autres balises utilesAutres balises utiles

ExercicesExercices

Écrire un fichier en utilisant les nouveaux marqueurs.

Faites des petites modifications de code pour voir le résultat

Créez des liens vers d'autres pages, du serveur Pasteur, de serveurs extérieurs, de vos propres pages.

Encore plus loin dans l' HTMLEncore plus loin dans l' HTML

<div style="text-align: center;"><table border="1" cellspacing="0" cellpadding="10"><tr><th><img src="Images/fleche-in-1.gif" width="65" height="35" align="Middle" />Pour Mac</th><th><img src="Images/fleche-in-2.gif" width="100" height="60" align="Middle" />Pour PC</th><th><img src="Images/fleche-in-3.gif" width="150" height="71" align="Middle" />Pour Linux</th></tr><tr><td><ul><li><a href="http://proxad.mac.tucows.com/blueberry/htmltextmac.html">Mode texte </a></li><li> <a href="http://proxad.mac.tucows.com/blueberry/beginnermac.html">Simples </a></li><li><a href="http://proxad.mac.tucows.com/blueberry/htmleditmac.html">Avanc&eacute;s</a></li></ul></td><td><ul><li><a href="http://proxad.tucows.com/htmltext95.html">Mode texte </a></li><li> <a href="http://proxad.tucows.com/htmlbeginner95.html">Simples </a></li><li><a href="http://proxad.tucows.com/htmledit95.html">Avanc&eacute;s </a></li></ul></td><td><ul><li><a href="http://proxad.linux.tucows.com/x11html/off_html.html">Linuxberg</a></li></ul></td></tr></table></div>

Les tableaux -1Les tableaux -1

<table> . . </table>

Définit un tableau

Principaux attributs (certains ne sont pas valides en XHTML 1.1):

align = positionbgcolor = color

border = ncellpadding = ncellspacing = n

width = n

Les tableaux -2Les tableaux -2

<tr> . . </tr>

Définit une ligne d'un tableau

Principaux attributs (certains ne sont pas valides en XHTML 1.1):

align = left,center,rightvalign = top, middle, bottom

bgcolor = color border = n

Les tableaux -3Les tableaux -3

<td> . . </td>

Définit une cellule de données

Principaux attributs (certains ne sont pas valides en XHTML 1.1):

align = typevalign = type

bgcolor = color colspan, rowspan = nheight, width = n

Les images -1Les images -1

<img> . . </img>

Insère une image

Principaux attributs:

align = left, bottom, middle, top, rightalt = textborder = n

height, width = nsrc = url

Les images - 2Les images - 2

Attention au poids des images, il est important d'optimiser son fichier image.

Deux formats sont lus par les navigateurs, GIF ( Graphics Interchange Format ) et JFIF ( JPEG File Interchange Format).On utilise le GIF pour les illustrations, le JPEG pour les photos.

Les droits d'auteursLes droits d'auteurs

Attention aux droits sur les images.La seule image qui vous appartient est celle que vous avez prise avec votre matériel photo. Il faut aussi l'autorisation des personnes figurant sur la photo.

Attention à la portée des droits d'auteurs, surtout pour une utilisation web.

Attention aux images "libres de droits".

Lire les recommandations juridiques sur l'intranet.

ExercicesExercices

Importez une image

Créez un tableau.

Créez un tableau contenant une image et du texte.

Elles permettent de changer la mise en forme d'une page HTML ou XHTML sans en modifier son contenu.

Le langage CSS spécifie l'apparence des blocs de texte ou image, mais il peut contrôler d'une manière très précise le positionnement des objets, les bordures, les marges …

La norme est consultable sur le site du consortium Web. Les navigateurs n'implémentent qu'une petite partie du langage.

Les feuilles de styles CSSLes feuilles de styles CSS

Les feuilles de styles CSS – Les règlesLes feuilles de styles CSS – Les règles

Une feuille de style consiste en un ensemble de règles qui définissent le formatage des éléments (balises) d'un document XHTML.

Règle = Sélecteur + DéclarationsDéclaration = Propriété + Valeurs

h1 { color: blue; }

Sélecteur(s)Propriété(s) Valeur(s)

h3, h4 { font-weight: bold;font-family : arial; }

En externe, c'est un fichier indépendant du fichier HTML, on utilise dans l'entête du document la balise link:

<link href="ma_feuille_de_style" rel="stylesheet" type="text/css">

En interne, dans l' entête de document, le style est spécifié pour tout le document entre les balises style

<style type="text/css">h1 { font-family: Arial, Helvetica, sans-serif; }</style>

En interne, dans le corps du document, le style est appliqué localement au texte

<h1 style="font-family: "Courier New", Courier, monospace;"></h1>

Les feuilles de styles CSSLes feuilles de styles CSS

On peut créer ses propres classes que l'on appliquera avec l' attribut "class"

Dans l'entête:

<style type="text/css">

maclasse { font-family: Arial, Helvetica, sans-serif;

font-size: larger;

font-style: italic;

text-align: center;

color: #4169E1;

}

</style>

Dans le corps du document:

<span class="maclasse">la partie du texte formatée suivant ma classe</span>

<p class="maclasse">un paragraphe formaté suivant ma classe</p>

Les feuilles de styles CSS – les classesLes feuilles de styles CSS – les classes

ExerciceExercice

Ajoutez des styles à l'un de vos fichiers HTML

Un fichier différent …Un fichier différent …

<html><head><title>des cadres</title></head><frameset cols="25%,75%"><frame name="menu" src="menu.html" scrolling="yes"><frame name="cible" src="cible.html" scrolling="no"><noframes><body>message pour les navigateurs ne supportant pas les cadres</body></noframes></frameset></html>

Les cadresLes cadres

Ils permettent de diviser la fenêtre principale du navigateur en plusieurs sous fenêtres de taille réduite, chacune d'entre elles affichant un document différent.

Certains navigateurs ne les supportent pas, il est possible de les désactiver, il faut donc prévoir un fichier de substitution inscrit entres les balises:

<noframes> .. </noframes>

XHTML compatible HTMLXHTML compatible HTML

Eviter les sections CDATA.

Pas d'instructions de traitement.

Ajouter un caractère d'espacement avant la barre oblique d'une balise d'élément vide ( <br /> ) .

Spécifier l'encodage de caractères de deux façons ( entête xml et balise méta)

<?xml version"1.0" encoding=" iso-8859-1"?>

<meta http-equiv="Content-type" content="text/html; charset=iso-8859-1">

Spécifier les cibles d'hyperliens (balise a) en utilisant à la fois les attributs id et name.

Assigner une valeur aux attributs HTML booléens.<input type="radio" checked="checked">

Les limites d' HTML / XHTMLLes limites d' HTML / XHTML

Langage de base du Web

Langage simple, limité et statique

D'autres langages, extensions,programmes sont venus se greffer à l'HTML pour en augmenter les possibilités.

XHTML offre les aspects XML mais ce n'est pas suffisant pour toutes les applications que l'on souhaite mettre en œuvre sur le web.

CGI - SSI - ePerl – PHP - JSPCGI - SSI - ePerl – PHP - JSP

Common Gateway Interface, est un programme qui s'exécute sur le serveur.

SSI sont des fonctions spécifiques du serveur Apache. ePerl, PHP sont des modules que l'on installe sur le serveur.

On insère des "morceaux de codes" dans la page HTML, qui la rendent "dynamique".Le code est interprété par le serveur

ex: affichage personnalisé pour un client, filtrage, connexion à des bases de données ..

JavascriptJavascript

Il s'agit d'un langage de script qui permet d'agir sur le contenu d'une page HTML.

Le code est directement inséré dans la page HTML et est interprété par le client.