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

Contexte PPE GSB CR. Analyse. Projet réalisé :

Contexte PPE GSB CR. Analyse. Projet réalisé : Contexte PPE GSB CR Le laboratoire est issu de la fusion entre le géant américain Galaxy et le conglomérat Swiss Bourdin. Cette fusion a eu pour but de moderniser l activité de visite médicale et de réaliser

Plus en détail

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

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

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

Plus en détail

Rapport individuel Génie logiciel

Rapport individuel Génie logiciel 2012 Rapport individuel Génie logiciel Dans ce rapport sera présenté l ensemble des activités effectuées au cours du projet de création de site de covoiturage «Etucovoiturage» (http://etucovoiturage.free.fr)

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

Développement itératif, évolutif et agile

Développement itératif, évolutif et agile Document Développement itératif, évolutif et agile Auteur Nicoleta SERGI Version 1.0 Date de sortie 23/11/2007 1. Processus Unifié Développement itératif, évolutif et agile Contrairement au cycle de vie

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

Gestion multi-stocks

Gestion multi-stocks Gestion multi-stocks Dans l architecture initiale du logiciel IDH-STOCK, 11 champs obligatoires sont constitués. Ces champs ne peuvent être supprimés. Ils constituent l ossature de base de la base de données

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

Système Expert pour Smartphones

Système Expert pour Smartphones INSA Rennes Département INFORMATIQUE Système Expert pour Smartphones Rapport de Planification Olivier Corridor;Romain Boillon;Quentin Decré;Vincent Le Biannic;Germain Lemasson;Nicolas Renaud;Fanny Tollec

Plus en détail

Système Expert pour Smartphones

Système Expert pour Smartphones INSA Rennes Département INFORMATIQUE Système Expert pour Smartphones Rapport de bilan de Planification Olivier Corridor;Romain Boillon;Quentin Decré;Vincent Le Biannic;Germain Lemasson;Nicolas Renaud;Fanny

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

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

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES BASE DE DONNEES La plupart des entreprises possèdent des bases de données informatiques contenant des informations essentielles à leur fonctionnement. Ces informations concernent ses clients, ses produits,

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

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

RAPPORT DE CONCEPTION UML :

RAPPORT DE CONCEPTION UML : Carlo Abi Chahine Sylvain Archenault Yves Houpert Martine Wang RAPPORT DE CONCEPTION UML : Bamboo Ch@t Projet GM4 Juin 2006 Table des matières 1 Introduction 2 2 Présentation du logiciel 3 2.1 Précisions

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

Plateforme de capture et d analyse de sites Web AspirWeb

Plateforme de capture et d analyse de sites Web AspirWeb Projet Java ESIAL 2A 2009-2010 Plateforme de capture et d analyse de sites Web AspirWeb 1. Contexte Ce projet de deuxième année permet d approfondir par la pratique les méthodes et techniques acquises

Plus en détail

Génie logiciel avancé

Génie logiciel avancé Université Paris-Sud L3 MIAGE apprentissage Année 2014-2015 Génie logiciel avancé Analyse des besoins et spécification Delphine Longuet delphine.longuet@lri.fr Analyse des besoins et spécification Objectif

Plus en détail

L approche Bases de données

L approche Bases de données L approche Bases de données Cours: BD. Avancées Année: 2005/2006 Par: Dr B. Belattar (Univ. Batna Algérie) I- : Mise à niveau 1 Cours: BDD. Année: 2013/2014 Ens. S. MEDILEH (Univ. El-Oued) L approche Base

Plus en détail

Lauro Kevin Lopes-Vicente Vincent Wallner Jean

Lauro Kevin Lopes-Vicente Vincent Wallner Jean Table des matières I- Étude préalable... 2 1) Description approfondie du sujet... 2 2) Étude et comparaison à l'existant... 2 a) Easyfoyou.fr... 2 b) Stockiteasy.fr... 3 c) CalusPlus... 3 3) Contraintes

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

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

LES COURS ONLINE. ar des étudiants our des étudiants. Olden Fabre, Cynthia Thimon, Jakub Kaluza, Jean Desravines, Oliver Hamm

LES COURS ONLINE. ar des étudiants our des étudiants. Olden Fabre, Cynthia Thimon, Jakub Kaluza, Jean Desravines, Oliver Hamm LES COURS ONLINE P ar des étudiants our des étudiants Olden Fabre, Cynthia Thimon, Jakub Kaluza, Jean Desravines, Oliver Hamm CAHIER DES CHARGES I - Préface...4 II - Introduction...5 III - Glossaire...6

Plus en détail

Livret du Stagiaire en Informatique

Livret du Stagiaire en Informatique Université François-Rabelais de Tours Campus de Blois UFR Sciences et Techniques Département Informatique Livret du Stagiaire en Informatique Licence 3ème année Master 2ème année Année 2006-2007 Responsable

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

GED MARKETING. Page 1 sur 18

GED MARKETING. Page 1 sur 18 GED MARKETING I. Présentation du produit... 2 II. Page principale de l application... 3 L arbre... 3 Le menu... 4 La fenêtre de navigation... 4 III. La recherche de documents... 4 Rechercher tous les documents...

Plus en détail

Rapport de gestion de projet

Rapport de gestion de projet Rapport de gestion de projet Affectation des projets de programmation aux étudiants Université Montpellier II Licence 3 Lamant Adrien, Rogery Arthur, Maher Ishak April 2015 1 Membres de l équipe de développement

Plus en détail

Document d évaluation système

Document d évaluation système CODAZZI Rama DAMOTTE Alan GUI Kai HAMMERER Jérémy TORCK Quentin RICM5 Document d évaluation système Groupe 2 Site de vente de stickers personnalisés My Stick It ETAT DE CHAQUE COMPOSANT : NON REALISE,

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

Gestion des documents associés

Gestion des documents associés Gestion des documents associés Gestion des documents associés 1 Introduction 1.1 1.2 Introduction 4 Principe des deux modes de gestion des documents 5 2 Les pièces jointes ArcGIS 2.1 2.2 2.3 2.4 2.5 2.6

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

(Document de 14 pages) Fabrice Douchant Xuan-Tuong Le. Nicolas Gibelin Lom Messan Hillah

(Document de 14 pages) Fabrice Douchant Xuan-Tuong Le. Nicolas Gibelin Lom Messan Hillah Master Informatique 2ème Année SAR Année 2007-2008 RAPPORT FINAL Livrable # 3 (Document de 14 pages) Participants Fabrice Douchant Xuan-Tuong Le Encadrants Nicolas Gibelin Lom Messan Hillah UFR 922 - Informatique

Plus en détail

LES OUTILS DE LA GESTION DE PROJET

LES OUTILS DE LA GESTION DE PROJET LES OUTILS DE LA GESTION DE PROJET PROJET : «ensemble des actions à entreprendre afin de répondre à un besoin défini dans des délais fixés». Délimité dans le temps avec un début et une fin, mobilisant

Plus en détail

Le modèle de données

Le modèle de données Le modèle de données Introduction : Une fois que l étude des besoins est complétée, deux points importants sont à retenir : Les données du système étudié Les traitements effectués par le système documentaire.

Plus en détail

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

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

Plus en détail

StockMalin l application pour les brocanteurs!

StockMalin l application pour les brocanteurs! StockMalin l application pour les brocanteurs! Conçue en intégralité par Quentin Comte-Gaz StockMalin Gestion de stock/clients/fournisseurs en ligne (2014) 1/15 Sommaire Introduction...3 PARTIE 1 : DESCRIPTION

Plus en détail

Automatisation des copies de systèmes SAP

Automatisation des copies de systèmes SAP Pour plus d informations sur les produits UC4 Software, visitez http://www.liftoff-consulting.com/ Automatisation des copies de systèmes SAP Introduction Le thème de la copie des systèmes SAP est une source

Plus en détail

PROSOP : un système de gestion de bases de données prosopographiques

PROSOP : un système de gestion de bases de données prosopographiques PROSOP : un système de gestion de bases de données prosopographiques Introduction : Ce document présente l outil en développement PROSOP qui permet la gestion d'une base de donnée prosopographique de la

Plus en détail

Sauvegarde des profils de connexion et des options depuis une installation existante Sauvegarde des profils de connexion

Sauvegarde des profils de connexion et des options depuis une installation existante Sauvegarde des profils de connexion DEPLOYER LES PROFILS DE CONNEXION ET LES OPTIONS LORS D UNE NOUVELLE INSTALLATION DE SAS ENTERPRISE GUIDE 5.1 Inclus dans la plate-forme décisionnelle SAS 9.3, SAS Enterprise Guide 5.1 nécessite de définir

Plus en détail

Application de gestion de tâche

Application de gestion de tâche Université de Montpellier 2 Rapport TER L3 Application de gestion de tâche Tuteur : M. Seriai Participant : Cyril BARCELO, Mohand MAMMA, Feng LIU 1 er Fevrier 2015 26 Avril 2015 Table des matières 1 Introduction

Plus en détail

Yohan 2014-2015 GESTION DE PROJET. Objectif : Création d'un site internet commercial pour l'entreprise LIS Santé

Yohan 2014-2015 GESTION DE PROJET. Objectif : Création d'un site internet commercial pour l'entreprise LIS Santé CARPENTIER BTS SIO Yohan 2014-2015 GESTION DE PROJET Objectif : Création d'un site internet commercial pour l'entreprise LIS Santé Phase de définition du projet liée à une définition de la mission La mission

Plus en détail

Vanilla. Open Source Business Intelligence. Présentation de la plateforme

Vanilla. Open Source Business Intelligence. Présentation de la plateforme Vanilla Open Source Business Intelligence Présentation de la plateforme Novembre 2008 Patrick Beaucamp BPM Conseil Contact : patrick.beaucamp@bpm-conseil.com Table des matières Introduction...3 Portail

Plus en détail

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

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

Plus en détail

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

Clément MILVILLE / Edouard SIMON. Projet CodeWar. Enseignant tuteur: Michaël Hauspie 1/17

Clément MILVILLE / Edouard SIMON. Projet CodeWar. Enseignant tuteur: Michaël Hauspie 1/17 Projet CodeWar Enseignant tuteur: Michaël Hauspie 1/17 2/17 Remerciements: Nous tenons à remercier tout particulièrement notre tuteur M. Michaël HAUSPIE pour son aide, ses conseils, ses avis et sa disponibilité

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

A-TEAM. ProManager Jalon de lancement Version 1.0 Groupe : C. Site Web: http://mooproject.neocities.org

A-TEAM. ProManager Jalon de lancement Version 1.0 Groupe : C. Site Web: http://mooproject.neocities.org A-TEAM ProManager Jalon de lancement Version 1.0 Groupe : C Site Web: http://mooproject.neocities.org 1 SOMMAIRE : I. Planning des phases 4 1-Lancement..5 2-Elaboration. 5 3-Construction 5 4-Transition.6

Plus en détail

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

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

Plus en détail

L achat de formation en 3 étapes :

L achat de formation en 3 étapes : L achat de formation en 3 étapes : 1- La définition du besoin de formation L origine du besoin en formation peut avoir 4 sources : Une évolution des choix stratégiques de l entreprise (nouveau métier,

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

SOA et Services Web. 23 octobre 2011. SOA: Concepts de base

SOA et Services Web. 23 octobre 2011. SOA: Concepts de base SOA et Services Web 23 octobre 2011 1 SOA: Concepts de base 2 Du client serveur à la SOA N est Nest pas une démarche entièrement nouvelle: années 1990 avec les solutions C/S Besoins d ouverture et d interopérabilité

Plus en détail

Plateforme AnaXagora. Guide d utilisation

Plateforme AnaXagora. Guide d utilisation Table des matières 1. PRESENTATION DE LA PLATE-FORME D APPRENTISSAGE ANAXAGORA... 3 2. ARCHITECTURE FONCTIONNELLE... 4 3. L APPRENTISSAGE... 5 3.1. L ESPACE DE TRAVAIL... 5 3.1.1. Le calendrier... 5 4.

Plus en détail

ENRICHIR LES DONNEES DE DETAILS ACCEDEES A TRAVERS UN RAPPORT OLAP

ENRICHIR LES DONNEES DE DETAILS ACCEDEES A TRAVERS UN RAPPORT OLAP ENRICHIR LES DONNEES DE DETAILS ACCEDEES A TRAVERS UN RAPPORT OLAP SAS Web Report Studio offre depuis de nombreuses versions la possibilité de visualiser les observations spécifiques à partir des données

Plus en détail

Tutoriel Technique. Plateforme de suivi des usages des ressources. Version 2 Date de conception : 03/2014 Auteur : Équipe UVED

Tutoriel Technique. Plateforme de suivi des usages des ressources. Version 2 Date de conception : 03/2014 Auteur : Équipe UVED Tutoriel Technique Plateforme de suivi des usages des ressources Version 2 Date de conception : 03/2014 Auteur : Équipe UVED 1. Connexion à la plateforme de suivi des usages Pour accéder à la plateforme

Plus en détail

Automatisation de l'exécution d'un package SSIS sur Microsoft SQL Server 2005

Automatisation de l'exécution d'un package SSIS sur Microsoft SQL Server 2005 Automatisation de l'exécution d'un package SSIS sur Microsoft SQL Server 2005 par Fleur-Anne BLAIN (fablain.developpez.com) Date de publication : 01/04/2008 Dernière mise à jour : 01/04/2008 Ce tutoriel

Plus en détail

La Clé informatique. Formation Access XP Aide-mémoire

La Clé informatique. Formation Access XP Aide-mémoire La Clé informatique Formation Access XP Aide-mémoire Septembre 2003 Définitions de termes Base de données : Se compare à un énorme classeur ayant plusieurs tiroirs où chacun d eux contient des informations

Plus en détail

Introduction au développement SharePoint. Version 1.0

Introduction au développement SharePoint. Version 1.0 Introduction au développement SharePoint Version 1.0 Z 2 Introduction au développement SharePoint 09/05/09 Sommaire 1 SharePoint : les bases... 3 1.1 Débuter sous SharePoint... 3 1.2 Connaissances Requises...

Plus en détail

SOUMISSION WEB MANUEL D UTILISATION

SOUMISSION WEB MANUEL D UTILISATION 11/03/11 Version 3 SOUMISSION WEB MANUEL D UTILISATION Conventions utilisées dans le manuel... 1 Introduction... 3 Rôle de l application... 3 Accès à l application... 4 Accès à partir de l imprimante Print2C...

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

LES COURS ONLINE. ar des étudiants our des étudiants. Olden Fabre, Cynthia Thimon, Jakub Kaluza, Jean Desravines, Oliver Hamm

LES COURS ONLINE. ar des étudiants our des étudiants. Olden Fabre, Cynthia Thimon, Jakub Kaluza, Jean Desravines, Oliver Hamm LES COURS ONLINE P ar des étudiants our des étudiants Olden Fabre, Cynthia Thimon, Jakub Kaluza, Jean Desravines, Oliver Hamm C AHIER DES CHARGES I - Préface...4 II - Introduction...5 III - Glossaire...6

Plus en détail

Programme de formation

Programme de formation INSCRIVEZ VOUS Formations sélectionnées et financées par le FAFIEC Programme de formation mardi 16 septembre 2014 Les Métiers du Test Module 5.2 - Automatisation des tests fonctionnels : HP Unified Functional

Plus en détail

Conception et Implémentation

Conception et Implémentation I. INTRODUCTION Dans ce chapitre on va définir la conception de notre site web dynamique et nous expliquons les étapes de réalisation, les outils utilisés et l interface principale ainsi que les différentes

Plus en détail

Utiliser Access ou Excel pour gérer vos données

Utiliser Access ou Excel pour gérer vos données Page 1 of 5 Microsoft Office Access Utiliser Access ou Excel pour gérer vos données S'applique à : Microsoft Office Access 2007 Masquer tout Les programmes de feuilles de calcul automatisées, tels que

Plus en détail

Manuel utilisateur du site www.cg-corsedusud.fr. 1. L Interface Typo 3 (version 4.4.x)

Manuel utilisateur du site www.cg-corsedusud.fr. 1. L Interface Typo 3 (version 4.4.x) Manuel utilisateur du site www.cg-corsedusud.fr 1. L Interface Typo 3 (version 4.4.x) Version 1 Le contenu de ces pages est relatif à TYPO3, CMS/Framework sous licence GNU/GPL disponible sur www.typo3.com

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

La GEIDE. Dans une solution GEIDE, il est possible d'associer au sein même d'un dossier:

La GEIDE. Dans une solution GEIDE, il est possible d'associer au sein même d'un dossier: La GEIDE Historique de La GEIDE Anciennement "Archivage électronique", La Gestion électronique de Documents "GED" est apparu dans les années 80. Mais le terme GED paraissait restrictif par rapport à ses

Plus en détail

www.lafamily.ch en 16 différences

www.lafamily.ch en 16 différences Cas d étude no 3 www.lafamily.ch en 16 différences juin 2003 Le mandat réalisé avec QuickSite de transformation du site existant de Lafamily.ch, centre globale d information pour les familles, à été de

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

BAAN IVc. Guide de l'utilisateur BAAN Data Navigator

BAAN IVc. Guide de l'utilisateur BAAN Data Navigator BAAN IVc Guide de l'utilisateur BAAN Data Navigator A publication of: Baan Development B.V. B.P. 143 3770 AC Barneveld Pays-Bas Imprimé aux Pays-Bas Baan Development B.V. 1997 Tous droits réservés. Toute

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

Thibault Denizet. Introduction à SSIS

Thibault Denizet. Introduction à SSIS Thibault Denizet Introduction à SSIS 2 SSIS - Introduction Sommaire 1 Introduction à SQL Server 2008 Integration services... 3 2 Rappel sur la Business Intelligence... 4 2.1 ETL (Extract, Transform, Load)...

Plus en détail

AUTOMATISATION DES TESTS FONCTIONNELS - HP UNIFIED FONCTIONAL TESTING (UFT)

AUTOMATISATION DES TESTS FONCTIONNELS - HP UNIFIED FONCTIONAL TESTING (UFT) AUTOMATISATION DES TESTS FONCTIONNELS - HP UNIFIED FONCTIONAL TESTING (UFT) REF : CQL08 DURÉE : 5 JOURS OBJECTIFS Maîtriser la démarche d automatisation des tests Savoir automatiser les tests fonctionnels

Plus en détail

Présentation de la solution SAP SAP Technology SAP Afaria. La mobilité d entreprise comme vecteur d avantage concurrentiel

Présentation de la solution SAP SAP Technology SAP Afaria. La mobilité d entreprise comme vecteur d avantage concurrentiel Présentation de la solution SAP SAP Technology SAP Afaria La mobilité d entreprise comme vecteur d avantage concurrentiel des périphériques et des applications des périphériques et des applications La

Plus en détail

Figure 1 : page d accueil pour le professeur

Figure 1 : page d accueil pour le professeur Démonstration de Maple T.A., un environnement pour les examens et devoirs en ligne avec correction Automatique Benoit Vidalie, Maplesoft (bvidalie@maplesoft.com) Résumé : Le logiciel de calcul mathématique

Plus en détail

Encadré par : Mr Philippe Janssen

Encadré par : Mr Philippe Janssen ABADIE Martin BENMOUFFOK Yasmine HEIDMANN Paul UTZEL Sylvain Encadré par : Mr Philippe Janssen 2014-2015

Plus en détail

RÉSUMÉ DU TRAVAIL DE DIPLÔME

RÉSUMÉ DU TRAVAIL DE DIPLÔME Filière d'informatique de gestion Travail de diplôme ÉTUDE ORACLE XE & APEX RÉSUMÉ DU TRAVAIL DE DIPLÔME AUTEUR: BRUNO DA COSTA RESPONSABLE DU PROJET: FABRICE CAMUS MANDANT: LABORATOIRE DE GÉNIE LOGICIEL

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

L'Espace Numérique de Travail (ENT) Moodle 1.0

L'Espace Numérique de Travail (ENT) Moodle 1.0 L'Espace Numérique de Travail (ENT) Moodle 1.0 PF2010 Table des matières Objectifs 5 I - Présentation de Moodle 7 A. Qu'est ce que Moodle?...7 B. Que signifie le sigle Moodle?...7 C. A quoi servent des

Plus en détail

PROJET EHPTMMMORPGSVR

PROJET EHPTMMMORPGSVR PROJET EHPTMMMORPGSVR Déroulement du projet Tableau d avancement : https://docs.google.com/spreadsheets/d/1aq1odbyaavk_rcxdcvowvz9kvmzy8nc5f1p26at2ufq/e dit?usp=sharing Tous d abord, nous avons installé

Plus en détail

UE 8 Systèmes d information de gestion Le programme

UE 8 Systèmes d information de gestion Le programme UE 8 Systèmes d information de gestion Le programme Légende : Modifications de l arrêté du 8 mars 2010 Suppressions de l arrêté du 8 mars 2010 Partie inchangée par rapport au programme antérieur Indications

Plus en détail

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed 6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Gestion du parc informatique matériel et logiciel de l Ensicaen SAKHI Taoufik SIFAOUI Mohammed Suivi ENSICAEN

Plus en détail

Pro/INTRALINK 10.0. Guide des programmes de formation

Pro/INTRALINK 10.0. Guide des programmes de formation Pro/INTRALINK 10.0 Guide des programmes de formation Guide des programmes de formation avec instructeur Mise à jour vers Windchill 10.0 pour les administrateurs système Administration du système de Windchill

Plus en détail

Introduction aux systèmes d exploitation

Introduction aux systèmes d exploitation Introduction aux systèmes d exploitation Le système d exploitation est un ensemble de logiciels qui pilotent la partie matérielle d un ordinateur. Les principales ressources gérées par un système d exploitation

Plus en détail

Compte rendu de PHP MySQL : création d un formulaire de base de données

Compte rendu de PHP MySQL : création d un formulaire de base de données REVILLION Joris Décembre 2009 3EI Compte rendu de PHP MySQL : création d un formulaire de base de données Objectifs : Le principal objectif de ce cours est de découvrir et de nous familiariser avec le

Plus en détail

Méthodologie de conceptualisation BI

Méthodologie de conceptualisation BI Méthodologie de conceptualisation BI Business Intelligence (BI) La Business intelligence est un outil décisionnel incontournable à la gestion stratégique et quotidienne des entités. Il fournit de l information

Plus en détail

6761 Validation de la conformité 21.03.2007

6761 Validation de la conformité 21.03.2007 6761 Validation de la conformité 21.03.2007 Peter DAEHNE 1 Tests de stress Les tests de stress permettent d étudier le comportement du logiciel lorsque celui-ci est mis dans des situations extrêmes, aux

Plus en détail

Archives et factures électroniques

Archives et factures électroniques Archives et factures électroniques Edito En 2001, le Conseil de l Union Européenne a publié la Directive 2001/115/CE relative à la facturation. Son objectif était de simplifier, de moderniser et d harmoniser

Plus en détail

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+ Guide de formation avec exercices pratiques Configuration et dépannage de PC Préparation à la certification A+ Sophie Lange Troisième édition : couvre Windows 2000, Windows XP et Windows Vista Les Guides

Plus en détail

Toute personne souhaitant maîtriser les techniques liées à la conception de produits multimédia et à la création de sites Web.

Toute personne souhaitant maîtriser les techniques liées à la conception de produits multimédia et à la création de sites Web. Web Designer Durée 90 jours (630 h) Public Toute personne souhaitant maîtriser les techniques liées à la conception de produits multimédia et à la création de sites Web. Objectifs La formation Web designer

Plus en détail

Documentation de l'application de gestion de courrier évolutive (G.E.D.) pour la Mairie de Voreppe

Documentation de l'application de gestion de courrier évolutive (G.E.D.) pour la Mairie de Voreppe Documentation de l'application de gestion de courrier évolutive (G.E.D.) pour la Mairie de Voreppe Tony Galmiche le 28 février 2011 (modifiée alb) Sommaire 1 - Accès au portail de l'application GED...3

Plus en détail

Morgan Beau Nicolas Courazier

Morgan Beau Nicolas Courazier EPSI - 2010 Rapport projet IA Conception et mise en œuvre d un générateur de systèmes experts Morgan Beau Sommaire Cahier des charges 3 Présentation générale 4 Analyse et modélisation 6 Le moteur d inférence

Plus en détail

Création d'un Portail partagé sur l'offre de formation en région Languedoc-Roussillon

Création d'un Portail partagé sur l'offre de formation en région Languedoc-Roussillon Création d'un Portail partagé sur l'offre de formation en région Languedoc-Roussillon Retours des entretiens téléphoniques 1. Présentation du contexte : Atout Métiers LR Offre de formation L association

Plus en détail

Guide de démarrage rapide avec DataStudio Online Edition

Guide de démarrage rapide avec DataStudio Online Edition Guide de démarrage rapide avec DataStudio Online Edition Introduction Ce document vient en complément des films de démonstration disponibles sur le site web de data. L ETL ETL est un sigle qui signifie

Plus en détail

Les bases de données (suite) Support de cours Pascal Ballet

Les bases de données (suite) Support de cours Pascal Ballet Les bases de données (suite) Support de cours Pascal Ballet La saisie et l'impression des données Les formulaires de saisie Les formulaires de saisie jouent deux rôles importants : - la mise en forme des

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

Check-list de maintenance du système Instructions impératives pour l'utilisateur du système Dernière mise à jour 09 juin 2011

Check-list de maintenance du système Instructions impératives pour l'utilisateur du système Dernière mise à jour 09 juin 2011 ANNEXE 3 Check-list de maintenance du système Instructions impératives pour l'utilisateur du système Dernière mise à jour 09 juin 2011 Généralités Afin de pouvoir garantir un support sûr et efficace du

Plus en détail

REQUEA. v 1.0.0 PD 20 mars 2008. Mouvements d arrivée / départ de personnels Description produit

REQUEA. v 1.0.0 PD 20 mars 2008. Mouvements d arrivée / départ de personnels Description produit v 1.0.0 PD 20 mars 2008 Mouvements d arrivée / départ de personnels Description produit Fonctionnalités L application Gestion des mouvements d arrivée / départ de Requea permet la gestion collaborative

Plus en détail

Sauvegarde des données du scribe sur disque USB

Sauvegarde des données du scribe sur disque USB Sauvegarde des données du scribe sur disque USB Objectif : Palier aux dysfonctionnements provoqués par une sauvegarde «Bacula» proposée dans l'ead du Scribe. Réaliser une sauvegarde des données du serveur

Plus en détail