Table des matières. JavaScript. Exemple : Google. Ajax. client navigateur AJAX JSON DOM. 1ère partie. page non rechargée!

Documents pareils
Programmation Web. Madalina Croitoru IUT Montpellier

DOM - Document Object Model

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

Présentation du Framework BootstrapTwitter

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech

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

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

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

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

HTML. Notions générales

25 mars. Tutoriel sur Laravel. Préparé par : Lydiane Beaulne-Bélisle. Ceci est un tutorial qui montre comment débuter avec le Framework PHP Laravel.

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

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

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Le stockage local de données en HTML5

Les outils de création de sites web

CATALOGUE DES OFFRES O2i INGÉNIERIE POUR LES PLATEFORMES ÉDITORIALES

SYSTÈMES D INFORMATIONS

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

TP JAVASCRIPT OMI4 TP5 SRC

Programmation Web. Introduction

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

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

Des solutions sur mesure à partir de modules fonctionnels & CRM associés à un studio de customisation.

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

HTML, CSS, JS et CGI. Elanore Elessar Dimar

Document Object Model (DOM)

Stockage du fichier dans une table mysql:

Ajax, RIA et HTML Prise en charge d Ajax

Performance web. Mesurer. Analyser. Optimiser. Benjamin Lampérier - Benoît Goyheneche. RMLL Beauvais. 8 Juillet 2015

Guide d installation BiBOARD

Comment configurer votre navigateur pour Belfius Direct Net (Business)?

Attaques de type. Brandon Petty

Programmation Internet Cours 4

<Insert Picture Here>ApExposé. Cédric MYLLE 05 Février Exposé Système et Réseaux : ApEx, Application Express d Oracle

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

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

Manuel logiciel client Java

Manuel d utilisation du web mail Zimbra 7.1

BES WEBDEVELOPER ACTIVITÉ RÔLE

LICENCE PROFESSIONNELLE

Développement des Systèmes d Information

Créer son site web. Avec la distribution e-change Benoît Mamet Cédric Morin

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

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

Bureautique Initiation Excel-Powerpoint

FTP : File TRansfer Protocol => permets d envoyer des gros fichiers sur un serveur (ou de télécharger depuis le serveur)

laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007

Petite définition : Présentation :

HTML5 et CSS3 pour des sites Responsive Web Design

Remote Cookies Stealing SIWAR JENHANI (RT4) SOUHIR FARES (RT4)

molis result portal Description fonctionnelle La structure système Configuration système requise Architecture du système

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

Le partenaire tic de référence. Gestion des ressources humaines INOVA RH

Guide de migration BiBOARD V10 -> v11

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

Formation : WEbMaster

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Service d Audio et Visioconférence

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

Pratique et administration des systèmes

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet

Paul FLYE SAINTE MARIE

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

Informations générales. Technologies. css3-html5-php-ajax-j-query-mootools-action-script3

DU Endoscopie. Guide d utilisation. chirurgicale. Diplôme Universitaire d Endoscopie Chirurgicale

Formation en Logiciels Libres. Fiche d inscription

RESUME DE CARRIERE. Alice JULIENNE. 23 ans Nationalité Française Développeur Web Front-End. Compétences

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

INTRODUCTION AU CMS MODX

TUTORIAL ULTRAVNC (EDITION 2)

Veille technologique

4D Web 2.0 Pack DATA LIVES HERE. TM. Internet Riche et Solutions Mobiles en toute simplicité. 4D Ajax Framework 4D Ajax for Dreamweaver 4D for Flex

Syfadis. > Configuration du poste client. Nous vous aidons à réussir. REFERENCE : Syfadis LMS - 12/09/2008. AUTEUR : Equipe technique Syfadis

S y m M a i l i n g. S o l u t i o n d e - m a i l i n g. SymMailing est un outil professionnel de création et de gestion de campagnes d ing.

CONTACT EXPRESS 2011 ASPIRATEUR D S

Les logiciels indispensables à installer sur votre ordinateur

Module BD et sites WEB

Construire un réseau social avec Symfony Xavier Lacot Clever Age. Symfony Live 11 et 12 juin 2009 Clever Age Xavier Lacot

Plate-forme de tests des fichiers XML virements SEPA et prélèvements SEPA. Guide d'utilisation

AutoCalculator Easy. Vous pouvez ouvrir le Calculator depuis votre bureau ou depuis le menu Démarrer de Windows. 1.

LES ACCES DISTANTS ET SECURISES. Installation et utilisation du client. Cisco AnyConnect VPN Client. pour Windows

Sommaire : = Configurations Obligatoire o = Configurations Facultative

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

Code Produit Nom Produit Dernière mise à jour. AM003 Alias Mobile On Demand Licence 1 mois 27/04/2015

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

Application Web et J2EE

SITE INTERNET BLOG SITE E-COMMERCE GRILLE D ANALYSE / AUDIT PREMIERE ANALYSE. Entreprises. o Public spécialisé o Etudiants o Enfants

I. Descriptif de l offre. L offre Sage 100 Entreprise Edition Entreprise

Catalogue Formations Jalios

Vulnérabilités et sécurisation des applications Web

Portabilité sur système Android d un système de borne d information

Qlik Sense Desktop. Qlik Sense Copyright QlikTech International AB. Tous droits réservés.

Poste virtuel. Installation du client CITRIX RECEIVER

d authentification SSO et Shibboleth

Guide Utilisateur Enregistrement d'un compte en ligne

Paramétrage des navigateurs

CHECKLIST : OUVERTURE DES OFFRES

Transcription:

JavaScript Table des matières MC - Programmation Web riche AJAX ème année - S, cours - /5-5 Marcel Bosc Département informatique IUT de Villetaneuse Université Paris- ère partie Exemple : Google page non rechargée! Ajax suggestions internet google.fr «javas» «javascript» «javascript array» BDD «javascript subs...»

Exemple : commentaires page non rechargée! Exemple : commentaires page non rechargée! affichage / tri commentaires j'aime internet j'aime com. n youtube.com internet com. triés youtube.com ok. BDD <div>...</div> BDD Ajax Exemple.get() Asynchronous JavaScript and XML JavaScript Asynchrone Requête non bloquante à partir du JavaScript, au serveur, sans recharger la page. $.get("http://exemple.org/commentaire", id: 5, appelée à la réception de la réponse du serveur // afficher com.

Chronologie / serveur Exemple : suggestion affichage page https://google.fr <html>...</html> google.fr générer page web 5 «javas» tapé 9 mise à jour affichage sans recharger «javas» liste suggestions chercher «javas» BDD <div> <input id="recherche" type="text" /> <button>chercher</button> </div> <ul id="suggestions"> <li></li> </ul> div ul id="suggestions" internet input id="recherche" button li li li Suggestion : JS Suggestion : GET $_GET['mot'] http://exemple.org/suggestion.php?mot=a JS 5 9 $('#recherche').keyup(function(e) $.get('http://exemple.org/suggestion.php', mot: $('#recherche').val(), $('#suggestions').html(reponse); $('#suggestions').show(); JS serveur <li>abricot</li> <li>arbre </li> 5 <li>amis </li> 9 $('#recherche').keyup(function(e) $.get('http://exemple.org/suggestion.php', mot: $('#recherche').val(), $('#suggestions').html(reponse); $('#suggestions').show();

JS 5 9 9 Suggestion : chronologie JS attente keyup! A serveur attente réponse reçue! serveur $('#recherche').keyup(function(e) A $.get('http://exemple.org/suggestion.php', mot: $('#recherche').val(), B $('#suggestions').html(reponse); $('#suggestions').show(); Méthode GET B 5 Suggestion : PHP http://exemple.org/suggestion.php?mot=a $mot=$_get['mot']; $sql="select mot FROM mots WHERE mot LIKE '?%'"; $suggestions=database_list($sql,$mot); $resultat=''; BDD foreach($suggestions as $suggestion) $resultat.='<li>'.htmlentities($suggestion).'</li>'; echo $resultat; <li>abricot</li> <li>arbre </li> <li>amis </li> Méthode POST GET: peut-être répétée sans conséquences (ne modifie pas l'état sur le serveur) POST: répétition potentiellement gênante ( change l'état du serveur ) "Lire infos sur le serveur" http://exemple.org/recherche.php?mot=jeudi "Écrire des infos sur le serveur" http://exemple.org/payer.php Entêtes http Exemples: modifier l'affichage faire une recherche Contre-exemples: payer en ligne ajouter un commentaire sur un forum Contre-exemples: modifier l'affichage faire une recherche Exemples: payer en ligne ajouter un commentaire sur un forum

Exemple :.post() ème partie JS 5 9 $('.jaime').click(function(e) $.post('http://exemple.org/jaime.php', nbcom: $(this).parent().attr('id'),... HTML / Données texte <li>jean </li> <li>akima </li> <li>driss </li> exemple.org JavaScript Object Notation Format de fichier texte, utilisant la syntaxe JavaScript pour représenter des données (objets, tableaux...) texte nom: "Saidi", prenom: "Driss", id:, age: 5 exemple.org très utilisé! beaucoup de langages PHP

Objet simple nom: "Saidi", prenom: "Driss", id:, age: 5 Tableau simple [ ] JS "Fraise", "Chocolat", "vanille" : exemples Objet complexe nom: "Collège Grange du Bois" ville: nom: "Savigny-le-Temple", "nom-court": "Savigny", code :, adresse: " av. Victor..." Tableau d'objets [ nom: "Wang", id :, nom: "Amara", id : 5 ] JS : réponse user.php $.get('http://exemple.org/user.php', id:, console.log(reponse.nom); console.log(reponse.age); exemple.org $id=$_get['id']; $u=db('select * FROM user WHERE id=?',$id); echo json_encode($u); nom: "Saidi", prenom: "Driss", id:, age: 5 PHP PHP: json_encode() $user=[ 'nom' =>'Saidi', 'prenom'=>'driss', 'id' =>, ]; $user['age']=5; header('content-type: application/json'); echo json_encode($user); nom: "Saidi", prenom: "Driss", id:, age: 5 Pages web + JS P Application JS P Application vs page + JS A P P P A A A A A A A A A A A A A Navigateur Serveur Navigateur Serveur

Application JS ème partie Frameworks vs Navigateurs Chrome % Simplicité Comptabilité s Performance chargement Performance exécution Internet Explorer v.,... v. % Propriétés Node Mozilla Firefox % Cookies Env. particuliers safari 5% Mobile 5% Statistiques: / http://en.wikipedia.org/wiki/usage_share_of_web_browsers

caniuse.com Compatibilité Principaux objets window document Un titre un paragraphe HTMLElement MDN : developer.mozilla.org Window & Document document.getelementbyid() window window.document window.location window.alert() window.console()... document html head d = un élément var d=document.getelementbyid('photo'); j=«liste» d'un seul élément var j=$('#photo'); document document. document.getelementbyid() document.createelement() document.cookie... title h p p <> <h>ceci est un titre</h> <p id="p">un paragraphe</p> <p>e paragraphe <img id="photo" src="ex.png"... </p> </> h p id="p" p img id="photo"

document.createelement() node.appendchild() var d=document.createelement('p'); pas encore dans arbre! var d=document.createelement('p'); document..appendchild(d); var j=$('<p></p>'); pas encore dans arbre! var j=$('<p></p>'); $('').append(j); h p id="p" p img id="photo" & p h p p p id="p" img id="photo" Node / HTMLElement j=«liste» d'un seul élément var j=$('#photo'); Document d = un élément var d=document.getelementbyid('photo'); Node CharacterData Element Comment HTMLElement HTMLHeadElement HTMLBodyElement HTMLParagraphElement $(d) $('#photo')[]... Simplifié

<> <h>ceci est un titre</h> <p> Un paragraphe de texte avec un <a href="page.html">lien</a> vers une autre page. Les mots suivants <strong>sont importants</strong> </p> </> h p Ceci est un titre Un para... avec un a lien vers une... suivants element.classname strong sont importants Node & HTMLElement «Propriétés» Arbre element.classname element.parentnode element.innerhtml element.children element.textcontent element.childnodes element.nodename element.insertbefore() element.nodetype element.removechild() element.style element.addeventlistener() Chercher éléments element.getelementsbyclassname() element.getelementsbytagname() element.queryselector() element.queryselectorall() node.parentnode d.classname "intro important" d.classname="conclusion secondaire" var d=document.getelementbyid('photo').parentnode; j.attr('class') j.hasclass("intro") var j=$('#photo').parent(); j.addclass("xyz") j.removeclass("intro") <p class="intro important">un paragraphe</p> h p id="p" p img id="photo"

node.children element.addeventlistener() var liste=document..children; for(var i=;i<liste.length;i++) //... liste[i]... var d=document.getelementbyid('photo'); d.addeventlistener('click',function()... var liste=$('').children(); liste.each(function() //... this... $('#photo').click(function()... children / childnodes h p p h p id="p" p img id="photo" click Ce document est distribué librement. Sous licence GNU FDL : http://www.gnu.org/copyleft/fdl.html Les originaux sont disponibles au format LibreOffice http://www-info.iutv.univ-paris.fr/~bosc