SERVLET (2/2) Maintien de l'état. Champs cachés et réécriture d'url. Cookies
|
|
- Marianne Gignac
- il y a 8 ans
- Total affichages :
Transcription
1 Maintien de l'état SERVLET (2/2) Le protocole HTTP est un protocole sans état impossibilité de garder des informations d une requête à l autre impossibilité d'identifier un client d un autre entre 2 requêtes Solutions = les champs cachés la réécriture d'urls les cookies les sessions Champs cachés et réécriture d'url Cookies Champs cachés Information dans la page HTML cachée à l'utilisateur <input type="hidden" name="secret" value="chuuuut!" /> Positionné dans la balise <form> Transmis au serveur lorsque le formulaire est soumis Note : suivre un lien hypertexte en dehors du formulaire n'envoie pas l'information au serveur Réécriture d'url Sauver l'état dans l'url Chaque URL est une requête de type "GET" URL parfois longue car elle doit contenir toute l'information liée à l'état Informations textuelles envoyées par un serveur Web à un client (navigateur). Lorsqu un client reçoit un cookie, il le stocke localement et le renvoie ensuite au serveur chaque fois qu il accède à une page sur ce serveur Paires de 'nom/valeur' échangées via les en-têtes HTTP HTTP/ OK Set-Cookie: JSESSIONID=50BAB1DB58D5F833D78D9EC1C5A10C5;Path=/myDir GET /mydir/servlet/sessionservlet HTTP/1.1 Cookie: JSESSIONID=50BAB1DB58D5F833D78D9EC1C5A10C5 Les cookies ont une durée de vie paramétrable Utilisations : Suivi de session basé sur un identifiant unique Personnalisation de l'application en fonction des choix du client 62 63
2 Cookies Cookies Limites : Ne contiennent que des chaînes de caractères Transmis à chaque requête => impact sur les performances Déconseillés pour une utilisation sécurisée car la valeur des paramètres est passée en clair dans la requête Le navigateur peut être paramétré pour les refuser La taille et le nombre des cookies sont limités par le navigateur pour des raisons de sécurité Pour les manipuler : javax.servlet.http.cookie Cookie(String name, String value) : constructeur String get/setname() : retourne/attribue le nom du cookie String get/setvalue() : retourne/attribue la valeur du cookie caractères non autorisés : espace [ ] ( ) =, " : ; setdomain(string) : assigne le nom du domaine (Généralement laissé vide car le nom du serveur est assigné par défaut) String get/setpath(string) : retourne/attribue le path où s'applique le cookie get/setmaxage() : délai restant avant expiration du cookie (en seconde) Par défaut, durée de vie d'un cookie = la connexion courante Cookies Cookies En pratique, la servlet : récupère les cookies liés à l'application dans la requête Cookie[] HttpServletRequest.getCookies() ajoute un cookie HttpServletResponse.addCookie(Cookie) modifie un cookie ajouter un cookie avec le même nom et le même path supprime un cookie Cookie.setMaxAge(0) et l'ajouter dans la réponse String sessionid = null; Cookie[] cookies = req.getcookies(); if (cookies!= null) { for (int i = 0; i < cookies.length; i++) { if (cookies[i].getname().equals("sessionid")) { sessionid = cookies[i].getvalue(); if (sessionid == null) { sessionid = new java.rmi.server.uid().tostring(); Cookie c = new Cookie("sessionid", sessionid); c.setmaxage(60 * 60 * 24 * 365); // 1 an res.addcookie(c); out.println("bonjour le nouveau"); else { out.println("encore vous"); out.flush(); out.close(); 66 67
3 Sessions Sessions Les sessions Permettent de stocker les informations des clients côté serveur et non du côté client Pallient aux limites des cookies : stockage d'objets complexes et pas de limite de taille Attention : elles ne sont pas persistantes et se terminent à la déconnexion du client! Objets de type javax.servlet.http.httpsession Obtenir une session à partir de HttpServletRequest HttpSession getsession() retourne la session associée à l utilisateur HttpSession getsession(false) la session est récupérée ou null si elle n'existait pas déjà HttpSession getsession(true) la session est récupérée ou ouverte si elle n'existait pas déjà Manipuler la session à partir de HttpSession setattribute(string, Object) création/remplacement d'un attribut Object getattribute(string) retourne un attribut par son nom removeattribute(string) supprime un attribut par son nom Enumeration getattributenames() retourne le nom de tous les attributs invalidate() invalide l ensemble de la session et libère tous les objets qui y sont associés Sessions Sessions : suivi Un compteur de visites au cours d'une même session public class SessionServlet extends HttpServlet { res.setcontenttype("text/plain"); HttpSession session = req.getsession(); Integer count = (Integer)session.getAttribute("count"); if (count == null) { count = new Integer(1); else { count = new Integer(count.intValue() + 1); session.setattribute("count", count); out.println("vous avez visité cette page " + count + " fois."); Il existe 2 moyens de gérer les sessions (transparent) : à l'aide de cookies (par défaut) à l'aide re la réécriture d'url Cookies A chaque session créée, le serveur envoie un identificateur (cookie) correspondant au client. Ensuite le client renverra ce cookie au serveur lors de sa prochaine requête permettant ainsi au serveur d'identifier le client => mais les cookies peuvent être désactivés! Réécriture des URLs Le serveur ajoute l'identificateur de session à la fin de chaque URL des pages envoyées par celui-ci Cette technique a un coût pour le serveur : il doit personnifier l'url en y incluant l'identifiant de session 70 71
4 Sessions : suivi Sessions : web.xml Réécriture des URLs 2 méthodes existent pour individualiser les URL: String HttpServletResponse.encodeRedirectURL(String) res.sendredirect(res.encoderedirecturl("/servlet/login"); String HttpServletResponse.encodeURL(String) out.println("<a HREF=\"/servlet/toto\">Go</A>"); // à remplacer par out.print("<a HREF=\"" + res.encodeurl(req.getcontextpath() + "/servlet/toto") + "\">Go</A>"); Ces méthodes réécrivent l'url uniquement si le client n'accepte pas les cookies. Dans l'autre cas l'url reste inchangée Limitations des 2 approches : pas de données volumineuses, caractères non autorisés, longueur URL, données visibles (sécurité) <session-timeout> : permet de définir la durée en minutes pendant laquelle la session d'un utilisateur reste active <web-app> <session-config> <session-timeout>30</session-timeout> </session-config> </web-app> web.xml ServletContext : Partage d'informations ServletContext : Partage d'informations Les servlets d'une même application peuvent partager des informations au moyen du contexte ( session! ) Le conteneur de servlet gère un contexte par application Le contexte peut servir à communiquer : de l'information entre servlets d'une même application (ou non) avec le conteneur de servlet (Obtenir des ressources sur le serveur, écrire dans un fichier de log) Le contexte implémente l'interface ServletContext et est accessible par getservletcontext() via HttpServlet Partage d information inter-servlets : Enumeration getattributenames() retourne l ensemble des noms de tous les attributs liés Object getattribute(string) retourne l objet sous le nom indiqué void setattribute(string, Object) lie un objet au nom indiqué void removeattribute(string) supprime l objet lié sous le nom indiqué Partage d information inter-applications Possibilité de partager des informations entre contextes web d'un même serveur Solution : la Servlet recherche un autre contexte à partir de son propre contexte ServletContext getcontext(string uri) : obtient le contexte à partir d un chemin URI (chemin absolu) Obtenir des ressources de l'application à partir du contexte courant Set getresourcepaths(string) : Liste des chemins à partir d'un chemin ("/META-INF/", "/WEB-INF/", etc.) String getrealpath(string) : obtenir le chemin absolu à partir d'un chemin relatif de l'application URL getresource(string) InputStream getresourceasstream(string) 74 75
5 ServletContext : Gestion des traces ServletContext : web.xml Produire des logs dans Tomcat (<tomcat>/logs/): void log(string) void log(string, Throwable) public void doget(){ getservletcontext().log("a message"); try { // catch (Exception e) { getservletcontext().log("an exception occurred", e); Servlet :12:54 A message :12:54 An exception occurred java.io.ioexception at com.master2.myservlet.doget(unknown Source) at javax.servlet.http.httpservlet.service(httpservlet.java:740) at javax.servlet.http.httpservlet.service(httpservlet.java:853) Tomcat 76 Des informations de contexte peuvent être définies dans le descripteur web.xml Ces informations sont accessibles par toutes les servlets de l'application web String ServletContext.getInitParameter(String) <web-app> <context-param> <param-name>annee</param-name> <param-value>2007</param-value> <description>une description </description> </context-param> </web-app> web.xml 77 Collaboration de servlets Collaboration de servlets : redirection Les servlets peuvent partager ou déléguer le contrôle de la requête Deux types de collaborations : Délégation : une Servlet peut renvoyer une requête entière à une autre servlet Inclusion : une Servlet peut inclure du contenu généré par une autre servlet Les avantages sont : Délégation de compétences Meilleure abstraction et architecture logicielle MVC Interface gérant la collaboration : javax.servlet.requestdispatcher Une instance de RequestDispatcher est obtenue : Sur la requête : getrequestdispatcher(string path) path est le chemin relatif ou absolu d'une ressource (servlet, JSP, fichier statique, ) ne pouvant pas sortir du contexte courant 78 Pour distribuer en dehors du contexte courant, il faut : Identifier le contexte extérieur : utilisation de getcontext(string uri) Utiliser ensuite getrequestdispatcher(string path) Note : les chemins sont uniquement en absolu Redirection de la requête d une servlet vers une autre ressource sur le serveur Types de redirection : Effectuée par le serveur sur le même serveur void RequestDispatcher.forward(ServletRequest, ServletResponse) Effectuée par le serveur sur un autre serveur void RequestDispatcher.sendRedirect(String) Possibilité de transmettre des informations lors de la redirection en utilisant les attributs de requête via la méthode setattribute() en attachant des paramètres à l URL 79
6 Collaboration de servlets : redirection Collaboration de servlets : redirection Illustration de redirection interne public class Emetteur extends HttpServlet { req.setattribute("nom", "toto"); // getattribute() pour // retrouver la valeur RequestDispatcher disp = req.getrequestdispatcher("/recepteur.do?age=22"); disp.forward(req, res); // Ne rien faire sur req et res public class Recepteur extends HttpServlet { res.setcontenttype("text/plain"); out.println(req.getparameter("age")); // chaîne de caractères out.println(req.getattribute("nom")); // objet 80 Illustration de redirection externe : alternative 1 : redirection différée du client vers une autre URL public class ClientMove extends HttpServlet { static final String NEW_HOST = " public void doget(httpservletrequest req, HttpServletResponse res) res.setcontenttype("text/html"); String newlocation = NEW_HOST + req.getrequesturi(); res.setheader("refresh", "5; URL=" + newlocation); out.println("changement d'url : <A HREF=\""); out.println(new_host+ "\">"+ NEW_HOST +"</A><BR>"); out.println("vous serez redirigé dans 5 secondes"); Illustration de redirection externe : alternative 2 : redirection immédiate du client vers une autre URL : sendredirect(string) 81 Collaboration de servlets : inclusion Collaboration de servlets : inclusion Inclusion du contenu d une ressource dans la réponse courante (Jsp, servlet, fichier texte ) void RequestDispatcher.include( ServletRequest req, ServletResponse res) La différence avec une redirection est : la servlet appelante garde le contrôle de la réponse elle peut inclure du contenu avant et après le contenu inclus Possibilité de transmettre des informations lors de l'inclusion en utilisant les attributs de requête via la méthode setattribute() 82 public class Regroupage extends HttpServlet { res.setcontenttype("text/html"); out.println("<html><body>"); RequestDispatcher dispat = req.getrequestdispatcher("/inclus.do"); dispat.include(req,res); out.println("<br />"); req.setattribute("bonjour", "Bonjour"); dispat.include(req,res); out.println("<br />"); req.setattribute("bonsoir", "Bonsoir"); dispat.include(req,res); out.println("<br />"); out.println("</body></html>"); public class Inclus extends HttpServlet { if(req.getattribute("bonjour")!= null) { out.println(req.getattribute("bonjour")); if (req.getattribute("bonsoir")!= null) { out.println(req.getattribute("bonsoir")); else { out.println("pas Bonsoir"); else { out.println("rien"); 83
7 Servlet et Thread Une servlet ne possède qu'une seule instance (singleton) qui est attaquée par plusieurs threads à la fois (1 thread / client) Problèmes : Plusieurs threads peuvent traverser la méthode service() en même temps => ne sont pas thread safe ni les variables d'instance, les contextes, les sessions Cas d'un client qui clique plusieurs fois sur un bouton "submit", ouvre plusieurs navigateurs, etc. Accès concurrents sur une ressource : modification d un fichier commun, etc. Servlet et Thread Solution 1 : utilisation de synchronized public class MyThread extends HttpServlet { private int i = 0; public void doget( ) { synchronized(this) { int tmp = ++i; public class MyThread extends HttpServlet { public void doget( ) { User user = new User(); HttpSession session = req.getsession(true); synchronized(session) { session.setattribute("user", user); En général : Les variables doivent être locales aux méthodes Les attributs de classes ne peuvent être que de constantes de configuration initialisées dans la méthode init() Servlet et Thread web.xml : Gestion des erreurs Solution 2 : Utiliser l interface SingleThreadModel implémentée par la servlet qui permet d indiquer au moteur de servlets que l on souhaite qu une instance de la servlet ne soit attaquée que par un Thread à la fois Cette interface ne comporte aucune méthode à implémenter, elle ne représente qu un drapeau pour le moteur de servlet <web-app> <servlet-mapping> <servlet-name>errorservlet</servlet-name> <url-pattern>/servleterr</url-pattern> </servlet-mapping> <error-page> <exception-type>javax.servlet.servletexception</exception-type > <location>/servleterr</location> </error-page> web.xml <error-page> <error-code>403</error-code> <location>/errorpages/error403.jsp</location> </error-page> <error-page> <exception-type>java.lang.throwable</exception-type > <location>/errorpages/error403.jsp</location> </error-page> 86 87
8 web.xml : Filtres web.xml : Filtres API javax.servlet.filter Permet de consulter et transformer les en-têtes et le contenu des requêtes et des réponses Traitement s interposant entre le client et la ressource requise (Servlet, JSP, fichier) Chaînage de filtres selon l ordre de déclaration dans web.xml Exemple de filtres Authentification, blocage des adresses IP Conversion (Image), Transformation (XSLT) Chiffrage, Compression Log, 88 <filter> <filter-name>logfilter</filter-name> <display-name>logfilter</display-name> <description>envoie des logs</description> <filter-class>myapp.filters.logfilter</filter-class> </filter> <filter-mapping> <filter-name>logfilter</filter-name> <url-pattern>/unpath/*</url-pattern> </filter-mapping> Web.xml public class LogFilter implements javax.servlet.filter { private FilterConfig config; public void init(filterconfig fc) throws ServletException { config = fc; public void dofilter(servletrequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { config.getservletcontext().log( "Request received from: " + req.getremotehost()); chain.dofilter(req, res); public void destroy() { Filtre 89 web.xml : Accès à des paramètres web.xml : Autres fonctionnalités <env-entry> <env-entry-name>nom</env-entry-name> <env-entry-value>toto</env-entry-value> <env-entry-type>java.lang.string</env-entry-type> </env-entry> Context ctx = new InitialContext(); String value = (String) ctx.lookup("java:/comp/env/nom"); Web.xml Servlet Centralisation de paramètres dans le fichier web.xml accessibles aux servlets de l'application Illustration : paramètres d'accès à une base de données Web.xml permet également de paramétrer : Observateurs de session : réagir face à des événements intervenants dans la session Mapping de types MIME : lorsque des fichiers sont envoyés au client, Tomcat génère automatiquement un en-tête "Content-Type" pour les types définis dans le descriteur Références d'ejb Configuration des sources de données (appels JNDI) Configuration de la JSP et des tags JSP (à voir) Contraintes de sécurité (à voir) etc
Web Tier : déploiement de servlets
Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation
Plus en détailLe développement d applications Web
Le développement d applications Web Plan Principes des applications Web Origine et utilité des Servlets Présentation des Servlets Les JSP La Standard TAG Library Servlet, JSP et accès aux SGBD Les technologies
Plus en détailHTTP 1.1. HyperText Transfer Protocol ... ... TCP IP ...
HTTP 1.1 Place de http dans le modèle osi : HyperText Transfer Protocol...... TCP IP...... HTTP est un protocole «sans état» : chaque page WEB est transmise dans une connexion séparée (sauf pour les connections
Plus en détailTP 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.
ASTRIUM - Toulouse JEE Formation 2013 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. Figure 1 Architecture
Plus en détailTraitement des données de formulaires. Accès aux BD avec JDBC Servlets - M. Baron - Page
Organisation du cours sur les Servlets Servlets et API Traitement des données de formulaires Architecture de développement Cycle de vie Suivi de session Collaboration de Servlets Sécurité : authentification
Plus en détailExtension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.
Note technique W4 Engine Extension SSO Java Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. 1 Présentation 3 2 Custom SSO Java 4 3 Bilan 10 Sommaire Référence
Plus en détailAvant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4
Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.
Plus en détailJavaServer Pages (JSP)
JavaServer Pages (JSP) XVIII-1 Prérequis pour ce cours Ce cours a trait à la programmation Java coté serveur Il faut connaître un minimum de technologie J2EE Il faut connaître les servlets XVIII-2 Motivation
Plus en détailTP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet
TP Composants Java ME - Java EE Vous allez, dans ce TP, construire une architecture client serveur, plus précisément MIDlet cliente, servlet serveur. Pour cela, on va d'abord installer la partie serveur
Plus en détailArchitecture Orientée Service, JSON et API REST
UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API
Plus en détailA DESTINATION DES SERVICES TIERS. Editeurs d applications et ressources pédagogiques connectées à l ENT
DOCUMENTATION CAS A DESTINATION DES SERVICES TIERS Titre descriptif du document Référence du document REFO-DT-ENTV2-ServeurCAS-v1.2.docx Nom du fichier REFO-DT-ENTV2-ServeurCAS-v1.2.docx Version du document
Plus en détail1. Installation d'un serveur d'application JBoss:
EPITA Ala Eddine BEN SALEM App-Ing2 J2EE T.P. 4 EJB3, Serveur d'application JBoss 1. Installation d'un serveur d'application JBoss: télécharger l'archive du serveur JBoss à l'adresse: http://sourceforge.net/projects/jboss/files/jboss/jboss-5.0.0.ga/jboss-5.0.0.ga.zip/download
Plus en détailAuthentification et contrôle d'accès dans les applications web
Authentification et contrôle d'accès dans les applications web Quelques Rappels Objectifs : contrôler que seulement Certains utilisateurs Exécutent certaines opérations Sur certains objets Trois entités
Plus en détailApplication web de gestion de comptes en banques
Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion
Plus en détailAspects techniques : guide d interfaçage SSO
COURDECO Aspects techniques : guide d interfaçage SSO Septembre 2011 Cette annexe présente succinctement le système d'authentification unique (SSO : single sign on, authentification unique) utilisé dans
Plus en détailDocumentation CAS à destination des éditeurs
Documentation CAS à destination des éditeurs Sommaire Préambule... 1 Présentation de CAS...2 Intérêt... 2 Fonctionnement de base...2 Synoptique des échanges (1ère connexion)... 2 Synoptique des échanges
Plus en détailApplication Web et J2EE
Application Web et J2EE Servlet, JSP, Persistence, Méthodologie Pierre Gambarotto Département Informatique et Math appli ENSEEIHT Plan Introduction 1 Introduction Objectfis
Plus en détailServeur d'application Client HTML/JS. Apache Thrift Bootcamp
Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/
Plus en détailServeur d'archivage 2007 Installation et utilisation de la BD exist
Type du document Procédure d'installation Auteur(s) Eric Bouladier Date de création 26/02/20007 Domaine de diffusion tous Validé par Equipe Versions Date Auteur(s) Modifications V1.00 26/02/2007 Eric Bouladier
Plus en détailUn exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi
Un exemple d'authentification sécurisée utilisant les outils du Web : CAS 111 L authentification CAS : «Central Authentication Service» CAS ou le service central d authentification Le système CAS, développé
Plus en détailJava Naming and Directory Interface
Introduction Java Naming and Directory Interface Gaël Thomas gael.thomas@lip6.fr Université Pierre et Marie Curie Master Informatique M2 Spécialité SAR Java Naming and Directory Interface (JNDI) Java Standard
Plus en détailFOIRE AUX QUESTIONS PAIEMENT PAR INTERNET. Nom de fichier : Monetico_Paiement_Foire_aux_Questions_v1.7 Numéro de version : 1.7 Date : 2014-05-29
FOIRE AUX QUESTIONS PAIEMENT PAR INTERNET Nom de fichier : Monetico_Paiement_Foire_aux_Questions_v1.7 Numéro de version : 1.7 Date : 2014-05-29 FOIRE AUX QUESTIONS Confidentiel Titre du document : Monetico
Plus en détailLe développement d applications Web. François Charoy Pascal Molli Pascal Urso
Le développement d applications Web François Charoy Pascal Molli Pascal Urso License Creative Commons Cette création est mise à disposition selon le Contrat Paternité-Pas d'utilisation Commerciale-Partage
Plus en détailCréation d'un site dynamique en PHP avec Dreamweaver et MySQL
Création d'un site dynamique en PHP avec Dreamweaver et MySQL 1. Création et configuration du site 1.1. Configuration de Dreamweaver Avant de commencer, il est nécessaire de connaître l'emplacement du
Plus en détailUne introduction à la technologie EJB (2/3)
Une introduction à la technologie EJB (2/3) 1 Les singletons des EJB 3.1 1.1 Synchronisation gérée manuellement Depuis la version 3.1, des EJB Statless à instance unique sont maintenant disponibles : ce
Plus en détailTP réseau Android. Bidouilles Tomcat. a) Installer tomcat : il suffit de dézipper l'archive apache-tomcat-8.0.15-windowsx64.zip.
TP réseau Android Ce TP utilise tomcat 8, sous windows et des.bat windows. On peut trouver ce serveur web et conteneur d'applications web à http://tomcat.apache.org/download-80.cgi. Il se trouve dans l'archive
Plus en détailCette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :
Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens
Plus en détailTP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.
Université Paris 7 M2 II Protocole Internet TP3 Mail Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose. 1 Protocole SMTP 1. Le protocole SMTP est définit dans
Plus en détailPatrons de conception [Krakowiak06]
Architectures Outils Java Servlets État servlet JSP Accès BD Conception Patrons de conception [Krakowiak06] 284 Définition ensemble de règles (définitions d éléments, principes de composition, règles d
Plus en détailFormation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux
Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un
Plus en détailCours CCNA 1. Exercices
Cours CCNA 1 TD3 Exercices Exercice 1 Enumérez les sept étapes du processus consistant à convertir les communications de l utilisateur en données. 1. L utilisateur entre les données via une interface matérielle.
Plus en détailSIO-65291 Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault
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
Plus en détailProjet gestion d'objets dupliqués
Projet gestion d'objets dupliqués Daniel Hagimont Daniel.Hagimont@enseeiht.fr 1 Projet Service de gestion d'objets dupliqués Mise en cohérence lors de la prise d'un verrou sur un objet Pas de verrous imbriqués
Plus en détailVérification intégrée de l'utilisateur Guide d'implémentation client 2015-05-04 Confidentiel Version 2.9
Vérification intégrée de l'utilisateur Guide d'implémentation client 2015-05-04 Confidentiel Version 2.9 SOMMAIRE Introduction... 2 Objectif et public visé... 2 À propos de ce document... 2 Termes fréquemment
Plus en détailRTE Technologies. RTE Geoloc. Configuration avec Proxy ou Firewall
RTE Technologies RTE Geoloc Configuration avec Proxy ou Firewall 2 Septembre 2010 Table des matières Introduction... 3 Présentation de RTE Geoloc... 3 Configuration des paramètres de sécurité... 3 Configuration
Plus en détailApplication de lecture de carte SESAM-Vitale Jeebop
Application de lecture de carte SESAM-Vitale Jeebop Présentation Le module de lecture de carte SESAM-Vitale Jeebop est une application Java Web Start, c'est à dire une application Java qui se télécharge
Plus en détailRMI le langage Java XII-1 JMF
Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine
Plus en détailMise en œuvre des serveurs d application
Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés
Plus en détailQuelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Plus en détailGroupe Eyrolles, 2005, ISBN : 2-212-11406-0
Groupe Eyrolles, 2005, ISBN : 2-212-11406-0 10 L atelier MyEclipse Eclipse facilite considérablement le développement Java en équipe. Son puissant éditeur, associé à des fonctionnalités de complétion de
Plus en détailArchitectures en couches pour applications web Rappel : Architecture en couches
Rappel : Architecture en couches Une architecture en couches aide à gérer la complexité : 7 Application 6 Presentation 5 Session Application Les couches hautes dépendent des couches basses 4 Transport
Plus en détailRMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.
RMI Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. Méthode proche de RPC. Outils et classes qui rendent l'implantation d'appels de méthodes d'objets distants aussi simples
Plus en détailPrésentation du relais HTTP Open Source Vulture. Arnaud Desmons <ads@intrinsec.com> Jérémie Jourdin <jjn@intrinsec.com>
Arnaud Desmons Jérémie Jourdin Présentation Motivations Historique Démonstration Présentation fonctionnelle Présentation technique L'interface d'administration Roadmap
Plus en détailTutoriel: Création d'un Web service en C++ avec WebContentC++Framework
Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Gaël de Chalendar CEA LIST / LIC2M Journée de Présentation des Technologies WebContent INSTN 14/12/2009 Présentation de gsoap Plan
Plus en détailPour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.
Chapitre 7 Le mode de communication en connexion est, a priori, supporté par le protocole TCP. Ce protocole fournit une communication fiable; les données sont transmises comme chaînes d octets. Avant de
Plus en détailFailles XSS : Principes, Catégories Démonstrations, Contre mesures
HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet Séminaire 15 ans HSC Failles XSS : Principes, Catégories Démonstrations,
Plus en détailModule http MMS AllMySMS.com Manuel d intégration
Module http MMS AllMySMS.com Manuel d intégration Objectif du document... 3 1 Envoi de MMS par requête http... 4 1.1 Format de la requête utilisée... 4 1.2 Arborescence et explication des balises du flux
Plus en détailClasse ClInfoCGI. Fonctions membres principales. Gestion des erreurs
Utilisation des classes de PourCGI par Michel Michaud, version 2002-11-23 Les fichiers PourCGI.h et PourCGI.cpp rendent disponibles deux classes et une fonction libre qui permettent de faire facilement
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailAuthentification avec CAS sous PRONOTE.net 2011. Version du lundi 19 septembre 2011
1 Authentification avec CAS sous PRONOTE.net 2011 Version du lundi 19 septembre 2011 2 1 - Vocabulaire employé et documentation... 3 1.1 - SSO (Single Sign-On)... 3 1.2 - CAS (Central Authentication Service)...
Plus en détail1. Installation du Module
1 sur 10 Mise en place du Module Magento V 1.5.7 1. Installation du Module Vous pouvez installer le module de deux façons différentes, en passant par Magento Connect, ou directement via les fichiers de
Plus en détailTutoriel d installation de Hibernate avec Eclipse
Tutoriel d installation de Hibernate avec Eclipse Table des matières 1. Création de la base de données... 4 2. Installation de Hibernate Synchronizer... 5 3. Utilisation de Hibernate... 6 3.1 Création
Plus en détailPHP 5.4 Développez un site web dynamique et interactif
Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Table des matières Table des matières 1 Chapitre 1 Introduction 1. Objectif de l'ouvrage.............................................
Plus en détailGroupe Eyrolles, 2003 ISBN : 2-212-11270-X
Groupe Eyrolles, 2003 ISBN : 2-212-11270-X 7 Le fichier server.xml Dans le chapitre 3, nous avons abordé les bases de la configuration de Tomcat, informations suffisantes pour vous mettre le pied à l étrier.
Plus en détailHYPERPLANNING EST UN LOGICIEL INDEX EDUCATION
YPERPLANNING 2011 Cette notice est destinée aux personnes gérant l ENT. HYPERPLANNING cas Ce module est mis en œuvre à l attention des ENT. Aucune assistance n est assurée pour l installation de ce module
Plus en détailService d'authentification LDAP et SSO avec CAS
Service d'authentification LDAP et SSO avec CAS Clé de l'extension : ig_ldap_sso_auth 2006-2007, Michaël Gagnon, Ce document est publié sous la licence open source, disponible au
Plus en détailInstallation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6
Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 1 BERNIER François http://astronomie-astrophotographie.fr Table des matières Installation d un serveur HTTP (Hypertext Transfer
Plus en détailApplication des Spécifications détaillées pour la Retraite, architecture portail à portail
Pour Application des Spécifications détaillées pour la Retraite, architecture portail à portail Version 1.0 ON-X S.A. est une société du Groupe ON-X 15, quai Dion Bouton 92816 PUTEAUX cedex. Tél : 01 40
Plus en détailAjouter le moyen de paiement e-chèque-vacances (ANCV) Systempay 2.3
Ajouter le moyen de paiement e-chèque-vacances (ANCV) Systempay 2.3 Version du document 1 Sommaire 1. HISTORIQUE DU DOCUMENT... 3 2. LE PAIEMENT FRACTIONNÉ : UTILISER PLUSIEURS MOYENS DE PAIEMENT... 4
Plus en détailProjet Java EE Approfondi
EISTI Projet Java EE Approfondi Manuel d installation du framework Stripes Amaury Languillat, Yann Gonzalez, Arnaud Recher, Vincent Laronde, Anys Mechkar 10 Manuel d installation Téléchargement On part
Plus en détailLa persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1
La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection
Plus en détailADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5
ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5 Informations juridiques Copyright 2010 Adobe Systems Incorporated and its licensors. All rights reserved. Administration d Adobe LiveCycle Mosaic 9.5 13 octobre
Plus en détailUtilisation de Jakarta Tomcat
ISI 1022 : Déploiement d applications Web Jean-Noël Sorenti. Année 2002/2003 Déploiement d application Web Utilisation de Jakarta Tomcat ISI 1022 : 1 ISI 1022 : Déploiement d applications Web Une application
Plus en détailFormation en Logiciels Libres. Fiche d inscription
République Tunisienne Ministère de l'industrie et la Technologie - Secrétariat d'état de la Technologie Unité des Logiciels Libres Formation en Logiciels Libres Fiche d inscription (Une fiche par candidat)
Plus en détailConfigurer le Serveur avec une adresse IP Statique (INTERFACE :FastEthernet) : 172.16.0.253 et un masque 255.255.0.0
RES_TP3 Objectifs : Les réseaux informatiques : Client - Serveur Utilisation de serveurs DHCP HTTP DNS FTP Configuration basique d un routeur Utilisation du simulateur CISCO PACKET TRACER G.COLIN Architecture
Plus en détailArchitecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application
Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces
Plus en détailLe service FTP. M.BOUABID, 04-2015 Page 1 sur 5
Le service FTP 1) Présentation du protocole FTP Le File Transfer Protocol (protocole de transfert de fichiers), ou FTP, est un protocole de communication destiné à l échange informatique de fichiers sur
Plus en détailTP architecture N-tiers en Java EE ou Java EE, Android : la synthèse. Le serveur GereCompteBancaireServlet
TP architecture N-tiers en Java EE ou Java EE, Android : la synthèse Vous allez, dans ce TP, construire une architecture client serveur, plus précisément une application Android cliente et une servlet
Plus en détailProjet de programmation (IK3) : TP n 1 Correction
Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public
Plus en détailCompte Rendu d intégration d application
ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...
Plus en détailTD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting
IUT Bordeaux 1 2005-2006 Département Informatique Licence Professionnelle ~ SI TD Objets distribués n 3 : Windows XP et Visual Studio.NET Introduction à.net Remoting Partie 1 : l'analyseur de performances
Plus en détailJahia CMS ET Portal Version 5.0
Jahia CMS ET Portal Version 5.0 Développer un portlet JSR168 Avec Jahia CMS et Portal Version 5.0 V.1 Français Jahia Ltd Suisse 9, route des jeunes 1227 Carouge p. 2/47 TERMES ET CONDITIONS D UTILISATION
Plus en détailConnexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC
Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC Sommaire 1. Objectifs et intérêts... 2 2. Intégrer le driver SQL Server dans SJSAS 9... 2 2.1. Télécharger
Plus en détail24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.
Plan du cours 2 Introduction générale : fondamentaux : les fondamentaux Michel Buffa (buffa@unice.fr), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime
Plus en détailDéveloppement Logiciel
Développement Logiciel Éxamen session 1-2012-2013 (Vendedi 25 mai, 9h-11h) Seuls les documents liés directement au cours sont autorisés (comme dit sur le site) : sujets de TD, notes de cours, notes personnelles
Plus en détailModèle à composants. Daniel Hagimont. IRIT/ENSEEIHT 2 rue Charles Camichel - BP 7122 31071 TOULOUSE CEDEX 7. Remerciements
Modèle à composants Daniel Hagimont IRIT/ENSEEIHT 2 rue Charles Camichel - BP 7122 31071 TOULOUSE CEDEX 7 Daniel.Hagimont@enseeiht.fr http://www.enseeiht.fr/~hagimont Remerciements Eric Bruneton Sacha
Plus en détail1. Mise en œuvre du Cegid Web Access Server en https
1. Mise en œuvre du Cegid Web Access Server en https Principe d usage La mise en œuvre du mode https sur un serveur Web Access implique : De disposer d un certificat pour le nom d hôte configuré sur le
Plus en détailJOnAS 5. Serveur d application d
JOnAS 5 Serveur d application d dynamique Agenda En quelques mots Caractéristiques essentielles Zoom sur le versioning 2 Bull, 2008 Serveur d application dynamique JOnAS - Serveur d application Open Source
Plus en détailINTRODUCTION AUX TESTS DE PERFORMANCE ET DE CHARGE
INTRODUCTION AUX TESTS DE PERFORMANCE ET DE CHARGE 1 Introduction aux tests de performance et de charge Sommaire Avertissement...2 Aperçu...3 1. Création du scénario de navigation web (Test web)...4 2.
Plus en détailLa base de données XML exist. A. Belaïd
La base de données XML exist Introduction Qu est-ce-que exist? C est une base de donnée native, entièrement écrite en Java XML n est pas une base de données en soi Bien qu il possède quelques caractéristiques
Plus en détailFORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères
FORMATION PcVue Mise en œuvre de WEBVUE Journées de formation au logiciel de supervision PcVue 8.1 Lieu : Lycée Pablo Neruda Saint Martin d hères Centre ressource Génie Electrique Intervenant : Enseignant
Plus en détailSécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin
Sécurité des sites Web Pas un cours un recueil du net INF340 Jean-François Berdjugin Vulnérabilité Définition (wikipédia) : Dans le domaine de la sécurité informatique, une vulnérabilité est une faiblesse
Plus en détailSage CRM. 7.2 Guide de Portail Client
Sage CRM 7.2 Guide de Portail Client Copyright 2013 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,
Plus en détailInstitut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki
Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants
Plus en détailDevenez un véritable développeur web en 3 mois!
Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web
Plus en détailAlfstore workflow framework Spécification technique
Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date
Plus en détail4. SERVICES WEB REST 46
4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,
Plus en détailIntroduction aux «Services Web»
Introduction aux «Services Web» Sana Sellami sana.sellami@univ-amu.fr 2014-2015 Modalité de contrôle de connaissances Note de contrôle de continu Note projet Evaluation du projet la semaine du 17 novembre
Plus en détailSynchro et Threads Java TM
Synchro et Threads Java TM NICOD JEAN-MARC Master 2 Informatique Université de Franche-Comté UFR des Sciences et Techniques septembre 2008 NICOD JEAN-MARC Synchro et Threads avec Java TM 1 / 32 Sommaire
Plus en détailProgrammer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)
Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Plus en détailUn ordonnanceur stupide
Un ordonnanceur simple Université Paris Sud L objet des exercices qui suivent est de créer un ordonanceur implantant l algorithme du tourniquet ( round-robin scheduler ). La technique utilisée pour élire
Plus en détailAuto-évaluation Programmation en Java
Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN
Plus en détailSUPPRIMER SES COOKIES
SUPPRIMER SES COOKIES 1. PREAMBULE 2 2. SOUS FIREFOX 3 3. SOUS GOOGLE CHROME 4 4. SOUS SAFARI 5 5. SOUS INTERNET EXPLORER 9 6 6. SOUS INTERNET EXPLORER 8 7 7. SOUS OPERA 8 7.1 POUR EFFACER LES COOKIES...
Plus en détailLe stockage local de données en HTML5
Le stockage local HTML5, pourquoi faire? Dans une optique de réduction des couts de maintenance, de déploiement, beaucoup d'entreprises ont fait le choix de migrer leurs applicatifs (comptables, commerciales,
Plus en détailStockage du fichier dans une table mysql:
Stockage de fichiers dans des tables MYSQL avec PHP Rédacteur: Alain Messin CNRS UMS 2202 Admin06 30/06/2006 Le but de ce document est de donner les principes de manipulation de fichiers dans une table
Plus en détailWebSSO, synchronisation et contrôle des accès via LDAP
31 mars, 1er et 2 avril 2009 WebSSO, synchronisation et contrôle des accès via LDAP Clément Oudot Thomas Chemineau Sommaire général Synchronisation d'identités WebSSO et contrôle des accès Démonstration
Plus en détailTolérance aux Fautes des Grappes d Applications J2EE. Applications Internet dynamiques
Application statique Tolérance aux Fautes des Grappes d Applications J2EE Sara Bouchenak Sacha Krakowiak, Noël de Palma, Stéphane Fontaine Projet SARDES INRIA IMAG CFSE'4, 6-8 avril 2005 Tolérance aux
Plus en détailWEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES
WEB & DÉVELOPPEMENT LES BASES DU WEB HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES LE LANGAGE HTML STRUCTURE D UNE PAGE En-tête et corps Syntaxe INSÉRER DES CONTENUS Texte : formatage (titre,
Plus en détail