Introduction à HTML
Transcription
Introduction à HTML
Introduction à HTML Eugen Dedu UFC, IUT GTR, Montbéliard, 1ère année septembre 2005 [email protected] HTML CSS PHP Publication Introduction - acronymes ● WWW (World Wide Web, Web plus court) : réseaux d'ordinateurs s'échangant des pages HTML ● HTML (HyperText Markup Language) : “langage” dans lequel les pages sont écrites ● HTTP (HyperText Transfer Protocol) : le procotole (les règles) définissant l'échange entre : – le demandeur d'une page Web d'une certaine adresse (client) – et le fournisseur de la page (serveur) 2 HTML CSS PHP Publication Introduction - protocole HTTP ● Le client (navigateur) demande la page avec une certaine adresse http://machine/répertoire/fichier.html ● La machine (serveur) machine envoie : ● – le fichier fichier s'il existe – une erreur sinon – si fichier est un répertoire, envoi de index.html ● exemple : http://www.yahoo.com/ => comme si /index.html ● demander le répertoire, pas la page ! Choisir de préférence des minuscules pour les noms des fichiers HTML, avec l'extension .html 3 HTML CSS PHP Publication Introduction - hystorique ● Auteur : Tim-Berners Lee, 1991 – chercheur à CERN, Genève – but : échanger des informations avec d'autres chercheurs ● Clients Web (navigateurs) : mosaic, netscape, internet explorer, mozilla, konqueror, ... ● Serveurs Web : ncsa, apache, iis 4 HTML CSS PHP Publication Netographie ● http://www.w3.org/ - consortium WWW – http://www.w3.org/TR/html4/ - référence de HTML 4.01 ● http://www.allhtml.com/ - développement et tutoriaux HTML, DHTML, ASP, ... Très complet et pédagogique ● http://www.php.net/docs.php - PHP ● http://www.digilife.be/quickreferences/quickrefs.htm quickref pour CSS1 et PHP4 ● Toute information sur HTML, en particulier HTML 4 5 HTML CSS PHP Publication Plan ● Structure d'une page HTML – balises ● CSS ● Pages HTML dynamiques ● – formulaires – PHP Publier son site sur Internet, moteurs de recherche 6 HTML CSS PHP Publication 7 HTML CSS PHP Publication 8 HTML CSS PHP Publication Structure d'une page HTML - notion de balise (tag) <A HREF="http://...">un hyperlien</A> Texte Attribut de balise Balise (case insensitive) (case insensitive) Ne pas oublier de fermer toute balise ! 9 HTML CSS PHP Publication Structure d'une page HTML - division ● Version de HTML ● En-tête : HEAD ● – méta-informations – non affiché Contenu : BODY – – ● contenu de la page affiché Commentaires : – Squelette d'une page HTML (à copier-coller) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Page d'exemple</title> </HEAD> <BODY> Ma première page HTML. </BODY> </HTML> entre <!-- et --> 10 HTML CSS PHP Publication En-tête d'une page HTML - balises “obligatoires” ● Codage du texte (Unicode UTF-8, ISO latin 1) – ● <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> Titre – <title>Ma page personnelle</title> 11 HTML CSS PHP Publication En-tête d'une page HTML - balises optionnelles ● Auteur – ● Description – ● <meta name="Description" content="Exercices d'info"> Mots-clé – ● <meta name="Author" content="David Dechaux"> <meta name="Keywords" content="HTML langage C"> Rafraîchissement automatique – <meta http-equiv="refresh" content="5;URL=http://..."> – mieux vaut utiliser les possibilités du serveur Web (ex. : .htaccess) 12 HTML CSS PHP Publication Balises, exemples - mise en forme ● Gras <B>, italique <I> ● Paragraphe <P>, <BR> (les deux sans fermer la balise), alignement ● Barre horizontale <HR> (horizontal rule) ● Polices : – couleurs, taille du texte – type de texte : pré-formaté <PRE>...</PRE> ● Infobulles : attribut TITLE ● La taille de la page Web dépend de la taille de la fenêtre du navigateur ! 13 HTML CSS PHP Publication Balises, exemples - images, liens ● Images – ● Image de fond – ● <A HREF="photo.jpg">Texte ou image</A> Ancres (anchors) – ● <BODY BACKGROUND="bg.png"> Liens (links), pour du texte ou une images – ● <IMG SRC="photo.jpg" ALT="Ma photo"> <H2><A NAME=chapitre2>Le loup</A></H2> Chemin relatif (au répertoire courant) vs. chemin absolu (avec http:// ou file://) 14 HTML CSS PHP Publication Balises, exemples - titres ● Structure vs. visualisation ● Structure : headings, 6 niveaux ● – <H1>Titre de premier niveau</H1> – <H5>Titre de cinquième niveau</H5> Visualisation : – <B>Titre de cinquième niveau</B> 15 HTML CSS PHP Publication Balises, exemples - listes ● ● Listes non numérotées (unordered lists) <UL> – <UL> – <LI>ligne1 – <LI>ligne2 – </UL> Listes numérotées (ordered lists) <OL> – (pareil) 16 HTML CSS PHP Publication Balises, exemples - tableaux ● <TABLE>, </TABLE> ● Each table starts with an optional CAPTION followed by one or more TR elements defining table rows ● Each row has one or more cells defined by TH or TD elements ● Attributes for TABLE elements include WIDTH, BORDER, CELLSPACING and CELLPADDING 17 HTML CSS PHP Publication Balises, exemples - scripts ● Java, dans le body : – ● <APPLET CODE="bubbles.class" WIDTH=500 HEIGHT=600>Java applet which draws animated bubbles.</APPLET> javascript, flash, ... 18 HTML CSS PHP Publication Cadres (frames) - but ● Diviser la page en plusieurs sous-pages – on regarde une page ou plusieurs ?? => ne s'intègrent pas bien dans le langage HTML ● ● raison d'exister : fourni par Netscape au début du Web Exemples : – une sous-page avec le menu, toujours visible – une sous-page de contenu, suivant le menu – cliquer sur un lien sur une sous-page permet de remplacer une sous-page (ou toutes les pages) 19 HTML CSS PHP Publication Cadres (frames) - création <FRAMESET COLS="50%,50%"> <FRAMESET ROWS="50%,50%"> <FRAME SRC="1.html"> <FRAME SRC="2.html"> </FRAMESET> <FRAMESET ROWS="33%,33%,33%"> <FRAME SRC="3.html"> <FRAME SRC="4.html"> <FRAME SRC="5.html"> </FRAMESET> </FRAMESET> http://wp.netscape.com/assist/net_sites/frame_syntax.html 20 HTML CSS PHP Publication CSS - fonctionnement ● CSS = Cascade Style Sheet (“feuilles de style”) – ● version actuelle : CSS2 But : séparer l'information (contenu) de l'affichage (couleurs, police, ...) – permet une cohérence de présentation dans tout le site – plus facile à maintenir ● Fichier .css : les règles de présentation d'une classe ● Fichiers HTML : utilisation des règles du fichier .css ● Si modification du .css, toutes les pages HTML voient instantanément la modification ! 21 HTML CSS PHP Publication CSS - exemple ● Fichier a.css : body {background-image: url(/images/logo.jpg); color: black} a:active {color: blue} p.commentaire {background:darkgreen} ● Dans le HEAD de chaque fichier HTML : <link rel="stylesheet" type="text/css" href="a.css"> ● Dans le BODY des fichiers HTML : – ● <P class=commentaire>Un paragraphe avec comment</P> Attribut class : la classe à laquelle l'élément appartient – peut être utilisé dans beaucoup d'éléments 22 HTML CSS PHP Publication CSS - fichier de styles ● ● De nombreuses propriétés existent : – couleur – marges – police des caractères – ... Ex. : marges des paragraphes : – ● h2 { margin-top: 8em; margin-bottom: 3em } Ex. : indentation en début de paragraphe : – p { text-indent: 2em; margin-top: 0; margin-bottom: 0 } 23 HTML CSS PHP Publication Pages HTML dynamiques - formulaires ● <FORM>...</FORM>, formulaire : – ● <INPUT>, champ d'entrée : – ● NAME, MULTIPLE, SIZE <OPTION>, option dans une liste de sélection : – ● NAME, TYPE, VALUE, CHECKED, SIZE, MAXLENGTH <SELECT>...</SELECT>, liste de sélection : – ● ACTION, METHOD, ENCTYPE SELECTED <TEXTAREA>...</TEXTAREA>, zone d'édition : – NAME, ROWS, COLS 24 HTML CSS PHP Publication Pages HTML dynamiques - formulaires ● ● <FORM METHOD=GET ACTION="result.php"> – <INPUT NAME="somme" TYPE=text>Nom<BR> – <INPUT NAME="accepte" TYPE=checkbox>Accepté<BR> – <INPUT TYPE="submit" VALUE="Calculer"> – <INPUT TYPE="reset" VALUE="Reset"> </FORM> http://www.uwa.edu.au/web/office/authors/howto/writing_html_forms 25 HTML CSS PHP Publication Pages HTML dynamiques - formulaires ● ● La valeur des champs est rajouté à l'URL – result.php?nom=Beethoven&error=off – rajoutés après ? – les champs sont séparés par & – (la méthode POST fonctionne différemment) result.php affiche la page en fonction des paramètres avec lesquels elle est appelée – (voir plus tard pour la lecture des paramètres) 26 HTML CSS PHP Publication Pages HTML dynamiques - buts ● Comment afficher l'heure courante sur une page Web ? ● Dynamicité : contenu HTML dynamique (texte, images, scripts), en fonction de : ● – date courante – navigateur – résolution écran – ... Réutilisation de code HTML, de fichiers textes 27 HTML CSS PHP Publication Pages HTML dynamiques - utilitaires ● PHP (Php's Hypertext Preprocessor), licence GPL ● ASP (Active Server Pages), commercial (Microsoft) ● Exécutés par le serveur ● Exemple pour php : – le navigateur demande une page php – le serveur reconnaît que ce n'est pas du html, mais du php ● – il exécute le code php ● – nom du fichier : .php balise <?php avec ?> il renvoie au navigateur le résultat 28 HTML CSS PHP Publication Pages HTML dynamiques - exemple PHP En PHP <table border="1"> <?php for ($z=0 ; $z <= 4 ; $z ++) {?> <tr><td> <?php echo "Iteration " . $z ; ?> </td></tr> <? } ?> </table> En HTML <table border="1"> <tr><td> Iteration 0 </td></tr> <tr><td> Iteration 1 </td></tr> <tr><td> Iteration 2 </td></tr> <tr><td> Iteration 3 </td></tr> </table> 29 HTML CSS PHP Publication Pages HTML dynamiques - généralités PHP ● ● Ressemble au langage C : – mettre ; après chaque instruction – variables : $a=10; $chaine=”hello world”; ● ne doivent pas être définies ● commencent toujours par $ – if (expr) { ... } else { ... } – while (expr) { ... } – for (... ; ... ; ...) {...} – printf (ou echo) Mais beaucoup plus simple et adapté au Web 30 HTML CSS PHP Publication Pages HTML dynamiques - lecture des paramètres ● Lecture d'une variable : $titi ● Lecture d'un paramétre de page : $_GET['titi']; ● Exemple : – ... 31 HTML CSS PHP Publication Pages HTML dynamiques - erreurs courantes ● Ne pas passer par le serveur pour les pages PHP ● FORM pas utilisé; c'est lui qui spécifie la destination 32 HTML CSS PHP Publication Publier son site sur Internet ● Lecture des fichiers locaux toujours possible, mais les autres internautes... ? ● Si machine connectée à Internet : – ● démarrer un serveur Web et mettre les fichiers dans le répertoire approprié Sinon : – – fournisseurs d'accès à Internet : ● wanadoo ● AOL transférer les fichiers sur la machine distante 33 HTML CSS PHP Publication Moteurs de recherche - introduction ● ● Fonctionnement : – récupèrent (to crawl) des pages Web sur Internet – les stockent dans une base de données (gigantesque) – permettent de chercher des mots dans cette base Exemples : – http://www.google.com – http://www.yahoo.com 34 HTML CSS PHP Publication Moteurs de recherche - utilisation ● ● Classement des pages (page ranking) : – pertinence des mots cherchés dans la page (lieu, répétition) – nombre d'autres pages qui pointent vers elle – (http://www.google.com/webmasters/4.html) Enregitrer un site : – chercher sur le site le lien pour ajouter un site ● (http://www.google.com/webmasters/1.html) – inscrire l'adresse de la page principale (accueil) – attendre le crawler de balayer son site (quelques jours) 35