Java EE Aspects Avancés. Architecture d une application web (JEE)

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

Download "Java EE Aspects Avancés. Architecture d une application web (JEE)"

Transcription

1 École Supérieure de Management D Informatique et de Télécommunication Java EE Aspects Avancés Jamal ES-SAHEL Architecture d une application web (JEE) 1

2 JEE Aspects Avancés Framwork? Qu est ce qu un framework? Il existe en programmation deux types d individus : - Les programmeurs système. - Les programmeurs d applications. Les programmeurs d applications utilisent des bibliothèques ou outils appelés : framework. Les frameworks sont développés par des programmeurs système. 2

3 Qu est ce qu un framework? Un framework est composé de plusieurs briques/composants qui sont en interaction les uns avec les autres. Les applications peuvent être écrites de manière plus efficace si nous utilisons un framework adapté au projet au lieu d être obligé de réinventer à chaque fois la roue. Qu est ce qu un framework? Actuellement, différents types de frameworks sont disponibles : - les frameworks d infrastructure système: qui permettent de développer des outils graphiques et des plates-formes web (Struts, Spring...) - les frameworks communicants (appelés intergiciels) - les frameworks d entreprise (développements spécifiques) - les frameworks de gestion de contenu (type Content Management System). 3

4 Qu est ce qu un framework? Les frameworks permettent: - la réutilisation de code - la standardisation du développement - l utilisation du cycle de développement de type itératif incrémental (spécification, codage, maintenance et évolution) Exemple: Apache Struts, WebWork, JSF (Java Server Faces), Spring, Pourquoi utiliser un framework? Les frameworks Java sont apparus pour combler les manques ou faiblesses de l API Servlet et JavaServerPages (JSP). Le choix du framework de développement est stratégique pour une entreprise, il sera déterminant pour la qualité, la productivité et la pérennité des projets. 4

5 Pourquoi utiliser un framework? Les technologies Servlets et JavaServerPages (JSP) sont le socle de base du développement Java EE. Problème: le mélange de scripts HTML, SQL et Java (Affichage et accès aux données étant confondus) Le débogage est alors plus complexe et plus long à réaliser. Problème du code Spaghetti Pourquoi utiliser un framework? L utilisation d objets JavaBeans et de gestionnaires de balises comme JSTL (Java Standard Tag Library) permet un développement simple et consistant. C est le modèle le plus utilisé par les programmeurs débutants car il est simple et rapide à mettre en œuvre. Problème: Les JSP ne remplacent pas les Servlets mais sont largement complémentaires 5

6 Pourquoi utiliser un framework? Pour une architecture multi-niveaux de type MVC, les Servlets représentent l aspect Contrôle, les Modèles l accès aux données et les JSP la partie Vue. Ce modèle est beaucoup plus simple à tester, à maintenir et faire évoluer. De même, la notion de réutilisabilité est mise en avant avec ce type de modèle. Problème: Ce modèle est plus complexe à développer JEE Aspects Avancés Struts 2 6

7 Struts 1 Struts 1 est un framework solide, largement éprouvé par le temps et plébiscité par un grand nombre. De ce fait, la compatibilité ascendante le freine dans ses évolutions. De nombreuses critiques se sont accumulées sans pouvoir être solutionnées dans l état actuel des choses. Struts 1 Cycle de vie de struts 1 7

8 WebWork Le projet WebWork, à l initiative de la société OpenSymphony: - A vu le jour en mars Créé à partir du noyau Struts. - Le framework a évolué introduisant de nouveaux concepts et fonctionnalités, sans ce soucier de la compatibilité avec Struts. Contrairement à leurs attentes, cette solution alternative à Struts n a pas rencontré un engouement très important au sein de la communauté J2EE Face à ce constat: Struts 2 En décembre 2005 les équipes de Struts 1 et de WebWork ont mis en commun leurs compétences pour développer un nouveau framework baptisé WebWork2, renommé par la suite Struts 2, dont la première version stable est sortie le 22 février 2007, sous le label

9 Struts 2 Struts 2 repose sur le modèle de conception de type MVC II. Struts 2 Struts 2 fournit les services suivants : un système évolué de gestion du routage ou navigation ; un système de validation de formulaires et d entrées, simple à mettre en œuvre ; un système puissant de plugins ou d extensions (pour les graphiques, sources de données ) ; la gestion de l internationalisation pour le développement de sites multilingues ; le support de la technologie Ajax ; un outil de débogage en standard ; une bibliothèque puissante de balises. 9

10 Struts 2 Le choix du framework Struts 2 repose sur les points suivants : - Fiabilité : le projet est développé et suivi depuis mai Ce projet jouit d une excellente réputation et améliore sans cesse ses défauts. - Flexibilité : chaque action peut être personnalisée, les fichiers de configuration sont très souples en terme d utilisation et les validations sont simples à mettre en œuvre. - Performance : l architecture conçue est particulièrement performante et maintenable grâce à la séparation par couche. Struts 2 Les principales caractéristiques du framework Struts 2 sont les suivantes : - les types de conversions automatiques pour les collections issues des requêtes HTTP ; - les fichiers de configuration modulables utilisés par paquetages ; - L utilisation des annotations; - l utilisation de tags permet d appliquer des thèmes; - l utilisation du langage d expression, OGNL ; - l utilisation des intercepteurs (interceptor) ; - l intégration simple d outils comme JSTL, Spring ou Hibernate. 10

11 Struts 2 Les principales librairies: Commons-fileupload.jar (librairie de gestion de l upload). Commons-logging.jar (librairie de loggin/traces). commons-io-version.jar (librairie de gestion des entrées/sorties). freemarker-version.jar (librairie utilisée pour la mise en page et le moteur de templates). ognl-version.jar (librairie utilisée pour la manipulation d objets Java). junit-version.jar (librairie du framework de gestion des tests unitaires). Struts 2 Les principales librairies (suite): struts2-core-version.jar (librairie complète Struts 2, c est la bibliothèque principale). xwork-version.jar (librairie de XWork avec les dépendances). A télécharger à partir du site officiel: La bibliothèque native du framework est struts2-core-version.jar 11

12 Struts 2 Les règles et convention de développement en Java EE et Struts 2 Règle 1 : Ne pas utiliser de java dans la vue. Règle 2 : Utiliser de préférence les taglib de struts 2 <s: /> Règle 3 : Utiliser les validateur du framework et sa logique. Struts 2 Cycle de vie de Struts 2 12

13 Intercepteurs Struts Les intercepteurs (Interceptor): sont utilisés pour effectuer des pré/post traitements sur la requête. sont des filtres qui permettent de réaliser des tâches standards afin de simplifier et d améliorer le travail des développeurs. sont suffisants pour réaliser la plupart des taches standards Intercepteurs Struts Les intercepteurs proposés par défaut avec le framework sont présentés cidessous. Intercepteur params staticparams prepare scope servletconfig HttpServletRequest et HttpServletResponse. validation token tokensession Description Gestion du mapping entre les paramètres des requêtes et les propriétés des actions. Gestion des paramètres statiques déclarés dans les définitions et classes d action. Gestion de l accès aux modèles de classes. Gestion du mécanisme de sessions. Gestion de l accès aux classes Gestion des validations de formulaires. Gestion du double envoi ou double submit. Gestion du double envoi ou double submit avec un paramètre de session. 13

14 Intercepteurs Struts Suite Intercepteur profiling timer roles modeldriven scopedmodeldriven logger execandwait debugging exception Description Gestion du profilage des actions. Gestion du temps d exécution des actions. Gestion des rôles des Realms pour la sécurisation des applications. Gestion des modèles de persistances. Gestion des modèles de persistances à la manière de l intercepteur précédent mais avec gestion de session. Gestion des actions. Gestion des chargements de pages lors des traitements plus ou moins longs. Gestion du débogage des applications. Gestion du traitement des exceptions. Intercepteurs Struts Suite Intercepteur fileupload Store chain createsession conversionerror alias checkbox cookie workflow actionmappingparams Description Gestion des chargements de fichiers. Gestion des portées des messages de succès et d erreurs. Gestion du chaînage des actions et du passage de paramètres. Gestion de la session utilisateur courant. Gestion des erreurs de conversion dans les actions. Gestion des noms de paramètres dans les requêtes HTTP. Gestion des cases à cocher dans les formulaires. Gestion du cookie utilisateur. Gestion de l appel des méthodes de validations dans les classes d action. Gestion du mapping des paramètres des actions. 14

15 Object-Graph Navigation Language OGNL est un langage de description permettant d accéder et de modifier les propriétés des objets Java. OGNL fait partie du projet opensymphony: Pour plus de détail, consulter les liens suivants : ou JEE Aspects Avancés Struts 2 Fonctionnement général 15

16 Fonctionnement général de Struts 2 Struts utilise un filtre pour réaliser le routage vers un seul contrôleur de gestion correspondant au modèle MVC II. Le contrôleur Struts est alors capable de : - Déterminer l URI pour l action à déclencher. - Utiliser une classe d action. - Déclencher la méthode d action de la classe si celle-ci est associée. - Si des saisies ont été réalisées, créer un objet et le mettre à jour ou positionner les valeurs des paramètres. - Retourner vers la vue (page JSP) pour afficher la réponse. Fonctionnement général de Struts 2 Exemple d application web utilisant le framwork struts2 16

17 Le fichier de configuration : struts.xml Les applications Struts possèdent un fichier de configuration nommé struts.xml. Ce fichier de configuration est le plus important et remplace la définition des Servlets dans le descripteur de déploiement web.xml. Le fichier de configuration: struts.xml La configuration générale de l application est définie dans le fichier struts.xml : - Les paramètres de configuration de Struts. - Les actions. - Les intercepteurs. - Les résultats des actions. 17

18 Le fichier de configuration: struts.xml Struts.xml: La balise <constant/> Les balises de type <constant/> permettent de surcharger le strutsdefault.xml. Exemple : - DevMode : le fichier de configuration struts.xml est lu à chaque démarrage de l application. Pour nous éviter le fastidieux project/clean a chaque modification du contenu du struts.xml nous passerons le devmode à true (mode de développement). - i18n.resources : le mécanisme de l internationalisation utilise des fichiers en name.properties pour les différentes langues. 18

19 Struts.xml: La balise <package/> Les actions Struts sont regroupées par paquetage selon un principe semblable à celui des paquetages Java. Les attributs de la balise <package/> sont les suivants : - name : attribut obligatoire précisant le nom du paquetage. - namespace : attribut précisant l espace de nommage pour toutes les actions du paquetage. - extends : attribut obligatoire précisant le paquetage parent à hériter. - abstract : attribut peu utilisé précisant si le paquetage peut être hérité ou non. Struts.xml: La balise <include/> Dans une application complexe, nous pouvons avoir plusieurs paquetages et une grande quantité de lignes dans le fichier de configuration struts.xml. Afin d améliorer la gestion et la maintenance de ce fichier, il est possible de découper ce fichier en plusieurs sous fichiers. Chaque sous fichier est alors inclus dans ce fichier principal. La balise <include/> permet de découper le fichier principal en sous-fichiers. Chaque fichier inclus doit utiliser la même grammaire (DOCTYPE) et la balise racine du document <struts/>. 19

20 Struts.xml: La balise <action/> Une action est associée à une classe mais cela n est pas obligatoire pour les redirections. Une action qui ne précise pas de classe utilise une instance de la classe par défaut, ActionSupport. La syntaxe est alors la suivante : Nous pouvons également spécifier le nom de la méthode de la classe qui doit être exécutée lors du déclenchement de l action. Struts.xml: La balise <result/> Cette balise permet d indiquer à Struts où retourner le résultat de l action. Une action peut très bien retourner plusieurs résultats (tous différents), elle peut donc avoir plusieurs balises <result/> chacune correspondant à un résultat possible. 20

21 Struts.xml: La balise <param/> La balise <param/> peut être utilisée avec les éléments <action/>, <result-type/> et <interceptors/> pour assigner une valeur à l objet concerné. La balise <param/> possède un attribut name pour nommer la valeur. Dans le cas de l utilisation avec une action, la balise <param/> permet d assigner une valeur à une propriété. Struts.xml: La balise <global-results/> La balise <global-results/> est utilisée pour définir des résultats généraux. Si une action ne trouve pas de définition de résultat dans sa propre définition, Struts cherche alors un résultat dans la définition de cette balise. 21

22 Struts.xml: La balise <interceptors/> La balise <interceptors/> est utilisée pour définir des intercepteurs (sorte de filtre). Comme expliqué précédemment, une action peut contenir une liste d intercepteurs qui vont opérer sur les actions. Avant de pouvoir utiliser un intercepteur, nous devons déclarer celui-ci dans la balise <interceptors/>. Le descripteur de déploiement : web.xml 22

23 Le descripteur de déploiement : web.xml <web-app/>:définit le corps du descripteur de déploiment. <display-name/> définit le nom de votre application. <welcome-files/> définit le ou les fichiers de boot de votre application. <filter/> et <filter/mapping> définit la servlet du filtre Struts 2 et l url root (pattern) de Struts. <ressources/> vous permet de faire appel à des ressources externes comme des paramètres de connexion à une base de données. <taglib> vous permet de déclarer les bibliothèques de tag que vous allez utiliser (en plus des tag struts). Les fichiers de propriétés : struts.properties et default.properties Le fichier de configuration default.properties contient les valeurs de la configuration par défaut de struts 2. La surcharge des valeurs par défaut est possible par la création du fichier de propriété struts.preperties par couple clés/valeurs (principe des fichiers de propriétés Java). Exemple : struts.i18n.encoding=utf-8: encodage par défaut utilisé par Struts. struts.objectfactory=spring : l objet factory utilisé par défaut par Struts. 23

24 Le fichier de configuration: struts-default.xml Struts-default.xml : - présent dans l archive struts2-core-version.jar - les résultats par défaut et les intercepteurs sont définis. - Peut être utilisé sans le réécrire dans le fichier struts.xml afin qu il soit plus petit et lisible. Le fichier de configuration struts-default.xml 24

25 Classes d action Les créations d actions sont le plus important travail à réaliser lors de développements à l aide du framework Struts. Une classe d action est tout simplement une classe Java. Cette classe contient donc des attributs et des méthodes. Classes d action Cependant, les règles suivantes sont à respecter pour avoir une véritable classe d action : - Chaque attribut doit être associé à ses accesseurs (getter et setter). - Une classe d action doit avoir un constructeur par défaut. S il n existe pas, Struts va le faire pour nous lors de la compilation (si aucun autre constructeur par initialisation n est défini). - Une classe d action doit avoir au moins une méthode pour réaliser l action. Par défaut, cette méthode se nomme execute() - Une classe d action peut être associée à plusieurs méthodes. - Il est plus simple et conseillé d hériter de la classe ActionSupport présente dans le paquetage com.opensymphony.xwork2.action. 25

26 Classes d action Classes d action Si nous l implémentons la classe ActionSupport, les constantes suivantes sont alors disponibles : - SUCCESS : cette constante indique que l exécution de l action est correcte et que la page de succès adaptée doit être affichée. - NONE : cette constante indique que l exécution de l action est correcte mais qu aucun résultat ne doit être retourné. - ERROR : cette constante indique que l exécution de l action est incorrecte et que l utilisateur doit être redirigé vers une page d erreur. - INPUT : cette constante indique une erreur de validation des entrées ou saisies utilisateur. Elle précise généralement que la page de saisie doit être à nouveau affichée sans perte des données. - LOGIN : cette constante indique que l action ne peut être exécutée car l utilisateur n est pas authentifié et force l affichage de la page d identification. 26

27 Architecture de struts 2 Etapes d exécution : Architecture de struts 2 1. Le client envoie des requêtes vers un service de l application avec des paramètres éventuels. 2. Le fichier de configuration de l application ou les annotations de classes sont consultés. 3. Les intercepteurs associés à l action sont déclenchés et réalisent les services associés (conservation des paramètres, gestion des sessions, sauvegarde des messages d erreurs ). L intercepteur params assigne les valeurs présentes dans la requête à la classe d action associée par l intermédiaire de ses accesseurs et exécute la méthode de traitement (execute() par défaut). 4. La vue à afficher est sélectionnée en accord avec le fichier de configuration struts.xml ou l annotation correspondante. 5. La classe d action transmet les données nécessaires à la vue. 6. La vue affiche au client les résultats traités. 27

28 JEE Aspects Avancés Struts 2 Premier exemple Premier exemple Le descripteur de déploiement web.xml : 28

29 Premier exemple Le fichier de configuration du routage struts.xml : La classe d action : Premier exemple Ce fichier est une simple classe POJO. Chaque propriété possède des accesseurs qui seront automatiquement renseignés lors de l appel de l action grâce à l intercepteur params. Ainsi, les méthodes setidentifiant() et setmotdepasse() seront déclenchées et affectées par Struts. 29

30 Premier exemple La page JSP AjouterClient.jsp : Grâce à Struts, plus besoin de gérer les récupérations de paramètres dans la requête (request.getparameter() ou request.getattribute()), ni de gérer les renvois des paramètres dans la réponse (request.setattribute()). Le simple fait d utiliser les accesseurs de chaque propriété permet de gérer les paramètres en globalité. La page JSP AjouterClient.jsp : Premier exemple Remarquez l utilisation de la bibliothèque de tags Struts avec la ligne suivante : taglib prefix="s" uri="/struts-tags" %> Chaque propriété est accessible avec la balise Struts <s:property/>. <s:property value="identifiant"/> 30

31 Premier exemple Premier exemple Refaire le test en supprimant un des setteurs. 31

32 JEE Aspects Avancés Struts 2 Gestion de la persistance Gestion de la persistance La gestion des persistances d attributs est réalisée grâce à l intercepteur params qui gère la pile des données «valueslakc». Cette pile de données est accessible dans les pages JSP. 32

33 Gestion de la persistance Passage de paramètres Les déclarations d action peuvent également recevoir des paramètres statiques dans le fichier de configuration struts.xml. Cette technique permet d affecter des valeurs à des propriétés de la classe. 33

34 JEE Aspects Avancés Struts 2 Gestion des résultats Gestion des résultats Les classes d action Struts retournent des chaînes de caractères en rapport avec le traitement de l action. Par exemple, si l action contient les résultats success, input et error, la déclaration de l action dans le fichier struts.xml doit avoir trois résultats suivants : 34

35 Gestion des résultats Un résultat est représenté par l intermédiaire de la balise <result/> et de ses deux attributs que sont name et type. L attribut name permet de donner un nom au résultat en correspondance à la valeur return de l action. La valeur par défaut de cet attribut est success. L attribut type permet de définir le type de résultat. La valeur par défaut de cet attribut est dispatcher (redirection simple). Par exemple, les déclarations suivantes sont identiques : Gestion des résultats Les principales types de redirections : - dispatcher : ce type permet de rediriger l action vers une page JSP de résultat. - redirect : ce type permet de réaliser une redirection complète vers une autre URL (les paramètres présents dans la requête sont perdus). - redirectaction : ce type permet de réaliser une redirection vers une autre action. 35

36 Gestion des résultats Exemples : Gestion des résultats Nous pouvons également passer des paramètres à une redirection en utilisant des propriétés. La syntaxe ${propriete} permet de passer des données présentes dans la classe d action avec ses accesseurs. 36

37 Gestion des résultats Exemples : JEE Aspects Avancés Struts 2 Gestion des exceptions 37

38 Gestion des exceptions Pour gérer les exceptions, Struts propose la balise <exception-mapping/> qui permet d attraper les exceptions non traitées dans les actions. Cette balise contient deux attributs : - exception: pour spécifier le type d exception à attraper. - result: qui permet de préciser le résultat à déclencher en cas de levée d exception. Cette action résultat peut être précisée en local dans l action ou de manière globale avec la balise <globals-results/>. Gestion des exceptions Exemples : 38

39 Gestion des exceptions Si vous voulez plus de détail sur l exception, ajouter les deux balises suivantes dans la page d erreur : Struts 2 Building view Les tags de formulaire 39

40 Les tags de formulaire Ces balises XHTML sont utilisées dans les pages JSP pour afficher des données. La bibliothèque de tags Struts est livrée en standard avec l archive struts2-core-x.jar. Pour utiliser cette librairie, ajouter la déclaration suivante en haut de chaque page et préfixer nos balises par <s:nombalise/> : taglib prefix="s" uri="/struts-tags" %> Chaque balise Struts peut afficher du contenu à l aide d une expression OGNL (ObjectGraph Navigation Language). Les tags de formulaire : La balise <s:form/> Cette balise permet d afficher un formulaire HTML dans le document. Les paramètres habituels sont l action à exécuter et la méthode HTTP utilisée 40

41 Les tags de formulaire : La balise <s:textfield/> La balise <s:textfield/> permet de créer un champ texte dans la page JSP. Nous retrouvons les attributs habituels HTML avec maxlength, readonly et size. Les tags de formulaire : La balise <s:password/> La balise <s:password/> permet de créer un champ de type mot de passe dans la page JSP. Nous retrouvons les attributs habituels HTML avec maxlength, readonly et size. 41

42 Les tags de formulaire : La balise <s:submit/> La balise <s:submit/> permet de créer un bouton de validation du formulaire. Les tags de formulaire : La balise <s:reset/> La balise <s:reset/> permet de vider les informations présentes dans le formulaire. Cette balise reprend les propriétés des balises précédentes. 42

43 Les tags de formulaire : La balise <s:checkbox/> La balise <s:checkbox/> permet de créer une case à cocher HTML. Ce tag Struts permet de gérer dynamiquement l état de la case (cochée ou pas). La réponse envoyée à la classe d action est false si la case n est pas cochée, et true si la case est cochée. Sans oublier l ajout d un attribut de type boolean avec ses accesseurs. Les tags de formulaire : La balise <s:select/> La balise <s:select/> permet de créer une liste déroulante HTML. Ce type de composant est assez difficile à gérer en programmation classique. Pour gérer les valeurs transmises l attribut utilisé par Struts est nommé list. Sans oublier d ajouter un attribut de type Collection. 43

44 Les tags de formulaire : La balise <s:radio/> La balise <s:radio/>permet d utiliser les boutons radio HTML. Les boutons radio avec Struts reprennent le principe d utilisation des listes. Le choix unique est géré par le framework afin d alléger le travail du développeur. Les tags de formulaire : La balise <s:checkboxlist/> La balise <s:checkboxlist/> permet de créer des cases à cocher HTML. Ces composants utilisent des tableaux de chaînes de caractères ou une collection de types primitifs. Lorsqu une case à cocher est validée, la propriété associée dans la classe d action est initialisée, il est nécessaire d implémenter un tableau d entiers pour gérer les choix de l utilisateur. Sans oublier les getters et les setters 44

45 Les thèmes de présentation et l attribut theme Les thèmes proposés par FreeMarker sont les suivants : - xhtml : ce thème est celui proposé par défaut. Ce modèle permet d afficher les formulaires sous la forme de tableaux XHTML. - simple : ce thème permet de traduire chaque balise Struts sous la forme la plus simple, c est-à-dire sans mise en forme pour l affichage. Avec ce thème, chaque balise sera traduite sans modification. - css_xhmtl : ce thème permet de traduire chaque balise avec un modèle adapté aux feuilles de style CSS, c est-à-dire avec des balises <span/> et <div/>. - ajax : ce thème permet de fournir un modèle pour l utilisation d Ajax. Les thèmes de présentation et l attribut theme Exemples : Réessayer les différents thèmes et comparez les modèles générés 45

46 Struts 2 Building view Les tags de contrôle Les tags de contrôle Les balises Struts étudiées précédemment permettent de gérer la présentation et l affichage des données dans les vues. Cependant, le framework fournit également un ensemble de balises pour : - la gestion des accès aux données - la gestion des conditionnelles - la gestion des boucles de programmation - la manipulation des propriétés de l application. 46

47 Les tags de contrôle: La balise <s:property/> La balise <s:property/> permet d afficher, à partir d expressions OGNL, une information présente dans la classe d action associée à ses accesseurs ou dans le contexte de l application (application, session, request, parameters, attr). Les tags de contrôle: La balise <s:a/> La balise <s:a/> permet de créer un lien HTML conforme. Cette balise est très peu utilisée avec Struts car elle n apporte pas véritablement d avantage par rapport au tag HTML. 47

48 Les tags de contrôle: La balise <s:action/> La balise <s:action/> est utilisée pour déclencher une action et récupérer le résultat de celleci dans une variable. Les tags de contrôle: La balise <s:bean/> La balise <s:bean/> permet de créer une instance d une classe JavaBean. Ce tag est similaire à la balise JSP <jsp:usebean/>. Cette balise fournit l attribut name permettant de définir une classe JavaBean et l attribut id qui permet de donner un nom à l instance. Cette balise <s:bean/> est très souvent utilisée en association avec la balise <s:param/> pour assigner les valeurs au JavaBean. 48

49 Les tags de contrôle: La balise <s:param/> La balise <s:param/> permet de passer des paramètres à une action. Elle est utilisée dans des liens ou des formulaires. Les tags de contrôle: La balise <s:date/> La balise <s:date/> est utilisée pour formater l affichage des dates. Cette balise est très utile pour afficher des dates en fonction du pays de l utilisateur courant. 49

50 Les tags de contrôle: La balise <s:set/> La balise <s:set/> permet de créer une propriété associée à sa valeur dynamique (type primitif ou objet). Les tags de contrôle: La balise <s:push/> La balise <s:push/> est très proche de la balise <s:set/>. Elle permet d initialiser un objet mais de l utiliser entre sa balise de début <s:push> et sa balise de fin </s:push>. 50

51 Les tags de contrôle: La balise <s:url/> La balise <s:url/> permet de créer des URLs dynamiques qui seront par la suite utilisées dans des liens ou des formulaires HTML. Les tags de contrôle: Les balises <s:if/>, <s:else/> et <s:elseif/> Les balises <s:if/>, <s:else/> et <s:elseif/> sont utilisées pour réaliser des tests conditionnels. 51

52 Les tags de contrôle: La balise <s:iterator/> La balise <s:iterator/> permet de parcourir un tableau ou une collection Java. Les tags de contrôle: La balise <s:sort/> La balise <s:sort/> est utilisée pour trier les éléments d un itérateur d une collection suivant un comparateur. 52

Développement d'une base de données et de son interface graphique structurée par Struts2

Développement d'une base de données et de son interface graphique structurée par Struts2 Développement d'une base de données et de son interface graphique structurée par Struts2 L O U I S E O T T L I F L U N I V E R S I T É L I L L E 1 2 0 1 0 / 2 0 1 1 Qui suis-je? - 2005-2010 : Master en

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

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web PROGRAMMATION PUBLIC Professionnels informatiques qui souhaitent développer des applications et «applets» Java DUREE 4 jours 28 heures OBJECTIF Créer divers «applets» à intégrer dans un site Web dynamique,

Plus en détail

J2EE. A.-E. Ben Salem. 09 Octobre 2011. LRDE and LIP6 1 / 15

J2EE. A.-E. Ben Salem. 09 Octobre 2011. LRDE and LIP6 1 / 15 J2EE A.-E. Ben Salem LRDE and LIP6 09 Octobre 2011 1 / 15 Plan 1 J2EE 2 Architecture Client/Serveur HTTP 3 Différence entre Web Statique et Web Dynamique 4 Web Dynamique avec un Serveur d applications

Plus en détail

[ Hornet ] Guide de migration d'un projet Acube vers Hornet

[ Hornet ] Guide de migration d'un projet Acube vers Hornet [ Hornet ] Guide de migration d'un projet Acube vers Hornet 3.6B Cette création est mise à disposition selon le Contrat Paternité - Pas d'utilisation Commerciale - Partage des Conditions Initiales à l'identique

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/5 Titre professionnel : Reconnu par l Etat de niveau III (Bac), inscrit au RNCP (arrêté du 12/10/07, J.O. n 246 du 23/10/07) (32 semaines) Unité 1 : Structurer une application 6 semaines Module

Plus en détail

TME 1 JAVASCRIPT (2 SEANCES)

TME 1 JAVASCRIPT (2 SEANCES) TME 1 JAVASCRIPT (2 SEANCES) 1. EXERCICES DE BASE Créez des fonctions javascript pour : - faire un jeu «plus petit plus grand» qui tire un nombre au hasard que l utilisateur doit trouver en entrant des

Plus en détail

Institut Supérieur De Gestion De Tunis 3 ème LFIG BAYOUDHI Chaouki

Institut Supérieur De Gestion De Tunis 3 ème LFIG BAYOUDHI Chaouki Exemple JSF EJB et Bean géré I. Enoncé : Cet exemple est une petite application web proposant deux pages web : L une qui affiche un formulaire afin de pouvoir ajouter un livre (AjoutLivre.xhtml), L autre

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

MVC / Les Tags JSP et JSTL

MVC / Les Tags JSP et JSTL MVC / Les Tags JSP et JSTL A.-E. Ben Salem LRDE and LIP6 17 Octobre 2011 1 / 18 Plan 1 Architecture MVC 2 Rappel JSP 3 JSTL (JSP Standard Tag Library) 4 Tags JSP pour gérer les Beans 5 Tags JSP d action

Plus en détail

Site Web de paris sportifs

Site Web de paris sportifs Conception Nom HENAUD Benoît Numéro d auditeur 05-39166 Version V1.1 Date de mise à jour 15/05/2008 1/18 Table des matières 1. Objectif du document... 3 2. Architecture... 4 2.1. Contraintes techniques...

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

LOT03P6 - Domino 8.5 : XPages dans Domino Designer 8.5 - Partie 6

LOT03P6 - Domino 8.5 : XPages dans Domino Designer 8.5 - Partie 6 LOT03P6 - Domino 8.5 : XPages dans Domino Designer 8.5 - Partie 6 Objectifs du développement en 8.5 Fournir un outil de développement moderne Faire pour les développeurs ce que Notes 8 a fait pour l'utilisateur

Plus en détail

Symfony 2. 1.Définition de symfony 2. 2.Installation. 3.Structure. 4.Symfony et les commandes

Symfony 2. 1.Définition de symfony 2. 2.Installation. 3.Structure. 4.Symfony et les commandes Symfony 2 Sommaire : 1.Définition de symfony 2 2.Installation 3.Structure 4.Symfony et les commandes 5.Le fonctionnement : le routeur (les url), les bundles, twig(templates) 6.L architecture de symfony2

Plus en détail

Rapport Gestion de projet

Rapport Gestion de projet IN56 Printemps 2008 Rapport Gestion de projet Binôme : Alexandre HAFFNER Nicolas MONNERET Enseignant : Nathanaël COTTIN Sommaire Description du projet... 2 Fonctionnalités... 2 Navigation... 4 Description

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

Applications orientées données (NSY135)

Applications orientées données (NSY135) Applications orientées données (NSY135) 2 Applications Web Dynamiques Auteurs: Raphaël Fournier-S niehotta et Philippe Rigaux (philippe.rigaux@cnam.fr,fournier@cnam.fr) Département d informatique Conservatoire

Plus en détail

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10 Dossier Technique Page 1/10 Sommaire : 1. REPONSE TECHNIQUE A LA DEMANDE 3 1.1. Prise en compte de la dernière version de phpcas 3 1.2. Gestion de la connexion à GRR 3 1.2.1. Récupération des attributs

Plus en détail

Traitement et navigation

Traitement et navigation 12 Traitement et navigation Au chapitre précédent, nous avons vu comment créer des pages web avec différentes technologies (HTML, JSP, JSTL, etc.) en insistant sur le fait que JSF est la spécification

Plus en détail

Formation Certifiante : Java/Java EE, Hibernate, Struts2, JSF2 et Spring3

Formation Certifiante : Java/Java EE, Hibernate, Struts2, JSF2 et Spring3 Formation Certifiante : Java/Java EE, Hibernate, Struts2, JSF2 et Spring3 Présentation de la formation Cette formation s'inscrit dans le cadre des formations d'été assurées par la société Inovia Information

Plus en détail

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

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

EXTENSION de Microsoft Dynamics CRM 2013. Réf FR 80452

EXTENSION de Microsoft Dynamics CRM 2013. Réf FR 80452 EXTENSION de Microsoft Dynamics CRM 2013 Réf FR 80452 Durée : 3 jours A propos de ce cours : Ce cours offre une information interactive et détaillée sur le développement d extensions pour Microsoft Dynamics

Plus en détail

Java EE Applications web

Java EE Applications web Java EE Applications web Applications web Deux types d applications web: Applications orientées présentation Contenu statique: Html,xml, XVG Contenu dynamique: jsp, jsf, servlets Applications orientées

Plus en détail

Groovy & Grails. Langage de script basé sur Java appliqué dans un environnement JEE

Groovy & Grails. Langage de script basé sur Java appliqué dans un environnement JEE Groovy & Grails Langage de script basé sur Java appliqué dans un environnement JEE Martin Le Bas 1 Xposé 2010 Plan Introduction Groovy Grails Conclusion Références Plan de la présentation Introduction

Plus en détail

LANGAGES & DéVELOPPEMENT. Une équipe à vos côtés pour toutes vos montées en compétences

LANGAGES & DéVELOPPEMENT. Une équipe à vos côtés pour toutes vos montées en compétences LANGAGES & DéVELOPPEMENT Une équipe à vos côtés pour toutes vos montées en compétences ASP.NET OPTION VB.NET OU C# 5 jours Permettre aux participants de mieux appréhender ce qu est la programmation pour

Plus en détail

TP WEBSERVICES. 1 Pré-requis. 1.1 L environnement de développement. 1.2 Les librairies nécessaires 1.3 SOAPUI

TP WEBSERVICES. 1 Pré-requis. 1.1 L environnement de développement. 1.2 Les librairies nécessaires 1.3 SOAPUI Institut Galilée Année 2014-2015 TP WEBSERVICES Programmation et Logiciels sûrs Master 2 PLS Résumé Ce TP s appuie sur le cours de C. Fouqueré traitant des Environnements et Langage Évolués, ainsi que

Plus en détail

Développement Partie Cliente

Développement Partie Cliente ISI 1022 : Jean-Noël Sorenti. Année 2002/2003 Développement Partie Cliente ISI 1022 : 1 ISI 1022 : Développement Partie Cliente Le développement partie cliente concerne tout développement étant interprété

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

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

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand 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

Travaux Pratiques (Licence Pro) Servlet/JSP (MVC) & Web Services. --- Site Web d un club de tennis

Travaux Pratiques (Licence Pro) Servlet/JSP (MVC) & Web Services. --- Site Web d un club de tennis Travaux Pratiques (Licence Pro) Servlet/JSP (MVC) & Web Services --- Site Web d un club de tennis ETAPE 1 : Services locaux ( servlets / JSP ) Services offerts par le site web a chaque adhérent du club

Plus en détail

Sécurité des frameworks J2EE

Sécurité des frameworks J2EE Sécurité des frameworks J2EE Naissance des injections de langages d'expression Présenté le 25/10/2012 Pour la JSSI 2012 de Rouen - 3ème édition Par Renaud Dubourguais - renaud.dubourguais@synacktiv.com

Plus en détail

JSF 2 avec Eclipse Développement d'applications web avec Java Server Faces (2ième édition)

JSF 2 avec Eclipse Développement d'applications web avec Java Server Faces (2ième édition) Applications web, servlets et JSP 1. Introduction 15 2. Rappels sur la notion d'application web 15 2.1 Éléments constitutifs d'une application 15 2.2 Vie d'une application 16 3. Les servlets 16 3.1 Présentation

Plus en détail

Gestion des immeubles

Gestion des immeubles RAPPORT DE CONCEPTION Gestion des immeubles BOUSSRHAN YOUSSEF & BENZITI WALID Email : Youssefboussrhan@gmail.com GSM : 0678510690, 0611347597 ISTA NTIC SYBA CRJJ GROUPE B Annexe : Figure 1: Diagramme de

Plus en détail

Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. L3 Pro Informatique 2010-2011

Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. L3 Pro Informatique 2010-2011 1 / 32 Développement Web - JSP + EL Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer L3 Pro Informatique 2010-2011 2 / 32 Plan Plan 1 Préambule 2 3 Mise en

Plus en détail

Programmation du Web : Présentation du Web dynamique

Programmation du Web : Présentation du Web dynamique Programmation du Web : Présentation du Web dynamique Jean-Baptiste Vioix (Jean-Baptiste.Vioix@u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-8 Présentation Nécessité du web dynamique

Plus en détail

Struts 2. Le framework de développement d'applications Java EE. Résumé. Jérôme LAFOSSE. ENI Editions - All rigths reserved

Struts 2. Le framework de développement d'applications Java EE. Résumé. Jérôme LAFOSSE. ENI Editions - All rigths reserved Struts 2 Le framework de développement d'applications Java EE Jérôme LAFOSSE Résumé Ce livre sur Struts 2 s adresse aux développeurs Java qui souhaitent disposer d un ouvrage de référence pour mettre en

Plus en détail

LISE 3. Template pour les mails. Version 1.0 du 13/04/2010. Etat : Validé

LISE 3. Template pour les mails. Version 1.0 du 13/04/2010. Etat : Validé Template pour les mails Version 1.0 du 13/04/2010 Etat : Validé SUIVI DES MODIFICATIONS Version Rédaction Description Vérification Date 1.0 A. Lesuffleur création du document 13/04/10 Document validé dans

Plus en détail

Cours Java. Cours en ligne Développement Java pour le web. Académie Libre info@academielibre.fr

Cours Java. Cours en ligne Développement Java pour le web. Académie Libre info@academielibre.fr Cours Java Cours en ligne Développement Java pour le web Académie Libre info@academielibre.fr Programme général du Cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation

Plus en détail

Apprendre à développer un site web avec PHP et MySQL Exercices pratiques et corrigés (2ième édition)

Apprendre à développer un site web avec PHP et MySQL Exercices pratiques et corrigés (2ième édition) Introduction 1. Objectif de l'ouvrage 13 2. Fonctionnement d un site web 13 Installation 1. Introduction 17 2. Installation d'easyphp 13.1 18 Les bases du langage PHP 1. Les balises 23 1.1 Syntaxe de base

Plus en détail

Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet

Cahier de charges (Source : Java EE - Guide de développement d'applications web en Java par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module Site Web dynamique JSP / Servlet Sujet : betaboutique Soutenance le 04 / 01 /2013 &

Plus en détail

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

Auto-évaluation Aperçu de l architecture Java EE Auto-évaluation Aperçu de l architecture Java EE Document: f1218test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION APERÇU

Plus en détail

GUYOT Amandine Compte Rendu TP2 Introduction A JAVA et Web Application avec JSP

GUYOT Amandine Compte Rendu TP2 Introduction A JAVA et Web Application avec JSP Compte Rendu TP2 Introduction A JAVA et Web Application avec JSP Le but de se deuxième TP étant d analyser l architecture de bookstore6 comme si c était nous qui l avions élaborée : - mise en forme - sécurité

Plus en détail

Application GSB_FRAIS avec Symfony2

Application GSB_FRAIS avec Symfony2 Application GSB_FRAIS avec Symfony2 Description du thème Propriétés Description Intitulé long Formation concernée Matière Présentation Notions Pré-requis Outils Mots-clés Durée Auteur(es) Gestion des frais

Plus en détail

Cours Android. Cours en ligne Développement sur mobile avec Android. Académie Libre info@academielibre.fr

Cours Android. Cours en ligne Développement sur mobile avec Android. Académie Libre info@academielibre.fr Cours Android Cours en ligne Développement sur mobile avec Android Académie Libre info@academielibre.fr Programme général du cours Développement sur mobile avec Android Module 1 - Programmation J2ee A)

Plus en détail

Documentation technique

Documentation technique MEEVY Documentation technique Juillet 200 MEEVY a pour but de fournir aux artistes des outils pour promouvoir leur musique sur internet et proposer à l auditeur une plateforme de musique en ligne gratuite

Plus en détail

AP-5 TD n 2 J2EE 5 novembre 2013

AP-5 TD n 2 J2EE 5 novembre 2013 Objectifs Prérequis Gestion des informations temporaires, sessions et cookies JSP et servlets, mise en place d un contrôleur Java Runtime Environnement (http://www.java.com/fr/download/) (JRE Java 7) IDE

Plus en détail

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web.

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web. Document 1 : client et serveur Les ordinateurs sur lesquels sont stockés les sites web sont appelés des serveurs. Ce sont des machines qui sont dédiées à cet effet : elles sont souvent sans écran et sans

Plus en détail

http://www.sigl.epita.net Struts Struts Romain Couturier Aurélia Fermé Frédéric Lung Tung Matthieu Nicolas 17/06/2002 17/06/2002 ACO slide 1

http://www.sigl.epita.net Struts Struts Romain Couturier Aurélia Fermé Frédéric Lung Tung Matthieu Nicolas 17/06/2002 17/06/2002 ACO slide 1 http://www.sigl.epita.net Romain Couturier Aurélia Fermé Frédéric Lung Tung Matthieu Nicolas slide 1 Plan Rappels Servlet JSP JavaBean MVC (1 & 2) Présentation Vue Contrôleur Modèle Exemple d application

Plus en détail

Unité de formation 1 : Structurer une application. Durée : 3 semaines

Unité de formation 1 : Structurer une application. Durée : 3 semaines PROGRAMME «DEVELOPPEUR LOGICIEL» Titre professionnel : «Développeur Logiciel» Inscrit au RNCP de niveau III (Bac+2) (JO du 23 Octobre 2007) (32 semaines) Unité de formation 1 : Structurer une application

Plus en détail

bbc Launch Pad Juillet 2011 Version 10.0

bbc Launch Pad Juillet 2011 Version 10.0 bbc Configuration d Adobe Digital Enterprise Platform Document Services - Launch Pad 10.0 Guide de l administrateur et du développeur Launch Pad Juillet 2011 Version 10.0 Mentions juridiques Pour plus

Plus en détail

PHP/MYSQL. Web Dynamique

PHP/MYSQL. Web Dynamique PHP/MYSQL Web Dynamique ENSG Juin 2008 Qui suis-je? Guillaume Gautreau Responsable projets Systèmes d information à l ENPC guillaume@ghusse.com http://www.ghusse.com Ces 6 jours de formation Jour 1 : présentations,

Plus en détail

Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. M2 CDS2I - 4 février 2010

Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. M2 CDS2I - 4 février 2010 1 / 24 Développement Web - Servlet Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer M2 CDS2I - 4 février 2010 2 / 24 Plan Plan 1 2 Le modèle MVC 3 Structure

Plus en détail

Comparatif CMS. Laurent BAUREN S Bérenger VIDAL Julie NOVI Tautu IENFA

Comparatif CMS. Laurent BAUREN S Bérenger VIDAL Julie NOVI Tautu IENFA Comparatif CMS Laurent BAUREN S Bérenger VIDAL Julie NOVI Tautu IENFA Sommaire Introduction : Dans le cadre de notre projet de master première année, il nous a été demandé de développer un moteur de recherche

Plus en détail

Apache Tomcat 8 Guide d'administration du serveur Java EE 7 sous Windows et Linux

Apache Tomcat 8 Guide d'administration du serveur Java EE 7 sous Windows et Linux Avant-propos 1. À qui s adresse ce livre? 11 2. Les pré-requis 12 Préambule 1. Rappel sur les architectures Internet/Intranet/Extranet 13 1.1 Le protocole HTTP 14 1.1.1 Les méthodes HTTP 16 1.1.2 Les codes

Plus en détail

TP 2 : programmation côté serveur À rendre pour le mardi 6 mai 2008

TP 2 : programmation côté serveur À rendre pour le mardi 6 mai 2008 Université Claude Bernard Lyon 1 UFR d informatique avril 2006 MIAG soir Systèmes d Information Méthodes Avancées TP 2 : programmation côté serveur À rendre pour le mardi 6 mai 2008 Introduction Dans ce

Plus en détail

Ecole Nationale Supérieure des Télécommunications Les outils XML

Ecole Nationale Supérieure des Télécommunications Les outils XML Ecole Nationale Supérieure des Télécommunications Les outils XML Page 1 sur 13 SOMMAIRE 1 Introduction 3 2 Parseur XML et processeur XSLT 4 2.1 Le Parseur XML v2 4 2.1.1 Les API DOM et SAX 4 2.1.2 Le parseur

Plus en détail

Plan. Environnement Client/Serveur. Cours 7 JavaServer Pages (1) JSP. Programmation Web coté serveur

Plan. Environnement Client/Serveur. Cours 7 JavaServer Pages (1) JSP. Programmation Web coté serveur Plan Environnement Client/Serveur Cours 7 JavaServer Pages (1) kn@lri.fr 7.1 Principe 7.2 Rappels HTTP 7.3 Le serveur web Tomcat Programmation Web coté serveur JSP 2/28 (rappel) génération de pages-web

Plus en détail

Java EE Approfondi - Cours 2. Cours de 2 e année ingénieur Spécialisation «Génie Informatique»

Java EE Approfondi - Cours 2. Cours de 2 e année ingénieur Spécialisation «Génie Informatique» Java EE Approfondi - Cours 2 Cours de 2 e année ingénieur Spécialisation «Génie Informatique» Présentation Lier l'orienté objet et la base de données relationnelle peut être lourd et consommateur en temps.

Plus en détail

DEVELOPPEMENT LOGICIEL

DEVELOPPEMENT LOGICIEL DEVELOPPEMENT LOGICIEL LE FRAMEWORK WEB RUBY ON RAIL REF : WELA010 DUREE : 4 JOURS TARIF : 2 060 HT Public Développeurs d applications web, Chefs de projet techniques, Architectes. Pré-requis Programmation

Plus en détail

Spring par la pratique

Spring par la pratique Spring par la pratique 2 e édition Spring 2.5 et 3.0 Arnaud Cogoluègnes Thierry Templier Julien Dubois Jean-Philippe Retaillé avec la contribution de Séverine Templier Roblou et de Olivier Salvatori Groupe

Plus en détail

Kit d'intégration FAS+

Kit d'intégration FAS+ Guide d'intégration de l'application IAM - Annexe Kit d'intégration FAS+ Date 24/08/2012 Version 3.0 TABLE DES MATIÈRES 1 Introduction...3 2 Kit d'intégration FAS+...3 2.1 Pages JSP...4 2.2 Classes Java...7

Plus en détail

L utilisation d outils intelligents pour écrire du code valide

L utilisation d outils intelligents pour écrire du code valide B L utilisation d outils intelligents pour écrire du code valide Toutes les méthodes de développement, sans exception, incluent au moins une étape de test du code. C est parce que le code écrit par la

Plus en détail

Programmeur Niveau 2 PHP5

Programmeur Niveau 2 PHP5 Programmeur Niveau 2 PHP5 L objectif de la 3W Academy est de former des petits groupes d élèves à la programmation de sites internet ainsi qu à la création d applications web complexes tel qu un blog ou

Plus en détail

Développer de nouvelles fonctionnalités

Développer de nouvelles fonctionnalités 19 Développer de nouvelles fonctionnalités Chaque site e-commerce est unique. Bien que Magento soit une application riche, des besoins spécifiques apparaîtront et l ajout de modules deviendra nécessaire.

Plus en détail

Architecture applicative de l application Web

Architecture applicative de l application Web Architecture applicative de l application Web Principes d organisation de l application PHP Gsb-AppliFrais Les principes d'organisation de l'application s'inspirent des travaux réalisés autour du contexte

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

Personnaliser et adapter SPIP Développeur SPIP

Personnaliser et adapter SPIP Développeur SPIP Personnaliser et adapter SPIP Développeur SPIP En Théorie Le fonctionnement de SPIP Qu est ce que SPIP? SPIP (Système de Publication pour l Internet Partagé) est un logiciel libre destiné à la production

Plus en détail

Extensions à OpenSSO :

Extensions à OpenSSO : Extensions à : compatibilité et gestion des autorisations Philippe BEUTIN DSI Grenoble-Universit Universités Thierry AGUEDA Univ.. Pierre-Mend Mendès-France Gérard FORESTIER Univ.. Joseph-Fourier Le-Quyen

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

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

AngularJS Développez aujourd'hui les applications web de demain

AngularJS Développez aujourd'hui les applications web de demain Avant-propos 1. Pourquoi ce livre? 11 2. À qui s'adresse cet ouvrage? 12 3. Structure de l'ouvrage 12 4. Remerciements 13 Introduction à AngularJS 1. Introduction 15 2. Single Page Application 16 3. AngularJS

Plus en détail

Analyse des besoins logiciels

Analyse des besoins logiciels Analyse des besoins logiciels Encadrement et supervision Annie Danzart Jean-Claude Moissinac Equipe de développement Mohamed Anouar Benaissa anouar@benaissa.net Anthony Rabiaza rabiaza@enst.fr Déva Pajaniaye

Plus en détail

Description des pratiques à adopter pour la mise à jour du layout en utilisant le gestionnaire de conception de Sharepoint 2013

Description des pratiques à adopter pour la mise à jour du layout en utilisant le gestionnaire de conception de Sharepoint 2013 Exemple d utilisation du gestionnaire de conception Description des pratiques à adopter pour la mise à jour du layout en utilisant le gestionnaire de conception de Sharepoint 2013 6, rue de l Etang, L-5326

Plus en détail

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 52

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 52 Java et Objet Amélie Lambert 2014-2015 Amélie Lambert 2014-2015 1 / 52 Chapitre 10 Le langage JavaServer Pages (JSP) et le modèle de composants Java (Java beans) Amélie Lambert 2014-2015 2 / 52 Plan du

Plus en détail

//////////////////////////////////////////////////////////////////// Développement Web

//////////////////////////////////////////////////////////////////// Développement Web ////////////////////// Développement Web / INTRODUCTION Développement Web Le développement, également appelé programmation, désigne l'action de composer des programmes sous forme d'algorithme (codage).

Plus en détail

Internet statique et dynamique Programmation côté Serveur. Programmation de sites web statiques et dynamiques. Programmation côté serveur

Internet statique et dynamique Programmation côté Serveur. Programmation de sites web statiques et dynamiques. Programmation côté serveur Programmation de sites web statiques et dynamiques Programmation côté serveur Jean CARTIER MASTER INI jcartier@laposte.net 1 SOMMAIRE Internet statique et dynamique Côté Client Le HTML : Principe de fonctionnement

Plus en détail

TP SPRING. https ://lipn.univ-paris13.fr/ fortier/enseignement/spring/tp/

TP SPRING. https ://lipn.univ-paris13.fr/ fortier/enseignement/spring/tp/ Institut Galilée Année 2015-2016 TP SPRING Programmation et Logiciels sûrs Master 2 PLS Résumé L objectif de ce TP est d être capable de réaliser une application Java de gestion de location de véhicules,voiture

Plus en détail

Programmation servlet

Programmation servlet Programmation servlet Olivier Aubert 1/23 Références http://developer.java.sun.com/developer/onlinetraining/servlets/fundamenta http://www.servlets.com http://java.sun.com/products/jsp/index.html http://www.servletcentral.com/

Plus en détail

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

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. Méthode de Test Pour WIKIROUTE Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. [Tapez le nom de l'auteur] 10/06/2009 Sommaire I. Introduction...

Plus en détail

Cours Serveurs d application. et Java avancé. Introduction au cours Serveurs d application. et Java avancé. Prérequis / Objectifs.

Cours Serveurs d application. et Java avancé. Introduction au cours Serveurs d application. et Java avancé. Prérequis / Objectifs. Cours Serveurs d application et Java avancé Introduction au cours Serveurs d application et Java avancé ITU Université de Nice Richard Grin Version O 1.0.1 12/4/14 20 h de cours et TPs Richard Grin, université

Plus en détail

Zend Framework 2 Industrialisez vos développements PHP

Zend Framework 2 Industrialisez vos développements PHP Avant-propos 1. Lectorat 15 2. Contenu du livre 15 3. Pré-requis 17 Introduction 1. Un peu d histoire 19 1.1 Petite histoire de l informatique 19 1.2 Petite histoire des langages informatiques 20 1.3 Petite

Plus en détail

TD n 1 : Architecture 3 tiers

TD n 1 : Architecture 3 tiers 2008 TD n 1 : Architecture 3 tiers Franck.gil@free.fr 27/10/2008 1 TD n 1 : Architecture 3 tiers 1 INTRODUCTION Ce TD, se propose de vous accompagner durant l installation d un environnement de développement

Plus en détail

Formulaires Web avec Spring Web MVC

Formulaires Web avec Spring Web MVC Formulaires Web avec Spring Web MVC Spring propose un framework MVC pour faciliter la programmation d applications Web : Spring Web MVC. Au fil des ans ce framework a supplanté Struts pour être à présent

Plus en détail

OpenText Content Server v10 Cours 3-0126 (ex 215)

OpenText Content Server v10 Cours 3-0126 (ex 215) v10 Cours 3-0126 (ex 215) Administration système et indexation-recherche Durée : 5 jours Ce cours de 5 jours apprendra aux administrateurs, aux architectes système et aux services support comment installer,

Plus en détail

TP2 : Client d une BDD SqlServer

TP2 : Client d une BDD SqlServer TP2 : Client d une BDD SqlServer Objectifs : utiliser la barre de menu, utiliser les préférences d application (settings) ou (options), gérer la persistance des données, utiliser la bibliothèque jtds:jdbc

Plus en détail

Module Client Serveur Web 2006 Cours, TD et TP sur PHP et Tomcat

Module Client Serveur Web 2006 Cours, TD et TP sur PHP et Tomcat Prénom : Module Client Serveur Web 2006 Cours, TD et TP sur PHP et Tomcat Nom : Merci de répondre aux questions fermées directement sur la présente feuille et aux questions ouvertes sur une feuille indépendante

Plus en détail

Apprendre à développer un site web avec PHP et MySQL Exercices pratiques et corrigés (3ième édition)

Apprendre à développer un site web avec PHP et MySQL Exercices pratiques et corrigés (3ième édition) Introduction 1. Objectif de l'ouvrage 15 2. Fonctionnement d un site web 16 Utilisation d EasyPHP 1. Introduction 19 2. Installation d'easyphp 20 3. Prise en main d EasyPHP 20 4. Création d une première

Plus en détail

TD1. Installation de Symfony 2 et Netbeans

TD1. Installation de Symfony 2 et Netbeans I - Introduction : TD1 Installation de Symfony 2 et Netbeans L objet de ce TP est d installer l environnement de travail. Nous commençons par définir des notions de base nécessaires pour comprendre la

Plus en détail

Monter un site Intranet

Monter un site Intranet Monter un site Intranet S il n est pas difficile de créer un site Web basique grâce à IIS, ceux d entre vous qui ne sont pas initiés aux langages de développement Web auront du mal à satisfaire les besoins

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/8 Titre professionnel : Inscrit au RNCP de Niveau III (Bac + 2) (J.O. du 19/02/13) 24 semaines + 8 semaines de stage (uniquement en formation continue) Développer une application orientée objet

Plus en détail

Spring MVC. Implémentation du pattern MVC de type 2 dans Spring

Spring MVC. Implémentation du pattern MVC de type 2 dans Spring 7 Spring MVC La mise en pratique du patron de conception MVC (Model View Controller) offre une meilleure structuration du tiers de présentation des applications Java EE en dissociant les préoccupations

Plus en détail

Groupe Eyrolles, 2006, ISBN : 2-212-11771-X

Groupe Eyrolles, 2006, ISBN : 2-212-11771-X Groupe Eyrolles, 2006, ISBN : 2-212-11771-X Création de pages dynamiques courantes CHAPITRE 3 169 Figure 3-39 La boîte de dialogue de l objet Liste/Menu permet de configurer les options de l affichage

Plus en détail

Cours en ligne Développement sur mobile avec Android

Cours en ligne Développement sur mobile avec Android Cours en ligne Développement sur mobile avec Android We TrainFrance info@wetrainfrance Programme général du Cours Développement sur mobile avec Android Module 1 - Programmation J2ee A) Bases de programmation

Plus en détail

Kit d intégration JAVA

Kit d intégration JAVA Kit d intégration JAVA sommaire 1. Introduction... 3 1.1. Objet du document... 3 1.2. Public visé... 3 1.3. Contenu du document... 3 1.4. Liste des documents de référence... 3 1.5. Avertissement... 4 1.6.

Plus en détail

Applications orientées données (NSY135)

Applications orientées données (NSY135) Applications orientées données (NSY135) 11 Le langage HQL Auteurs: Raphaël Fournier-S niehotta et Philippe Rigaux (philippe.rigaux@cnam.fr,fournier@cnam.fr) Département d informatique Conservatoire National

Plus en détail

Programmation PHP Septembre 2010

Programmation PHP Septembre 2010 IFT1147 Programmation Serveur Web avec PHP Plan La POO en PHP Lecture du chapitre 20. Programmation par objets Introduction à la POO Objets et classes Propriétés Méthodes Private Héritage Polymorphisme

Plus en détail

Joomla : un système de gestion de contenu

Joomla : un système de gestion de contenu CHAPITRE 2 Joomla : un système de gestion de contenu Si SGC est l abréviation française pour système de gestion de contenu, l abréviation CMS de l anglais Content Management System est le terme le plus

Plus en détail