Micro guide Struts. par Jérémy Buget

Dimension: px
Commencer à balayer dès la page:

Download "Micro guide Struts. par Jérémy Buget"

Transcription

1 Micro guide Struts par Jérémy Buget Table des matières 1) Introduction...2 2)Définitions...3 2) Déroulement...4 3) Schéma récapitulatif...5 4) Code des différents composants sus-cités )Liens utiles /10

2 1) Introduction Struts est l'un des framework les plus utilisés dans le monde des applications Web. Basé sur le modèle MVC-2 il permet de développer rapidement, de façon très structurée et facile à maintenir un tel service. Toutefois sa prise en main n'est pas des plus aisée, qui plus est pour qui s'initie à J2EE et au développement Web en général. J'ai écrit ce micro guide dans le but d'aider un maximum de gens désirant employer Struts dans leur application Web. Ce document n'a pas pour objectif d'expliquer Struts dans ses moindres détail. Par ailleurs, je ne m'étendrai pas sur la création d'une application Web ou sur le fonctionnement d'une architecture MVC. De nombreux tutoriels très bien faits, disponibles sur Internet, existent déjà sur le sujet. Cet article se veut juste un tremplin à une bonne compréhension du framework open sources développé par Apache au sein du projet Jakarta. Afin de pouvoir profiter au maximum de cet article, il est préférable d'avoir de solides connaissances en Java, et d'avoir quelques notions du jargon de J2EE (servlets, javabeans, services Web,...). Dans un premier temps, nous verrons les définitions de quelques uns des composants à mettre en place pour intégrer Struts à votre application. Par la suite, nous verrons les mécanismes qui entrent en jeu lors de l'exécution d'une telle application en se basant sur un exemple simple et facile à comprendre. Ces explications seront accompagnées d'un schéma récapitulatif. Finalement, je terminerai en mettant à votre disposition une grande partie du code crée pour l'exemple ainsi que les liens qui m'ont permis d'acquérir les quelques connaissances présentées ici. 2/10

3 2) Définitions Formulaire : Page JSP (HTML avec des balises permettant d'exécuter directement du code Java) permettant à l'utilisateur de compléter des informations afin qu'elles soient traitées. Un exemple basique est une page de connexion à un compte personnel avec un champ Login, un champ Password et un bouton OK pour valider. ActionForm : Classe abstraite déclarée dans le framework Struts. Elle permet de récupérer les informations récoltées dans le formulaire JSP qui lui est associé. A chaque formulaire JSP correspond donc une classe qui hérite de ActionForm. Action : Classe abstraite déclarée dans le framework Struts. Elle permet de traiter les données contenues dans une ActionForm. Par exemple dans le cas d'une connexion à un compte personnel, c'est elle qui va vérifier si le login et le password entrés sont exacts. Elle va renvoyer un indicateur en fonction du résultat de l'action permettant de déterminer la prochaine page JSP à renvoyer à l'utilisateur. Ainsi en cas de succès il sera redirigé vers la page principale de son compte, et en cas d'échec vers la page de connexion en spécifiant les erreurs rencontrées. Le fichier struts-config.xml : Fichier principal d'une application Web utilisant Struts. Il est au coeur de la couche Controler. Son rôle est multiple. Il va d'une part, faire le lien entre un formulaire et son ActionForm, d'autre part il va mettre en corrélation l'actionform obtenue et l'action qui lui est associée. Enfin il va servir de pont entre le résultat d'une Action et la page à retourner suivant l'indicateur renvoyé par cette même Action. 3/10

4 2) Déroulement Pour expliciter le déroulement général d'une application Web se basant sur Struts, on prendra l'exemple simple d'une connexion à un compte personnel via un formulaire contenant un champ Login, un champ Password et un bouton OK de validation. On considérera entre autre que les informations personnelles d'un utilisateur sont stockées et accessibles via une base de données située sur un serveur. 1) Le formulaire JSP 1. L'utilisateur remplit les champ Login et Password. 2. Il valide via le bouton OK. 2) L'Action 1. Le fichier struts-config.xml détermine l'action associée au bouton OK. 2. L'Action récupère les données du formulaire JSP via l'actionform qui lui est associée. 3. L'Action analyse ces données et les recoupe avec celles de la base de données. 4. L'Action renvoie un indicateur en fonction de ce traitement qui vaut soit 'success' soit 'error'. 3) La nouvelle vue 1. Le fichier struts-config.xml récupère l'indicateur. 2. En fonction de celui-ci elle renvoie la page correspondante. 4/10

5 3) Schéma récapitulatif Explications : Schéma d'illustration du modèle MVC utilisé dans Struts (source : Serge Tahé) Les formulaires JSP sont contenus dans la couche Interface Client. La Servlet est une servlet générique fournie par Struts. Pour les petites applications il n'est pas nécessaire de la modifier bien que cela demeure possible. Chaque Bean représente une ActionForm à associer avec le formulaire JSP correspondant. Les Actions représentent les actions gérées par l'application Web. Les classes d'accès données peuvent être des javabeans, des services Web, ou tout autre objet susceptible de devoir communiquer avec une base de données et / ou de gérer des données stockées. Les classes métier comportent des traitements spécifiques à appliquer en fonction des actions. Les pages JSP sont retournées par la Servlet principale en fonction du résultat des Actions effectuées. 5/10

6 4) Code des différents composants sus-cités 4.1) Fichiers de la couche View Formulaire : loginform.jsp <%@ page language="java" contenttype="text/html; charset=iso " pageencoding="iso "%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " <!-- Indique où trouver les tags que l'on s'apprête à utiliser --> <%@ taglib uri="/tags/struts-bean" prefix="bean"%> <%@ taglib uri="/tags/struts-html" prefix="html"%> <%@ taglib uri="/tags/struts-logic" prefix="logic"%> <html:html> <!-- Header de la page --> <head> <meta http-equiv="content-type" content="text/html; charset=iso "> <title>page Login</title> </head> <!-- Corps de la page --> <body bgcolor="white"> <html:form action="/inputsubmit"> Login <html:text property="login"></html:text><br> Password <html:text property="pwd"></html:text><br> <html:submit value="ok"></html:submit> </html:form> </body> </html:html> Connexion réussie : loginsuccess.jsp <%@ page language="java" contenttype="text/html; charset=iso " pageencoding="iso "%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " <%@ taglib uri="/tags/struts-bean" prefix="bean"%> <%@ taglib uri="/tags/struts-html" prefix="html"%> <%@ taglib uri="/tags/struts-logic" prefix="logic"%> <html:html> <!-- Header de la page --> <head> <meta http-equiv="content-type" content="text/html; charset=iso "> <title>login success</title> </head> <!-- Corps de la page --> <body bgcolor="white"> Login <bean:write name="login" property="login" scope="request" /><br> 6/10

7 Password <bean:write name="login" property="pwd" scope="request" /><br> </body> </html:html> Erreur de connexion : loginfailure.jsp <%@ page language="java" contenttype="text/html; charset=iso " pageencoding="iso "%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " <%@ taglib uri="/tags/struts-bean" prefix="bean"%> <%@ taglib uri="/tags/struts-html" prefix="html"%> <%@ taglib uri="/tags/struts-logic" prefix="logic"%> <html:html> <!-- Header de la page --> <head> <meta http-equiv="content-type" content="text/html; charset=iso "> <title>login Failure</title> </head> <!-- Corps de la page --> <body bgcolor="white"> <h4>bad login or password.</h4> <html:link href="views/lofinform.jsp">try again</html:link> </body> </html:html> 4.2) Fichiers de la couche Modele ActionForm : LoginForm.java package actionform; import org.apache.struts.action.actionform; public class LoginForm extends ActionForm { private String login = null; private String pwd = null; public String getlogin() { return login; public void setlogin(string login) { this.login = login; public String getpwd() { return pwd; public void setpwd(string pwd) { this.pwd = pwd; 7/10

8 JavaBean : Login.java package beans; import java.io.serializable; public class Login implements Serializable { private String login; private String pwd; public String getlogin() { return login; public void setlogin(string login) { this.login = login; public String getpwd() { return pwd; public void setpwd(string pwd) { this.pwd = pwd; Action : LoginAction.java package action; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; import org.apache.commons.beanutils.beanutils; import org.apache.struts.action.action; import org.apache.struts.action.actionform; import org.apache.struts.action.actionforward; import org.apache.struts.action.actionmapping; import actionform.loginform; import beans.login; public class LoginAction extends Action { public ActionForward execute(actionmapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { LoginForm monloginform = (LoginForm) form; Login monlogin = new Login(); BeanUtils.copyProperties(monLogin, monloginform); request.setattribute(mapping.getattribute(), monlogin); if (monlogin.getlogin().equals("admin") && monlogin.getpwd().equals("admin")){ return mapping.findforward("success"); return mapping.findforward("erreur"); 4.3) Fichiers de la couche Controler 8/10

9 Le fichier de configuration : struts-config.xml <?xml version="1.0" encoding="iso "?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" " <struts-config> <!-- ================================================ Form Bean Definitions --> <!-- Déclaration des formulaires de l'application --> <form-beans> <form-bean name="loginform" type="actionform.loginform"></form-bean> </form-beans> <!-- =========================================== Action Mapping Definitions --> <!-- Association entre les Actions, ActionForms et les formulaires JSP --> <action-mappings> <action path="/welcome" forward="/views/welcome.jsp"/> <action path="/inputsubmit" type="action.loginaction" name="loginform" scope="request" attribute="login" input="/views/loginform.jsp"> <forward name="success" path="/views/loginsuccess.jsp"></forward> <forward name="error" path="/views/loginfailure.jsp"></forward> </action> </action-mappings> <!-- ======================================== Message Resources Definitions --> <message-resources parameter="messageresources" /> <!-- =================================================== Validator plugin --> <!-- Validateur de syntaxe des formulaires (optionnel) --> <plug-in classname="org.apache.struts.validator.validatorplugin"> <set-property property="pathnames" value="/org/apache/struts/validator/validator-rules.xml, /WEB-INF/validation.xml"/> </plug-in> </struts-config> 9/10

10 5) Liens utiles Sites en Français : Le Framework Struts : Tutoriel très bien fait qui rentre dans les détails et propose de mettre en place sa première application Struts. Des rappels sur J2EE et MVC sont notamment prodigués en préambule. Tutoriel Jakarta Struts : Excellent tutoriel à la fois précis et largement illustré à propos de Struts mais aussi JSP, MVC,etc. Idéal pour les débutants. A voir absolument, les autres tutoriels de Serge Tahé sur Java, J2EE, MVC, etc... Struts Un framework MVC pour vos applications J2EE : Là encore une série d'articles tout à fait intéressants, qui entrent dans les détails tout en restant compréhensible. Apache Struts par l'exemple : Tutoriel que j'ai trouvé intéressant surtout pour ses illustrations et sa méthodologie (détail d'une application fichier par fichier et pas à pas). Sites en Anglais : Learning about Struts : Le guide officiel de Struts par Apache. Struts, an open-source MVC implementation : Un tutoriel détaillant l'architecture MVC,la plateforme J2EE et les mécanismes de Struts. Common Struts Errors and Causes : Une excellente et indispensable page Web référençant les erreurs fréquentes rencontrées lors d'un développement Web avec Struts et présentant pour quasiment chacune les solutions à ces erreurs. Stepping through Jakarta Struts : Tutoriel pour développer une application Web basique avec Struts pas à pas. An Introduction to Struts : Article présentant Struts, ses possibilités, ses qualités et ses défauts. Intéressant. Struts Framework : Une série d'articles présentant Struts. Intéressant surtout pour son diagramme de séquences en page d'introduction. 10/10

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

Outil de planification en ligne pour des créations de rendez-vous ou de sondage Outil de planification en ligne pour des créations de rendez-vous ou de sondage Centre de Ressources Informatiques (C.R.I.) d'orléans Université d'orléans 4-6 rue Léonard de Vinci, 45061 Orléans Cedex

Plus en détail

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

Avant-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étail

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.

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. 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étail

Documentation CAS à destination des éditeurs

Documentation 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étail

JavaServer Pages (JSP)

JavaServer 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étail

Web Tier : déploiement de servlets

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étail

Cours en ligne Développement Java pour le web

Cours en ligne Développement Java pour le web Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité

Plus en détail

Formation 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. 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étail

Aspects techniques : guide d interfaçage SSO

Aspects 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étail

Projet Java EE Approfondi

Projet 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étail

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

Serveur 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étail

A DESTINATION DES SERVICES TIERS. Editeurs d applications et ressources pédagogiques connectées à l ENT

A 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étail

Java pour le Web. Cours Java - F. Michel

Java pour le Web. Cours Java - F. Michel Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications

Plus en détail

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

SIO-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étail

1. Installation d'un serveur d'application JBoss:

1. 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étail

Application web de gestion de comptes en banques

Application 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étail

Catalogue des Formations Techniques

Catalogue des Formations Techniques Catalogue des Formations Techniques Items Média Concept 4, allées Pierre-Gilles de Gennes - 33700 Mérignac Téléphone : 05.57.35.73.73 Télécopie : 05.57.35.73.70 Courriel : contact@imc-fr.com 2 Préambule

Plus en détail

OWASP Code Review Guide Revue de code. Paris 2011. The OWASP Foundation. Victor Vuillard

OWASP Code Review Guide Revue de code. Paris 2011. The OWASP Foundation. Victor Vuillard OWASP Code Review Guide Revue de code Paris 2011 Victor Vuillard Copyright The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License.

Plus en détail

Institut 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 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étail

SITE WEB E-COMMERCE ET VENTE A DISTANCE

SITE WEB E-COMMERCE ET VENTE A DISTANCE Développement d une application JAVA EE SITE WEB E-COMMERCE ET VENTE A DISTANCE PLAN PROJET Binôme ou monôme (B/M): M Nom & Prénom : AIT NASSER Btissam Email : aitnasser.btissam123@gmail.com GSM : Organisme

Plus en détail

Mise en œuvre des serveurs d application

Mise 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étail

Architecture Orientée Service, JSON et API REST

Architecture 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étail

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

WebSSO, 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étail

- Rapport de stage Étude de solutions pour l intégration de fonctionnalités

- Rapport de stage Étude de solutions pour l intégration de fonctionnalités - Étude de solutions pour l intégration de fonctionnalités de client riche dans une application de type J2EE 1.4 à l aide de frameworks Auteur: AZIZI Naoual Tuteur de stage: NICOD Jean-Marc Master 2 -

Plus en détail

Groupe Eyrolles, 2005, ISBN : 2-212-11406-0

Groupe 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étail

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG 07.11.2011

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG 07.11.2011 Apache Camel & Entreprise Integration Patterns Raphaël Delaporte BreizhJUG 07.11.2011 1 Speaker CTO Zenika Ouest Consultant et formateur Responsable comité technique Architecture d'entreprise Domaine ESB

Plus en détail

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

Démonstration de la mise en cache via HTML 5 sur iphone Last update: 2011/08/18 21:46 wiki:devmobile:webapp:html5:presentation Démonstration de la mise en cache via HTML 5 sur iphone Overview Parmi les nouveautés du HTML 5, l une d elles est très intéressent

Plus en détail

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

Extension 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étail

Compte Rendu d intégration d application

Compte 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étail

Alfstore workflow framework Spécification technique

Alfstore 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étail

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code Généralités javadoc Université de Nice - Sophia Antipolis Richard Grin Version 1.4.1 8/2/11 javadoc produit de la documentation en partant de commentaires particuliers insérés dans le code source des classes

Plus en détail

Application Web et J2EE

Application 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étail

Introduction à la plateforme J2EE

Introduction à la plateforme J2EE Introduction à la plateforme J2EE Auteur : Oussama Essefi Directeur technique Expert Consulting Oussama.essefi@expert-consulting.biz Copyright 2010 Expert Consulting Page 1 1. Introduction 1.1. Pourquoi

Plus en détail

Réalisation d un couplage téléphonie-informatique pour la suite Novanet

Réalisation d un couplage téléphonie-informatique pour la suite Novanet Réalisation d un couplage téléphonie-informatique pour la suite Novanet Edouard SIMON D.U.T Informatique 31 Mars 2008 20 Juin 2008 Tuteur en entreprise : M. Julien ROMBOUTS Tuteur universitaire : M. Jérôme

Plus en détail

Un serveur d'archivage

Un serveur d'archivage Un serveur d'archivage destiné au Service Commun de Documentation de l'université de la Méditerranée Encadrement : Noël Novelli Représentants client (S.C.D.) : Axelle Clarisse Ronan Lagadic Equipe Projet

Plus en détail

avec STRUTS 1 STRUTS NTSys 2006 1

avec STRUTS 1 STRUTS NTSys 2006 1 Conception d'applications WEB avec STRUTS 1 STRUTS NTSys 2006 1 Première Partie Bases du développement web J2EE 2 STRUTS NTSys 2006 2 Histoire de JAVA Les versions de JAVA Les différentes plates formes

Plus en détail

Les frameworks au coeur des applications web

Les frameworks au coeur des applications web Les frameworks au coeur des applications web Mémoire de bachelor réalisé par : Arielle Moro Directeur de mémoire : Peter Daehne, Professeur HES Genève, le vendredi 27 août 2010, Haute Ecole de Gestion

Plus en détail

Projet de Veille Technologique

Projet de Veille Technologique Projet de Veille Technologique Programmation carte à puce - JavaCard Ing. MZOUGHI Ines (i.mzoughi@gmail.com) Dr. MAHMOUDI Ramzi (mahmoudr@esiee.fr) TEST Sommaire Programmation JavaCard Les prérequis...

Plus en détail

Quelques 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 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étail

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA I. Introduction Suite à une demande des étudiants, il m'est apparu intéressant de montrer, à travers un exemple concret, comment

Plus en détail

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

Refonte front-office / back-office - Architecture & Conception - Refonte front-office / back-office - Architecture & Conception - GLG204 - Architectures Logicielles Java 2008/2009 Nom : Cédric Poisson Matricule : 06-49012 Version : 1.0 Jeudi 28 mai 2009 1 / 23 Table

Plus en détail

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

RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado - RAPPORT AUDIT SEO Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado 17 septembre 2013 Table des matières Optimisation structurelle 2 Optimisation des standards, performances et

Plus en détail

Messagerie asynchrone et Services Web

Messagerie asynchrone et Services Web Article Messagerie asynchrone et Services Web 1 / 10 Messagerie asynchrone et Services Web SOAP, WSDL SONT DES STANDARDS EMERGEANT DES SERVICES WEB, LES IMPLEMENTATIONS DE CEUX-CI SONT ENCORE EN COURS

Plus en détail

RMI le langage Java XII-1 JMF

RMI 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étail

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)

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) 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) Module 1 : Programmer une application informatique Durée

Plus en détail

Mysql avec EasyPhp. 1 er mars 2006

Mysql avec EasyPhp. 1 er mars 2006 Mysql avec EasyPhp 1 er mars 2006 Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requètes vers les bases de données relationnelles. Il en reprend la syntaxe

Plus en détail

HTTP 1.1. HyperText Transfer Protocol ... ... TCP IP ...

HTTP 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étail

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST Amosse EDOUARD, Doctorant Organisation Cours Magistral 24/11/2014 26/11/2014 01/12/2014 Travaux Dirigés 26/11/2014 28/11/2014 01/11/2014 08/11/2014 Evaluation

Plus en détail

Le Modèle de Sécurité dans JAVA

Le Modèle de Sécurité dans JAVA Le Modèle de Sécurité dans JAVA $Id : javasecurity.lyx 1565 2008-10-22 13 :57 :30Z phil $ 22 octobre 2008 Université de Cergy-Pontoise, 2 rue A. Chauvin 95302 Cergy-Pontoise cedex e-mail laroque@u-cergy.fr

Plus en détail

Hébergement de site web Damien Nouvel

Hébergement de site web Damien Nouvel Hébergement de site web Plan L'hébergeur Le serveur web Apache Sites dynamiques 2 / 27 Plan L'hébergeur Le serveur web Apache Sites dynamiques 3 / 27 L'hébergeur L'hébergeur sous-traite l'architecture

Plus en détail

Sécurité Java 2. Première approche. Installation des exemples. Exemple d'une applet

Sécurité Java 2. Première approche. Installation des exemples. Exemple d'une applet Sécurité Java 2 Première approche L 'internet permet une multiplication des moyens de diffusion des applications. Le courrier électronique, le Web, le FTP sont autant de moyens de distribuer des composants

Plus en détail

Auto-évaluation Programmation en Java

Auto-é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étail

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Au cours de ce TP, vous allez voir comment PHP permet aux utilisateurs, une interaction avec

Plus en détail

Sommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6

Sommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6 Sommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6 2 І O2S Intégration O2S dans un site Internet Ce document présente une description

Plus en détail

Etude de cas : PGE JEE V2

Etude de cas : PGE JEE V2 Arrivés à ce point du tutoriel, nous savons créer une application Web implémentant la persistance des données. Toutefois, le modèle de cette application était simple et composé d'une unique classe et les

Plus en détail

Les architectures 3-tiers Partie I : les applications WEB

Les architectures 3-tiers Partie I : les applications WEB Les architectures 3-tiers Partie I : les applications WEB 1 Evolutions logicielles Des objets aux composants... Objets JavaBeans, Objets ActiveX, Objets COM,... 1 Evolutions logicielles Des objets aux

Plus en détail

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

les techniques d'extraction, les formulaires et intégration dans un site WEB les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838 Plan L extraction des données pour un site en ligne Architecture et techniques Les différents

Plus en détail

Programmation Internet Cours 4

Programmation Internet Cours 4 Programmation Internet Cours 4 Kim Nguy ên http://www.lri.fr/~kn 17 octobre 2011 1 / 23 Plan 1. Système d exploitation 2. Réseau et Internet 3. Web 3.1 Internet et ses services 3.1 Fonctionnement du Web

Plus en détail

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

Failles 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étail

Le stockage local de données en HTML5

Le 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étail

Présentation du Framework BootstrapTwitter

Présentation du Framework BootstrapTwitter COUARD Kévin HELVIG-LARBRET Blandine Présentation du Framework BootstrapTwitter IUT Nice-Sophia LP-SIL IDSE Octobre 2012 Sommaire I. INTRODUCTION... 3 Définition d'un framework... 3 A propos de BootstrapTwitter...

Plus en détail

Serveur d'archivage 2007 Installation et utilisation de la BD exist

Serveur 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étail

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com - 5, rue Soutrane - 06560 Valbonne Sophia-Antipolis E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com NQI Orchestra 3.3 - Guide d'installation Linux....................................................................

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web» Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web» Sana Sellami sana.sellami@lsis.org 2014-2015 Plan Partie 1: Introduction aux Services Web (SW) Partie 2: Vers une

Plus en détail

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

Classe 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étail

25 mars. Tutoriel sur Laravel. Préparé par : Lydiane Beaulne-Bélisle. Ceci est un tutorial qui montre comment débuter avec le Framework PHP Laravel.

25 mars. Tutoriel sur Laravel. Préparé par : Lydiane Beaulne-Bélisle. Ceci est un tutorial qui montre comment débuter avec le Framework PHP Laravel. 25 mars Tutoriel sur Laravel Préparé par : Lydiane Beaulne-Bélisle Ceci est un tutorial qui montre comment débuter avec le Framework PHP Laravel. Créé pour le cours de Projet de fin d étude Collège de

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

10. Base de données et Web. OlivierCuré [ocure@univ-mlv.fr]

10. Base de données et Web. OlivierCuré [ocure@univ-mlv.fr] 10. Base de données et Web 313 Evolution de l'information Ordre de grandeur : 314 1Mo : 1 gros roman 200Mo : ce que mémorise un être humain dans sa vie. 900Mo : information contenue dans le génome d'une

Plus en détail

Service d'authentification LDAP et SSO avec CAS

Service 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étail

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

Technologies Web avancées. ING1 SIGL Technologies Web avancées ING1 SIGL Technologies Web avancées Olivier Pons / 2013-2014 Objectif Comprendre globalement le Web Sommaire 1. Rappel Web 2. État de l'art 3. Solutions actuelles 2 / 28 1 Rappel Web 1a. HTML HTML dans

Plus en détail

Plateforme Systempay Descriptif de l interface avec la page de paiement

Plateforme Systempay Descriptif de l interface avec la page de paiement Plateforme Systempay Descriptif de l interface avec la page de paiement Version 1.13 Rubrique Aide : https://systempay.cyberpluspaiement.com Rédaction, Vérification, Approbation Rédaction Vérification

Plus en détail

Introduction à JDBC. Accès aux bases de données en Java

Introduction à JDBC. Accès aux bases de données en Java Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity

Plus en détail

Pluridisciplinarité. Classe de BTS DATR 1 -----------------------------------------------------------------------

Pluridisciplinarité. Classe de BTS DATR 1 ----------------------------------------------------------------------- Pluridisciplinarité Classe de BTS DATR 1 ----------------------------------------------------------------------- Module M53: Diagnostic de territoire cible dans le secteur des services. -----------------------------------------------------------------------

Plus en détail

Conception Pascal Cauquil. Modifications Fabrice Benedet. Diffusion : IS, formateurs et participants à la formation Bases de données scientifiques

Conception Pascal Cauquil. Modifications Fabrice Benedet. Diffusion : IS, formateurs et participants à la formation Bases de données scientifiques Date création : 21/05/08 Référence: - Dernière modif. : 25/06/08 Pages 44 Conception Pascal Cauquil Modifications Fabrice Benedet Support de formation de l'initiation Java web Diffusion : IS, formateurs

Plus en détail

Construction d'une application MVC distribuée avec Spring Remoting. Partie 1 : HttpInvoker, Hessian, Burlap, RMI

Construction d'une application MVC distribuée avec Spring Remoting. Partie 1 : HttpInvoker, Hessian, Burlap, RMI Construction d'une application MVC distribuée avec Spring Remoting Partie 1 : HttpInvoker, Hessian, Burlap, RMI serge.tahe@istia.univ-angers.fr, juillet 2005 1/54 1 Introduction Nous poursuivons ici les

Plus en détail

Développez votre e-commerce avec WebSphere Commerce

Développez votre e-commerce avec WebSphere Commerce WEB04 Développez votre e-commerce avec WebSphere Commerce Nédélec Patrick WebSphere Commerce IT Specialist nedelec@fr.ibm.com Sommaire 1 Positionnement et stratégie 2 Le client au coeur du dispositif 3

Plus en détail

Création d un service web avec NetBeans 5.5 et SJAS 9

Création d un service web avec NetBeans 5.5 et SJAS 9 Sommaire Création d un service web avec NetBeans 5.5 et SJAS 9 1. Présentation... 2 2. Création d un service web avec NetBeans... 2 2.1. Création d une application Web... 2 2.2. Création du service web...

Plus en détail

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

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales D 1.3.2 Rapport d analyse Auteurs: Johann Luethi, Laurent Opprecht, Patrick Roth

Plus en détail

Proxies,, Caches & CDNs

Proxies,, Caches & CDNs Proxies,, Caches & CDNs Anthony Busson Plan Exemple de page web simple Anatomie du téléchargement d une page web Problématique Définition : Proxy, Reverse Proxy Interception, Redirection Système de cache

Plus en détail

Logiciels de référencement

Logiciels de référencement Outils Logiciels de référencement Afin de contrôler la qualité de son référencement, d optimiser et d améliorer son positionnement, il peut être utile d utiliser des outils couvrant tout ou partie du référencement.

Plus en détail

Web Application Models

Web Application Models Web Application Models une nouvelle fonction de VisualAge Pacbase au service des applications WebSphere Jean-François Lévi - Bernard Etienne Maîtriser l'évolution des développements Web d'entreprise avec

Plus en détail

Guide d implémentation Interface avec la plateforme de paiement

Guide d implémentation Interface avec la plateforme de paiement Guide d implémentation Interface avec la plateforme de paiement Version 2.8-2012 SUIVI, HISTORIQUE Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom

Plus en détail

Introduction aux «Services Web»

Introduction 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étail

STID 2ème année : TP Web/PHP

STID 2ème année : TP Web/PHP STID 2ème année : TP Web/PHP Plan de travail et aide mémoire jean.arnaud@inria.fr Ce document est composé de cinq parties : Un aide mémoire sur les aspects pratiques de la création de sites Une introduction

Plus en détail

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

TP 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étail

Utilisation de GalaxShare

Utilisation de GalaxShare Utilisation de GalaxShare Tutoriel accessible en ligne sur http://galaxair.com/tuto/aidegalaxshare.html Le Porte-Document GalaxShare est un logiciel web de partage de documents, avec une gestion fine des

Plus en détail

Formulaire pour envoyer un mail

Formulaire pour envoyer un mail Formulaire pour envoyer un mail AVERTISSEMENT : Ce tuto est une compilation de plusieurs sources trouvées sur internet, dont les références sont données à la fin de cet article. Le but de ce tutoriel n'est

Plus en détail

Bienvenu. Panneau de contrôle. Ajout de nouveaux utilisateurs. 1. Modification du modèle d'e-mail de bienvenue

Bienvenu. Panneau de contrôle. Ajout de nouveaux utilisateurs. 1. Modification du modèle d'e-mail de bienvenue Bienvenu S'il s'agit de votre première connexion au panneau de contrôle, ce mode d'emploi succinct vous expliquera comment configurer de façon optimale votre environnement de travail en quelques étapes

Plus en détail

CA Desktop Migration Manager

CA Desktop Migration Manager CA Desktop Migration Manager Manuel de configuration du déploiement DMM Service Pack 12.8.01 La présente Documentation, qui inclut des systèmes d'aide et du matériel distribués électroniquement (ci-après

Plus en détail

Diplôme Universitaire Technologique Spécialité Informatique. Période du stage: 05 Avril 2004 11 Juin 2004

Diplôme Universitaire Technologique Spécialité Informatique. Période du stage: 05 Avril 2004 11 Juin 2004 Diplôme Universitaire Technologique Spécialité Informatique Période du stage: 05 Avril 2004 11 Responsable pédagogique: Catherine ESPINASSE RAPPORT DE STAGE Samuel ROLLET GDM - Outils de Gestion des Magasins

Plus en détail

Remote Method Invocation (RMI)

Remote Method Invocation (RMI) Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe

Plus en détail

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

Ré-architecture et migration d une application standalone vers un serveur applicatif multi-tiers dans un contexte JAVA-SAP Ré-architecture et migration d une application standalone vers un serveur applicatif multi-tiers dans un contexte JAVA-SAP Ionel Dembski Sous la direction de Peter Daehne, Professeur HES Département d

Plus en détail

Application de lecture de carte SESAM-Vitale Jeebop

Application 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étail

Utilisation de Jakarta Tomcat

Utilisation 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étail

Introduction MOSS 2007

Introduction MOSS 2007 Introduction MOSS 2007 Z 2 Chapitre 01 Introduction à MOSS 2007 v. 1.0 Sommaire 1 SharePoint : Découverte... 3 1.1 Introduction... 3 1.2 Ce que vous gagnez à utiliser SharePoint... 3 1.3 Dans quel cas

Plus en détail

Module BD et sites WEB

Module BD et sites WEB Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD

Plus en détail

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

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie 1 / 22 Technologies Web Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya Université Pierre et Marie Curie Rappel 2 / 22 Problématique Quelles technologies utiliser

Plus en détail

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

Jahia. Guillaume Monnette École Ingénieurs 2000 Marne-La-Vallée IR3 Jahia Guillaume Monnette École Ingénieurs 2000 Marne-La-Vallée IR3 Qu'est ce que c'est? Jahia est une solution de portail internet et de gestion de contenu destiné aux entreprises. (CMS and Enterprise

Plus en détail