Deuxième partie: HTML, Javascript et le DOM (1)



Documents pareils
Programmation Internet Cours 4

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Programmation Internet

TP JAVASCRIPT OMI4 TP5 SRC

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Programmation Web. Madalina Croitoru IUT Montpellier

RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado

Formation : WEbMaster

Devenez un véritable développeur web en 3 mois!

Architectures web/bases de données

HTML, CSS, JS et CGI. Elanore Elessar Dimar

Les services usuels de l Internet

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

L3 informatique TP n o 2 : Les applications réseau

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

CREATION d UN SITE WEB (INTRODUCTION)

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

ENVOI EN NOMBRE DE Mails PERSONNALISES

Module BD et sites WEB

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

Initiation à html et à la création d'un site web

Proxies,, Caches & CDNs

Diffuser un contenu sur Internet : notions de base... 13

Les outils de création de sites web

BES WEBDEVELOPER ACTIVITÉ RÔLE

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

FORMATION / CREATION DE SITE WEB / 4 JOURNEES Sessions Octobre 2006

PHP 5.4 Développez un site web dynamique et interactif

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Présentation du Framework BootstrapTwitter

HMTL. Exemple de fichier HTML. Structure d un document HTML. Exemple de fichier HTML. Balises HTML. IFT1147 Programmation Serveur Web avec PHP

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

L envoi d un formulaire par courriel. Configuration requise Mail Texte Mail HTML Check-list

SYSTÈMES D INFORMATIONS

Guide de réalisation d une campagne marketing

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

Formation HTML / CSS. ar dionoea

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

Logiciels de référencement

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

SUPPORT DE COURS / HTML

Séance d ED n 5 : HTML et JavaScript

TP Protocoles SMTP et POP3 avec Pratiquer l algorithmique

Luc Brun. Création de pages Web Dynamiques p.1/75

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Activité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully

HTML. Notions générales

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

Hébergement de site web Damien Nouvel

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)

Services sur réseaux. Trois services à la loupe. Dominique PRESENT Dépt S.R.C. - I.U.T. de Marne la Vallée

Les sites web avec NVU

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

Plateforme PAYZEN. Intégration du module de paiement pour la plateforme Magento version 1.3.x.x. Paiement en plusieurs fois. Version 1.

STID 2ème année : TP Web/PHP

Introduction à. Oracle Application Express

Document Object Model (DOM)

Optimiser les performances d un site web. Nicolas Chevallier Camille Roux

Cisco Certified Network Associate

1 ère Université WEB. Courbevoie Samedi 21 octobre Votre site interactif sur internet.

Normes techniques 2011

Informatique : Création de site Web Master 2 ANI TP 1

TP2 : Client d une BDD SqlServer

Formulaire pour envoyer un mail

.. CSS. Damien Nouvel. Damien Nouvel (Inalco) CSS 1 / 15

Création de formulaires interactifs

Formation Website Watcher

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Formation Webmaster : Création de site Web Initiation + Approfondissement

Bernard Lecomte. Débuter avec HTML

Quels fondements, services fonctionnalités et limites de l intranet?

Table des matières Avant-propos... V Scripting Windows, pour quoi faire?... 1 Dans quel contexte?

Cours CCNA 1. Exercices

Attaques de type. Brandon Petty

Créer et animer une boutique en ligne avec Wordpress (environnement PC et MAC)

FileMaker Server 12. publication Web personnalisée avec XML

La mémorisation des mots de passe dans les navigateurs web modernes

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Le stockage local de données en HTML5

Pack Fifty+ Normes Techniques 2013

Manuel d utilisation du web mail Zimbra 7.1

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Le serveur web Windows Home Server 2011

Transcription:

Deuxième partie: HTML, Javascript et le DOM (1) 1

HTML Des éléments de «header» destinés à contrôler les paramètres d affichage Un langage de structuration de contenu Un langage de présentation Un langage d interaction 2

HTML: header Header: header http, paramètres d affichage <!DOCTYPE : DTD de contrôle de la validité du code HTML <base></base> : indique l URL référençant le document courant, URL utilisée par les liens relatifs dans la page <link></link> : rattache le document à une ressource externe (feuille de style) <meta> : informations de contexte sur le document Codage des caractères: <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> Auteur: <meta name="author" content="mikael Dautrey"> Mots clés:<meta name="keywords" http-equiv="keywords" content="balise,html,tutoriel,cours"> <script></script>: script lancé au démarrage <style></style>: éléments de style 3

HTML: contenu Un langage de structuration de contenu qui peut être vu comme une grammaire XML Balises Attributs 4

HTML: contenu Balises (hors balises spécifiques à certains navigateurs) Niveaux de titres <title>, <h1>, <h2>, <h3>, <h4>,, <h6> Paragraphes <p>, <address>, <blockquote>, <pre>, <hr> Listes: <ol>, <ul>, <dl>, <dt>, <dd> Liens et ancres: <a> Images: <img> Objets: <applet> Tableaux: <table>, <caption>, <col>, <tr>, <td>, <th> Mise en forme et contenu: <i>, <b>, <blink>, <cite>, <code>, <dfn>, <em>, <kbd>, <pre>, <q>, <s>, <samp>, <small>, <strike>, <strong>, <sub>, <tt>, <u>, <var>, <abbr>, <acronym>, <big>, <font>, <ins>, <del>,<span>, <br> Attributs permettant d identifier les balises class et name 5

HTML: présentation Un langage de présentation Gestion de l apparence et de la présentation visuelle du texte dans les balises Effets de style dans le texte (<i>, <b>, <font>) Attributs des balises Des balises de contenu, des balises de présentation Des attributs de contenu (name) et des attributs de présentation (color) Attributs Attributs des balises permettant de surcharger les propriétés des balises href, bgcolor, width, height background, border, name, title, align, alt, src, vspace, hspace, style 6

HTML: contenu + présentation Balises + attributs = structuration du contenu + présentation HTML = XML + DTD (règles de la grammaire, structuration de contenu) + transformation type XSLT (pour passer du contenu à la présentation) Les balises définissent le contenu Les liens définissent les relations entre les contenus Les attributs définissent la présentation 7

HTML: interaction Un langage d interaction Les liens Le transfert des données par le header http Contexte du navigateur Cookies Get et post Javascript Les formulaires 8

HTML: formulaires Formulaires Des objets de saisie Checkboxes, radio Listes de sélection et ascenseurs Zones de texte, zones de sélection Des contrôles Boutons Attributs des objets de saisie Actions, scripts Un mécanisme de transmission des données Get Post 9

HTML: formulaires Balises des formulaires <form> <fieldset> <input> <option> <legend> <select> <textarea> <button> <submit> 10

HTML et le DOM DOM = Document Object Model Principe du DOM Définir une hiérarchie d objets reprenant la hiérarchie du contenu Depuis le navigateur (racine du DOM) Vers l ensemble des éléments du document Windows Document Paragraphes Formulaires 11

HTML et le DOM Intérêt: Manipuler, avec Javascript, les objets du document Accéder à leur valeur Les modifier Les déplacer Valider les données saisies dans un formulaire Réagir aux actions de l utilisateur sur le document Clic sur un élément Clic sur un lien 12

HTML et le DOM: exemple <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <title>document sans nom</title> </head> <body> <h1>un exemple de page pour <strong>le DOM</strong></h1> <h3>titre 3</h3> <p><em>corps</em> de texte</p> </body> </html> 13

HTML et le DOM: exemple 14

HTML et le DOM: exemple <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <html><head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <title>un autre exemple pour le DOM</title> <style type="text/css"><!--.style1 {font-family: Arial, Helvetica, sans-serif} --></style> </head> <body> <h1 class="style1">un exemple pour le DOM</h1> <ul> <li>document<ul><li>structure du document </li></ul></li> <li>object<ul><li>objet</li></ul></li> <li>model<ul><li>modélisation par objet</li></ul></li> </ul> </body> </html> 15

HTML: caractères spéciaux Codage spécifique pour les caractères hors ANSI Caractères accentués: é è, à Caractères réservés: < > Caractères spéciaux: " & 16

JavaScript Langage de scripting côté client permettant de manipuler les données à travers le DOM et les évènements associés aux objets du DOM Lancé par Netscape sous le nom de LiveScript Renommé ensuite Javascript (quelques similitudes avec Java) Usage Contrôle des données dans les formulaires Contenu dynamique (DHTML) Interactions http (redirection, etc) 17

JavaScript Avantages Interactivité Effets graphiques Réactivité aux actions de l utilisateur Simplification de la gestion du contenu affiché dans la page Inconvénients Problèmes de compatibilité cross-browser => limiter les fonctions utilisées ou prévoir des alternatives Risques de sécurité => bien articuler les contrôles côté client et côté serveur 18

JavaScript Langage de script orienté objet Pour accéder aux éléments d un document, on fait appel aux objets et aux attributs et méthodes de ces objets Exemple: document.write(«coucou»); écrit coucou dans le document La syntaxe est proche de c ou de java Délimitation des instructions par des «;» Commentaires: «//» ou «/* */» Boucles for: «for(i=0;i<3;i++) document.write(i);» Accès aux objets en séparant les différents niveaux des objets par des points «.» Window.location.href = «index.html» La syntaxe est sensible à la casse Voir Exemple1 19

JavaScript Types de variable String Number (float) Boolean Null Undefined String Les caractères spéciaux sont précédés de \ \ \" \\ \udddd : codage d un caractère en hexadécimal (DDDD: 4 digits) Déclaration de variable, mot clé var: var mavariable; Le type d une variable est défini par son instanciation 20

JavaScript Conversion de variables typeof: renvoie le type de la variable parseint: transforme un entier en string parsefloat: transforme un float en string Number: convertit une chaîne de caractère en nombre isnan: renvoie true si la variable n est pas un nombre Opérateurs Opérateurs «classiques»: +, -, *, /, % Concaténation de chaînes: + Opérateurs logiques: ==;!=; <; >; &&; ;!; <=;>= Types «composites» Objets Tableaux Voir Exemple2 21

JavaScript Objets prédéfinis String Date Math Deux types string (comme en Java) L objet String La variable String Différence entre les deux Pour la variable String, initialisation d une chaîne de caractères: var s = "abc "; Pour l objet string, création de l objet: var so = new String("abc "); Date: objet dédié à la manipulation des dates Math: Objet statique regroupant les méthodes de calcul mathématique Voir Exemple3 22

JavaScript Les tableaux Déclaration: var MonTableau = new Array(); Initialisation 1 MonTableau[0] = Alpha ; MonTableau[1] = Bêta; MonTableau[2] = Gamma; MonTableau[3] = Delta ; Initialisation 2 var MonTableau = new Array( Alpha, Beta, Gamma, Delta ); Pour couper en deux: var mt2 = MonTableau.slice(0,1); Pour joindre des tableaux (t0, t1 et t2 dans t3): var t3 = t0.concat(t1,t2); Pour trier un tableau var t4 = t3.sort(); Voir Exemple4 23

JavaScript Boucles et instructions conditionnelles Comme en c ou en Java for(i=1;i<n;i++){ } if( ){ }elseif( ){ }else{ } while( ){ } do{ }while( ) Fonctions Définition: function MaFonction(v1,v2,v3){ return Result;} Portée des variables: variables dans la fonction = variables locales Nombre de paramètres: on peut passer moins de paramètres que prévu => les autres paramètres sont valorisés à null Voir Exemple5 24

JavaScript Boîtes de dialogue alert : message d'alerte (un seul bouton = OK) alert("vous avez quinze secondes pour valider cette boite") prompt: entrée d'une variable par l'utilisateur var j = prompt("donner un entier entre 0 et 20", 0); confirm : choix oui/non if(confirm("souhaitez-vous quitter cette page?")){ } Les boîtes de dialogues sont bloquantes et interdisent la poursuite de l'exécution du code Pour plus d'exemples: Exemple6 25

JavaScript Regrouper le code dans des modules externes Le code peut être regroupé dans un module externe Avantages: téléchargement, gestion simplifiée, mutualisation de bibliothèques de fonctions entre pages Syntaxe : <script language="javascript" src="include7.js"></script> Fonctionnement: comme si le code se trouvait dans la page à l'endroit où est fait appel au module externe Exemple7 26

JavaScript Créer des classes Pas de déclaration de classes, seulement des définitions Définition du constructeur => définit la méthode de construction et les propriétés de la classe Définition des méthodes de la classe => précise la liste des méthodes, les prototypes et les actions exécutées par ces méthodes Appel à la classe Instanciation: utilisation du mot clé new sur le constructeur Appel de méthode ou valeur des propriétés Nom de l'objet +. + nom de la méthode ou de propriété de la classe Les méthodes et propriétés sont publiques 27

Troisième partie: PHP, fonctions avancées 28

PHP: fonctions avancées La librairie standard (une partie) 29

PHP: fonctions avancées En plus dans la librairie standard Fonctions type «unix» Sémaphores Queueing Mémoires partagées Hors standard (librairies «propriétaires») XML, DOM, Expat PDFLib Smarty et templates Zipper, compression imap, protocoles spécifiques PEAR DB ou PHPLIB(surcouche sql indépendant du type de base) 30

PHP: présentation de la librairie standard MIME Mikael DAUTREY / mikael.dautrey@isitix.com Détection et identification de contenu MIME dans un fichier Exemple d application: traitement de pièces jointes de mail entrant Math fonctions mathématiques Trigo Exponentielles Random, partie entière, valeur absolue ZEND API Permet d écrire des extensions de PHP Tableaux Gestion des tableaux cf début du cours 31

PHP: présentation de la librairie standard Mikael DAUTREY / mikael.dautrey@isitix.com Mail + imap mail Envoyer des mails (client smtp) Gérer des boîtes aux lettres (client pop imap) Se connecter à un serveur Imap ou Pop3 Exemple d application: développer un webmail FTP Upload/download de fichiers par ftp (client ftp) Exemple d application: créer un client web ftp Exécuter des commandes externes Lancer une commande externe depuis php Exemple d application: administrer un OS à distance 32

PHP: présentation de la librairie standard Oracle Client base oracle Exécuter des requêtes SQL Administrer une base de données Mikael DAUTREY / mikael.dautrey@isitix.com Exemple d application: applications faisant appel à une base de données Forum Strings Boutique en ligne Actions sur les chaînes de caractères Concaténation Split Changement de casse Conversions de formats Exemple d application: parse de texte à insérer en BDD 33

PHP: présentation de la librairie standard Mikael DAUTREY / mikael.dautrey@isitix.com Options et informations PHP Lister les options PHP Tester la configuration du serveur Exemples d application: développer du code portable entre les différentes versions de PHP Accès aux dossiers Se positionner sur un répertoire Changer de répertoire Connaître le répertoire courant Créer un répertoire 34

PHP: présentation de la librairie standard Mikael DAUTREY / mikael.dautrey@isitix.com MySQL Client mysql Administrer une base mysql Envoyer des requêtes sur une base mysql Traiter les réponses aux requêtes MySQL Accès au système de fichiers Fichiers Création Suppression Information Lecture / écriture Fichiers temporaires 35

PHP: présentation de la librairie standard Mikael DAUTREY / mikael.dautrey@isitix.com Réseau Accès aux couches basses du réseau (TCP, IP et UDP) Accès aux services DNS, résolution d adresse Exemple d applications: vérifier le domaine lors de la saisie d une adresse mail par l utilisateur HTTP Spécification du header http envoyé Redirection Caching Gestion des cookies Exemples d application: gestion de skins avec des cookies, redirection d un site web vers un autre site 36

PHP: présentation de la librairie standard Mikael DAUTREY / mikael.dautrey@isitix.com Streams Généralisation du système de fichier Un stream est un pointeur vers une ressource pouvant être en lecture, en écriture ou les deux Accès à des données, fichiers, document http, document compressé, imprimante, pdf Exemple d application! Créer un explorateur de fichiers généralisé supportant tant les fichiers locaux que des fichiers distants accessibles par http Expressions régulières Manipulation de chaînes de caractères avec des expressions régulières Exemples d application: search and replace dans un fichier texte 37

PHP: présentation de la librairie standard Mikael DAUTREY / mikael.dautrey@isitix.com Gestion des erreurs Configuration du fichier php.ini Définition des handlers d erreurs Exemple d application: mise en place d une méthode homogène de gestion des erreurs sur une application Sessions Outil de gestion des sessions Ouverture d une session Gestion des variables de session Exemple d applications: authentification sur un site web 38

PHP: présentation de la librairie standard Mikael DAUTREY / mikael.dautrey@isitix.com Date et heure Gestion de la date et de l heure Formats Intervalle entre deux dates, entre deux heures Ajout, suppression de jours, heures, minutes, secondes Obtention de la date système Variables Déjà vu dans le cours Analyseur de code Outil de parsage de code PHP Exemple d application: afficher la structure d un programme PHP dans une page HTML 39