Paris Web Ateliers Les bibliothèques JS jquery

Documents pareils
TP JAVASCRIPT OMI4 TP5 SRC

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

SYSTÈMES D INFORMATIONS

Document Object Model (DOM)

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

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

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

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

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

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

Programmation Web. Madalina Croitoru IUT Montpellier

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

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

DOM - Document Object Model

FICHE PRODUIT COREYE CACHE Architecture technique En bref Plateforme Clients Web Coreye Cache applicative Références Principe de fonctionnement

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

Intégrateur Web HTML5 CSS3

Formation : WEbMaster

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

Présentation du Framework BootstrapTwitter

SPIP. Gestion de la performance dans SPIP. Préoccupa)on historique

EXTENSION de Microsoft Dynamics CRM Réf FR 80452

Ajax, RIA et HTML Prise en charge d Ajax

Bonnes pratiques de développement JavaScript

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

PROGRAMME DE LA 1ERE JOURNEE DE FORMATION : QUALITE WEB ET REFERENCEMENT NATUREL

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

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

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

Webmaster / Webdesigner / Wordpress

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

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

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

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

Optimiser pour les appareils mobiles

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

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

Présentation du PL/SQL

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

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

PHP 5.4 Développez un site web dynamique et interactif

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

Qualité web : les bonnes pratiques front-end

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

Nouveautés joomla 3 1/14

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

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

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

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

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Les outils actuels permettent-ils d automatiser la production de cartes? De quels outils dispose-t-on?

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

Programmation Web. Introduction

Académie Google AdWords

Par KENFACK Patrick MIF30 19 Mai 2009

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

Découvrir Drupal. Les meilleurs thèmes et modules Drupal (présenta5on démo)

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

Google Tag Manager v2 v1 dispo sur GTM pour les nuls dispo sur

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

Mobilité Comment Drupal peut-il nous aider? Jean-Baptiste Guerraz - jbguerraz@gmail.com

Dojo Toolkit. Créer des applications AJAX/RIA en JavaScript. Thomas Corbière

Stocker des données sur Amazon S3

Support Google Analytics - 1 / 22 -

Dans l'article précédent, vous avez appris

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales

Libérez votre intuition

CHAPITRE 11. Temps réel Remy Sharp

Hébergement WeboCube. Un système performant et sécurisé. Hébergement géré par une équipe de techniciens

MANUEL WORDPRESS. Objectif: Refonte d un site web sous Wordpress I PRE-REQUIS: 1 / Créer un backup (sauvegarde) du site:

Formation Découverte du Web

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8

SOUTENANCE ORALE RAPPORT DE PROJET D INFORMATIQUE

Jean-Pierre VINCENT Consultant indépendant

Karim EL KHALIFA Web developer

Manuel du composant CKForms Version 1.3.2

Logiciels de référencement

Optimiser les s marketing Les points essentiels

Logiciel : GLPI Version : SYNCRHONISATION DE GLPI AVEC ACTIVE DIRECTORY. Auteur : Claude SANTERO Config. : Windows 2003.

Sécurité des applications web. Daniel Boteanu

Technologies Web avancées. ING1 SIGL Technologies Web avancées

Drupal un CMS orienté mé2er. Romain JARRAUD Mathieu GROS

Programmation Internet Cours 4

Catalogue des formations

1/15. Jean Bernard CRAMPES Daniel VIELLE

Drupal Développeur. Theming et développement pour Drupal. Une formation Formateur : Fabien Crépin. Drupal Développeur.

TIC 12 ATELIER INTEGRATION CAHIER DES CHARGES. Page 1/5

Introduction aux concepts d ez Publish

Développement des Systèmes d Information

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

Etude et développement d un moteur de recherche

Référencement naturel & E-tourisme. Pau 02/10/2008

Introduction à. Oracle Application Express

Comment créer son propre monitoring. (Version simple PHP)

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

Transcription:

Paris Web 2007 - Ateliers Les bibliothèques JS jquery Orange Labs Julien Wajsberg, Recherche & Développement 17/11/2007, présentation à Paris Web 2007

<script type="text/javascript" src="jquery.js"></script> jquery: une simple bibliothèque à importer Son but: rendre JavaScript plus "sympa" à utiliser. write less, do more Assez des incompatibilités entre navigateurs! jquery nous cache tout ça et le fait mieux que vous : il sait utiliser des spécificités natives de certains navigateurs pour aller plus vite! (ex: XPath chez Mozilla, Javascript 1.6+) 2 Orange Labs - Recherche & Développement

$('jquery') jquery: une fonction des sélecteurs à passer en argument renvoie un objet qui représente les éléments correspondants Prototype l'a plébiscité: $ est la fonction-raccourci pour créer les objets 3 Orange Labs - Recherche & Développement

$('anything') $ accepte un sélecteur CSS en argument $ accepte des ID : $('#jquery') retourne un élément <-> document.getelementbyid $ accepte des classes : $('.jquery') retourne tous les éléments qui correspondent $ accepte plusieurs sélecteurs (comme en CSS, en fait) $('.article,.nouvelles,.edito') 4 Orange Labs - Recherche & Développement

$(anything) $ accepte des sélecteurs complexes : $('.article + p a') $ accepte des sélecteurs spécifiques : $(':radio'), $(':header'), $(':first-child') des sélecteurs en forme de filtres : $(':checked'), $(':odd'), $(':visible') plus fort: $(':contains(du texte)') des attributs $('a[href]'), $('a[href^=http://'), $('img[src$=.png]') 5 Orange Labs - Recherche & Développement

$('#jquery').show() jquery: un objet les méthodes s'appliquent généralement à tous les éléments sélectionnés $('.jquery').hide(); plein de méthodes utilitaires parcourir le DOM:.parent(),.next(),.children(),.parents() ajouter ou retirer des classes CSS: addclass, removeclass manipuler: append, wrap, prepend effets: show, hide 6 Orange Labs - Recherche & Développement

$( ).parent().next().find( ).show(); Intérêt fondamental: la plupart des méthodes de l'objet retournent l'objet lui-même on peut chaîner les appels! $('anything').parent().find('still anything').show(); Cette propriété est extrêmement puissante! 7 Orange Labs - Recherche & Développement

javascript avancé : les callbacks une fonction prend en argument une autre fonction, qu'elle pourra appeler ensuite (événements, complétion ) function traitementfini() { } alert('mon traitement est fini'); traitementlong(parametres, traitementfini); jquery utilise des callbacks pour tous les événements 8 Orange Labs - Recherche & Développement

function() {.. } : les closures closures, ou fonctions anonymes peut être utilisée partout où on attend une fonction var mafonction = function() { }; traitementlong(parametres, function() { }); On utilise énormément ces constructions dans un développement JavaScript "moderne" 9 Orange Labs - Recherche & Développement

$(anything).click(function) Javascript non intrusif: bref rappel code HTML propre : des balises, des classes, des id, et c'est tout le javascript exploite les sélecteurs CSS, pour utiliser des événements, ou ajoutant des éléments $('a.popup').click(function() { alert(this.href); } Imaginez le nombre de lignes en DOM classique pour faire ça (ou encore $('a.popup > span + span[attr=$toto]')). 10 Orange Labs - Recherche & Développement

$.ajax une méthode utilitaire pour encapsuler une requête ajax on reçoit la réponse dans une callback on peut traiter cette réponse à la mode jquery 11 Orange Labs - Recherche & Développement

$.ajax : exemple var callback = function(data) { var $data = $(data); var nb = $data.find("reponse").length; var nb = $data.find("choix:contains('bonne')").parent().length; }; $.ajax({ cache: false, success: callback, url: file }); 12 Orange Labs - Recherche & Développement

les plugins on peut étendre facilement jquery en utilisant des plugins les méthodes ajoutées sont au même niveau que les méthodes natives il faut tâcher de conserver les mêmes sémantiques que les méthodes natives: retourner l'objet jquery, appliquer la méthode à tous les éléments représentés à user et abuser pour factoriser du code, ou donner un nom métier à du traitement techniques (ex: cachercontenu() pour factoriser $('.classe').children('.contenu').hide()) beaucoup beaucoup beaucoup de plugins existent d'ores et déjà, à la qualité variable; certains sont mis en avant par l'équipe de développement 13 Orange Labs - Recherche & Développement

les mains dans le cambouis exemple live 14 Orange Labs - Recherche & Développement

merci