Académique Documents
Professionnel Documents
Culture Documents
Squence 2
Contenu
1.Quels outils utiliser dans cette squence? 2.Prsentation du langage HTML 3.Les principes de base
Prenez bien le temps de faire toutes les manipulations indiques. Cest en tapant le code quon intgre tout ce quil y a retenir. a passe par les doigts puis a remonte en passant par les bras jusquau cerveau...
8 3950 TG PA 00
29
Squence 2
Initiation HTML
AceHTML Pro v 5.08.2 : http://telecharger.01net.com/WindoWs/Internet/editeur_de_site/fiches/4892.html ; Webmaster v 3.0 : http://telecharger.01net.com/WindoWs/Internet/editeur_de_site/fiches/24063.html ; MAXs HTML Beauty++ ME v 1.5 build 3700 : http://telecharger.01net.com/WindoWs/Internet/editeur_de_site/fiches/8077.html ; Ma Page Web v 2.1 : http://telecharger.01net.com/WindoWs/Internet/editeur_de_site/fiches/12152.html Hapedit (HTML, Asp, PhP) : trs utilis par mes tudiants de BTS, je vous le recommande ; Ultraedit (PhP, HTML) : mme remarque que ci-dessus 1 ; DreamWeaver 2 : cest une vieille version de DreamWeaver qui tait payante avant.
diteurs payants
Frontpage, DreamWeaver 8X, Web Expert (diteur : Visicom), Web Creator (diteur Mindscape) ...
Remarques importantes
Si vous dcidez de faire lacquisition dun ou plusieurs de ces logiciels (plusieurs parce quils sont plus ou moins spcialiss), je vous conseille den prendre un qui fait tout, si possible. Vous pouvez, ce moment l, lutiliser tout au long de ce support de cours pour dvelopper les TP. Pour ma part, lors des TP, je ne ferai rfrence aucun logiciel particulier ddition de site. Pour prparer ces TP, dailleurs, jutilise notepad, le petit diteur de texte fourni dans Windows. Vous pouvez utiliser nimporte quel autre diteur de texte, notamment si vous utilisez un autre systme dexploitation comme linux ou un systme mac. Mais, encore une fois, que cela nempche pas ceux et celles qui le souhaitent, dutiliser un environnement de dveloppement spcialis dans la cration de sites Web. O va se situer la diffrence ? Ceux qui choisissent dutiliser un de ces diteurs peuvent en choisir un qui permette de crer le code source des pages Web et leur contenu laide de barres doutils graphiques. Il est cependant possible, avec ces diteurs, de consulter et modifier le code HTML gnr. Ceux qui utilisent un logiciel spcialis vont galement bnficier dun diteur de code source spcialis : cet diteur saura dtecter les erreurs de syntaxe, faire de la coloration syntaxique (exemple : mettre en bleu les instructions Php, en vert les instructions javascript, en rose les chanes de caractres et en violet les commentaires. Quel beau mlange de couleurs !), excuter pas pas, etc. comme un environnement de dveloppement normal (Windev, Delphi, VBA dans Access...), mais spcialis dans les langages pour le Web. Il est vrai quactuellement, la conception de sites se fait toujours laide dun diteur spcialis comme ceux cits dans la liste ci-dessus, notamment car le temps de cration est moins important avec ces outils quen tapant le code HTML. Ceci naffranchit pas le concepteur de site de la connaissance du langage HTML et des autres langages de la programmation Web, car ces outils permettent gnralement la cration de sites de prsentation mais ncessitent de complter ou modifier le code source HTML, en y rajoutant par exemple des instructions en langage de script, afin denrichir le comportement du site sil est statique, ou afin den faire un site dynamique ou une application Web. Pour ma part, si je choisis de nutiliser aucun diteur, cest pour viter que cela ne devienne une contrainte pour vous. Ainsi, les TP que je vous prsente seront identiques quels que soient lditeur et le systme dexploitation que vous utilisez. 30
8 3950 TG PA 00
Squence 2
Initiation HTML
Un bref historique
Le langage HTML (HyperText Markup Language) est driv du langage SGML (Standard Generalized Markup Language). HTML est utilis sur le Web depuis 1990. Nous en sommes la version HTML 4.01.
8 3950 TG PA 00
31
Squence 2
Initiation HTML
<HTML> <HEAD> <BODY> <!--Le texte et les images seront insrs ici --> Bienvenue sur la page daccueil du site mes CD, mes livres etc. </body> </HTML>
Pour tester cette premire page, double-cliquez sur licne du fichier premierePage.htm ou premierePage.html. Votre navigateur se lance et affiche la page. Observez bien les endroits o vous retrouvez le texte Page daccueil du site mes CD, mes livres etc. et le texte Bienvenue sur la page daccueil du site mes CD, mes livres etc. Vous constatez que le texte se trouvant entre <title> et </title> se trouve dans la barre de titre de votre navigateur, et que le texte figurant entre <body> et </body> se trouve sur la page.
<TITLE> Page daccueil du site mes CD, mes livres etc. </TITLE>
</HEAD>
8 3950 TG PA 00
32
Squence 2
Initiation HTML
Autre exemple : la balise <TITLE> qui indique le dbut de la zone contenant le titre de la page (ce qui sera affich dans la barre de titre du navigateur) et la balise </TITLE> qui indique la fin de la zone de titre. Vous pouvez aussi remarquer que la description de certaines zones est imbrique dans la description dautres zones. Exemple : la zone de titre, dlimite par les balises <TITLE> et </TITLE> est imbrique dans la zone dentte, dlimite par les balises <HEAD> et </HEAD>.
Remarques
Une balise de fin est indique par /. Dans la spcification HTML 4.01 du W3C, il est indiqu que les balises ouvrantes <head> et <body>, ainsi que les balises de fin </head> et </body> sont facultatives, mais je vous recommande de les mettre pour une meilleure lisibilit de votre code html.
8 3950 TG PA 00
33
Squence 2
Initiation HTML
Enregistrez la modification, puis, dans votre navigateur, actualisez laffichage de votre page. Voil, vous voyez que lattribut bgcolor dtermine la couleur de fond de votre page. Autre exemple : si au lieu de <body>, on crit <body background = "monImage.gif">, cela rajoute limage monImage.gif comme image de fond (notez quici, il faut que monImage.gif se trouve dans le mme rpertoire, cest dire le mme dossier que notre page HTML). On peut mettre plusieurs attributs dans une balise. Exemple : dans notre premire page, essayez a
bgcolor = "#FF0000"
... ae, mes yeux on a trouv le rouge. Puis par
bgcolor = "#00FF00"
... ho l l ce vert pomme!! Puis par
bgcolor = "#0000FF"
... il pte ce bleu, hein !!
8 3950 TG PA 00
34
Squence 2
Initiation HTML
Remarque
Quand vous indiquez une couleur par son nom, vous pouvez utiliser indiffremment des majuscules ou des minuscules.
8 3950 TG PA 00
35
Squence 2
Initiation HTML
<HTML> <HEAD> <TITLE> Page daccueil du site mes CD, mes livres etc. </TITLE> </HEAD> <BODY text = "Blue" bgcolor = "#FFAA00" topmargin = "20" leftmargin = "50"> Bienvenue sur la page daccueil du site mes CD, mes livres etc </body> </HTML>
... puis affichez la page. Convaincu(e) ? Pour les sautes de lignes, les paragraphes, etc., des lments html permettent dorganiser laffichage du texte.
<HTML> <HEAD> <TITLE> Page daccueil du site mes CD, mes livres etc. </TITLE> </HEAD> <BODY text = "Blue" bgcolor = "#FFAA00" topmargin = "20" leftmargin = "50"> <p>Bienvenue sur la page daccueil du site mes CD, mes livres etc</p> Vous allez dcouvrir ma collection personnelle... Bonne visite! </body> </HTML>
Une fois que vous avez test, vous constatez que pour quun texte constitue un paragraphe, il faut lencadrer avec le couple de balises <p> et </p>. On peut galement choisir lalignement du paragraphe cr. Ce paragraphe peut tre : justifi gauche <p align = left> </p> centr <p align = center > </p> justifi droite <p align = right>... </p> justifi droite et gauche <p align = justify>... </p> Exemple : dans le code de notre page, remplacez <p> par
8 3950 TG PA 00
36
Squence 2
Initiation HTML
Remarque
Les paragraphes sont par dfaut aligns gauche. La balise de fin de paragraphe est optionnelle. Lindentation de paragraphe : souvenez-vous, on utilise le terme indenter aussi en algo, pour exprimer le fait que lon dcale certaines parties dalgo. Il est possible dindenter des paragraphes vers la droite en les encadrant entre les balises <BLOCKQUOTE> et </BLOCKQUOTE>. Exemple : dans notre page, modifiez la mise en forme du paragraphe comme a ...
... <BLOCKQUOTE> <p > Bienvenue sur la page daccueil du site mes CD, mes livres etc</p> </BLOCKQUOTE> ...
... et on teste. Ben ... je ne vois aucun changement, moi!! Ah, mais suis-je sotte, jai oubli denregistrer avant daller rafrachir laffichage dans mon navigateur, cest pour a!! Jenregistre ma modif dans le bloc-notes, je vais dans mon navigateur, je refrachis ... a y est, cette fois, ma modification est prise en compte dans ma fentre. Le navigateur, lorsquon rafrachit laffichage dune page, recharge la page depuis lendroit o elle est stocke. Paralllement cela, tant quon n'enregistre pas un fichier, les modifications quon lui a fait subir restent en mmoire vive, mais ne sont pas inscrites dans la version de fichier qui est stocke sur disque. Du coup, si on rafrachit une page quon a modifie mais dont on na pas enregistr les modifications, les modifications ne sont pas prises en compte. 37
8 3950 TG PA 00
Squence 2
Initiation HTML
Les balises <div> et </div> (div signifie division) : ces balises jouent peu prs le mme rle que les paragraphes et on peut utiliser les mmes attributs dalignement. Rappel des attributs dalignement :
= = = =
La diffrence par rapport au paragraphe est quaucun saut de ligne nest gnr avant et aprs une division. Une division permet galement de changer temporairement de style (dalignement par exemple) lintrieur dun paragraphe. Allez, on sen rajoute une dans notre page ... <HTML> <HEAD> <TITLE> Page daccueil du site mes CD, mes livres etc... </TITLE> /HEAD> <BODY text = "Blue" bgcolor = "#FFAA00" topmargin = "20" leftmargin = "50"> <p align = center> Bienvenue sur la page daccueil du site <div align = center> Mes CD, mes livres etc</div> </p> Vous allez dcouvrir ma collection personnelle...<br> Bonne visite! </body> </HTML>
38
Squence 2
Initiation HTML
Et, comme vous venez de le voir, on peut bien sr combiner ces diffrents attributs. Allez, nous on se rajoute une petite ligne, comme dhabitude, jai mis en gras les dernires modifications : <HTML> <HEAD> <TITLE> Page daccueil du site mes CD, mes livres etc... </TITLE> </HEAD> <BODY text = "Blue" bgcolor = "#FFAA00" topmargin = "20" leftmargin = "50"> <p align = "center"> Bienvenue sur la page daccueil du site <div align = "center"> Mes CD, mes livres etc</div> </p> Vous allez dcouvrir ma collection personnelle...<br> Bonne visite! <br> <hr color="Aqua" size="5" noshade Width="50%" align = "left"> </body> </HTML> Waow, cest chouette hein!! Rcapitulons lensemble des attributs utilisables. SIZE : paisseur du trait. WIDTH : largeur du trait (exprime en pixels ou en pourcentage de la largeur totale de la fentre). ALIGN : position du trait dans la fentre. NOSHADE : suppression de lombrage. COLOR : couleur du trait. La balise fermante, pour <hr> est interdite par le W3C. O
39
Squence 2
Initiation HTML
<center> <b> ou <strong> <EM> ou <I> <u> <TT> <STRIKE> <BLINK> <SUB> <SUP>
</center> </b> ou </strong> </EM> ou </I> </u> </TT> </STRIKE> </BLINK> </SUB> </SUP>
Vous avez test ? Est-ce que chez vous, a clignote ? Chez moi, pas franchement ... non, a ne clignote mme pas du tout.
Remarque
Vous avez vu dans le tableau ci-dessus que plusieurs balises existent pour certains formatages. Cela sexplique par le fait quon distingue le formatage physique (exemple : <b> pour un texte en gras, <i> pour un texte en italique) et le formatage logique (exemple : <strong> pour un texte en gras, <EM> pour un texte en italique). Quelle est la diffrence entre formatage physique et formatage logique ? Lors dun formatage logique, la technique utilise pour la mise en forme (par exemple, pour mettre du texte en gras) est choisie par le navigateur du poste de linternaute.
8 3950 TG PA 00
40
Squence 2
Initiation HTML
Le texte prformat
Pour afficher du texte en respectant les espacements, tabulations, etc., il suffit de lencadrer par <PRE> et </PRE>. Le texte sera affich dans une police espacement constant. Les balises <pre> </pre> permettent de demander au navigateur de respecter la faon dont le texte est tap dans le code source. Exemple : dans le code de notre page, rajoutez, juste avant la balise </body>
... <pre>Si, si, vous allez voir, mon site est <b>fantastique!!</b></pre> </body> ...
Testez... Cest cool hein !
Arial</font>
Appliquons, appliquons ... en modifiant cette partie du code de notre page ... ... <pre><font face = "Times New Roman"> Si, si, vous allez voir, mon site est <font size = "+5" color = "red"> fantastique!!</font></font></pre> </body> </HTML>
8 3950 TG PA 00
41
Squence 2
Initiation HTML
Que se passe-t-il donc si, au lieu dutiliser ces codes de caractres accentus, on met directement les caractres tel quel ? Faites lessai. Vous verrez que sur votre propre machine, si vous tapez , cest bien qui saffiche. Si le poste client est configur de manire traduire le code numrique de par , cest bien qui saffichera. Alors l, vous vous dites Mais quest-ce quelle raconte ?.
8 3950 TG PA 00
42
Squence 2
Initiation HTML
Ce que je veux dire, cest que selon la configuration du poste de linternaute, a peut tre qui saffiche, mais a peut aussi tre un autre caractre. Sur une machine configure pour un utilisateur russe par exemple, ou un chinois, ou un utilisateur utilisant un alphabet qui ne contient pas la lettre , a mtonnerait que quand un est tap dans un document HTML, ce soit un qui saffiche. Donc, si on veut que le texte de notre page soit correctement lisible par nimporte quel internaute, il vaut mieux utiliser les codes des lettres que les lettres elles-mmes. Ce qui est sr, cest que cest un peu plus compliqu de taper du texte en utilisant les codes des caractres accentus que les caractres eux-mmes. Exemple : dans notre document HTML, au lieu de ...
.... <h3>Vous allez dcouvrir ma collection personnelle...</h3><br> ... <u> bandes dessines </u> <br> ...
Tapez...
.... <h3>Vous allez découvrir ma collection personnelle...</h3><br> ... <u> bandes dessinées </u> <br> ...
Enregistrez la modification et allez voir ce que a donne dans votre navigateur. Ca doit donner exactement le mme texte quavant, sauf que l, en plus, quelle que soit la configuration de sa machine et la nationalit de linternaute, cest bien des qui safficheront. Donc, si on veut que notre page soit correctement lisible quel que soit le poste client, il faut utiliser ces codes (cest sr que a nest pas trs confortable pour nous, les concepteurs, mais quand on dveloppe une application, ce nest pas notre confort qui importe, mais celui de lutilisateur).
Remarque
il est galement possible dafficher un caractre en indiquant son code ASCII tendu (256 caractres cods de 0 255), les 128 premiers caractres sont ceux du code ASCII pas tendu, les 128 suivants dpendent de la page de code utilise par la machine de linternaute. Pour indiquer quil sagit dun code ASCII tendu, on prcde le code de &#. Exemple : pour afficher le caractre en utilisant son code ASCII, taper é, comme a...
8 3950 TG PA 00
43
Squence 2
Initiation HTML
Bien entendu, dans ce cas, si la machine de linternaute nutilise pas la mme page de code que nous, on retombe sur le mme problme que si on avait tap directement dans le code source de notre page.
Remarque
Il existait galement la balise <DIR > (pour des listes multi-colonnes) et la balise <MENU> (pour des listes une seule colonne), mais leur utilisation est dconseille par le W3C, donc, nous, on fait ce quils disent, cest--dire quon nutilisera pas ce type de listes.
<HTML> <body> <OL> <LI>Les <LI>Les <LI>Les <LI>Les </OL> </body> </HTML>
Ci-dessous, vous avez la page telle quelle est visualise par mon navigateur.
8 3950 TG PA 00
44
Squence 2
Initiation HTML
Explications Le marqueur <OL > dbute la liste numrote, qui se termine par </OL>. Chaque marqueur <LI> est plac devant un lment de liste. Dans le cas de cet exemple, la numrotation se fait automatiquement, dbutant 1. Il est tout fait possible dimbriquer les listes, en plus la numrotation suit ! Lattribut type de la balise <ol> peut prendre les valeurs suivantes : Valeurs possibles de lattribut type : TYPE ="I" TYPE = "i" TYPE = "A" TYPE = "a" La numrotation saffiche avec : Des chiffres romains majuscules Des chiffres romains minuscules Des lettres majuscules Des lettres minuscules
Autre exemple : allez, on cre une liste sur notre page ... Pour cela, on va remplacer le code ...
... <b> cd </b> <br> <i> livres </i> <br> <u> bandes dessinées </u> <br> <blink> vieux disques vinyle </blink> <br> ...
Par ...
... Sur ce site, vous allez dcouvrir <!-- "ol" signifie "ordonned list" --> <!-- <ol> et </ol> servent dlimiter une liste numrote --> <!-- le mot cl "start" indique quel numro la liste dbute --> <ol start = "1"> <!-- <li> et </li> servent dlimiter une entre dans la liste --> <li> Mes lectures </li> <li> Mes musiques </li> <li> Mes films </li> </ol> ...
8 3950 TG PA 00
45
Squence 2
Initiation HTML
<HTML> <body> <UL> <LI>Les <LI>Les <LI>Les <LI>Les </UL> </body> </HTML>
Remarque
Cest le marqueur <UL> qui prcise que cest une liste puce (unordered list). Voil ce que donne lexemple ci-dessus :
Par dfaut, les puces sont des petits ronds noirs, des puces quoi. Il est possible de choisir le type de puce utiliser en rajoutant un attribut type. Lattribut type peut prendre les deux valeurs suivantes : type = "square" et type = "circle". Un second exemple : sur notre page, on imbrique des listes puce dans notre liste ordonne, pour dtailler un peu ce quon propose sur notre site. Cette fois, tapez cet exemple ...
8 3950 TG PA 00
46
Squence 2
Initiation HTML
... <ol start = "1"> <!--dbut de la description de lentre "Mes lectures" --> <li> Mes lectures <!-- "ul" signifie "unordonned list" --> <!-- ul et /ul servent dlimiter une liste puces --> <!--le mot cl type indique la forme de la puce, ici, un rond --> <ul type = "circle"> <!--ici aussi li et /li dlimitent une entre dans la liste --> <li> Romans </li> <li> BD </li> <!--fin de la liste puces --> </ul> <!--fin de la description de lentre "Mes lectures" --> </li> <li> Mes musiques <ul type = "circle"> <li> CD </li> <li> Disques vinyle </li> <li> Cassettes audio </li> </ul> </li> <li> Mes films <ul type = "circle"> <li>DVD </li> <li> Cassettes vido </li> </ul> </li> <!--fin de description de la liste ordonne --> </ol> ... Voil, il ne reste plus qu tester... a commence prendre forme.
8 3950 TG PA 00
47
Squence 2
Initiation HTML
<HTML> <body> <DL> <DT><b>Vacances</b> <dd>Moment de dtente agrable <BR> <dd>ou <dd>Lieu de villgiature au soleil, ou au frais comme on prfre, avec de la bonne eau pour se baigner, ou de la neige si on prfre. <DT><b>Buller</b> <dd>synonyme familier de ne rien faire.<BR> Si on vous dit "Je bulle", cela signifie "Je ne fais rien <b>du tout</b>". </DL> </body> </HTML>
... donne la superbe page ci-dessous.
Bon, l, en ce qui concerne notre site, tout de suite maintenant, je ne vois pas dapplication directe de cette nouvelle notion. On ne va quand-mme pas expliquer aux internautes ce quest un CD, ils risquent de se vexer en pensant quon les prend pour des ignares.
8 3950 TG PA 00
48
Squence 2
Initiation HTML
... </ol> <marquee Width = "50%" scrolldelay = "5" behavior = alternate> <h2>cest le plaisir <sup> 50 <h2><br> </marquee> ...
... et voil, notre texte bouge! Les attributs de la balise marquee : width : lamplitude du mouvement ; scrolldelay : rapidit du mouvement ; behavior : cet attribut peut prendre deux valeurs : alternate (pour provoquer un va et vient dans la zone dfinie par Width), continue (pour crer dplacement en sens unique ). Je vous laisse tester les diffrentes valeurs possibles de ces diffrents attributs.
3D.Les liens
Les liens sont la base mme du modle hypertexte. Ils permettent par un simple clic de souris de se dplacer sur une autre page, dans une autre partie dune page, dans un autre fichier et mme dappeler un document situ sur un autre serveur ou denvoyer un mail quelquun. Dans le cas dun lien vers un fichier, si cest un fichier dextension .html, le navigateur laffichera, sinon si le format du fichier est reconnu (son, image, vido, etc.), le navigateur excutera lapplication correspondante, enfin si le navigateur ne sait pas trop quoi en faire, une bote de dialogue saffichera pour proposer la sauvegarde du document (cest comme cela que lon tlcharge un logiciel par exemple). La syntaxe gnrale dun lien est la suivante : <A HREF =..> </A >. 49
8 3950 TG PA 00
Squence 2
Initiation HTML
8 3950 TG PA 00
50
Squence 2
Initiation HTML
Autre exemple : on va le faire sur notre premire page, tiens. Dans le code source de votre fentre, juste avant la balise </body>, rajoutez ...
... Pour tout commentaire, envoyez un e-mail au <A href="mailto:email@adressebidon.fr">Webmaster du site</A>. ...
a>
Un clic sur le lien Envoyer un message Fred ouvre le logiciel de messagerie install sur le poste de linternaute et lui permet de taper et denvoyer un mail. On peut aussi prciser le sujet du message, ainsi que son contenu :
<a href = "mailto : fred@trucmuche.fr? subject = Hello !=Body=COUCOU"/ >Envoyer un message Fred </a>
8 3950 TG PA 00
51
Squence 2
Initiation HTML
Remarque
Dans ces trois premiers cas, on peut parler dURL puisque la ressource est accessible via le Web. Un fichier de la machine locale (cest--dire un fichier se trouvant sur la mme machine que la page HTML contenant lURI). Dans ce cas, lURI de la ressource ne comporte pas de nom de protocole ni de nom de machine. On indique uniquement, dans lURI, o trouver la ressource partir de la page contenant lURI. Exemple : supposons quune page de mon site affiche limage clebard.JPEG, une photo du teckel de Jean-Yves en maillot de bain (le teckel, pas Jean-Yves...). Je souhaite visualiser la photo de ce merveilleux animal dans ma page. Supposons que ma page HTML se trouve dans le rpertoire c :\fred du disque dur local de ma machine, et que la photo du chien se trouve dans le rpertoire c :\fred\Photos. Pour indiquer lURL de la photo dans ma page, jindiquerai /photos/clebard.JPEG (vous avez remarqu, les sparateurs de rpertoires sont des /). Un autre exemple : supposons maintenant que ma page se trouve toujours dans le rpertoire c:\fred, mais que la photo de ce satan teckel en maillot se trouve la racine du disque dur de ma machine, cest--dire dans le rpertoire c :. Dans ce cas, pour accder la photo depuis ma page, je dois indiquer quelle se trouve dans le rpertoire pre du rpertoire o se situe ma page, laide de la syntaxe ../clebard.jpeg. Application notre site :
Dans le code source de notre page, juste avant la balise </body> rajoutons ... <br> <A href = "deuxiemePage.htm"> Accder la page suivante </A> ...
... puis testons. Bien entendu, pour le moment, le navigateur nous affiche une page blanche puisquil nexiste pas de fichier sappelant deuxiemePage.htm(l) dans le mme rpertoire que notre page premierPage.htm(l). Alors qu cela ne tienne, crons une deuxime page, que nous enregistrons dans le mme rpertoire que la premire sous le nom deuxiemePage.htm. Voici le code source de cette deuxime merveille du monde des concepteurs de sites Web ...
<html> <head> <title> Deuxime page, vide pour le moment </title> </head> <body> </body> </html>
8 3950 TG PA 00
52
Squence 2
Initiation HTML
Si on retourne tester notre premire page, cette fois, on voit bien quon nous affiche notre deuxime page. La preuve, cest quon retrouve notre titre Deuxime page, vide pour le moment dans la barre de titre du navigateur.
<A NAME="Etiquette">Texte</A>
Le lien vers cette tiquette se fera de la faon suivante :
.... vous allerz voir, mon site est <font size = "+5" color = "red"> fantastique!! </font></font></pre> <br><br><br><br><br><br><br><br><br><br><br><br><br> <A NAME="adresseWebmaster"> Pour tout commentaire, envoyez un e-mail : <A href="mailto:email@adressebidon.fr">Webmaster du site</A> </A> <br> <A href = "deuxiemePage.htm"> Accder la page suivante </A> ...
Jai mis plein de sauts de lignes pour que ladresse e-mail soit trs trs en bas de la page, afin de vrifier que ltiquette fonctionne. Allez, on teste a... Bon, youpi, a fonctionne.
8 3950 TG PA 00
53
Squence 2
Initiation HTML
<html> <head> <title> Deuxime page, un peu moins vide </title> </head> <body> <a href="premierePage.htm#adresseWebmaster"> Voir ladresse du Webmaster </ a> </body> </html>
faites trs attention!! Si vous avez enregistr votre premire page avec lextension .htm, vous devez indiquer lextension .htm, sinon, a marche pas. Mme chose si vous lavez appele premierePage.html, alors il faut indiquer <a href="premierePage.html"# ..., sinon, la page ne sera pas ouverte. Bon, on teste. Re-youpi, a marche.
8 3950 TG PA 00
54
Squence 2
Initiation HTML
Pour que la ressource remplace la fentre courante, on peut utiliser aussi la syntaxe :
dj consult rose
Note : lexpression couleur par dfaut signifie quil sagit de la couleur du lien lorsquon ne modifie pas ses attributs de couleur. Voil, on a vu lessentiel sur les liens. Maintenant, passons un thme assez li aux liens, et cher beaucoup de gadgeto-men et gadgeto-girls. Je veux parler de lutilisation dimages dans les documents HTML.
8 3950 TG PA 00
55
Squence 2
Initiation HTML
8 3950 TG PA 00
56
Squence 2
Initiation HTML
L aussi, il faut bien respecter les extensions de fichier, sinon, limage ne sera pas O trouve par le navigateur. Allez, application : choisissez ou crez une image dont le thme est en relation avec notre site. Pour quon soit tous bien daccord, appelez-la imageTheme.jpg. Nous allons rajouter cette image sur notre deuxime page, comme a, elle sera moins vide quelle ne lest actuellement. Dans le code source de notre deuxime page, rajoutez...
Exemple : jai envie de rajouter une lgende mon image. Alors jcris ...
8 3950 TG PA 00
57
Squence 2
Initiation HTML
Et je teste. Oh cest moche!! Bon jessaie diverses solutions, et pour une raison de got, je choisis
... <a href="premierePage.htm#adresseWebmaster"> Voir ladresse du Webmaster </ a> <br> <br> <br> <IMG SRC = "mesImages/imageTheme.JPG" align = right > Cette magnifique photo rsume merveille tous les thmes abords par mon site ...
<IMG height = 32 SRC = "mesImages/imageTheme.JPG" align = right> Cette magnifique photo rsume merveille tous les thmes abords par mon site
Non, l, cest ridicule, elle est minuscule. Lunit doit tre le pixel. Ce que jaimerais, cest que sa largeur occupe peu prs la moiti de la largeur de ma page. Bon, je change
<IMG height = 420 SRC = "mesImages/imageTheme.JPG" align = right> Cette magnifique photo rsume merveille tous les thmes abords par mon site
...oui, l, a me va.
Remarque
Si on modifie une seule des deux caractristiques (hauteur ou largeur), lautre caractristique est automatiquement modifie de manire proportionnelle.
<IMG height = 420 SRC = "mesImages/imageTheme.JPG" align = right alt = "Thmes abords par ce site"> Cette magnifique photo rsume merveille tous les thmes abords par mon site
... pour tester, je passe au-dessus de limage avec ma souris. Ah oui, on voit la bulle daide.
8 3950 TG PA 00
58
Squence 2
Initiation HTML
3E7.Possibilits danimation
Il est possible danimer les images laide de deux techniques : utiliser des gifs anims. On peut en trouver plein sur le net, mais on peut aussi en fabriquer. Il existe en effet des outils permettant de faire des gifs anims. Ces gifs anims sont en fait une succession dimages gif qui se rptent pour former une petite animation ; utiliser, comme pour le texte, la balise marquee. Exemple :
8 3950 TG PA 00
59
Squence 2
Initiation HTML
Bon a marche, mais a ne me satisfait pas entirement. Je voudrais que quand on clique sur limage, a nous amne notre liste de thmes. Dans la description de la premire page, il faut donc crer une ancre, appelons-la ancreThemes. On va la mettre sur le texte Sur ce site, vous allez dcouvrir ... Jencadre donc ce bout de texte avec lancre. Ca donne ...
... Et voil.
... <map name = "zonesClic"> <area shape = "rect" cords = "0,0,75,50" href = "premierePage.htm"> <area shape="rect" cords = "75,0,100,50" href = "deuxiemePage.htm"> </map> ...
8 3950 TG PA 00
60
Squence 2
Initiation HTML
Le plan une fois dcrit laide des balises map et area, il faut indiquer quelle est limage concerne par ce dcoupage. En supposant que sur cette troisime page, vous mettiez une image sappelant imageClic.gif, vous devez indiquer que cette image est mappe et quelle utilise le map sappelant zonesClic en tapant, dans le code source de notre troisime page...
Remarque
Lattribut name de la balise map est obligatoire, puisquon en a besoin pour rfrencer le nom du plan dans la balise img.
Systme de coordonnes
Maintenant que vous avez test, je vais vous expliquer comment sont dlimites les zones de cliquage. Un map est dfini selon un systme de coordonnes superpos limage. Ce systme de coordonnes est tel que : tout point est repr par une coordonne horizontale et une coordonne verticale ; le point de coordonnes (0,0) est situ en haut et gauche de limage ; la premire coordonne dun point est sa coordonne horizontale. Plus on sloigne de 0, donc plus on va vers la droite, plus cette coordonne est leve ; la seconde coordonne dun point est sa coordonne verticale. Plus on sloigne de 0, donc plus on va vers le bas, plus cette coordonne est leve. Reprenons la description des deux zones de notre exemple :
<area shape = "rect" cords = "0,0,75,50" href = "premierePage.htm"> <area shape = "rect" cords = "75,0,100,50" href = "deuxiemePage.htm">
Chaque area (cest dire chaque zone du plan) est dcrite par ses coordonnes de dbut et ses coordonnes de fin. Observons la description de la premire area.
8 3950 TG PA 00
61
Squence 2
Initiation HTML
Le premier couple de coordonnes, le couple (0,0) indique les coordonnes du point de dpart de la zone, qui est le point le plus en haut et gauche de cette zone. Le second couple de coordonnes, dans notre exemple le couple (75,50), indique les coordonnes du point le plus en bas droite de la zone. Ces coordonnes, combines avec la forme de la zone (forme indique dans lattribut shape, un rectangle dans le cas de notre exemple) dterminent la position, la forme et la taille de la zone. La premire zone stend donc du point (0,0) au point (75,50). ( 0,0 )
( 75,50 )
( 100,00 )
Zones circulaires Exemple : <area shape = "circle" cords = "x,y,r" href = "...">
Les coordonnees x, y sont celles du centre du cercle, r est le rayon du cercle en pixels.
Polygone
Exemple : <area shape = "poly" cords = "a,b,c,d,e,f,g,h,..." href = "..."> Les points (a,b), (c,d), (e,f), (g,h), reprsentent les coordonnes des diffrents points dfinissant le polygone.
Remarque
Lorsque deux zones sont en recouvrement, la premire zone dfinie a la priorit.
8 3950 TG PA 00
62
Squence 2
Initiation HTML
3F.Les tableaux
3F1.La balise table
La balise <TABLE> permet de dbuter la zone de description du tableau, la balise </TABLE> termine la description du tableau. On peut enrichir la description du tableau laide des attributs de la balise table. Lattribut : Width Border Cellspacing Cellpadding Permet de caractriser : La largeur du tableau (en pixels ou en pourcentage). La taille du cadre entourant le tableau. L espace entre les cellules. Lespace entre le cadre et le contenu des cellules.
Valign
Bgcolor
8 3950 TG PA 00
63
Squence 2
Initiation HTML
Chaque cellule peut tre caractrise par les attributs suivants : Lattribut : Width Permet de caractriser : La taille de la cellule en pourcentage de la largeur totale du tableau ou en pixels. Exemples : en pourcentage : <td Width="50%"> </td> en pixels : <td Width="50"> </td> Lalignement horizontal de la cellule. Valeurs possibles : "right", "left" ou "center". Exemple : <td align="right"> </td> Lalignement vertical de la cellule. Valeurs possibles : "right", "left" ou "center". Exemple : <td valign="right"> </td> La couleur de fond de la cellule. Exemple: <td bgcolor= "lightblue"> </td>
Align
Valign
Bgcolor
Pour obtenir le tableau ci-dessus, il faut avoir tap le code source suivant dans un document HTML. Vous pouvez vous-mme faire le test, par exemple dans notre troisime page ...
... Parmi mes lectures, vous trouverez <table Width = "40%" border = "2"> <tr> <td align = "center" colspan = "2"> Mes lectures </td> </tr> <tr> <td> Mes livres </td> <td> Mes BD </td> </tr> </table> ...
Autre exemple : cellule sur 2 lignes Mes films DVD Cassettes vido
8 3950 TG PA 00
64
Squence 2
Initiation HTML
Pour obtenir le tableau page prcdente, il faut avoir tap le code source suivant dans notre document HTML ...
... <table Width="40%" border = "3"> <tr> <td rowspan = "2"> Mes films </td> <td> DVD </td> </tr> <tr> <td> Cassettes vido </td> </tr> </table> ...
Voil. Je vous laisse vous amuser avec a.
Puis, pour amliorer le tout, vous pouvez, toujours sur cette page, mettre une tiquette (<a name...) au dbut de chaque tableau. Ensuite, dans notre premire page, vous pouvez reprendre la liste imbrique quon avait faite et mettre des liens (<a href =#....) pour rendre chaque tableau accessible par un clic sur litem de liste correspondant. Vous pouvez aussi rendre vos tableaux accessibles par le biais dune image mappe... bref, vous disposez du matriel ncessaire pour enrichir le site votre convenance. Maintenant, nous passons aux choses encore plus srieuses : les frames.
3G.Les frames
Lutilisation de frames permet de diviser la fentre du navigateur en plusieurs cadres. Une frame (ou page de cadres) est en fait une page contenant des cadres. Chaque cadre est reli un document HTML. Cette organisation permet de subdiviser la fentre de visualisation du navigateur en plusieurs zones, chaque zone permettant la visualisation dun document HTML.
8 3950 TG PA 00
65
Squence 2
Initiation HTML
Remarques
On aurait pu indiquer rows = "30%,70%". Le caractre * signifie le reste. Il est possible de diviser en autant de parties quon veut. Exemple : rows = "30 %, 20 %,*" divisera la page en 3 parties. Note : il faut autant de marqueurs <frame> que de partie indiques dans lattribut rows. On peut indiquer les tailles en pixels (dans ce cas, on ne met pas le signe "% "). Une page de cadres ne contient pas de balise <body>.
Division verticale
Toujours dans notre nouvelle page, essayez a ...
<html> <head> <title> page dessai sur les frames division verticale </title> </ head> <frameset cols = "30%, *"> <frame> <frame> </frameset> </html>
Divisions imbriques
Un premier exemple : maintenant, essayez ce qui suit ...
<html> <head> <title> divisions imbriques <frameset cols = "30%, *"> <frame> <frameset rows = "50%, 50%"> <frame> <frame> </frameset> </frameset> </html>
8 3950 TG PA 00
66
Squence 2
Initiation HTML
Dans le code prcdent, la seconde colonne est divise en deux lignes gales. Un second exemple : et maintenant, testez a ...
<html> <head> <title> divisions imbriques second essai </title> </head> <frameset cols = "30%, *"> <frameset rows = "50%, 50%"> <frame> <frame> </frameset> <frame> </frameset> </html> Dans ce second exemple, cest la premire colonne qui est divise en deux lignes gales.
<html> <head> <title> Essais sur les frames </title> </head> <frameset cols = "30%,*"> <frameset rows = "50%, 50%"> <frame src = "premierePage.htm"> <frame src = " mesImages/imageTheme.JPG"> </frameset> <frame src = "deuxiemePage.htm"> </frameset> </html>
On teste. Sympa, non ? Bon, le contenu de nos pages nest pas trs adapt (et mme pas adapt du tout) la cration de cadres, mais a nous permet de voir ce que a donne. Enfin, vous constaterez quand-mme que la disposition du texte est radapte la taille du cadre (on le voit bien pour la premire page, en haut gauche de notre quatrime page). On voit par contre que la taille des images nest pas radapte. Du coup, moi, dans le cadre affichant notre deuxime page, mon tableau est moiti cheval sur mon image, ce qui nest pas dun got exquis.
Remarque
On peut mme, si a nous chante, afficher la mme ressource dans plusieurs cadres de la mme page.
8 3950 TG PA 00
67
Squence 2
Initiation HTML
Je me pose une petite question quand-mme : quand un document comporte un frameset , peut-il comporter autre chose, comme par exemple du texte, hors des cadres ? Essayons tout de suite pour voir. Je reprends lexemple prcdent, et je fais quelques essais. Je mets en gras les modifications. Premier essai
<html> <head> <title> essai sur les frames </title> </head> <body> blabla <frameset cols = "30%,*"> <frameset rows = "50%, 50%"> <frame src = "premierePage.htm"> <frame src = " mesImages/imageTheme.JPG "> </frameset> <frame src = "deuxiemePage.htm"> </frameset> </body> </html>
Dans ce premier cas, le frameset napparat pas, sur la page, on ne voit que blabla. Deuxime essai
<html> <head> <title> essai sur les frames </title> </head> <body> blabla </body> <frameset cols = "30%, *"> <frameset rows = "50%, 50%"> <frame src = "premierePage.htm"> <frame src = " mesImages/imageTheme.JPG "> </frameset> <frame src = "deuxiemePage.htm"> </frameset> </html>
Mme rsultat que dans lessai prcdent.
8 3950 TG PA 00
68
Squence 2
Initiation HTML
Troisime essai
<html> <head> <title> essai sur les frames </title> </head> <body> <frameset cols = "30%, *"> <frameset rows = "50%, 50%"> <frame src = "premierePage.htm"> <frame src = " mesImages/imageTheme.JPG"> </frameset> <frame src = "deuxiemePage.htm"> </frameset> blabla </body> </html>
Encore pareil que les deux essais prcdents. Quatrime essai
<html> <head> <title> essai sur les frames </title> </head> <frameset cols = "30%, *"> <frameset rows = "50%, 50%"> <frame src = "documentPourTests.html"> <frame src = "monSite/mesImages/Nnuphars.jpg"> </frameset> <frame src = "monsite/documentPourTests.html"> </frameset> <body> blabla </body> </html>
L, on ne voit plus blabla et on voit les cadres. Bon, apparemment, cest soit frameset , soit body, mais pas les deux. Et de toute faon, mme si on met du texte sans <body>, on ne le voit pas non plus, alors !!! Donc, la question : Quand un document comporte un frameset, peut-il comporter autre chose, comme par exemple du texte, hors des cadres ?, la rponse est non.
8 3950 TG PA 00
69
Squence 2
Initiation HTML
Je vous laisse tester a vous-mme tout seuls dans notre quatrime page. Moi jai crit le bout de cours, vous, vous vous chargez de tester tout. Jai une petite flemme, tout dun coup. Il faut dire quil est 2 heures du matin et que je nai plus trop les yeux en face de leurs orbites.
8 3950 TG PA 00
70
Squence 2
Initiation HTML
... <frameset> ... </frameset> <noframes> <body> On insre ici le contenu afficher pour les navigateurs ne sachant pas grer les frames. </body> </noframes> ...
8 3950 TG PA 00
71
Squence 2
Initiation HTML
8 3950 TG PA 00
Squence 2
Initiation HTML
<FORM ACTION = "HTTP://adressebidon" METHOD = "POST" NAME = "essai"> <!--insrer ici la description du formulaire, cest dire les contrles quil contient --> </FORM>
Zones de saisie
Dans une page vierge que vous appellerez inscription.htm, essayez le code HTML suivant:
... <HTML> <body> <FORM ACTION = "adresse bidon" METHOD = "POST" NAME = "inscription"> <!--insrer ici la description du formulaire, cest dire les contrles quil contient --> Votre nom : <Input type = "text" name = "nom" maxlength =15 size = 20> </FORM> Je prendrai en compte votre inscription ds sa rception. </body> </html>
8 3950 TG PA 00
73
Squence 2
Initiation HTML
Ouvrez ensuite votre page dans votre navigateur. Cest beau hein! Notre formulaire nous permettra, terme, de crer une liste de personnes qui souhaitent tre prvenues chaque fois quune nouveaut est disponible sur notre site. Bon, cet exemple nous apprend plusieurs choses : pour mettre une zone de saisie dans un formulaire, il faut utiliser la syntaxe. Libell : <Input type = "text" name = "nom de la zone" maxlength = "X"> Une zone de saisie est un contrle "text" ( la place de "text", on peut aussi utiliser "texte"ou "select") ; lattribut maxlength indique le nombre maximum de caractres pouvant tre saisis dans la zone ; lattribut size dtermine la taille de la zone de saisie. Size = 5, donnera la zone la longueur occupe par 5 caractres ; un formulaire peut coexister sur une page avec tout ce quon a dj vu prcdemment, puisque l, jy ai tap du texte, en dehors des balises <form>...</form>.
<br> Choisissez-vous un mot de passe (huit caractres) : <Input type = "password" name = "motdepasse" size = "8" >
Avec le type password, linformation saisie nest pas visible, les caractres taps sont tous remplacs par des petits ronds noir. Lattribut size dtermine la longueur de la zone de saisie, ce nest pas le nombre maximum de caractres de linformation saisie. Pour indiquer que le nombre maximum de caractres saisis est 8, dans la description de notre zone de saisie, il faut rajouter lattribut maxlength et lui donner la valeur 8, comme a :
<br> Indiquez votre date de naissance : <Input type = "date" name = "dateNaiss" >
8 3950 TG PA 00
74
Squence 2
Initiation HTML
Le type URL Si le type indiqu est URL, ds que linternaute valide sa saisie, le navigateur tente daccder la ressource indique dans la zone de saisie.
Zones de texte
Rajoutez le code suivant :
Commentaires : <BR> <TEXTAREA COLS = "40" ROWS = "3" > Donnez-moi des prcisions. </textarea>
...testez. Le contrle textarea permet lutilisateur de saisir par exemple des commentaires sur notre site, de prciser par un texte ses gots en matire de lecture Lattribut cols permet de dterminer la largeur de la zone de texte. Lattribut rows dtermine le nombre de lignes visibles du texte. Dans notre exemple, 3 lignes sont visibles, mais on peut taper un texte faisant plus que 3 lignes et lorsque cest le cas, lascenseur devient actif. Le texte tap entre les balises <textarea> et </textarea> apparat dans la zone de texte.
Cases cocher
Dans notre page inscription.htm, rajoutez, entre les balises <form> et </form>, le code : <br> Cochez si vous tes majeur : <Input type = "checkbox" name = "majeur" value = "vrai"> Puis, dans le navigateur, actualisez laffichage de votre page. Bon, voil, on sait mettre des cases cocher. En HTML, les cases cocher sappellent des checkbox. Lattribut value sert conserver une valeur associe la checkbox, valeur qui pourra tre utilise lorsque nous verrons des langages de programmation permettant denrichir les pages laide de traitements (ds le chapitre prochain, donc). On peut aussi prciser que la checkbox est coche par dfaut, en rajoutant lattribut checked, comme ceci :
<br> Cochez si vous tes majeur : <Input type = "checkbox" name = "majeur" value = "vrai" checked>
Cest coooool, non ?
Boutons radio
Rajoutez le code suivant :
Sexe : <BR> H : <Input type = "radio" name = "sexe" value = "h" checked> F : <Input type="radio" name = "sexe" value = "f">
Testez votre page.
8 3950 TG PA 00
75
Squence 2
Initiation HTML
Le fait que pour les 2 boutons radio, lattribut name a la mme valeur fait que le choix entre les 2 options est exclusif. Pour bien se rendre compte de a, il suffit de modifier lattribut name dune des deux cases option et l, on voit bien que les choix ne sont plus exclusifs, ce qui donne un comportement stupide nos boutons radio : une fois cochs, ils le restent, on ne peut plus les dcocher, et le choix entre les deux nest plus exclusif. Lattribut checked dsigne quel est le bouton radio coch par dfaut.
Listes de choix
Rajoutez a dans notre page inscription :
<br> Je suis plus intress(e) par : <Select name = "preference"> <option> les livres <option> les films <option> la musique </select>
Rafrachissez laffichage de la page et testez-l. Voil, on sait crer des listes de choix non modifiables (ce composant permet lutilisateur de choisir dans la liste propose, mais ne lui permet pas de rajouter des lments dans la liste).
Boutons
HTML propose principalement deux boutons : le bouton RESET : il permet dannuler la saisie ; le bouton SUBMIT : il permet denvoyer les donnes lURL indique dans lattribut action de la balise <form...>. En effet, un formulaire na dintrt que si les donnes sont transmises. Rajoutez le code :
<Input type = "reset" name = "monBoutonAnnuler" value = "Annuler"> <Input type = "submit" name = "monBoutonEnvoyer" value = "Envoyer">
On na pas besoin, avec ces boutons, dcrire le traitement dannulation ou denvoi, a se fait tout seul. Quand on clique sur annuler, cela efface tout ce quon a saisi. Quand on clique sur envoyer, notre navigateur essaie denvoyer les donnes mais comme on a mis une adresse bidon dans lattribut action de notre balise form, cela nous gnre une erreur car notre navigateur essaie douvrir la page adresse bidon, et comme cette page nexiste pas, il nous dit quil ne parvient pas afficher la page. Tout est donc normal. Outre ces deux boutons au comportement prdfini, on peut aussi poser un bouton normal, tout simple, dont on programmera le comportement lorsquon aura vu javascript , au chapitre prochain.
8 3950 TG PA 00
76
Squence 2
Initiation HTML
Pour poser un bouton dont le comportement nest pas prdfini, il faut crire, par exemple :
Remarque importante
Depuis la version 4.0 de HTML, pour crer un bouton sur un formulaire, on utilise plutt la syntaxe suivante.
Autre remarque
Quelle que soit la syntaxe utilise, on peut associer au bouton lattribut disabled qui a pour effet de dsactiver le bouton, cest--dire que le bouton ne ragira pas si lutilisateur lui clique dessus. Faites lessai avec :
<BUTTON name = "boutonEnvoyer" value = "envoyer" type = "submit" disabled> Envoyer </button>
On pourra ensuite rendre le bouton actif par programmation, en changeant la valeur de sa proprit disabled.
8 3950 TG PA 00
77
Squence 2
Initiation HTML
8 3950 TG PA 00
78
Squence 2
Initiation HTML
<META NAME = "Description" CONTENT = "description de la page"> <META NAME = "Keywords" CONTENT = "liste des mots cls, spars par des virgules">
Ces balises se mettent dans la balise head ; le faire rfrencer (gratuitement) en allant par exemple sur : http://www.annonceur.net
8 3950 TG PA 00
79