V) Algorigrammes et excution la main dalgorithmes ...................................................... 19 1) a) Algorigrammes .................................................................................................................. 19 Structure alternative ....................................................................................................... 21 Page 2
PARTIE 2 : HTML ET FEUILLES DE STYLE (CSS) ..................................................................... 25 I) 1) 2) II) 1) 2) 3) 4) 5) 6) 7) 8) a) b) 9) a) b) c) d) Prsentation............................................................................................................................. 25 HTML ................................................................................................................................ 25 Les feuilles de style ........................................................................................................... 26 Concepts et lments de base du langage HTML .................................................................. 27 Les balises .......................................................................................................................... 27 Structure dun document HTML ....................................................................................... 27 Espaces, saut de ligne et tabulations .................................................................................. 29 Les commentaires .............................................................................................................. 29 Les caractres spciaux...................................................................................................... 30 Niveaux de titre .................................................................................................................. 35 Les listes ............................................................................................................................ 36 Les tableaux ....................................................................................................................... 38 Les balises de tableaux ................................................................................................... 38 Options du tableau .......................................................................................................... 38 Les liens hypertextes.......................................................................................................... 40 Crer un lien ................................................................................................................... 40 Le lien externe ................................................................................................................ 40 Le lien local : .................................................................................................................. 41 Le lien interne :............................................................................................................... 41
10) Les images ......................................................................................................................... 42 a) b) c) Afficher une image ......................................................................................................... 42 Lien sur une image ......................................................................................................... 43 Les arrires plans ............................................................................................................ 43
11) Les couleurs ....................................................................................................................... 44 12) Les balises META ............................................................................................................. 50 III) IV) Les frames ............................................................................................................................. 52 Les formulaires...................................................................................................................... 56 Eric VEKOUT, Professeur dInformatique Page 3
V) Les feuilles de style : CSS ...................................................................................................... 59 1) a) b) c) 2) a) b) c) d) e) f) 3) a) b) c) d) e) f) 4) a) b) c) d) e) f) g) Syntaxe............................................................................................................................... 59 Slection multiple ........................................................................................................... 60 Slection Universelle ...................................................................................................... 60 Slection dlments imbriqus ..................................................................................... 60 Implantation du code ......................................................................................................... 62 Dclaration du type de document ................................................................................... 62 Style interne .................................................................................................................... 62 Style en ligne .................................................................................................................. 63 Style externe ................................................................................................................... 64 Style import .................................................................................................................. 65 Styles en cascade ............................................................................................................ 65 Units de mesure et positionnement des CSS ................................................................... 66 Units absolues ............................................................................................................... 66 Units relatives ............................................................................................................... 67 Positionnement relatif et absolu ..................................................................................... 67 Positionnement dun texte .............................................................................................. 67 Positionnement dun texte .............................................................................................. 68 Superposition des lments ............................................................................................ 68 Classes et ID ...................................................................................................................... 69 Les classes universelles .................................................................................................. 70 Les pseudo-classes dynamiques ..................................................................................... 71 Les pseudo-classes de lien.............................................................................................. 71 La pseudo-classe descendante ........................................................................................ 71 Les pseudo-classes de texte ............................................................................................ 72 Les pseudo-classes de langue ......................................................................................... 72 Les pseudo-classes de page ............................................................................................ 73 Page 4
Page 5
PARTIE I : ALGORITHMIQUE
I) Elments de base
1) Structure gnrale dun algorithme
La structure gnrale dun algorithme est la suivante : En-tte Dclarations Instructions Algorithme | fonction | procedure Nom_algorithme{ ({var}var1 :Type_v1, ,{var}varn:Type_vn){ : Type_retour}} {var liste_variables1:Type 1 var liste_variables n :Type_variables n const const1=valeur1,, const n=valeur n} Dbut . . . {retourner nom_variable_retour} Fin N.B : les mots crits en gras reprsentent des mots-cls du LDA (Langage de description dalgorithme) ; le contenu des accolades est optionnel. Nom_algorithme : cest le nom de votre algorithme. a doit tre un nom parlant qui indique ce que lalgorithme fait. (var1 :Type_v1,,var n : Type_v n) : cest la liste des paramtres (donnes en entre ou sortie) avec leurs types de votre algorithme. Lorsque le mot-cl var est utilis, cest pour spcifier que ce paramtre est en sortie. Type_retour : cest le type de donne du rsultat ventuel que lalgorithme fournit. Cest le type de sortie (si celui-ci est une fonction). Liste_variables : Type: cest la liste des variables locales (et leurs types) votre algorithme. Page 6 Eric VEKOUT, Professeur dInformatique
N.B : Il existe dautres types de donnes comme les chanes de caractres (Chane). Mais ce nest pas exactement un type de donne lmentaire vu quil est construit partir dun ensemble de caractres. Une chane de caractre est dlimite par les caractres et .
b) Les variables
Une variable est un objet (reprsentant un espace mmoire) contenant une valeur dun type donn et dont le contenu est modifiable. Une variable est donc constitue : Dun identificateur reprsentant le nom de la variable. Dun type de donne Page 7
Lidentificateur dune variable commence toujours par une lettre ou par un underscore (_) Exemple de dclaration dune variable locale appele nbr et de type Entier : var nbr : Entier
c) Les constantes
Une constante est un objet contenant une valeur fixe et non modifiable. La valeur affecte une constante lors de son initialisation est donc dfinitive. Elle possde aussi un identificateur qui suit les mmes rgles que ceux des variables.
3) Les oprateurs
a) Laffectation
Cest lopration qui permet daffecter une valeur une variable. Syntaxe : nom_variablevaleur ou expression ; Lexpression est une suite doprations sur des constantes ou des variables dj dclares. Cette valeur ou cette expression doit tre du mme type que la variable.
Page 8
Page 9
Interprtation : Action {1n}sexcute respectivement si la valeur de nom_variable est valeur {1n}. Action par dfaut sexcute si nom_variable na aucune des valeurs numres plus haut.
Page 10
Remarque : Lorsque la structure Tant QueFaire est utilise il est possible que Action ne sexcute pas, si condition est dj faux. Lorsque la structure RpterJusqu est utilise Action sexcute toujours au moins une fois.
Page 11
5) Les commentaires
Pour faciliter sa comprhension, un bon algorithme doit tre comment. Un commentaire nest pas pris en compte dans lexcution de lalgorithme. Pour insrer un commentaire dans votre algorithme, les syntaxes sont les suivantes : // Commentaire tenant sur une seule ligne /* Commentaire tenant sur plusieurs lignes */
1) Les enregistrements
Un enregistrement est une structure de donne compose dune ou de plusieurs proprits la caractrisant. Pour dfinir un enregistrement, la syntaxe est la suivante : Type nom_structure = Enregistrement de Propriete_1 : Type_1 ; . . . Propriete_n : Type_n ; Fin Enregistrement nom_structure reprsente le nom de la structure de donne dfinir. Propriete_{1n} : Type_{1n} reprsente la liste des proprits de la structure de donne et leurs types (les proprits sont des variables). Page 12
Laccs aux proprits dune variable dun type enregistrement se fait de la manire suivante : nom_variable.propriete Exemple : var n1, n2 : Chane Dbut n1 Roland ; id.Prenom n1; n2 id.Prenom ; Fin
2) Les ensembles
Un ensemble est une structure de donne qui reprsente un sous-ensemble dun type de donne. Syntaxe : Type Nom_ensemble=Ensemble de Type_donnee Exemples : Type Age = Ensemble de Entier Type Personne = Ensemble de Individu
3) Les tableaux
Un tableau est une structure de donne contenant un ensemble squenc de valeurs dun type de donnes bien prcis.
Page 13
On peut donc stocker, lire et modifier les donnes contenues dans les cellules dun tableau. Exemple1 : var tab1 : Tableau[1n] de Entier var n1, n2 : Entier Dbut n1 5 ; tab1[1] n1 ; n2 tab1[1] ; tab1[1] 9 ; Fin Exemple2 : var tab2 : Groupe var c1, c2 : Chane
Page 14
Page 15
2) Les procdures
Une procdure est une opration ayant zro ou plusieurs paramtres en entre et zro ou plusieurs rsultats en sortie. Syntaxe : Procedure nom_procedure ({{var}var_1 :Type_1,, {var}var_n :Type_n}) {var liste_variables1:Type 1 . . . var liste_variables n :Type_variables n const const1=valeur1,, const n=valeur n} Dbut Suite dinstructions ; Fin Le mot-cl var utilis sur un paramtre signifie que ce dernier reprsente une sortie pour la procdure : cest ainsi quune procdure peut fournir plusieurs rsultats en sortie.
Page 16
Exemple : Procedure Test( ) // Cette procdure teste si au moins lune des valeurs entres au clavier est ngative var a,b,c : Entier Dbut (1) (2) (3) Lire(a) ; // La valeur entre est affecte a Lire(b) ; Addition(a,b,c) ; // Appel de la procdure addition dfinie plus haut Page 17
(6) (7)
IV) La rcursivit
Une dnition rcursive est une dnition dans laquelle intervient ce que lon veut dnir. Un algorithme est dit rcursif lorsquil est dni en fonction de lui-mme. Cela veut dire quun algorithme est rcursif sil fait appel lui-mme dans le corps de ses instructions. Le danger avec un algorithme rcursif est quil faut toujours sassurer que la condition de terminaison de lalgorithme est bien dfinie et sera atteinte sinon on se retrouve dans une boucle infinie. Prenons par exemple le calcul des puissances dun rel : Fonction puissance(x :Rel, n : Entier) : Rel // Cette fonction retourne xn var p : Rel Dbut p x*puissance (x, n-1) ; //Selon que xn = x*xn-1 retourner p ; Fin Ici, on remarque que la condition de terminaison de la rcursivit est n=0 car x0=1. Donc lorsquon obtient ce rsultat, on remonte dans les calculs jusqu obtenir la valeur de xn. Or dans cet algorithme il ny rien qui contrle la valeur de n donc il ne se terminera jamais ! Eric VEKOUT, Professeur dInformatique Page 18
Page 19
Page 20
a) Structure alternative
Si condition Alors Action ; Fsi Si condition Action2 ; Fsi Alors Action1 ; Sinon
nom_variable = valeur n
Fin cas
Action n
Page 21
Pour indice allant de valeur_initiale valeur_finale par pas de increment Faire Action ; FinPour Ici, on considre que : Vi= valeur_initiale Vf= valeur_finale pas= increment
Page 22
a<b
cb-a
ca-b
Fin
Page 23
Page 24
.asp pour une page gnre dynamiquement en ASP (Active Server Pages) ; .cgi pour une page gnre dynamiquement avec des CGI (Common gateway Interface) ; .php, .php3 ou .php4 pour une page gnre dynamiquement en PHP ; .pl pour une page gnre dynamiquement en Perl (Practical Extraction and Report Language) ; etc.
Une page web peut tre construite partir du plus basique des diteurs de texte (une application bloc-notes par exemple), mais il existe des diteurs beaucoup plus volus. Les diteurs WYSIWYG (What You See Is What You Get, littralement ce que vous voyez est ce que vous obtenez) sont des diteurs graphiques permettant de travailler sur une page web telle qu'elle sera affiche sur un navigateur quelques dtails prs. Grce ce genre d'diteurs il est possible d'ajouter des balises par simple clic et d'en modifier les Eric VEKOUT, Professeur dInformatique Page 25
d'obtenir une prsentation homogne sur tout un site en faisant appel sur toutes les pages une mme dfinition de style ; de permettre le changement de l'aspect d'un site complet entier par la seule modification de quelques lignes ; une plus grande lisibilit du HTML, car les styles sont dfinis part ; des chargements de page plus rapides, pour les mmes raisons que prcdemment ; un positionnement plus rigoureux des lments.
Page 26
Dclaration <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
XHTML 1.0
XHTML 1.1
Strict : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd"> Transitional : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> Frameset : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> Strict : <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> Transitional : <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1loose.dtd"> Frameset : <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1frameset.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> Page 28
Le langage HTML possde par contre des lments permettant expressment de dfinir chacun de ces lments de mise en forme :
Espace inscable : il s'agit d'un espace ne pouvant tre bris par une fin de ligne. Sa reprsentation en HTML est . Saut de ligne manuel : il s'agit d'un saut de ligne explicite. Sa reprsentation en HTML est <br> (<br /> pour tre conforme au XHTML).
4) Les commentaires
Il est possible d'ajouter des lments d'information dans une page web sans que ceuxci soient affichs l'cran grce un jeu de balises spcifique, appel balises de commentaires : <!-- Voici un commentaire --> Les balises de commentaires permettent de mettre en commentaire du texte mais peuvent galement servir commenter du code HTML. Eric VEKOUT, Professeur dInformatique Page 29
6) Niveaux de titre
Il existe des balises spcialement conues pour raliser des titres : ce sont les tags <Hn> o n est un nombre entre 1 et 6. Ce sont des commandes d'en-ttes ; elles sont utilises pour diffrencier les niveaux d'un document comme les sections d'un article de journal.
Page 35
Code HTML <HTML> <HEAD> <TITLE>des titres</TITLE> </HEAD> <BODY> <H1>Titre 1</H1> <H2>Titre 2</H2> <H3>Titre 3</H3> <H4>Titre 4</H4> <H5>Titre 5</H5> <H6>Titre 6</H6> </BODY> </HTML>
Titre 1
Titre 2
Titre 3
Titre 4
Titre 5
Titre 6
Remarque : La taille de la police de caractres et les styles pour reprsenter les balises <Hn> ne sont pas uniformises parmi les navigateurs. Il ne faut donc pas en abuser et prfrer les balises <FONT>.
7) Les listes
Il existe 6 catgories de listes en HTML : 1. Listes numrotes (Ordered Lists) : Chaque ligne de texte est prcde gnralement par un numro. HTML renumrotera automatiquement la liste si vous modifiez l'ordre des lments. 2. Listes non ordonnes ou puces (Numbered lists) : Chaque lment est prcd par une pastille. 3. Listes imbriques (Nested lists) : Vous pouvez insrer des sous-listes dans des listes. 4. Listes de dfinitions (Definition list) : Affiche une liste de mots avec leur dfinition en-dessous. 5. Listes de rpertoires (Directory lists) : Une liste de rpertoires apparait en plusieurs colonnes sur une page. 6. Liste de menus (Menu list) : Les lments dans une liste de menus sont justifis gauche l'un en-dessous de l'autre, et ne sont pas indents.
Page 36
Description
Commandes <OL> <LI>Element1 <LI>Element2 </OL> <UL> <LI>Element1 <LI>Element2 </UL> <DIR> <LI>Element1 <LI>Element2 </DIR> <MENU> <LI>Element1 <LI>Element2 </MENU> <DL> <DT>Element1 <DD>description1 <DT>Element2 <DD>description2 </DL> <OL> <LI>ElementA <UL> <LI>Element1 <LI>Element2 </UL> </OL>
Liste ordonne
Element1 Element2
Element1 Element2
Liste de rpertoires
Element1 Element2
Liste de menus
Liste de dfinition
1. ElementA
Liste imbriques
Element1 Element2
Remarques : - Pour les listes non ordonnes, il est possible de remplacer les puces par un autre symbole en utilisant l'option TYPE dans la balise <UL>. par exemple : <UL TYPE=disc,circle ou square> ... </UL> Eric VEKOUT, Professeur dInformatique Page 37
8) Les tableaux
L'affichage de tableaux dans des documents cods en HTML peut sembler complexe, mais ils se rvlent trs utiles dans de nombreux cas. Les tableaux sont constitus de cellules, situes dans des colonnes (lments verticaux) et des ranges (lments horizontaux). Les cellules peuvent contenir tous les lments Html dj passs en revue (texte, images, liens, arrire-plans, tableaux).
b) Options du tableau
BORDER : option de la balise <TABLE>. Epaisseur du cadre extrieur en pixels. Avec la valeur 0, le cadre est invisible. CELLSPACING : option de la balise <TABLE>. Epaisseur en pixels autours de chaque cellule. CELLSPADDING : option de la balise <TABLE>. Epaisseur en pixels entre l'lment de la cellule et le cadre. WIDTH : option de la balise <TABLE>. Largeur occupe par le tableau en pixels ou en pourcentages. Eric VEKOUT, Professeur dInformatique Page 38
WIDTH : option de la balise <TD>. Largeur occupe par une colonne en pixels ou en pourcentages. ALIGN : option de la balise <CAPTION>. pour la valeur TOP, affiche le titre au-dessus ; BOTTOM, affiche en-dessous. ALIGN : option des balises <TD>,<TR>,<TH>. pour les valeurs LEFT, RIGHT et CENTER, affiche les lments de la cellule gauche, droite ou au centre. VALIGN : option des balises <TD>,<TR>,<TH>. Aligne le contenu de la cellule en haut, en bas ou au milieu pour les valeurs TOP, BOTTOM et MIDDLE. NOWRAP : option des balises <TD>, <TH>. Empche le retour la ligne dans la cellule. COLSPAN : option de la balise <TD>, <TH>. prend pour valeur un chiffre qui est le nombre de colonnes qu'occupera une seule et unique cellule. ROWSPAN : option de la balise <TD>, <TH>. prend pour valeur un chiffre qui est le nombre de lignes qu'occupera une seule et unique cellule.
Faisons un exemple pour tre + clair. Prenons le code suivant : <TABLE BORDER=1 CELLSPACING=2 CELLPADDING=1> <CAPTION ALIGN=TOP>titre du tableau</CAPTION> <TR ALIGN=LEFT VALIGN=TOP> <TH COLSPAN=3 ROWSPAN=1 NOWRAP>Elements A</TH> <TH>Elements B</TH> </TR> <TR> <TD>Element A1</TD> <TD WIDTH="33%">Element A2</TD> <TD>Element A3</TD> <TD>Element B1</TD> </TR> </TABLE>
Page 39
Les tableaux, c'est tout simple ! Pour qu'il soit encore plus clair, on peut rajouter de la couleur en utilisant l'option BGCOLOR. par exemple : <TD BGCOLOR="#C0C0C0"> met en gris le fond de la cellule.
a) Crer un lien
La commande qui permet de raliser des liens hypertextes est toujours la mme, <A>. Il faut toutefois respecter la syntaxe correcte ; ainsi il faut connaitre l'URL (l'adresse) exacte d'un document.
b) Le lien externe
Tout ordinateur situ sur le rseau Internet possde une adresse ou un URL (Universal Ressource Locator). Html permet d'accder toutes les machines et toutes les ressources du Net. Pour peu qu'Internet vous soit un peu familier, ce sont les adresses du type : http://www.yahoo.fr http://www.minfopra.gov.cm/carto
Page 40
c) Le lien local :
L'organisation classique, et plus que conseille, d'un site Web consiste regrouper l'ensemble des lments de celui-ci (fichiers htm, images, ...) dans un mme rpertoire. Vous pourrez ainsi "transporter" aisment votre site pour le prsenter sur un autre ordinateur et but ultime, le charger sur un serveur. Cette faon de procder est la plus aise et vous vitera pas mal de problmes. Le code crire est donc par exemple : <A HREF="chemin_acces/page.htm"> page locale </A>
d) Le lien interne :
Des liens peuvent aussi pointer vers un endroit prcis du mme document ou d'un autre fichier. C'est ce qu'on appelle les ancres, ancrages ou pointeurs [Anchor]. Point d'ancrage <A NAME="***"> ... </A> <A HREF="#***"> ... </A> Ceci est une cible Lien vers la cible *** dans la mme page Lien vers la cible *** dans une autre page
Plusieurs liens l'intrieur d'un mme document supposent que ce document prsente une certaine longueur sinon une longueur certaine (et donc un temps de chargement assez long). Ainsi, on prfrera gnralement cette technique le dcoupage d'un longue page en un ensemble de plusieurs pages de dimension plus rduite. Remarques : - pour modifier la couleur des liens hypertextes, il faut modifier la balise <BODY> en ajoutant des options TEXT,LINK,VLINK et ALINK pour le texte de la page, les liens, les liens dj cliqu et les liens au moment du clic. Par exemple : <BODY TEXT="#000000" LINK="#FF9900" VLINK="#66FF99" ALINK="#66FF99>
Page 41
Par dfaut, le bas de l'image est align avec le bas du texte. Ce sont les options qui vont permettre d'aligner les images comme dsir.
SRC Cette option contient l'adresse ou est stocke l'image. En effet, en Html, l'image ne fait pas partie de votre document. Le browser va la chercher l'adresse indique. Gnralement, on place les images dans le mme rpertoire que les pages Html. On peut donc utiliser la mme image plusieurs fois dans un mme document. ALT Cette option permet d'afficher un texte la place de l'image quand elle n'a pas encore t charge. Cela est trs utile pour des images lourdes. <IMG SRC="../logomain.gif" ALT="logo"> WIDTH et HEIGHT Ce sont la largeur et la hauteur de l'image en pixels. Cela permet la fluidit de l'affichage car le navigateur doit connaitre l'emplacement rserver l'image pour pouvoir continuer afficher le texte. <IMG SRC="../logomain.gif" HEIGHT=65 WIDTH=66> BORDER Taille du cadre autour de l'image en pixels (par dfaut 1). Cela permet de mettre en valeur des images quand elles sont dans un lien. <IMG SRC="../logomain.gif" BORDER=0> ALIGN Alignement de l'image. prend les valeurs LEFT, RIGHT, MIDDLE, TOP et BOTTOM. On prfre utiliser cette balise pour centrer l'image verticalement ; pour centrer horizontalement, on encadre l'image par les balises <CENTER><IMG SRC="../logomain.gif" ALIGN=TOP><CENTER> Page 42
VSPACE HSPACE Espace vertical et espace horizontal. Permet de dterminer en pixels l'espace laiss libre autour de l'image.
On remarque que l'image est entoure d'une bordure. Pour la supprimer, on utilise l'option BORDER=0. <A HREF="http://www.yahoo.fr"><IMG SRC="../logomain.gif" BORDER=0 ALT="logo" HEIGHT=65 WIDTH=66></A>
couleur de fond Il suffit de modifier la balise <BODY> en <BODY BGCOLOR>. Loption BGCOLOR est suivie dans une couleur au format RGB (Ce code est constitu d'un dise (#) suivi de trois nombres au format hexadcimal compris entre 00 et FF.) Par exemple : < BODY BGCOLOR="#555555"> ... <BODY> dfinit un fond gris. image de fond Semblable la commande <BODY BGCOLOR>, la commande <BODY BACKGROUND> permet d'afficher une image qui sera rpte sans cesse en motif de fond. Il faut comprendre que cette image doit tre enregistre auparavant dans un des deux formats, JPEG ou GIF. Aussi, il faut veiller ce qu'elle soit d'une couleur appropri afin que le texte qui viendra s'ajouter par-dessus puisse tre lisible malgr tout. Page 43
Page 52
Page 53
Attention! <FRAMESET></FRAMESET> remplace <BODY></BODY>. L'attribut COLS="largeur1,largeur2,...,largeurN" dfinit la largeur des diffrentes fentres. La largeur s'exprime en pixels ou en %. Dans ce cas, on veillera ce que le total soit gal 100%. Il est aussi possible d'utiliser l'astrix "*" pour dfinir une taille quelconque. Cela permet d'avoir une taille fixe pour une fentre et une mobile pour une autre. Par exemple, <FRAMESET COLS="50,*"> dfinit une colonne de 50 pixels et une autre variable. Exemple 2 Jusqu' maintenant nous frames taient vides ; nous allons les remplir avec l'attribut <FRAME SRC="URL du document HTML afficher ">. On construit trois fichiers A.html, B.html, C.html que l'on place dans le mme rpertoire le fichier de Frames. Ces fichiers sont tous de la forme: <HTML> <BODY><H1>A</H1></BODY> </HTML> Pour le fichier de Frames, on dfinit le code suivant : <HTML> <HEAD></HEAD> <FRAMESET COLS="20%,80%"> <FRAME SRC="A.htm"> <FRAMESET ROWS="30%,70%"> <FRAME SRC="B.htm"> <FRAME SRC="C.htm"> </FRAMESET> Eric VEKOUT, Professeur dInformatique Page 54
Dans la fentre B, des ascenseurs sont apparus. On peut les supprimer ou les rendre obligatoires en utilisant l'attribut SCROLLING dans la balise <FRAME> : <FRAME SCROLLING="yes/no/auto">. Par dfaut, la barre de dfilement est sur auto. Les attributs de la balise frames sont les suivants :
l'attribut <FRAME NAME="Nom"> Name indique le nom de la fentre de telle sorte que cette frame puisse tre utilise comme cible d'un lien hypertexte. Ainsi pour ouvrir un document dans cette fentre, on utilisera l'attribut TARGET dans la balise de lien. Par exemple : <A HREF="doc.htm" TARGET="Nom">...</A> L'attribut TARGET peut aussi prendre certaines valeurs prdfinies :
_blank qui indique au browser qu'il doit crer une nouvelle fentre afin d'y afficher le fichier. Dans ce cas, vous ouvrez en fait un nouveau browser. _self qui indique que le fichier sera charg dans la mme fentre que celle dans laquelle se trouve le lien. _top qui implique l'affichage du fichier sur toute la surface de la fentre du browser.
Page 55
l'attribut <FRAME FRAMEBORDER=no FRAMESPACING=0 BORDER=0> permet de supprimer les bordures qui sparent les fentres. Netscape utilise l'attribut "border=0" et Explorer, les attributs "frameborder=no" et "framespacing=0". Il faut donc mettre les trois pour avoir la mme configuration sur tous les navigateurs. l'attribut <FRAME NORESIZE> Cet attribut empche le lecteur de pouvoir modifier la taille des cadres avec sa souris. la balise <NOFRAMES>...</NOFRAMES> Il convient de mettre cette balise aprs la dfinition de vos Frames car elle permet d'indiquer le texte, que les vieux navigateurs incapables de grer les frames, doivent afficher. Il est convenable d'indiquer une page pour que ces visiteurs puissent quand mme voir votre site.
1) La balise FORM
Le contenu d'un formulaire est compris entre les balises <FORM>... </FORM>. Le dernier lment d'un formulaire est un bouton d'envoi du formulaire (type =submit ou button). Les attributs de l'lment <FORM> : id (ou name) nom du formulaire pour les scripts JavaScript. action donne l'URL du programme auquel est envoy le contenu du formulaire (en gnral un programme cgi). method indique sous quelle forme seront envoyes les rponses POST est la valeur qui correspond un envoi de donnes stockes dans le corps de la requte, tandis que GET correspond un envoi des donnes codes dans l'URL, et spares de l'adresse du script par un point d'interrogation. enctype par dfaut application/x-www-form-urlencoded Eric VEKOUT, Professeur dInformatique Page 56
5) Un exemple de formulaire
<HTML> <BODY> <FORM name = "form1"action = "test.cgi" method = post> <P>Nom : <INPUT type=text size="50" name="nom" value=""> </P> <P>Adresse : <TEXTAREA name="adresse" rows=5 cols=25 border=0> </TEXTAREA></P> <P>Quelle est votre couleur prfre : Eric VEKOUT, Professeur dInformatique Page 58
Un slecteur de balises, permettant de prciser quelles balises du document le style s'applique ; Page 59
Une dclaration de style, dfinie entre accolades, permettant de prciser le style appliquer aux balises slectionnes. La dclaration est elle-mme constitue :
d'une ou plusieurs proprit(s), suivie du caractre : (double point), d'une ou plusieurs valeur(s) associe(s) chaque proprit, entoure de guillemets s'il s'agit de plusieurs mots ou spars par des virgules s'il y en a plusieurs, suivie d'un point virgule.
On obtient donc : selecteur { proprit : valeur } Exemple : body { background: #eeeeee; } Chaque slecteur (ici body) peut avoir plusieurs proprits avec des valeurs indpendantes. Exemple : body { background: #eeeeee; font-family: Trebuchet MS, Verdana, Arial; } On remarquera un point virgule entre chaque proprits.
a) Slection multiple
Il est galement possible d'appliquer le style plusieurs balises en sparant le nom de ces balises par une virgule (,). La syntaxe d'un tel slecteur, appel slecteur multiple, est la suivante : selecteur-de-balise1, selecteur-de-balise2 { /* style */ }
b) Slection Universelle
Grce au slecteur universel ( * ) il est possible de dfinir un style s'appliquant tous les lments HTML. La syntaxe du slecteur universel est la suivante : * { /* style */ }
Le slecteur d'lments imbriqus permet de crer une rgle ne s'appliquant que lorsquun lment Y est imbriqu dans un lment X. Sa syntaxe est la suivante : selecteur_X selecteur_Y { /* style; */ } Soit le code HTML suivant : <p> <i> Attention </i>, ceci est un <b> avertissement </b> </p> <b> Prire d'en tenir compte </b> La rgle suivante ne slectionne que le mot avertissement (le seul entour de balises <B>, elles-mmes imbriques dans une balise <P>) : Exemple: P B { font-weight: bold; color: red; }
Le slecteur d'lments conscutifs permet de crer une rgle ne s'appliquant que lorsquun lment Y suit immdiatement un lment X. Sa syntaxe est la suivante : selecteur_X + selecteur_Y { /* style; */ } Soit le code HTML suivant : <p> <i> Attention </i>, ceci est un <b> avertissement </b> </p> <b> Prire d'en tenir compte </b> La rgle suivante ne slectionne que le mot avertissement (le seul entour de balises <B>, elles-mmes suivant une balise <I>) : Exemple: I + B { font-weight: bold; color: red; }
Le slecteur d'lments pre-fils permet de crer une rgle ne s'appliquant que lorsquun lment Y est fils direct d'un lment X. La rgle ne s'applique pas si Y est encapsul dans une ou plusieurs autres balises intermdiaires. Sa syntaxe est la suivante : selecteur_X > selecteur_Y { /* style; */ } Soit le code HTML suivant : <p> <b><i> Attention </i></b>, ceci est un <i><b> avertissement </b></i> </p> <b> Prire d'en tenir compte </b> La rgle suivante ne slectionne que l'lment <i> Attention </i> (le seul entour de balises <B>, elles-mmes directement imbriques dans une balise <P>) : Exemple: P > B {font-weight: bold; color: red; } Eric VEKOUT, Professeur dInformatique Page 61
2) Implantation du code
a) Dclaration du type de document
Il est ncessaire d'indiquer dans la page HTML le prologue du type de document, c'est--dire une rfrence la norme HTML utilise. Cette dclaration se fait par une ligne du type : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <HTML> <HEAD>...</HEAD> <BODY>Contenu de la page</BODY> </HTML> De plus, une balise Meta permet d'indiquer au navigateur ou aux moteurs de recherche le langage utilis pour la dfinition des feuilles de style. Cette balise Mta, inclure dans l'en-tte HTML du document est la suivante : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <HTML> <HEAD> <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> </HEAD> <BODY>Contenu de la page</BODY> </HTML>
b) Style interne
Les feuilles de style d'une page web sont dclares grce la balise STYLE, au sein des balise <HEAD> et </HEAD>. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <HTML> <HEAD> <STYLE type="text/css"> <!-Dfinition des styles; --> </STYLE> </HEAD> <BODY></BODY> </HTML> Eric VEKOUT, Professeur dInformatique Page 62
c) Style en ligne
Il est galement possible de dfinir le style au sein mme d'une balise d'un document. On appelle ce type de dclaration une dclaration en ligne. Cette faon de dfinir les feuilles de style est peu recommande car elle va l'encontre de l'intrt des feuilles de style, dans la mesure o le style est embarqu au sein mme de chaque lment. Cela peut nanmoins servir pour dfinir de faon exceptionnelle un style pour un lment HTML particulier, ne ncessitant pas une dfinition globale. Pour dfinir un style en ligne, il suffit de renseigner l'attribut STYLE de la balise HTML laquelle on souhaite appliquer un style particulier : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <HTML> <HEAD> ... </HEAD> <BODY> ... <BALISE Style="style:valeur;"> ... </BALISE> ... </BODY> </HTML> N.B : Il est possible d'appliquer un style "en ligne" toutes les balises HTML, hormis les balises suivantes : BASE, BASEFONT, HEAD, HTML, META, PARAM, SCRIPT, STYLE, TITLE Voici un exemple de style appliqu une balise <H1> : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <HTML> <HEAD> ... </HEAD> <BODY> ... <H1 Style="Font: 18px Verdana; font-weight:bold;"> Titre </H1> Eric VEKOUT, Professeur dInformatique Page 63
d) Style externe
Le fait de pouvoir stocker la dfinition des feuilles de style l'extrieur du document est un "plus" car il est ainsi possible, en modifiant le fichier contenant les feuilles de style, de changer l'allure de toutes les pages web s'y rfrant ! Il s'agit dans un premier temps de crer un fichier texte contenant les feuilles de style et dont l'extension est .css, par exemple style.css : <!-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> body {background-image: home.gif;} LI {font: 13px Verdana;} B {font: 14px Verdana; font-weight: bold;} A { font:12px Verdana; font-weight: bold; color=black; text-decoration: none; } H1 {font: 16px Arial;font-weight: bold;color=black;} H2 {font: 14px Arial;font-weight: bold;color=black;} --> Dans un second temps il suffit de crer dans chaque page HTML le raccourci vers cette page de dfinition de style : <HTML> <HEAD> <LINK rel="stylesheet" type="text/css" href="style.css"> </HEAD> ... La balise <LINK> avertit le navigateur qu'il doit chercher un document situ l'extrieur de la page HTML.
L'attribut rel="stylesheet" prcise que le document en question est une feuille de style externe. Page 64
L'attribut type="text/css" prcise le type de feuille de style. L'attribut href=" URL " donne l'URL de la feuille de style, c'est--dire son emplacement sur Internet.
e) Style import
Les recommandations du W3C offrent une dernire faon d'inclure des feuilles de style dans un document: en important des feuilles de style. Il est en effet possible d'importer des feuilles de style externes au niveau de la dclaration du style de document, en insrant la commande @IMPORT immdiatement aprs la balise style : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <HTML> <HEAD> <STYLE type="text/css"> <!-@IMPORT URL(url de la feuille importer); Dfinition des styles du document; --> </STYLE> </HEAD> <BODY></BODY> </HTML> N.B : Si plusieurs dfinitions importes concernent la mme balise, seule la dernire sera prise en compte par le navigateur.
f)
Styles en cascade
Il est possible de dfinir plusieurs styles en utilisant les diffrents moyens qu'offrent les CSS. Ainsi, lorsque plusieurs feuilles de style externes sont appeles, on obtient ce que l'on appelle une cascade de styles, c'est--dire une combinaison de styles pour divers lments HTML. Si plusieurs styles concernent le mme lment, seul le dernier style sera conserv. <LINK rel=stylesheet type="text/css" href="style1.css"> <LINK rel=stylesheet type="text/css" href="style2.css"> <LINK rel=stylesheet type="text/css" href="style3.css"> Eric VEKOUT, Professeur dInformatique Page 65
a) Units absolues
Les units absolues proposes par le standard CSS sont rcapitules dans le tableau suivant : unit cm in mm pt description Le centimtre Le pouce (en anglais inch ) correspondant 2,54 cm Le millimtre Le point Page 66
b) Units relatives
Les units relatives proposes par le standard CSS sont rcapitules dans le tableau suivant : unit em description Unit relative la taille de police de l'lment slectionn. Seule exception cette rgle : lorsque la proprit font-size est dfinie, elle se rapporte la taille de la police de l'lment parent. Unit relative la hauteur de la minuscule de l'lment slectionn. Seule exception cette rgle : lorsque la proprit font-size est dfinie, elle se rapporte la hauteur de la minuscule de l'lment parent. Le pixel. Il s'agit d'une unit dont le rendu dpend de la rsolution du priphrique d'affichage. Le pourcentage est une unit relative la taille de l'lment ou de son parent.
ex
px %
Page 67
100 Pixels
Il est important de spcifier la taille de l'image avec les feuilles de style, pour des raisons de non-compatibilit des navigateurs.
f)
Superposons le texte "Cours CSS" l'image "eiffel.jpg": <HTML> <BODY> <SPAN style="position: absolute; top: 30 px; left: 100px;width: 103px; height: 61px"> <IMG SRC="eiffel.jpg" > </SPAN> <SPAN style="position: absolute; top: 50 px; left: 100 px;"> Cours CSS </SPAN> Eric VEKOUT, Professeur dInformatique Page 68
4) Classes et ID
Il peut s'avrer intressant d'affecter des styles diffrents des mmes balises. Pour cela les spcifications CSS ont introduit le concept de classe. La dfinition des classes est aussi simple que celles des styles. Elle consiste prciser la balise slectionne (comme pour une dclaration de style), puis de lui ajouter un point (.) et le nom que l'on souhaite donner la classe. Le nom de la classe peut-tre compos de lettres (accentues ou non), de chiffres et de tirets : Selecteur_de_balise.Nom-de-la-classe { proprit de style: Valeur; proprit de style: Valeur; ...; } O Nom-de-la-classe reprsente le nom donn la classe. Pour appeler une classe dans le code HTML, il suffit de rajouter un attribut class la balise : Soit la classe Rouge applique la balise b : B.rouge {font: Verdana 12px; color: #FF0000; } L'appel cette classe dans le code se fera de la faon suivante : <B class="Rouge"> Texte mettre en rouge et en gras </B> Les pseudo-classes permettent d'affiner le style appliqu un certain nombre de balises en dfinissant une raction un vnement ou bien la position relative de la balise au sein des autres balises. Eric VEKOUT, Professeur dInformatique Page 69
Le slecteur d'ID (identifiant) permet de faire rfrence un lment unique d'une page repr par son identifiant. Les ID servent notamment localiser des lments HTML grce au JavaScript. La syntaxe d'un slecteur d'ID est la suivante : #nom_ID { style } Un tel style s'appelle de la manire suivante : <BALISE ID="nom_ID" > ... </BALISE> N.B : Il ne peut exister qu'un seul ID par page ! Notez galement l'absence de # dans l'appel au slecteur d'ID.
d) La pseudo-classe descendante
Une pseudo-classe descendante permet d'appliquer un style la premire balise au sein d'un lment. La syntaxe de cette pseudo-classe est la suivante : Element_Parent > Balise:first-child {style;} Ainsi la dclaration suivante s'applique la premire balise <A> situ dans un jeu de balises <P> </P> : Eric VEKOUT, Professeur dInformatique Page 71
f)
Il est possible de dfinir un style en fonction de la langue du document (spcifie dans les en-ttes HTTP ou dans les balises mta) ou de la langue d'un lment HTML ou XML (spcifi grce l'attribut optionnel LANG) si celle-ci est prcise. Une pseudo classe de langue utilise la notation suivante : :lang(Langue). Eric VEKOUT, Professeur dInformatique Page 72
font-size
font-variant font
Dfinit une variante (petites majuscules) Raccourci permettant de mettre toutes proprits
les
uppercase (majuscule), lowercase (minuscule) ou capitalize (premire lettre en majuscule) white-space normal (passage la ligne automatique), pre (idem saisie), nowrap (pas de passage la ligne automatique) word-spacing: 6px; wordspacing En points (pt), pouces (in), en cm, en pixels width (px), ou en % En points (pt), pouces (in), en cm, en pixels height (px), ou en %
Dfinit l'ombrage texte, respectivement dcalage droite, en bas, rayon de l'effet de flou et couleur. Dfinit la casse du texte
Csure
Dfinit l'espacement des mots Dfinit la longueur d'un lment de texte ou d'une image Dfinit la hauteur d'un lment de texte ou d'une image
Spcifie si l'image reste fixe avec les dplacements de l'cran top, middle, bottom, left, Position de l'image par rapport au coin center ou right suprieur gauche background: url(test.jpg) fixed Raccourci pour les proprits d'arrire-plan repeat;
d) Proprits de marges
Proprit margin-top margin-right margin-bottom margin-left margin Exemple margin-top: 5px; margin-right: 0.5em; margin-bottom: 2pt; margin-left: 0; margin: 5px 0.5em 2pt 0; Description Valeur de la marge suprieure Valeur de la marge de droite Valeur de la marge infrieure Valeur de la marge de gauche Raccourci pour les proprits de marge
e) Proprits de bordures
Proprit border[-top -left bottom -right]width border[-top -left bottom -right]color border[-top -left bottom -right]-style border-collapse border Valeur En points (pt), pouces (in), en cm, en pixels (px), ou en % border-left-color: #RRGGBB; Description Epaisseur de la bordure [suprieure, de gauche, infrieure ou de droite] Couleur de la bordure [suprieure, de gauche, infrieure ou de droite] Style de la bordure [suprieure, de gauche, infrieure ou de droite] Effet 3D ou non Raccourci global les proprits de bordure
solid (pleine), dashed (en tirets), dotted (en pointills), double (double et remplie) ou ridge (en 3D) collapse separate border: 1px 0 0 2px dotted green;
f)
Proprit padding-top padding-right paddingbottom
Affichae (show) ou masquage (collapse) des cellules vides fixed (indpendamment du contenu Largeur fixe ou variable des cellules) ou auto (selon le contenu des cellules) alwats (systmatiquement avant Proprit pour sourds et malentendants chaque cellule) ou once (une seule indiquant le comportement lors de la lecture fois) des cellules d'en-tte d'un tableau
i)
Proprit @page size margin-top marginright margin-
Valeur @page(size: portrait) auto, landscape ou portrait margin-top: 3 cm; margin-right: 1.5 cm; margin-right: 1 cm;
margin-left: 2 cm; Marge de gauche crop (traits de coupe), cross Traits de coupe et repres de montage (repre de montage), none (pas de marque) Always, avoid Force le saut de page avant un lment Always, avoid orphans: 2; Force le saut de page aprs un lment Evite les lignes orphelines en fin de page. Dfinit le nombre de ligne minimal partir un renvoi en page suivante est effectu Evite les lignes veuves en dbut de page. Dfinit le nombre de ligne minimal partir un renvoi en page prcdente est effectu
widows
widows: 1;
Page 77
Bibliographie
(s.d.). Rcupr sur CSS dbutant: http://www.cssdebutant.com Lapoire, D. (2006, Octobre 12). Initiation l'Algorithmique. Pillou, J.-F. (2007). Rcupr sur Comment a Marche: http://www.commentcamarche.net Thomas Cormen, C. L. (2004). Introduction l'Algorithmique. Paris: Dunod.
Page 78