HTML, pour aller plus loin



Documents pareils
Web Tier : déploiement de servlets

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

Java pour le Web. Cours Java - F. Michel

JavaServer Pages (JSP)

Les architectures 3-tiers Partie I : les applications 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.

Mise en œuvre des serveurs d application

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

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

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

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

Application Web et J2EE

Cedric Dumoulin (C) The Java EE 7 Tutorial

RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java

Module BD et sites WEB

Architecture Orientée Service, JSON et API REST

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

HTTP 1.1. HyperText Transfer Protocol TCP IP ...

Introduction à Java. Philippe Genoud.

Vulgarisation Java EE Java EE, c est quoi?

Environnements de Développement

Compte Rendu d intégration d application

Le développement d applications Web

2 Chapitre 1 Introduction

Java Naming and Directory Interface

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

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)

Plan. Department of Informatics

Programmation Internet Cours 4

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

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

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

Tolérance aux Fautes des Grappes d Applications J2EE. Applications Internet dynamiques

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

Application web de gestion de comptes en banques

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

Cours en ligne Développement Java pour le web

Développement des Systèmes d Information

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

TP1. Outils Java Eléments de correction

Projet. But: consultation en temps réel d événements (cours de bourse, trafic d envoi SMS ) sur des téléphones portables. Serveur de diffusion

Hébergement de sites Web

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Introduction à la plateforme J2EE

Programmation Web. Madalina Croitoru IUT Montpellier

Glossaire. ( themanualpage.org) soumises à la licence GNU FDL.

Europa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i

JOnAS 5. Serveur d application d

TP1 : Initiation à Java et Eclipse

Programmation avancée et répartie en Java : interfaçage avec d autres langages

Le Modèle de Sécurité dans JAVA

Initiation à JAVA et à la programmation objet.

Alfstore workflow framework Spécification technique

Composants Logiciels. Le modèle de composant de CORBA. Plan

Introduction au langage Java

Remote Method Invocation (RMI)

Architectures web/bases de données

Introduction aux «Services Web»

INITIATION AU LANGAGE JAVA

Java et les bases de données

Jacques Lonchamp. Conception. d applications en Java/JEE. Principes, patterns et architectures

Groupe Eyrolles, 2005, ISBN :

Les services usuels de l Internet

Présentation de Java. Olivier de Pertat IT GROUP

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)

Catalogue des Formations Techniques

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

WebObjects : des applications dynamiques pour Internet et Intranet. Approche technologique

Logiciel de gestion de caisse et d ardoises

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Vulnérabilités et sécurisation des applications Web

Petite définition : Présentation :

La technologie Java Card TM

Théorie : internet, comment ça marche?

Généralités sur le Langage Java et éléments syntaxiques.

Traitement des données de formulaires. Accès aux BD avec JDBC Servlets - M. Baron - Page

Bases Java - Eclipse / Netbeans

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

IBM DB2 Alphablox. d administration GC

Programmer en JAVA. par Tama

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

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

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

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

Programmation par composants (1/3) Programmation par composants (2/3)

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

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

Java - la plateforme

Les outils de création de sites web

Systèmes répartis. Fabrice Rossi Université Paris-IX Dauphine. Systèmes répartis p.1/49

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

4. SERVICES WEB REST 46

Les Services Web. Jean-Pierre BORG EFORT

Single Sign-On open source avec CAS (Central Authentication Service) Vincent Mathieu Pascal Aubry Julien Marchal

RMI le langage Java XII-1 JMF

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

Transcription:

HTML, le langage du WEB Applets, Servlets,, JSP & J2EE / EJB IFT 6802 Commerce électronique Par Laurent Magnin Le Web se compose d'un maillage de pages, hébergées sur différents sites, reliées entre elles par des liens hypertexte. Ces pages sont décrites grâce à un langage appelé HTML Le langage HTML (HyperText Markup Language) tire son origine du SGML (Standard Generalized Markup Language) développé par Charles Golfarb et du concept de l'hypertexte créé par Ted Nelson. C'est Tim Berners-lee, en mars 89, qui défini au CERN (Suisse) le principe de l HTML Cours IFT 3880 & 6835, tous droits réservés / 2 HTML, fichier texte universel Un document HTML n'est rien de plus qu'un fichier texte. Il peut donc être écrit et reconnu sans problème de conversion d'un environnement à un autre. Une page HTML peut également être lue et interprétée (pas forcément de façon identique) par n'importe quel navigateur sur n'importe quelle plate-forme. HTML, données et structure Comme SGML, HTML différencie au sein d'un document, les données de la structure et du format. Il donne des règles de balisages ("marquage" de l'information avec des balises) qui décrivent une structure arborescente ou chaque noeud est identifié par une étiquette. Ces étiquettes sont reconnues et interprétées par le navigateur. Exemple : <title> "titre de la page "</title> Cours IFT 3880 & 6835, tous droits réservés / 3 Cours IFT 3880 & 6835, tous droits réservés / 4 HTML, structure générale <HTML> "première ligne du document <head> "ouverture de la zone d'entête <title> "titre de la page "</title> </head> "fermeture de la zone d'entête. <body> "ouverture du corps du document "Mettre le texte et les images ici </body> "fin du corps du document </HTML> "fin du document HTML" HTML, pour aller plus loin Voir le source des sites Web dans les fureteurs http://web.ccr.jussieu.fr/urfist/urfistage/f.html Cours IFT 3880 & 6835, tous droits réservés / 5 Cours IFT 3880 & 6835, tous droits réservés / 6 1

Limitations de HTML Pour dépasser les limitations d HTML HTML permet uniquement de structurer du texte et des images Rien n est prévu pour les graphiques, formules (math, chimie, etc.) Les données des pages HTML sont figées Par exemple, les pages ne peuvent être paramétrables Les pages HTML ne sont pas interactives Il n est pas possible d y entrer de l information Générer à la demande des pages spécifiques (en fonction de la requète et de l état du serveur - BD -) Par un langage de script : CGI, PERL, PHP, etc. Par un programme : Servlet, JSP Intégrer du code exécutable à l intérieur du code HTML Javascript Applets Flash (pour multimédia) Cours IFT 3880 & 6835, tous droits réservés / 7 Cours IFT 3880 & 6835, tous droits réservés / 8 Les Applets Java - introduction Les Applets Une Applet est un programme Java qui est exécuté dans un navigateur tel que Netscape ou Explorer Une Applet est intégrée dans une page au format HTML et est automatiquement téléchargée sur le poste client. Elle est ensuite exécutée par celui-ci. Cours IFT 3880 & 6835, tous droits réservés / 10 Les Applets Java - introduction Le téléchargement transparent et l exécution automatique posent des problèmes de sécurité C est pour cela que les Applets Java sont limitées à certains domaines Typiquement, une Applet Java ne peut pas gérer de fichiers, ni ouvrir des connections réseau autres qu avec son serveur d origine Mise en œuvre Tout programme Java fait appel à une classe donnée Une Applet n échappe pas à cette règle. Si l on veut créer une Applet, on doit étendre la classe java.applet.applet Cette classe contient les méthodes nécessaire à la gestion de l Applet, et à l interaction de celle-ci avec son environnement (navigateur) Une Applet est un objet graphique créé et contrôlé par le navigateur Cours IFT 3880 & 6835, tous droits réservés / 11 Cours IFT 3880 & 6835, tous droits réservés / 12 2

Programmation des Applets Basée sur la bibliothèque graphique AWT (peut également utiliser Swing, uniquement sur Java 1.2) : Les différentes méthodes de la classe Applet Les méthodes d interface graphique Public void paint(graphics g) {dessiner le contenu actuel Public boolean mousedown(event evt, int x, int y) Public boolean action(event evt, Object what) Etc. Les méthodes de contrôle d exécution Public void init() {initialisation, démarrage de threads Public void start() {démarrer l Applet, la page Web est visitée Public void stop() {arrêter l Applet, la page Web est quittée Public void destroy() {relâcher les ressources, libère la mémoire Cours IFT 3880 & 6835, tous droits réservés / 13 Cours IFT 3880 & 6835, tous droits réservés / 14 Interactions d une d Applet start() stop() Applet mouseup() paint() Événements Navigateur HTML Gestionnaire graphique (AWT) Événements pour Applet Exemple d une d Applet import java.applet.applet; import java.awt.graphics; public class HelloWorld extends Applet { public void paint (Graphics g) { g.drawstring("hello world!", 50, 20); Cours IFT 3880 & 6835, tous droits réservés / 15 Cours IFT 3880 & 6835, tous droits réservés / 16 Intégration d Applet d au sein d une d page Web Il existe des balises HTML spécifiques pour indiquer la présence d une Applet <APPLET CODE=ClasseApplet WIDTH=largeur HEIGHT=hauteur CODEBASE="repertoire" ALT="Ca ne marche pas" NAME="NomApplet" ALIGN=alignement ARCHIVE="fichier.jar"> <PARAM NAME="appletAttributei" VALUE="valuei"> </APPLET>. Les différents paramètres L'argument de CODE, ClasseApplet, doit correspondre à un fichier.class qui est la classe de l'applet. WIDTH et HEIGHT définisse la largeur et la hauteur de la zone où sera affichée l'applet. CODEBASE (optionnel) permet de définir le chemin d'accès aux classes utilisées par l'applet. Par défaut le chemin d'accès est le répertoire d'où provient le fichier HTML. Le chemin spécifié par CODEBASE peut être relatif au répertoire courant du fichier HTML (qui se trouve sur le serveur), ou être une URL désignant un chemin sur un serveur différent. Cours IFT 3880 & 6835, tous droits réservés / 17 Cours IFT 3880 & 6835, tous droits réservés / 18 3

Les différents paramètres (suite) Récupération des paramètres ALT (optionnel) définit la chaîne de caractères à afficher quand l'applet ne peut être exécutée (si par exemple, un navigateur n'autorise pas Java, il écrira cette chaîne). NAME (optionnel) définit un nom pour l'applet (utilisé quand vous recherchez une applet par son nom). ALIGN (optionnel) permet de définir l'alignement horizontal de l'applet dans la page HTML (LEFT, RIGHT ou MIDDLE). ARCHIVE (optionnel) est un attribut apparu à partir de Java 1.1 pour définir le fichier JAR qui rassemble les classes, les images et autres fichiers qu'utilise l'applet. L Applet peut lire les paramètre avec la méthode public String getparameter(string name) Retourne null si le paramètre n existe pas Comme les paramètres sont des Strings, il faut les convertir selon ce qu ils représentent (int, float, etc.) Cours IFT 3880 & 6835, tous droits réservés / 19 Cours IFT 3880 & 6835, tous droits réservés / 20 Exemples Exemple d intégration d d Applet d au sein d une d page Web Public void init() { String s; s = getparameter("niveau"); if (s!= null) niveau = Integer.parseInt(s); s = getparameter("incremental"); if (s!= null) incremental = s.equals("true"); s = getparameter("angle"); if (s!= null) angle = Float.valueOf(s).floatValue(); <HTML> <HEAD> <TITLE> Un programme simple </TITLE> </HEAD> <BODY> Voici le résultat que vous devriez voir apparaître : <APPLET CODE="HelloWorld.class" WIDTH=150 HEIGHT=25> Mettre ici le texte en cas d'absence de Java </APPLET> </BODY> </HTML> Cours IFT 3880 & 6835, tous droits réservés / 21 Cours IFT 3880 & 6835, tous droits réservés / 22 Références Ce cours est inspiré de celui du site http://groucho.univlemans.fr/~jacoboni/fichiers/java/cours/index.htm De nombreux exemples sur http://www.eteks.com/coursjava/tdm.html#appletssite Et bien entendu, sur http://java.sun.com/applets/ Les Servlets Cours IFT 3880 & 6835, tous droits réservés / 23 4

Les Servlets : introduction Les servlets sont au serveur ce que les applets sont au client. Les servlets sont des composants de serveur, indépendants du protocole et écrit en Java qui peuvent enrichir dynamiquement un serveur. Les servlets doivent respecter l'interface javax.servlet.servlet en général en héritant des classes javax.servlet.genericservlet ou javax.servlet.http.httpservlet. Cycle de vie des servlets Le cycle de vie d'une servlet est le suivant : 1.la méthode init() est appelée après le chargement (éventuellement via le réseau); 2.une méthode service() est appelé à chaque requête dans une nouvelle thread. 3.la méthode destroy() est appelée pour le déchargement. C'est le programmeur de la servlet qui doit gérer la concurrence. Cours IFT 3880 & 6835, tous droits réservés / 25 Cours IFT 3880 & 6835, tous droits réservés / 26 En héritant de GenericServlet Une première méthode pour écrire une servlet est : D'hériter de javax.servlet.genericservlet De masquer la méthode public abstract void service(servletrequest req, ServletResponse res) throws ServletException, IOException pour définir le comportement de la servlet De masquer la méthode public String getservletinfo() pour permettre de décrire le comportement de la servlet. Exemple import java.io.*; import javax.servlet.*; public class HelloServlet extends GenericServlet { public void service(servletrequest req, ServletResponse res) throws ServletException, IOException { PrintStream out = new PrintStream(res.getOutputStream()); out.println("hello World!"); public String getservletinfo() { return "Hello World Servlet"; Cours IFT 3880 & 6835, tous droits réservés / 27 Cours IFT 3880 & 6835, tous droits réservés / 28 En héritant de HttpServlet Une deuxième option consiste à hériter de la classe javax.servlet.http.httpservlet dans le cas où l'on désire écrire une servlet pour le protocole HTTP1.0. Dans ce cas il faut masquer les méthodes : protected void doget(httpservletrequest req, HttpServletResponse resp) throws ServletException, IOException protected void dopost(httpservletrequest req, HttpServletResponse resp) throws ServletException, IOException À la place de la méthode service(). En héritant de HttpServlet (suite) Les interfaces HttpServletRequest et HttpServletResponse héritent de ServletRequest et de ServletResponse. Elle ne font qu'ajouter des méthodes. Exemple de servlet retournant toutes les informations liées à une connexion : http://wwwigm.univ-mlv.fr/~roussel/reseaujava/java.servlet.html Cours IFT 3880 & 6835, tous droits réservés / 29 Cours IFT 3880 & 6835, tous droits réservés / 30 5

Introductions aux JSP JSP (JavaServer Pages) Dynamically Generated Web Content Une page JSP est une page HTML qui contient des parties de code exécutant la logique de l application afin de générer des pages dynamiques Ce code peut être : JavaBeans Objets JDBC Entreprise Java Beans (EJB) Objets RMI JSP est un élément clef de J2EE (Java 2 Platform, Enterprise Edition) Cours IFT 3880 & 6835, tous droits réservés / 32 Servlets & JSP JSP est une extention des Servlets À la différence des Servlets, les pages JSP sont compilées à la volée, ce qui permet une bien plus grande souplesse et dynamicité Les classes Servlets contiennent du code HTML, alors que les pages JSP sont du code HTML contenant des appels Java JSP : séparation entre la partie statique et la partie dynamique, entre la présentation et la logique d une page Web Composition d une page JSP Composants HTML/XML Tags JSP Morceaux de code écrit en Java ( scriptlets ) Cours IFT 3880 & 6835, tous droits réservés / 33 Cours IFT 3880 & 6835, tous droits réservés / 34 Exécution Les fichiers.jsp sont stockés sur le serveur. Ils sont désignés par une URL: http://hanoi.crim.ca/app1/hello.jsp Le chargement de l URL provoque la compilation du fichier selon le principe suivant: Un fichier.jsp est compilé automatiquement en servlet pour la première exécution. Le résultat (servlet source et classe) est placé dans un répertoire de travail du serveur Après chaque modification d'un fichier *.jsp, il est automatiquement recompilé La servlet générée est ensuite exécutée Premier exemple <HTML> <BODY> <H1> Hello </H1> <ul> <% for (int i = 0; i < 5; i++) out.println ("<li>" + i); %> </ul> </BODY> </HTML> Cours IFT 3880 & 6835, tous droits réservés / 35 Cours IFT 3880 & 6835, tous droits réservés / 36 6

Syntaxe Directives: messages pour le moteur JSP Page directive: souvent mis au début de chaque page <%@ page import="java.util.*" buffer="16k" %> Include directive: inclut une autre ressource dans page <%@ include file="copyright.html" %> Déclaration: définit les variables et méthodes <%! int i=0 %> <%! public void salut() {out.print("bonjour"); %> Expression: l expression est évaluée, le résultat est converti en String et mis directement dans la page HTML générée. <%= totobean.titi() %> Commentaire: <%-- Voici est commentaire --%> JSP Standard Tag Library (JSTL) Cours IFT 3880 & 6835, tous droits réservés / 37 JSP Standard Tag Library (JSTL) Ensemble d actions permettant de faire des appels directs à diverses fonctionnalités Sont réparties en 4 groupes (à déclarer au début du fichier JSP) : De base < %@ taglib prefix="c" uri="http://java.sun.com/jstl/ea/core" %> Traitements XML I18N, gestion des localisations Accès à des bases de données (SQL) http://www.onjava.com/pub/a/onjava/2002/03/13/jsp. html http://www.jspin.com/home/tutorials/tags/taglibra Cours IFT 3880 & 6835, tous droits réservés / 38 Portée des objets (Tutorial de Sun) Objets implicites Objet Type Portée application ServletContext application session HttpSession session request HttpServletRequest request out JSPWriter page Cours IFT 3880 & 6835, tous droits réservés / 39 Cours IFT 3880 & 6835, tous droits réservés / 40 Utilisation des Beans Déclaration de Bean: <jsp:usebean id= "mybean" class= "mybean" scope="session" /> Modification d un attribut: <jsp:setproperty name= "mybean" property="name" value= "dift3880" /> Récupération d un attribut: <jsp:getproperty name= "mybean" property="name" /> Référence http://java.sun.com/products/jsp/ Cours IFT 3880 & 6835, tous droits réservés / 41 Cours IFT 3880 & 6835, tous droits réservés / 42 7

J2SE, J2EE, J2ME ou Java Card? J2EE & EJB Java 2 Platform, Enterprise Edition & Enterprise JavaBeans Java 2 Platform, Standard Edition (J2SE) Fourni l environnement de base de Java Java 2 Platform, Enterprise Edition (J2EE) Défini les standards pour le développement d applications industrielles à base de composants Java 2 Platform, Micro Edition (J2ME) Constitue un ensemble de technologies et de spécifications destinées à des applications embarquées (PDA, téléphone, imprimantes, etc.) Java Card technology Destiné aux «cartes à puces» (mémoire et CPU limités) Cours IFT 3880 & 6835, tous droits réservés / 44 Java 2 Platform, Enterprise Edition (J2EE) Standards vs. Implémentations «J2EE defines the standard for developing multitier enterprise applications. J2EE simplifies enterprise applications by basing them on standardized, modular components, by providing a complete set of services to those components, and by handling many details of application behavior automatically, without complex programming.» «J2EE adds [to J2SE] full support for Enterprise JavaBeans components, Java Servlets API, JavaServer Pages and XML technology. The J2EE standard includes complete specifications and compliance tests to ensure portability of applications across the wide range of existing enterprise systems capable of supporting J2EE.» http://java.sun.com/j2ee/ Standards de J2EE Collaboration entre plusieurs partenaires industriels Définit des normes Certifie des implémentations Plates-formes compatibles Inprise Appserver (Borland) Weblogic (BEA) Websphere (IBM) JBOSS (Open Source) http://www.javaportal.co.uk/links/j2ee/page1.htm Cours IFT 3880 & 6835, tous droits réservés / 45 Cours IFT 3880 & 6835, tous droits réservés / 46 Modèle d applications d industrielles Caractéristiques des applications J2EE Sont intégrés et gérés par les plates-formes : Gestion des transactions, du cycle de vie et des ressources Support transparent de nombreuses technologies HTML, XML, HTTP, SSL, RMI, Logique d affaire encapsulée dans des composants EJB Tout cela permet de se concentrer sur la logique d affaire et les interfaces Modèle client / serveur, multi-tiers Cours IFT 3880 & 6835, tous droits réservés / 47 Cours IFT 3880 & 6835, tous droits réservés / 48 8

Services J2EE Java Naming and Directory Interface API (JDNI) Standard de nommage et d accès aux différents services et objets Java Transaction API JTA permets de déclarer son propre modèle de transaction Java Message Service Messages assynchrones entre composants EJB? «Enterprise JavaBeans (EJB) technology is the server-side component architecture for the Java 2 Platform, Enterprise Edition (J2EE) platform» «EJB technology enables rapid and simplified development of distributed, transactional, secure and portable applications based on Java technology» Spécifications définies par Java Community Process (JCP) Cours IFT 3880 & 6835, tous droits réservés / 49 Cours IFT 3880 & 6835, tous droits réservés / 50 EJB : Entity Beans ou Session Beans? Entity Beans Sont permanents (e.g. sont sauvegardés par une BD) Peuvent être utilisés à travers le réseau (exécution à distance) Possèdent un identifiant unique (primary key) Session Beans Objets temporaires Il est possible de les partager en utilisant leurs "handles" Pas d identifiants uniques Les interfaces des EJB L interface remote Définit les services (logique d affaire) fournis par l EJB Demande l implémentation des méthodes par le programmeur L interface home Sert à la gestion des EJBs Elle supporte la création et la découverte d EJBs Les containers procurent l implémentation des méthodes Cours IFT 3880 & 6835, tous droits réservés / 51 Cours IFT 3880 & 6835, tous droits réservés / 52 EJB : références http://java.sun.com/products/ejb/index.jsp http://www.ejbtut.com/ http://openejb.sourceforge.net/hello-world.html Référence pointant vers de nombreux cours Java : http://java.developpez.com/cours/ Cours IFT 3880 & 6835, tous droits réservés / 53 9