1.Choix technologiques

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

Download "1.Choix technologiques"

Transcription

1 Table des matières Introduction Choix technologiques... 4 Le choix des EJB Cahier des charges Portail LMD Les acteurs Les objets métiers Cas d'usage Diagramme simplifié Développement Application répartie : les EJB Vue générale Relations entre les objets Persistance La génération des identificateurs La génération des mots clés La communication entre les objets Le lien avec l'interface client Façade Struts Rémanence XML XSLT JSP Site internet Tests Comment L'intéret des tests Retrospective Gestion du travail de groupe Division du travail Communication Synthèse de travaux Problèmes rencontrés Problèmes liés au code Problèmes du côté EJB Problèmes du côté Façade Problèmes liés aux technologies de sécurité Problèmes liés à la communication Divergences dans les noms et types d'attributs Divergences dans la structure du projet Problèmes liés au diagramme UML Problèmes liés au temps Conclusion Annexe - L'eXtreme programming Annexe - Création d'un EJB CMP...30 Annexe - Façade Annexe - Schéma UML Annexe - Authentification et Sécurité

2 Introduction Dans le cadre de la première année de Master informatique, les étudiants sont amenés à réaliser un projet en groupe de treize à dix-huit personnes. Ainsi, ils apprennent à travailler en équipe, à partager et gérer leurs ressources, à assumer les responsabilités liées à un tel projet et à faire preuve d indépendance décisionnelle. Tout ceci leurs permet de se rendre compte de l ampleur d un tel projet et de la nécessité d une bonne organisation. Le sujet du projet J2EE-LMD est la création d'un portail web permettant de consulter toutes sortes d'informations relatives à l'ensemble des formations proposées dans les universités françaises au niveau du LMD. Mais le but du projet est avant tout de développer une application répartie beaucoup plus complète que l'habituel site internet en HTML. Entre autre, notre application est très évolutive, c'est à dire que l'on peut aisément y ajouter des composantes. De plus le site est géré dynamiquement et donc mis à jour instantanément à chaque modification. Il permet également une montée en charge très conséquente, c'est à dire qu'il peut supporter un nombre d'utilisateurs simultanés très important. Enfin, il permet la gestion de différents types d'utilisateurs et de droits d'accès. C'est pourquoi nous utilisons pour ce projet la technologie J2EE. En effet, celle-ci apporte la possibilité de travailler en groupe selon un schéma horizontal : le développement des différentes actions possibles se fait en couches (ex : gestion de personnes, de contacts...) développées en parallèle, ce qui permet à une couche terminée d'être testée seule avant d'être ajoutée à l'ensemble des couches déjà testées. J2EE offre également l'avantage de faire évoluer le portail plus facilement sans pour autant devoir modifier l'existant. Ceci grâce au fait qu'elle permet la programmation du portail sous forme de modules indépendants. Pour mener à bien un tel projet, une bonne organisation est nécessaire. Ainsi le premier semestre a été entièrement consacré à la partie analyse du projet et le deuxième semestre réservé au développement. Bien que ce rapport ne concerne que la partie développement, il est nécessaire d'évoquer brièvement le travail déjà effectué pendant la phase d'analyse du premier semestre. L'analyse du projet nous a tout d'abord permis de définir les outils à utiliser. Outre l'utilisation de J2EE imposée par l'intitulé du sujet, ces outils ont été retenus pour leur adéquation aux objectifs du projet : entre autre, nous les avons retenus pour leur portabilité, leur facilité d'utilisation ainsi que leur gratuité. L'analyse nous a ensuite amenés à définir l'architecture de notre application : à partir des différents modules identifiés, nous avons organisé la répartition des membres du projet en sous-groupes pour la partie développement. L'objectif de la phase de développement est de mettre en oeuvre les spécifications fonctionnelles bâties lors de la phase d'analyse. Nous verrons dans un premier temps les choix technologiques imposés par le sujet, dans un deuxième temps le cahier des charges établi pour notre application. Ensuite nous verrons la partie développement et les tests effectués. Enfin, nous finirons par une retrospective de notre travail de groupe, et des problèmes rencontrés. 2

3 1.Choix technologiques La conception d'un système d'informations est une problématique très complexe. Il faut traiter à la fois l'accès, le traitement et la présentation des données à l'utilisateur final, ainsi que beaucoup d'autres détails tels que la gestion des transactions et la sécurité de l'application. Afin de maîtriser sa conception, et plus tard son évolutivité, nous avons tout intérêt à concevoir un système d'informations sous forme de couches, où chaque couche a une responsabilité précise. Ces couches sont logicielles. L'architecture classique est une architecture à trois couches : la couche présentation contient des composants qui réalisent l'interface graphique de l'application et gèrent les interactions avec l'utilisateur. la couche métier, coeur de l'application, contient des composants qui collaborent entre eux. la couche données est utilisée par la couche métier pour enregistrer les différentes données. Exemple d'application : requête Couche présentation Navigateur Couche métier Couche données réponse client La technologie J2EE (Java 2 Enterprise Edition) permet ce découpage en couches logiques. Celui-ci ne préjuge en aucune manière de la localisation physique des composants constituants chacune de ces couches. En particulier, ces composants peuvent être répartis sur plusieurs serveurs d'application, les serveurs ainsi impliqués pouvant eux-mêmes être regroupés ou distribués sur une ou plusieurs machines constituant l'ensemble de la plateforme d'exécution. Les composants JSP sont un des composants majeurs de la couche présentation. Les EJB sont des composants dédiés à la couche métier et attachés à la couche données lorsqu'ils sont persistants. 3

4 Le choix des EJB Même s'il est possible de se passer des EJB, ceux-ci représentent des avantages certains. Le premier d'entre eux est la possibilité de mettre en oeuvre des architectures complexes où la partie présentation et la partie métier sont physiquement séparées. Le serveur d'applications rend alors de nombreux services en prenant à sa charge les communications réseaux, les transactions distribuées, la sécurité, la répartition de charge et les optimisations possible en mutualisant les ressources (gestion de pool). Le deuxième avantage réside dans la normalisation du modèle de composants EJB. Ainsi, les EJB peuvent être déployés sur tout serveur J2EE. 2. Cahier des charges Il s'agit de connaître quelles orientations donner au projet d'un point de vue développement. C'est pourquoi l'établissement d'un cahier des charges complet a été important. 2.1.Portail LMD Le projet J2EE-LMD consiste en la création d'un portail d'accès à l'offre de formation d'un ensemble d'universités. En effet, dans le cadre de la réforme LMD, les universités ont besoin d'une centralisation de leurs données pour une représentation plus claire de leurs formations afin de bien s'adapter au nouveau système imposé. Ainsi, il est par exemple possible, à l'aide de l'application finale, de créer des formations constituées de «ressources», c'est à dire de matières (exemple : cours de compilation). Les divers parcours des universités sont alors consultables. Pour pouvoir réaliser ce genre d'actions avec l'application finale, nous avions besoin de définir un certain nombre d'objets-métiers principaux qui nous servent à représenter nos grandes entités Les acteurs Il convient aussi de définir différents types d'utilisateurs ayant accès à cette application. Ainsi nous avons : les visiteurs, ils ne font que des recherches et des consultations les enseignants, ils ont les mêmes droits que les visiteurs plus la possibilité de créer et modifier des ressources les administrateurs, ils ont tous les droits, c'est à dire qu'ils peuvent créer, modifier mais aussi supprimer des ressources. 4

5 2.1.2.Les objets métiers Pour présenter aux lecteurs les informations sur la réforme LMD, il est nécessaire d'avoir des objets-métiers correspondant aux universités, aux UFRs qu'elles regroupent, à leurs adresses et villes associées. Tout ce groupement d'objets nous a permis de traduire l'aspect «universités» de notre application. En particulier, nous avons choisi d'avoir : des personnes symbolisant les différents utilisateurs de notre application des matières correspondant aux matières enseignées des universités regroupant des matières (et ressources associées) au sein de formations ainsi que toutes les informations associées des sections/niveaux hiérarchisant l'offre de formation de l'université concernée et enfin des questions/faq qui sont le résultat du classement de nos données afin de pouvoir y faire des recherches. De manière plus détaillée, les objets-métiers matières, sections et niveaux associés constituent les disciplines présentes par formations, niveaux ou sections. Les matières et niveaux sont reliés au sein des unités d'enseignements. Pour chaque matière, il y a aussi un certain nombre de ressources pédagogiques associées. Enfin, en ce qui concerne les UFRs et disciplines enseignées en leur sein, des mots-clés sont associés à ces derniers objets-métiers, sauf pour les sections. Ces mots-clés ne sont ni obligatoires ni limités en nombre mais fort utiles pour les recherches «en interne de l'application». Les questions et FAQ qu'elles constituent servent à aider le visiteur perdu ou demandeur d'une quelconque assistance au sein de notre portail web. Enfin, avec les différents types d'utilisateurs qui peuvent consulter notre portail web, il est important de savoir si la personne est un simple visiteur ou un utilisateur avec des droits. Il convient donc de les représenter par des entités personnes parmi lesquelles nous avons des administrateurs et des professeurs dotés de plus de pouvoir. Ce sont nos derniers objets-métiers mais pas les moindres car ils permettent de gérer les droits des utilisateurs en fonction de leur identification Cas d'usage Le client définit tout au long du développement différents scénarios qui représentent ce qu'il attend concrètement de l'application. Nous allons détailler quelques cas d'usages qui représentent des actions générales réalisables sur l'application finale. Ainsi il est possible de faire: Consultation : Cette opération est permise à tous. La consultation consiste à choisir une catégorie d'objets et à demander l'affichage partiel ou total de son contenu au niveau de la base de données sur laquelle repose notre application. 5

6 Ajout : Cette opération n'est permise qu'à un administrateur, seul habilité à faire ce genre de tâches (excepté l'ajout de ressources pédagogique qui est également faisable par un professeur). Plus particulièrement, nous créons une personne «lambda» et analysons le résultat obtenu pour voir si cela correspond bien à ce que nous voulons. Une ou plusieurs consultations sont également intégrées à ce cas d'usage pour visualiser le contenu modifié afin de vérifier que tout fonctionne bien. 6

7 Modification : Là aussi, seuls les administrateurs, ou éventuellement les enseignants, peuvent le faire. En particulier, nous reprenons une personne déjà existante afin de lui apporter des modifications. Ensuite nous contrôlons que tout fonctionne bien par le biais d'une consultation. Recherche : Notre dernier cas d'usage concerne des recherches diverses au sein des ressources ou formations présentées par notre application. Nous pouvons ainsi vérifier que toutes les parties de notre application sont bien articulées et «communiquent» bien entre elles afin de modéliser le fonctionnement global de cette dernière. En effet, une recherche nécessite que toutes les informations soient bien enregistrées par notre application et soient exploitables. 7

8 2.2.Diagramme simplifié Après notre analyse, nous avons déterminé que le principe général de notre application peut, d'une manière un peu simplifiée, se résumer par le schéma suivant : 8

9 Ces groupes d'objets sont les principaux. Ce sont les grands objets-métiers que nous avons retenus. Nous avons tenté de les implémenter par des EJB. Ces composants offrent tous les avantages au niveau persistance, sécurité d'accès aux données... tout en ne présentant que très peu de code effectif. C'est tout l'intérêt du J2EE avec ses EJB si utiles et pourtant si obscurs dans un premier temps. Mais cela sera approfondi dans la partie suivante. 3. Développement Lors du développement de notre application, deux axes importants de développement ont été soulevés : celui concernant le serveur d'application, et celui concernant la façade, c'est à dire l'interface client. 3.1.Application répartie : les EJB La partie EJB (Entreprise Java Bean) concerne la partie logique métiers de notre portail web. On précise que ce portail fonctionne sur un serveur JBoss selon les spécifications J2EE (Java 2 Enterprise Edition) de SUN. J2EE est une plate-forme de développement qui nous permet de développer notre application web composée de servlets, JSP et composants métiers à base d'ejb. C'est également une spécification destinée aux éditeurs de logiciels qui désirent créer des serveurs d'applications compatibles J2EE. Un serveur d'application contient un conteneur Web pour l'exécution des applications Web et un conteneur d'ejb pour l'exécution des composants métiers (services détaillés en annexe du dossier de spécifications). Seul le conteneur d'ejb nous intéresse dans cette partie, c'est lui qui nous fournit l'environnement d'exécution des EJB, en leur fournissant des services tels que les transactions ou la persistance. L'un des intérêts principaux de J2EE est la gestion des différents services par le conteneur : le développeur ne s'occupe plus de la gestion des services tels que la persistance (dans une base de données par exemple), la sécurité ou encore les transactions Vue générale Chaque entité du schéma UML1 est représentée par un EJB de type CMP (Contenair Managed Persistance), c'est à dire des objets aux données persistantes sur le serveur et dont la persistance elle-même est gérée par le conteneur. Nous appelons ceux-ci des EJB entity ou encore entity bean. Nous pourrions par exemple les utiliser pour représenter un compte bancaire : celui-ci garde en mémoire le solde, les historiques et les autres services éventuels (points, adresses, numéro de comptes...). 1 Voir Annexe 9

10 L'ensemble de ces entity beans est manipulé par un ou plusieurs EJB que nous appelons EJB session. Comme son nom l'indique, celui-ci n'est pas persistant et possède un durée de vie égale à celle d'une session. Par exemple, nous pourrions représenter un bean session par une action sur le compte bancaire (retrait d'argent, suppression d'un compte..). Compte banquaire Dépot d'argent Client Entity Retrait d'argent Session Entity Session Entity B D Client Client Demande d'achat Panier Enfin, le client (côté façade du portail) manipule les fonctions du session bean, ce dernier jouant le rôle de façade vers les entity beans Relations entre les objets Les relations entre les entités (voir schéma UML) sont gérées de deux manières : Premièrement, un identificateur unique (clé primaire) est utilisé pour lier deux objets. Par exemple, la relation (1-1..*) entre une ville et une adresse est réalisée à l'aide du code insee. Ainsi, chaque ville a un code insee unique et chaque adresse possède un code insee correspondant à la ville. Un objet intermédiaire est utilisé pour lier deux objets. Par exemple, dans une foire aux questions (FAQ) chaque question fait partie d'un thème. L'objet QuestionsDeTheme permet de relier les objets Question et Thème à l'aide des références aux identificateurs questionid et themeid. Deuxièmement, des scripts SQL avec des contraintes d'intégrités entre les différents paramètres ont été créés pour ajouter des contraintes entre les objets (commande CONSTRAINT en SQL). Par exemple, dans le cas d'une FAQ (Foire Aux Questions), on précise une contrainte d'intégrité dans ThemeDeFAQ sur themeid pour la relation avec Theme, et sur faqid pour la relation avec FAQ. L'objet ThemeDeFAQ peut donc être créé seulement si les objets Theme et FAQ correspondants existent. CREATE TABLE FAQ( FAQID VARCHAR(255) NOT NULL PRIMARY KEY, NOMFAQ VARCHAR(250), CONSTRAINT CONST_FAQ_UNU UNIQUE(FAQID)) 10

11 CREATE TABLE THEME( THEMEID VARCHAR(255) NOT NULL PRIMARY KEY, NOMTHEME VARCHAR(250), CONSTRAINT CONST_THEME_UNU UNIQUE(THEMEID)) CREATE TABLE THEMEDEFAQ( THEMEDEFAQID VARCHAR(255) NOT NULL PRIMARY KEY,THEMEID VARCHAR(255), FAQID VARCHAR(255), CONSTRAINT CONST_THEMEDEFAQ1 FOREIGN KEY(THEMEID) REFERENCES THEME(THEMEID) ON DELETE CASCADE, CONSTRAINT CONST_THEMEDEFAQ2 FOREIGN KEY(FAQID) REFERENCES FAQ(FAQID) ON DELETE CASCADE ) Ces contraintes permettent aussi la suppression implicite des relations : par exemple, lorsque la FAQ est supprimée les éléments ayant une contrainte d'intégrité sur celle-ci sont également supprimés Persistance Comme nous l'avons dit plus haut, la persistance est gérée par le conteneur (environnement d'exécution des EJB). Cette abstraction supplémentaire nous permet de manipuler des objets persistants sans pour autant nous soucier de la mise en oeuvre. Le conteneur associe chaque entity bean avec une table dans la base de données. A chaque paramètre d'un objet est associé un champ dans la table. Par exemple, l'objet FAQ (avec les paramètres faqid et nomfaq) est représenté dans la base de données par une table "FAQ" avec deux champs : faqid et nomfaq. La manipulation des entity beans est donc implicitement celle des tables dans la base de données associées à ces objets. mybean.remove();//suppression de l'objet mais aussi, implicitement, de la ligne correspondante dans la table mybean.create();//création de l'objet ainsi que de la ligne associée dans la table de la base de données Les recherches d'objets sont réalisées de la même façon : le conteneur gère les requête SQL indiquées dans l'entity bean et rend les objets associés La génération des identificateurs La persistance, à l'aide d'une base de données, suppose une clé primaire dans chaque table. Dans certains cas, la clé primaire est contenue dans les données (champ insee de Ville : le code insee est unique pour chaque ville) mais dans d'autre cas, nous nous retrouvons avec des doublons si nous n'ajoutons pas une colonne supplémentaire faisant office de clé primaire. Ainsi, nous avons introduit une table d'identificateurs qui contient toutes les clés primaires artificielles et qui fait 11

12 office de compteur : lors d'un ajout d'une clé primaire, nous cherchons dans le champ le compteur de clé primaire associé à l'ejb, nous l'extrayons et l'incrémentons. L'entier extrait est préfixé par le sigle de l'ejb (par convention) et est utilisé comme clé primaire. Par exemple, pour ajouter une FAQ, nous allons chercher l'entier dans le champs FAQ de la table Identificateur, nous l'incrémentons puis l'utilisons comme clé primaire de la FAQ ainsi créée dans la table FAQ (La clé sera du type FAQ4587 si l'entier extrait est 4586) La génération des mots clés Si nous supposons que nous avons un portail de dimension honnête, il faut que nous puissions retrouver facilement des informations sur tel thème, ou telle personne. Nous avons introduit pour cela la notion de mots clés : lors de la création d'une question ou d'un thème dans la FAQ, d'une UE, d'une matière.., nous mémorisons les informations importantes sous forme de chaîne de caractères à l'aide d'un entity bean MotsCle. Les recherches sur le portail sont donc majoritairement des recherches sur le champ nom de la table MotCle. Nous retrouvons le contexte du mot clé à l'aide de l'identificateur motcleid dans les diverses tables intermédiaires telles que MotsClesDeQuestion, MotsCleDeNiveau, MotsCleDeUE... L'avantage de cette forme est sa facilité d'ajout de mots clés de nouvelles catégories. Nous pouvons ainsi aisément rajouter d'autres critères de recherches sans pour autant toucher à la structure existante La communication entre les objets Au sein du serveur, les EJB ne sont pas disponibles de la même façon : soit l'objet est local au conteneur, c'est à dire que seuls les autres objets du conteneur y ont accès. soit l'objet est disponible sur tout le serveur et le client, via des méthodes distantes (attribut remote). Chaque objet possède une ou deux interfaces permettant un accès local (et distant). Elles contiennent les méthodes de création, destruction et recherche. Ces interfaces sont donc sollicitées à chaque communication avec d'autres objets. Un client aura donc accès seulement aux méthodes des objets déclarés comme distants Le lien avec l'interface client Ce portail est construit selon l'architecture 3-tiers. Cela suggère sa division en plusieurs parties pour permettre un niveau d'abstraction plus élevé. Trois parties se distinguent : - La façade qui constitue l'interface Web permettant aux clients d'interagir avec le côté applicatif - La partie métier, composé du serveur d'ejb (partie applicative du projet) - La base de données qui correspond à la persistance des données. 12

13 Comme nous l'avons dit précédemment, la façade a accès aux méthodes métiers (méthodes des EJB) à l'aide d'interfaces distantes. Ces méthodes permettent d'échanger des informations, la plupart du temps de type chaîne de caractères. Mais, étant donné que chaque méthode peut rendre des informations multiples (ex: nom, prénom, adresse.. pour la méthode chercher personne), chaque entity bean possède une classe supplémentaire permettant d'encapsuler un ensemble d'informations. Ces classes sont suffixées par Data (ex: personnedata). Par exemple, l'échange d'adresses se fait à l'aide de la classe adressedata qui encapsule les données adresseid, rue, numéro, codeinsee. 3.2.Façade Notre projet étant un portail d'informations, il était nécessaire de développer des formulaires de saisie, ainsi qu'une interface WEB permettant aux clients d'interagir avec notre serveur d'application Struts Concernant les formulaires de saisie, notre choix initial était les formulaires JSP Struts et il a été retenu. Struts est un environnement de base (on parle aussi de squelette) qui induit un modèle de programmation robuste et qui offre une architecture et des outils pour le développement rapide de sites Web professionnels. L'étape suivante consistait à faire la liaison entre ces formulaires et le parseur XML, c'est à dire sauvegarder les informations rentrées via le formulaire dans des fichiers XML Rémanence XML L'un des premiers buts de notre projet est d'utiliser une rémanence2 en XML. Nous avons donc appris à utiliser les «parsers» ou «serialiseurs» XML qui permettent de récupérer des informations dans un Bean et de les sauvegarder dans un fichier XML. Notre choix s'est porté sur DOM4j. Celui-ci représente l'information sous forme d'arbre de type «dom4j.document». Nous créons un nœud «père» correspondant à l'identifiant de l'objet métier dont les «fils» correspondent aux attributs de cet objet. Ainsi en ajoutant ce nœud dans l'arbre obtenu par relecture du fichier XML précédemment créé, nous obtenons l'arbre complet représentant toutes les informations saisies jusqu'à présent. Ensuite nous créons sur le disque dur un fichier XML correspondant au modèle de document de DOM4j dans lequel nous écrivons notre arbre. 2 La rémanence est le temps que reste une donnée en mémoire après utilisation 13

14 UE3 SGM UE1 MFGL 40 UE2 35 REPR UE3 40 SGM 40 Cette rémanence nous a servi à «simuler» notre base de données lorsque nous développions la façade alors que les EJB étaient en cours de développement. Ainsi, le développement de la façade et des EJB étaient complètement indépendants, la façade travaillant sur des fichiers XML, et les EJB sur la vraie base de données. Biensûr, lorsque la liaison entre la façade et les EJB a été réalisée, notre rémanence XML a été remplacée par l'utilisation des fonctions de gestion de la base via les EJB (cela n'était de toute façon pas réaliste d'uiliser des fichiers XML car nous ne pouvions les protéger des problèmes d'accès concurrents entre utilisateurs différents). Néanmoins, nous avons conservé l'utilisation des fichiers XML pour les formulaires de recherche afin que l'ensemble des réponses trouvées dans la base de données soient centralisées dans un seul fichier permettant l'affichage des réponses par traitement XSLT XSLT Nous avons décidé d'utiliser un rendu HTML et PDF pour nos documents destinés aux visiteurs du portail. Nous avons donc utilisé les feuilles de style XSLT qui permettent d'obtenir ces rendus. Ces feuilles parcourent les fichiers XML générés au préalable à l'aide de DOM4j et récupèrent toutes les données afin de les représenter dans un tableau. Ainsi on peut afficher par exemple une personne recherchée mais aussi toutes les personnes présentes dans la formation. Ces feuilles de style sont propres à chaque objet car elles créent un tableau dont les colonnes sont les valeurs des attributs de chaque objet. 14

15 3.2.4.JSP Une page JSP est un texte mélangeant du HTML et du code JAVA, qui va être interprété par le navigateur Web du client comme une page HTML classique. Une page JSP est accompagnée sur le serveur Web d'une Servlet, qui est l'objet résultant de la compilation du code JAVA de la JSP. L'utilisation de pages JSP permet de créer des pages HTML dynamiques qui ont la possibilité de faire des appels aux EJB et d'afficher les champs et les données différemment en fonction de leurs réponses. Notre portail propose plusieurs possibilités à l'administrateur du site. Celui-ci peut rentrer des informations concernant les formations, les modifier ou bien les supprimer. De plus, les visiteurs ont la possibilité de consulter toutes ces informations et d'effectuer des recherches sur le portail. Nous avons donc dû modifier notre formulaire Struts afin qu'il permette de réaliser plusieurs actions par Bean (par exemple : Ajout/Modification/Supression). De même nous avons modifié nos formulaires JSP basiques de Struts afin de permettre ces actions aux utilisateurs, c'est à dire ajouté tous les boutons correspondants et toutes les actions appelées par ceux-ci dans nos classes Site internet Le site internet est la partie visible de l'application. Il permet aux visiteurs de s'informer sur les formations dispensées à l'université de Rennes1 (pour notre démonstration) et aux enseignants de renseigner leurs formations. Pour cela, le site se doit d'être clair, grâce à une esthétique simple, mais suffisamment plaisante pour ne pas rebuter lors de son utilisation. Pour construire le design de base, nous avons utilisé Dreamweaver, pour lequel quelques licences sont disponibles à l'ifsic. C'est un puissant outil d'édition de pages web. La technologie CSS (Cascading Style Sheets : feuilles de style en cascade) a été massivement employée. CSS est principalement utilisée pour définir les couleurs, les polices, le rendu, et d'autres caractéristiques d'un document, et a été créée pour effectuer la séparation entre la structure éditée en HTML, et la présentation (en CSS). Cette séparation fournit un certain nombre de bénéfices, permettant d'améliorer l'accessibilité, de changer plus facilement de structure et de présentation, et de réduire la complexité de l'architecture d'un site web. 15

16 Ainsi, les avantages des feuilles de style sont multiples : - La structure des pages et la présentation sont gérées dans des fichiers séparés. - La conception des pages se fait dans un premier temps sans se soucier de la présentation, ce qui permet d'être plus efficace. - La présentation est uniformisée : les pages HTML font référence à la même feuille de style. Cette caractéristique permet de plus une refonte plus rapide du design. De ce fait, le code HTML est considérablement réduit en taille et en complexité, puisqu'il ne contient plus de balise de présentation. Les CSS nous permettent donc d'obtenir un site plus homogène où toutes les informations de mise en page sont centralisées. Mais il a fallu pousser encore plus loin la dissociation de l'aspect graphique et du contenu. Il serait inutile de retrouver sur toutes les pages le code des différents menus, des images 'logo' etc d'autant plus qu'une modification obligerait à retoucher toutes ces pages. Il a donc été mis en place un système permettant l' inclusion de pages, grâce à la technologie JSP. C'est à dire qu'il n'existe qu'une seule page comportant l'aspect visuel du site (facilité de mise à jour) et dans laquelle se trouve une référence à une autre page (passée en paramètre) qui viendra s'inclure à l'intérieur de celle-ci, ces pages insérées étant principalement des formulaires ou des résultats de requêtes. 16

17 Formulaire Struts ou page de résultat, inséré dans la façade. La feulle de style est héritée. Fichier unique et commun à toutes les pages, comportant entre autre des balises <div> dans lesquels est inséré du code HTML, ainsi que des insertions en jsp d'informations relatives au formulaire à afficher. Formulaire.jsp Facade.jsp J2EE.css Fichier de rassemblement spécifique à chaque formulaire. Paramètres Feuille de style unique et commune à toutes les pages. Déclaration de mise en forme des balises <div> (emplacement, police, taille, couleur...) i_formulaire.jsp Liens.. Déroulement d'un appel à une page. 4. Tests Le test est une étape importante du développement d'un projet. Nous inspirant de la méthode extreme programming, nous avons, pour chaque scénario planifié, écrit un ensemble de tests de recette. Ces tests ont pour but de vérifier de manière automatique chacune des fonctionnalités demandée par le client. L'architecture de notre application nous apporte la possibilité de travailler en binômes selon un schéma horizontal : le développement des actions possibles se fait en couches. Les différents modules ont donc été développés en parallèle par les binômes et subissaient des tests unitaires élaborés avant le développement du nouveau «composant». L'intégration des différents modules a été progressive, nous avons pu avoir assez rapidement un rendu fonctionnel. En effet, dès lors qu'un EJB était fini et que son lien avec la façade était terminé, nous avions une «traversée», c'est à dire une de nos couches horizontales qui composent notre application. Mais l'intégration des modules nécessite de nouveaux tests que l'on appelle des tests de non régression c'est à dire la vérification que l'ajout du nouveau module ne diminue en rien le degré de qualité de l'application déjà existante. 17

18 4.1 Comment La pratique systématique des tests nous a permis de corriger nos erreurs de conception, de savoir si notre codage était correct et si nous obtenions bien ce que nous escomptions. Les tests se sont déroulés de la manière suivante : Déploiement de l application : Avant de pouvoir effectuer un test il fallait au préalable déployer notre application sur le serveur, ce déploiement générant lui-même parfois des erreurs. En cela nous pouvons considérer le déploiement comme un test à part entière. Le test : Une fois l'application déployée, il était possible de tester les méthodes, les classes, les EJBs, les pages JSP, les actions qu'elles appellent, bref ce que nous souhaitions tester. L'automatisation de la création de certains fichiers, comme par exemple dans le cas des EJB, permet d'accélérer les tests avec l'avancement du projet. En effet, certaines méthodes se retrouvent à l'identique dans différents modules. Une fois le modèle de base développé et sérieusement testé, nous avons gagné du temps dans le développement et le test des méthodes similaires. Nous avons donc appliqué le principe de base qu'on ne teste que ce qui peut casser. 4.2 L'intéret des tests Il est certain que l'architecture J2EE s'adapte très bien à la méthode de développement extreme Programming. Cela nous a offert l'avantage de faire évoluer le portail plus facilement sans pour autant devoir modifier l'existant. L'intégration continue des modules du projet ainsi que le rendu au reste de l'équipe permet, en plus d'une motivation certaine, de définir au plus proche et au plus urgent les besoins et les exigences finales de notre application. De plus les besoins définis régulièrement par le client permettent ainsi d'éviter une perte de temps en développant des modules qui s'égarent des souhaits émis par le client. Nous avons donc eu de nombreux avantages à automatiser les tests : Rapidité de détection et de correction des erreurs. Vision précise de ce qu'il y a à faire et qui permet d'aller droit au but. Fonctionnement globale du système très rapide. Ce que nous pouvons conclure sur l'évolution du projet c'est que progressivement le temps consacré au test a été réduit, ainsi nous avons passé plus de temps à développer plutôt qu'à chercher des «bugs». L'évolution du taux de réussite aux tests nous a permis de plus de constater l'évolution de la qualité de notre application. 18

19 5. Retrospective Ce projet est une expérience de travail de groupe. Il est donc intéressant de revenir sur notre organisation, et les difficultés qui ont été perçues. 5.1.Gestion du travail de groupe Un travail conséquent a été fourni pour atteindre l'objectif final, chacun étant des plus motivés. Pendant la phase de développement nous n'étions plus que treize, ce projet a donc été un important investissement personnel de la part de chacun. Une bonne communication au sein du groupe et une réelle motivation ont contribué à ce que l'ambiance de travail soit agréable. Ainsi chaque personne a permis l'avancement du projet, qui, pour nous, aura été une expérience très enrichissante Division du travail La division du travail n'a pas été faite dès les premières semaines du semestre, car au début il s'agissait de se lancer, de trouver l'accroche : «créer un EJB». Tout le monde s'y est mis, chacun de son côté ou par binômes. Notre encadrant constatant que nous avions des difficultés à nous lancer, nous a conseillé de scinder le groupe en deux : un groupe dit façade (partie serveur web et site internet) et un groupe dit EJB (partie serveur d'application et base de données). C'est à ce moment là que la machine s'est lancée. Dans chaque sous-groupe, des objectifs ont été fixés par binômes. Ainsi pendant plusieurs semaines chaque binôme a travaillé en autonomie et a fait avancer sa partie. Le rôle du mercredi après-midi a été d'effectuer ensemble les choix sur les futures orientations de notre travail, mais également de vérifier l'état d'avancement de chacun et de fixer de nouveaux objectifs. Chaque semaine, l'avancement du travail ainsi que les objectifs à atteindre pour la semaine suivante sont notés dans un cahier. Le planning qui suit synthétise donc l'ensemble des activités les plus signifiantes menées durant la phase de développement : Semaine Dates Ensemble des activités menées Semaine 02 du 10/01 au 16/01 Rôles définis : équipe CVS, équipe CMS, responsable documentation. Organisation en binômes. Notions introduites: Portlet et Portal (doc). Objectif : premier EJB Personne. Semaine 03 du 17/01 au 23/01 Itération de l'objectif de l'ejb Personne (tentative avec Jonas). Semaine 04 du 24/01 au 30/01 Toujours pas de modèle d'ejb. Division du groupe en deux sous-groupes : EJB et Façade. 19

20 Semaine Dates Ensemble des activités menées Semaine 05 du 31/01 au 06/02 Premier EJB qui marche (Personne). Création de formulaires de saisie. Création des feuilles de style (XSLT pour visualisation HTML et visualisation PDF). Objectifs: chapitre 8 du TUSC (lien entre Façade et EJB). Semaine 06 du 07/02 au 13/02 Présentation et tutoriel de l'ejb personne. Chapitre 8 fait. Développement intensif de tout cela. Semaine 07 du 14/02 au 20/02 Répartition de certains du groupe façade dans le groupe EJB. Idée : faire un EJB compteur pour la gestion des id. Le développement continu, le test aussi. Semaine 08 du 21/02 au 27/02 Vacances de Février Semaine 09 du 28/02 au 06/03 Modification du schéma UML. Confirmation de l'utilisation d'un EJB qui détermine l'id(choix du nom). Et on développe toujours... Semaine 10 du 07/03 au 13/03 Premier plan du rapport. Nouvelle modification du schéma UML. Objectifs : - Finir les EJB, pour avoir une base stable pour avancer du côté façade. - Élaboration d'une traversée complète sur Personne avec un formulaire de saisie «embelli» et une première idée de mise en forme. Semaine 11 du 14/03 au 20/03 Confirmation du plan établi, répartition des différentes parties du rapport dans tout le groupe. Définition de l aspect visuel du site et de la forme. Semaine 12 du 21/03 au 27/03 Présentation du travail pour la gestion des personnes qui ont différents droits d'accès sur le site. Modification du schéma UML. Le développement ne cesse d'évoluer (le test aussi). Semaine 13 du 28/03 au 03/04 Choix de ceux qui feront la présentation orale. Tests de tous les formulaires de saisie. Évolution du rapport, avec nouvelle répartition du travail pour celui-ci. Finalisation des EJB et tests intensifs de ceux terminés. Évolution du travail du groupe façade. Semaine 14 du 04/04 au 10/04 Présentation du travail du groupe façade (tutoriel). Présentation des pages créées du site. Semaine 15 du 11/04 au 17/04 Première version du rapport. Répartition pour la présentation orale. Définition de ce qui reste à faire, et nouvelle répartition des groupes. 20

Serveur d'archivage 2007 Planning réel du projet serveur d'archivage

Serveur d'archivage 2007 Planning réel du projet serveur d'archivage Type du document Auteur(s) Planning Danielle Drillon Date de création 20/02/2007 Domaine de diffusion Validé par Interne Équipe Versions Auteur(s) Modifications 1.0 Danielle Drillon Création 1.1 Danielle

Plus en détail

Positionnement de UP

Positionnement de UP UNIFIED PROCESS Positionnement de UP Unified Process Langage Méthode Outil logiciel UML UP RUP 6 BONNES PRATIQUES développement itératif gestion des exigences architecture basée sur des composants modélisation

Plus en détail

Chapitre 4 Les Servlets. 1. Qu'est-ce qu'une Servlet? 1.1 Présentation. 1.2 Requêtes HTTP

Chapitre 4 Les Servlets. 1. Qu'est-ce qu'une Servlet? 1.1 Présentation. 1.2 Requêtes HTTP 210 Les Servlets 1. Qu'est-ce qu'une Servlet? 1.1 Présentation Les Servlets sont la base de la programmation Java EE. La conception d'un site Web dynamique en Java repose sur ces éléments. Une Servlet

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

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

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

Plus en détail

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

Présentation du projet:

Présentation du projet: : Le but du projet est de réaliser le fonctionnement d'un jeu d échec valide. Plus spécifiquement, il consiste à implémenter l'organisation générale du jeu, et le suivi des règles du mouvement des pièces.

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

CINEMATIQUE DE FICHIERS

CINEMATIQUE DE FICHIERS ANDRE ANTHONY BRUNEAU Vincent JOUANNIN ROMAIN MAZEAUD MARINE RIOCHET Tony Groupe 609 CINEMATIQUE DE FICHIERS Mini-projet: Gestion de Ventes d'articles Enseignant: MONCEAUX Laura Année 2011 / 2012 TABLE

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

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

SIO-21922 Bases de données

SIO-21922 Bases de données 1- Objectifs généraux Concentration mineure: Réalisation de systèmes d'information SIO-21922 Bases de données Prof. : Dzenan Ridjanovic acquérir les principes et concepts fondamentaux dans le domaine des

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

Exemple de projet. «Gestion de contacts»

Exemple de projet. «Gestion de contacts» Université Paul Valéry Montpellier 3 Antenne universitaire de Béziers L3 AES parcours MISASHS ECUE «Logiciels spécialisés» Exemple de projet «Gestion de contacts» G. Richomme Table des matières 1. Introduction...

Plus en détail

SOMMAIRE. I. Introduction 02. II. Glossaire 03 a. Glossaire technique 03 b. Glossaire fonctionnel 04

SOMMAIRE. I. Introduction 02. II. Glossaire 03 a. Glossaire technique 03 b. Glossaire fonctionnel 04 SOMMAIRE I. Introduction 02 II. Glossaire 03 a. Glossaire technique 03 b. Glossaire fonctionnel 04 III. Présentation de l'association 05 a. Présentation juridique et géographique 05 b. Présentation de

Plus en détail

Scub Foundation. Socle technique Java Open Source http://www.scub-foundation.org

Scub Foundation. Socle technique Java Open Source http://www.scub-foundation.org Scub Foundation Socle technique Java Open Source http://www.scub-foundation.org Présentation de Scub Présentation de Scub Scub est une société de service en informatique qui a pour but de fournir du conseil

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

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

Génération de codes. à partir d un modèle UML sous PowerAMC. La génération de code, ça n est pas immédiat : processus en 3 étapes

Génération de codes. à partir d un modèle UML sous PowerAMC. La génération de code, ça n est pas immédiat : processus en 3 étapes Génération de codes à partir d un modèle UML sous PowerAMC Véronique Deslandres, IUT, Département Informatique Université de Lyon MàJ: 8/10/2013 Introduction La génération de code, ça n est pas immédiat

Plus en détail

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL Prise en main de NVU et Notepad++ (conception d application web avec PHP et MySql) Propriétés Intitulé long Formation concernée Matière Présentation Description Conception de pages web dynamiques à l aide

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

INF2015 Développement de logiciels dans un environnement Agile. Examen final 24 avril 2014 17:30 à 20:30

INF2015 Développement de logiciels dans un environnement Agile. Examen final 24 avril 2014 17:30 à 20:30 Examen final 24 avril 2014 17:30 à 20:30 Nom, prénom : Code permanent : Répondez directement sur le questionnaire. Question #1 5% Qu'est-ce qu'un test de régression? Question #2 5% Selon extreme Programming,

Plus en détail

Examen final LOG3000 Hiver 2014

Examen final LOG3000 Hiver 2014 Examen final LOG3000 Hiver 2014 Lundi le 28 avril 2014. Durée : 13h30 à 16h00 (total 2h30). Local : A-532. Total des points : 20. Pondération de l'examen dans la note finale : 40%. Sans documentation.

Plus en détail

Fonctionnement du serveur Z39.50

Fonctionnement du serveur Z39.50 Fonctionnement du serveur Z39.50 Table des matières 1 Configuration du serveur...2 1.1 Comportement du serveur...2 1.2 Configuration de la traduction z39.50 -> base de données...2 1.3 Configuration du

Plus en détail

Mode d'emploi Application Présences Planification des évènements

Mode d'emploi Application Présences Planification des évènements Mode d'emploi Application Présences Planification des évènements 21 avril 2005 Page 1 / 31 2005 / Guillaume Fort Sommaire 1. Description du concept...3 2. Démarrage de l'application...4 3. Philosophie

Plus en détail

BTS SIO. Session 2013 2015

BTS SIO. Session 2013 2015 BTS SIO Services Informatiques aux Organisations Session 2013 2015 Collé Maxime Année 2013-2014 Option : SLAM Activité professionnelle N 1 NATURE DE L'ACTIVITE : DÉVELOPPEMENT DE L APPLICATION WEB «GESTION

Plus en détail

Applications Web dynamiques SIO-21970

Applications Web dynamiques SIO-21970 Faculté des sciences de l'administration Systèmes d'information organisationnels Université Laval Automne 2003 Applications Web dynamiques SIO-21970 Professeur: Dzenan Ridjanovic Bureau: 2519 Téléphone:

Plus en détail

Le farming dans DokuWiki, intérêt et mise en œuvre

Le farming dans DokuWiki, intérêt et mise en œuvre Le farming dans DokuWiki, intérêt et mise en œuvre Etienne MELEARD Comité Réseau des Universités Université de Rennes 1, Campus Beaulieu 35042 Rennes Cedex Résumé DokuWiki est une plateforme de Wiki souple

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

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e : CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i

Plus en détail

Rapport d'audit. «Librairie Informatique»

Rapport d'audit. «Librairie Informatique» GL51 Rapport d'audit «Librairie Informatique» Code : BATSPETA-000 Maîtrise d'oeuvre Maîtrise d'ouvrage Responsables de l'audit M. Fischer M. Petrequin Melle Bats, M. Petazzoni Date rédaction : 05/01/04

Plus en détail

Le stockage local de données en HTML5

Le stockage local de données en HTML5 Le stockage local HTML5, pourquoi faire? Dans une optique de réduction des couts de maintenance, de déploiement, beaucoup d'entreprises ont fait le choix de migrer leurs applicatifs (comptables, commerciales,

Plus en détail

Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base)

Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base) Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base) 1. Généralités sur l'information et sur sa Représentation 1.1 Informations et données : a. Au sen de la vie : C

Plus en détail

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information. PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue

Plus en détail

Gestion du service des enseignements Analyse détaillée. Gestion du service des enseignements. Ce document est la propriété exclusive du groupe GSE

Gestion du service des enseignements Analyse détaillée. Gestion du service des enseignements. Ce document est la propriété exclusive du groupe GSE 1 sur 54 Projet Émetteur du Document Groupe GSE Destinataire du Document J.L. Massat Titre Nom Du Fichier O_Analyse_Detaillee_v2.1.pdf Version v2.1 Historique Des Versions Version Date Création Date Validation

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

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Livre blanc Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Présentation Ce document examine la prise en charge de la programmabilité sur l'infrastructure axée

Plus en détail

PLAN QUALITÉ élaboré par OSIRIS pour Frédéric Migeon

PLAN QUALITÉ élaboré par OSIRIS pour Frédéric Migeon PLAN QUALITÉ élaboré par OSIRIS pour Frédéric Migeon EXTENSION DU PLUGIN DE «RE-JEU» POUR JAVACT SOUS ECLIPSE Dans le cadre du module de Travail d'étude et de Recherche, master Informatique 1 ère année,

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

Créer le modèle multidimensionnel

Créer le modèle multidimensionnel 231 Chapitre 6 Créer le modèle multidimensionnel 1. Présentation de SSAS multidimensionnel Créer le modèle multidimensionnel SSAS (SQL Server Analysis Services) multidimensionnel est un serveur de bases

Plus en détail

Documentation de CMS-gen

Documentation de CMS-gen Table des matières GÉNÉRALITÉ... 1 LA ZONE D'ADMINISTRATION... 2 LOGIN SUR LA ZONE D ADMINISTRATION... 2 EDITION DU CONTENU EN LIGNE... 3 LE MODE EDITION... 3 PUBLICATION... 3 SUPPRIMER DES MODIFICATIONS...

Plus en détail

Concepteur Développeur Informatique Option Nomade

Concepteur Développeur Informatique Option Nomade Concepteur Développeur Informatique Option Nomade Module : Espace ouvert de formation (2 semaines) Ce module est composée de plusieurs parties : - le module développement durable (14 heures), qui traite

Plus en détail

Conseil, Etudes et Edition de logiciels NORMES & CONVENTIONS DE DEVELOPPEMENT JAVA ET SQL

Conseil, Etudes et Edition de logiciels NORMES & CONVENTIONS DE DEVELOPPEMENT JAVA ET SQL Conseil, Etudes et Edition de logiciels NORMES & CONVENTIONS DE DEVELOPPEMENT JAVA ET SQL Table des matières Système d'exploitation... 3 Environnement de développement intégré... 3 Le workspace... 3 Le

Plus en détail

Spécification fonctionnelle Syllabus

Spécification fonctionnelle Syllabus 2013 2014 Université Paris Diderot Paris 7 Master 1 Informatique UFR Informatique Olden Fabre, Cynthia Thimon, Jakub Kaluza, Jean Desravines, Oliver Hamm Spécification fonctionnelle Syllabus -1- TABLE

Plus en détail

Introduction aux concepts d ez Publish

Introduction aux concepts d ez Publish Introduction aux concepts d ez Publish Tutoriel rédigé par Bergfrid Skaara. Traduit de l Anglais par Benjamin Lemoine Mercredi 30 Janvier 2008 Sommaire Concepts d ez Publish... 3 Système de Gestion de

Plus en détail

ERP5. Gestion des Services Techniques des Collectivités Locales

ERP5. Gestion des Services Techniques des Collectivités Locales Gestion des Services Techniques des Collectivités Locales Cte 1 2 P 3 s tio T 4 m ilg h trc c n p.o 5 re u fe ro a le tio c M S tw u aa c e O 2 Relation Citoyen Interventions Patrimoine Core Ressources

Plus en détail

Médiapôle de Guyancourt Lycée de Villaroy 2 rue Eugène Viollet Le Duc BP31 78041 GUYANCOURT Cedex Tel : 01 30 48 91 88 / Fax : 01 30 57 49 70

Médiapôle de Guyancourt Lycée de Villaroy 2 rue Eugène Viollet Le Duc BP31 78041 GUYANCOURT Cedex Tel : 01 30 48 91 88 / Fax : 01 30 57 49 70 Utilisateurs et Groupes Stage personnes ressources réseau en établissement janvier 2005 Formateurs : Jackie DAÖN Médiapôle de Guyancourt Lycée de Villaroy 2 rue Eugène Viollet Le Duc BP31 78041 GUYANCOURT

Plus en détail

BTS Services Informatiques. Rapport de stage. Création d'une application web

BTS Services Informatiques. Rapport de stage. Création d'une application web Penin Kevin Lycée Suzanne Valadon Académie de Limoges BTS Services Informatiques aux Organisations Option SLAM Rapport de stage Création d'une application web Stage effectué à l'hôtel de Police de Limoges

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

Dossier de Conception Système

Dossier de Conception Système Dossier de Conception Systeme FullMANGA Document Dossier de Conception Système Version 1.2 Commencé le 30 novembre 2006 Dernière modification 4 décembre 2006 Statut Finale Client Enseignants du M2P GI

Plus en détail

Active Directory Sommaire :

Active Directory Sommaire : Active Directory Sommaire : Définition Ce qu'il permet A quoi sert-il? Principe de fonctionnement Structure Hiérarchie Schéma Qu'est ce qu'un service d'annuaire? Qu'elle est son intérêt? L'installation

Plus en détail

Brique BDL Gestion de Projet Logiciel

Brique BDL Gestion de Projet Logiciel Brique BDL Gestion de Projet Logiciel Processus de développement pratiqué à l'enst Sylvie.Vignes@enst.fr url:http://www.infres.enst.fr/~vignes/bdl Poly: Computer elective project F.Gasperoni Brique BDL

Plus en détail

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 Tsoft et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 OEM Console Java OEM Console HTTP OEM Database Control Oracle Net Manager 6 Module 6 : Oracle Enterprise Manager Objectifs Contenu A la fin de ce module,

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

Dossier de conception M2M : Pointeuse NFC

Dossier de conception M2M : Pointeuse NFC CHABOT Martial PLUNET Arthur Dossier de conception M2M : Pointeuse NFC 1/11 Table des matières Introduction...3 Objectif du projet...3 Scenarii exploré avec le SI...4 Manuel d'utilisateur :...6 Manuel

Plus en détail

Projets Logiciels: Processus de développement pratiqué à TELECOM ParisTech

Projets Logiciels: Processus de développement pratiqué à TELECOM ParisTech Projets Logiciels: Processus de développement pratiqué à TELECOM ParisTech INF380-2013! Sylvie.Vignes@telecomParistech.fr Département INFRES, groupe S3 Cadre du processus 2! q Basé sur un processus incrémental:

Plus en détail

Programmation Avancée pour le Web

Programmation Avancée pour le Web L3 Informatique Option : ISIL Programmation Avancée pour le Web RAMDANI Med U Bouira 1 Contenu du module Introduction aux applications Web Rappels sur les sites Web Conception d une application Web Notion

Plus en détail

Formation des enseignants universitaires à la conception d'un cours en ligne sur une plateforme d'enseignement à distance

Formation des enseignants universitaires à la conception d'un cours en ligne sur une plateforme d'enseignement à distance Formation des enseignants universitaires à la conception d'un cours en ligne sur une plateforme d'enseignement à distance PARTIE2 : PRATIQUE Implémentation d'un cours en ligne sur une plateforme d'enseignement

Plus en détail

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE 2 Grad Info Soir Langage C++ Juin 2007 Projet BANQUE 1. Explications L'examen comprend un projet à réaliser à domicile et à documenter : - structure des données, - objets utilisés, - relations de dépendance

Plus en détail

Réalisation d une plateforme Web de certification de documents XML

Réalisation d une plateforme Web de certification de documents XML Rémi Godard Vivian Perez Florian Pérugini Bertrand Vitrant Professeur responsable du projet : Mr Fabrice LEFEVRE Rapport de projet Réalisation d une plateforme Web de certification de documents XML Université

Plus en détail

L INFORMATION GEOGRAPHIQUE

L INFORMATION GEOGRAPHIQUE Champs sur Marne ENSG/CERSIG Le 19-nove.-02 L INFORMATION GEOGRAPHIQUE Archivage Le Système d information géographique rassemble de l information afin de permettre son utilisation dans des applications

Plus en détail

SQL pour. Oracle 10g. Razvan Bizoï. Tsoft, Groupe Eyrolles, 2006, ISBN : 2-212-12055-9, ISBN 13 : 978-2-212-12055-4

SQL pour. Oracle 10g. Razvan Bizoï. Tsoft, Groupe Eyrolles, 2006, ISBN : 2-212-12055-9, ISBN 13 : 978-2-212-12055-4 SQL pour Oracle 10g Razvan Bizoï Tsoft, Groupe Eyrolles, 2006, ISBN : 2-212-12055-9, ISBN 13 : 978-2-212-12055-4 Ce guide de formation a pour but de vous permettre d'acquérir une bonne connaissance du

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

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

Description et illustration du processus unifié

Description et illustration du processus unifié USDP Description et illustration du processus unifié Définit un enchaînement d activités Est réalisé par un ensemble de travailleurs Avec des rôles, des métiers Avec pour objectifs de passer des besoins

Plus en détail

WINDOWS SERVER 2003 ADMINISTRATION A DISTANCE

WINDOWS SERVER 2003 ADMINISTRATION A DISTANCE 1. Introduction WINDOWS SERVER 2003 ADMINISTRATION A DISTANCE En règle générale, les administrateurs ne travaillent pas en salle serveurs. Et cette dernière peut se trouver n'importe où dans le bâtiment.

Plus en détail

Cours 10701A - Configuration et gestion de Microsoft SharePoint 2010

Cours 10701A - Configuration et gestion de Microsoft SharePoint 2010 Cours 10701A - Configuration et gestion de Microsoft SharePoint 2010 INTRODUCTION Ce cours apprend aux stagiaires comment installer, configurer et administrer SharePoint, ainsi que gérer et surveiller

Plus en détail

Stratégie de groupe dans Active Directory

Stratégie de groupe dans Active Directory Stratégie de groupe dans Active Directory 16 novembre 2012 Dans ce document vous trouverez des informations fondamentales sur les fonctionnements de Active Directory, et de ses fonctionnalités, peut être

Plus en détail

La Gestion Électronique des Documents avec Open ERP

La Gestion Électronique des Documents avec Open ERP La Gestion Électronique des Documents avec Open ERP La Gestion Électronique des Documents avec Open ERP V e r s i o n d u d o c u m e n t V1.0 Introduction...4 I Installer la GED dans Open ERP...5 1 Les

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

Découverte d'activiti et comparaison avec Bonita

Découverte d'activiti et comparaison avec Bonita Découverte d'activiti et comparaison avec Bonita STARXPERT - Siège social : 100 rue des Fougères 69009 LYON SAS au capital de 40 000 - Siret : 449 436 732 00035 - NAF : 723Z Table des matières 1 Introduction...3

Plus en détail

Business Intelligence avec SQL Server 2012

Business Intelligence avec SQL Server 2012 Editions ENI Business Intelligence avec SQL Server 2012 Maîtrisez les concepts et réalisez un système décisionnel Collection Solutions Informatiques Table des matières Les éléments à télécharger sont disponibles

Plus en détail

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 MDA : Un Tutoriel Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 1 Sommaire Table des matières 1 Sommaire 1 2 Introduction 2 2.1 A qui s adresse ce tutoriel......................

Plus en détail

Document d'aide phpmyadmin et MySQL

Document d'aide phpmyadmin et MySQL Document d'aide phpmyadmin et MySQL GPA775 Base de données École de Technologie Supérieure 23 juin 2009 Ce document sert de guide de base pour travailler avec l'interface phpmyadmin (interface par un navigateur

Plus en détail

Projet Master 1ere année Sujet n 13 :

Projet Master 1ere année Sujet n 13 : BANON Daniel CAPON François CARRERE Jean-Charles IUP Avignon Master 1 TAIM Projet Master 1ere année Sujet n 13 : Interactions audio sur le site web du LIA A l attention de messieurs Nocéra, Favre et Larcher

Plus en détail

Business Intelligence avec SQL Server 2012

Business Intelligence avec SQL Server 2012 Editions ENI Business Intelligence avec SQL Server 2012 Maîtrisez les concepts et réalisez un système décisionnel Collection Solutions Informatiques Extrait Alimenter l'entrepôt de données avec SSIS Business

Plus en détail

Un serveur d'archivage

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

Plus en détail

Système de base de données

Système de base de données Système de base de données 1. INTRODUCTION Un système de base de données est un système informatique dont le but est de maintenir les informations et de les rendre disponibles à la demande. Les informations

Plus en détail

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

SIO-65291 Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault SIO-65291 Page 1 de 5 1- Objectifs généraux Applications Web dynamiques Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault acquérir les principes et concepts fondamentaux dans le domaine d'applications

Plus en détail

I généralités 3. II les fichiers de ressources 3. III exemple d utilisation de fichiers de ressources 7

I généralités 3. II les fichiers de ressources 3. III exemple d utilisation de fichiers de ressources 7 Les fichiers de ressources sous Visual Basic 5.0 I généralités 3 a) Fichiers de ressources et Ressources de chaîne 3 b) Modèle d'adaptation 3 c) Avantages liés à la conception d'un logiciel multilingue

Plus en détail

Analyse et conception des Systèmes d Information. La démarche Merise : La Production Logicielle

Analyse et conception des Systèmes d Information. La démarche Merise : La Production Logicielle Analyse et conception des Systèmes d Information La démarche Merise : La Production Logicielle La production du logiciel Place, objectifs et principes directeurs Christophe.Nicolle@u-bourgogne.fr Introduction

Plus en détail

Microsoft Application Center Test

Microsoft Application Center Test Microsoft Application Center Test L'outil de Test de performance des Sites Web Avec Visual Studio.NET, il est fourni une petite application qui permet de valider la performance de son site Internet ou

Plus en détail

INTRODUCTION GENERALE...1 LA CONNEXION ODBC :...1. CONNEXION AU TRAVERS D EXCEL(tm)...6. LOGICIEL QUANTUM GIS (Qgis)... 10

INTRODUCTION GENERALE...1 LA CONNEXION ODBC :...1. CONNEXION AU TRAVERS D EXCEL(tm)...6. LOGICIEL QUANTUM GIS (Qgis)... 10 PROGRAMME RÉGIONAL DE RENFORCEMENT DE LA COLLECTE DES DONNÉES STATISTIQUES DES PECHES DANS LES ÉTATS MEMBRES ET DE CREATION D UNE BASE DE DONNÉES REGIONALE Manuel de formation TABLE DES MATIERES INTRODUCTION

Plus en détail

Revue scientifique en ligne

Revue scientifique en ligne Revue scientifique en ligne Projet NTIC Cyril Nghiem Semestre de printemps 2014 Travail supervisé par Messieurs Luka Nerima et Asheesh Gulati Tables des matières Contenu Introduction... 2 Diagramme UML

Plus en détail

REFERENTIEL EMPLOI ACTIVITES COMPETENCES DU TITRE PROFESSIONNEL. Concepteur(trice) Développeur(se) Informatique. Niveau II

REFERENTIEL EMPLOI ACTIVITES COMPETENCES DU TITRE PROFESSIONNEL. Concepteur(trice) Développeur(se) Informatique. Niveau II REFERENTIEL EMPLOI ACTIVITES COMPETENCES DU TITRE PROFESSIONNEL Concepteur(trice) Développeur(se) Informatique Niveau II Site : http://www.emploi.gouv.fr SOMMAIRE Pages Présentation de l évolution du

Plus en détail

Desktop Manager 2.8 Guide de mise à jour. Janvier 2014

Desktop Manager 2.8 Guide de mise à jour. Janvier 2014 Desktop Manager 2.8 Guide de mise à jour Janvier 2014 Ce document d'aide présente une méthodologie pour migrer d'une ancienne version de Desktop Manager vers la nouvelle version 2.8. Elle comporte deux

Plus en détail

Mémo d'utilisation de BD Dico1.6

Mémo d'utilisation de BD Dico1.6 Mémo d'utilisation de BD Dico1.6 L'application BDDico a été développée par la Section Cadastre et Géomatique de la RCJU. Son utilisation demeure réservée aux personnes autorisées. Les demandes d'utilisation

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

PROGRAMME «CONCEPTEUR DÉVELOPPEUR INFORMATIQUE»

PROGRAMME «CONCEPTEUR DÉVELOPPEUR INFORMATIQUE» PROGRAMME «CONCEPTEUR DÉVELOPPEUR INFORMATIQUE» Titre professionnel : «Concepteur Développeur Informatique» Inscrit au RNCP de Niveau II (Bac + 4) (JO du 23 octobre 2007) (38 semaines) Unité de formation

Plus en détail

Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009

Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009 Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009 «Web. De l intégration de pages statiques HTML à un CMS, à la dynamisation d un site grâce au Javascript et l utilisation de nouvelles technologies

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

VisualAge Pacbase 3.0 et WebSphere

VisualAge Pacbase 3.0 et WebSphere VisualAge Pacbase 3.0 et WebSphere Conférence VisualAge Pacbase 13 décembre 2001 Fernand Bonaguidi Jean-François Lévi 1 La plateforme logicielle WebSphere Applications de s et de Partenaires Accélérateurs

Plus en détail

Infrastructure - Gestion des réseaux. Document FAQ. Infrastructure - Gestion des réseaux. Page: 1 / 12 Dernière mise à jour: 16/04/14 15:48

Infrastructure - Gestion des réseaux. Document FAQ. Infrastructure - Gestion des réseaux. Page: 1 / 12 Dernière mise à jour: 16/04/14 15:48 Document FAQ Infrastructure - Gestion des réseaux EXP Page: 1 / 12 Table des matières Détails de la fonctionnalité... 3 I.Généralités... 3 II.Réseaux... 3 III.Édition d'un réseau... 4 IV.Visualisation

Plus en détail

Catalogue Augmenté. Projet : Interfaces Multimodales

Catalogue Augmenté. Projet : Interfaces Multimodales Catalogue Augmenté Projet : Interfaces Multimodales Réalisé par Nicolas Martenet Patrick Terreaux Timothée Maret Semestre d'été 2006 Table des matières 1 Introduction... 3 2 Principe...3 2.1 Principe Global...

Plus en détail

Table des matières. Historique... 2. Droits d'auteurs et de reproductions... 3

Table des matières. Historique... 2. Droits d'auteurs et de reproductions... 3 Table des matières Historique... 2 Droits d'auteurs et de reproductions... 3 Introduction... 4 Objectifs du document... 4 Portée du produit/document... 4 Définitions... 5 Document de références... 5 Aperçu

Plus en détail

3. ÉPREUVES. Épreuve E4 : Communication et relations avec les acteurs internes et externes

3. ÉPREUVES. Épreuve E4 : Communication et relations avec les acteurs internes et externes 3. ÉPREUVES À l issue des épreuves orales, aussi bien en CCF qu'en forme ponctuelle, les s ne donnent aucune indication sur la valeur de la prestation du candidat. La note proposée n'est pas communiquée

Plus en détail

Langage HTML (2 partie) lt La Salle Avignon BTS IRIS

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

Rapport Gestion de projet

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

Plus en détail

Windows Server 2008. Chapitre 3 : Le service d annuaire Active Directory: Concepts de base

Windows Server 2008. Chapitre 3 : Le service d annuaire Active Directory: Concepts de base Windows Server 2008 Chapitre 3 : Le service d annuaire Active Directory: Concepts de base omar.cheikhrouhou@isetsf.rnu.tn omar.cheikhrouhou@ceslab.org Objectives Comprendre les concepts de base d Active

Plus en détail

Processus Unifié de développement de logiciel

Processus Unifié de développement de logiciel Processus Unifié de développement de logiciel Plan 1. SUP : une simplification de RUP 2. Les éléments de modélisation de SUP 3. Description de la dynamique de SUP 4. SUP sur une étude de cas 2 SUP : une

Plus en détail