Ce document a été rédigé par :
Van Lancker Luc
Rue des Brasseurs, 22, 7700 Mouscron, Belgium
Vanlancker.Luc@ccim.be
Copyright décembre 97
Préambule
Notre objectif dans l'élaboration de cette formation consacrée à la création de pages Web et donc au langage Html a été la simplicité de l'exposé et le souci de fournir des bases saines pour une étude et une utilisation plus poussée.
Nous n'avons nullement la prétention d'etre exhaustif et d'etre "LA" référence. Nous savons pertinemment que notre synthèse est très subjective et que nous ferons hurler les puristes. Nous espérons cependant vous faire comprendre et apprécier le langage Html et vous donner l'envie d'en apprendre plus au sujet de la publication sur Internet.
Chapitre 1 : Le Web parle Html
HTML est le langage universel utilisépour communiquer sur le Web. Votre information sera ainsi transportée sur cette gigantesque toile de réseaux interconnectés qu'est Internet, pour aboutir sur l'ordinateur de votre lecteur gr,ce à un programme appelé navigateur ou browser.
- Vous avez donc deux 1. le browser de votre lecteur 2. et votre lecteur interlocuteurs : lui-même.
Ce logiciel, que l'on appelle un browser, vous permet de surfer sur le Net et d'afficher sur votre écran les "pages" qu'il a interceptées. Il y a, hélas, beaucoup de marques et de types de browsers différents. Des simples, des archaîques ou des sophistiqués... Les plus connus sont Netscape dans sa version 2, 3 et 4 ainsi Internet Explorer de Microsoft mais il en existe beaucoup d'autres.
- Chaque browser a sa propre façon de travailler.
A la différence de votre traitement de texte préféréqui restitue exactement votre document sur une feuille de papier avec votre police de caractères et votre mise en page, vous ne saurez jamais exactement ce que le browser de votre lecteur du bout du monde affichera sur l'écran de celui-ci.
- En HTML, vous n'avez pas la maîtrise totale de votre document.
Pour transiter le plus rapidement possible sur les lignes téléphoniques, on a adopté un format de texte très compact mais aussi (par conséquence) peu sophistiqué. C'est le bon vieux format de texte pur et dur, sans fioritures du Bloc-notes ou Notepad de Windows par exemple. Et de plus ce format ASCII a été amputéd'un bit (7 bits au lieu de 8) ! Vous serez donc privéde certains caractères spéciaux comme le épour lesquels il faudra passer par des codes particuliers.
- Mais récompense suprême... Html est un langage universel qui
s'adapte à toutes les plate-formes que ce soit
Windows,
Macintoch, Unix, OS/2...
En plus du texte adresséà votre lecteur, il vous faudra inclure des instructions pour le browser de celui-ci. Ces instructions seront différenciées de votre texte par les signes < et > par exemple <html>. Ces "instructions" s'appellent des tags ou des balises.
Quand vous écrirez les balises de votre page HTML, Il faudra garder à l'esprit :
- qu'une balise marque une action pour le browser (ce qu'il doit faire...).
- que les attributs précisent les modalités de cette action (comment il doit le faire...).
Chapitre 2 : Vos premiers outils
2.1 Vous avez besoin:
* d'un éditeur de texte tout simple comme par exemple le Bloc-notes ou Notepad de Windows ou tout autre équivalent dans votre système d'exploitation.
* d'un browser soit Netscape Navigator (payant) que vous pouvez cependant télécharger en version d'essai au site de Netscape (http://home.netscape.com) ou sur les CD de certains mensuels informatiques soit Microsoft Explorer (gratuit) à télécharger également (http://www.microsoft.com) ou dans les revues.
2.2 Vous n'avez pas besoin:
* d'être connectépour écrire, voir et peaufiner vos pages Html.
* d'avoir le dernier éditeur Html sans doute performant mais coûteux qu'il sera toujours temps d'adopter lorsque vous aurez usévos petits doigts sur vos premières pages. Nous pensons à Claris Home Page, Frontpage de Microsoft, Hotdog, Hotmetal, WebExpert ou Netscape Editor ainsi qu'aux dizaines d'autres éditeurs que vous rencontrerez sur le Web.
2.3 Conseils
Le langage Html étant un ensemble de balises et d'attributs, il nous paraît utile sinon indispensable de les passer en revue et surtout de les visionner au moins une fois car :
* si les éditeurs Html vous faciliteront grandement la tache, ils ne sont pas toujours parfaits surtout lors des modifications, annulations ou suppressions en cours de travail. Il vous faudra bien alors vous plonger dans le code source pour corriger les dysfonctionnements.
* les codes source de vous pages préférées sont disponibles (et sans copyright). Il est alors possible de s'en inspirer pour reprendre le procédésans avoir à réinventer le monde.
* ces mêmes éditeurs Html vous proposeront des termes comme" En-tête, Heading, Cell spacing, Numered List..." qui sont propres au langage Html.
* vous aurez besoin d'une connaissance pointue du Html pour inclure les codes du Javascript ou du VBscript dans vos pages.
Chapitre 3 : Le document Html minimum
3.1 Voici vos premières balises ou tags :
<HTML> Ceci est le début d'un document de type HTML. </HTML> Ceci est la fin d'un document de type HTML. <HEAD> Ceci est le début de la zone d'en-tête. (Prologue au document proprement dit contenant des informations destinées au browser) </HEAD> Ceci est la fin de la zone d'en-tête. <TITLE> Ceci est le début du titre de la page. </TITLE> Ceci est la fin du titre de la page. <BODY> Ceci est le début du document proprement dit. </ BODY> Ceci est la fin du document proprement dit.
* Vous aurez remarqué: qu'à chaque balise de début d'une action, soit <...>, correspond (en toute logique) une balise de fin d'une action </...>.
* Vous noterez aussi que les balises ne sont pas "case sensitive". Il est donc équivalent d'écrire <HTML>, <html>, <Html>, etc.
3.2 Faisons ensemble notre premier document Html:
- Ouvrir l'éditeur de texte.
- Ecrire les codes Html suivants:
<HTML>
<HEAD>
<TITLE>Document Html minimum</TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>
- Enregistrer le document avec l'extension .html ou .htm.
- Ouvrir le navigateur.
- Afficher le document via le menu File/Open file...
- Admirer votre premier document Html.
Celui-ci est vide (et c'est normal) mais tout à fait opérationnel! Il faudra maintenant lui fournir votre information à l'intérieur des balises <BODY></BODY>. Remarquez que votre "TITLE" est présent dans la fenêtre de Netscape.
Pour vos éventuelles modifications, il n'est pas nécessaire de rouvrir à chaque fois le navigateur.
* Retourner dans l'éditeur de texte (sans fermer le navigateur).
* Modifier les codes Html.
* Enregistrer le fichier.
* Utiliser la commande Reload du browser ou si celui-ci est paresseux cliquer dans la barre "Location" et faire "Enter".
Chapitre 4 : Le texte
Tout document Html contiendra en majoritédu texte. Voyons comment l'agrémenter par quelques balises élémentaires.
Gras [Bold] <B>...</B> Début et fin de zone en <STRONG>...</STRONG> gras Italique [Italic] <I>...</I> <EM>...</EM> Début et fin de zone en italique Taille de [Font <FONT SIZE=?>...</FONT> Début et fin de zone avec caractère size] cette taille Couleur de [Font <FONT COLOR="#$$$$$$">< Début et fin de zone en caractère color] /FONT> couleur A la ligne [Line <BR> Aller à la break] ligne Commentaires [Comments <!-- *** --> Ne pas afficher ] Centrage [Center] <CENTER></CENTER> Centrer
Ouvrir l'éditeur de texte
<HTML>
<HEAD><TITLE></TITLE></HEAD>
<BODY>texte simple<BR>
<B>texte en gras</B><BR>
<STRONG>texte en gras</STRONG><BR>
<I>texte en italique</I><BR>
<EM>texte en italique</EM><BR>
<B><I>texte en gras et en italique</I></B><BR>
<FONT SIZE=5>texte</FONT>
<FONT COLOR="#0000FF">en bleu</FONT>
<!--C'est fini-->
</BODY>
</HTML>
- Ouvrir le browser
Quelques commentaires s'imposent;
* Le texte tout simple s'écrit sans balises. Il sera repris par le browser avec la police et taille de caractères choisie dans sa configuration par défaut.
* Le browser affiche le texte qu'on lui "dicte" en passant à la ligne lorsque celui-ci atteint le bord de la fenêtre. Pour le forcer à passer outre à cette règle de conduite et à faire un saut à la ligne comme vous le souhaitez, il faut une instruction particulière. C'est la balise <BR>. Celle-ci représente une action ponctuelle et n'a donc pas besoin de balise de fin.
* Le même browser ne tient compte que d'un seul espace entre les mots.
Ainsi pour lui
<FONT SIZE=5>texte</FONT>
<FONT
COLOR="#0000FF">en bleu</FONT> est équivalent
à
<FONT SIZE=5>texte</FONT><FONT
COLOR="#0000FF">en bleu</FONT>
* Il n'est pas rare d'utiliser plusieurs balises pour un même élément de texte. Il faut veiller à bien les imbriquer. Ainsi <B><I>...</I></B> est correct et <B><I>...</B></I> risque de vous créer des ennuis.
* La taille dans <FONT SIZE=?> peut être indiquée de deux façons :
1. avec un nombre de 1 à 7. La valeur par défaut étant 3.
2. de façon relative par rapport à la valeur par défaut (ici 0). Soit -3 -2 -1 0 +1 +2 +3.
* Pour les puristes , les balises <I> et <EM>, <B> et <STRONG> ne sont pas totalement équivalentes. Vous verrez en poussant plus avant votre étude du langage Html que <EM> et <STRONG> appartiennent aux définitions structurales (style logique) dont l'apparence dépend des options reprises dans la configuration du browser. Les balises <B> et <I> appartiennent aux formats de présentation (style physique) dont l'apparence dépend de la volontéde l'auteur.
Voici les codes de quelques couleurs basiques.
Bleu #0000FF Vert #00FF00 Blanc #FFFFFF Violet #8000FF Rouge #FF0000 Jaune #FFFF00 Gris clair #C0C0C0 Noir #000000
Chapitre 5 : Du texte encore...
Des balises de texte, il y en plein des valises! Selon les versions du HTML (nous en sommes à la version HTML 3.2) et l'apparition des éditeurs Html évolués, certains tags sont moins utilisés. D'autres aussi sont tout bonnement d'un emploi rare ou pour le moins particulier.
En voici quelques uns qui compléteront votre panoplie actuelle.
* Le tag <BLOCKQUOTE>...</BLOCKQUOTE> introduit une
citation.
Son utilitéserait douteuse si le texte de cette citation
n'était introduit avec un léger retrait à gauche et
à droite. Ce qui est bien pratique pour agrémenter la
présentation.
Voici un texte normal sans blockquote.
Voici un texte avec blockquote. Remarquez le retrait.
Pour la petite histoire ce tag n'était pas prévu dans
Netscape Editor de la version Gold 3.0 mais il a été
ajouté
à la version Netscape Communicator 4.0. Le
même effet peut-être réalisépar un tableau ou un
tag de liste
vide.
* Vous savez déjà que les browsers ne reconnaissent qu'un
espace entre les mots. Ce qui peut se révéler gênant dans
certaines situations.
La balise <PRE>...</PRE> affiche un texte
dit préformaté. Le browser prend ainsi en compte tous les espaces
et sauts de ligne définis à l'écran. P r a t i q u
e
Avant que les tableaux n'étaient reconnus par les browsers, les
braves pionniers du Html devaient employer ce tag pour faire des tableaux.
* Le tag <ADDRESS>...</ADDRESS> pour indiquer une adresse
(généralement en fin de document).
Voici mon adresse avec
cette balise :
Van Lancker Luc
Rue des Brasseurs, 22
7700 Mouscron
(Belgium)
* La balise <S>...</S> souligne le texte.
Comme, par convention,
les éléments servant d'hyperlien sont soulignés (c'est le
même que dans les fichiers d'aide), on évitera le souligner des
éléments de texte pour lui donner de l'importance. On
préférera la mettre en gras ou dans un format ou une couleur de
police différent. Il ne faut donc pas en abuser.
* En parler ou ne pas en parler, voilà la question! Netscape 3.0 et
plus (et pas Microsoft Explorer) permet d'afficher un texte clignotant par la
balise <BLINK>...</BLINK>. Ce tag est un peu tournéen
dérision car il est rapidement ennuyeux. On lui préférera
une image animée qui peut être débranchée
après quelques clignotements.
ParticularitéNetscape!
(uniquement)
* Les tags <SUB>...</SUB> et <SUP>...</SUP> place le texte respectivement en indice et en exposant. Ainsi, <SUB>escalier</SUB>escalier<SUP>escalier</SUP> aura comme résultat
escalier escali er escalier
* Pour aligner du texte, on a utilisél'attribut ALIGN ou le tag
<CENTER>. Il existe une balise permettant d'aligner différents
éléments. c'est le tag :
<DIV align=left>...</DIV>
<DIV align=center>..</DIV>
<DIV
align=right>...</DIV>
Cette alternative pour l'alignement
horizontal du texte est parfois bien utile pour définir l'alignement
d'une portion de texte. Il nous est très utile pour parer à
certaines "paresses" de Microsoft Explorer 3.0 par exemple.
* Il existe encore bien d'autres balises que je vous invite à découvrir dans vos études suivantes.
Chapitre 6 : Les titres et les listes
Tout document d'une certaine consistance se doit de présenter, par exemple dans la table des matières, les différents niveaux de son exposé. Html a disposédès son origine d'outils spécialement conçus à cet effet.
En-têtes [Heading] <Hn></Hn> Afficher une en-tête de niveau n et avec n=1 sauter une ligne [[daggerdbl]] 6 Liste [Bullet <UL></UL> Afficher le texte sous forme d'une non-ordonnée list] liste non-ordonnée. Liste ordonnée [Numbered <OL></OL> Afficher le texte sous forme d'une list] liste ordonnée. Elément de [List items] <LI> Voici un élément de la liste liste Paragraphe [Paragraph] <P></P> Saut de ligne, insérer une ligne vierge et commencer un paragraphe
Comme d'habitude...
- On ouvre son petit éditeur de texte
<H1>Les mois du printemps</H1>
<UL><LI>avril
<LI>mai
<LI>juin</UL>
<P>
<H3>Les mois d'automne</H3>
<OL><LI>octobre
<LI>novembre
<LI>décembre</OL>
- Et on ouvre son petit browser
Les mois du printemps
* avril
* mai
* juin
Les mois d'automne
1. octobre
2. novembre
3. décembre
- Quelques commentaires s'imposent;
1. é est l'un de ces caractères spéciaux utilisés pour représenter le é. Les éditeurs Html vous déchargeront de cette corvée.
2. Les paragraphes et les en-têtes peuvent s'aligner à
gauche, au centre ou à droite.
<H1
align=left></H1>
<P align=left></P>
<H1
align=center></H1>
<P align=center></P>
<H1
align=right></H1>
<P align=right></P>
3. Les listes peuvent s'imbriquer:
<H4>Les 12 mois</H4>
<UL><LI>Les mois du
printemps
<OL><LI>avril
</OL></UL>
Les 12
mois
* Les mois du printemps
1. avril
Chapitre 7 : Les liens
Html (Hyper Text Markup Language) est un langage hypertexte (et hypergraphique) qui vous permet en cliquant sur un mot, généralement souligné(ou une image) de vous transporter;
* vers un autre endroit du document.
* vers un autre fichier Html situésur votre ordinateur.
* vers un autre ordinateur situésur le Web.
Ce système d'hypertexte vous est familier car il est également utilisépar les fichiers d'aide de Windows. Ce sont ces liens qui vous permettent de surfer de page en page et qui constituent l'essence des documents Html.
La syntaxe de ces liens entre plusieurs pages, est simple mais entraînera de nombreux commentaires :
<A HREF="URL ou Adresse">...</A>
7.1 Lien externe
Tout ordinateur situésur le réseau Internet possède une adresse ou une URL (Universal Ressource Locator). Html permet d'accéder à toutes les machines et toutes les ressources du Net. Pour peu qu'Internet vous est un peu familier, ce sont les adresses du type :
http://serveur/chemin.../fichier
ftp://serveur/chemin.../fichier
mailto:utilisateur@hôte
7.2 Lien local
L'organisation classique et plus que conseillée d'un site Web consiste en regrouper l'ensemble des éléments de celui-ci (fichiers htm, images, ...) dans un même répertoire. Vous pourrez ainsi "transporter" aisément votre site pour le présenter sur un autre ordinateur et ,but ultime, le charger sur un serveur. Cette façon de procéder est la plus aisée et vous évitera pas mal de problèmes. L'adresse du lien sera alors tout simplement :
fichier.htm
7.3 Lien mixte
Nous entendons par là un lien vers un fichier situé à un autre endroit de votre ordinateur (et donc non situé dans le répertoire de votre site). Attention Danger! En effet, il est peut probable que le serveur Web qui hébergera votre site, possède la même arborescence que votre disque local. L'adresse prendra la forme
file:///lecteur:/répertoire/fichier.htm (en adressage absolu).
../../../fichier.htm (en adressage relatif).
Cette matière d'adressage absolu et relatif dépasse le cadre de cet exposéet je vous invite en cas d'utilisation à vous plonger dans la documentation relative à ce sujet.
7.4 Expérimentons tout ceci.
- Dans l'éditeur de texte,
nous allons créer deux fichiers Htlm.
* le fichier 1.htm:
<A HREF="2.HTM">Aller vers le document
2</A>
* le fichier 2.htm:
<A HREF="1.HTM">Retour au document 1</A>
- On sauve ces deux fichiers dans un même répertoire.
- Le browser vous affichera:
7.5 Les ancres
Des liens peuvent aussi pointer vers un endroit précis du même document ou d'un autre fichier. C'est ce qu'on appelle les ancres, ancrages ou pointeurs [Anchor].
Point d'ancrage <A NAME="***">...</A> Ceci est une cible Lien vers une ancre dans la <A HREF="#***">...</A> Lien vers la cible même page *** dans la même page Lien vers une ancre dans une <A HREF="URL#***">...</A Lien vers la cible autre page > *** dans une autre page
Plusieurs liens à l'intérieur d'un même document supposent que ce document présente une certaine longueur sinon une longueur certaine (et donc un temps de chargement assez long). Ainsi, on préférera généralement à cette technique le découpage d'un longue page en un ensemble de plusieurs pages de dimension plus réduite.
Chapitre 8 : Les images
8.1 GIF ou JPEG?
Avant de passer aux balises, il faut savoir ce qui suit.
* Les deux formats d'image (maximum 256 couleurs) reconnus sur le Web, sont le format GIF (version 89a) et le format JPEG. Pour le format GIF, on retiendra la caractéristique "entrelacé" qui permet de charger progressivement l'image lors de l'ouverture de la page. Ces deux formats donnent des résultats assez équivalents bien que JPG soit plutÙt recommandépour des images avec des tons nuancés ou dégradés.
* L'ennemi sur le Web, c'est la taille des images! Plus l'image sera grande, plus le temps de chargement sera long... au risque de décourager vos visiteurs. Si cela est possible, une image en 16couleurs peut très bien faire l'affaire. Présenter une petite image indiquant un lien vers l'image complète est également un bon conseil.
* Il n'est pas inutile de prévoir dans votre panoplie de compositeur Web, un logiciel de retouche d'images. A ce propos "Paint Shop Pro" a la triple qualitéd'être disponible en shareware, d'être très intuitif et d'être performant. En outre, un tel logiciel vous permettra de composer vos propres images et ainsi de personnaliser vos pages.
* Dois-je rappeler qu'il est très facile de se faire une bibliothèque d'images tout en surfant sur le Web? Avec Netscape, il suffit de se positionner sur l'image, de cliquer avec le bouton gauche de la souris et de suivre les instructions du menu déroulant (Save Image As...).
8.2 Le code Html est :
<IMG SRC="Adresse de l'image"> Afficher l'image qui se trouve à l'adresse...
La balise image possède de nombreux attributs.
Texte alternatif alt="****" Pour les browser n'ayant pas l'option "image" activée Dimensions width=? height=? Hauteur et largeur (en pixels) border=?(en pixels) Bordure align=top align=middle Alignement align=botton align=left align=right
8.3 Commentaires :
* En Html, l'image ne fait pas partie de votre document. Le browser va la chercher à l'adresse indiquée. Généralement, on place les images dans le même répertoire que les pages Html.
* Presque en conséquence logique de ceci, le fait d'utiliser la même image à plusieurs reprises dans un fichier Html ne modifie en rien sa taille.
* Prévoir un texte pour les browsers n'ayant pas l'option image activée, permet au lecteur de ne pas perdre le fil de l'exposéet peut-être d'activer cette option pour découvrir votre oeuvre.
* Il est important pour la fluiditéde l'affichage de préciser la taille en hauteur et largeur de l'image car le browser peut ainsi connaissant l'emplacement à réserver pour celle-ci, continuer à afficher le texte. Cette information vous est donnée par Paint Shop Pro.
8.4 L'attribut Align
L'attribut align positionne l'image par rapport au texte
<IMG SRC="HELP.gif" align=TOP>Fichier d'aide <IMG SRC="HELP.gif" align=CENTER>Fichier d'aide <IMG SRC="HELP.gif" align=BOTTOM>Fichier d'aide
8.5 Lien sur image
Les balises sont :
<A HREF="fichier.htm"><IMG SRC="image.gif"></A>
Remarquons que les images cliquables sont entourées d'une bordure.
Chapitre 9 : Les séparateurs
Les browsers intègrent un outil de mise en forme intéressant pour clarifier la présentation de votre texte. C'est la ligne horizontale.
La syntaxe en est fort simple:
Ligne horizontale [Horizontal Rule] <HR> Insérer une ligne horizontale
Ce tag fort simple, nous permettra de comprendre un peu mieux le fonctionnement du navigateur. D'abord, vous avez déjà découvert au fil de vos erreurs qu'il est plutÙt gentil car il s'efforce toujours d'afficher quelque chose. Ensuite, il vous ménage le travail en prenant à sa charge des valeurs par défaut d'un certain nombre d'attributs. Dans le cas présent, les valeurs par défaut de la balise <HR> sont : une épaisseur de trait de 2 pixels, un alignement centréet une largeur de 100% de la fenêtre. Vous pouvez très bien modifier au gréde votre fantaisie les valeurs de ces différents attributs.
<HR size=?> Epaisseur en pixels <HR width=?> Largeur en pixels <HR width="%"> Largeur en % de la fenêtre <HR align=left> <HR Alignement gauche align=right> <HR Alignement droite align=center> Alignement centré
Il est donc tout à fait équivalent d'écrire:
* <HR> ou
* <HR size=2 align=center width="100%"
Je vous propose un petit exercice:
- Avec l'éditeur de texte
<H3 align=center>Van Lancker Luc</H3>
<HR align=center size=8 width="50%">
- Avec le browser
- Commentaires
* On préférera spécifier la largeur en % de la fenêtre plutÙt qu'en pixels car l'affichage s'adaptera ainsi à toutes les tailles et résolutions d'écran.
* On peut préférer l'usage d'images comme séparateur (comme c'est la cas ici) pour personnaliser son ouvrage.
Chapitre 10 : Les arrière-plans
Le langage Html permet d'agrémenter la présentation du document d'un arrière-plan [background] coloréou composéd'une image. Ce qui apporte un élément "artistique" à votre page.
La balise à utiliser ne pose pas de problèmes :
Couleur d'arrière-plan <BODY BGCOLOR="#$$$$$$">
Donc, pas de problèmes! On fait un essai...
<BODY BGCOLOR="#000088">
<H1>Bonjour</H1>
</BODY>
Joli! Mais la lisibilitén'est pas parfaite. Heureusement, des balises sont prévues pour modifier les couleurs utilisées par défaut par le browser pour le texte et les liens.
Couleur de texte <BODY TEXT="#$$$$$$"> Couleur de lien <BODY LINK="#$$$$$$> Lien visité <BODY VLINK="#$$$$$$> Lien actif <BODY ALINK="#$$$$$$>
Reprenons notre exemple;
<BODY BGCOLOR"#000088" TEXT="#FFFF00>
<H1>Bonjour</H1>
</BODY>
On peut aussi prévoir un fond en image. Cette image (petite de préférence) est affichée en mosaîque par le browser. Attention aux raccords... comme lorsque vous posez du papier peint.
Texture d'arrière-plan <BODY BACKGROUND="Adresse"
Ce qui peut nous donner :
<BODY BACKGROUND="PAPER.gif">
<H1>Bonjour</H1>
</BODY>
Chapitre 11 Les tableaux
En Html, les tableaux servent non seulement à aligner des chiffres mais surtout à placer des éléments à l'emplacement que vous souhaitez. L'usage des tableaux est donc très fréquent.
Un tableau est composéde lignes et de colonnes qui forment les cellules du tableau.
Les balises de base sont donc
Définition du [Table] <TABLE></TABLE> Début et fin de tableau tableau Définition d'une [Table Row] <TR></TR> Début et fin de ligne ligne Définition d'une [Table Data] <TD></TD> Début et fin de cellule cellule
11.1 Un tableau à deux lignes et deux colonnes, et donc à quatre cellules se représente comme suit :
<TABLE>
<TR><TD>1</TD><TD>2</TD></TR>
<TR><TD>3</TD><TD>4</TD></TR>
</TABLE>
11.2 Si vous souhaitez y adjoindre des bordures :
Bordure de cadre [Border] <TABLE border=?></TABLE>
<TABLE border=2>
<TR><TD>1</TD><TD>2</TD></TR>
<TR><TD>3</TD><TD>4</TD></TR>
</TABLE>
Il y a encore trois éléments (définis par défaut mais modifiables) :
L'espace entre les cellules ou <TABLE cellspacing=?> l'épaisseur des lignes du quadrillage L'enrobage des cellules ou <TABLE cellpadding=?> l'espace entre le bord et le contenu La largeur de la table <TABLE width=?> <TABLE width=%>
Construisons un exemple :
<TABLE border=2 cellspacing=10>
<TR><TD>1</TD><TD>2</TD></TR>
<TR><TD>3</TD><TD>4</TD></TR>
</TABLE>
<TABLE border=2 cellpadding=10>
<TR><TD>1</TD><TD>2</TD></TR>
<TR><TD>3</TD><TD>4</TD></TR>
</TABLE>
Chapitre 12 Les cellules des tableaux
Nous n'en avons pas fini avec les tableaux. Allons plus loin dans notre étude en nous penchant sur les cellules de ces tableaux.
Avant toutes choses, les cellules peuvent contenir tous les éléments Html déjà passés en revue soit :
* du texte
* des images
* des liens
* des arrière-plans
* et même des tableaux (eh oui!)
Bien que l'allure de votre tableaux soit déjà déterminée, chaque cellule est en quelque sorte un petit univers à part qui à ses propres spécifications. Découvrons les balises.
Largeur d'une cellule <TD width=?> en pixels <TD width=%> en pourcentage Fusion de lignes <TD rowspan=?> Fusion de colonnes <TD colspan=?>
Découvrons ceci par des exemples.
Je veux un tableau centréqui occupe 60% de la fenêtre avec sur une ligne, trois colonnes égales. Essayons ceci :
<CENTER><TABLE width=60% border=1>
<TR>
<TD>cellule1</TD>
<TD>cel. 2</TD>
<TD>3</TD>
</TR>
</TABLE></CENTER>
Pas brillant! Et avec la balise de largeur de la cellule?
<CENTER><TABLE width=60% border=1>
<TR>
<TD width=33%>cellule1</TD>
<TD width=33%>cel. 2</TD>
<TD width=34%>3</TD>
</TR>
</TABLE></CENTER>
Impeccable! Prenons le même tableau mais avec 2 lignes.
<CENTER><TABLE width=60% border=1>
<TR><TD width=33%>cellule1</TD><TD width=33%>cel. 2</TD>
<TD width=34%>3</TD></TR>
<TR><TD width=33%>cellule1</TD><TD width=33%>cel. 2</TD>
<TD width=34%>3</TD></TR>
</TABLE></CENTER>
Je souhaite que la première ligne prenne toute la largeur de la ligne. La première cellule doit donc déborder sur 3 cellules horizontales.
<CENTER><TABLE width=60% border=1>
<TR>
<TD colspan=3>cellule 1</TD>
</TR>
<TR> <TD width=33%>cellule 1</TD> <TD width=33%>cel 2</TD>
<TD width=34%>3</TD> </TR>
</TABLE></CENTER>
Dans le même style, je souhaite que la première colonne prenne toute la hauteur de la colonne. La première cellule doit donc déborder sur 2 cellules verticales.
<CENTER><TABLE width=60% border=1>
<TR>
<TD width=33% rowspan=2>cellule 1</TD>
<TD width=33%>cel 2</TD>
<TD width=34%>3</TD>
</TR>
<TR>
<TD width=33%>cel 2</TD>
<TD width=34%>3</TD>
</TR>
</TABLE></CENTER>
Maintenant, comme le disait un gardien de prison de mes connaissances, il est temps de mettre de l'ordre dans les cellules [Je n'ai pas pu résister...].
Ligne de tableau <TR align=left/center/rig horizontalement ht> <TR verticalement valign=top/middle/bottom> Cellule de tableau <TD align=left/center/rig horizontalement ht> <TD verticalement valign=top/middle/bottom>
A titre d'exemple, reprenons le tableau suivant :
avec quelques aménagements, il devient...
<CENTER><TABLE width=60% border=1>
<TR>
<TD colspan=3 align=center>Tarif au ../../..</TD>
</TR>
<TR>
<TD width=33% >Article 1</TD><TD width=33%>Ref 002 </TD>
<TD width=34% align=right>30fr</TD>
</TR>
</TABLE></CENTER>
Pour terminer cette leçon, il est aussi possible de changer la couleur de la cellule.
Couleur de la cellule<TD BGCOLOR="#$$$$$$">
notre dernier exemple pourrait devenir :
<TD colspan=3 align=center bgcolor="#0000FF">
Chapitre 13 : Les frames
Quoi de plus simple que les frames? Mais aussi quoi de plus délicat et dangereux (risque de plantage) que les frames? En outre, tous les browsers n'ont pas la possibilitéde les afficher.
Pour diviser l'écran en plusieurs fenêtres, les balises sont peu nombreuses :
Zone avec des fenêtres <FRAMESET> </FRAMESET> Début de zone avec des fenêtres Fin de zone avec des fenêtres Agencement des fenêtres <FRAMESET ROWS="..." Fenêtres horizontales <FRAMESET COLS="..." Fenêtres verticales
13.1 Il est impératif de travailler avec des exemples. Pour obtenir un agencement ainsi :
Il faut employer les balises suivantes :
<HTML>
<HEAD></HEAD>
<FRAMESET ROWS="30%,70%">
<FRAME>
<FRAME>
</FRAMESET>
</HTML>
Attention! <FRAMESET></FRAMESET> remplace <BODY></BODY>
L'attribut ROWS="hauteur1,hauteur2,...,hauteurN" définit la hauteur des différentes fenêtres en cas de division horizontale.
La hauteur s'exprime en pixels ou en %. Dans ce cas, on veillera à ce que le total soit égal à100%;
13.2 Le même pour un agencement vertical
<FRAMESET ROWS="30%,70%">
<FRAME>
<FRAME>
</FRAMESET>
L'attribut COLS="largeur1,largeur2,...,largeurN" définit la largeur des différentes fenêtres en cas de division verticale
La hauteur s'exprime en pixels ou en %. Dans ce cas, on veillera à ce que le total soit égal à100%;
13.3 On peut mélanger les deux :
<FRAMESET ROWS="30%,70%">
<FRAME>
<FRAMESET COLS="30%,70%">
<FRAME>
<FRAME>
</FRAMESET>
</FRAMESET>
13.4 Pour l'instant, nos frames sont vides. On va donc leur donner à manger par des attributs de la balise :
<FRAME>.SRC="URL"adresse du document à afficher dans la fenêtre
On construit 3 fichiers Html élémentaires que l'on place dans le même répertoire que le fichier de frames :
.A.htm B.htm C.htm <HTML><BODY> <HTML><BODY> <HTML><BODY> <H1>C</H1> <H4>A</H4> <H1>B</H1> </BODY></HTML> </BODY></HTML> </BODY></HTML>
On reprend le fichier de frame précédent que l'on complète.
<FRAMESET ROWS="30%,70%">
<FRAME SRC="A.htm">
<FRAMESET COLS="30%,70%">
<FRAME SRC="B.htm">
<FRAME SRC="C.htm">
</FRAMESET>
</FRAMESET>
Les ascenseurs, comme à la fenêtre A, apparaissent automatiquement. Par l'attribut de la balise <FRAME> SCROLLING="yes/no/auto" vous pouvez indiquer si la fenêtre doit ou non posséder une barre de défilement.
13.5 Un autre attribut de cette balise <FRAME> est NAME="NOM". Name indique le nom de la fenêtre de telle sorte que cette frame puisse être utilisée comme cible d'un lien hypertexte.
Ainsi, je voudrais faire un lien sur B pour afficher le contenu de ce lien (prenons le fichier a.htm pour éviter de l'encodage) dans C .
Le fichier de frames devient :
<FRAMESET ROWS="30%,70%">
<FRAME SRC="A.htm">
<FRAMESET COLS="30%,70%">
<FRAME SRC="B.htm">
<FRAME SRC="C.htm" NAME="fenetreC">
</FRAMESET>
</FRAMESET>
Et on met un lien vers A.htm dans le fichier B.htm en désignant comme cible la frame C.
<HTML><BODY>
<A HREF="A.htm" TARGET="fenetreC"><H1>B</H1></A>
</BODY></HTML>
L'attribut TARGET peut aussi prendre certaines valeurs prédéfinies :
* _blank qui indique au browser qu'il doit créer une nouvelle fenêtre afin d'y afficher le fichier. Dans ce cas, vous ouvrer en fait un nouveau browser.
* _self qui indique que le fichier sera chargédans la même fenêtre que celle dans laquelle se trouve le lien.
* _top qui implique l'affichage du fichier sur toute la surface de la fenêtre du browser.
VERIFIER TOUJOURS VOS DIFFERENTS LIENS AVEC DESnbsp;FRAMES. Vous éviterez ainsi que votre beau site ne devienne rapidement une "soupe".
13.6 Il y a pour terminer la balise <NOFRAMES>...</NOFRAMES> qui est utilisée pour indiquer le texte que doivent afficher les browsers incapables de gérer les frames. Il est même indiquéde prévoir une page sans fenêtres pour que ces visiteurs puissent profiter quand même de votre site.
Chapitre 14 : Le choix d'un éditeur
Un éditeur Html s'impose pour vous décharger d'un certain nombre de t,ches fastidieuses comme les caractères spéciaux, les codes de couleur, l'encodage des balises, etc.
Comme l'éventail offert est large (une petite cinquantaine sous Windows), il est utile de guider votre choix même si nous entrons ici dans le domaine du subjectif.
14.1 Critères généraux
* La majoritédes éditeurs est disponible sur le Net en version d'évaluation. Pourquoi n'en profiteriez vous pas pour en essayer plusieurs avant de faire votre choix?
* A éviter sinon à proscrire les éditeurs "qui écrivent pour vous". Un éditeur doit vous faciliter le travail tout en vous laissant la main dans l'élaboration de votre page.
* Adoptez un éditeur avec lequel vous vous sentez à l'aise. Même s'il n'est pas le plus cÙté, il sera votre compagnon de longues heures de travail.
* Les éditeurs Html les plus récents sont WYSIWYG (What You See Is What You Get) ou avec prévisualisation intégrée comme votre traitement de texte. Le codage des balises Html n'apparaît donc plus. Il serait dommage de se priver de cette propriété! Gardez cependant toujours à l'esprit que cette prévisulisation n'est pas (et ne sera jamais) fidèle à 100% par rapport à ce qui sera affichépar le browser et qu'elle ne vous empêche nullement de consulter quand même le code source.
* Pourquoi un? On peut très bien imaginer un éditeur évoluépour le courant et un éditeur de la première génération (plus proche des tags purs et durs) pour les réalisations plus pointues.
14.2 Les WYSIWYG
Claris Home
Assurément une bonne pointure. Convivial et très complet, il gère les frames et les formulaires. Son outil de gestion des images est super complet. Ce qui est moins le cas pour l'élaboration des tableaux. Existe en version française. Un tout bon! www.claris.com
WebExpert
Editeur en français. Très complet. Inclus même quelques animations en Javascript. Offre une librairie des balises sous forme de fichier d'aide en français (très pratique). Peut être le plus convivial du moment. www.visic.com
Netscape Editor
On n'est jamais si bien servi que par soi-même. Excellente prévisualisation et la rapiditédu passage en mode browser fera le régal des petites machines. La gestion des tableaux est on ne peut plus précise. Cependant il n'est pas complet car il lui manque les frames et les formulaires. En outre méfiez vous car certaines balises ne sont pas reconnues par Microsoft Explorer. Existe en version française. home.netscape.com
Front Page
Un très bon produit Microsoft. Donne vraiment l'impression d'utiliser un traitement de texte. Très complet. Simule également un serveur. Très gourmand comme beaucoup (trop?) de produits de la marque. Existe en français.
www.microsoft.com
Les autres...Que nous ne connaissons que de nom.
Aol Press - www.aolpress.com
Backstage Designer - www.macromedia.com
Incontext Spider
HotMetal
etc.
14.3 LES EDITEURS CLASSIQUES
HotDog
La référence dans cette catégorie. D'aucuns
continuent à préférer les versions de la série
2 à celles de la série 3 et 4, plus lourdes et au graphisme
tapageur. Un excellent outil, très complet et bien mis à jour.
www.sauvage.com
HTML Notepad
Editeur simple, compact et complet. Proche des balises, il vous fait distinguer entre les balises Netscape et Microsoft Explorer. Idéal pour "chipoter" dans le code source. Notre petit chouchou.
www.cranial.com/software/htmlnote
Les autres...
WebEdit / HTMLed / HTML Assistant Pro / Dida / EdWin / Html Builder / Html Editor / WSKA HTML / Web-It / WebThing / Webmania / Almost Reality / HtmlPad ... et bien d'autres encore que vous pouvez découvrir en lançant les Yahoo, Lycos, Alta Vista sur une recherche avec pour objet "Html Editor".
14.4 LES EXTENSIONS DE WORD
Malgréplusieurs essais, aucune extension de Word de la version 6, 7 (95) ou 8 (97) ne nous a laisséun souvenir, disons, impérissable... sauf si vous rester aux spécifications Html 2. Préférez alors Front Page si vous êtes accros des produits Microsoft.
Chapitre 15 : Des conseils en vrac
Le lecteur d'une présentation informatisée fera toujours une corrélation entre la valeur du contenu de celle-ci et la fiabilitéde votre application.
Alors testez, testez... il en restera toujours quelque chose.
* Tous les liens sont-ils bien définis?
* Toutes les images sont-elles bien présentes?
* Que se passe-t-il avec un browser différent?
* Et si votre site change d'emplacement?
* Et avec une autre résolution d'écran?
Il est de bon conseil de tester les pages Web avec différents navigateurs (Netscape 2 et/ou 3, Explorer 3.0) et avec différentes résolutions d'écran (640/480, 800/600, 1024/768). Des surprises ne manqueront pas à l'appel (surtout avec Explorer 3.0).
Un truc tout simple est de changer votre site en construction de disque ou de répertoire. Il n'est pas non plus inutile de signaler les conditions optimales pour visionner votre site.
Votre page d'accueil doit être attirante à l'oeil comme à l'esprit de votre lecteur. Il faut donc la soigner plus que toutes les autres pages. Cette Homepage doit donner envie aux interlocuteurs intéressés par le sujet à aller plus loin dans votre site et permettre au surfer pressénon concernéà continuer sans remords son cybervoyage.
Généralement, on se contentera d'une ébauche de page d'accueil durant la construction du site et on fignolera cette première page en dernier lieu.
On gardera à l'esprit les questions suivantes :
* Des informations détaillées sur le contenu sont-elles directement ou rapidement disponibles?
* Votre titre résume-t-il bien le contenu de vos pages?
* L'esthétique de votre page est-elle de bon goût? Originale? Attrayante?
* N'y a-t-il rien qui ne puisse choquer inutilement un lecteur d'une culture différente de la vôtre?
* Le raffinement de votre page d'accueil n'est-il pas excessif au point de pénaliser lourdement le temps de chargement (image trop grande ou texte trop long)?
Et pour terminer une série de conseils divers.
* Présenter l'information de façon claire et sobre.
* Diffuser de l'information -- UTILE --
* Eviter de mettre trop d'informations dans la même page.
* Concevoir une structure pertinente.
* Respecter la législation sur le copyright et les droits d'auteur.
* Prévoir sur chaque page un lien vers la page d'accueil.
* Mettre régulièrement à jour le contenu.
* Mettre un titre à chaque document.
* Limiter la taille des images.
* Inclure un texte alternatif pour les images.
* Faire connaître le site aux moteurs de recherche.
* Vérifier le résultat de la mise en page à l'impression.
Chapitre 16 : Html avancéen bref
Même si nous ne faisons que le présenter brièvement, le langage Html s'est aussi :
* Les images animées.
* Les images cliquables ou mapées
* Les détails de la balise <HEAD>
* Les formulaires
* Les Javascripts
* Les applets Java
16.1 Les images animées qui agrémentent les pages Web sont des images GIF, composées un peu comme les dessins animés, par des logiciels conçus à cet effet. A utiliser avec modération!
Des Gifs animées sont disponibles sur le Web. Vous pouvez aussi en créer vous-même assez facilement gr,ce à de petits programmes comme Microsoft Gif Animator, Gif Construction Set, Cel Assembler....
16.2 Les images cliquables sont divisées en zones sur lesquelles il est possible de cliquer et d'ouvrir ainsi une page située à une adresse (URL) déterminée. On apppelle aussi cette propriétél'hypergraphique par rapport à l'hypertexte.
Ici aussi de petits logiciels comme Mapedit, Map This, CrossEye, Web Hotspots... vous seront d'une grande utilité.
Les balises seront :
- pour l'image
<IMG SRC="image.gif" USEMAP="#nom">
- pour les zones cliquables :
<MAP NAME="nom">
<Image><AREA SHAPE=RECT COORDS="X1,Y1,X2,Y2" HREF="URL">
<Image>...
</MAP>
Sans entrer dans les détails. voici une image où en cliquant sur la lettre B, le fichier B.htm sera ouvert et en cliquant sur la lettre C, ce sera au tour du fichier C.htm.
Le code source est :
<BODY>
<IMG SRC="ABC.gif" USEMAP="#Alpha">
<MAP NAME="Alpha">
<Image><AREA SHAPE=RECT COORDS="40,10,60,40" HREF="B.htm">
<Image><AREA SHAPE=RECT COORDS="70,10,95,45" HREF="C.htm>
</MAP>
</BODY>
16.3 Nous avons ététrès bref lors de l'étude de la balise <HEAD>. En plus de l'élément <TITLE> (titre), l'en-tête de votre page contient bien d'autres importantes qui intéresse le navigateur.
Le tag META sera particulièrement utile pour faire reconnaître votre page par les robots de recherche du genre AltaVista.
<META NAME="description" CONTENT="description de votre page">
Cette balise indique au robot de recherche que le contenu de CONTENT est la description de votre page Html, contenu qu'il pourra afficher comme résultat d'une recherche d'un utilisateur.
<META NAME="keywords" CONTENT="mot-clé, mot-clé, mot-clé, ...">
Cette balise indique au robot de recherche que le contenu de CONTENT est une série de mots-clés qui définira plus finement votre page. Il peut être utile de prévoir quelques mots-clés en anglais si vos pages sont en français.
<META NAME="HTTP-EQUIV="refresh" CONTENT="x; URL="adresse">
Ce tag qui fait plutÙt partie des trucs et astuces de Html, appellera automatiquement une autre page (située à l'URL indiquée) après un délai de x secondes. Utilisépar exemple dans un frame, le rafraîchissement de la page permettra d'afficher à intervalle régulier différentes informations (publicitaires ou autres).
Il existe encore d'autres balises d'en-tête que vous découvrirez au fil de votre utilisation du langage Html.
16.4 Avec les formulaires, le langage Html vous ouvre la porte de l'interactivité. Votre interlocuteur pourra remplir un champ de saisie de texte ou d'autres objets interactifs comme des cases à cocher. Ces données seront transmises au serveur, par exemple à votre adresse électronique (Mail).
Les formulaires peuvent prendre la forme
- d'une ligne de texte
- de boutons radio
- de cases à cocher
- d'un menu déroulant
A la suite du ou des formulaires, il y aura un bouton dont la fonction sera d'envoyer les messages (par exemple à votre adresse électronique).
16.5 Jusqu'à présent, nous n'avons que publiédes pages sur le Web. Avec Javascript et Java, nous allons découvrir les éléments pour programmer sur le Web.
Javascript est un ensemble de codes (scripts) directement incorporés dans Html, qui permet de faire réaliser au browser certaines fonctions déterminées. Pour autant que le navigateur le permette bien entendu (ce que font nos deux complices, Netscape 2.0 et plus et Microsoft Explorer 3.0 [en principe pour ce dernier cependant] ).
A titre d'exemple, on peut aisément faire apparaître avec Javascript un petit message du genre "Attention!" lorsque l'utilisateur clique sur un bouton.
Le code est assez simple :
<HTML>
<HEAD>
<SCRIPT language="JavaScript">
<!--
function hello() {
alert("Attention!");
}
// -->
</SCRIPT>
</HEAD>
<BODY>
...<input type=button name="" value=" Pour le test " onClick="hello()">...
</BODY>
</HTML>
On peut aussi réaliser en Javascript des choses plus complexes sans un long apprentissage (et sans compilateur). De façon très schématique Javascript serait une version étendue de Html ou une version simplifiée de Java.
Vous trouverez sur le Web des petites applications que vous pouvez modifier légèrement (en changeant le texte par exemple) pour les inclure dans vos pages.
16.6 Java est quant à lui un langage de programmation à part entière développépar Sun Microsystems. Il est nettement plus lourd et compliquéque Javascript mais également beaucoup plus puissant. Ce qui ouvre des perpectives immenses à l'évolution future des pages Html.
Java est donc un langage orientéobjet (proche de C++) qui permet de compiler des programmes exécutables mais aussi de petites applications, indépendantes de toute plate-forme, appelées des applets. Ces applets, pourvu que le navigateur sache les interpréter, sont exécutées en local sur la machine affichant le document.
Si vous ne vous sentez pas une ,me de programmeur. Cela ne vous empêchera pas d'utiliser des applets Java. Vous en trouverez sur le Net, avec leurs sources et paramètres. Il suffit de lancer une recherche avec comme critère "Java Applet".
Attention Javascipt et Java peuvent faire planter le système de votre lecteur!
Cette intégration des applets est réalisée par le tag <APPLET>..</APPLET>.
Par exemple :
<APPLET code="clock.class" width=200 height=200>
<PARAM ... les paramètres transmis par l'auteur ... >
</APPLET>
où "clock.class" est le fichier du programme Java exécutable qui se trouve dans le répertoire de ce site.
J'aimerais ajouter que les applets Java (mais c'est une appréciation toute personnelle) sont assez lentes et ralentissent fortement le site.