Rapport UML/Java. Projet 2 semestre CSII2. Développement d un site internet de gestion de projet
|
|
- Isabelle Carbonneau
- il y a 8 ans
- Total affichages :
Transcription
1 2010 Rapport UML/Java Projet 2 semestre CSII2 Développement d un site internet de gestion de projet Teychene Francois / Lecointe Nicolas / Ballard Sylvain EPSI Montpellier 17/01/2010
2 Rapport UML/Java 2 Sommaire Introduction... 4 Cahier des charges... 5 Gestion de projet... 6 Dossier de spécification du logiciel... 7 Calendrier du projet... 8 Plan de développement... 9 Définition du cycle de vie du projet... 9 Développement de la structure de la base Mise en place des accès aux données Mise en place d une couche de contrôle et de traitement Ajout de la sécurité au logiciel Développement de l interface graphique Outils de développement Conteneur de servlet Le choix de l environnement de développement Modélisation de l architecture Dictionnaire de données User: Role: Admin: Guest: Collaborator: Manager: Project: Task: WorkLoad Advancement: Journal:... 14
3 Rapport UML/Java 3 Use case: Diagrammes de séquences systèmes Gérer les projets S authentifier Visualiser les informations d un projet Gérer ses tâches Créer des tâches Gérer les collaborateurs Description de l architecture Java Server Faces Spring Hibernate Diagrammes de classes Diagramme de classe des entités Diagramme des classes de l application Diagramme des classes de la session utilisateur Diagramme d activités Diagramme d activité de lancement de l application Sécurité Diagramme de fonctionnement général du programme Conclusion Annexe Annexe Annexe
4 Rapport UML/Java 4 Introduction Ce rapport à pour but de montrer et d expliquer le travail qui à été effectuer pour la réalisation du projet de 2 semestre de la 2 année ingénieur à l EPSI pour les matières UML et Java. Ce projet avait pour objectif la réalisation par les étudiants d un logiciel web de gestion de projet. La réalisation de ce projet à été effectuée dans l optique de suivre les directives optimales vu en cours de génie logiciel pour la réalisation d application informatiques de qualité. Dans un premier temps nous avons fait une analyse du cahier des charges qui nous a été fourni pour la réalisation du logiciel. A partir de ce cahier des charges nous avons définit un cahier des charges fonctionnel. A partir de cet étape nous avons définit les règles de génies logiciel que nous allions suivre durant la réalisation du projet et nous avons en parallèle définit les spécifications techniques du logiciel. Ensuite le document présentera les points clef de la modélisation du logiciel en présentant le diagramme des cas d utilisation du logiciel, les diagrammes de séquences systèmes ainsi que les diagrammes d activité globaux du système. Le document présentera également l architecture du logiciel. Enfin nous conclurons sur le travail réalisé durant la durée du projet.
5 Rapport UML/Java 5 Cahier des charges Le cahier des charges qui a été fournis aux étudiants demandait la réalisation d un logiciel de gestion de planification de projets et listait les fonctionnalités principales. Le but du logiciel est de permettre la gestion d un projet en permettant aux utilisateurs de gérer les tâches du projet, leurs ressources et de visualiser les informations globales de l avancement du projet. Le logiciel doit donc respecter le cahier des charges suivant : Gestion de planification de projets : Il doit proposer les fonctionnalités de base de ce type d outil : la gestion des tâches, (créer des tâches, les découper, les modifier, les supprimer) la gestion des ressources (envisager la collaboration de partenaire extérieur, avec échange de mails) l affectation des ressources la gestion des dépendances et de l avancement, visualisation du diagramme de Gantt visualisation du pourcentage de réalisation de chaque tâche la gestion des jours fériés et des vacances pour les ressources. Chaque membre de l'équipe pouvant remplir son carnet de bord journalier (avancement des tâches à sa charge) Mise en forme et affichage d'une vue globale de l'avancement du projet avec mise en évidence des dérives. Possibilité de mettre en place un outil permettant à chaque membre de publier les risques identifiés lors de leurs activités et la solution envisagée pour les lever. Après lecture du cahier des charges nous avons choisi de définir un cahier des charges fonctionnel pour définir les besoins précis auxquels nous allions répondre par le développement de leurs projets. Ce document permet de définir les besoins en termes de fonctions que le futur utilisateur aura à accomplir, ou que le système devra accomplir pour lui. Voir le cahier des charges fonctionnel en annexe (Annexe 1).
6 Rapport UML/Java 6 Gestion de projet Après avoir définit le cahier des charges fonctionnel de l application, nous avons définit les éléments de gestion de projets prévisionnels que nous allions tenter de suivre durant le développement du projet. En parallèle du cahier des charges fonctionnel nous avons mis en place les outils de suivi et le tableau de bord. Nous avons donc définit le dossier de spécification du logiciel, le calendrier du projet ainsi que le plan de développement. Tableau de bord du projet Afin de planifier et de contrôler l état d avancement nous avons utilisé dans un tableur un tableau de bord qui nous permet de rendre une trace détaillée de ce qui s est passé. Ce tableau est alimenté par le suivi individuel. Remarque : Quand le renseignement périodique n était pas réalisé nous avons pris une répartition uniforme de l avancement sur la période considérée. Elaboration de notre tableau de bord Pour chaque tâche chaque intervenant indique le «temps passé» T et le «restant à faire» R. L avancement A est calculé par différence entre deux informations de «restant à faire», c est donc ce qui n est plus à faire. On cumul le temps passé T et on en déduit le coefficient d utilisation de la ressource (en fonction du nombre de jours ouvrés (ici les chiffres sont faible étant donné le travail multitâches mais il est proportionnellement intéressant de le suivre. La vitesse de l avancement est obtenue par le rapport de l avancement par le temps, l indicateur est bon s il est supérieur à 1. La performance c'est-à-dire l atteinte des objectifs, sur toutes les taches en cours et passées. Charge affectée * 100 / T + R des tâches. Extraits On a considéré que pour rendre compte de la charge de travail nous pouvions plus facilement le faire si l unité de temps était : «les jours où nous pouvions passer du temps dessus». De ce fait les jours et demi-journées indiquées sont plutôt équivalents à 1h30 de travail prévu. Ce qui est une moyenne
7 Rapport UML/Java 7 réaliste entre les jours de cours où le travail est proche de 0 heures en moyenne sur la durée du projet et les autres jours où l on peut se rattraper. Taches Charge totale estimée (en jour) Ressources nb de ressource Tableau de bord élaboration 4 nicolas 1 4 Définition du cdcf 3 francois 1 3 Dossier de spécification du 8 francois 2 4 logiciel nicolas Définition de l'architecture logicielle Développement de la structure de la base Mise en place des accès aux données couche de contrôle et de traitement Ajout de la sécurité au logiciel 24 francois sylvain 8 francois sylvain 8 francois nicolas 8 francois nicolas 9 francois sylvain nicolas IHM 16 nicolas sylvain Test des librairies et outils de 8 nicolas développement sylvain Nombre de jours dans le calendrier Charge affectée totale cumulée François Nicolas Sylvain Total (jours) Période de travail sur le calendrier : 50 jours (10 semaines) Dossier de spécification du logiciel Le dossier de spécification du logiciel permet de définir globalement l application en définissant l environnement, les interfaces ainsi que les fonctionnalités principales. Ce dossier s appuie
8 Rapport UML/Java 8 majoritairement sur le cahier des charges fonctionnel et sur les expériences passées des membres de l équipe de développement pour définir les spécifications du logiciel. Voir le dossier de spécification du logiciel en annexe (Annexe 2). Après définition de ces spécifications techniques nous avons définit l architecture du logicielle en parallèle du calendrier du projet. Calendrier du projet Après définition du dossier de spécification du logiciel il restait 1 mois pour la réalisation du projet nous avons donc mis en place le calendrier suivant : mars-10 D L Ma Me J V S Définition du cahier des charges fonctionnel Dossier de spécification du logiciel avr-10 D L Ma Me J V S mai-10 D L Ma Me J V S
9 Rapport UML/Java 9 Définition de l'architecture logicielle Développement du code métier Développement de l'ihm Répartition du temps de travail en jour 22% 24% 16% 19% 19% Définition du cahier des charges fonctionnel Dossier de spécification du logiciel Définition de l'architecture logicielle Développement du code métier Développement de l'ihm Après avoir définit le calendrier prévisionnel de l application nous avons définit le plan de développement en parallèle de l architecture du logiciel. Nous avons également choisit de ne pas l intégrer dans le calendrier, cette étape devant être très courte et mené en simultané avec un autre tâche. Plan de développement Le plan de développement a été réalisé dans un intervalle de temps très court. Après avoir définit le cahier des charges fonctionnel, le dossier des spécifications du logiciel et le calendrier nous n avions plus qu à définir le découpage du cycle de vie du projet, la définition des tâches à effectuer dans chaque phase et les outils de développement. Définition du cycle de vie du projet Nous avons d abord choisi le cycle de vie de projet que nous allions mettre en place durant le développement du projet et nous avons choisi un développement basé sur cinq cycles : Cycle 1 : Développement des entités de la structure de la base Cycle 2 : Mise en place des accès aux données Cycle 3 : Mise en place d une couche de contrôle et de traitement Cycle 4 : Ajout de la sécurité au logiciel Cycle 5 : Développement de l interface graphique
10 Rapport UML/Java 10 Pour chacune de ces tâches, nous avons définit des tâches à effectuer. Ces tâche ne sont pas liées à un membre du projet mais sont attribué à tous, nous avons choisi de ne pas affecter de tâche à une personne à cause de l expérience des membres du projet dans le langage. Les tâches sont exécutées par tous les membres du groupe à la hauteur de leurs capacité à l effectué. Développement de la structure de la base Définition des entités : Création des classes des entités Application de la couche de persistance : Développement de la structure de la base et du mapping objet/relationnel, Hibernate (utilisation des standard JPA uniquement) Mise en place des accès aux données Ajout du framework Spring Intégration de Spring dans l application pour l injection de dépendance Gestion de la persistance : Configuration de la génération d EntityManager par Spring Définition des Dao : Création des classes d accès aux données Gestion des transactions : Ajout de la gestion automatique des transactions Mise en place d une couche de contrôle et de traitement Définition des contrôleurs : Création des classes de contrôle, définition de leurs portés et la hiérarchie des contrôleurs Intégration de certains traitements «critiques» : Implémentation des méthodes de cohérence de la base de données Ajout de la sécurité au logiciel Sécurisation des appels aux pages internet : Intégration d ACEGI Securité, configuration du filtre global de sécurité Sécurisation des méthodes : Combinaison de Spring AOP et d un filtre ACEGI pour sécuriser les appels aux controleurs Développement de l interface graphique Gestion des avancements théoriques et prévisionnels : Ajout de la classe Advancement et modification de la structure de la base et rajout de Dao et de contrôleurs
11 Rapport UML/Java 11 Ajout du carnet de bord par tâche (plus global) : Ajout d un journal lié à l avancement des tâches par personnes et non plus par tâche de façon globale Intégration de JSF : Mise en place de objets de lien entre les pages internet et les contrôleurs Ajout de la visualisation des données : Création des pages web de visualisation des données. Outils de développement Le choix des outils de développement s est porté sur deux choix : Le conteneur de servlet Le choix de l environnement de développement Les autres choix technologiques notamment concernant les librairies et frameworks utilisés dans le projet ayant été définit dans le dossier de spécification du logiciel. Conteneur de servlet Le choix entre un conteneur de servlet et un serveur d application pour le déploiement de l application s est posé comme le point le plus important pour la définition de l architecture du logiciel. Pour faire notre choix nous avons pris en compte les technologies que nous avons décidé d employer ainsi que de la pertinence d un serveur d application JEE par rapport à ces choix. De plus nous avons décidé d utiliser des librairies ne nécessitant pas l utilisation d un serveur d application, ce choix nous a permis de définir quel serveur choisir indépendamment de l architecture du logiciel. Nous avons donc choisi de porter notre choix sur le conteneur de servlet Tomcat car nous avons voulu utiliser certains frameworks qui sont utilisés dans les entreprises et dont l apprentissage n est pas effectué durant notre formation. La plupart de ces technologies s intègrent bien dans un serveur d application néanmoins nous avons voulu faire gérer la base de données et les transactions par le programme et cette utilisation entraine des problèmes d intégration du logiciel dans un serveur JEE. Néanmoins la possibilité à été émise de prendre du temps à la fin du développement du logiciel pour sortir une version du logiciel intégrant la technologie EJB et pouvant être déployer sur Glassfish. Le choix de l environnement de développement L environnement de développement a été choisi pour sa portabilité et la rapidité de développement que nous pourrions avoir.
12 Rapport UML/Java 12 Nous avons donc choisi de développer sous une machine virtuelle Unix comportant une base de données Mysql-5, un JDK 6 update 17, un Tomcat et un Eclipse Galileo configuré pour gérer les projets web JSF. De plus un SVN dédié à été mis en place sur un serveur personnel accessible depuis l extérieur ainsi qu un logiciel de gestion de projet Trac.
13 Rapport UML/Java 13 Modélisation de l architecture Après terminer les phases de définition du cahier des charges fonctionnel et du dossier de spécification du logiciel, nous nous sommes lancé dans l étude de l architecture que nous allons mettre en place dans le programme en parallèle de la définition des choix de gestion de projet. Dictionnaire de données User: Il s agit des utilisateurs du logiciel, ils possèdent un nom d utilisateur (login) et des mots de passes (password) Chacun des utilisateurs possède des Roles qui lui donnent des droits sur le logiciel Role: Les Roles sont des autorisations définies qui permettent l utilisation de certaines fonctionnalités du logiciel. Les Roles sont utilisé par la couche de sécurité de l application pour l authentification ainsi que pour l accès aux méthodes des Controlers. Admin: Un Admin est une catégorie de User qui gère les Projects. Les Admins peuvent créer, éditer et supprimer des Project et configurer quel en est le Manager. Guest: Les Guests sont une catégorie de User qui permettent d accéder à des informations sur des Projects. Les Guest ne peuvent pas modifier les données des Project auxquels ils ont accès, ils sont juste des point visiteurs sur des Projects. Collaborator: Les Collaborators sont les utilisateurs du logiciel ayant un rôle dans un projet. Ils possèdent un temps de travail journalier, on leurs associe des tâches et ils peuvent publier des informations sur leurs carnet de bord.
14 Rapport UML/Java 14 Manager: Les Managers sont des Collaborator qui ont les droits de gestion des projets. Ce sont les Manager qui définissent les tâches d un projet et qui leurs affilies des Collaborators pour travaillé. Les Manager sont aussi en charge de la liaison de Collaborators et de Guests à un Project. Project: Les Project correspondent à des projets. Ils sont composés d une date de début, d un nom et d une date de fin qui correspond à la deadline du projet. Un projet est également composé d un ensemble de Task qui est le découpage en tâches du projet. Task: Une Task est la représentation d une division du travail d un projet. Elle est constituée d Avancements, d une date de début, d une WorkLoad, une date de fin qui sera automatiquement mise à jour quand tous les Advancements du projet seront complets. Elle possède aussi une marge d erreur qui permet de définir si la tâche est une zone de problème du logiciel. WorkLoad Une WorkLoad correspond à la charge de travail nécessaire à la réalisation d une tâche en nombre d heures de travail. Cette charge permet de calculer la date de fin théorique de la tâche selon les nombres de Collaborator qui lui sont affecté et de leurs temps de travail journalier. Advancement: L Advancement est l affectation d un Collaborator à une Task. La Task correspond aux informations globales de la tâche mais comme une tâche peut être accomplie par plusieurs Collaborator, l Advancement correspond aux informations d une Task par rapport à un des Collaborator qui les est associé. L Advancement est également composé de Journal, il s agit du carnet de bord de la tâche pour un Collaborator. Journal: Un Journal correspond à un texte à une date donnée commentant l avancement d une Tâche pour un Collaborator qui lui est associé.
15 Rapport UML/Java 15 Use case: uc Use Case Gerer les projets Admin S'authentifier User Visualisaer l'avancement d'un projet Guest Visualiser le gantt d'un projet Ecrire dans son carnet de bord Gérer ses tâches «extend» Collaborator Creer des taches «extend» Affilier des tâches à des collaborateurs Manager Gerer les collaborateurs
16 Rapport UML/Java 16 Diagrammes de séquences systèmes Gérer les projets sd Gerer les projets Systeme Admin recupererprojets() :listprojets recupererprojets() :listeprojet selectionnerprojet() :informations opt Modifier Projet modifierprojet(projet) modifierprojet() opt Supprimer Projet supprimerprojet(projet) supprimerprojet(projet) opt Ajouter Projet ajouterprojet() ajouterprojet() (fromuse case)
17 Rapport UML/Java 17 S authentifier sd S'authentifier Systeme User demandepageinternet() alt Authentifier [Utilisateur authentifié] :pageinternet [Utilisateur anonyme] loop Valide utilisateur [utilisateur anonyme] :pageauthentification login(login, password) authentification() enregistrerutilisateur(user) :pageinternet (fromuse case) Visualiser les informations d un projet sd Visualiser les informations d'un projet Systeme Guest recuperermesprojets() :listeprojets selectionprojet(projet, typevisualisation) alt Type visualisation [gantt] :diagrammegantt [avancement] :diagrammeavancement [calendrier] :calendrier (fromuse case)
18 Rapport UML/Java 18 Gérer ses tâches sd Gérer ses taches Systeme Collaborator affichermestachesliéaunprojet(projet) recupererlestachesd'unprojet(projet) filtrertachesliéaucollaborateur() :listetaches selectionnertache(tache) informations() modifiertache() modifiertache() opt ajoutercommentaire() ajoutercommentaireaunetache() (fromuse case) La gestion des tâches se limite uniquement à modifier l état d un avancement. Un avancement représente la gestion d une tache pour chaque collaborateur qui lui est assigné. Une tâche ne peut réellement modifier car elle sert de révérenciel pour tous les avancements qui lui sont liés. C est pour cela que le cycle de vie d une tâche ne peut être gérer que par le manager du projet, les tâches pouvant être partagées par de nombreux collaborateurs si ceux-ci avaient le droit de changer les paramètres d une tâche, ces modifications seraient répercutées pour tous les utilisateurs liés à cette tâche.
19 Rapport UML/Java 19 Créer des tâches sd Créer des tâches Systeme Manager recupererlesprojetquejemanage() recupererlisteprojetmanagépar(manager) :listeprojet selectionprojet(projet) creertache(tache) ajoutertacheauprojet(tache) opt Affilier ressources attacherressource() recupererlistecollaborateurduprojet(projet) :listedescollaborateur selectionnerlescollaborateurs(list<collaborateur>) attacheralatache(tache, List<Collaborateur>) (fromuse case)
20 Rapport UML/Java 20 Gérer les collaborateurs sd Gérer les collaborateurs Systeme Manager recupererlesprojetsquejemanage() recupererlesprojetmanagépar(manager) :listeprojets selectionnerprojet(projet) :listeutilisateurprojet seletionnerutilisateur(utilisateur, Action) alt Action [modifier] modifierutilisateur(utilisateur) [supprimer] supprimerutilisateur(utilisateur) [ajouter] ajoutercollaborateur(utilisateur) (fromuse case)
21 Rapport UML/Java 21 Description de l architecture L architecture du logiciel est basée sur l utilisation de librairies et de framework populaire dans le monde du développement Java qui ne font pas partie des technologies étudiées à l EPSI. L architecture du logiciel est basée sur trois framework : Java Server Faces Spring Hibernate Chacun de ces frameworks est chargé de gérer des parties différentes de l application. Java Server Faces Java Server Faces (abrégé en JSF) est un framework pour le développement d'applications Web. A l'inverse des autres frameworks MVC traditionnels à base d'actions, JSF est basé sur la notion de composants où l'état d'un composant est enregistré lors du rendu de la page, pour être ensuite restauré au retour de la requête. Nous avons choisi d utiliser en combinaison avec le jeu de composants additionnel JBoss RichFace pour la gestion de l ajax. Dans notre architecture les objets managés par JSF sont les objets liés aux requêtes ou au maximum à la session d un utilisateur. Ils sont responsables de la récupération des valeurs nécessaire à l affichage des pages de l application ainsi que de la validation des valeurs passé au logiciel. Nous avons préféré faire gérer les traitements et les accès à la base de données par des objets managés par Spring. Nous avons donc pour cela mis en place un pont depuis les objets JSF vers les objets managé par Spring. Pour cela nous avons utilisé la librairie SpringBeanFacesELResolve permettant d injecter dans un objet JSF un objet géré par Spring. Spring Spring est un framework libre pour construire et définir l'infrastructure d'une application java 1, dont il facilite le développement et les tests. Spring s'appuie principalement sur l'intégration de trois concepts clés : 1. l'inversion de contrôle ou injection de dépendance 2. la programmation orientée aspect 3. une couche d'abstraction.
22 Rapport UML/Java 22 Nous avons voulu utiliser ce framework car il s agit d une solution très utilisé dans les entreprises et qui n est pas enseigné durant le cursus de l EPSI. Nous avons donc tenté d utiliser ce framework autant que possible en utilisant les spécificités du framework. Nous avons donc définit les couches de contrôle et de traitement ainsi que l accès à la base et à la sécurité. Nous avons ainsi définit la gestion des contrôle grâce à la mise en place d objets contrôleur utilisés par les objets JSF. Les contrôleurs sont utilisés via un objet SessionControler qui sert de point d entrée aux objets Spring et qui dispache l appel des traitements à des contrôleurs spécialisés dans certains types de traitement, comme nous pouvons le voir dans le diagramme de classe Session. Tous ces objets de gestion des traitements sont placés en session par le framework. Cette utilisation très limité du framework nous a paru insuffisant pour expliquer l utilisation de cette technologie. Nous avons également choisi d utiliser la programmation par aspect. Cette fonctionnalité nous a paru très intéressante à intégrer pour les fonctions de gestion des transactions et de la sécurité. Les objets Dao (Data Acess Object) gérant les appels à la base sont également géré par Spring mais nous avons rajouté à ces classe la gestion d une qui sert à définir une méthode comme étant une transaction SQL. Nous avons également mis en place un mécanisme pour le déploiement rapide de l application, la persistance est gérée par un objet EntityManager qui est créé par un EntityManagerFactory. Spring configuré permet d injecter un EntityManager dans les classes qu il gère, il s agit de la solution que nous avons choisi de mettre en place. Nous avons également utilisé cette fonction de programmation par aspect pour la sécurité des appels aux couches contrôleurs. Chaque appel aux fonctions est intercepté par un objet Spring qui vérifie si l utilisateur possède les droits d accès à cette méthode, si celui-ci ne les possède pas, l objet remonte une exception à l objet JSF appelant qui permet de le renvoyer sur une page d erreur. Hibernate Nous avons choisi d utilisé les standard JPA (Java Persistance Api) pour la gestion de la persistance des données. Pour cela nous avons choisi l implémentation Hibernate néanmoins nous aurions pu utiliser tout autre implémentation de JPA tel que TopLink ou d autres. Nous avons choisi d utiliser des annotations directement dans le code pour le mapping des objets avec la base de données.
23 Rapport UML/Java 23 Récapitulatif Page JSP 2 JSF 3 4 ProjectManager CalendarView 10 TaskManager 1 Spring Securité RessourceInterceptor MethodInterceptor 5 Intercepteur Controler SessionControler 6 7 AdvancementControl ProjectControler UserController Data Acess Object Transaction 8 Advancement Dao UserDao TaskDao ProjectDao RoleDao JournalDao 9 Base de données
24 Rapport UML/Java 24 Diagrammes de classes Le diagramme de classe du système a été divisé en trois parties : Diagramme de classe des entités Ce diagramme concerne les classes qui correspondent aux données gérées par le système. Elles représentent également le schéma de la base de données. Diagramme de classe de l application Ce diagramme correspond aux classes qui gèrent les accès aux données et sont globales à l application. Toutes ces classes sont définies en scope application Diagramme de classe de la session utilisateur Ce diagramme présente les classes qui sont stockées durant la session d un utilisateur. Ces classes permettent de faire le lien avec les accès à la base et permettent à l affichage des données. Toutes ces classes sont définies en scope session
25 Rapport UML/Java 25 Diagramme de classe des entités class entity entity::admin + Admin() entity::collaborator - name: String - projects: List<Project> - secondname: String - tasks: List<Advancement> + addproject(project) : void + addtask(advancement) : void + Collaborator() + getname() : String + getprojects() : List<Project> + getsecondname() : String + gettaskbyproject(project) : List<Advancement> + gettasks() : List<Advancement> + removeproject(project) : void + removetask(advancement) : void + setname(string) : void + setprojects(list<project>) : void + setsecondname(string) : void + settasks(list<advancement>) : void + tostring() : String -collaborator 1 -tasks 0..* entity::user - login: String - password: String - roles: List<Role> + equals(object) : boolean + getlogin() : String + getpassword() : String + getroles() : List<Role> + setlogin(string) : void + setpassword(string) : void + setroles(list<role>) : void + User() entity::manager - myprojects: List<Project> + getmyprojects() : List<Project> + Manager() + setmyprojects(list<project>) : void -users 0..* -manager myprojects 0..* entity::guest - projects: List<Project> + getprojects() : List<Project> + Guest() + setprojects(list<project>) : void entity::project entity::role - id: int - users: List<User> - value: String -roles + equals(object) : boolean 0..* + getid() : int + getusers() : List<User> + getvalue() : String + Role() + setid(int) : void + setusers(list<user>) : void + setvalue(string) : void - begindate: Calendar - collaborators: List<Collaborator> - enddate: Calendar - guest: List<Guest> - id: int - manager: Manager - name: String - tasks: List<Task> entity::advancement - accomplishment: int - collaborator: Collaborator - comment: List<Journal> - enddate: Calendar - id: int - task: Task + Advancement() + Advancement(Task, Collaborator) + equals(object) : boolean + getaccomplishment() : int + getcollaborator() : Collaborator + getcomment() : List<Journal> + getenddate() : Calendar + getid() : int + gettask() : Task + setaccomplishment(int) : void + setcollaborator(collaborator) : void + setcomment(list<journal>) : void + setenddate(calendar) : void + setid(int) : void + settask(task) : void -assigned -task 0..* 0..1 entity::task - assigned: List<Advancement> - id: int - name: String - project: Project + equals(object) : boolean + getassigned() : List<Advancement> + getid() : int + getname() : String + getproject() : Project + setassigned(list<advancement>) : void + setid(int) : void + setname(string) : void + setproject(project) : void + Task() -tasks 0..* -project 1 + addtask(task) : void + equals(object) : boolean + getbegindate() : Calendar + getcollaborators() : List<Collaborator> + getenddate() : Calendar + getguest() : List<Guest> + getid() : int + getmanager() : Manager + getname() : String + gettasks() : List<Task> + Project() + removetask(task) : void + removetask(int) : void + setbegindate(calendar) : void + setcollaborators(list<collaborator>) : void + setenddate(calendar) : void + setguest(list<guest>) : void + setid(int) : void + setmanager(manager) : void + setname(string) : void + settasks(list<task>) : void -advancement 1 -comment 0..* entity::journal - advancement: Advancement - date: Calendar - id: int - text: String + getadvancement() : Advancement + getdate() : Calendar + getid() : int + gettext() : String + Journal() + setadvancement(advancement) : void + setdate(calendar) : void + setid(int) : void + settext(string) : void
26 Rapport UML/Java 26 Diagramme des classes de l application class dao dao::bddschemacreator - admininfo: String - collaboratorinfo: String - guestinfo: String - projectmanagerinfo: String + BddSchemaCreator() + getadmininfo() : String + getcollaboratorinfo() : String + getguestinfo() : String + getprojectmanagerinfo() : String + setadmininfo(string) : void + setcollaboratorinfo(string) : void + setguestinfo(string) : void + setprojectmanagerinfo(string) : void dao::abstractdao Type Id - entitymanager: EntityManager + get(id) : Type + getall() : List<Type> + getentitymanager() : EntityManager + merge(type) : Type + persist(type) : void + refresh(type) : void + remove(type) : void + setentitymanager(entitymanager) : void LocalContainerEntityManagerFactoryBean dao::entitymanagerprovider + createnativeentitymanagerfactory() : EntityManagerFactory + EntityManagerProvider() dao::projectdao + get(integer) : Project + getall() : List<Project> + getprojectmanagedby(manager) : List<Project> + getprojectsascollaborator(collaborator) : List<Project> + merge(project) : Project + persist(project) : void + refresh(project) : void + remove(project) : void dao::roledao + get(integer) : Role + getall() : List<Role> + merge(role) : Role + persist(role) : void + refresh(role) : void + remove(role) : void dao::taskdao + get(integer) : Task + getall() : List<Task> + gettaskbyproject(project) : List<Task> + merge(task) : Task + persist(task) : void + refresh(task) : void + remove(task) : void dao::advancementdao + get(integer) : Advancement + getadvancementsbytask(task) : List<Advancement> + getall() : List<Advancement> + merge(advancement) : Advancement + persist(advancement) : void + refresh(advancement) : void + remove(advancement) : void dao::userdao + get(string) : User + get(string, String) : User + getall() : List<User> + merge(user) : User + persist(user) : void + refresh(user) : void + remove(user) : void + UserDao()
27 Rapport UML/Java 27 Diagramme des classes de la session utilisateur class controler controler::usercontroler - roledao: RoleDao - userdao: UserDao + getroledao() : RoleDao + getuserdao() : UserDao + merge(user) : User + persist(user) : void + refresh(user) : void + remove(user) : void + setroledao(roledao) : void + setuserdao(userdao) : void + UserControler() -usercontroler controler:: SessionInformation - user: User + getuser() : User + SessionInformation() + setuser(user) : void -sessioninformation controler::advancementcontroler - advancementdao: AdvancementDao + AdvancementControler() + getadvancementdao() : AdvancementDao + merge(advancement) : Advancement + persist(advancement) : void + refresh(advancement) : void + remove(advancement) : void + removeadvancementfromtask(task) : void + setadvancementdao(advancementdao) : void -advancementcontroler -projectcontroler - projectdao: ProjectDao - taskdao: TaskDao controler::projectcontroler + getprojectdao() : ProjectDao + getprojectmanagedby(manager) : List<Project> + getprojectsascollaborator(collaborator) : List<Project> + gettaskbyproject(project) : List<Task> + gettaskdao() : TaskDao + merge(project) : Project + merge(task) : Task + persist(project) : void + persist(task) : void + ProjectControler() + refresh(project) : void + refresh(task) : void + remove(project) : void + remove(task) : void + setmanager(manager, Project) : void + setprojectdao(projectdao) : void + settaskdao(taskdao) : void controler::sessioncontroler - advancementcontroler: AdvancementControler - projectcontroler: ProjectControler - sessioninformation: SessionInformation - usercontroler: UserControler + addproject(project) : void + addtaskonproject(project, Task) : Task + adduser(user) : void + assignecollaboratortotask(task, Collaborator) : void + assigneprojecttocollaborator(collaborator, Project) : void + getadvancementcontroler() : AdvancementControler + getprojectcontroler() : ProjectControler + getprojectmanagedby(manager) : List<Project> + getprojectsascollaborator(collaborator) : List<Project> + getsessioninformation() : SessionInformation + gettaskbyproject(project) : List<Task> + getusercontroler() : UserControler + mergeproject(project) : Project + mergeuser(user) : User + removemanagerforproject(project) : void + removeproject(project) : void + removeprojecttocollaborator(collaborator, Project) : void + removeuser(user) : void + SessionControler() + setadvancementcontroler(advancementcontroler) : void + setmanagerforproject(project, Manager) : void + setprojectcontroler(projectcontroler) : void + setsessioninformation(sessioninformation) : void + setusercontroler(usercontroler) : void dao + AbstractDao + AdvancementDao + BddSchemaCreator + EntityManagerProvider + ProjectDao + RoleDao + TaskDao + UserDao (fromproject)
28 Rapport UML/Java 28 Diagramme d activités Diagramme d activité de lancement de l application act Activité global Programme Spring Conteneur de servlet JSF Demarrage du programme Analyse web.xml Analyse des fichiers de configuration Définition des filtres Instanciation des servlets du programme Définition du contexte JSF Instanciation des Manager de persistance Instanciation des Dao Instanciation de la servlet JSF Définition des mapping des URL Attente d'une connection Fin du lancement de l'application Il s agit d une vue simplifié du démarrage de l application. Les points les plus importants de ce diagramme sont l utilisation du framework Spring qui se charge de l instanciation et des liens entre les objets de l application par rapport à des fichiers de configuration ainsi que de l instanciation de la Servlet JSF qui gère tous les appels au programme (toutes les pages de l application étant des pages JSF).
29 Rapport UML/Java 29 Sécurité act Securité Conteneur de servlet Spring Programme Reception requete Verification filtre [Url de deconnection] Url? [Url d'authentification] Verification de l'utilisateur Détacher l'utilisateur de la session [Autre] Afficher page d'authentification [Non] Utilisateur déja enregistré? [Non] Utilisateur valide? [Oui] [Oui] Verification des droit d'accès Enregistrement de l'utilisateur Afficher page Roles valide? Afficher l'erreur La configuration de la sécurité c est effectué grâce aux rôles des utilisateurs. Les url des pages sont configurées pour nécessiter certains rôles pour pouvoir y accéder. De même la configuration de la sécurité permet de gérer selon le même fonctionnement l appel aux méthodes des objets instanciées par le framework Spring. On a donc put ajouter une solution de sécurité sur l appel à des ressources mais également sur des appels à certaines méthodes en cas de faille de la première couche de sécurité.
30 Rapport UML/Java 30 Diagramme de fonctionnement général du programme act Fonctionnement général Conteneur de servlet JSF Spring Securité Reception requete Url [*.jsf] Affichage de la page [Autre] Reception demande méthode Affichage d'une erreur d'accès a la ressource Appel de la méthode du bean JSF Securité Erreur Execution des méthodes Recherche des règles de navigation concernant la page «datastore» Modifications de la base Appel à la ressource concerné Fin execution Le fonctionnement général du projet est basé sur l utilisation de toutes les couches de l architecture qui s occupe des appels aux méthodes des autres objets. L utilisateur demande une ressource, le programme applique le filtre de sécurité pour obliger l authentification de l utilisateur. Après validation, l utilisateur récupère la page jsp modifié par JSF selon les valeurs des objets managés. En cas d appel d une méthode le filtre de sécurité s applique de
31 Rapport UML/Java 31 nouveau pour vérifier que l utilisateur possède bien les droits d utiliser cette méthode et exécute ensuite les méthodes. Après avoir exécuté les méthodes, JSF vérifie le retour de la méthode appeler et cherche dans les navigation-case si une valeur correspond à cette valeur pour déterminer la ressource à appeler.
32 Rapport UML/Java 32 Conclusion Le développement de ce logiciel nous a permis de nous former au développement web dans une architecture JEE. Nous avons choisi de nous focaliser sur les technologies à employer et sur leur intégration dans notre projet, plus que sur les fonctionnalités du logiciel car nous avons travaillé sur ce projet dans une optique de formation complémentaire à celle qui nous est proposé à l EPSI en travaillant sur des technologies non approfondies en cours, ce qui nous à conduit la mise en œuvre de nombreuse configuration invisible en terme de fonctionnement du logiciel. Ce travail nous a familiarisé avec les contraintes de la gestion de projets et nous avons essayé de nous tenir au mieux aux résultats de la phase préliminaire de gestion de projet, que nous nous étions fixés. Néanmoins s agissant d un projet étudiant l adaptation des contraintes de gestion de projets (calcul du temps nécessaire des tâches, tenu d un carnet de bord journalier, ) n ont pas put être toutes prises en compte à cause de la disparité du temps de travail en réaction aux autres projets et travaux a réaliser. L analyse du travail réalisé est présentée en Annexe 3. Malgré tout nous avons tenté de réaliser un travail propre qui malgré la non adéquation avec le travail que nous aurions voulu réaliser permet l intégration de nouvelles fonctionnalités de façon assez rapide grâce à une bonne séparation des couches de l application. De plus l équipe de travail était assez hétérogène dans les compétences de chacun au début du projet. Le développement de cette application a permis à chacun d apprendre de nouvelles choses et nous a sensibilisé aux difficultés de concevoir une architecture fiable et robuste dans un environnement JEE. Nous avons beaucoup apprécié le développement avec les framework que nous avons utilisé et pensons que leur apprentissage permettra une meilleure connaissance des possibilités du JEE couplé aux enseignements de l année prochaine en Java.
33 Annexe 1
34 Annexe 2
35 Annexe 3
SITE WEB E-COMMERCE ET VENTE A DISTANCE
Développement d une application JAVA EE SITE WEB E-COMMERCE ET VENTE A DISTANCE PLAN PROJET Binôme ou monôme (B/M): M Nom & Prénom : AIT NASSER Btissam Email : aitnasser.btissam123@gmail.com GSM : Organisme
Plus en détailCompte Rendu d intégration d application
ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...
Plus en détailRefonte 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étailTP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.
ASTRIUM - Toulouse JEE Formation 2013 TP JEE Développement Web en Java Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. Figure 1 Architecture
Plus en détailLa persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1
La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection
Plus en détailTypes 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étailFormation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux
Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un
Plus en détailMise 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étailCours en ligne Développement Java pour le web
Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité
Plus en détailQuelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Plus en détailCahier des charges : gestion de projets agiles. Programmation d Algorithmes Distribués (PAD)
Cahier des charges : gestion de projets agiles Programmation d Algorithmes Distribués (PAD) Benoit Bernardin Rachid Bouherrou Bruno Juillard Kaba Kabinè Sid-ahmed Anouar Lekhal 2012 / 2013 Sommaire I.
Plus en détailBULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)
Ministère de l Enseignement Supérieur et de la Recherche Scientifique Ecole Supérieure Privée d Ingénierie et de Technologie BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)
Plus en détailJade. Projet Intelligence Artificielle «Devine à quoi je pense»
Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges
Plus en détailCQP Développeur Nouvelles Technologies (DNT)
ORGANISME REFERENCE STAGE : 26572 20 rue de l Arcade 75 008 PARIS CONTACT Couverture géographique : M. Frédéric DIOLEZ Bordeaux, Rouen, Lyon, Toulouse, Marseille Tél. : 09 88 66 17 40 Nantes, Lille, Strasbourg,
Plus en détailAvant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4
Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.
Plus en détail1. Installation d'un serveur d'application JBoss:
EPITA Ala Eddine BEN SALEM App-Ing2 J2EE T.P. 4 EJB3, Serveur d'application JBoss 1. Installation d'un serveur d'application JBoss: télécharger l'archive du serveur JBoss à l'adresse: http://sourceforge.net/projects/jboss/files/jboss/jboss-5.0.0.ga/jboss-5.0.0.ga.zip/download
Plus en détailDevenez un véritable développeur web en 3 mois!
Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web
Plus en détailOutil de planification en ligne pour des créations de rendez-vous ou de sondage
Outil de planification en ligne pour des créations de rendez-vous ou de sondage Centre de Ressources Informatiques (C.R.I.) d'orléans Université d'orléans 4-6 rue Léonard de Vinci, 45061 Orléans Cedex
Plus en détailExpert technique J2EE
EHRET Guillaume 25, rue de la Richelandiere 42100 SAINT ETIENNE 32 ans - Célibataire Expert technique J2EE Domaines de compétences Environnement et langages Expertise en programmation Java et en architecture
Plus en détailApplication 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étailHassene BELGACEM. Expériences Professionnelles. JEE architect / Technical leader. Ingénieur Informatique. Cycle Préparatoire
Objectifs Formations Expériences Professionnelles Hassene BELGACEM http://belgacem.hassene.netcv.com S intégrer dans une équipe de développement de haute compétence et participer activement dans la réalisation
Plus en détail7 villa de la citadelle Né le 13 mai 1983 94110 Arcueil Nationalité : Française. Développeur Web JEE COMPÉTENCES
Philippe Crépin 7 villa de la citadelle Né le 13 mai 1983 94110 Arcueil Nationalité : Française : 06.17.46.12.09 : phi.crepin@gmail.com Disponibilité : En poste chez Soft Computing Développeur Web JEE
Plus en détailCALENDRIERS DES FORMATIONS 2015- LILLE
CALENDRIERS DES FORMATIONS 2015- LILLE Pour les dates sur PARIS, TOULOUSE, NANTES, LYON, STRASBOURG et AIX télécharger les calendriers sur www.3itforms.fr 3it FORMATION 56/58 Boulevard de la République
Plus en détailBases de données et interfaces Génie logiciel
Bases de données et interfaces Génie logiciel Merlet benjamin Merlet-Billon Maryvonne Hueber Yann Jamin Guillaume Giraud Sandra Département Génie Biologique Professeurs responsables : Option BIMB Promotion
Plus en détailMOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006
MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006 SOMMAIRE 1 AVANT PROPOS...3 2 PRÉSENTATION...4 2.1 Quelques définitions...4 2.2 Besoins d'intégration d'un moteur de workflow...4
Plus en détailFormation en Logiciels Libres. Fiche d inscription
République Tunisienne Ministère de l'industrie et la Technologie - Secrétariat d'état de la Technologie Unité des Logiciels Libres Formation en Logiciels Libres Fiche d inscription (Une fiche par candidat)
Plus en détailINGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É JAVA - J2EE. 27 ans - 5 ans d'expérience
I0049 INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É JAVA - J2EE 27 ans - 5 ans d'expérience Expert ises mét iers : Langues : Editeur de logiciels Roumain (Langue maternelle), Russe (Avancé), Anglais (Intermédiaire),
Plus en détailLes tableaux de bord de pilotage de nouvelle génération. Copyright 2002-2008 PRELYTIS
Les tableaux de bord de pilotage de nouvelle génération Sommaire PRELYTIS en quelques mots LiveDashBoard : principes directeurs et positionnement La couverture fonctionnelle Démonstration Les packages
Plus en détail24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.
Plan du cours 2 Introduction générale : fondamentaux : les fondamentaux Michel Buffa (buffa@unice.fr), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime
Plus en détailIntroduction à la plateforme J2EE
Introduction à la plateforme J2EE Auteur : Oussama Essefi Directeur technique Expert Consulting Oussama.essefi@expert-consulting.biz Copyright 2010 Expert Consulting Page 1 1. Introduction 1.1. Pourquoi
Plus en détailUn 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étailJava 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étailArchitecture 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étailIntroduction MOSS 2007
Introduction MOSS 2007 Z 2 Chapitre 01 Introduction à MOSS 2007 v. 1.0 Sommaire 1 SharePoint : Découverte... 3 1.1 Introduction... 3 1.2 Ce que vous gagnez à utiliser SharePoint... 3 1.3 Dans quel cas
Plus en détailLes frameworks au coeur des applications web
Les frameworks au coeur des applications web Mémoire de bachelor réalisé par : Arielle Moro Directeur de mémoire : Peter Daehne, Professeur HES Genève, le vendredi 27 août 2010, Haute Ecole de Gestion
Plus en détailConception 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étailIntroduction à JDBC. Accès aux bases de données en Java
Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity
Plus en détailProjet 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étailCréation d une application JEE
Création d une application JEE Rédacteurs : Alexandre Baillif, Philippe Lacomme, Raksmey Phan et Michaël PLAN Date : juillet 2010 Mise à jour : Michaël PLAN Date : octobre 2014 Avertissement : - ce document
Plus en détailOutil de gestion et de suivi des projets
Outil de gestion et de suivi des projets Proposition technique et commerciale Amselem Jonathan - Corniglion Benoit - Sorine Olivier Troche Mariela - Zekri Sarah 08 Sommaire I. Les atouts de la proposition
Plus en détailAuto-évaluation Aperçu de l architecture Java EE
Auto-évaluation Aperçu de l architecture Java EE Document: f1218test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION APERÇU
Plus en détailEnvironnements de Développement
Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus
Plus en détailCatalogue des Formations Techniques
Catalogue des Formations Techniques Items Média Concept 4, allées Pierre-Gilles de Gennes - 33700 Mérignac Téléphone : 05.57.35.73.73 Télécopie : 05.57.35.73.70 Courriel : contact@imc-fr.com 2 Préambule
Plus en détailLANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation
ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier
Plus en détailArchitecture d'entreprise : Guide Pratique de l'architecture Logique
Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam
Plus en détailFormation : Langues : Types d Intervention et Secteurs d Activité :
Ismail HACHOUM 142, Rue Georges Pompidou, 59110 La Madeleine - FRANCE Email : ismail.hachoum@gmail.com Tél: +33(0) 650 198 937 27 ans - Marié Permis B Ingénieur Etudes et Développement Java/JEE Formation
Plus en détailArchitecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués
Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hébert.eheb@yahoo.fr
Plus en détail1 JBoss Entreprise Middleware
1 JBoss Entreprise Middleware Les produits de la gamme JBoss Entreprise Middleware forment une suite de logiciels open source permettant de construire, déployer, intégrer, gérer et présenter des applications
Plus en détailCours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»
Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web» Sana Sellami sana.sellami@lsis.org 2014-2015 Plan Partie 1: Introduction aux Services Web (SW) Partie 2: Vers une
Plus en détailTechnologie Web. Conception de sites Web. Alexandre Pauchet. INSA Rouen - Département ASI. INSA - ASI TechnoWeb : Rappels UML 1/21
INSA - ASI TechnoWeb : Rappels UML 1/21 Technologie Web Conception de sites Web Alexandre Pauchet INSA Rouen - Département ASI BO.B.RC.18, pauchet@insa-rouen.fr INSA - ASI TechnoWeb : Rappels UML 2/21
Plus en détailPrésident d Inotekk Gestion de la société, développement du portefeuille clients, gestion et réalisation des projets informatiques
LEO MARQUES Né le 11/09/1984 à Paris XIème (75) 7 Ter avenue Edith Cavell 06000 NICE Tél. Portable : 06 15 22 48 08 Permis A et B, véhicule personnel Président d Inotekk Gestion de la société, développement
Plus en détailWeb Tier : déploiement de servlets
Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation
Plus en détailAlfstore workflow framework Spécification technique
Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date
Plus en détailPlan de notre intervention 1. Pourquoi le test de charge? 2. Les différents types de tests de charge 1.1. Le test de performance 1.2.
Plan de notre intervention 1. Pourquoi le test de charge? 2. Les différents types de tests de charge 1.1. Le test de performance 1.2. Le test aux limites 3. Méthode 2.1. Pré-requis 2.2. Préparation des
Plus en détailCATALOGUE FORMATION. Product Lifecycle Management. Juin 2013
CATALOGUE FORMATION Product Lifecycle Management Juin 2013 s de formation ENOVIA V6 ENOVIA V6 Plateforme Collaborative 5 ENOVIA V6 Installation et Administration 9 ENOVIA V6 Implémentation et Développement
Plus en détailEtude de cas : PGE JEE V2
Arrivés à ce point du tutoriel, nous savons créer une application Web implémentant la persistance des données. Toutefois, le modèle de cette application était simple et composé d'une unique classe et les
Plus en détailProgramme «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étailMé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étailBien programmer. en Java 7. 10 000 ex. couleur. Avec plus de 50 études de cas et des comparaisons avec C++ et C# Emmanuel Puybaret.
Bien programmer en Java 7 Avec plus de 50 études de cas et des comparaisons avec C++ et C# Plus de 10 000 ex. vendus! Édition en couleur Emmanuel Puybaret, ISBN : 978-2-212-12974-8 chapitre1 Présentation
Plus en détailInstitut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki
Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants
Plus en détailProjet de Java Enterprise Edition
Projet de Java Enterprise Edition Cours de Master 2 Informatique Boutique en ligne L objectif du projet de JEE est de réaliser une application de boutique en ligne. Cette boutique en ligne va permettre
Plus en détailINF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude
INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude
Plus en détailAssurances & Mutuelles, Industrie, Santé, Énergie, Transport, Médias / Multimédias, Télécoms, Services
Société de conseil et d ingénierie en informatique SEELANDE Consulting, société de conseil et d ingénierie en informatique spécialisée dans les NTIC, se positionne dans différents secteurs d activités
Plus en détailPROPOSITION. One ID. Références développement. Version 1.0 Juillet 2009. One ID
développement One ID PROPOSITION Version 1.0 Juillet 2009 One ID 1155 avenue du Clapas 34980 Saint Gély du Fesc FRANCE Téléphone : 33 (0) 4 67 12 00 48 Fax : 33 (0) 9 55 82 99 73 Web : http://www.one-id.fr
Plus en détailUne Histoire de Migration Agile
Une Histoire de Migration Agile Présenté par Jaxio au Model Driven Day 2010 Cas client Banque de France Auditorium Prairie de 14h45 à 15h40 JAXIO info@jaxio.com http://www.jaxio.com/ Introduction Les
Plus en détailNotre Catalogue des Formations IT / 2015
Notre Catalogue des Formations IT / 2015 Id Intitulé Durée Gestion de projets et méthodes I1101 I1102 I1103 I1104 I1105 I1106 I1107 I1108 I1109 I1110 I1111 I1112 I1113 I1114 I1115 I1116 I1117 I1118 I1119
Plus en détailPatrons de Conception (Design Patterns)
Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques
Plus en détailOutil de Demande de Backup Système
10, Place Alfonse Jourdain 31000 Toulouse 05 34 45 22 00 AFPA TOULOUSE 1, allées Jean Griffon B.P 4426 31046 TOULOUSE Cedex 9 Outil de Demande de Backup Système ( Backup On Tape Requirements ) Rapport
Plus en détailCursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement
Cursus Outils & Développement Vous êtes Consultant, Chef de Projets, Directeur des Systèmes d Information, Directeur Administratif et Financier, Optez pour les «formations Produits» Nous vous proposons
Plus en détailConduite de projets informatiques Développement, analyse et pilotage (2ième édition)
Avant-propos 1. Objectifs du livre 13 2. Structure du livre 14 Un projet informatique 1. Les enjeux 17 1.1 Les buts d'un projet 17 1.2 Les protagonistes d'un projet 18 1.3 Exemples de projets 19 2. Les
Plus en détailD 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étailSIO-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étailLICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS
LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS Contenu détaillé de la spécialité : SIMO : SYSTEMES D'INFORMATION, METHODES ET OUTILS (ASSISTANT CHEF DE PROJET INFORMATIQUE) Contenu détaillé
Plus en détailTP réseau Android. Bidouilles Tomcat. a) Installer tomcat : il suffit de dézipper l'archive apache-tomcat-8.0.15-windowsx64.zip.
TP réseau Android Ce TP utilise tomcat 8, sous windows et des.bat windows. On peut trouver ce serveur web et conteneur d'applications web à http://tomcat.apache.org/download-80.cgi. Il se trouve dans l'archive
Plus en détailCAHIER DE S CHARGE S Remote Workload Manager
CAHIER DE S CHARGE S Remote Workload Manager équipe Regis Rouyard (rouyar_r) Jonathan Bouchot (boucho_o) Johan Massin (massin_j) Jacky Rouquette (rouque_j) Yannick Boillon (boillo_o) EPITECH INOVATION
Plus en détailSécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin
Sécurité des sites Web Pas un cours un recueil du net INF340 Jean-François Berdjugin Vulnérabilité Définition (wikipédia) : Dans le domaine de la sécurité informatique, une vulnérabilité est une faiblesse
Plus en détailCALENDRIERS DES FORMATIONS 2015- AIX-EN- PROVENCE
CALENDRIERS DES FORMATIONS 2015- AIX-EN- PROVENCE Pour les dates sur PARIS, TOULOUSE, NANTES, LYON, STRASBOURG et LILLE télécharger les calendriers sur www.3itforms.fr 3it FORMATION 56/58 boulevard de
Plus en détailNouvelles Plateformes Technologiques
Cycle de présentation du développement Nouvelles Plateformes Technologiques Observatoire Technologique, CTI Observatoire Technologique 4 mai 2004 p 1 Plan de la présentation 1. Historique du projet 2.
Plus en détailAuthentification et contrôle d'accès dans les applications web
Authentification et contrôle d'accès dans les applications web Quelques Rappels Objectifs : contrôler que seulement Certains utilisateurs Exécutent certaines opérations Sur certains objets Trois entités
Plus en détailFormation. Module WEB 4.1. Support de cours
Formation Module WEB 4.1 Support de cours Rédacteur Date de rédaction F.CHEA 08/02/2012 Les informations contenues dans ce document pourront faire l'objet de modifications sans préavis Sauf mention contraire,
Plus en détailProjet de Veille Technologique
Projet de Veille Technologique Programmation carte à puce - JavaCard Ing. MZOUGHI Ines (i.mzoughi@gmail.com) Dr. MAHMOUDI Ramzi (mahmoudr@esiee.fr) TEST Sommaire Programmation JavaCard Les prérequis...
Plus en détailInstitut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique
Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation
Plus en détailGestion collaborative de documents
Gestion collaborative de documents ANT box, le logiciel qui simplifie votre GED Les organisations (entreprises, collectivités, associations...) génèrent chaque jour des millions de documents, e-mails,
Plus en détailBrique 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étailREQUEA. 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étailANWAR EL BARAKA 14 ANS D EXPERIENCE - CERTIFIE PRINCE2 & ITIL
ANWAR EL BARAKA 14 ANS D EXPERIENCE - CERTIFIE PRINCE2 & ITIL Expériences professionnelles MARS 2009 A CE JOUR OCTOBRE 2008 MARS 2009 JANVIER 2006 SEPTEMBRE 2008 CO-FONDATEUR ALTITUDE TECHNOLOGY CONSULTING
Plus en détail- Rapport de stage Étude de solutions pour l intégration de fonctionnalités
- Étude de solutions pour l intégration de fonctionnalités de client riche dans une application de type J2EE 1.4 à l aide de frameworks Auteur: AZIZI Naoual Tuteur de stage: NICOD Jean-Marc Master 2 -
Plus en détailDocumentation technique
Documentation technique Documentation technique Destinataires : Direction EIP Nom du fichier : 2011_TD1_FR_Symbiosys.odt Promotion : 2011 (Epitech 5) Date de création : 10.04.2009 Chef de groupe : Manfred
Plus en détailHighPush. document 3.0 18/06/2009 Révision pour version 3.0 2.0 20/11/2008 Revision pour la 2.0 1.0 01/10/2008 Documentation initiale.
Version du Date document 3.0 18/06/2009 Révision pour version 3.0 2.0 20/11/2008 Revision pour la 2.0 1.0 01/10/2008 Documentation initiale Commentaires 1 Table des matières 1 Introduction / Identification...
Plus en détailObjectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui
Formation PARTIE 1 : ARCHITECTURE APPLICATIVE DUREE : 5 h Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui automatisent les fonctions Définir une architecture
Plus en détailENVOLE 1.5. Calendrier Envole
ENVOLE 1.5 Calendrier Envole RSA FIM 1 avril 2008 V 1.13 sur EOLE V 2.0 1 septembre 2008 EOLE V 2.1 10 octobre 2008 V 1.15 RC sur EOLE V 2.0 Modification du SSO EOLE 2.2 (PAM-CAS, CT EOLE V 2.2 RC Prise
Plus en détail1- Enregistrer le nouveau planning
La planification est un outil indispensable de management de projet, un moyen essentiel de prise de décisions pour le chef de projet : pour définir les travaux à réaliser, fixer des objectifs, coordonner
Plus en détailMS PROJECT 2000. Prise en main. Date: Mars 2003. Anère MSI. 12, rue Chabanais 75 002 PARIS E mail : jcrussier@anere.com Site : www.anere.
DOCUMENTATION MS PROJECT 2000 Prise en main Date: Mars 2003 Anère MSI 12, rue Chabanais 75 002 PARIS E mail : jcrussier@anere.com Site : www.anere.com Le présent document est la propriété exclusive d'anère
Plus en détailJOnAS Day 5.1. Outils de développements
JOnAS Day 5.1 Outils de développements Agenda Introduction Plugin Eclipse (JOPE) Plugin NetBeans (JOnbAS) Cargo 2 Bull, 2009 JOnAS Day 5.1 Objectifs - Réduire les temps de développement - Construction
Plus en détailWEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES
WEB & DÉVELOPPEMENT LES BASES DU WEB HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES LE LANGAGE HTML STRUCTURE D UNE PAGE En-tête et corps Syntaxe INSÉRER DES CONTENUS Texte : formatage (titre,
Plus en détailIntroduction aux «Services Web»
Introduction aux «Services Web» Sana Sellami sana.sellami@univ-amu.fr 2014-2015 Modalité de contrôle de connaissances Note de contrôle de continu Note projet Evaluation du projet la semaine du 17 novembre
Plus en détailOMGL6 Dossier de Spécifications
OMGL6 Dossier de Spécifications HELPDESK Radoslav Cvetkoski, Xavier Fantin, Yohann Haution, Yanis Salti, Sébastien Tassier Cvetkoski, Fantin, Haution, Salti, Tassier Page 1 Sommaire 1. Historique du document...
Plus en détailarcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr
arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr Auteur du document : ESRI France Version de la documentation : 1.2.0.0 Date de dernière
Plus en détail