Section 3: Le Web, le http et le HTML1 La programmation du Web Du côté client Code léger qui sexécute sur lordinateur client Javascript, Applets, Flash,

Slides:



Advertisements
Présentations similaires
Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.
Advertisements

Conception de Site Webs dynamiques Cours 6
TOUQUET Arnaud ▪ GI05 BLONDEEL Igor ▪ GM05
Exposé de Système - Informatique et Réseau
Programmation Web Les JSP.
TRANSFER Alger – Serveur Web Nicolas Larrousse Septembre Petit historique du Worl Wide Web Notion dHypertexte Extension à internet par Tim Berners.
Cours 5.3 : XML et les architectures N-tiers – Tier Présentation
Cours 6 : XML et les architectures N-tiers – Tier Applicatif
HTML Les types de balises

UV JSP JSP : Java Server Page
Web dynamique : solutions Sessions sous HTTP
JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.
Servlet JAVA.
16/10/10 Préparé par: Ing. Rodrigue Osirus (+509) , *** Site web dynamique.
Common Gateway Interface
Oct.-2000DESS IIDEE © B. BAH 1 ASP Caractéristiques dun fichier ASP Son extension : « *.asp » La balise: Son indépendance vis à vis de toute plate–forme,
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à distance via SOAP (Simple Object Access Protocol ); SOAP.
Applications Internet
Le langage ASP Les variables d'environnement HTTP avec Request.
M2 – MIAGE/SID Servlet M2 – MIAGE/SID
SERVLETS PRESENTATION
Accès aux données généralisé SQL est presque une solution! Le problème: Le SQL n'est pas une langue complète, et doit être intégré dans un langage de programmation.
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Gestion des bases de données
Composants web (web tiers)
Section 3: Le Web, le http et le HTML1 Le Web. Section 3: Le Web, le http et le HTML2 Les clients et serveurs Web Serveur Web Clients utilisant des fouineurs.
Clients riches RIA (Rich Internet Application) / RDA
Architecture dun site de vente au détail1 Modèle d'un site simple de vente Lexemple du livre Ruby on Rails Partie II Java Adventure Builder Demo Réalisé.
PhP-MySQL Pagora 2012/2013 CTD 1 - Presentation de moi ^^
Servlets.
JSP (Java Server Pages)
1 CSI 2532 Lab6 Application Web et DB Février 27, 2012.
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
Initiation au web dynamique
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Animateur : Med HAIJOUBI
M2 – MIAGE/SID Servlet M2 – MIAGE/SID
LES CLIENTS WEB RICHES Tuteur : Olivier CARON LEFEBVRE Benoit
Les servlets Java Les bases de la génération dynamique HTML en Java Sébastien Limet etGérard Rozsavolgyi Licence Professionnelle
Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.
PROGRAMMATION WEB FRONT-END.
JavaScript Nécessaire Web.
0 Objectifs de la session n°1  Revenir sur toutes les bases théoriques nécessaires pour devenir un développeur Web,  Découvrir l’ensemble des langages.
Cours de programmation web
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Conférence Technique Java 2 Frédéric Jacquet. Au programme  Présenter les différents outils  Découverte - Java coté serveur  Appréhender l ’existant.
S'initier au HTML et aux feuilles de style CSS Cours 5.
Page 1Dernière mise à jour: 17 avril 2015 Service de l'enseignement des technologies de l'information, © HEC Montréal, Tous droits réservés.
Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII
Asynchronous JavaScript And XML AJAX C. Petitpierre
Struts.
S'initier au HTML et aux feuilles de style CSS Cours 5.
 Formulaires HTML : traiter les entrées utilisateur
Initiation au JavaScript
Sites Web interactifs 2010 / 2011 / S1 Bernhard Rieder.
1 / / 01 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB ARCHITECTURE WEB – COURS III
M2 – MIAGE/SID Servlet et session M2 – MIAGE/SID
Les Servlets Présentation Cycle de vie Principe de fonctionnement
Séance /10/2005 CSS et Dreamweaver. CSS : principes Cascading Style Sheet = feuille de style en cascade Norme du W3C :
Les évolutions du WEB Des technologies,... et un peu plus...
Apports des clients riches dans le monde du WEB 2.0
Les Java Server Pages Dans ce chapitre, nous allons :
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
IFT 6800 Atelier en Technologies d’information Chapitre 5 Introduction aux Servelets & JSP.
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
Architecture J2EE Web Jean-Jacques LE COZ. J2EE Web Container JSP Page Servlet J ava 2 Standard Edition APIs EJB Container EJB JDBCJMS JNDI JTA JavaMail.
Transcription de la présentation:

Section 3: Le Web, le http et le HTML1 La programmation du Web Du côté client Code léger qui sexécute sur lordinateur client Javascript, Applets, Flash, DHTML Du côté serveur CGI-Perl PHP (Python) Servlet et Java Server Pages ASP « Active Server Pages » et VBScript

Section 3: Le Web, le http et le HTML2 Sur le client-DOM La page actuellement présenté par le fureteur est représenté enmémoire par son arbre XML le Document Object Model (DOM) Les modifications par programme local sur ce DOM sont immédiatement présentées à lutilisateur.

Section 3: Le Web, le http et le HTML3 Sur le client - Javascript Langage Interprété, Orienté Objet, Syntaxe proche du C et Java Code sinsère dans le code HTML Cadre dans la page envoyée au client, puis interprétée Code sexécute localement dans une boite de sécurité Les événements du client La souris, le clavier, le temps OnOver, OnMouse. OnClick Des requêtes http additionnelles au serveur Lécran de lutilisateur Nouvelles fenêtre et cadres Modifications partielles à la page affichée par son DOM

Section 3: Le Web, le http et le HTML4 Sur le client les Applets Code téléchargé au client Code référencé dans le HTML Les objets Applet nont pas de constructeur Ont des restrictions de sécurité

Section 3: Le Web, le http et le HTML5 Les Applets Langage java Ensemble de fichiers sources java Compiler en.class (1 fichier.class par classe définie) JVM client exécute le code Appel de lapplet dans le code HTML Modèle de sécurité fort

Section 3: Le Web, le http et le HTML6 Les Applets Exemple dapplet Applet Java qui produit et affiche une horloge

Section 3: Le Web, le http et le HTML7 Les ActiveX Composant Microsoft ActiveX Applets (Java) Orient é objet Fichiers stock é s sur disque dur.VBX.OCX.DLL ou.EXE Cr éé s avec Visual basic, Delphi ou C++ Pas de contrôle de sécurité

Section 3: Le Web, le http et le HTML8 Différences entre les applets et les applications Les applets sont exécutés dans une page HTML Les applets ne peuvent pas agir sur le système local Tous les sorties se font par linterface visuelle Hérite de la classe Applet Les applications démarre et se termine de façon autonome Les applications peuvent agir sur le système local Les applications peuvent écrire sur fichier et sur la console

Section 3: Le Web, le http et le HTML9 Caractéristiques des clients riches Le modèle objet du document (DOM) est une interface neutre au fureteur et au rendu quil présente. Le fureteur est responsible de lexécution des scripts locaux Lapparence du HTML est défini par les feuilles de styles CSS JavaScript est le langage de scripting universellement supporté dans les différents fureteur sur le marché. Plusieurs autres alternatives technologiques pour les clients riches: Applets, ActiveX, Flash

Section 3: Le Web, le http et le HTML10 AJAX Asynchronous JavaScript and XML, ou Ajax Ensemble de technique de développement web pour créer des applications web interactivesweb HTML (ou XHTML) et CSS pour la présentation de linformationHTMLXHTMLCSS Le modèle objet du document manipulé par Javascript pour afficher dynamiquement et interargir avec linformation présentée. Lutilisation de lobjet XMLHttpRequest afin déchanger des données asynchrones avec le serveur Web. Voir

Section 3: Le Web, le http et le HTML11

Section 3: Le Web, le http et le HTML12 La programmation du côté serveur

Section 3: Le Web, le http et le HTML13 Rappel: le serveur Web Un serveur de fichier sophistiqué Réagit aux requêtes faites selon le protocole HTTP Les requêtes vont de la demande dune page au traitement des données dun formulaire Un grand nombre de serveurs existent Apache, gratuit, le plus populaire IIS de Microsoft Maintenant un serveur web de base est disponible dans tous les ordinateurs et appareils réseaux

Section 3: Le Web, le http et le HTML14 Les programmes serveurs Web Première génération: « Common Gateway Interface »-CGI La requête HTTP du client est redirigée sur le serveur vers un programme Une passerelle sur le serveur initie le programme lors de la requête Les paramètres de la requêtes sont des variables denvironnement et elles peuvent être consultées par le programme

Section 3: Le Web, le http et le HTML15 Quelques variables CGI AUTH_TYPE Il s'agit de la méthode d'authentification qui a été utilisée par le client pour accéder au programme CGI CONTENT_LENGTH Longueur du corps de la requête. Il s'agit de la taille des données envoyées au CGI par l'intermédiaire de la méthode POST d'un formulaire CONTENT_TYPE Type de données contenu présent dans le corps de la requête. Il s'agit du type MIME des donnéestype MIME HTTP_COOKIE Les témoins du client si jamais un ou plusieurs sont effectivement présents sur le disque du client HTTP_REFERER URL de la page qui a appelé le script CGI HTTP_REQUEST_METHOD Cette variable indique le type de méthode utilisée pour envoyer les données au programme CGI. Il s'agit de GET,HEAD,POST,PUT ou DELETE. Dans le cas de la méthode GET, les données sont encodées avec l'URL de requête, dans le cas de la méthode POST, par contre, les données présentes dans le corps de la requête sont accessibles via le fichier de flux d'entrée standard nommé STDINméthode

Section 3: Le Web, le http et le HTML16 Quelques variables CGI (ii) HTTP_USER_AGENT Cette variable permet d'avoir des informations sur le type de navigateur utilisé par le client, ainsi que son système d'exploitation PATH Il s'agit du chemin d'accès au script CGI PATH_INFO Il s'agit de la partie de l'URL (ayant servie à accéder au script CGI) située avant le point d'interrogation. Il s'agit donc du chamin d'accès au script CGI sans prendre en compte les données supplémentaires PATH_TRANSLATED Il s'agit du chemin d'accès absolu au script CGI, c'est-à-dire l'emplacement absolu du script sur le serveur QUERY_STRING Il s'agit de la partie de l'URL (ayant servie à accéder au script CGI) située après le point d'interrogation. C'est de cette manière que sont transmises les données d'un formulaire dans le cas de la méthode GETformulaire REMOTE_ADDR Cette variable contient l'adresse IP du client appelant le script CGIadresse IP

Section 3: Le Web, le http et le HTML17 Quelques variables CGI (iii) REMOTE_USER Cette variable n'existe que si le client a été soumis à une authentification, et contient alors le couple nom_d_utilisateur/mot_de_passe SCRIPT_FILENAME Chemin d'accès complet au script CGI SCRIPT_NAME Chemin d'accès relatif (par rapport au chemin d'accès à la racine web) au script CGI SERVER_PORT port TCP auxquel les données ont été envoyées (généralement le port 80)port TCP SERVER_PROTOCOL Nom et version du protocole utilisé pour envoyer la requête au script CGI

Section 3: Le Web, le http et le HTML18 Nouvelles technologies pour la programmation serveur Servlets et Java Server Pages PHP (Python et Apache) Perl (anciennement, le premier choix pour la programmation des CGI) Active Server Pages et VBScript pour lenvironnement Microsoft Ruby on Rails!

Section 3: Le Web, le http et le HTML19 Les Servlets En Java, en Ruby, avec une approche orientée objet Peuvent utiliser les libraires du langage Portable, sexécute sur une grande variété de serveurs Définition publique Tests disponibles Code ouvert de base gratuit Disponible sur Apache

Section 3: Le Web, le http et le HTML20 Les servlets (ii) Composante qui reçoit la requête HTTP Construit la réponse Retourne la réponse Interface aux serveurs standardisée Paramètres Appel et fil d'exécution Variables locales, par requêtes, ou partagées Construire la réponse Limite: construire la réponse en HTML dans un programme est lourd Séparer la logique de l'application de la présentation

Section 3: Le Web, le http et le HTML21 Pour faire un Servlet Implémenter linterface Servlet, habituellelement en héritant de la super classe HttpServlet La méthode doGet est appelée lorsque le serveur web reçoit une requête GET(doPut, doHead) protected void doGet(HttpServletRequest req, HttpServletResponse resp)HttpServletRequest HttpServletResponse Parameters: req - an HttpServletRequest object that contains the request the client has made of the servlet HttpServletRequest resp - an HttpServletResponse object that contains the response the servlet sends to the client HttpServletResponse

Section 3: Le Web, le http et le HTML22 Un exemple import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloThere extends HttpServlet{ public void doGet (HttpServletRequest rq, HttpServletResponse rp) throws ServletException, IOException { rp.setContentType(text/html); PrintWriter browserOut = rp.getWriter(); browserOut.println( ); browserOut.println ( Hello there ); browserOut.println( ); browserOut.println( Hello there ); browserOut.println( ); }

Section 3: Le Web, le http et le HTML23 Le cycle de vie du Servlet Le Servlet est chargé en mémoire Le Servlet est initialisé Il attend les requêtes Il exécute la méthode à chaque requête Il est finalement mis hors service

Section 3: Le Web, le http et le HTML24 Traitement des formulaires Les servlets peuvent accéder aux champs du formulaire soumis Ils utilisent la méthode getParameter pour cela Ils exécutent le traitement approprié Ils peuvent construire une page de réponse

Section 3: Le Web, le http et le HTML25 Exemple getParameter public void doPost(HttpServletRequest rq, HttpServletResponse rp) throws ServletException {... String fName = rq.getParameter(FirstName), sName = rq.getParameter(SurName);... <INPUT TYPE = text NAME =s SurName Size = 40 MAXLENGTH = 50> Java code for processing forms element

Section 3: Le Web, le http et le HTML26 La persistance HTTP est un protocole sans état Théoriquement, on ne peut pas suivre létat dune session dune requête à lautre Plusieurs solutions sont « standards » Témoins Identification de lutilisateur Réécriture de lURL avec un paramètre donnant le numéro de session

Section 3: Le Web, le http et le HTML27 Les Servlets et la persistance La gestion de la session est supportée avec les Servlets Un objet HttpSession est disponible pour chaque session Cest un sac de tuples, Cet objet est conservé en mémoire et il est disponible dune requête HTTP à lautre

Section 3: Le Web, le http et le HTML28 Un exemple en Java HttpSession sess = rq.getSession(true);.. sess.putValue(Basket, orderVector);.. Vector shopVect = (Vector) sess.getValue(Basket); Create a session object Associate a Vector with it Finally retrieve the Vector after it has been filled

Section 3: Le Web, le http et le HTML29 Les pages dynamiques (i) Problèmes avec la programmation des Servlet et des CGI Le programmeur doit produire des pages HTML dans son code Mélange les tâches et les spécialités Mélange la logique de lapplication et la présentation

Section 3: Le Web, le http et le HTML30 Les pages dynamiques (ii) Encoder du code (ou des appels à du code) dans les pages HTML La majeure partie de la page est « statique », Le gabarit de la page est définie par le concepteur graphique Certaines parties de la page sont dynamiques Le code est exécuté au moment de la requête

Section 3: Le Web, le http et le HTML31 Technologie des pages dynamiques Active Serveur Pages (Microsoft) Java Server Pages (le monde Java) RHTML (le monde Ruby) PHP (le monde Linux)

Section 3: Le Web, le http et le HTML32 Java Server Pages Quoi? Sépare la génération dynamique, en Java, de la présentation, en HTML Réutilise des composents génériques Balises "JSP" et librairies de Java, de JavaBeans Simplifie le développement des pages avec des balises

Section 3: Le Web, le http et le HTML33 Java Server Pages (ii) Comment? Compile les pages JSP en objets Java Servlet Les balises JSP sont remplacées par des appels aux composantes objets Java Ces composantes objets Java, remplaçant les balises JSP, seront exécutés A chaque requête HTTP

Section 3: Le Web, le http et le HTML34 Un exemple de JSP Imprime "Good Morning" ou "Good Afternoon" Welcome Today is Day: Year: Good Morning Good Afternoon

Section 3: Le Web, le http et le HTML35 Description de l'exemple La directive jsp Incluse entre les balises Balises HTML et textes Envoyées tel quel au client Welcome Today is Balises JSP ou d'actions Construites comme des balises XML Celle-ci instancie un objet sur le serveur Balises d'expression Java Evalue l'expression Java entre

Section 3: Le Web, le http et le HTML36 Références Anglais Français