JavaScript NÉCESSAIRE WEB XAVIER BLANC UNIVERSITÉ DE BORDEAUX

Documents pareils
Document Object Model (DOM)

Accéder à ZeCoffre via FTP

Le Registre sous Windows 8 architecture, administration, script, réparation...

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

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

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

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

Programmation Web. Madalina Croitoru IUT Montpellier

Ajax, RIA et HTML Prise en charge d Ajax

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

Un jour, une question Réponse à une problématique issue de la liste GTA *

Configuration de Microsoft Internet Explorer pour l'installation des fichiers.cab AppliDis

Créer un site Web : mode d emploi Sous SPIP, avec le squelette «établissement» de l académie de Versailles

INCORPORER EXCEL EN LIGNE DANS UN FICHIER CRÉÉ AVEC L ÉDITEUR DE TEXTE 15 avril 2015

Tél. : (241) / Fax : (241) eqc@bgfi.com.

GUIDE DE PAIEMENT. Pour Bien Effectuer votre Paiement, veuillez suivre les instructions suivantes :

Configuration de WebDev déploiement Version 7

Fiche n 1 : Téléverser une ressource dans la plateforme

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

Guide d implémentation. Réussir l intégration de Systempay

Configuration du moteur de recherche de SharePoint Foundation 2013

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

ASP.NET MVC 4 Développement d'applications Web en C# - Concepts et bonnes pratiques

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Jean-Pierre VINCENT Consultant indépendant

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

Déclarer un serveur MySQL dans l annuaire LDAP. Associer un utilisateur DiaClientSQL à son compte Windows (SSO)

Atelier Le gestionnaire de fichier

Architectures web/bases de données

KAJOUT WASSIM INTERNET INFORMATION SERVICES (IIS) 01/03/2013. Compte-rendu sur ISS KAJOUT Wassim

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

AngularJS pour une application d'entreprise

RTE Technologies. RTE Geoloc. Configuration avec Proxy ou Firewall

MANUEL D INSTALLATION DE WATCHDOC 2011 (EVALUATION)

HTTP Commander. Table des matières. 1-Présentation de HTTP Commander

Description des pratiques à adopter pour la mise à jour du layout en utilisant le gestionnaire de conception de Sharepoint 2013

PROJET DE PORTAIL INTRANET YNNA

AnaXagora LMS v3.0. Guide d utilisation

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Livret 1 Poste de travail de l utilisateur :

DOM - Document Object Model

Manuel d installation de Business Objects Web Intelligence Rich Client.

Comment utiliser le catalogue?

Administration du site

ENVOI SIMPLE (SMS)...

Guide Utilisateur ArkadinAnywhere

Formation Website Watcher

Cloud public d Ikoula Documentation de prise en main 2.0

The Mozilla Art Of War. David Teller. 20 septembre Laboratoire d Informatique Fondamentale d Orléans. La sécurité des extensions.

Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION

DETERMINER LA LARGEUR DE PAGE D'UN SITE et LES RESOLUTIONS d'ecran

26 Centre de Sécurité et de

Compte Rendu d intégration d application

Catalogue Formations Jalios

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

Déclarer un serveur MySQL dans l annuaire LDAP. Associer un utilisateur DiaClientSQL à son compte Windows (SSO)

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

Publication dans le Back Office

E-TRANSACTIONS. Guide du programmeur API Plug-in. Version 1.1

Mise à jour : Octobre 2011

WIMS. Découvrir et utiliser

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

Le serveur web Windows Home Server 2011

Utilisation du logiciel ModellingSpace

Web & Libre. Outils pour être présent sur le net librement

Service de certificat

Créer une connexion entre Sage CRM et Sage Etendue pour émettre directement des devis et commandes

dmp.gouv.fr Pour en savoir plus DMP Info Service : 24h/24 7j/7

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents.

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

Avenir Concept Monaco

Vulgarisation Java EE Java EE, c est quoi?

Editer un script de configuration automatique du proxy

Système clients serveur Kwartz Vulgarisation, identification, dossier personnel

Gestionnaire des services Internet (IIS)

VTX FTP. Transfert de fichiers business par FTP - Manuel de l'utilisateur. Informations complémentaires : info@vtx.

Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10

1 - Introduction : Déroulement du déploiement avec WDS / MDT :

Plateforme AnaXagora. Guide d utilisation

Guide d utilisation. Version 1.1

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Formation. Module WEB 4.1. Support de cours

CREG : versailles.fr/spip.php?article803

Surveiller et contrôler vos applications à travers le Web

Créer et partager des fichiers

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

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

FileMaker Server 14. Guide de démarrage

Comment accéder à d Internet Explorer

KompoZer. Composition du site : _ une page d'accueil : index.html. _ une page pour la théorie : theorie.html. _ une page pour les photos : photos.

Les 18 icônes du poste de pilotage (Salle Tecnilab)

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)

PARAMETRER INTERNET EXPLORER 9

De EnvOLE 1.5 à EnvOLE 2. Document pour l administrateur

LES ACHATS SUR LE WEB (Version 3)

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

OFFRE MDB Service & Architecture Technique. MyDataBall Saas (Software as a Service) MyDataBall On Premise

Guide de connexion Wi-Fi sur un hotspot ADP Télécom

Transcription:

JavaScript NÉCESSAIRE WEB XAVIER BLANC UNIVERSITÉ DE BORDEAUX

Script JavaScript est un langage de script Un script est une séquence d instructions qui seront interprétées les unes après les autres Les instructions permettent de Interagir : savoir qu un bouton a été cliqué, qu une donnée est mise à jours Afficher : manipuler le DOM pour rendre visible des nouvelles parties Communiquer : envoyer ou recevoir des requêtes (http ou base de données)

Interpreteur Machine Virtuelle Les scripts sont interprétés par une machine virtuelle Dans le navigateur web (Front) ou sur le serveur (Back)

Interpreteur Mémoire L interpreteur dispose d une mémoire globale (Objet global) Cette mémoire possède les éléments définis par les scripts (variables, objets, fonctions, etc.) Si l interpreteur charge deux scripts, ces scripts partagent le même objet global et donc les mêmes variables, objets et fonctions!

Variables et Types Toutes les variables sont typées dynamiquement dans JavaScript Les types de bases sont: Chaîne de caractères, nombre, booléen Les types complexes sont: Objet, Tableau, Fonction, Toute variable peut être interprétée comme un boolean If (!0) typeof permet de connaître le type d une variable

Objet En JavaScript tout est objet ( mais objet JavaScript) Un objet est un ensemble de propriétés (nom, valeur) Il est possible de modifier les propriétés d un objet à n importe quel moment dans un script

Objet et espace de nom Les objets sont souvent utilisés comme espace de nom pour organiser la mémoire app $

Fonction Une fonction est un objet JavaScript Une fonction a un nom, des paramètres (typage dynamique) et du code Une fonction peut être définie: (global) dans un script, (inner) dans une fonction ou (méthode) dans une propriété d un objet Une fonction peut définir des variables propres (mot clé var!) Une fonction retourne toujours quelque chose (undefined si non spécifié) Les fonctions (global, inner, ou méthode) ont une propriété this qui dépend de la façon dont l appel sera effectué

Inner Fonction et Closure Une inner fonction a toujours accès aux variables propres et aux paramètres de la outer fonction qui l a définie (closure) Cet accès reste valable quand la inner fonction sera appelée. Même si la outer fonction s est terminée. Cela permet de masquer des variables qui ne seront accessibles que par la inner fonction

Fonction Une fonction globale Une Inner Function dispose d une closure Une function dans un objet appelée une méthode

Fonction et appel de fonction Une fonction peut être appelée n importe où dans le scope où elle a été définie (avant ou après sa définition) Si l interpreteur appelle la fonction, il s arrête momentanément pour exécuter le code de la fonction, puis une fois la fonction terminée il reprend là où il en était

Appel de fonction et this Lors d un appel d une global fonction ou d une inner fonction, this est toujours lié à la mémoire globale Pour appeler une méthode, il faut passer par l objet, this est alors lié à l objet

Fonction et apply Une fonction est un objet Qui a une méthode nommée apply Cette méthode permet d appeler la fonction en passant comme paramètre this et les paramètres de la fonction dans un tableau!

Fonction et new Une fonction peut être appelée avec new (on dit qu on exécute le constructeur) Dans ce cas, (1) un nouvel objet est créé, et (2) la fonction est appelée avec cet objet lié à this L objet créé à un lien vers la fonction qui l a créé (son constructeur) Cela permet de définir des objets similaires (!=classe)

Prototype (!= héritage) Tout objet est lié a un prototype (qui est un objet) Si un objet n a pas une propriété, il demande à son prototype, etc. Si on met à jours une propriété définie dans un prototype, on l ajoute à l objet o.v; //[[proto]] op.v o.v++; //ajout [[Prototype]] o.v; //o.v v v o op

Chaines de prototypes o={} le prototype de o est Object.prototype t=[] le prototype de t est Array.prototype qui a Object.prototype comme prototype function f(){} le prototype de f est Function.prototype qui a Object.prototype comme prototype o= new f(); le prototype de o est f.prototype quand f est exécuté o2=object.create(o); le prototype de o2 est o

Fonction, méthode et objet => OO Fonction pour définir une fabrique (constructeur) Exploitation des variables pour les propriétés private Utilisation du prototype pour les champs statique

Fonction Paramètre Un paramètre d une fonction peut être une fonction! La fonction passée en paramètre peut être appelée dans la fonction principale (quel mode d appel?) Il est possible de définir la fonction au moment de l appel main(function() { })

Fonction Paramètre et CallBack Imaginons, la fonction traitement dans une lib qui manipule une donnée data Une partie des traitements est réalisée par une fonction f passée en paramètre. Si f est asynchrone, il faut lui passer une autre fonction en paramètre (la CallBack) qui est définie par traitement et qui sera appelée par f quand sont traitement sera terminé Par convention, la CallBack a 2 paramètres err (si erreur) et res (pour le résultat) Souvent on définie f de façon anonyme lors de l appel

Array Les tableau sont supportés nativement par Javascript Un tableau est un objet qui stocke plusieurs valeurs à des indexes (qui commence par 0) Un tableau a une propriété length (nb de cases prévues) Les tableaux sont souvent utilisés pour passer des ensembles de paramètres à des fonctions

DOM une API JavaScript Tout navigateur permet une manipulation du DOM en JavaScript window variable globale qui représente la fenêtre (page, iframe) location onload document variable globale racine du DOM getelementbyid() getelementsbytagname() createelement() element tout nœud du DOM est un élément innerhtml onclick

Exemple JavaScript dans HTML