Java et jquery Java et jquery - Intégrer un framework JavaScript dans l'écosystème JEE - Version numérique

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

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

BES WEBDEVELOPER ACTIVITÉ RÔLE

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

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

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

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

Petite définition : Présentation :

10. Base de données et Web. OlivierCuré

Refonte front-office / back-office - Architecture & Conception -

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

les techniques d'extraction, les formulaires et intégration dans un site WEB

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

4. SERVICES WEB REST 46

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

Programmation Web. Introduction

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)

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

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

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

Développement des Systèmes d Information

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

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

AngularJS pour une application d'entreprise

Alfstore workflow framework Spécification technique

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

Formation : WEbMaster

CQP Développeur Nouvelles Technologies (DNT)

Programme ASI Développeur

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

SIO Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

( Mauritius ) ( France )

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

Formation en Logiciels Libres. Fiche d inscription

Sage CRM. 7.2 Guide de Portail Client

et Groupe Eyrolles, 2006, ISBN :

Application Web et J2EE

Web Tier : déploiement de servlets

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

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

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

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

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Réalisation d une application de soumission de cours en ligne de l Université Virtuelle de Tunis

Bien architecturer une application REST

CAS, la théorie. R. Ferrere, S. Layrisse

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

Environnements de Développement

Applications et Services WEB: Architecture REST

Ajax, RIA et HTML Prise en charge d Ajax

Projet Java EE Approfondi

Stages ISOFT : UNE SOCIETE INNOVANTE. Contact : Mme Lapedra, stage@isoft.fr

Programmation Web. Madalina Croitoru IUT Montpellier

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

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

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

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

Architectures Web Services RESTful

LICENCE PROFESSIONNELLE

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi

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

Programmation Internet Cours 4

Programmation d'agents intelligents Vers une refonte des fils de raisonnement. Stage de fin d'études Master IAD 2006

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

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É JAVA - J2EE. 27 ans - 5 ans d'expérience

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

EXTENSION de Microsoft Dynamics CRM Réf FR 80452

Celui qui vous parle. Yann Vigara

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

Mise en œuvre des serveurs d application

Catalogue des Formations Techniques

Compte Rendu d intégration d application

Bonnes pratiques de développement JavaScript

Webmaster / Webdesigner / Wordpress

Ociensa Technologies.

Nouveautés joomla 3 1/14

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

FileMaker Server 12. publication Web personnalisée avec XML

Catalogue Formations Jalios

Catalogue des Formations

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

SYSTÈMES D INFORMATIONS

Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des tablettes ou smartphones.

Messagerie asynchrone et Services Web

Utilisation de Jakarta Tomcat

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

PHP 5.4 Développez un site web dynamique et interactif

Hébergement de site web Damien Nouvel

Outil de planification en ligne pour des créations de rendez-vous ou de sondage

SITE WEB E-COMMERCE ET VENTE A DISTANCE

Gestion d identités PSL Exploitation IdP Authentic

Immersive and Collaborative Data Visualization Using Virtual Reality Platforms

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

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

Cours en ligne Développement Java pour le web

Architecture Orientée Service, JSON et API REST

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

DEMARREZ RAPIDEMENT VOTRE EVALUATION

Un serveur d'archivage

Transcription:

Avant-propos 1. Introduction 13 2. Niveau de compétences requis 14 3. Structure du livre 14 Premiers pas 1. Introduction 17 2. Les applications JEE 18 2.1 Les API JEE 19 2.2 Les ressources statiques 22 3. Le protocole HTTP 22 3.1 La norme HTTP 23 3.2 Les requêtes 24 3.2.1 La ligne d'introduction 24 3.2.2 Les en-têtes 25 3.2.3 Le corps 26 3.3 Les réponses 26 3.3.1 La ligne de statut 26 3.3.2 L'en-tête 27 3.3.3 Le corps 27 4. Le serveur d'applications 28 4.1 Conteneur web 28 4.2 Architecture N-tiers 29 5. L'architecture MVC 30 1/11

5.1 Le modèle 30 5.2 L'implémentation JEE 31 6. La bibliothèque jquery 32 6.1 Historique du projet 32 6.2 Intérêt 33 7. En résumé 34 La plateforme JEE 1. Introduction 35 2. Les servlets 36 2.1 Concepts 36 2.1.1 Technologie client/serveur 36 2.1.2 Méthodes 37 2.1.3 L'interface Servlet 38 2.2 Descripteur de déploiement 40 2.3 Cycle de vie 42 2.3.1 Instanciation 43 2.3.2 Initialisation 44 2.3.3 Traitement des requêtes 45 2.3.4 Fin de vie 46 2.4 Les listeners 46 2.5 La requête 48 2.6 La réponse 49 2.7 Les filtres 50 3. Les JSP 52 3.1 La norme JSP 53 3.1.1 Les balises 54 3.1.2 Les directives 54 2/11

3.2 L'utilisation du modèle 56 3.2.1 Le JavaBean 56 3.2.2 La portée des objets 57 3.3 Les actions standards 58 3.3.1 usebean 59 3.3.2 getproperty 59 3.3.3 setproperty 60 3.3.4 include 60 3.3.5 forward 61 3.4 Les expressions languages 61 3.4.1 Les attributs 62 3.4.2 Les collections 66 3.4.3 Les objets implicites 67 3.4.4 Les opérateurs 69 4. En résumé 70 Les applications web 1. Introduction 73 2. Description 74 3. Organisation 74 3.1 Le dossier META-INF 75 3.2 Le dossier WEB-INF 75 3.3 Les ressources publiques 76 4. Configuration de déploiement 77 4.1 Configuration des composants 78 4.1.1 Description de l'application 78 4.1.2 Fichiers d'index 79 4.1.3 Servlets 79 3/11

4.1.4 Filtres 82 4.1.5 Attributs de contexte 83 4.1.6 Attributs de sessions 83 4.1.7 Gestion des erreurs 84 4.2 Sécurité et authentification 85 4.2.1 Les contraintes de sécurité 85 4.2.2 L'authentification 86 4.2.3 La sécurisation de la couche transport 89 4.3 Compatibilité entre serveurs JEE 90 5. Intégration de jquery 91 5.1 Récupérer les sources 91 5.1.1 Depuis le site officiel 92 5.1.2 Depuis la plateforme Google 93 5.1.3 Depuis Github 93 5.1.4 Depuis le gestionnaire de paquets Bower 94 5.2 Exploiter les ressources 95 5.3 Associer le framework dans une JSP 96 6. En résumé 97 L'utilisation de jquery 1. Introduction 99 2. Les sélecteurs 100 2.1 Le DOM 100 2.2 La fonction $() 103 2.3 Les sélecteurs standardisés 105 2.3.1 Les sélecteurs CSS 105 2.3.2 Les pseudoclasses 109 2.4 Les sélecteurs spécifiques 112 2.5 Les sélecteurs de formulaires 117 4/11

3. Les évènements 120 3.1 Le flux évènement 121 3.2 L'objet Event 123 3.3 La fonction ready 126 3.4 Les évènements simples 128 3.5 Les évènements composés 133 4. Les transitions 134 4.1 Effets et vitesse 134 4.1.1 Gérer la vitesse 134 4.1.2 Apporter un fondu 136 4.2 Effets composés 137 4.3 Animations personnalisées 138 5. Organiser son code 140 5.1 Encapsulation 141 5.1.1 Objet 141 5.1.2 Module 142 5.2 Factorisation des traitements 143 5.3 Fonctions anonymes 144 6. En résumé 145 L'intégration de jquery dans les JSP 1. Introduction 147 2. Manipulation du DOM 148 2.1 Manipuler des propriétés 152 2.1.1 Les fonctions de style CSS 152 2.1.2 Les fonctions de gestion d'attributs 155 2.2 Gérer des éléments 161 5/11

2.2.1 Les fonctions d'insertion 161 2.2.2 Les fonctions de remplacement 166 2.2.3 Les fonctions de suppression 169 2.2.4 Les fonctions de copie 171 3. Manipulation des tables 174 3.1 Modifier son affichage 176 3.2 Ajouter du tri dans les données 180 3.2.1 Le tri côté serveur 180 3.2.2 Le tri en JavaScript 181 3.3 Utiliser le plug-in datatables 185 3.3.1 Objectif 186 3.3.2 Intégration dans l application 186 3.3.3 Utilisation 189 3.3.4 Évènements personnalisés 191 4. Manipulation des formulaires 196 4.1 Améliorer un formulaire de base 199 4.1.1 Les affichages conditionnels 200 4.1.2 Les comportements liés 201 4.2 Gérer la validation 203 4.2.1 Les validations Java 203 4.2.2 Les validations jquery 210 4.3 Utiliser le plug-in jquery-validate 215 4.3.1 Mise en place 215 4.3.2 Implémentation 216 4.3.3 Options 218 5. En résumé 221 Les taglibs 1. Introduction 223 6/11

2. Maîtriser la bibliothèque JSTL 224 2.1 Objectif 224 2.2 Configuration 225 2.2.1 La mise en place de la librairie 225 2.2.2 L'intégration dans une JSP 229 2.3 La bibliothèque Core 230 2.3.1 Les variables 231 2.3.2 Les conditions et boucles 232 2.3.3 La gestion des URL 236 3. Créer un taglib personnalisé 238 3.1 Création du comportement 239 3.2 Déclaration de la fonction 242 3.3 Intégration dans une JSP 244 4. Utiliser un taglib : DataTables Taglib 247 4.1 Intérêt 247 4.2 Mise en place 247 4.3 Utilisation 249 5. En résumé 252 La technique AJAX 1. Introduction 253 2. Le concept 254 3. Les structures d'échanges de données 256 3.1 Les formats 256 3.2 La syntaxe JSON 258 3.2.1 Les valeurs 259 7/11

3.2.2 Les objets 259 3.2.3 Les tableaux 260 4. Partie serveur : mettre à disposition des services REST 260 4.1 Principes d'une architecture REST 261 4.1.1 Définition 261 4.1.2 Les normes 261 4.1.3 REST et Jersey 262 4.1.4 Cycle de vie d'un service 265 4.2 Implémentation d'un service 265 4.2.1 Mettre en place un service 265 4.2.2 Intégration d'un modèle 267 4.2.3 Déployer et consommer un service 269 4.3 Configuration du service 271 4.3.1 Spécifier un chemin à la ressource 271 4.3.2 Associer une requête à une méthode 272 4.3.3 Définir les types d'entrées et sorties 274 4.3.4 Récupérer des paramètres de la requête 276 5. Partie cliente : consommer les services 276 5.1 La méthode.ajax() 277 5.1.1 La syntaxe 277 5.1.2 Les promesses 281 5.1.3 Les callbacks 282 5.1.4 Les types de données 283 5.1.5 La sérialisation de données 284 5.2 GET : charger des données à la demande 285 5.2.1 La fonction.get() 285 5.2.2 Consommer des données dans une JSP 286 5.3 POST : passer des données au serveur 287 5.3.1 La fonction.post() 288 5.3.2 Publier de l'information dans le système d'information 289 5.4 LOAD : charger des informations 291 5.4.1 La fonction.load() 291 5.4.2 Charger une ressource sur l'application 292 8/11

5.5 L'écoute d'évènements AJAX 294 6. En résumé 297 La sécurisation des services REST 1. Introduction 299 2. Identifier les risques 300 2.1 Les critères de sécurité 300 2.2 Les bonnes pratiques 301 3. Sécurisation du protocole de transport HTTP 302 3.1 Le protocole SSL 302 3.2 La protection des communications 303 4. Authentifier les utilisateurs 304 4.1 Identifier un utilisateur 304 4.2 Ajouter un hachage de données 305 4.3 Implémenter un jeton (token) d'authentification 307 5. Gérer les requêtes uniques 308 5.1 L'objectif 308 5.2 La gestion côté client 308 5.3 La gestion côté serveur 309 6. En résumé 310 Les outils de développement 1. Introduction 311 9/11

2. Les outils de développement intégrés au navigateur 312 2.1 L'intégration dans les navigateurs 312 2.2 L'analyse du DOM 315 2.3 L'activité réseau 317 2.4 L'émulation 318 2.4.1 L'émulation mobile 319 2.4.2 L'émulation de navigateur 320 2.5 La console 320 3. La validation des scripts 322 3.1 JSLint et JSHint 322 3.2 Validation W3C 325 4. Les IDE orientés présentation 327 4.1 Brackets.io 327 4.2 Atom.io 329 4.3 Sublime Text 330 4.4 Synthèse 332 5. En résumé 333 Les interfaces riches avec jquery UI 1. Introduction 335 2. Créer des interfaces riches 336 2.1 Intérêt de la bibliothèque 336 2.2 Mise en place 337 3. Les interactions 340 3.1 Draggable 341 3.1.1 Implémenter la fonction de base 341 10/11

3.1.2 Gérer le déplacement 343 3.1.3 Définir le magnétisme 344 3.1.4 Imposer le retour à l'état initial 346 3.2 Droppable 346 3.2.1 Implémenter la fonction de base 346 3.2.2 Contraindre les éléments acceptés 348 3.2.3 Gérer la validité de l'interactivité 350 3.3 Sortable 351 3.3.1 Implémenter la fonction de base 351 3.3.2 Limiter le déplacement 352 3.3.3 Connecter plusieurs listes 353 3.3.4 Modifier le curseur 355 3.4 Resizable 356 3.4.1 Implémenter la fonction de base 356 3.4.2 Préserver le ratio 357 3.4.3 Limiter l'interactivité 358 3.5 Selectable 359 3.5.1 Implémenter la fonction de base 359 3.5.2 Gérer les évènements 361 4. Les widgets 363 4.1 Dialog 364 4.2 Datepicker 367 4.3 Tabs 370 5. Les effets 371 6. En résumé 374 Index 375 11/11