Développement d un réseau social modulaire

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

Download "Développement d un réseau social modulaire"

Transcription

1 Développement d un réseau social modulaire Stage - Master I Matthieu Proucelle Université d Artois 29 mai 2009

2 Table des matières 1 JEE Java Plate-forme Spécifications JSR JCP JEE Modèle n-tier Modèle en couche de JEE EJB JPA JSF Serveurs Sécurité - Authentification - Autorisations Sécurité Authentification Autorisations Au delà des spécifications Logiciel Libre Aspect Humain Aspect Économique JEE et open source JEE L application Présentation Analyse Fonctionnement Rôles Cas d utilisation Technologies choisies API et Frameworks Environnement de travail Serveur d application Architecture Persistance Business-tier Web-tier Modularité Première approche Portlets Difficultés rencontrées Bugs Navigation Création de composants

3 Remerciements Je remercie tout particulièrement Mr Stéphane Cardon, mon tuteur, pour son engagement et son support tout au long de ce stage. Je tenais aussi à remercier Mathieu Boniface avec qui j ai partagé des discussions des plus constructives et encourageantes. 2

4 Introduction L université d Artois fournit à travers le Master Informatique de la faculté Jean Perrin une formation avancée sur les technologies liées à internet. Le stage à effectuer en première année permet aux étudiants d apprécier pendant 8 semaines le travail en entreprise ou dans un laboratoire de recherche. La première moitié de mon travail consistait à étudier et apprécier la technologie Java Entreprise Edition. Cette technologie est un ensemble de spécifications qui permettent de développer des applications d entreprises de grande envergure. Le premier chapitre dévoile les dessous de cette vaste technologie en détaillant les points principaux et en élaguant les moins importants. Lors de la deuxième partie de mon stage, j ai développé une application permettant de mettre en ligne un réseau social. Un réseau social est un ensemble d entités sociales, telles que des individus ou des organisations sociales, reliées entre elles par des liens créés lors des interactions sociales. Une application de réseau social est donc un moyen informatique de faire vivre un tel réseau. Elle doit permettre à des personnes de créer des liens, d interagir et de se regrouper. Je présente les différentes parties du développement de ce logiciel, depuis le choix des technologies utilisées jusqu à l analyse des conséquences de ces choix dans la seconde partie de ce document. 3

5 Chapitre 1 JEE Certains acronymes sont récurrents dans ce document, c est pourquoi il est nécessaire d en faire une petite présentation avant de se lancer dans le vif du sujet. Un API pour Application Program Interface, est un ensemble de classes utilitaires permettant le développement d applications. Un Framework est a l instar d un API, un ensemble de classes. Cependant il impose une architecture logicielle que le développeur doit respecter. JSE pour Java Standard Edition, la plateforme Java de base incluant les bibliothèques et les outils nécessaires à l exécution des programmes Java. JDK pour Java Développement Kit, la plate-forme de développement de Java, regroupant les API et les outils nécessaires au développement et à la compilation des programmes Java. JEE pour Java Entreprise Edition. 1.1 Java Java est un langage orienté objet, créé en 1995 par une équipe de développeurs Sun. Le but de ce projet était de proposer un langage de programmation reprenant les forces du C++ mais en le simplifiant énormément. Aujourd hui Java a 14 ans, et est utilisé dans de nombreux domaines, depuis des petits logiciels de bureau jusqu aux énormes applications d entreprise. Ce langage est un langage interprété, c est à dire qu il n est pas exécuté directement sur la machine, mais sur une machine virtuelle (un logiciel) installée sur l ordinateur. Cette machine virtuelle, appelée JRE pour Java Runtime Environnement, prend un fichier java précompilé en entrée et exécute le programme sur l hote. De ce fait, Java est portable. Le code source n etant pas compilé pour une architecture en particulier, les machines virtuelles de tous les systèmes répondent et exécutent de la même façon un programme Java, sans que l auteur ne se soucie de la portabilité de son code source. Grâce à sa simplicité et à sa portabilité, Java est un langage qui permet une productivité accrue. 1.2 Plate-forme JEE (Java Entreprise Edition) peut être considéré comme une extension de JSE (Java Standard Edition) spécialisée dans les applications pour entreprises et internet. C est un ensemble de spécifications, de services et de protocoles qui permettent le développement d applications réseaux robustes. La plate-forme distribuée par Sun est un groupe de logiciels, composé d un serveur d applications, d un SGBD, et de différents outils utilitaires. 1.3 Spécifications Une spécification est un ensemble de documents qui sont écrits avant le développement d une technologie et qui décrivent précisément le fonctionnement des différents composants de cette dernière. 4

6 1.3.1 JSR Le langage Java et les plate-formes JSE et JEE sont spécifiés. Chaque changement ou nouveauté dans le langage est proposé, étudié, spécifié et implémenté. Toutes ces spécifications sont issues des JSR (Java Specification Request). A la sortie du composant, les JSR finales fournissent le code source du composant et une série de tests qui vont être utilisés par des éditeurs tiers pour attester de la compatibilité de leurs applications JCP Les JSR sont émises par un organisme nommée JCP (Java Community Process). Cette organisation qui regroupe des entreprises, organisations et développeurs Java, est responsable des évolutions du langage et coordonne leurs sorties JEE 5 Voici une liste des principales spécifications de JEE : Java API for Web Services (JAX-WS) 2.0, Java API for XML-Based RPC (JAX-RPC) 1.1 Java Architecture for XML Binding (JAXB) 2.0 SOAP with Attachments API for Java (SAAJ) Streaming API for XML (StAX) Web Service Metadata for the Java Platform Enterprise JavaBeans (EJB) 3.0 J2EE Connector Architecture (JCA) 1.5 Java Servlet 2.5 JavaServer Faces (JSF) 1.2 JavaServer Pages (JSP) 2.1 JavaServer Pages Standard Tag Library (JSTL) J2EE Management J2EE Application Deployment Java Authorization Contract for Containers Common Annotations for the Java Platform Java Message Service (JMS) API Java Persistence API Java Transaction API (JTA) JavaBeans Activation Framework (JAF) 1.1 JavaMail Malgrè la taille impressionnante de cette liste, on peut facilement regrouper les spécifications les plus intéressantes en 4 groupes : Logique métier Enterprise JavaBeans (EJB) 3.0 : Stateful, stateless, message-driven, les EJB sont le cœur de la couche logique de l application. JavaMail : Envoi et réception des mail. Persistance Java Persistence API : API de persistance qui permet d enregistrer les états des instances de nos classes en charge de stocker les données. Partie Web Java Servlet 2.5 : Un servlet est une classe qui permet de produire dynamiquement des données suite à une requête HTTP. Ici les servlets sont souvent utilisés avec les pages JSP ou comme proxy entre les EJB et une application client. JavaServer Faces (JSF) 1.2 : Java Server Faces est un framework de présentation respectant le paradigme MVC. JavaServer Pages (JSP) 2.1 : Les JSP sont des pages html qui contiennent du code qui sera interprété par le serveur avant l envoi de la réponse au client. Elles sont souvent couplées à un servlet. JavaServer Pages Standard Tag Library (JSTL) : La JSTL est l ensemble des tags pouvant être utilisés dans une page jsp, qui sert de standard pour les serveurs compatibles JEE. 5

7 Les web services Java API for Web Services (JAX-WS) 2.0 Java API for XML-Based RPC (JAX-RPC) 1.1 Java Architecture for XML Binding (JAXB) 2.0 SOAP with Attachments API for Java (SAAJ) Streaming API for XML (StAX) Web Service Metadata for the Java Platform Ces quatre groupes représentent les 4 parties majeures d une application d entreprise. En faisant abstraction des web services, les ensembles Logique métier Persistance et Partie Web s apparentent à ce que l on appelle tier ou couche. Ces tiers sont la base d un paradigme de développement appelé modèle n-tier. 1.4 Modèle n-tier Le développement n-tier (ou multi-tier) propose un modèle d architecture en couche qui permet de séparer les différentes parties d une application. Une couche ne dépend que des couches de niveau supérieur. La communication se fait entre deux couches adjacentes. Le modèle n-tier le plus répandu est le modèle 3-tiers. Il définit 3 couches : une couche de présentation, une seconde couche de logique métier, et une dernière couche de données. Figure 1.1 Le modèle 3-tiers Le tier de présentation affiche les données au client. Il peut y avoir plusieurs tiers de présentation, chacun indépendant des autres. Lorsque le client demande une ressource, le tier présentation envoie une requête au tier logique métier. Ce dernier effectue le traitement logique de l application en communicant avec le dernier tier qui lui fournit les données nécessaires. 1.5 Modèle en couche de JEE Java Entreprise Edition offre aux développeurs la possibilité de créer leurs applications sur une base n-tier. Voici les couches que l on retrouve dans une application JEE : Tier Client : Le tier client peut être une application swing, un applet, une page web etc... C est la couche qui affiche les données à l utilisateur. Tier Web : Le tier web est représenté ici par le couple JSP/Servlets et le framework JSF. C est la partie de l application qui produit la présentation et qui l envoie au navigateur client. Elle reçoit les requêtes du client et fait la liaison avec les EJB si nécessaire. Tier Métier : Les EJB et entités, qui représentent la partie métier de l application. Tier EIS (Enterprise Information System) : Ce tier est constitué d une ou plusieurs bases de données qui peuvent être réparties sur plusieurs machines. C est ici que toutes les données persistantes sont stockées. 6

8 Figure 1.2 Le modèle n-tier Cela étant dit, chacun est libre d utiliser l architecture qu il désire. Par exemple un simple site web dynamique, qui peut tenir dans un Web Container, n aura pas besoin du tier Métier EJB. Effectivement, la logique métier peut être implémentée directement dans le tier Web à l aide de classes Pojo (Plain Old Java Object). Les EJB sont donc surtout utilisés pour les applications de grande envergure utilisant des webservices ou des clients de différentes sortes (Web, Swing, WS, etc...) EJB Les EJB (Entreprises JavaBeans) sont des composants serveurs qui respectent la JSR 220. Dans une application d entreprise, ils représentent la logique métier, proposent une interface avec les entités, et font office de Façade (au sens design pattern) au système. Généralités Un EJB est une classe java à laquelle on ajoute une ou plusieurs annotations qui vont définir son type. Un système d interface permet de définir les méthodes qui peuvent être appelées en local (à l intérieur de la JVM du serveur) ou à distance. Exemple public interface MyBeanLocal { public void dojob ( ) ; public void dojobonlylocal ( ) public interface MyBeanRemote { public void dojob ( ) ; Listing 1.1 Interfaces d un EJB Le bean qui implémentera l interface MyBeanLocal proposera 2 méthodes qui pourront être appelées à partir du serveur. S l implémente aussi l interface MyBeanRemote, la méthode dojob, sans aucun changement dans le code, pourra aussi être invoquée d un client distant. 7

9 EJB Stateless Les EJB Stateless sont des composants qui fonctionnent de façon éphémère. Le client demande et reçoit des données, et l interaction se termine là. Ils n ont pas d état, l utilisation des attributs de classe est donc à proscrire car la durée de vie théorique d un EJB Stateless est la même que le temps nécessaire pour traiter la méthode. On utilise l pour définir un Stateless EJB S t a t e l e s s public class AdditionBean { public int add ( int a, int b ) { return a+b ; Listing 1.2 Stateless EJB EJB Stateful Contrairement au composant sans état, les Stateful Session Beans associent les requêtes à un unique client. Il peut donc conserver des données propres aux actions du client dans des attributs. On utilise l pour définir un Stateful Session Bean public class AdditionSessionBean { private int somme ; public int add ( int a ) { somme += a ; return somme ; Listing 1.3 Stateful EJB MDB Les MDB, ou Message Driven Beans, sont des EJB qui offrent un fonctionnement asynchrone à l aide de la technologie JMS (Java Messaging Service). En effet, pour les deux types de beans précédents, le client envoyait une requête à l EJB, puis se bloquait pour attendre la réponse. Ici la requête est placé dans une file à l aide de JMS, puis le client continue son traitement jusqu à ce que le MDB retourne un résultat, encore une fois par JMS. Un événement est à ce moment levé chez le client, qui peut dès lors traiter le résultat. On utilise l pour définir un MDB : Listing 1.4 public class BigCalculMDB implements MessageListener { public void onmessage ( Message message ) { / E f f e c t u e un long c a l c u l e t r envoi l e message par JMS / JPA JPA (Java Persistence API) est un API permettant un mapping objet-relationnel au cœur de Java qui va permettre d enregistrer des objets Java dans une base de données relationnelle de façon transparente pour le développeur. JPA est comme nous l avons vu une spécification. Il existe différentes implémentations de cette dernière dont TopLink, EclipseLink et Hibernate. Le code écrit avec l API JPA sera donc compatible avec n importe laquelle de ces implémentations. JPA fait aussi abstraction du SGBD utilisé pour stocker les données. En effet, la modification d une simple ligne dans le fichier de configuration de JPA permet de changer le SGBD utilisé. 8

10 Pour qu une classe Java puisse être traitée et enregistrée par JPA dans une base, elle doit comporter certaines annotations : Entity : L transforme une classe Java standard en une Entité. Les entités sont les objets de base de JPA, et doivent comporter un id unique. Dans la plupart des cas, une entité correspond à une table dans la base relationnelle. Embbeded et Embbedable : Dans un modèle objet, certaines classes n ont pas à être des Entités. Les permettent de mapper un objet à l interieur d un autre. Au niveau relationnel, une seule table sera utilisée, dans laquelle on retrouvera les attributs des deux objets. Relations : Tout comme dans un modèle relationnel, il est possible de définir des relations entre les classes. Les relations 1-n utilisent les les relations n-n l et les relations 1-1 l Annotations de mapping : A ces annotations principales s ajoutent des annotations qui permettent de gérer le mapping de façon précise. Il est ainsi possible de définir le nom des tables ou des colonnes dans la base de données, le nom des clefs externes ou les mécanismes utilisés lors de mapping particuliers (pour l héritage par exemple), ou le type de chargement des relations 1-n et 0-n. La configuration de JPA se fait dans un fichier persistence.xml, qui va définir le moteur JPA à utiliser et le type et la configuration de la base de données. JPA propose aussi un langage de requêtes, dans la lignée de SQL, qui permet de récupérer des éléments dans la base de données en utilisant des conditions : JPQL (Java Persistence Query Language) JSF Java Server Faces est un framework JEE permettant de développer un site web en utilisant le design pattern MVC. Il est indépendant de la technologie sous-jacente de présentation. Plus précisément, un site codé en JSF peut être rendu avec JSP, mais aussi avec d autres technologies comme XUL, ou Facelets. Les règles de navigation se font à l aide du fichier faces-config.xml, dans lequel on définit pour chaque action de l utilisateur la page à visiter. Cela instaure une certaine rigueur au niveau de la programmation de la navigation dans les sites. Dans une application utilisant JSF, on retrouve 2 composants importants : les vues (Faces) et les contrôleurs (ManagedBeans). La présentation de l application est effectuée par les Faces, qui sont des pages codées avec un langage de balise. Listing 1.5 Exemple de balise JSF <h : commandlink action= #{ p r o f i l. dosearch > <h : outputtext value= P r o f i l /> <f : param name= p r o f i l M a i l value= #{j e e z e r. /> </h : commandlink> Les contrôleurs de l application se trouvent dans des classes Java que l on appelle Managed Bean. Les ManagedBeans vont traiter les actions effectuées par l utilisateur, et lancer des requêtes sur la partie Métier de l application, que sont les EJB, si nécessaire. Les vues vont ensuite récupérer les données au niveau des ManagedBeans pour les afficher. Comme nous l avons vu sur la figure 1.2, le conteneur web et le conteneur EJB sont séparés dans le serveur d applications. Cependant le conteneur web a besoin d appeler des méthodes sur les EJB. A la base, un mécanisme lourd est utilisé pour récupérer une référence sur un EJB. Mais l accés aux EJB à travers les ManagedBean est simplifié grâce au système d injection qui va permettre au conteneur web d injecter directement cette référence dans un attribut. Le code suivant décrit ce fonctionnement : Listing 1.6 Injection public class JEEzerControl MemberLocal memberbean ; public JEEzer getentity ( ) { return memberbean. getmember ( user. getname ( ) ) ; 9

11 Lors de l instanciation de la classe JEEzerControl, une référence vers un EJB MemberLocal est injecté par le serveur d application dans l attribut memberbean. L appel de méthodes se déroule ensuite comme avec n importe quel objet. 1.6 Serveurs Un serveur d applications JEE doit implémenter les spécifications précédentes. Plus précisément, il doit être capable de passer les tests fournis avec chaque spécification, donc implémenter les API de façon standard. Il existe une multitude de serveurs JEE, chacun ayant une implémentation interne différente des API mais exécutant les programmes de la même façon. Lorsqu un serveur passe tous les tests, il est reconnu par Sun comme Java EE 5 Compatible. Un serveur d application va coordonner les communications entre les composants, gérer le cycle de vie des beans, les sessions HTTP, le nommage des beans et des webservices etc... Les deux composantes importantes du serveur d application sont les Conteneur WEB et les Conteneur EJB. Le conteneur web est en charge du Web-tier tandis que le conteneur EJB a la responsabilité des EJB, qui représentent le Business-tier. Il existe des serveurs à part entière qui implémentent seulement la partie conteneur WEB. C est le cas de Tomcat, un serveur Servlet/JSP, appartenant au projet Apache. Même s il est possible d ajouter quelques fonctionnalités à l aide de plugins, je ne m attarderai pas sur ces derniers dont les fonctions sont trop restreintes pour des applications d entreprises. Les serveurs qui suivent sont donc des serveurs d applications complets Java EE 5 Compatibles : Apache Geronimo WebLogic Server 10.0 IBM WASCE 2 IBM WebSphere Application Server 7 JBoss JBossAS Apusic Application Server 5 Oracle Application Server 11 OW2 JOnAS 5.1 SAP NetWeaver 7.1 Sun GlassFish Enterprise Server 9.1 TmaxSoft JEUS 6 GlassFish Application Server v2 NEC WebOTX 8.1 Parmi ceux-ci, 4 retiennent notre attention par rapport à leur licence libre : Serveur Licence Entreprise Glassfish GNU GPL 2 Sun Geronimo Apache 2.0 IBM JBossAS GNU LGPL RedHat JOnAS GNU LGPL OW2 Il faut bien comprendre que, exception faite des différences au niveau de l installation, de la configuration et des performances, ces serveurs fournissent une implémentation standard de JEE. 1.7 Sécurité - Authentification - Autorisations Sécurité Le serveur d application fournit des services de haut niveau comme les EJB, ou la sécurité est appliquée directement par le conteneur EJB. Nul besoin donc de passer des heures à vérifier si telle méthode ne pose pas de problème de sécurité liée à un défaut de conception Authentification Plusieurs solutions d authentification existent comme JAAS, JGuard ou OpenSSO, mais les spécifications de JEE définissent un protocole d authentification et d autorisation au niveau des EJB. 10

12 Dans ce système, le serveur utilise un REALM. Un realm est un ensemble d identifiants, de mots de passe, et de rôles qui identifient des utilisateurs valides. Il existe plusieurs realms, qui utilisent chacun des méthodes d authentification différentes. Celui qui nous intéresse ici est JDBC-Realm qui utilise une base de données relationnelle pour stocker ces valeurs. Le serveur d application pourra donc récupérer les informations sur les membres directement dans nos entités. Dans une application web, l utilisateur non connecté sera envoyé vers une page de connections. La page JSF va envoyer ses données d identification à un servlet appelé j security check. Ce servlet va ensuite vérifier ces données et renvoyer l utilisateur sur la page demandée si elles sont valides. Dans une application Swing, une fenêtre de connexion apparait et demande ces informations à l utilisateur lorsqu une méthode protégée est appelée sur un EJB Autorisations Par défaut, une méthode EJB est accessible par n importe quel utilisateur, même anonyme. La restriction de l accès aux méthodes métier EJB se fera simplement à l aide d annotations comme dans l exemple suivant : Listing 1.7 Restriction des S t a t e l e s ({ a d m i n i s t r a t e u r, moderateur ) public class HelloEJB implements Hello public S t r i n g helloworld ( S t r i n g msg) { return Everybody : Hello, + msg ( a d m i n i s t r a t e u r ) public S t r i n g helloadmin ( S t r i n g msg) { return Admin : Hello, + msg ( moderateur ) public S t r i n g hellomodo ( S t r i n g msg) { return modo : Hello, + msg ; 1.8 Au delà des spécifications Il existe bien d autres technologies autour de JEE que celles qui proviennent des JSF. Des frameworks MVC, comme Struts, sont basés sur des technologies JEE et proposent une alternative à JSF et JSP. Spring est un conteneur léger. Il a un structure similaire à un serveur JEE et permet au développeur d utiliser la programmation par aspect. Hibernate est un framework de persistance. Même s il implémente aujourd hui JPA, il propose de nombreuses fonctionnalités supplémentaires. Il existe un grand nombre de frameworks Ajax pour JSF. La plupart proposent des composants qui s integrent facilement à JSF et permettent des traitements asynchrones. Les deux les plus utilisés sont RichFaces et IceFaces. Et pour finir, il y a GWT (Google Web Toolkit). Développé par Google, il permet de créer des pages web en code Java, qui est par la suite compilé en JavaScript. 1.9 Logiciel Libre Le logiciel libre (souvent appelé open-source) ne cesse de faire parler de lui et de plus en plus d entreprises viennent à l utiliser. Loin de moi l idée de développer ici de façon exhaustive les différents atouts économiques du modèle libre. Cependant, je souhaite présenter ma vision des choses quand à l adoption de logiciels libres dans une entreprise. 11

13 Une licence libre au sens FSF (Free Software Foundation) donne le droit d utiliser, d étudier, de modifier, de dupliquer et de diffuser (donner et vendre) le dit logiciel Aspect Humain Le Logiciel libre est avant tout un modèle de partage et de droits dans le monde informatique. Le modèle économique mis en place impose des logiciels propriétaires et payants, que ce soit aux entreprises ou aux particuliers. Pourtant les logiciels libres apportent une alternative gratuite à la plupart des logiciels propriétaires. Gratuite mais aussi respectant la vie privée et les droits de chacun. En effet, de par sa nature, le logiciel libre permet, au-delà des 5 droits fondamentaux cités ci-dessus, d assurer qu aucun procédé d identification, de suivi, de restriction d utilisation, ou d espionnage ne soit intégré dans le-dit logiciel Aspect Économique Le choix d un solution logicielle libre permet aux entreprises de se défaire du lien fort avec l éditeur de logiciel auquel elles sont obligatoirement soumises en choisissant de payer une licence. Ce lien oblige l entreprise à payer les mises à jour du logiciel, parfois même les corrections de bug. Un logiciel libre, est dans la plupart des cas gratuit. Ses mises à jour sont aussi gratuites. Ce lien entre l entreprise et l éditeur de logiciel propriétaire place l entreprise dans une position de dépendance, a tel point que si l éditeur vient à disparaître ou cesser le support du logiciel, la solution logicielle de l entreprise est bonne à jeter à la poubelle. Avec les logiciels libres, ce problème n existe pas. Lors de l acquisition du logiciel, l entreprise acquiert aussi le code source, et le droit de le modifier et de le redistribuer. Si l éditeur du logiciel libre cesse de le l éditer, le support peut donc être fait par des ingénieurs de l entreprise et par la communauté. Car la communauté a aussi une grande importance dans le maintien mais surtout dans le contrôle qualité du logiciel libre. Effectivement, le code source étant ouvert, les hackeurs du monde entier peuvent vérifier et corriger les erreurs. C est pour cela que le terme logiciel libre est aujourd hui associé à une idée de qualité et de sécurité. Comme la plupart des logiciels libres sont gratuits, les éditeurs se basent sur un modèle économique qui propose aux entreprises de payer non pas une licence, mais des services comme l installation, le support ou l ajout de fonctionnalités. Lorsqu une nouvelle fonctionnalité est créée, son code source est souvent libéré et intégré au logiciel, ce qui permet à l éditeur d améliorer son logiciel et au client d assurer la pérennité, la qualité et l évolution de sa commande JEE et open source JEE étant basé sur des spécifications ouvertes, des implémentations libres sont disponibles, comme nous l avons vu dans la partie serveur. Une application d entreprise en JEE donc peut être développée sans engendrer aucun cout lié à l achat de licence. Mais le maitre d ouvrage profitera aussi de toutes les qualités inhérentes au logiciel libre citées ci-dessus. C est un des points forts de cette technologie, qui convainc de plus en plus d entreprises d adopter JEE JEE6 JEE6, qui sort en Septembre 2009, apporte son lot de nouveautés. Dans la lignée de Java 5, les annotations viennent remplacer les fichiers de configuration web.xml et faces-config.xml. Facelets (un framework complémentant JSF) sera intégré par défaut dans les serveurs et permettra un développement de composants JSF personnalisés bien plus simple. Les profils, qui représentent des sous-ensembles de JEE, font aussi partie des nouveautés. Le profil Web par exemple, intégrera uniquement les outils nécessaires au développement d applications Web. Cela permettra de déployer des serveurs plus légers, implémentant tel ou tel profil en fonction des besoins de l entreprise. Et bien sur les nouvelles versions des spécifications comme les EJB 3.1, JPA 2.0 et JSF 2.0 apportent des modifications importantes, mais surtout une simplicité quant à la configuration des applications. 12

14 Chapitre 2 L application 2.1 Présentation La deuxième partie de mon travail était de créer un moteur d application de réseau sociale extensible et modulaire, qui pourrait être utilisé dans différents contextes. L application permettrait aux membres de pouvoir créer une liste de connaissances, de s échanger des messages instantanés ou différés, de créer des groupes, des espaces de travail collaboratif etc... La grande difficulté de cette partie venait de l utilisation des technologies avec lesquelles je n avais pas encore travaillé. En effet, à chaque nouvelle fonctionnalité, à chaque nouvelle page, le temps de développement était incroyablement augmenté, au debut à cause de la recherche des composants nécessaires au codage de l application, et ensuite à cause de bugs récalcitrants dont je vous parlerai par la suite. 2.2 Analyse Même si toutes les fonctionnalités décrites par la suite ne sont pas implémentées, j ai choisi de vous présenter la totalité de l analyse que j ai réalisée avant le développement Fonctionnement L application propose un système d inscription, de connexion, de gestion des droits et des groupes, d échange de messages et d ajout de connaissances. Chaque partie du site est représentée par une entrée dans le menu sur laquelle le membre doit cliquer pour y accéder. Un champ de recherche se trouve aussi en haut à droite de la page. Il permet de rechercher des membres à l aide de mots clés. Lors de la connexion d un membre, sa page d accueil lui fait part des derniers événements comme la réception d un message, une demande d ami par un autre membre, etc... Si le membre clique sur l un de ces événements, il est redirigé vers la page correspondante. L événement est ensuite marqué comme lu. L utilisateur peut accéder à son profil par l intermédiaire de la page profil. Les informations disponibles dans le profil sont le nom, le prénom, et l . Si un membre le désire, il peut indiquer d autres informations comme son adresse, ses activités ou les choses auxquelles il s intéresse. La page Amis liste les amis du membre et permet à ce dernier d afficher leur page personnelle. Sur cette page, il est possible d accéder au profil du membre et de lui envoyer un message. La boite de réception du membre lui permet de gérer ses messages. Il peut les lire, y répondre, ou les archiver. Chaque membre a une page personnelle sur laquelle ses amis peuvent accéder à son profil ou lui envoyer un message. Finalement, le membre peut se déconnecter à tout moment en cliquant sur Déconnexion Rôles Trois rôles on étés définis dans l application. JEEzer est un simple membre du réseau social. Il a le droit de gérer ses propres mails, ses amis, ses groupes. Moderator est un membre qui a le droit de modérer des messages et autres interactions. Administrator est l administrateur du réseau social. 13

15 2.2.3 Cas d utilisation Figure 2.1 Cas d utilisation généraux Le diagramme 2.1 représente les cas d utilisation généraux que peuvent réaliser le membre et l adminitrateur. Ces cas d utilisation sont détaillés ci-après. 14

16 Figure 2.2 Gestion des messages Un membre peut consulter, envoyer ou archiver ses messages. Figure 2.3 Gestion du profil Le membre peut modifier ses informations personnelles, ajouter une photo pour son profil, ou régler des préférences. 15

17 Figure 2.4 Gestion du workspace Un membre inscrit à un Workspace peut y ajouter, modifier ou archiver un fichier et inviter un autre membre. Il est possible pour chaque inscrit de créer des workspaces. Figure 2.5 Administration L administrateur a des droits supplémentaires. Il peut inscrire ou désinscrire un membre et effectuer des opérations de modération sur les interactions entre les membres. 16

18 2.3 Technologies choisies API et Frameworks Bien qu il existe des nombreux frameworks et API qui viennent se greffer à JEE, j ai décidé au tout début de l application d utiliser en priorité des technologies issues des JSR. Le Business-tier est donc constitué d EJB 3.0, alors que le framework de présentation web utilisé est JSF. Cependant, JSF n intégrant pas l Ajax avant sa version 2 qui sortira avec JEE6, il m a paru important d intégrer un framework qui proposait des composants Ajax. Parmi tous les frameworks existants, j ai choisi RichFaces. GWT était intéressant mais ne s intégrait pas assez facilement à JEE pour que je décide de l utiliser Environnement de travail Il était aussi nécessaire pour mon travail d utiliser des logiciels gratuits mais également libres. Cela permettant d une part de développer l application sans effectuer l achat d aucune licence, mais d autre part de montrer qu il est possible et simple pour une organisation, une université ou une entreprise d utiliser des logiciels libres sur toute la plateforme de développement et de déploiement. Pour l environnement de développement, j ai utilisé un système d exploitation GNU/Linux et l IDE Netbeans, tous deux sous licence GPL Serveur d application Le choix du serveur aurait pu se montrer plus difficile, mais comme je l ai expliqué dans la première partie, l implémentation des spécifications est la même pour chacun d entre eux. J ai donc choisi Glassfish, qui est une version open-source du serveur d application payant de Sun et qui est facilement configurable et clusterisable. Une autre raison qui m a poussé à choisir ce dernier est que Sun l utilise pour développer JEE6, il sera donc le premier serveur d application JEE6 Compatible (une version prélude de Glassfish 3 est déjà disponible). 2.4 Architecture Les cas d utilisation m ont permis de développer la partie statique de la modélisation. Les diagrammes de classes qui suivent sont issus de longues réflexions sur les services que propose l application, et réutilisent des idées de l analyse réalisée au premier semestre en Génie Logiciel sur l application FSNet Persistance La partie persistance de l application contient les objets pouvant être enregistrés dans la base de données. Une Entité doit avoir un id unique, aucune Entité ne peut donc être stockée sous forme d interface, même si elles peuvent en implémenter. Dans une application standard, des interfaces auraient été utilisées pour remplacer des classes abstraites comme News. Entités Sociales La figure 2.6 montre les classes qui constituent la gestion des membres et des groupes. Dans l application, la classe SocialEntity représente une entité sociale du réseau. Cette entité possède un unique en id et une liste de rôles. La classe JEEzer, qui spécialise SocialEntity, est un membre de l application représentant une personne physique. La classe possède donc des attributs propres à un humain, ainsi qu une liste d amis. SocialGroup regroupe un ensemble de SocialEntity. Cette classe est utilisée pour la création de groupes et de sous groupes. On peut reconnaitre une forme de design pattern composite, avec l utilisation d une classe à la place de l interface. Membre Dans la figure 2.7 sont présentés la classe JEEzer et ses relations avec la classe Profil qui va lui permettre d ajouter des informations personnelles, et aussi avec la classe PicturesAlbum, qui reprèsente un album photo appartenant au membre. Ces albums pourront être créés par l utilisateur qui pourra y ajouter des photos. 17

19 Figure 2.6 Entités sociales Figure 2.7 Membre Messages La figure 2.8 inclut la partie messagerie de l application. J ai décidé d utiliser une certaine redondance au niveau des relations entre SocialEntity et Mail, qui permettra d éviter d inclure des requêtes couteuses en temps, lors de la recherche des relations entre ces derniers. Comme on peut le voir sur le schéma, un mail est envoyé par une personne à une instance de SocialEntity (donc un membre ou un groupe). Si le mail a plusieurs destinataires, il sera dupliqué et envoyé à chacun. Un mail peut être aussi de type AskFriendMail, qui représente en fait une demande d ami. Chaque message a un état, il peut être non lu, lu ou archivé. News Le système de news est exposé sur la figure 2.9. Une instance de SocialEntity possède une liste de News qui elle-même possède un état lu, non lu ou archivé. Tous les types de news héritent de la classe abstraite 18

20 Figure 2.8 Messages Figure 2.9 News News et possèdent leurs propres attributs en fonction de leur type. 19

21 2.4.2 Business-tier EJB Figure 2.10 EJB Les 3 EJB utilisés dans l application sont présentés dans la figure Il a été difficile de choisir la façon dont certaines actions seraient effectuées. En effet, les Entités se déplacent entre les couches de l application, il est donc possible de faire des traitements dans les EJB ou dans les ManagedBeans. J ai décidé d implémenter dans les EJB des fonctions simples qui permettent de réaliser des opérations basiques sur les Entités comme la création, la recherche, la mise à jour, ou l effacement. D autres actions sont directement effectuées dans les ManagedBean. Par exemple lorsque le membre lit un mail, le ManagedBean InboxControl qui représente le contrôleur de la boite de réception va lui même marquer le mail comme lu et appeler la méthode updat () sur l EJB. Dans une autre application, la méthode permettant de marquer un mail comme lu aurait pu être placée sur l EJB responsable des messages : public void setmailreaded(mail Mail, état State) ; Web-tier La partie web est composée de pages JSF et de contrôleurs. La figure 2.11 montre l organisation des pages JSF de l application. Les pages à la racine permettent la connexion et l inscription d un membre. Le répertoire secure contient les pages sécurisées, auxquelles seul un membre connecté peut accéder. On y retrouve les différentes parties du site comme la page affichant le profil, ou celle affichant les résultats des recherches de l utilisateur. Les fichiers header et footer sont dupliqués car ils sont totalement différents pour un visiteur non connecté et un membre connecté. La feuille CSS est aussi dupliquée, et cela est dû à un bug que je détaille dans la section A chaque page présentant des informations venant d entités, correspond un contrôleur. Chaque contrôleur permet d effectuer les échanges avec les EJB. Le code du contrôleur SearchControl est disponible dans les annexes. 20

22 Figure 2.11 Les pages JSF Figure 2.12 Contrôleurs 21

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

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

Tour d horizon de Java EE 6

Tour d horizon de Java EE 6 1 Tour d horizon de Java EE 6 De nos jours, les entreprises évoluent dans une compétition à l échelle mondiale. Elles ont besoin pour résoudre leurs besoins métiers d applications qui deviennent de plus

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

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

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

Java EE. Grégory Cuellar, Julien Goullon. 1 er octobre 2007. gregory.cuellar@bull.net. julien.goullon@9business.fr

Java EE. Grégory Cuellar, Julien Goullon. 1 er octobre 2007. gregory.cuellar@bull.net. julien.goullon@9business.fr Grégory Cuellar Julien Goullon gregory.cuellar@bull.net julien.goullon@9business.fr 1 er octobre 2007 1 Généralité 2 / 54 Pourquoi? Historique Les alternatives Les composants 2 Architecture n-tiers 3 JEE

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 38 NFP111 Systèmes et Applications Réparties Cours 11 - Les Enterprise Java Beans (Introduction aux Enterprise Claude Duvallet Université du Havre UFR Sciences

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

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

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

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hébert.eheb@yahoo.fr

Plus en détail

Java EE Cours 1. Présentation Générale. Cours de 2 e année ingénieur

Java EE Cours 1. Présentation Générale. Cours de 2 e année ingénieur Java EE Cours 1 Présentation Générale Cours de 2 e année ingénieur 1 Présentation du cours Objectifs Développement d applications Web robustes «Ne pas réinventer la roue» utilisation d un framework 1 Apprentissage

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

Dr. Djamel Benmerzoug. Email : djamel.benmerzoug@univ-constantine2.dz

Dr. Djamel Benmerzoug. Email : djamel.benmerzoug@univ-constantine2.dz Master 2 SITW Les services Web Dr. Djamel Benmerzoug Email : djamel.benmerzoug@univ-constantine2.dz Maitre de Conférences A, Département TLSI Faculté des NTIC Université Constantine 2 Abdelhamid Mehri

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

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

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean. Plan du cours 2 Introduction générale : fondamentaux : les fondamentaux Michel Buffa (buffa@unice.fr), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime

Plus en dé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

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

Les architectures N-tiers

Les architectures N-tiers Les architectures N-tiers 1 SOMMAIRE DU COURS XML ET LES ARCHITECTURES N-TIER Introduction aux architectures N-tier Serveurs d applications Déploiement d applications J2EE Tiers applicatif : servlets Tiers

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

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

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 Développement JEE 5 avec Eclipse Europa 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 Groupe Eyrolles, 2008, ISBN : 978-2-212-12061-5 5 Le projet WTP (Web

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

Programmation d applications distribuées

Programmation d applications distribuées Programmation d applications distribuées François Charoy Université Henri Poincaré 8 octobre 2007 Première partie I Développement d applications distribuées Objectifs du cours Comprendre ce qu est une

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

TP N 4 Création d un projet Web Avec EJB JSF et Glassfish

TP N 4 Création d un projet Web Avec EJB JSF et Glassfish TP N 4 Création d un projet Web Avec EJB JSF et Glassfish I. Les objectifs :... 1 II. L architecture de l atelier... 1 III. Rappel... 1 IV. L environnement de développement... 2 V. Création d un projet

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

MIF13 Programmation Web OUTILS D AIDE À LA CONCEPTION D APPLICATIONS WEB

MIF13 Programmation Web OUTILS D AIDE À LA CONCEPTION D APPLICATIONS WEB MIF13 Programmation Web OUTILS D AIDE À LA CONCEPTION D APPLICATIONS WEB L I O N E L M É D I N I S E P T E M B R E - D É C E M B R E 2 0 0 9 Objectif de ce cours Prendre conscience de l existence de nombreux

Plus en détail

Objectifs. Comprendre l architecture typique d une application web Exemple: Expérimenter avec:

Objectifs. Comprendre l architecture typique d une application web Exemple: Expérimenter avec: Cedric Dumoulin Objectifs Comprendre l architecture typique d une application web Exemple: Application permettant de lister un catalogue d articles, et de créer des articles Expérimenter avec: EJB, JPA

Plus en détail

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

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 42 Java et Objet Amélie Lambert 2014-2015 Amélie Lambert 2014-2015 1 / 42 Chapitre 8 Développement d applications Web Amélie Lambert 2014-2015 2 / 42 Plan du cours Typologie des applications Web Architecture

Plus en détail

AlterPoker.com. Conception

AlterPoker.com. Conception Conception AlterPoker AlterPoker.com Conception Date de mise à jour : 16 / 06 / 2013 Version : 1.0 Nom VIAU Antoine Numéro d auditeur 1/18 Table des matières AlterPoker.com... 1 Conception... 1 1. Objectif

Plus en détail

18/05/2010 JSF : Java server faces

18/05/2010 JSF : Java server faces 18/05/2010 JSF : Java server faces Groupe JAXB - JSF TABLE DES MATIÈRES OBJECTIF...2 VERSION... ERREUR! SIGNET NON DEFINI. MISE EN ŒUVRE...2 UTILISATION...4 Génération des classes à partir d un schéma...

Plus en détail

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce

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

Facilitez vos développements J2EE avec JBoss Seam

Facilitez vos développements J2EE avec JBoss Seam Nicolas CHAPON Valtech Technology Facilitez vos développements J2EE avec JBoss Seam Octobre 07 Résumé Le framework JBoss Seam est actuellement un des frameworks de la communauté Java qui génère le plus

Plus en détail

Servlets, beans, base de données

Servlets, beans, base de données Institut Galilée E-services Année 2014-2015 Master 2 T.P. 2 Servlets, beans, base de données L objectif de ce TP est de mettre en place un site web pour l administration et la commande de pizzas : une

Plus en détail

Projet Web. Tim Burton. Refonte complète du site de Tim Burton en utilisant les dernières technologies du web : HTML 5 / CSS 3 / JavaScript...

Projet Web. Tim Burton. Refonte complète du site de Tim Burton en utilisant les dernières technologies du web : HTML 5 / CSS 3 / JavaScript... Projet Web Tim Burton Refonte complète du site de Tim Burton en utilisant les dernières technologies du web : HTML 5 / CSS 3 / JavaScript... Par Omar EDDASSER L3 ISC parcours MIAGE Sous l enseignement

Plus en détail

Familiarisation avec Eclipse / Netbeans

Familiarisation avec Eclipse / Netbeans Institut Galilée LEE Année 011-01 Master T.P. 0 Familiarisation avec Eclipse / Netbeans Lien important contenant le pdf du cours et du TP, et ensuite des sources : http://www-lipn.univ-paris13.fr/~fouquere/mpls

Plus en détail

JOnAS 5. Serveur d application d

JOnAS 5. Serveur d application d JOnAS 5 Serveur d application d dynamique Agenda En quelques mots Caractéristiques essentielles Zoom sur le versioning 2 Bull, 2008 Serveur d application dynamique JOnAS - Serveur d application Open Source

Plus en dé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

TP6 EJB : Création d'un EJB3 Entité

TP6 EJB : Création d'un EJB3 Entité TP6 EJB : Création d'un EJB3 Entité Objis : nous allons vous faire aimer JAVA - www.objis.com 1 Table des matières Formation EJB - TP 'Développement EJB3 entity avec Eclipse' Propriété du document...3

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

Short-Circuit Introduction a Spring. Cours Spring. Spring utilise certaines technologies comme :

Short-Circuit Introduction a Spring. Cours Spring. Spring utilise certaines technologies comme : Cours Spring 1 Présentation Générale Historique Framework créé en 2002 par Rod Johnson, afin de proposer une réelle alternative technique aux EJB s, alors gouffre de performance en terme d applications

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

4. SERVICES WEB REST 46

4. SERVICES WEB REST 46 4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,

Plus en détail

JEE - Cours et TP. Mickaël Montassier. 15 février 2007. Institut Universitaire de Technologie Département Informatique

JEE - Cours et TP. Mickaël Montassier. 15 février 2007. Institut Universitaire de Technologie Département Informatique et TP Institut Universitaire de Technologie Département Informatique 15 février 2007 J2EE? J2EE : Java 2 Enterprise Edition Norme prosposée par SUN visant à définir un standard de développement d applications

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

Environnements de Développement

Environnements de Développement Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus

Plus en détail

TD6 Initiation aux EJB3 avec Eclipse Ecriture d une application J2EE complète

TD6 Initiation aux EJB3 avec Eclipse Ecriture d une application J2EE complète TD6 Initiation aux EJB3 avec Eclipse Ecriture d une application J2EE complète Nous allons écrire une application J2EE qui permet dans un navigateur web de gérer des contacts. Pour cela, nous allons suivre

Plus en détail

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5 ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5 Informations juridiques Copyright 2010 Adobe Systems Incorporated and its licensors. All rights reserved. Administration d Adobe LiveCycle Mosaic 9.5 13 octobre

Plus en détail

Spécification du profil UML d assemblage cible EJB (version 1)

Spécification du profil UML d assemblage cible EJB (version 1) Spécification du profil UML d assemblage cible EJB (version 1) Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti) Référence : Livrable 2.2 Date : 31 mai 2002

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 16 NFP111 Systèmes et Applications Réparties Cours 10 - Les Enterprise Java Beans ( aux serveurs ) Claude Duvallet Université du Havre UFR Sciences et Techniques

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

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

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

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

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

Urbanisation et architecture des systèmes d information

Urbanisation et architecture des systèmes d information Urbanisation et architecture des systèmes d information Plate forme pour le composant logiciel 2/2 JAVA, JEE et les EJB David Eudeline eudeline.david@free.fr JAVA Qu'est ce que JAVA? Un langage très jeune

Plus en détail

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. Programmer avec Java EE. Besoins des développeurs. Prérequis / Objectifs

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. Programmer avec Java EE. Besoins des développeurs. Prérequis / Objectifs Plan du cours 2 Introduction générale EJB : les fondamentaux Programmer avec Java EE Introduction générale Michel Buffa (buffa@unice.fr), UNSA 2011, modifié par Richard Grin (version 1.0), avec emprunts

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

Table des matières. TP JEE (2) Logic metier et Entreprise Java Beans. IUT Bordeaux 1 - Département Informatique

Table des matières. TP JEE (2) Logic metier et Entreprise Java Beans. IUT Bordeaux 1 - Département Informatique IUT Bordeaux 1 - Département Informatique Semestre 4 JEE 20112012 TP JEE (2) Logic metier et Entreprise Java Beans Les EJB (Enterprise JavaBeans) 3.0 permettent de découpler la logique de présentation

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

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

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

Java. Persistent API. Auteur : PEREZ Noël. Date : Octobre 2009. nperez@hinnoya.fr

Java. Persistent API. Auteur : PEREZ Noël. Date : Octobre 2009. nperez@hinnoya.fr Java Persistent API Auteur : PEREZ Noël nperez@hinnoya.fr Date : Octobre 2009 Plan Principes des Frameworks de persistence Historique JPA 1.0 JPA 2.0 Demo Questions? JUG Lyon / oct 2009 Java Persistent

Plus en détail

J2EE - Introduction. Développement web - Java. Plan du chapitre

J2EE - Introduction. Développement web - Java. Plan du chapitre Développement web - Java J2EE - Introduction Franck Denoël Master 2 ICA, UPMF Année académique 2007-2008 Franck Denoël Master 2 ICA, UPMF Année académique 2007-2008 Plan du chapitre J2EE Présentation J2EE

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

PLAN PROJET. Binôme ou monôme (B/M): M. : abdlhaqmilan@gmail.com GSM : 00212640108250. : Gestion d'une agence de location de voiture.

PLAN PROJET. Binôme ou monôme (B/M): M. : abdlhaqmilan@gmail.com GSM : 00212640108250. : Gestion d'une agence de location de voiture. Développement d une application JAVA EE PLAN PROJET Binôme ou monôme (B/M): M Nom & Prénom : AZRAGUE Abdelhaq Email : abdlhaqmilan@gmail.com GSM : 00212640108250 Organisme Scolaire : Gestion d'une agence

Plus en détail

Groupe Eyrolles, 2003 ISBN : 2-212-11270-X

Groupe Eyrolles, 2003 ISBN : 2-212-11270-X Groupe Eyrolles, 2003 ISBN : 2-212-11270-X 1 Présentation de Tomcat La plupart des lecteurs de ce livre ont certainement déjà développé des applications Web Java et souhaitent approfondir leurs connaissances

Plus en détail

Documentation technique MBDS2.0 Site web administratif

Documentation technique MBDS2.0 Site web administratif Documentation technique MBDS2.0 Site web administratif Le document suivant est destiné aux développeurs souhaitant installer la plateforme sur leurs propres machines. D o c u m e n t a t i o n t e c h

Plus en détail

sur les frameworks web

sur les frameworks web Réalisations de web Applications de gestion Front end : Adobe Flex, GWT sur les Back end : JavaEE frameworks web Michard Rakotoson mrakotoson@grignon.inra.fr UMR782 GMPA, AgroParisTech Thiverval Grignon

Plus en détail

Les serveurs d applications :une introduction

Les serveurs d applications :une introduction Les serveurs d applications : une introduction Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX Claude.Duvallet@gmail.com Octobre 2006 Plan de la présentation

Plus en détail

GNU General Public License. Sophie VUONG Ingénieurs 2000 - IR3

GNU General Public License. Sophie VUONG Ingénieurs 2000 - IR3 GNU General Public License Sophie VUONG Ingénieurs 2000 - IR3 Plan de l exposé Définition de logiciel libre et de logiciel propriétaire Origine du mouvement du logiciel libre Les principes de la GNU GPL

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

ARCHITECTURE REST & WEB SERVICES. Exposé Informatique & Réseaux CHAMBON Florian 14 janvier 2014

ARCHITECTURE REST & WEB SERVICES. Exposé Informatique & Réseaux CHAMBON Florian 14 janvier 2014 ARCHITECTURE REST & WEB SERVICES Exposé Informatique & Réseaux CHAMBON Florian 14 janvier 2014 1 Introduction Présentation de Rest Serveur Java JAX-RS Démonstration 2 Introduction Présentation de Rest

Plus en détail

Guide Pratique EDI NetBeans

Guide Pratique EDI NetBeans Guide Pratique EDI NetBeans Copyright 2005 Sun Microsystems, Inc. All rights reserved. Table des matières Assistant type de Projet EJB...2 Structure Module EJB...5 Ajout d'ejb, Fichiers et Bibliothèques

Plus en détail

Cahier des charges techniques

Cahier des charges techniques Ecole Ingénieurs 2000 Filière Informatique et Réseaux Version 1.1 Date : 9-11-2006 Cahier des charges techniques Membres de l'équipe E-MOTEP : Mathieu BRUNET Jérémy FONTERAY Julien JORRY Christophe KELLER

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

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

Travaux pratiques : EJB avec JBoss 5 + Java 6 + Eclipse

Travaux pratiques : EJB avec JBoss 5 + Java 6 + Eclipse Travaux pratiques : EJB avec JBoss 5 + Java 6 + Eclipse Introduction Le but de ce TP est de programmer une application à la norme EJB en utilisant le serveur d application JBoss. Matériel requis - JBoss

Plus en détail

Plan. La plate-forme J2EE. Plan J2SE. Standard Edition. Master Informatique 2ème année. Olivier Flauzac. olivier.flauzac@univ-reims.

Plan. La plate-forme J2EE. Plan J2SE. Standard Edition. Master Informatique 2ème année. Olivier Flauzac. olivier.flauzac@univ-reims. Plan La plate-forme J2EE Master Informatique 2ème année Olivier Flauzac olivier.flauzac@univ-reims.fr Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 1 / 64 Olivier Flauzac (URCA)

Plus en détail

Vulgarisation Java EE Java EE, c est quoi?

Vulgarisation Java EE Java EE, c est quoi? Paris, le 1 Février 2012 Vulgarisation Java EE Java EE, c est quoi? Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards

Plus en détail

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage Technologies du Web Créer et héberger un site Web Page 1 / 26 Plan Planification Choisir une solution d hébergement Administration Développement du site Page 2 / 26 Cahier des charges Objectifs du site

Plus en détail

Groupe Eyrolles, 2004, ISBN : 2-212-11346-3

Groupe Eyrolles, 2004, ISBN : 2-212-11346-3 Groupe Eyrolles, 2004, ISBN : 2-212-11346-3 Table des matières Avant Propos................................................ 1 Pourquoi ce livre?........................................... 1 Structure de

Plus en détail

JBoss Seam Accélérez votre développement web 2.0. Malik SAHEB Senior Solution Architect Red Hat malik.saheb@redhat.com

JBoss Seam Accélérez votre développement web 2.0. Malik SAHEB Senior Solution Architect Red Hat malik.saheb@redhat.com JBoss Seam Accélérez votre développement web 2.0 ` Malik SAHEB Senior Solution Architect Red Hat malik.saheb@redhat.com 1 SOMMAIRE Introduction Atouts Majeurs Catalogue de Composants Roadmap RAD Démo Sim,

Plus en détail

Bases Java - Eclipse / Netbeans

Bases Java - Eclipse / Netbeans Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement

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

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

Une introduction à la technologie EJB

Une introduction à la technologie EJB Une introduction à la technologie EJB 1 Introduction La technologie des EJB (pour Enterprise Java Bean) ont été introduite en 1998 pour offrir aux programmeurs un outil qui facilite la conception et le

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

de survie du chef de projet

de survie du chef de projet KIT de survie du chef de projet 01 1 2 3 4 5 6 04 03 07 07 03 03 LE SERVEUR LE CLIENT TECHNOLOGIE WEB CLIENT LE SERVEUR WEB TECHNIQUES & CADRE DE TRAVAIL APPLICATIONS 101 LE SERVEUR Un serveur informatique

Plus en détail

Création d une application JEE

Création d une application JEE Création d une application JEE Rédacteurs : Alexandre Baillif, Philippe Lacomme, Raksmey Phan et Michaël PLAN Date : juillet 2010 Mise à jour : Michaël PLAN Date : octobre 2014 Avertissement : - ce document

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

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Webographie The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Les slides de cette présentation

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 / 34 Développement Web - Servlet Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer L3 Pro Informatique - 2010-2011 2 / 34 Plan Plan 1 Introduction 2 Servlet

Plus en détail

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

Apache Tomcat 6. Guide d'administration du serveur Java EE sous Windows et Linux. Résumé. Étienne LANGLET Apache Tomcat 6 Guide d'administration du serveur Java EE sous Windows et Linux Étienne LANGLET Résumé Ce livre sur Apache Tomcat 6 s adresse à toute personne appelée à mettre en oeuvre ce serveur sous

Plus en détail

Les serveurs applicatifs et les architectures Java

Les serveurs applicatifs et les architectures Java 03 Lucas Part 02 Page 179 Lundi, 20. août 2001 2:58 14 Chapitre 15 Les serveurs applicatifs et les architectures Java Nous avons vu jusqu ici, dans les chapitres précédents, que les utilisateurs accèdent

Plus en détail

IBM Lotus Domino Designer 6.5.1

IBM Lotus Domino Designer 6.5.1 Créez rapidement des applications multi-plateformes pour automatiser les processus métier et améliorer l efficacité de votre workflow IBM Lotus Domino Designer 6.5.1 Créez, testez et déployez rapidement

Plus en détail

TP1 - Entreprise Java Beans

TP1 - Entreprise Java Beans TP1 - Entreprise Java Beans Réseaux Middlewares - Jules Chevalier 1 Configuration Minimale Pour ce TP, vous aurez besoin de outils suivants : Un JDK installé (le JRE est insuffisant) Un IDE édition Java

Plus en détail

CQP Développeur Nouvelles Technologies (DNT)

CQP Développeur Nouvelles Technologies (DNT) ORGANISME REFERENCE STAGE : 26572 20 rue de l Arcade 75 008 PARIS CONTACT Couverture géographique : M. Frédéric DIOLEZ Bordeaux, Rouen, Lyon, Toulouse, Marseille Tél. : 09 88 66 17 40 Nantes, Lille, Strasbourg,

Plus en détail

Compte-Rendu SDL. «Reprise de l application de gestion de listes de présences des alternants»

Compte-Rendu SDL. «Reprise de l application de gestion de listes de présences des alternants» Compte-Rendu SDL Auteurs : BOUTROUILLE Alexis BAILLEUL Pierre Tuteur : Ioan Marius Bilasco «Reprise de l application de gestion de listes de présences des alternants» Master MIAGE 1 Année 2012/2013 1 Remerciements

Plus en détail