Application de commerce électronique Technologies J2EE

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

Download "Application de commerce électronique Technologies J2EE"

Transcription

1 BARBAZAN Jean-René 2A IMA OUAHAB Karim Groupe H RIBEIRO Nicolas TUCITO David Application de commerce électronique Technologies J2EE 1

2 Sommaire Introduction I Gestion du projet 1) Planning ) Répartition des tâches... 5 II Maquette du site 1) La page principale ) La fiche produit ) La page administration... 8 II I- Mise en place technique 1) Le serveur Jboss, les EJB2 et la sécurité ) La base de données MySQL ) Utilisation d'ajax ) Utilisation de subversion ) Utilisation de xdoclet ) Présentation du modèle MVC...14 IV - Développement: niveau EJB 1) Choix d'implantation a) Les entity bean b) Le(s) session bean c) Les interfaces locales d) Les home locales e) Les value objects ) Les relations a) L'exemple de la relation 1-n b) la directionnalité des relations ) les transactions ) les finders EJB-QL ) Les descripteurs XML et la mapping de la base de données a) mappping et configuration de la base de données b) le descripteur ejb-jar.xml et le fichier application.xml...25 c) les descripteurs Jboss-web.xml et Jbosscmp-jdbc.xml

3 V - Développement: niveau Web 1) Utilisateur...26 a) Logo Zone b) Barre d'onglets Zone c) Menu Zone d) Main Zone e) Recherche Zone f) Publicité Zone g) Client Zone h) Caddie Zone ) Administration...31 a) Gestion des produits, magasins, sous-rayons et clients...31 b) Gestion des commandes...32 c) Gestion des mails...32 VI - Mise en service de l'application 1) Packaging et déploiement du serveur ) Validation du service: tests...34 VII Retour sur les technologies utilisées Conclusion

4 Introduction Le but de ce projet est le développement d'une application d'e-commerce utilisant les technologies J2EE. Une relative liberté de conception nous a été laissé afin de pouvoir découvrir nous mêmes de nouveaux outils et technologies en fonction du cahier des charges établit. L'idée de notre application est le développement d'un supermarché en ligne (comme il en existe à Paris par exemple), qui permet à un internaute de faire ses courses conventionnelles depuis chez lui, ainsi la notion de caddie, ou encore de rayon, devient très intuitive lors de la navigation sur le site. Notre application marchande avec des fournisseurs (ou encore «magasins»), qui, à l'image des supermarchés, approvisionnent nos stocks. La gestion des transactions bancaires est également effectuée par l'application (chaque client, chaque magasin, ainsi que le site en lui même, possède un compte bancaire). L'accent a été mis sur la simplicité d'utilisation du site, qui comme nous le verrons fera appel a des technologies particulières, cette volonté passe également par une exploitation maximale des nombreuses possibilités offertes par la J2EE. Spécifications Techniques: J2EE Container: Serveur JBoss GA Edition Base de données: Serveur MySQL 5.0 Authentification sécurisée par certificats SSL Cryptage des mots de passe dans la base de données par l'algorithme SHA-256 Sécurisation des transactions bancaires au niveau EJB Gestion des relations EJB Intégration d'ajax Caractéristiques du site Web: Interface complète d'administration pour ajouter et modifier des rayons/magasins/clients... Bandeau publicitaire avec effets graphiques Possibilité de glisser déposer un produit vers le caddie Possibilité de noter et de commenter chaque produit Gestion d'une Newsletter et d'un service mails Gestion en temps réel des stocks 4

5 I Gestion du projet 1) Planning Le planning est indispensable dans ce type de projet, où le cahier des charges est fourni et le temps limité, nous avons donc dès le début fixé un planning que nous nous sommes efforcé de respecter au cours du développement. Semaine 1 - Mise en place du serveur, du canevas général du site - Documentation sur les différents outils qui pourraient nous intéresser (AJAX, xdoclet, authentification...) - Description des relations et des beans qui vont devoir être développés vis à vis de notre idée. Semaine 2 - Mise en place d'un premier exemple J2EE avec un premier EJB, le but est de faire marcher un exemple simple avec les technologies que nous désirons utiliser. - Poursuite de la documentation. Semaine 3 Développement général des beans d'une part, des servlets et des JSP de l'autre. Des tests unitaires sont faits en parallèle. Semaine 4 Poursuite du travail de la semaine 3 Semaine 5 Derniers débogages, écriture du rapport et préparation de la présentation 2) Répartition des tâches Afin de gagner du temps, la répartition des tâches est cruciale, dès le départ chaque membre de l'équipe doit savoir sur quelles parties du projet il devra travailler mais devra également connaître les objectifs des autres membres de l'équipe, tout en gardant à l'esprit le planning définit. Ainsi nous avons décidé de séparé l'équipe en 2 binômes dont les travaux seraient parallèles à partir de la semaine 2 (la semaine 1 ayant été une phase de réflexion commune): Jean-René et David: Développement des servlets et des JSP (qui inclut notamment l'utilisation de AJAX, de javascript et de CSS). Karim et Nicolas: Mise en place du serveur et de la base de données, développement des beans, des descripteurs de déploiement (utilisant xdoclet), et du packaging. Bien sûr ce travail fut ponctué de réunions où les 2 binômes se réunissaient pour partager leurs avancées sur le projet, que nous synchronisions à chaque nouvelle étape grâce à notre serveur subversion. 5

6 II Maquette du site 1) La page principale Voici un rapide aperçu de la page principale du site web, détaillée dans la partiev 1), on trouve: A gauche: Une zone de recherche (qui peut être étendue en recherche avancée) Une zone pour le parcours des sous rayons d'un rayon, A droite: Une zone client où ce dernier pourra se loguer, modifier ses coordonnées ou encore retrouver un mot de passe perdu. Le caddie contenant les articles avec une image miniature et la quantité sélectionnée. En haut: une barre d'onglets pour sélectionner les rayons du magasin 6

7 2) La fiche produit On y trouve: Le nom du produit La description du produit Le prix du produit La note donnée par les clients (possibilité de notez en cliquant sur les étoiles) Les commentaires laissés par les utilisateurs (possibilité de laisser un commentaire grâce à un cadre déroulant) 7

8 3) La zone d'administration Accessible par mot de passe (crypté dans la base de données), elle permet à l'administrateur une gestion complète de son site, les différentes parties sont interchangeable à souhait (pour plus de détails, voir la partie V 2) ) On y trouve différentes zones: La zone produits La zone magasins La zone rayons La zone clients La zone commandes La zone mails/newsletter Chaque zone permet un contrôle intégrale, par exemple la zone produits permet d'ajouter un produit, de supprimer un produit ou encore de modifier un produit déjà existant, tous les attributs sont accessibles à l'administrateur. Cette fenêtre utilise largement AJAX comme nous le verrons dans la partie V, on peut également diffuser la newsletter aux utilisateurs, ou encore envoyer un mail à un utilisateur en particulier. 8

9 III - Mise en place technique 1) Le serveur Jboss et les EJB2 Lors des séances de Travaux Pratiques, le serveur utilisé pour supporter les composants J2EE était un serveur JONAS dont le container gérait les EJB version 2.0. Lors de nos recherches nous avons découvert un autre serveur, qui semble bien plus utilisé que JONAS, il s'agit de JBOSS, serveur réputé pour sa robustesse, qui présente l'avantage d'être l'un des rares containers supportant la dernière version des EJB (version 3.0). De plus, une quantité impressionnante de plug-in et de documentation existe pour agrémenter l'environnement de développement d'un serveur JBOSS. Nous avons donc choisi de l'utilisé, mais cependant nous avons préférer rester dans les EJB 2.0 car les versions des serveurs et des outils qui gèrent les EJB 3.0 sont encore au stade «Beta» ce qui nous semble gênant pour une application qui se doit avant tout d'être fiable. Cependant le fait d'utiliser JBOSS permettra à notre application d'évoluer assez facilement vers les EJB 3.0 lorsque leur utilisation s'avèrera utile. L'environnement de travail JBOSS: Dans un premier temps, nous avions pensé utiliser Netbean, l'environnement de développement gratuit de Sun. Ce logiciel, très puissant, nous a cependant déçu de part un aspect qui peut surprendre: en effet Netbean automatise un grand nombre de tâches, comme la génération systématique des fichiers.xml ou encore la gestion quasi opaque du serveur, ce qui nous a dérangé car nous préférions maitriser tous les aspects du développement (dont les fichiers.xml sont une clef). Nous nous sommes alors retournés vers Eclipse, pour lequel nous nous sommes déjà familiarisés lors de précédents projets. Une version spéciale de Eclipse, dédiée à JBOSS, est particulièrement efficace et inclut des plugins qui nous le verrons par la suite nous ont été d'un grand secours. (inclus notamment la gestion de xdoclet et du packaging) Cet IDE est disponible à l'adresse suivante: La sécurité: authentification par certificats SSL Soucieux de sécuriser l'accès à notre application, à la fois pour rassurer nos clients, mais aussi pour nous mêmes, nous avons configuré le server tomcat qu'inclut Jboss afin d'effectuer des communications dites tunnelisées grâces au protocole SSL, basé sur des certificats d'authentification. Cet accès se fait donc par https, sur le port standard Nous n'avons bien évidemment pas pu faire valider le certificat du serveur, puisque cela coute autour de 500 euros par an! Cela a simplement pour conséquence d'avertir l'utilisateur que le certificat ne provient pas d'un site de confiance... Nous avons également relevé que SSL est à ce jour la méthode qui propose le meilleur compromis entre haute sécurité et facilité d'utilisation pour l'internaute. D'autres méthodes, comme le httpacces, simples à mettre en œuvre, propose une sécurité d'un niveau beaucoup plus faible. 9

10 2) La base de données MySQL La base de données fait partie du socle d'une application J2EE, elle doit être robuste et fiable. La plupart des containers, comme JONAS ou JBOSS, propose des bases de données intégrées, qui sont simples d'utilisation mais aussi limitées (elles sont surtout utile pout les phases de tests). Nous nous somme alors tourné vers un standard des bases de données: MySQL, dans sa version 5.0, à laquelle notre serveur JBOSS sera connecté. Nous avons utilisé la dernière version du serveur MySQL, la 5.0 disponible ici: Une fois installé, il suffit de créer une base de données via l'invite de commande (avec la commande sql «CREATE DATABASE nom_de_la_db). Pour la suite nous prendrons «J2EE_db» comme nom de notre base. Il nous a fallu ensuite adapter JBOSS, notamment modifier sa configuration, et lui ajouter le driver de MySQL. Le driver est disponible ici: et doit être placé dans \server\default\lib. Ensuite, le fichier \server\default\conf\standardjbosscmp-jdbc.xml doit être modifié ainsi: <defaults> <datasource>java:/avotreserviceds</datasource> <datasource-mapping>mysql</datasource-mapping> Et le fichier \server\default\deploy\mysql-ds.xml doit être modifié ainsi: <!--<local-tx-datasource> <jndi-name>avotreserviceds</jndi-name> <connection-url>jdbc:mysql://gorguda.myftp.org:3306/j2ee_db</connectionurl> <jndi-name> peut être choisi au hasard, du moment que les fichiers xml que nous verrons plus tard prennent en compte le même nom. <connection-url> correspond à l'adresse de la base de donnée que nous avons crée Nous avons procédé à un test qui nous a semblé intéressant de relever: nous avons configurer la base de données en «remote» et l'avons placé sur une machine différente de celle qui héberge le serveur JBOSS, nous avons alors observé une très nette baisse de performances (que nous avions prévu, mais pas à ce point) lors des accès à la base de données, nous avons donc abandonné l'idée de répartir les services sur des machines différentes pour finalement les placer sur une seule machine afin de n'avoir que des accès locaux. 10

11 L'accès et la gestion de notre base de données: Afin d'accéder et de modifier facilement à notre base de données, nous avons utilisé SQLyog, un logiciel multi-plateformes gratuit largement utilisé par les développeurs, disponible à l'adresse suivante: Il permet notamment la création très rapide de tables et d'entrées dans la base de données, ou encore de le test de requêtes SQL, et nous à été d'un grand secours lors de la phase de test, pour notamment voir si le mapping et les modifications s'effectuaient correctement. 3) Utilisation d'ajax AJAX est un acronyme anglais signifiant Asynchronous JAvascript and XML (Javascript et XML asynchrones). Il s'agit d'employer l'objet XMLHttpRequest() pour communiquer avec le serveur. L'objet permet d'échanger des informations sous différents formats (dont XML, HTML ou texte), mais son principal attrait est sa nature «asynchrone» : tout cela peut se faire sans recharger la page. C'est ce qui permet de mettre à jour certaines parties d'une page sur base d'évènements déclenchés par l'utilisateur. Notre intérêt pour les nouvelles technologies et notre recherche d ergonomie, d originalité, d efficacité et d esthétisme nous ont menés à utiliser AJAX. L intérêt d AJAX est qu il permet de rapprocher une application web d une application classique, l application ne réagissant plus qu à un nombre très limités d événements comme le click de souris mais à des événements plus complexes comme la pression d une touche ou le survol d un élément. Nous avons utilisé les librairies prototype.js et scritaculous.js disponibles sur internet aux adresses suivantes : et La librairie prototype.js présente des fonctions basiques d AJAX tel que la recharge d un unique élément de la page web. Nous avons utilisé cette fonction au maximum afin de n avoir à actualiser que les éléments qui présentaient des modifications. - La fonction Ajax.Updater(conteneur,url,options) permet de mettre à jour uniquement le conteneur sans avoir une actualisation de toute la page, évitant ainsi un désagréable effet «flash» à l utilisateur. - La fonction Ajax.PeridicalUpdater(conteneur,url,options) recharge le conteneur de la même manière que la fonction précédente mais le fait de manière périodique. La librairie scriptaculous.js offre des fonctions beaucoup plus graphiques: - Drag and drop : permet de définir des éléments «glissables» et des conteneurs «déposables» pour y placer les éléments «glissables». Plusieurs options sont disponibles : les conteneurs ne peuvent accepter qu une classe d éléments, peuvent changer de style au survol, les éléments peuvent revenir à leur place - Autocomplétion : permet d afficher une liste d éléments envoyée par le serveur au fur et à mesure de la frappe d une recherche. - Effets visuels : permet d animer un conteneur avec des transitions : clignotement, 11

12 défilement, agrandissement, apparition, disparition. 4) Utilisation de subversion Dans tout projet impliquant une équipe, l'utilisation d'un logiciel de gestion des ressources partagées est indispensable. C'est pourquoi l'une des premières étapes du projet a été de mettre en place un serveur Subversion pour l'équipe. Subversion est un logiciel récent, qui rend aujourd'hui obsolète le célèbre CVS. Sa mise en place a pris du temps puisqu'il s'agissait là pour nous d'une nouvelle technologie. Voici les étapes que nous avons suivies: 1) Mise en place d'un serveur Apache 2) Installation de «svn» (le support de subversion) pour chaque membre 3) Création d'un «repository»: un dépôt central utilisé par toute l'équipe sur le serveur Apache 4) Configuration du serveur Apache (notamment l'ajout des modules permettant la gestion de svn, et la prise en charge du repository commun) 5) Configuration de nos environnements de travail: - Installation du plugin svn pour Eclipse: Subclipse ( ) - Création chez chacun d'un d'entre nous d'un dépôt local Subversion aura été un élément catalyseur du développement puisqu'il a permit à l'ensemble de l'équipe de travailler sur les mêmes sources et ainsi éviter de sans cesse de s'échanger des fichiers inutiles et se perdre dans les versions dont chacun disposait. 5) Utilisation de xdoclet Xdoclet est un logiciel de génération de code, inclut dans la version «Jboss» de l'ide Eclipse, qui va notamment nous servir à générer des fichiers XML grâce à des tags placés dans les fichiers sources (à l'image des tags Javadoc). Xdoclet se configure pour un projet: on ajoute des «tâches» xdoclet, par exemple on peut spécifier une tâche permettant de générer des interfaces correspondant à chaque EJB, qui se réfèrera alors aux tags dédiés. Xdoclet se chargera notamment, grâce aux tags, de générer les fichiers XML de déploiement, ce qui nous libère de la pénible vérification de la conformité des fichiers xml (par exemple xdoclet se charge d'imbriquer les balises sans que l'on ait à spécifier un ordre quelconque: ainsi xdoclet ne se contente pas d'une simple analyse, mais relève également les erreurs dans nos tags et gère seul la bonne imbrication des balises). Site officiel: 12

13 6) Présentation du modèle MVC Une architecture MVC cherche à séparer trois choses : le Modèle, les Vues et les Contrôleurs. Les contrôleurs permettent de répondre aux actions de l'utilisateur. Chaque contrôle est associé à une vue : cette dernière permet de présenter l'information retournée à l'utilisateur. Bien entendu, l'information renvoyée est dépendante des actions d'entrées de l'utilisateur (capturées par les contrôleurs, nous venons de le dire). Les liens (les traitements) sont réalisés par le modèle (la logique métier). Si nous cherchons à mettre en œuvre une architecture MVC via un environnement J2EE, on peut donc faire les rapprochements suivants : Un contrôleur est implémenté sous forme de servlet Java. Le modèle consiste en l'implémentation de la logique métier du site Web. Chaque vue est implémentée via une servlet. Dans la pratique, on peut reprocher une chose au modèle MVC sous environnement J2EE : il est nécessaire de coder un grand nombre de servlets Java pour réceptionner les requêtes clientes. Mais il permet cependant une visibilité et une clarté dont on se passerait difficilement. 13

14 IV - Développement: niveau EJB 1) Choix d'implantation La technologie J2EE repose sur la notion de Bean, implémenté sous forme de classes Java, ces objets particuliers, gérés par le container et stockés dans la base de données, sont de 2 types: les entity Bean (persistants) et les Session beans (relatifs au contexte de l'utilisateur). Le premier choix d'implémentation consistait à choisir comment la persistance des beans allait être gérée: CMP (Container Managed Persistence) ou BMP (Bean Managed Persistence). Le mode BMP permet le contrôle total des beans, mais se révèle très lourd d'utilisation, nous avons donc opté pour l'utilisation du mode CMP, bien plus facile à utiliser (notamment la gestion de la base de données est entièrement effectué par le container) et ne présentant aucun inconvénient vis à vis de notre application. a) Les entity bean Voici la liste des bean qui constituent la structure du site : En rouge : les primary key accountbean : correspond à un compte bancaire Attributs : Integer id La clé primaire. C'est l'identifiant du compte bancaire String owner Le nom du propriétaire du compte Double balance Le solde du compte Méthodes disponibles (en dehors des getters et setters) void credit(double balance) Drédite le compte void retail(double balance) Débite le compte 14

15 storebean : correspond à un magasin, qui fournira notre site Attributs Integer id La clé primaire. C'est l'identifiant du magasin String name Le nom du magasin String adress L'adresse du magasin String L' du magasin String phone Le numéro de téléphone du magasin clientbean : correspond à un utilisateur enregistré sur le site Attributs String login La clé primaire. C'est le login de l'utilisateur String pwd Le mot de passe de l'utilisateur String name Le nom de l'utilisateur String firstname Le prénom de l'utilisateur String adress L'adresse de l'utilisateur String phone Le numéro de téléphone de l'utilisateur String L' de l'utilisateur Boolean newsletter Indique si l'utilisateur est abonné à la newsletter ou non String title La qualité de l'utilisateur categorybean : correspond à un sous-rayon Attributs Integer id La clé primaire. C'est l'identifiant du sous-rayon String name Le nom du sous-rayon String parentcategory Le nom du rayon auquel il appartient 15

16 productbean : correspond à un produit Attributs Integer id La clé primaire. C'est l'identifiant du produit String name Le nom du produit String picture L'url de la photo du produit String description La description du produit Double price Le prix du produit Integer stockleft Le stock restant disponible pour ce produit Double mark La note du produit, déterminée par les internautes Integer voternumber Le nombre d'internautes ayant voté pour ce produit adminbean : correspond à un administrateur du site Attributs Integer id La clé primaire. Correspond à l'identifiant de l'administrateur String pwd Le mot de passe de l'administrateur Méthodes disponibles (en dehors des getters et setters) void computeallproducts() Crée un vecteur de tous les produits disponibles en base de données productlocal getrandomproduct() Revoie un produit au hasard parmi le vecteur des produits Vector<categoryLocal> getcategoriesbyparent(string parentcategory) Renvoie la liste des sous-rayon du rayon dont le nom est passé en paramètre 16

17 orderbean : correspond à une liste de courses Attributs Integer number La clé primaire. C'est le numéro de la commande Date date Date de la commande String state L'état de la commande Pour chaque clé primaire, en dehors de celle de l'ejb clientbean, on assigne une propriété d'autoincrémentation, ce qui nous permet de ne pas la gérer, spécialement quand un crée un EJB. b) Le(s) session bean Nous avons utilisé un session bean, caddiebean, pour représenter le caddie. Ce session bean est en stateful, c'est-à-dire qu'il peut avoir plusieurs états possibles. Attributs HashMap productlist Représente la liste des produits du caddie, accompagné de la quantité choisie Double total Prix total du caddie Méthodes disponibles (en dehors des getters et setters) void addproduct(productlocal p, Integer quantity) Ajoute un produit et la quantité choisie au caddie void removeproduct(productlocal p, Integer quantity) Retire la quantité passée de produits passés en paramètre du caddie, si il en dispose de la quantité supérieure au paramètre void clearcaddie() Efface le contenu du caddie c) Les interfaces locales Les interfaces locales, générées par xdoclet, représentent les EJB dans le code de la servlet. Ce sont les objets JAVA qu'on récupère grâce aux home locales. Chaque méthode métier décrit dans les EJB possédant le view-type="local" sont disponibles par cette interface. 17

18 d) Les home locales Les home locales, générées elles aussi par xdoclet, représentent la table de la base de données associée à un EJB. La méthode create y est présente, qui représente la méthode ejbcreate et ejbpostcreate des EJB. On y retrouve également tous les finders : celui défini automatiquement, qui renvoie un EJB grâce à sa clé primaire, ainsi que ceux définis par xdoclet grâce au signature="" query="" dans les entêtes des classes des EJB. e) Les value objects Le value object (ou encore 'javabean') occupe une place importante dans le respect du modèle MVC et de l'architecture J2EE: Puisque nous n'avons pas de référence directe à un objet persistent (un EJB), comment allons-nous lire le contenu de cet objet? Cette limitation à une solution très simple, et qui ajoute même de nombreuses possibilités d'amélioration: Le Value Object, qui n'est autre qu'un objet qui offre une vue figée de notre entité à un moment donné. Ainsi tous nos entity beans possède un valueobject (généré par xdoclet grâce au tag de name = "category" match = "*" Un Value Object possède un constructeur reprenant la méthode ejbcreate du Bean correspondant, ce qui permet dans une servlet de construire un valueobject à partir d'un bean local récupéré par la home. Les valueobject possèdent l'avantage considérable de pouvoir être passé directement en paramètre d'une page JSP: ainsi les pages JSP utilisent le tag 'usebean' pour récupérer ces ValueObjects 18

19 2) Les relations Les relations constituent une élément clef des EJB, elles permettent de définir au sein de la base de données des relations entre les beans qui y sont enregistrés. Ces relations ont été définies dès la conception du projet et font partie intégrante de la structure de la base de données. Les relations sont de 3 grands types: 1-n, n-m et 1-1, et chacune de divise en 2 sous-types: unidirectionelles et bidirectionelle. Voici un schéma symbolisant les différentes relations entre EJB 19

20 a) L'exemple de la relation 1-n La relation 1-n ( One to Many ), est la plus fréquente, nous allons ici présenter la facon dont elle a été implémentée, grâce aux tags xdoclet. Prenons l'exemple de la relation entre les produits et le magasin qui les propose: il s'agit de la relation [produit 1 n store] : Un magasin connait n produits qui chacun connaissent leur magasin. Cette relation, dite CMR (Container-Managed Relationships), va être définie par un getter et un setter, à l'instar d'un CMP field (Container-Managed Persistence) classique. Dans l'ejb productbean.on trouve: /** * Getter for CMR Relationship * view-type="local" name = "product-to-store" * role-name = "product-has-one-store" * target-multiple = "yes" * target-ejb = "store" * target-role-name = "store-has-many-product" fk-column = "storeid" related-pk-field = "id" */ public abstract avotreservice.interfaces.storelocal getstore(); C'est ici le qui nous intéresse: On donne un nom à la relation On nomme le rôle de la relation, qui servira dans l'autre bean concerné par la relationship On déclare que se beans est un coté many de la relation ( target-mutliple=yes ) On définit l'autre EJB de la relationship On déclare le nom du rôle de la relation dans l'autre bean Enfin le permet de définir la colonne qui servira à référencer du coté des produits ( many ) la colonne des ID des magasins et le CMP field qui sert à remplir cette colonne. Le container JBOSS se contente de ces informations pour gérer la relation. 20

21 Dans l'ejb storebean.on trouve: /** * Getter for CMR Relationship * view-type="local" name = "product-to-store" * role-name = "store-has-many-products" * target-multiple = "no" * target-ejb = "product" * target-role-name = "product-has-one-store" */ public abstract Collection getproducts(); On comprend grâce à ce second coté de la relation comment celle-ci est interprétée: On retrouve productbean comme EJB cible On retrouve product-has-one-store comme rôle cible dans l'ejb productbean.java Ici, la propriété target-multiple est bien à no puisque l'on est du coté 1 de la relation. <?xml version="1.0" encoding="utf-8"?> <!-- $Id: mysql-ds.xml,v /12/01 11:36:28 schrouf Exp $ --> <!-- Datasource config for MySQL using available from: --> <datasources> <local-tx-datasource> <jndi-name>avotreserviceds</jndi-name> <connection-url>jdbc:mysql://gorguda.myftp.org:3306/j2ee_db</connection-url> <driver-class>com.mysql.jdbc.driver</driver-class> <user-name>root</user-name> <password>root</password> <exception-sorter-classname>org.jboss.resource.adapter.jdbc.vendor.mysqlexceptionsorter</exception-sorter-classname> </local-tx-datasource> </datasources> 21

22 b) la directionnalité des relations Une transaction se définit également par sa directionnalité, qui définit si la relation est visible des deux ou de un seul de ses cotés. Ainsi une relation bidirectionnelle permettra aux 2 cotés d'être liés, tandis qu'une relation unidirectionnelle n'assurera le maintien et la visibilité de la relation que d'un seul coté. Dans l'exemple précédent, la relation était bidirectionnelle, pour cela, il suffit d'utiliser des deux cotés de la relation le le container interprète alors la relation comme bidirectionnelle. Prenons un autre cas, la relation [admin n 1 category], elle est unidirectionnelle: l'admin doit connaître la liste des rayons, mais les rayons n'ont pas à connaître l'admin. Nous avons alors utilisé le uniquement dans le bean categorybean. 3) les transactions Les transactions sont un élément de sécurité (cohérence) essentiel pour une base de données. Dès l'instant où l'on doit gérer la persistance dans un contexte J2EE, dans un conteneur EJB, il faut se pencher sur les paramétrages ou sur le code de gestion des transactions. Le conteneur de JBOSS est responsable de la démarcation transactionnelle. La façon dont le conteneur gère la transaction pour une méthode de l'ejb est paramétrée dans les " attributs de transaction ". Laisser le conteneur gérer les transactions permet de spécifier le comportement transactionnel d'un bean entreprise sans réécrire de code, mais aussi de changer le comportement d'une application en adaptant finement le comportement des beans entreprise. Le conteneur gère automatiquement la démarcation transactionnelle à l'exécution d'une méthode selon ces attributs transactionnels. Ici nous avons définit des transactions pour les opérations critiques, c'est-à-dire celles dont la réversibilité est nécessaire, en particulier la phase d'achat. Xdoclet propose des tags permettant la définition des transactions. Prenons l'exemple de la méthode credit dans l'ejb accountbean: /** view-type="local" * Credite le compte view-type="local" type = "Required" balance somme à créditer */ public void credit(java.lang.double balance) { setbalance(getbalance() + balance); } 22

23 Le tag qui nous intéresse ici = Required : Il indique que l EJB adhère à la transaction de l appelant et que si aucune transaction n existe, il crée la sienne. D'autre valeurs existent, notamment RequiresNew qui indique que l EJB crée systèmatiquement sa propre transaction. Ce tag indique le comportement de la méthode, mais pas la façon dont le Bean va traiter les transactions, ainsi en tête de la classe on place le tag suivant: name= transaction-type="container" Ce tag indique que c'est le container JBOSS qui se charge de la gestion des transactions. En effet une transaction n'a que deux issues possibles: un 'commit' (réussite) ou un rollback (échec), en fonction de cette issue, le container se chargera de valider ou d'annuler la transaction, ceci soulage évidemment considérablement notre travail 4) les finders EJB-QL Les finders constituent une brique de la plateforme J2EE, il s'agit de méthodes java permettant un accès directe à la base de données grâce à une requête EJB-QL (Entreprise Java Beans Query Language), un langage dérivé de la norme SQL. Par défaut, chaque bean possède un finder sur la clef ( primary key ) qui permet donc de récupérer directement un bean local si l'on connait sa clef, ce finder, très utile, n'est cependant pas suffisant. Nous avons du développer nos propres finders afin de réaliser certaines fonctions. Prenons l'exemple de la recherche avancée, qui permet de rechercher des produits sur la base de données en fonction de paramètres fournit par l'utilisateur. Xdoclet va là encore nous être d'une grande aide, puisque grâce à des tags de classes, il se chargera de générer le finder dans la home locale qui correspond au bean. Voici le tag de classe correspondant à ce finder que l'on trouve dans productbean: *@ejb.finder signature="java.util.collection findproducts(java.lang.string name, java.lang.string trademark, java.lang.string parentcategory, java.lang.double price1, java.lang.double price2)" * query="select Object(p) from product p WHERE p.name LIKE?1 AND p.trademark LIKE?2 AND p.price BETWEEN?4 AND?5 AND p.category.parentcategory LIKE?3" On indique la signature du finder, qui en l'occurrence renvoie une collection de Beans (les produits correspondant à la recherche avancée) et prend en paramètre les différents critères de la recherche avancée. On indique ensuite la requête EJB-QL en elle même, le langage étant très proche de celui utilisé par MySQL, la requête n'a pas été très difficile à écrire. 23

24 Xdoclet génère alors automatiquement le finder dans AccountLocalHome: public java.util.collection findproducts(java.lang.string name, java.lang.string trademark, java.lang.string parentcategory, java.lang.double price1, java.lang.double price2) Qui s'utilisera simplement sur la home récupéré dans une servlet. Cependant nous retiendrons la pauvreté du langage EJB-QL, qui de plus ne respecte pas toujours la norme SQL: Fonctions majeures manquantes (UPPER et LOWER par exemple) Respect de la casse pour la fonction LIKE, contrairement à SQL (entre autres) Impossible de retourner plusieurs colonnes avec un Select Cependant EJB-QL a été largement modifié dans la nouvelle version d'ejb (la 3.0), une version 2.x comportant ces modifications aurait été la bienvenue, puisque de nombreux développeurs ne sont pas encore près à passer aux EJB3, qui implique de vastes mises à jour et un support pas encore fiable à 100%. 5) Les descripteurs XML et le mapping de la base de données Les liens entre les différentes entités du projet se font grâce au fichiers XML. Voici les différentes fonctions nécessaires pour bien paramétrer le projet : a) mappping et configuration de la base de données Le serveur JBoss doit connaitre la base de données afin d'y accéder. Pour cela, on passe par l'intermédiaire de 2 fichiers : mysql-ds.xml : Ce fichier doit être présent dans le répertoire deploy du serveur. Il contient les informations nécessaires afin de reconnaitre la base de données utilisée, comme l'url de la base, ainsi que l'user et le pass pour s'y connecter. Voici le contenu de ce fichier : standardjbosscmp-jdbc.xml : Ce fichier doit être présent dans le répertoire conf du serveur. Il effectue le mapping de la base grâce au nom jndi, défini dans le fichier précédent, ici avotreserviceds. Voici l'extrait du fichier correspondant : <jbosscmp-jdbc> <defaults> <!--<datasource>java:/gorgudads</datasource>--> <datasource>java:/avotreserviceds</datasource> <datasource-mapping>mysql</datasource-mapping> 24

25 b) les descripteurs ejb-jar.xml, web.xml et application.xml Le projet se divise en 2 modules : ejb et web. Le module EJB, comme son nom l'indique, pour les EJB, et le module web, pour les servlets et les pages web. Chaque module dispose d'un descripteur. A ceux-ci s'ajoute un dernier descripteur qui regroupe ces fichiers. Ces descripteurs sont indépendants du serveur utilisés. Le fichier ejb-jar.xml décrit tout ce qui concerne les EJB : leur nom jndi, leur interface locale, leur home, leur relations... C'est ce fichier qui va être utilisé pour le déploiement des EJB, et qui va servir d'aiguillage lors de leur utilisation. Le fichier web.xml décrit tout ce qui concerne les Servlet : leur propriétés (nom JNDI, description...) et leur mapping (url-pattern). C'est ce fichier qui va être utilisé pour le déploiement des Servlet, et qui va servir d'aiguillage lors de leur utilisation. Le fichier application.xml décrit les différents modules utilisés dans le projet, ici modules ejb et web. On y retrouve le nom des archives correspondant aux modules, ainsi que la racine du contexte, par laquelle on passe pour accéder au site. c) les descripteurs jboss.xml, jboss-web.xml et jbosscmp-jdbc.xml Ce sont les fichiers utilisés pour raccorder les descripteurs au serveur : jboss.xml pour le module ejb, jboss-web.xml pour le module web. Le fichier jbosscmp-jdbc.xml assure la liaison avec la base de données, notamment avec les informations datasource et datasource-mapping, qui correspondent à ceux du fichier standardjbosscmp-jdbc.xml. 25

26 V - Développement: niveau Web 1) Utilisateur Notre site est découpé en 8 zones : a) Logo Zone 1 Le logo du site est cliquable, il ramène à la page d accueil. b) Barre d'onglets Zone 2 Les onglets ont été dessinés à l aide du logiciel ImageReady d Adobe. Les onglets prennent la couleur du rayon lorsqu ils sont survolés ou cliqués. Nous avons utilisé un système de fenêtre coulissante afin de ne pas avoir de temps de chargement lors de changement de couleur. L image de l onglet contient les deux couleurs, elle donc chargée qu une seule fois et est recadrée au moyen de classe CSS : 26

27 TabDroguerie.gif li#droguerie,.headdroguerieoff{ background: url(./images/tabdroguerie.gif) no-repeat left; } li#droguerie a:hover, li#droguerie a:active, li#droguerie a:focus,.headdroguerie{ background: url(./images/tabdroguerie.gif) no-repeat right; border: none; } La sélection d un onglet recharge les zone 3, 4, 5, 6 avec les couleurs du rayon sélectionné grâce à du javascript. c) Menu Zone 3 Dans la page d accueil, le menu contient la liste des liens vers les rayons, puis la liste des liens vers les sous-rayons lorsqu on est dans un rayon. Lors de la sélection d un rayon, comme pour la barre d onglets, les zones 3, 4, 5 et 6 sont actualisées. d) Main Zone 4 Page principale : Une vidéo en Flash de démonstration de l utilisation du site a été créée. Le choix du format Flash s imposait de lui-même pour éviter des problèmes de compatibilité avec les différents navigateurs. Liste de produits : En fonction du sous-rayon courant, un appel à la servlet MainServlet passe en paramètre à la page main.jsp une liste de produits à afficher. L image est «glissable», elle peut être déposée dans le caddie pour effectuer un achat. La partie textuelle est cliquable, elle mène à la fiche du produit. 27

28 Produits : Lorsqu on passe à MainServlet un identifiant de produit, elle va chercher l EJB du produit correspondant et passe le JavaBean correspondant à la page JSP. L image est ici également «glissable» pour être déposé dans le caddie. Sous l image, l utilisateur peut voir l avis des consommateurs et ajouté le sien si il le désire (note et commentaires). Les cinq étoiles permettent de noter le produit. L activation et la validation des étoiles sont gérées par javascript. La zone de commentaire permet de voir les commentaires des autres consommateurs et de laisser son propre avis. Elle est visible qu après un clique sur le lien «Voir les commentaires», elle est affichée grâce à un effet «slide down» issu de la librairie scripaculous. e) Rechercher Zone 5 Le conteneur Rechercher possède un champ pour la recherche et un lien vers la recherche avancée. Le champ de recherche est autocomplété grâce à la fonction autocomplete de scripaculous qui affiche la liste de produits fournie par la servlet AutocompleteServlet, elle est recalculé à chaque nouvelle frappe et ce à partir de la 2e lettre entrée. Si l utilisateur renseigne le champ recherche avec le nom exact du produit, la fiche produit est directement accessible dans le conteneur «main» tandis que si aucun produit ne correspond au nom 28

29 renseigné une recherche est effectue dans nom, marque et description du produit. Si tout fois l utilisateur veut faire une recherche plus poussée, il en a la possibilité avec le lien vers «Recherche avancée». La rechercher avancée est faite à l aide d un «finder» défini dans l EJB productbean.java. Une vérification sur la validité des prix minimum est maximum est faite ; un indicateur «Prix non valide» s affiche le cas échéant. f) Publicité Zone 6 Afin d attiser le client, une bannière a été ajouté. Les produits de cette bannière sont choisis au hasard parmi la liste des produits. Un effet de la bibliothèque des effets visuels de scriptaculous est choisi également au hasard. L effet visuel permet d attirer l attention de l utilisateur. De plus, cette bannière est rafraîchie toutes les 10 secondes par la fonction PeriodicalUpdater fourni par la librairie prototype.js. g) Client Zone 7 Cette fenêtre permet au client de s identifier, ce qui est nécessaire pour faire une commande ou poster des commentaires. Lorsque le client s identifie, seule cette zone est rechargée. S il n est pas encore identifié sur notre site, il peut le faire en cliquant sur le lien Nouveau client qui affiche un formulaire d inscription dans la zone 3. Un contrôle sur le login est opéré afin d assurer l unicité du login. De plus, on vérifie que tous les champs ont été remplis. Le mot de passe est crypté avant d être stocké dans la base de données grâce à la méthode de hachage SHA-256. Si l utilisateur a perdu son mot de passe, un lien Mot de passe oublié lui permet de remplir son login et son adresse mail. Un mail lui est alors envoyé avec un mot de passe généré. Une fois identifié, l utilisateur peut modifier ses coordonnées ou se delogger. 29

30 h) Caddie Zone 8 Le caddie est zone «déposable» au sens de la librairie scriptaculous, on peut y déposer les images des produits provenant de la zone 3. Les images des produits sont affichées en miniature, les noms des produits sont tronqués et la quantité est affichée entre parenthèses. Les images sont «glissables» afin de pouvoir les supprimer, en les déposant dans les rayons, c est-à-dire la zone 3. Le bouton Valider permet d afficher un récapitulatif du caddie dans le main : Les boutons -, + et x permettent respectivement de réduire la quantité d une unité, d augmenter la quantité d une unité et de supprimer complètement le produit du caddie. Un indicateur renseigne le client sur la disponibilité du produit. Le clique sur l un de ces boutons n entraîne le chargement que de cette zone et du caddie. Le bouton Valider confirme la commande. Si le client ne possède pas les fonds nécessaire à l achat du caddie, la transaction est annulée et un message lui est adressé. Si la commande est effective, le client reçoit un mail de récapitulatif de sa commande. 30

31 2) Administration La page d administration contient 6 zones «glissables» et «déposables», ce qui permet à l administrateur d organiser sa page comme il le souhaite : a) Gestion des produits, magasins, sous-rayons et clients L administrateur a la possibilité d ajouter, de modifier ou de supprimer un produit, un magasin, un sous-rayon ou un client. Chacun des champs de recherche est autocomplété à l aide de la fonction Autocomplete de la librairie scriptaculous et de la servlet AutocompleteServlet. Si le nom recherché existe déjà dans la base de données, alors on modifie cet EJB, sinon on en créer un nouveau. 31

32 b) Gestion des commandes L administrateur peut accéder à l historique des commandes effectuées par chaque client afin de remédier d éventuels litiges ou réclamations. Les commandes sont classées par client puis par date. c) Gestion des mails L administrateur peut par l intermédiaire de l interface envoyer un mail à un utilisateur précis ou à l ensemble des utilisateurs inscrits à la newsletter pour leur faire part des nouveautés ou des promotions du site. 32

33 VI - Mise en service de l'application 1) Packaging et déploiement du serveur La version JBOSS de l'ide Eclipse inclue un excellent gestionnaire de packaging qui permet de générer le xml de déploiement à partir d'une interface graphique, et de l'exécuter d'un simple clic. Voici à quoi ressemble notre configuration de déploiement: On décrit le contenu de chaque package de déploiement, avec leurs descripteurs et fichiers respectifs. Il nous suffit alors (sous Eclipse ou manuellement), de déployer le fichier avotreserviceapp.ear pour que JBOSS effectue automatiquement le déploiement du contenu du package. 33

34 2) Validation du service: tests Les tests constituent une tâche longue et indispensable pour tout projet qui se veut fiable et solide. Tout au long du développement, de nombreux tests ont été effectués afin de valider les différents étapes. Certains de ces tests nous ont semblé particulièrement importants, dans la mesure où nous nous devions de les refaire régulièrement au fur et à mesure de l'avancement, c'est pourquoi nous avons crée un ensemble de servlets/jsp uniquement dédiés aux tests, dans celles ci on trouve notamment des tests pour: La création d'entrées dans la base de données, et leur récupération La validité des relations CMR La validité des transactions L'envoi d' s Les finders EJB-QL Ce n'est qu'une fois tous ces tests majeurs validés que l'on peut passer à une phase plus précise du débogage qui consiste à utiliser l'application dans un maximum de cas envisageables et de vérifier que les résultats sont ceux attendus (que ce soit dans le navigateur ou dans la base de données). Ces tests nous permettent aussi de démontrer au client que nous utilisons des technologies fonctionnelles sur lesquelles il pourra compter. 34

35 VII Retour sur les technologies utilisées Voici notre bilan sur les technologies nous avons été confrontées et décrites dans ce rapport: Niveau Développement: Technologie Les + Les - Problèmes rencontrés Eclipse Solide, facile à utiliser, flexible - - Subversion Efficace, s'adapte à tous les environnements Utilisation parfois déroutante Un certain temps pour s'adapter au service Niveau EJB Technologie Les + Les - Problèmes rencontrés Jboss Solide, bien documenté, compatible EJB Difficile à mettre en place, ce qui venait probablement du fait que nous n'étions pas familiarisés avec JBoss MySQL Fiable, très bien documentée, aucun problème rencontré. - La connexion avec Jboss n'était pas des plus faciles, mais une fois effectuée et comprise, nous avons pu la refaire facilement. Xdoclet (Générateur de code) Excellent logiciel, gain Il est parfois difficile de temps énorme sur la de trouver le tag qui génération des XML, correspond à ce que documentation très l'on souhaite tellement fournie: les possibilités il en existe sont impressionnantes. Bien souvent, on rencontre des problèmes qui sont indirectement liés à xdoclet, comme la bonne configuration des tags pour les transactions. Packaging Configurator Très pratique, clair et maniable. - - EJB-relations Une fois la démarche comprises, les relations sont faciles à mettre en place. - Difficiles à mettre en œuvre: il faut à la fois configurer Jboss et la base de données. 35

36 EJB-transactions Possibilités de laisser le container gérer les relations définies - Difficile à tester EJB-finders Très pratiques. Faciles à définir Ne respecte pas complètement SQL. Certaines fonctions importantes manquantes Difficultés liés au problèmes cités précédemment (on supposait que EJB QL respectait SQL...) SQLyog (Gestionnaire de base de données SQL) Excellent logiciel, très pratique, intuitif et léger à la fois Possibilité de sauvegarder les tables et de tester des requêtes L'interface n'est pas toujours très claire - Niveau Web Technologie Les + Les - Ajax Rapprochement vers une application classique. Librairie disponible en ligne fournissant un grand nombre de possibilités. CSS Mise en forme avancée Laborieux et fastidieux - Javascript Modification facile du contenu web d'une page Debbogage ardu - Flash Compatibilité avec tous les navigateurs. Taille et qualité Problèmes rencontrés Impossibilité d'utiliser Problèmes inhérents au le bouton page javascript. précédente. Le javascript doit être activé.

37 Conclusion Ce projet est de loin celui qui nous aura demandé le plus de temps et d'investissement, mais cela est lié au fait qu'il s'agissait ici d'un sujet réellement passionnant, puisque nous nous retrouvions dans la situation d'une équipe d'ingénieurs, avec un cahier des charges, une dead-line, et un planning. Le fait de développer une application fonctionnelle, basée sur des technologies web récentes est quelque chose de vraiment motivant, il nous a fallu améliorer nos techniques de documentation, prendre le temps pour les décisions importantes et bien sur tout faire pour favoriser le travail d'équipe et donc notre efficacité. La découverte de nouveaux outils et de nouvelles technologies au delà des limites du cours fut une épreuve que nous avons passée avec plaisir. Par exemple l'utilisation et la découverte d'ajax et de xdoclet nous a enthousiasmé au point que nous ne cessions d'améliorer l'utilisation de ces nouvelles technologies. Seuls quelques éléments nous ont troublé voir déçu (on citera par exemple EJB-QL, qui dans sa version 2.0 est de notre point de vue calamiteux, ou encore le langage CSS, pénible, dont nous nous serions bien passé si une alternative efficace existait). Ce projet est en fait la synthèse de nombreux domaines dans lesquels un ingénieur doit évoluer: le développement, l'autonomie (recherche d'informations par exemple), le travail en équipe, la performance. Nous sommes conscients que les technologies J2EE représentent un large espace de travail, et il est rassurant pour nous d'avoir développé un projet complet s'appuyant sur cette plateforme dont l'avenir est certain. Nous sommes également conscients qu'il nous reste encore beaucoup à apprendre, même si nous sommes désormais plus confiant vis à vis de nos connaissances. Le cahier des charges est finalement atteint, mêmes si certaines fonctionnalités gadgets n'ont pas pu être implémentées sur le site, faute de temps (par exemple les EJB incluent la gestion de listes de courses que le client pourrait repasser automatiquement sans repasser dans les rayons, il ne reste plus qu'à implémenter cela dans les servlets et JSP concernées, ce qui est tout à fait faisable dans ce genre d'application, à la fois évolutive et facilement modulable). Enfin, nous avons éprouvé du plaisir de travailler ensemble, chacun s'étant impliqué dans ce projet. Le travail en équipe, lorsqu il est efficace, permet de pousser un groupe vers le haut, et au final, chacun retrouve dans l'application une partie de son travail, ce qui constitue la satisfaction du travail accompli. 37

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

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

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

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

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

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

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

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

Plus en détail

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Création d'un site dynamique en PHP avec Dreamweaver et MySQL Création d'un site dynamique en PHP avec Dreamweaver et MySQL 1. Création et configuration du site 1.1. Configuration de Dreamweaver Avant de commencer, il est nécessaire de connaître l'emplacement du

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

Sage CRM. 7.2 Guide de Portail Client

Sage CRM. 7.2 Guide de Portail Client Sage CRM 7.2 Guide de Portail Client Copyright 2013 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,

Plus en détail

Formation : WEbMaster

Formation : WEbMaster Formation : WEbMaster Objectif et Description : Centre Eclipse vous propose une formation complète WebMaster, vous permettant de : Utiliser dès maintenant les nouveautés du web2, ainsi alléger les besoins

Plus en détail

Formation. Module WEB 4.1. Support de cours

Formation. Module WEB 4.1. Support de cours Formation Module WEB 4.1 Support de cours Rédacteur Date de rédaction F.CHEA 08/02/2012 Les informations contenues dans ce document pourront faire l'objet de modifications sans préavis Sauf mention contraire,

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

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

MEDIAplus elearning. version 6.6

MEDIAplus elearning. version 6.6 MEDIAplus elearning version 6.6 L'interface d administration MEDIAplus Sommaire 1. L'interface d administration MEDIAplus... 5 2. Principes de l administration MEDIAplus... 8 2.1. Organisations et administrateurs...

Plus en détail

Création d'un questionnaire (sondage)

Création d'un questionnaire (sondage) Création d'un questionnaire (sondage) Le but de ce petit tuto est d'avoir les séquences pas à pas pour la création d'un questionnaire de façon à ne pas devoir rechercher la manière de procéder si l'outil

Plus en détail

Cahier des charges : gestion de projets agiles. Programmation d Algorithmes Distribués (PAD)

Cahier des charges : gestion de projets agiles. Programmation d Algorithmes Distribués (PAD) Cahier des charges : gestion de projets agiles Programmation d Algorithmes Distribués (PAD) Benoit Bernardin Rachid Bouherrou Bruno Juillard Kaba Kabinè Sid-ahmed Anouar Lekhal 2012 / 2013 Sommaire I.

Plus en détail

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES WEB & DÉVELOPPEMENT LES BASES DU WEB HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES LE LANGAGE HTML STRUCTURE D UNE PAGE En-tête et corps Syntaxe INSÉRER DES CONTENUS Texte : formatage (titre,

Plus en détail

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24 Guide Utilisateur Titre du projet : Sig-Artisanat Type de document : Guide utilisateur Cadre : Constat : Les Chambres de Métiers doivent avoir une vision prospective de l'artisanat sur leur territoire.

Plus en détail

Alfresco Guide Utilisateur

Alfresco Guide Utilisateur Alfresco Guide Utilisateur ATELIER TECHNIQUE DES ESPACES NATURELS - 1 Table des matières Alfresco Guide Utilisateur...1 Accéder à la GED de l'aten...3 Via un client FTP...3 Onglet Général...3 Onglet Avancé...3

Plus en détail

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un

Plus en détail

7.0 Guide de la solution Portable sans fil

7.0 Guide de la solution Portable sans fil 7.0 Guide de la solution Portable sans fil Copyright 2010 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur

Plus en détail

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.

Plus en détail

claroline classroom online

claroline classroom online de la plate-forme libre d'apprentissage en ligne Claroline 1.4 Manuel Révision du manuel: 06/2003 Créé le 07/09/2003 12:02 Page 1 Table des matières 1) INTRODUCTION...3 2) AFFICHER LA PAGE DE DEMARRAGE...3

Plus en détail

Administration du site (Back Office)

Administration du site (Back Office) Administration du site (Back Office) A quoi sert une interface d'administration? Une interface d'administration est une composante essentielle de l'infrastructure d'un site internet. Il s'agit d'une interface

Plus en détail

JOnAS Day 5.1. Outils de développements

JOnAS Day 5.1. Outils de développements JOnAS Day 5.1 Outils de développements Agenda Introduction Plugin Eclipse (JOPE) Plugin NetBeans (JOnbAS) Cargo 2 Bull, 2009 JOnAS Day 5.1 Objectifs - Réduire les temps de développement - Construction

Plus en détail

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

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

Plus en détail

Le générateur d'activités

Le générateur d'activités Le générateur d'activités Tutoriel Mise à jour le 09/06/2015 Sommaire A. Mise en route du Générateur d'activité... 2 1. Installation de Page... 2 2. Création des bases du générateur d'activités... 3 3.

Plus en détail

Guide d implémentation. Réussir l intégration de Systempay

Guide d implémentation. Réussir l intégration de Systempay Guide d implémentation - Interface avec la plateforme de paiement - Réussir l intégration de Systempay Version 1.4b Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa

Plus en détail

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A. ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A. - 1 - PREAMBULE Les conditions générales d utilisation détaillant l ensemble des dispositions applicables

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

Qlik Sense Cloud. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés.

Qlik Sense Cloud. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Qlik Sense Cloud Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Qlik, QlikTech, Qlik Sense, QlikView,

Plus en détail

Nouveautés joomla 3 1/14

Nouveautés joomla 3 1/14 Nouveautés joomla 3 1/14 Table des matières 1 Responsive... 1 2 Bootstrap... 1 3 LESS CSS intégré... 1 4. JUI (pour les développeurs d'extensions)... 1 5. Le Mambo days vs le Génial UX... 2 6. 7 étapes

Plus en détail

Sql Server 2005 Reporting Services

Sql Server 2005 Reporting Services Sql Server 2005 Reporting Services Un grand merci à Mr F. B. pour sa franchise, son sens de la relation humaine et son humilité. Sql Server 2005 Reporting Services - 2 / 30 - Sommaire Sommaire...2 Introduction...3

Plus en détail

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv> Langage HTML (2 partie) «Je n'ai fait que prendre le principe d - hypertexte et le relier au principe du TCP et du DNS et alors boum! ce fut le World Wide Web!» Tim Berners-Lee

Plus en détail

Joomla! Création et administration d'un site web - Version numérique

Joomla! Création et administration d'un site web - Version numérique Avant-propos 1. Objectifs du livre 15 1.1 Orientation 15 1.2 À qui s adresse ce livre? 16 2. Contenu de l ouvrage 17 3. Conclusion 18 Introduction 1. Un peu d histoire pour commencer... 19 1.1 Du web statique

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

Manuel Utilisateur de l'installation du connecteur Pronote à l'ent

Manuel Utilisateur de l'installation du connecteur Pronote à l'ent de l'installation du connecteur Pronote à l'ent Page : 1/28 SOMMAIRE 1 Introduction...3 1.1 Objectif du manuel...3 1.2 Repères visuels...3 2 Paramétrage de la connexion entre l'ent et Pronote...4 2.1 Informations

Plus en détail

WWW.MELDANINFORMATIQUE.COM

WWW.MELDANINFORMATIQUE.COM Solutions informatiques Procédure Sur Comment créer un premier Site SharePoint 2010 Historique du document Revision Date Modification Autor 3 2013-04-29 Creation Daniel Roy 1. But.4 2. Configuration..4

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

Didacticiel de mise à jour Web

Didacticiel de mise à jour Web Didacticiel de mise à jour Web Copyright 1995-2012 Esri All rights reserved. Table of Contents Didacticiel : Création d'une application de mise à jour Web.................. 0 Copyright 1995-2012 Esri.

Plus en détail

MODULES 3D TAG CLOUD. Par GENIUS AOM

MODULES 3D TAG CLOUD. Par GENIUS AOM MODULES 3D TAG CLOUD Par GENIUS AOM 1 Sommaire I. INTRODUCTIONS :... 3 II. INSTALLATION MANUELLE D UN MODULE PRESTASHOP... 3 III. CONFIGURATION DU MODULE... 7 3.1. Préférences... 7 3.2. Options... 8 3.3.

Plus en détail

Thunderbird est facilement téléchargeable depuis le site officiel

Thunderbird est facilement téléchargeable depuis le site officiel 0BThunderbird : une messagerie de bureau simple et gratuite! Thunderbird est un logiciel de messagerie résident dans votre système, spécialisé dans la gestion des courriers électroniques. Thunderbird n

Plus en détail

Manuel d utilisation email NETexcom

Manuel d utilisation email NETexcom Manuel d utilisation email NETexcom Table des matières Vos emails avec NETexcom... 3 Présentation... 3 GroupWare... 3 WebMail emails sur internet... 4 Se connecter au Webmail... 4 Menu principal... 5 La

Plus en détail

Optimiser pour les appareils mobiles

Optimiser pour les appareils mobiles chapitre 6 Optimiser pour les appareils mobiles 6.1 Créer un site adapté aux terminaux mobiles avec jquery Mobile... 217 6.2 Transformer son site mobile en application native grâce à PhoneGap:Build...

Plus en détail

LES ACCES ODBC AVEC LE SYSTEME SAS

LES ACCES ODBC AVEC LE SYSTEME SAS LES ACCES ODBC AVEC LE SYSTEME SAS I. Présentation II. SAS/ACCESS to ODBC III. Driver ODBC SAS IV. Driver ODBC SAS Universel V. Version 8 VI. Références I. Présentation Introduction ODBC, qui signifie

Plus en détail

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8 Sage 100 CRM Guide de l Import Plus avec Talend Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant : le cédérom sur lequel

Plus en détail

Administration du Client Web

Administration du Client Web Le Serveur de Communication IceWarp Administration du Client Web Version 10.4 Octobre 2012 Icewarp France / DARNIS Informatique i Sommaire Administration du Client Web 2 Introduction... 2 Installation

Plus en détail

CONNECTEUR PRESTASHOP VTIGER CRM

CONNECTEUR PRESTASHOP VTIGER CRM CONNECTEUR PRESTASHOP VTIGER CRM Page 1 / 14 Vtiger CRM - Prestashop Connector Pour PRESTASHOP version 1.4.x et 1.5.x Pour vtiger CRM version 5.1, 5.2.0, 5.2.1, 5.3 et 5.4 Introduction En tant que gérant

Plus en détail

Authentification avec CAS sous PRONOTE.net 2011. Version du lundi 19 septembre 2011

Authentification avec CAS sous PRONOTE.net 2011. Version du lundi 19 septembre 2011 1 Authentification avec CAS sous PRONOTE.net 2011 Version du lundi 19 septembre 2011 2 1 - Vocabulaire employé et documentation... 3 1.1 - SSO (Single Sign-On)... 3 1.2 - CAS (Central Authentication Service)...

Plus en détail

Présentation du Framework BootstrapTwitter

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

Plus en détail

Java 7 Les fondamentaux du langage Java

Java 7 Les fondamentaux du langage Java 184 Java 7 Les fondamentaux du langage Java 1.1 Les bibliothèques graphiques Le langage Java propose deux bibliothèques dédiées à la conception d'interfaces graphiques. La bibliothèque AWT et la bibliothèque

Plus en détail

Les calques supplémentaires. avec Magix Designer 10 et autres versions

Les calques supplémentaires. avec Magix Designer 10 et autres versions Les calques supplémentaires avec Magix Designer 10 et autres versions Pourquoi ajouter un calque à votre page web? L'ajout d'un calque à une page web est parfois nécessaire lorsque la page est déjà bien

Plus en détail

GROUPE CAHORS EXTRANET

GROUPE CAHORS EXTRANET GROUPE CAHORS EXTRANET GUIDE UTILISATEUR Tous les utilisateurs de l Extranet s'engagent à ne pas divulguer, à l'extérieur de Groupe Cahors, les informations consultées ou collectées dans l'extranet. Cela

Plus en détail

Guide d utilisation IPAB-ASSOCIATION v5.0 GUIDE D UTILISATION. à destination des associations et organismes sans but lucratif.

Guide d utilisation IPAB-ASSOCIATION v5.0 GUIDE D UTILISATION. à destination des associations et organismes sans but lucratif. GUIDE D UTILISATION à destination des associations et organismes sans but lucratif Page 1 Table des matières I. Activation du compte Ipab-Association et première connexion... 4 1. L email d activation...

Plus en détail

Créer et gérer des catégories sur votre site Magento

Créer et gérer des catégories sur votre site Magento Créer et gérer des catégories sur votre site Magento Version utilisée pour l élaboration de ce guide : Magento 1.3.0 Rédigé par : Olivia Contexte Pour créer un site sous Magento, vous allez être obligé

Plus en détail

Premiers pas sur e-lyco

Premiers pas sur e-lyco Premiers pas sur e-lyco A destination des parents, ce document présente les premiers éléments pour accéder aux services de l'ent e-lyco d'un lycée. Que signifient ENT et e-lyco? ENT = Espace ou Environnement

Plus en détail

Gestion des documents avec ALFRESCO

Gestion des documents avec ALFRESCO Gestion des documents avec ALFRESCO 1 INTRODUCTION : 2 1.1 A quoi sert ALFRESCO? 2 1.2 Comment s en servir? 2 2 Créer d un site collaboratif 3 2.1 Créer le site 3 2.2 Inviter des membres 4 3 Accéder à

Plus en détail

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE Le responsable de la société Itaste utilise une application installée sur son poste : elle est programmée en VBA sous Microsoft Access et pourvue d une

Plus en détail

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée

Plus en détail

FileMaker Server 14. Aide FileMaker Server

FileMaker Server 14. Aide FileMaker Server FileMaker Server 14 Aide FileMaker Server 2007-2015 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et FileMaker Go sont des marques

Plus en détail

Maarch V1.4 http://www.maarch.org

Maarch V1.4 http://www.maarch.org COLD (factures clients) Maarch Professional Services Maarch PS anime le développement d un produit d archivage open source : http://www.maarch.org Guide de visite COLD (factures clients) VERSION DATE ACTEUR

Plus en détail

Université Ferhat ABBAS -Sétif

Université Ferhat ABBAS -Sétif Université Ferhat ABBAS -Sétif Centre des systèmes et réseaux d information et de communication, de télé-enseignement et d enseignement à distance Document explicatif de l'utilisation du webmail RoundCube,

Plus en détail

Plateforme PAYZEN. Intégration du module de paiement pour la plateforme Magento version 1.3.x.x. Paiement en plusieurs fois. Version 1.

Plateforme PAYZEN. Intégration du module de paiement pour la plateforme Magento version 1.3.x.x. Paiement en plusieurs fois. Version 1. Plateforme PAYZEN Intégration du module de paiement pour la plateforme Magento version 1.3.x.x Paiement en plusieurs fois Version 1.4a Guide d intégration du module de paiement Multiple Magento 1/24 SUIVI,

Plus en détail

FOIRE AUX QUESTIONS PAIEMENT PAR INTERNET. Nom de fichier : Monetico_Paiement_Foire_aux_Questions_v1.7 Numéro de version : 1.7 Date : 2014-05-29

FOIRE AUX QUESTIONS PAIEMENT PAR INTERNET. Nom de fichier : Monetico_Paiement_Foire_aux_Questions_v1.7 Numéro de version : 1.7 Date : 2014-05-29 FOIRE AUX QUESTIONS PAIEMENT PAR INTERNET Nom de fichier : Monetico_Paiement_Foire_aux_Questions_v1.7 Numéro de version : 1.7 Date : 2014-05-29 FOIRE AUX QUESTIONS Confidentiel Titre du document : Monetico

Plus en détail

Edutab. gestion centralisée de tablettes Android

Edutab. gestion centralisée de tablettes Android Edutab gestion centralisée de tablettes Android Résumé Ce document présente le logiciel Edutab : utilisation en mode enseignant (applications, documents) utilisation en mode administrateur (configuration,

Plus en détail

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8 Sage 100 CRM - Guide de la Fusion Avancée Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant : le cédérom sur lequel est enregistré

Plus en détail

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s Mickaël Mickaël BLANCHARD BLANCHARD Préface de Sébastien L e p e r s Magento Préface de Sébastien L e p e r s Magento Réussir son site e-commerce Réussir son site e-commerce Groupe Eyrolles, 2010, ISBN

Plus en détail

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

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces

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

Tutoriel Inscription et utilisation basique d'un blog hébergé chez Blogger.com

Tutoriel Inscription et utilisation basique d'un blog hébergé chez Blogger.com Tutoriel Inscription et utilisation basique d'un blog hébergé chez Blogger.com Contenu I.Validation (ou inscription) de son adresse chez Google...2 II.Utilisation des fonctionnalités du blog...5 1.Accès

Plus en détail

Petit guide à l'usage des profs pour la rédaction de pages pour le site Drupal du département

Petit guide à l'usage des profs pour la rédaction de pages pour le site Drupal du département Petit guide à l'usage des profs pour la rédaction de pages pour le site Drupal du département Le nouveau site du département Le nouveau site du département est situé, comme l'ancien à l'adresse suivante

Plus en détail

Configurer son courrier électrique avec votre compte Abicom

Configurer son courrier électrique avec votre compte Abicom Configurer son courrier électrique avec votre compte Abicom De tous les services Internet, l'échange de courrier électronique est probablement le plus populaire et plus vieil outil de communication encore

Plus en détail

AssetCenter Notes de version

AssetCenter Notes de version Peregrine AssetCenter Notes de version PART NUMBER AC-4.1.0-FRE-01015-00189 AssetCenter Copyright 2002 Peregrine Systems, Inc. Tous droits réservés. Les informations contenues dans ce document sont la

Plus en détail

COURS WINDEV NUMERO 3

COURS WINDEV NUMERO 3 COURS WINDEV NUMERO 3 01/02/2015 Travailler avec un fichier de données Etude du gestionnaire d analyse, Manipulation des tables mémoires, Manipulation de données, Création d états, Pré requis : Cours WinDev

Plus en détail

Les Utilisateurs dans SharePoint

Les Utilisateurs dans SharePoint Les Utilisateurs dans SharePoint La gestion des utilisateurs dans SharePoint SharePoint dont le cœur est l'outil collaboratif, Windows SharePoint Services. Chaque utilisateur (ou collaborateur) peut créer

Plus en détail

I La création d'un compte de messagerie Gmail.

I La création d'un compte de messagerie Gmail. Les outils du Cloud Computing #2 Gmail / Google Drive L'exemple des Googles Documents & Googles formulaires Un pas à pas pour faire connaissance avec les services google. I La création d'un compte de messagerie

Plus en détail

Qu'est-ce que le BPM?

Qu'est-ce que le BPM? Qu'est-ce que le BPM? Le BPM (Business Process Management) n'est pas seulement une technologie mais, dans les grandes lignes, une discipline de gestion d'entreprise qui s'occupe des procédures contribuant

Plus en détail

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

Groupe Eyrolles, 2003, ISBN : 2-212-11317-X Groupe Eyrolles, 2003, ISBN : 2-212-11317-X 3 Création de pages dynamiques courantes Dans le chapitre précédent, nous avons installé et configuré tous les éléments indispensables à la mise en œuvre d une

Plus en détail

Application de lecture de carte SESAM-Vitale Jeebop

Application de lecture de carte SESAM-Vitale Jeebop Application de lecture de carte SESAM-Vitale Jeebop Présentation Le module de lecture de carte SESAM-Vitale Jeebop est une application Java Web Start, c'est à dire une application Java qui se télécharge

Plus en détail

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

Devenez un véritable développeur web en 3 mois! Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web

Plus en détail

Gestion du service des enseignements

Gestion du service des enseignements Gestion du service des enseignements 27/03/07 1 sur 6 Projet - Gestion du service des enseignements Émetteur du Document - Groupe GSE Destinataire du Document - J.L. Massat Titre - Nom Du Fichier - W_Manuel_Deploiement_v1.0.pdf

Plus en détail

Paiement sécurisé sur Internet. Tableau de bord Commerçant

Paiement sécurisé sur Internet. Tableau de bord Commerçant Paiement sécurisé sur Internet Tableau de bord Commerçant SOMMAIRE 1 Principe 4 1.1 Principe général 4 1.2 Environnement de validation 4 1.3 Environnement de Production 4 2 Accès au tableau de bord 5 2.1

Plus en détail

1 / Introduction. 2 / Gestion des comptes cpanel. Guide débuter avec WHM. 2.1Créer un package. 2.2Créer un compte cpanel

1 / Introduction. 2 / Gestion des comptes cpanel. Guide débuter avec WHM. 2.1Créer un package. 2.2Créer un compte cpanel Guide débuter avec WHM 1 / Introduction WHM signifie Web Host Manager (ou gestionnaire d'hébergement web). WHM va donc vous permettre de gérer des comptes d'hébergement pour vos clients. (création de compte,

Plus en détail

Serveur de travail collaboratif Michaël Hoste -

Serveur de travail collaboratif Michaël Hoste - Serveur de travail collaboratif Michaël Hoste - Table des matières 1. Qu'est ce qu'un serveur de travail collaboratif?...2 2. Pourquoi ce projet?...2 3. Possibilités d'utilisation dans le cadre de l'université...3

Plus en détail

Service de certificat

Service de certificat Service de certificat Table des matières 1 Introduction...2 2 Mise en place d une autorité de certification...3 2.1 Introduction...3 2.2 Installer le service de certificat...4 3 Sécuriser un site web avec

Plus en détail

Manuel utilisateur. des. listes de diffusion. Sympa. l'université Lille 3

Manuel utilisateur. des. listes de diffusion. Sympa. l'université Lille 3 Manuel utilisateur des listes de diffusion Sympa à l'université Lille 3 1 Table des matières Table des matières...2 I. Introduction...3 II. Principe général de fonctionnement de «Sympa»...3 1. Les principaux

Plus en détail

INFORM :: DEMARRAGE RAPIDE A service by KIS

INFORM :: DEMARRAGE RAPIDE A service by KIS - Création d'un formulaire Ce petit mémo a pour but de donner une vue d'ensemble des étapes menant à la création d'un formulaire avec in- Form. Bien que générique ce document fournit également les informations

Plus en détail

Petite définition : Présentation :

Petite définition : Présentation : Petite définition : Le Web 2.0 est une technologie qui permet la création de réseaux sociaux, de communautés, via divers produits (des sites communautaires, des blogs, des forums, des wiki ), qui vise

Plus en détail

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

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/

Plus en détail

Guide de l'utilisateur

Guide de l'utilisateur BlackBerry Internet Service Version: 4.5.1 Guide de l'utilisateur Publié : 2014-01-08 SWD-20140108170135662 Table des matières 1 Mise en route...7 À propos des formules d'abonnement pour BlackBerry Internet

Plus en détail

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.

Plus en détail

FileSender par RENATER - Guide utilisateur

FileSender par RENATER - Guide utilisateur FileSender par RENATER - Guide utilisateur Filesender par RENATER est un service de transfert sécurisé de fichiers volumineux à disposition des utilisateurs de la communauté de l'enseignement supérieur

Plus en détail

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO _TUTO_module_magento Table des matières -1) - :...2-1.1) Introduction :...2-1.2) Description :...3-1.2.1) Schéma :...3-1.3) Mise en place :...4-1.3.1) MAGENTO :...4-1.3.1.1) Les Web Services :...4-1.3.1.2)

Plus en détail

Windows Internet Name Service (WINS)

Windows Internet Name Service (WINS) Windows Internet Name Service (WINS) WINDOWS INTERNET NAME SERVICE (WINS)...2 1.) Introduction au Service de nom Internet Windows (WINS)...2 1.1) Les Noms NetBIOS...2 1.2) Le processus de résolution WINS...2

Plus en détail

Encryptions, compression et partitionnement des données

Encryptions, compression et partitionnement des données Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des

Plus en détail

GLPI (Gestion Libre. 2 ième édition. Nouvelle édition. de Parc Informatique)

GLPI (Gestion Libre. 2 ième édition. Nouvelle édition. de Parc Informatique) GLPI (Gestion Libre de Parc Informatique) Installation et configuration d une solution de gestion de parc et de helpdesk 2 ième édition Marc PICQUENOT Patrice THÉBAULT Nouvelle édition Table des matières

Plus en détail