Programmation Web Avancée JQuery



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

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

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

Programmation Web. Madalina Croitoru IUT Montpellier

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

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

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

TP JAVASCRIPT OMI4 TP5 SRC

Ajax, RIA et HTML Prise en charge d Ajax

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

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

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

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

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

SYSTÈMES D INFORMATIONS

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

DOM - Document Object Model

BES WEBDEVELOPER ACTIVITÉ RÔLE

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

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

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

Webmaster / Webdesigner / Wordpress

HTML. Notions générales

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

Optimiser pour les appareils mobiles

Programmation Internet Cours 4

Nouveautés joomla 3 1/14

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

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

Bonnes pratiques de développement JavaScript

Intégrateur Web HTML5 CSS3

Gestion des utilisateurs dans un environnement hétérogène

Mozilla Firefox 3.5. Google Chrome 3.0 LES NAVIGATEURS WEB. (pour Windows) Opéra 10. Internet Explorer 8. Safari 4.0

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

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

Petite définition : Présentation :

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

Guide de réalisation d une campagne marketing

Bureautique Initiation Excel-Powerpoint

2 LES BASES DU HTML 19 Qu est-ce que le HTML? 20 De quand date le HTML? 20 Écrire son propre code HTML 22

Manuel du composant CKForms Version 1.3.2

Présentation du Framework BootstrapTwitter

Démonstration de la mise en cache via HTML 5 sur iphone

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

Point sur les solutions de développement d apps pour les périphériques mobiles

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

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

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

En date du 11 décembre 2008

Programmation Web Avancée Introduction aux services Web

Formation : WEbMaster

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

Document Object Model (DOM)

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

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

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

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

Le stockage local de données en HTML5

INTRODUCTION AU CMS MODX

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

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

SP1 : Intégration d'une vidéo dans une mardi 21/01/2014. page web, fonction du format vidéo et 3 mercredi 22/01/2014

Les outils de création de sites web

Introduction aux concepts d ez Publish

Projet en nouvelles technologies de l information et de la communication

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

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

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

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

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

de logiciels Web 2.0, SaaS Logiciels collaboratifs Portails pour entreprises Développement iphone, Android WebApp HTML5 Mobile marketing

SITE I NTERNET. Conception d un site Web

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

HTML, CSS, JS et CGI. Elanore Elessar Dimar

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Survol des nouveautés

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)

Paul FLYE SAINTE MARIE

Joomla! Création et administration d'un site web - Version numérique

Jean-Pierre VINCENT Consultant indépendant

Ociensa Technologies.

Programmation Web. Introduction

Armand PY-PATINEC 2010

RÉALISATION D UN SITE DE RENCONTRE

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

Création d'un site Internet dynamique avec HTML-CSS ou un CMS Formation à distance sur le réseau Pyramide

TUTORIEL Pearltrees 26/02/2015

FICHE TECHNIQUE. Secondaire et postsecondaire

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

PHP 4 PARTIE : BASE DE DONNEES

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition

Formation Découverte du Web

PHP 5.4 Développez un site web dynamique et interactif

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

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

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

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

CMS Made Simple Version 1.4 Jamaica. Tutoriel utilisateur Récapitulatif Administration

Transcription:

1/27 Programmation Web Avancée JQuery Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017 Bobigny cedex Tél. : 33 1.48.38.73.07, Fax. : 33 1.48.38.73.55 thierry.hamon@univ-paris13.fr http://http://www-limbio.smbh.univ-paris13.fr/membres/hamon/

2/27 Introduction Bibliothèque Javascript Développée par John Resig http://jquery.com/ Utilisation plus facile des fonctionnalités Javascript Encapsulation de code Javascript pour en écrire moins Compatible avec la plupart des navigateurs Exemple : JQuery gère les particularités de chaque navigateur Possibilité d extensions à l aide de plugins

3/27 Exemples de sites Web Google Code (http://code.google.com/intl/fr/) Amazon (http://www.amazon.com/) IBM (http://www.ibm.com/us/en/) Dell (http://www.dell.com/ Microsoft (http://www.microsoft.com/en-us/default.aspx) NBC (http://www.nbc.com/) EDF (www.edf.fr) Ministère de la Recherche (http://www.recherche.gouv.fr/)...

4/27 Introduction Objectifs : S abtraire des spécificités des navigateurs Eviter les manipulations rébarbatives et répétitives en Javascript Simplifier l écriture du code et de certaines fonctionnalités (gestion des menus, AJAX, animations, etc.) // D é f i l e m e n t v e r t i c a l d un d i v $ (. c o n t e n t ). s l i d e U p ( ) ; $ (. c o n t e n t ). slidedown ( ) ; Contrainte : Javascript doit être activé

5/27 Utilisation Inclusion de la librairie : Développement : http://code.jquery.com/jquery-1.6.4.js Production (version miniale) : http://code.jquery.com/jquery-1.6.4.min.js <s c r i p t type= t e x t / j a v a s c r i p t s r c= h t t p : / / code. j q u e r y. com/ j q u e r y 1. 6. 4. j s > </s c r i p t > <s c r i p t type= t e x t / j a v a s c r i p t > // Code JQuery </s c r i p t > <s c r i p t type= t e x t / j a v a s c r i p t s r c=. / j s / j q u e r y 1. 6. 4. j s ></s c r i p t > <s c r i p t type= t e x t / j a v a s c r i p t > // Code JQuery </s c r i p t >

6/27 Principe de fonctionnement Définition d une fonction : jquery() ou $() (raccourci) Remarques : Accepte des paramètres (en général, un sémecteur) Retourne un objet JQuery Est exécutée au cours du chargement de l arbre DOM de la page Sinon, il faut utiliser window.onload Utilisation de sélecteurs CSS et JQuery pour accéder et manipuler les éléments de l arbre

7/27 Sélecteurs CSS Similaires aux éléments d une feuille de style, ou XPath Exemples : #menuid, h2,.onglet, *, etc. Syntaxe complète : http://docs.jquery.com/dom/ Traversing/Selectors#CSS_Selectors Exemple : $ ( body )

8/27 Sélecteurs JQuery Sélecteurs supplémentaires n existant pas en CSS ou XPath (ou raccourcis) Exemples : :visible, :first, etc Syntaxe complète : http://docs.jquery.com/dom/ Traversing/Selectors#Custom_Selectors Exemple : $ ( img : v i s i b l e ) NB : la documentation est assez variable à ce sujet

9/27 Méthodes Chaque méthode renvoie l objet courant Accès/modification au contenu d un objet : html() Exemple : $ ( body ). html ( h e l l o w o r l d ) ; Forcer l utilisation de la fontion jquery() (à la placede $() : noconflict() ou $. n o C o n f l i c t ( ) j q u e r y. n o C o n f l i c t ( )

10/27 Exemple complet <html> <head> <t i t l e >Exemple1</ t i t l e > <s c r i p t type= t e x t / j a v a s c r i p t s r c= h t t p : / / code. j q u e r y. com/ j q u e r y 1. 6. 4. j s > </s c r i p t > </head> <body> H e l l o World <s c r i p t type= t e x t / j a v a s c r i p t > $ ( body ). html ( b o n j o u r t o u t l e monde ) ; </s c r i p t > </body> </html>

11/27 Méthodes Boucle : each(fonction) Élément courant dans la boucle : this Accès aux éléments précédents ou suivants : before(), after(), Effets : sildedown, slideup, etc. Liste des méthodes : http://visualjquery.com/ Possibilité d enchaîner les méthodes : $ ( #item1 ). a f t e r ( a j o u t a p r è s ). b e f o r e ( a j o u t avant ) ;

12/27 Exécution du JQuery après chargement de l arbre DOM Par défaut, exécution du JQuery lors du chargement Problème : tous les éléments de la page ne sont pas accessibles dans l arbre DOM (même à la fin de body) Solution : Utilisation de l évènement onload (window.onload) Utilisation de la syntaxe spécifique Jquery

13/27 Exemple Utilisation de onload <html> <head> <t i t l e >Exemple1</ t i t l e > <s c r i p t type= t e x t / j a v a s c r i p t s r c= h t t p : / / code. j q u e r y. com/ j q u e r y 1. 6. 4. j s > </s c r i p t > <s c r i p t type= t e x t / j a v a s c r i p t > window. onload = function ( ) { $ ( body ). html ( b o n j o u r t o u t l e monde ) ; } </s c r i p t > </head> <body> H e l l o World </body> </html>

14/27 Exemple Syntaxe Jquery <html> <head> <t i t l e >Exemple1</ t i t l e > <s c r i p t type= t e x t / j a v a s c r i p t s r c= h t t p : / / code. j q u e r y. com/ j q u e r y 1. 6. 4. j s > </s c r i p t > <s c r i p t type= t e x t / j a v a s c r i p t > $ ( f u n c t i o n ( ) { $ ( body ). html ( b o n j o u r t o u t l e monde ) ; } ) ; </s c r i p t > </head> <body> H e l l o World </body> </html>

15/27 Déclaration : Variables v a r n o m d e l a v a r i a b l e = V a l e u r i n i t i a l e ; v a r body = $ ( body ) ; Variables standards : selector : Expression utilisée pour sélectionner l élément JQuery courant $ ( img : v i s i b l e ). s e l e c t o r ; // r e t o u r n e img : v i s i b l e length ou size : Nombre d éléments contenus dans l objet JQuery courant $ ( f u n c t i o n ( ) { var bodycontent = $ ( div ) ; $ ( #id2 ). html ( I l y a + bodycontent. length + éléments div ( s e l e c t e u r + b o d y c o n t e n t. s e l e c t o r + ) ) ; } ) ;

16/27 text() vs. html() html() : Remplacement du contenu d un élément (les balises sont considérées comme des balises) text() : Remplacement du contenu d un élément en considérant le tout comme du texte (les caractères < et > des balises sont remplacés par les entités XML (> et <) Idem pour les textes retournés par ces méthodes (Voir exemple 6)

17/27 Remplacement d élément replacewith() : Remplacement de l élément courant (balise et contenu) par l élément en paramètre (pas de duplication) (voir exemple 7) Paramètre : un objet JQuery ou une chaîne de caractères replaceall() : Remplacement de l élément en paramètre (balise et contenu) par l élément sur laquelle est appliquée la méthode (pas de duplication) (voir exemple 7b) Paramètre : un objet JQuery ou un sélecteur JQuery

18/27 Insertion / suppression NB : permet aussi les déplacements d élément A l intérieur : prepend() (avant), append() (après) Paramètre : un objet JQuery ou une chaîne de caractères (voir exemple 8) prependto() (avant), appendto() (après) Paramètre : un objet JQuery ou un sélecteur JQuery (voir exemple 8b) A l extérieur before() (avant), after() (après) Paramètre : un objet JQuery ou une chaîne de caractères (voir exemple 9) insertbefore() (avant), insertafter() (après) Paramètre : un objet JQuery ou un sélecteur JQuery (voir exemple 9b)

19/27 Encapsulation/Décapsulation Ajout de balises : A l intérieur : wrap(), wrapall() $ ( #i d 2 ). wrap ( <b></b> ) ; A l extérieur : wrapin() $ ( #i d 1 ). w r a p I n n e r ( <h1></h1> ) ; Suppression de la balise parent : unwrap() $ ( #i d 4 ). unwrap ( ) ; (voir exemple 10)

20/27 Manipulation d éléments Copie d élément : clone() $ ( #i d 1 ). c l o n e ( ). i n s e r t A f t e r ( h2 ) ; Suppression d élément : remove() $ ( #i d 3 ). remove ( ) ; Suppression de tous les éléments : empty() $ ( #i d 2 ). empty ( ) ;

21/27 JQuery vs. DOM $( body ) : objet JQuery (méthodes jquery applicables - html()) $( body )[0] : objet DOM (les méthodes jquery ne peuvent pas être appliquées) $ ( #i d 3 ). html ( $ ( #i d 1 ). tagname ) ; $ ( #i d 4 ). html ( $ ( #i d 1 ) [ 0 ]. tagname ) ; Un objet JQuery peut contenir 0, 1 ou plusieurs objets DOM

22/27 Manipulation de l arbre DOM Variables et Méthodes Variable tagname : nom de l élément DOM Méthodes : méthodes DOM standards attr(attribut) : Récupération d un attribut dans l objet DOM courant attr(attribut, fonction/valeur) : Association d une valeur ou d une fonction à un attribut dans l objet DOM courant removeattr(attribut) : Suppression de l attribut dans l objet DOM courant

23/27 AJAX (1) Méthode : ajax(paramètres dans un tableau) Paramètres : url: + adresse de la page à laquelle est envoyée la requête type: + type de la requête (GET ou POST) async: (true false) connexion asynchrone ou non data : + Tableau de clés/valeur (paramètres de la requête) success: + fonction (anonyme) exécutée en cas de succès complete: + fonction (anonyme) exécutée à la fin de l envoi de la réponse par le serveur (en cas de succès ou d erreur)

24/27 AJAX (1) Exemple $. a j a x ({ u r l : I n v e r s e r. php, type : GET, data : { s t r : s t r }, s u c c e s s : f u n c t i o n ( msg ) { $ ( #t x t H i n t ). html ( msg ) ; } } ) ;

25/27 AJAX (2) Méthode : get(url, paramètres, fonction) url : adresse de la page à laquelle est envoyée la requête paramètres : Tableau de clés/valeur (paramètres de la requête) fonction fonction (anonyme) exécutée en cas de succès

26/27 AJAX (2) Exemple $. get ( I n v e r s e r. php, { s t r : s t r }, f u n c t i o n ( data ){ $ ( #t x t H i n t ). html ( data ) ; } ) ;

27/27 Autres bibliothèques Mootools Scriptaculous Prototype Yahoo UI Mochikit ExtJS Dojo