HTML CSS
HTML CSS
HTML CSS
♦ Partie 2 : JavaScript
♦ Partie 3 : PHP
♦ Partie 4 : XML
Partie 1 : HTML-CSS
Qu'est-ce que HTML ?
♦ HTML (Hyper Text Markup Language) est un langage de description de pages Web. Il
permet de présenter les documents hypertextes destinés à être affichés sur le navigateur.
[Un document hypertexte est un document qui contient des liens vers d’autres
documents (texte, sons, images, …)]
♦ Il peut être enrichi à l'aide de langages de programmation (Java, Javascript, …).
♦ Un document HTML est
un fichier texte, construit suivant une syntaxe précise
structuré par des balises, insensibles à la casse
interprété (visualisé) dans un navigateur (Chrome, Mozilla Firefox, Internet
Explorer, Opera,…)
créé dans un éditeur de pages web (NVU, Dreamweaver, …) ou tout éditeur de
texte (bloc-notes, Notepad++, sublime, …) et enregistrer avec le suffixe .html ou
.htm
♦ La page d'accueil d'un site web (la page principale) est en général appelée index.html. Cela
permet d'atteindre le site en tapant juste l'URL (sans taper le nom de la page à la suite)
♦ Les commentaires doivent être précédés par <!-- et être fermés par -->.
♦ Tout ce qui sera écrit entre <!-- et --> ne sera pas affiché à l’écran par le
navigateur. Notons cependant que ces commentaires restent visibles
lorsqu’on consulte le code source de la page.
♦ Les commentaires peuvent occuper plusieurs lignes et peuvent être placés
indifféremment dans l’en-tête ou dans le corps du document.
♦ Ils ne peuvent jamais apparaître à l'intérieur d'une balise ouvrante ou
fermante.
■ Paragraphes : <P>…</P>
▪ Par défaut, chaque paragraphe est précédé et suivi d’un espace correspondant à un
saut de ligne.
▪ Exemple : <P> Ceci est un paragraphe. </P>
Listes imbriquées
Les listes peuvent être imbriquées les unes dans les autres, ce
qui permet une présentation très claire.
Exemple :
<!DOCTYPE html>
<HTML>
<HEAD>
<META charset="UTF-8">
<TITLE> cours HTML </TITLE>
</HEAD>
<BODY>
<H1> Notions à connaître </H1>
<H2> Les balises : </H2>
<OL>
<LI> de titre </LI>
<LI> de paragraphe </LI> <LI> de listes :
<UL> <LI> ordonnées </LI>
<LI> non ordonnées </LI>
<LI> de définitions </LI>
Exemple :
<!DOCTYPEhtml >
<HTML>
<HEAD>
<METAcharset="UTF-8" >
<TITLE> Cours HTML </TITLE>
</HEAD>
<BODY>
<H1> Notions à connaître </H1>
<DL>
<DT> SGML </DT>
<DD> Standard Generalized Markup Language </DD>
<DT> HTML </DT>
Tableaux
■ Définition du tableau : <TABLE>… </TABLE>
▪ La balise <TABLE> doit obligatoirement être fermée. En cas d’oubli de la balise
fermante, le tableau risque de ne pas s’afficher ou ne pas s’afficher correctement.
Cette balise peut s'employer seule ou avec des attributs (BORDER : défini la taille de
la bordure, WIDTH : défini la largeur du tableau , HEIGHT : défini la hauteur du
tableau, CELLSPACING : défini l’espace entre les cellules en px, CELLPADDING
: défini l’espace entre le texte et le bord de cellule en px, …). En HTML5, ces
attributs sont maintenant abandonnés pour laisser place à l’utilisation des feuilles de
style.
▪ En HTML, un tableau se construit ligne par ligne. Dans chaque ligne, on indique le
contenu des différentes cellules.
Exemple :
<!DOCTYPEhtml >
<HTML>
<HEAD>
<METAcharset="UTF-8" >
<TITLE> Cours HTML </TITLE>
</HEAD>
<BODY>
<TABLE BORDER="1">
<CAPTION> Exemple de Tableau </CAPTION>
<TR>
<TH> Jour de la semaine </TH>
Liens hypertextes
♦ Un lien permet de définir : * une région sensible au clic souris dans un document
* l'endroit ou l'on va se retrouver après ce clic
♦ La balise <A> permet d'insérer un lien hypertexte. Elle possède au moins l'attribut HREF
qui contient l'adresse de destination du lien. La zone cliquable est encadrée par la balise
ouvrante <A> et la balise fermante </A> :
fichier1.html fichier2.html
<!DOCTYPE html> <!DOCTYPE html>
<HTML> <HTML>
<HEAD> <HEAD>
<META charset="UTF-8"> <META charset="UTF-8">
<TITLE> fichier1 </TITLE> <TITLE> fichier2 </TITLE>
</HEAD> </HEAD>
<BODY> <BODY>
Ce fichier permet de lancer le suivant <BR> Nous sommes dans fichier2.html
<A HREF="fichier2.html"> texte </BODY> d'appel </A>
</HTML> <!-- ici fichier1 et
</BODY> </HTML ichier2 sont dans le même rep-->
- avec sujet :
<A HREF="mailto:adresseEmail?subject=ObjetMessage"> … </A>
Ex :
<A HREF="mailto:[email protected]">Contacter moi</A>
<A HREF ="mailto:[email protected]?subject=Cours">Contacter moi</A>
<A HREF="mailto:[email protected]?subject=Cours&body=Les liens">Contacter moi</A>
Liens hypertextes
01/02/2023 Prof. Hafida ZROURI 36
■ Info-bulle sur un lien :
L'attribut TITLE="Info bulle" dans la balise <A> permet de proposer une
infobulle explicative qui s’affiche lorsque la souris pointera sur le lien.
Ex : <A HREF="page2.htm" TITLE="Lien vers le chapitre 2"> Suite </A>
Remarque : l’attribut TITLE est un attribut universel qui peut être défini sur tous les
éléments HTML.
100
pixels
▪ Syntaxe :
<SOURCE SRC="fichier_vidéo">
Cette balise possède aussi l’attribut TYPE qui définit le type MIME du
contenu. Soit :
- TYPE="video/ogg"
- TYPE="video/mp4"
- TYPE="video/webm"
-…
Les formulaires
●NAME : nom du formulaire pour une éventuelle utilisation ultérieure. (Le nom ne
doit pas être trop long et ne peut contenir ni caractères spéciaux, ni espace, ni
caractères avec accent. Le premier caractère doit être une lettre).
●TARGET : fenêtre ou cadre dans laquelle la réponse du programme sera affichée
(pour plus de détails voir l’attribut TARGET de la balise <A>).
●ENCTYPE : spécifie le codage des données.
» ENCTYPE="application/x-www-form-urlencoded" : méthode d'encodage par défaut
» ENCTYPE="multipart/form-data" : méthode d'encodage pour envoi de fichier
(avec POST et INPUT TYPE="file")
» ENCTYPE="text/plain" : méthode d'encodage pour envoi par mail
Exemple :
<FORM NAME="form1" METHOD="GET" ACTION="monFichier.php"> …
</FORM>
Les formulaires
■ Les éléments d’un formulaire :
▪ INPUT : champs de saisie de texte et divers types de boutons :
TYPE="text" : champ de texte
TYPE="password" : champ autorisant la saisie de mot de passe
TYPE="hidden" : champ caché
TYPE="checkbox" : case à cocher
TYPE="radio" : bouton radio
TYPE="submit" : bouton de soumission du formulaire
TYPE="reset" : bouton de remise à zéro des champs
TYPE="file" : bouton de sélection de fichier
TYPE="button" : bouton poussoir
TYPE="image" : bouton image
…
▪ SELECT : menus déroulants, listes à ascenseurs
01/02/2023 Prof. Hafida ZROURI 63
▪ TEXTAREA : zone de saisie d'un texte long
Les formulaires
■ Champ de texte : <INPUT TYPE="text">
C'est le champ le plus classique, celui qui permet la saisie de texte d'une
seule ligne. (TYPE="text" est le type par défaut)
Exemple :
<FORM>
Texte : <BR> <INPUT TYPE="text" NAME="nom" VALUE="Valeur par
défaut" SIZE="48" >
</FORM>
▪ size : (valeur par défaut 20) définit le nombre de caractères visibles de la ligne de
texte et par conséquent la largeur de la zone de texte. L’utilisateur peut
néanmoins taper autant de caractères qu’il souhaite.
▪ value : définit la valeur par défaut de la ligne de texte. Celle-ci apparaît dans la
ligne de texte au chargement de la page.
▪ readonly : indique que la valeur attribuée par défaut à la ligne de texte ne pourra
être modifiée par l’utilisateur.
Note : l’attribut value n’effectue pas la même fonction que l’attribut placeholder. Avec
value, l’utilisateur doit effacer le texte avant d’effectuer son propre encodage mais
avec placeholder, le texte est effacé automatiquement dès que le focus est donné à
l’élément. En outre, avec l’attribut value, en cas de soumission du formulaire sans
modification de cette valeur par défaut, c’est celle-ci qui sera transmise.
Exemple :
<FORM>
Mot de passe : <BR>
<INPUT TYPE="password" NAME="pass" SIZE="16"> </FORM>
Exemple :
<FORM>
<INPUT TYPE="radio" NAME="sexe" VALUE="F" CHECKED>Femme <BR>
<INPUT TYPE="radio" NAME="sexe" VALUE="H">Homme
</FORM>
Exemple :
<INPUT TYPE="image" NAME="validation" SRC="disquette.png"
Exemple :
<FORM m>
Pour annuler votre abonnement, tapez votre adresse email : <BR>
<INPUT TYPE="text" NAME="email" SIZE="40">
<INPUT TYPE="hidden" NAME="action" VALUE="annulation">
<INPUT TYPE="submit" VALUE="Envoyer">
</FORM>
suite
Exemple :
<FORM>
Zone de texte : <BR>
<TEXTAREA NAME="texte" ROWS="7" COLS="23">
Saisissez votre texte ici ...
</TEXTAREA> </FORM>
Exemple :
<FIELDSET>
<LEGEND>Programmation Web :</LEGEND>
<INPUT TYPE="checkbox" NAME="choix1" VALUE="HTML" CHECKED>HTML <BR>
<INPUT TYPE="checkbox" NAME="choix2" VALUE="JS">JavaScript <BR>
<INPUT TYPE="checkbox" NAME="choix3" VALUE="PHP">PHP <BR> </FIELDSET>
Exemple :
<LABEL FOR="idPass"> Mot de passe : </LABEL>
<INPUT TYPE="password" NAME="pass" SIZE="16" ID="idPass">
Ou : Label
♦ Les feuilles de style ne sont pas sensibles à la casse. Cependant les éléments qui ne sont pas
sous le contrôle des feuilles de style comme les noms de police ou les URLs peuvent être
sensibles aux majuscules et aux minuscules. L’usage veut que l’on encode les feuilles de
style en minuscules.
Exemple :
<P STYLE="font-size: 16pt; text-align: center; color: red;">
Voici un paragraphe dont le texte est rouge, centré, en 16 pt.
</P>
♦ Sélecteur d’élément : (ou sélecteur de type) permet de sélectionner une balise précise.
Exemple : P { color: green; }
→ applique une couleur verte à tous les paragraphes de la page HTML
▪ X[attr] : sélectionne l'élément X ayant comme attribut "attr" quelles qu'en soient
les valeurs.
▪ X[attr="val"] : sélectionne l'élément X ayant comme attribut "attr" et dont sa
valeur est égale à "val".
▪ X[attr~="val"] : sélectionne l'élément X ayant comme attribut "attr" et dont la
valeur est une liste de valeurs séparée par des espaces et dont une de ses valeurs
est égale à "val".
▪ X[attr^="val"] : sélectionne l'élément X ayant comme attribut "attr" et dont la
valeur commence exactement par le préfixe "val".
▪ X[attr$="val"] : sélectionne l'élément X ayant comme attribut "attr" et dont la
valeur finit exactement par le suffixe "val".
→ Seul le premier en-tête sera en vert car la valeur de l’attribut title contient entre
autre le mot introduction.
▪ Avec le style défini ci-dessus, nous aurons un arrière-plan jaune pour le champ de
texte.
Syntaxe :
:first-child sélectionne le premier élément enfant.
:last-child sélectionne le dernier élément enfant.
:nth-child(n) désigne le nième élément enfant où n est un nombre ou les mots-clés
even (pairs) ou odd (impairs).
:nth-last-child(n) sélectionne le nième enfant en partant du dernier élément.
:first-of-type représente le premier élément de ce type.
:last-of-type représente le dernier élément de ce type.
:nth-of-type(n) désigne le nième élément de ce type où n est un nombre ou les
motsclés even (pairs) ou odd (impairs).
:nth-last-of-type(n) sélectionne le nième élément de ce type en partant du dernier
élément.
ex réelle 0.5ex L’unité est la hauteur de la lettre minuscule courante x pt entière 14pt Point
(1pt = absolues
1/72 inch = 1/12 pica)
pc réelle 12pc Pica (1pc = 12 points = 1/6 inch)
● font-size
▪ Définit la taille de la police
▪ Ex : P { font-size: 14pt }
● font-style
▪ Définit le style de l'écriture. Principales valeurs possibles : normal,
italic ▪ Ex : H3 { font-style: italic }
● background-color
▪ Définit la couleur de l'arrière-plan
▪ Ex : H3 { background-color: #000000 }
● background-image
▪ Définit l'image de l'arrière plan
▪ Ex : BODY { background-image: url(image.gif) }
● background-repeat
▪ Définit la façon de répéter l'image de l'arrière plan
▪ Valeurs possibles : repeat (valeur par défaut) ou no-repeat ou repeat-x ou repeat-y
▪ Ex : BODY { background-image: url(image.gif); background-repeat: repeat-x }
height
CSS :
Les bordures
■ Style :
● Style de la bordure : border-style
▪ Ex : P.note { border-style: solid }
● Détail des bordures pour chaque côté : border-top-style (en haut), border-right-style
(à droite), border-bottom-style (en bas), border-left-style (à gauche) ●
Détail du style de la bordure avec border-style :
▪ Ex : P { border-style: dashed dotted solid double }
▪ Ordre : 1 haut / 2 droite / 3 bas / 4 gauche ■
Épaisseur :
● Épaisseur de la bordure : border-width
▪ Ex : P.note { border-width: 2px }
● Détail de l'épaisseur pour chaque côté : border-top-width (en haut), border-
rightwidth (à droite), border-bottom-width (en bas), border-left-width (à gauche) ●
Détail de l'épaisseur de la bordure avec border-width :
■ XHTML offre les aspects XML mais ce n'est pas suffisant pour toutes
Background-image :
Background-image :url(‘chemin d’image’)
Background-attachement: fixe
Background-size:cover
Background-position:top/bottom
Opacity: 0…1
Dé gradation de couleur:
linear-gradient(to right/to left/ radial, #8360c3, #2ebf91);gradation de couleur :
Bordure
Border: npx type couleur
Border-radius: npx
Ombre
Box-shadow: décalage hor décalage ver adoucissement du dégradé couleur
Text-sadow: …
position :fixed/sticky