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



Documents pareils
Bases de données Page 1 de 11. Bases de données. Prof. : Dzenan Ridjanovic

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

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

Formation en Logiciels Libres. Fiche d inscription

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

Développement des Systèmes d Information

Soutien technique en informatique

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.

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

JavaServer Pages (JSP)

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

SITE WEB E-COMMERCE ET VENTE A DISTANCE

Compte Rendu d intégration d application

Cours en ligne Développement Java pour le web

Environnements de Développement

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

Catalogue des Formations Techniques

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)

Application web de gestion de comptes en banques

Introduction à la plateforme J2EE

Java pour le Web. Cours Java - F. Michel

Programmation Web. Introduction

Web Tier : déploiement de servlets

CQP Développeur Nouvelles Technologies (DNT)

SOUTIEN INFORMATIQUE DEP 5229

Ingénieur Développement Nouvelles Technologies

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

Programmation Web. Madalina Croitoru IUT Montpellier

Livre Blanc WebSphere Transcoding Publisher

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

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

Application Web et J2EE

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

WebSSO, synchronisation et contrôle des accès via LDAP

Apache Tomcat 6. Guide d'administration du serveur Java EE sous Windows et Linux. Résumé. Étienne LANGLET

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

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

Single Sign On. Nicolas Dewaele. Single Sign On. Page 1. et Web SSO

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

Hébergement de sites Web

Un serveur d'archivage

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

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

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

Catalogue des Formations

Cours CCNA 1. Exercices

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

Formation : WEbMaster

Messagerie asynchrone et Services Web

Comment booster vos applications SAP Hana avec SQLSCRIPT

Architectures en couches pour applications web Rappel : Architecture en couches

Le stockage local de données en HTML5

Nouvelles Plateformes Technologiques

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Qu'est-ce que le BPM?

TP réseau Android. Bidouilles Tomcat. a) Installer tomcat : il suffit de dézipper l'archive apache-tomcat windowsx64.zip.

Catalogue Formations Jalios

Auto-évaluation Aperçu de l architecture Java EE

Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement

Module BD et sites WEB

IBM DB2 Alphablox. d administration GC

Drupal, pour quel usage? Comment se positionne Drupal? Les fonctionnalités de Drupal et de son écosystème. L'architecture technique et logicielle Le

Projet Java EE Approfondi

Ré-architecture et migration d une application standalone vers un serveur applicatif multi-tiers dans un contexte JAVA-SAP

Plan de notre intervention 1. Pourquoi le test de charge? 2. Les différents types de tests de charge 1.1. Le test de performance 1.2.

Gestion collaborative de documents

Petite définition : Présentation :

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

Guide de la documentation des produits BusinessObjects XI

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

J2EE - Introduction. Développement web - Java. Plan du chapitre

Introduction à la conception de systèmes d information

Service de réplication des données HP pour la gamme de disques Continuous Access P9000 XP

JOnAS 5. Serveur d application d

INFRASTRUCTURES & RESEAUX

TECHNOLOGIE SOFTWARE DU FUTUR. Logiciel de gestion d entreprise pour le Web

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

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

Projet de Veille Technologique

PROTECTION DES DONNEES PERSONNELLES ET COOKIES

Objectif. Participant. Prérequis. Oracle BI Suite EE 10g R3 - Développer des référentiels. 5 Jours [35 Heures]

Authentification avec CAS sous PRONOTE.net Version du lundi 19 septembre 2011

2 Chapitre 1 Introduction

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

et Groupe Eyrolles, 2006, ISBN :

Serveur d'application à la juste taille

Introduction à Sign&go Guide d architecture

Jahia. Guillaume Monnette École Ingénieurs 2000 Marne-La-Vallée IR3

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

Gestion d Epargne de Crédit & Comptabilité

Sage CRM. 7.2 Guide de Portail Client

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

Applications distribuées: le retour du client "riche"

Shibboleth. David Verdin - JOSY "Authentification centralisée pour les applications web" - Paris - 4 février mai

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Transcription:

SIO-65291 Page 1 de 5 1- Objectifs généraux Applications Web dynamiques Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault acquérir les principes et concepts fondamentaux dans le domaine d'applications Web dynamiques; développer les connaissances intellectuelles et les habiletés nécessaires dans le domaine d'applications Web dynamiques; développer le goût et la capacité de continuer à parfaire ses connaissances dans le domaine d'applications Web dynamiques. 2- Objectifs spécifiques Bien que ce soient les applets qui lui aient valu sa notoriété initiale, Java a su évoluer et s'adapter aux besoins du monde des affaires, surtout au niveau des technologies Web mieux que tous les autres langages. En effet, de plus en plus d'entreprises utilisent des Java Server Pages (JSP) pour construire leurs applications de commerce électronique. Java s'intègre facilement à plusieurs langages existants et est peu coûteux si on le compare aux technologies équivalentes, puisque la communauté Java met à la disposition de tous les programmeurs ses codes sources dans la tradition de l'open source. Une compagnie open source, Apache, offre de puissants outils de développement de sites Web dynamiques, dont le serveur d'applications Web Tomcat, un contenant pour les JSP et les servlets qui peut également être utilisé comme serveur Web. Ces outils sont offerts tout à fait gratuitement et offrent une alternative fort intéressante aux programmeurs qui désirent développer une expertise recherchée à peu de frais. L'usage des bases de données en ligne dans la pratique du commerce électronique est aussi très répandu. En effet, les applications Web vont puiser et stocker des données sur les transactions et les clients dans des bases de données, ce qui rend une connaissance minimale de celles-ci absolument nécessaire pour quiconque voudrait gagner sa vie en développant des applications de commerce électronique. Le présent cours offre à l'étudiant l'occasion de se familiariser aux JSP et servlets en utilisant SQL et JDBC pour interagir avec des bases de données. Le cours Applications Web dynamiques vise les objectifs spécifiques suivants: créer des Java Servlets; concevoir des pages JSP; partager des objets entre des pages JSP; manier les sessions d'utilisateur; utiliser un panier d'achat; gérer la sécurité d'une application; concevoir une application Web utilisant le Model-View-Controller; rendre une application Web multilingue.

SIO-65291 Page 2 de 5 3- Contenu du cours : Une architecture d'applications Web basée sur le HTTP et les Java Servlets est expliquée. La technologie JSP pour la génération de pages dynamiques est introduite. Le partage d'objets Java entre plusieurs JSP dans le but de fournir une réponse à une requête d'utilisateur est expliquée. Les technologies JavaBeans et JDBC sont utilisées pour accéder à une base de données, afficher et mettre à jour des données en utilisant des formulaires HTML dans des JSP. Le mécanisme des JSP pour manier les erreurs est montré, en même temps que les différentes techniques de "déboguage". Une application Web est internationalisée. Il est montré comment sécuriser et personnaliser une application. Une technique avancée pour créer des applications Web dynamiques complexes est expliquée. Des tags personnalisés sont utiliser pour standardiser l'affichage des pages. 4- Cours préalable : SIO-65290 - Bases de données 5- Les approches pédagogiques : Apprendre une nouvelle technologie n'est pas chose facile. L'objectif est d'aider les étudiants à apprendre des concepts en informatique en suivant une approche pédagogique éprouvée. http://www.cs.uni.edu/~wallingf/patterns/elementary/ http://www-lifia.info.unlp.edu.ar/ppp/ L'atteinte des objectifs se fera par des exposés portant sur les concepts requis pour comprendre les logiciels, par des démonstrations des différents outils, par des exercices en classe (ordinateurs portatifs des étudiants), par des travaux individuels, et par un projet en équipe. Les travaux individuels doivent être remis au plus tard au début de la séance où ils sont dus; aucun retard ne sera toléré (dans ce cas, la note accordée est automatiquement de 0), sauf pour des raisons de maladie. 6- Matériel pédagogique Le livre obligatoire pour ce cours est disponible gratuitement en version électronique (PDF) à l'adresse suivante : http://pdf.coreservlets.com Outre ce document, le site de référence du cours offre des présentations sur les sujets couverts à chaque semaine : http://drdb.fsa.ulaval.ca/sujets Mentionnons qu'il est possible, et non obligatoire, d'acquérir une version papier du manuel de référence en version française sur le site de Camelot Info : http://www.camelot.ca D'autres documents peuvent s'avérer intéressants : Hans Bergsten, JavaServer Pages, O'Reilly & Associates, 2000. http://www.oreilly.com/catalog/jserverpages/ Marty Hall, Core Servlets and JavaServer Pages, Prentice Hall, 2000. http://www.coreservlets.com/

SIO-65291 Page 3 de 5 Jason Hunter with William Crawford, Java Servlet Programming, 2nd Edition, O'Reilly & Associates, 2001. http://www.oreilly.com/catalog/jservlet2/ 7- Le déroulement du cours : Contenu des séances de cours (semaines 1-7) 1. Introduction, logiciels, Servlets, JSP 2. Formulaires HTML, requêtes et réponses 3. JavaBeans 4. Gestion de sessions 5. Panier d'achats 6. MVC, JavaBeans (M), JSP (V), Servlet (C) 7. Internationalisation 1. Introduction Le syllabus du cours est expliqué. Le site Web du cours ainsi que le site Web des sujets couverts dans celui-ci sont visités. Les technologies utilisées dans le cours sont introduites. http://drdb.fsa.ulaval.ca/cours/ http://drdb.fsa.ulaval.ca/sujets/ Logiciels Retour rapide sur les deux logiciels qui seront utilisés dans ce cours, Apache Tomcat et Borland JBuilder. Tomcat : http://drdb.fsa.ulaval.ca/sujets/tomcat/index.html JBuilder : http://www.borland.com/jbuilder/personal/download/jb5personal_steps.html Chapitre 1 : tout (seulement Tomcat pour 1.5) [16 pages] Servlets Les servlets sont des classes Java qui reçoivent et traitent les requêtes transmises par le client au serveur. Dans le cadre de ce cours, on s'intéressera à deux caractéristiques des servlets, à savoir la génération de texte et la redirection de requêtes HTTP. Chapitre 2 : Introduction, 2.1 à 2.6 [20 pages] JSP

SIO-65291 Page 4 de 5 Les JSP sont en fait des interfaces plus conviviales pour développer des servlets. Effectivement, une page JSP est convertie en servlet par le serveur d'application lors de la première visite sur cette page. Un rapide survol de la syntaxe des JSP est effectué. Chapitre 10 : Tout Chapitre 11 : Introduction, 11.1, 11.7, 11.12 Chapitre 12 : Introduction, 12.1, 12.2 [16 pages] [3 pages] [4 pages] 2. Formulaires HTML, requêtes et réponses Les formulaires HTML constituent la façon pour l'utilisateur d'interagir avec une application Web. Dans un premier temps, une présentation des diverses composantes d'un formulaire est effectuée. Ensuite, une démonstration est effectuée sur la façon de récupérer et manier ces informations. Chapitre 16 : Introduction, 16.1 à 16.11 Chapitre 3 : tout [40 pages] [28 pages] 3. JavaBeans Les JavaBeans sont des outils puissants qui ajoutent un support aux applications Web en encapsulant diverses informations. On peut s'en servir pour garder en mémoire les données d'un formulaire. Ils s'avèrent d'ailleurs fort utiles pour valider les données entrées par l'utilisateur. Chapitre 13 : tout [24 pages] 4. Gestion des sessions Un système de login/mot de passe permet non seulement de sécuriser une application Web, mais également de personnaliser le contenu qui est présenté à l'utilisateur. Quatre mécanismes sont présentés pour gérer les sessions d'utilisateur, soient les cookies, la modification d'url, les variables de session ainsi que les champs de formulaires cachés. Lectures : Chapitre 8 : Introduction, 8.1 à 8.5 Chapitre 9 : Introduction, 9.1 à 9.3 [14 pages] [12 pages] 5. Panier d'achats Il est difficile de parler d'applications de commerce électronique sans toucher aux paniers d'achats. Un système de panier d'achat combinant les éléments présentés précédemment et utilisant une base de données (la technologie JDBC) est étudié.

SIO-65291 Page 5 de 5 6. MVC : JavaBeans (M), JSP (V), Servlet (C) Une architecture utilisant le Model-View-Controller (MVC) divise les différents éléments qui composent une application Web. Le modèle constitue les données manipulées (les JavaBeans les encapsulent), la vue constitue le médium utilisé pour présenter les données à l'utilisateur (des pages JSP) et le contrôleur (un servlet) s'occupe de diriger le traffic au sein de l'application. L'architecture MVC est appliquée au panier d'achats étudié à la semaine 5. 7. Internationalisation Java offre la possibilité de rendre des applications Web multilingues facilement. Ainsi, selon ses préférences, un utilisateur peut afficher le contenu d'une page JSP en plusieurs langues. Une version multilingue du panier d'achats est présentée. JavaMail JavaMail est une API fort simple à implanter qui permet d'envoyer des courriels depuis une application Web dynamique. Un système de confirmation de réception de commande par courriel est greffé au panier d'achat. 8- Les méthodes d évaluation : Travaux individuels (2) 40 % Projet en groupe (2-3 ét.) 60 % TP1 : Reproduire un formulaire HTML qui envoie ses données via la méthode POST à un servlet invoqué par mapping. Ce servlet doit rediriger la requête vers une page JSP récupérant les données du formulaire et utilisant un JavaBean pour encapsuler ces informations. (semaine 4, 20%) TP2 : Reproduire un panier d'achats similaire à celui présenté à la semaine 5 (semaine 6, 20%) Projet : Construire une application Web fonctionnelle utilisant l'architecture MVC. Deux choix sont offerts aux équipes. Elles peuvent : a) Utiliser un panier d'achats b) Utiliser un système de gestion de compte (login/mot de passe). (semaine 8, 60%)