UNIVERSITE du 7 NOVEMBRE à CARTHAGE. Institut National de Sciences Appliquées et de Technologie CONCEPTION DES BASES DE DONNEES PROJECT ADMIN



Documents pareils
CREATION WEB DYNAMIQUE

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Le langage SQL (première partie) c Olivier Caron

Exemple de configuration ZyWALL USG

Bases de données relationnelles

Application web de gestion de comptes en banques

Les BASES de DONNEES dans WampServer

TP Contraintes - Triggers

Création et Gestion des tables

Système Normalisé de Gestion des Bibliothèques -SYNGEB : version Réseau-

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

PHP 4 PARTIE : BASE DE DONNEES

PHP 5. La base de données MySql. A. Belaïd 1

Bases de Données relationnelles et leurs systèmes de Gestion

OFFICE OUTLOOK QUICK START GUIDE

Bases de données et sites WEB

GUIDE D INSTALLATION DE L APPLICATION GECOL SUR

Guide Utilisateur. Edition Mars Agenda. s. Evènements. Synchroniser avec les identités de gestion, de. Messagerie interne. Post-it.

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

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 des utilisateurs et de leurs droits

Olivier Mondet

2 LES BASES DU HTML 19 Qu est-ce que le HTML? 20 De quand date le HTML? 20 Écrire son propre code HTML 22

Outlook Présentation.

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

Atelier Le gestionnaire de fichier

contact@nqicorp.com - Web :

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées


NetCrunch 6. Superviser

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)

La version 3.0 de Corman S

OpenPaaS Le réseau social d'entreprise

Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION

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)

PARAMETRER LA MESSAGERIE SOUS THUNDERBIRD

Espace de travail collaboratif

Cours: Administration d'une Base de Données

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Espace numérique de travail collaboratif

L installation du module Webmail nécessite également quelques prérequis, à savoir :

Pratique et administration des systèmes

Services Réseaux - Couche Application. TODARO Cédric

Logiciel HLA Fusion Version 3.X.X

Stockage du fichier dans une table mysql:

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Configuration de tous les systèmes d exploitations

Table des matières ENVIRONNEMENT

INTRODUCTION et choix de la méthode d installation

Mise en place d un intranet de travail collaboratif. Guide utilisateur

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Cours de SQL SERVER 2005 SQL SERVER 2005

Messagerie & Groupeware. augmentez l expertise de votre capital humain

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public.

HYBIRD 120 GE POUR LES NULS

SITE WEB E-COMMERCE ET VENTE A DISTANCE

Ce manuel vous accompagne au long des procédures d installation et de restauration de PheBuX 2004 [alternative solutions]

Configuration de GFI MailArchiver

Introduction au Système de Gestion de Base de Données et aux Base de Données

Le Langage SQL version Oracle

Module «Pilotage de Projet» - Module GPRO-0

Guide de démarrage Intellipool Network Monitor

SUPPORT DE COURS / PHP PARTIE 3

L3 informatique TP n o 2 : Les applications réseau

Guide administrateur AMSP

STATISTICA Version 12 : Instructions d'installation

Créer et partager des fichiers

Savoir utiliser les services de l ENT Outils personnels SOMMAIRE

Le Client/Serveur avec Enterprise Miner version 4

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

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

contact@nqicorp.com - Web :

Pour les débutants. langage de définition des données

Manuel utilisateur Centre de Messagerie

Manuel BlueFolder ADMINISTRATION

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication

Compétences Business Objects

Définition des Webservices Ordre de paiement par . Version 1.0

Guide de l utilisateur Communauté virtuelle de pratique en gestion intégrée des risques

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

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Documentation Liste des changements apportés

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

TP3 : Creation de tables 1 seance

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

MailStore Server 7 Caractéristiques techniques

Module pour la solution e-commerce Magento

Statistiques réseau et système avec CACTI

(1) Network Camera

BIRT (Business Intelligence and Reporting Tools)

Installation d'un serveur FTP géré par une base de données MySQL

ALLIANZ MODE OPERATOIRE DE MIGRATION D UNE AGENCE WINDOWS Août Version du document : 010

Gestion de stock pour un magasin

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/ bits, Windows 2008 R2 et Windows bits

FileMaker Server 14. Aide FileMaker Server

Volet de visualisation

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

Transcription:

UNIVERSITE du 7 NOVEMBRE à CARTHAGE Institut National de Sciences Appliquées et de Technologie CONCEPTION DES BASES DE DONNEES PROJECT ADMIN 4éme Année Génie Logiciel REALISE PAR: ADOUANI NABIL LOUKIL BRAHIM Année universitaire 2004-2005

SOMMAIRE SOMMAIRE... 2 INTRODUCTION... 3 PPRESENTATION... 3 OBJECTIFS... 3 CONCEPTION ET CHOIX DES SOLUTIONS... 4 HYPOTHESES ET REGLES DE GESTION... 4 MODELE CONCEPTUEL DE DONNEES... 5 MODELE LOGIQUE DE DONNES... 7 LA BASE DE DONNEES : PROJECTADMIN... 7 REALISATION... 12 HYPOTHESES... 12 FONCTIONNALITES DE L APPLICATION... 12 GESTION DES ENTITES... 13 LA GESTION D ACCES PAR SESSION... 13 GESTION DES MENUS... 14 DIAGRAMME DE GANTT... 14 DIAGRAMME DE PLANNING... 16 SUIVI DES BUDGETS DES PROJETS... 17 GESTION DE TEMPS... 18 STATISTIQUE... 20 MODULE DE MESSAGERIE... 21 PROCEDURE D INSTALLATION... 22 CONCLUSION... 24 2

INTRODUCTION PPRESENTATION Selon le Project Management Institute (Clevland, 1990) : «La gestion de projets est l'art de diriger et de coordonner des ressources humaines et matérielles tout au long de la vie d'un projet en utilisant des techniques de gestion modernes pour atteindre des objectifs prédéfinis d'envergure, de coût, de temps, de qualité et de satisfaction des participants.» Il est possible de compléter cette définition en mentionnant aussi les ressources financières et les ressources informationnelles. Il faut signaler aussi la différence entre la gestion par projets et la gestion de projets: La gestion de projets privilégie davantage l'objet sur lequel porte le projet, tandis que la gestion par projets utilise le projet comme méthodologie appropriée pour introduire dans la gestion d'un ensemble organisationnel les changements souhaités. OBJECTIFS Notre objectif au niveau de ce projet est de développez un outil de gestion de projets, autrement dit, un outil de planification et de suivi de projets. Il permettra aussi la gestion des employés, des équipes, des tâches, des clients 3

CONCEPTION ET CHOIX DES SOLUTIONS HYPOTHESES ET REGLES DE GESTION L entité principale des cette application est l entité projet. Un projet est constitué de tâches, rassemblées si possible dans des groupes de tâches. Il correspond à un client, est exécuté par plusieurs employés regroupés dans des équipes, a un manager Toutes ces entités sont doivent être gérées par l application. Certaines fonctionnalités ne sont accessibles que par des utilisateurs spécifiques, d où la nécessité de définir des niveaux de sécurité (ou rôles). Le suivi des projets doit être effectué sur trois dimensions : La dimension temps : diagrammes de Gantt La dimension coût : calcul des dépenses La dimension technique : suivi du rendement des employés 4

Figure 1 : Les trois dimensions d un projet Ces hypothèses constituant le point de départ de notre conception, nous mène à formuler quelques règles de gestion : Un projet est relatif à un client, il a un manager (chef de projet) et à un statuts. Un employé fait partie d une équipe, il peut devenir manager à partir d une certaine date, il a un salaire, un niveau de sécurité Un projet est composé de tâches, effectués par des employés dans une certaine période Un client a plusieurs projets possibles A partir de ces règles de gestion parmi d autre, on a construit un le squelette de notre système d information. MODELE CONCEPTUEL DE DONNEES Le système d information de cette application est constitué de plusieurs entités : Client Employé 5

Projet Equipe Tâche Groupe de tâches Manager Salaire Niveau de sécurité Région (origine du client) Statuts projet Boîte de messages Le modèle conceptuel de données correspondant est représenté dans la figure ci-dessus : Figure 2 : Modèle conceptuel de données 6

suivant : MODELE LOGIQUE DE DONNES A partir de ce modèle conceptuel de données, on a déduit ce modèle logique Employee (userid, password, lastname, firstname, email, tel, startdate, enddate) Team (id, name, description, #managerid) Rate (id, name, description, wage, charged) Manager (#userid, startdate) Region (id, name) Client (id, name, abbreviation, contact, email, tel, fax, #region) Project (id, name, status, startdate, enddate, description, #managerid, #clientid) Status (id, name) Securitylevel (id, name) Menu (id, menu, rubrique, subrubrique, link) Securitylevel_menu (#securitylevelid, #menuid) Assignement (date, starttime, endtime, #employeeid, #taskid, #projectid) Plannig (id, date, #employeeid, #taskid, #projectid, limitdate) Task (id, name, description, prorating, #taskgroupid) Taskgroup (id, name, description) Mailbox (account,#userid,password,activated) LA BASE DE DONNEES : PROJECTADMIN Notre base de données sera implémentée sous le SGBG transactionnel PostgresQL. Le script SQL de création des tables est le suivant : --Liste des niveaux de sécurité CREATE TABLE securitylevel( id int default nextval('seq_securitylevel') PRIMARY KEY, name varchar(20) NOT NULL 7

--Liste des menus accessibles via l interface utilisateur CREATE TABLE menu( id varchar(100) PRIMARY KEY, menu varchar(100) NOT NULL, rubrique varchar(100) NOT NULL, subrubrique varchar(100), link varchar(100) --Association entre les niveaux de sécurité et les menus accessibles --par le niveau en question CREATE TABLE securitylevel_menu( securitylevelid int NOT NULL references securitylevel, menuid varchar(100) NOT NULL references menu, PRIMARY KEY(securitylevelid,menuid) --Liste des types de salaire CREATE TABLE rate( id int default nextval('seq_rate') PRIMARY KEY, name varchar(30) NOT NULL, description varchar(255), wage float NOT NULL, charged float NOT NULL --Liste des régions (origine des clients) CREATE TABLE region( id int default nextval('seq_region') PRIMARY KEY, name varchar(30) NOT NULL --Liste des clients CREATE TABLE client( id int default nextval('seq_client') PRIMARY KEY, name varchar(100) NOT NULL, abbreviation varchar(10) NOT NULL, 8

contact varchar(30) NOT NULL, email varchar(30), tel varchar(30) NOT NULL, fax varchar(30), region int REFERENCES region --Liste des groupes de tâches CREATE TABLE taskgroup( id int default nextval('seq_taskgroup') PRIMARY KEY, name varchar(30) NOT NULL, description varchar(255) --Liste des tâches CREATE TABLE task( id int default nextval('seq_task') PRIMARY KEY, name varchar(30) NOT NULL, description varchar(255), prorating float NOT NULL, taskgroupid int REFERENCES taskgroup --liste des employés CREATE TABLE employee( userid varchar(30) PRIMARY KEY, password varchar(30) NOT NULL, lastname varchar(30) NOT NULL, firstname varchar(30) NOT NULL, email varchar(30), tel varchar(20) NOT NULL, startdate date NOT NULL, enddate date NOT NULL --Liste des managers CREATE TABLE manager( 9

userid varchar(30) PRIMARY KEY REFERENCES employee, startdate date NOT NULL --Liste des équipes d employés CREATE TABLE team( id int default nextval('seq_team') PRIMARY KEY, name varchar(30) NOT NULL, description varchar(255), managerid varchar(30) REFERENCES manager ALTER TABLE employee ADD teamid int REFERENCES team; ALTER TABLE employee ALTER COLUMN teamid SET NOT NULL; ALTER TABLE employee ADD securitylevelid int REFERENCES securitylevel; ALTER TABLE employee ALTER COLUMN securitylevelid SET NOT NULL; ALTER TABLE employee ADD rateid int REFERENCES rate; ALTER TABLE employee ALTER COLUMN rateid SET NOT NULL; --Liste des statuts des projets CREATE TABLE status( id int default nextval('seq_status') PRIMARY KEY, name varchar(30) NOT NULL --Listes des projets CREATE TABLE project( id int default nextval('seq_project') PRIMARY KEY, name varchar(30) NOT NULL, status int NOT NULL REFERENCES status, startdate date NOT NULL, enddate date NOT NULL, description varchar(255), managerid varchar(30) NOT NULL REFERENCES manager, clientid int NOT NULL REFERENCES client 10

--Liste des déclarations d exécution des tâches CREATE TABLE assignement( date date NOT NULL, starttime time NOT NULL, endtime time NOT NULL, employeeid varchar(30) NOT NULL REFERENCES employee, taskid int NOT NULL REFERENCES task, projectid int NOT NULL REFERENCES project, PRIMARY KEY(date,starttime,endtime,employeeid,taskid) --Liste des plannings CREATE TABLE planning( id int default nextval('seq_planning') PRIMARY KEY, date date NOT NULL, employeeid varchar(30) NOT NULL REFERENCES employee, taskid int NOT NULL REFERENCES task, projectid int NOT NULL REFERENCES project, limitdate date NOT NULL --Liste des boîtes de messages CREATE TABLE mailbox( account varchar(255) PRIMARY KEY, userid varchar(30) NOT NULL references employee, password varchar(255) NOT NULL, activated boolean default 'false' NOT NULL 11

REALISATION HYPOTHESES Notre application sera développée en PHP avec une base de données (comme déclaré ci-dessus) implémentée sous PostgreSQL. Notre source d inspiration est une application commerciale de gestion de projet : Track-it Pro de DOVICO SOFTWARE. Cette solution est une application Windows, qui utilise en tant que fournisseur de données, MS SQL Server ou MSDE. FONCTIONNALITES DE L APPLICATION Les fonctionnalités de l application sont diverses. A part la gestion des différentes entités du système d information en appliquant les quatre primitives de base (ajout, suppression, modification, consultation), on trouve : La gestion d accès par session Gestion des niveaux d accès aux fonctionnalités de l application par l utilisation de menus dynamiques Un module de traçage de diagramme de Gantt Un module de traçage de diagramme de planning Un module de suivi des budgets des projets Un module de gestion du temps Un module de statistique (rendement par employé) Un module de messagerie 12

GESTION DES ENTITES Il s agit d ajouter, de modifier, de supprimer et de consulter des données relatives aux différentes entités en tant que telles. Ces fonctionnalités sont accessibles via des interfaces composées de formulaire HTML et exécutant des ordres SQL de type INSERT, UPDATE, DELETE et SELECT. La validation des entrées est effectuée en PHP Figure 3 : Formulaire de modification d employé LA GESTION D ACCES PAR SESSION L accès à l application commence par une authentification qui se fait par le «userid» et le «password» de l employé. Une fois authentifié, l utilisateur peut accéder seulement aux fonctionnalités permises pour son niveau de sécurité. 13

Si une page autre que est appelée sans passer par la page d authentification, une redirection est effectuée vers cette dernière. Une session peut être terminée soit par un «logout» soit en fermant le navigateur. GESTION DES MENUS Les menus, dans l ensemble représentent des points d accès aux fonctionnalités de l application. Certaines de ces fonctionnalités sont accessibles par un groupe d employés sans le reste. Par exemple, la suppression d employés n est visible que par l administrateur, la création et la modification de projet est visible aussi pour les managers De cette façon, on peut définir des niveaux d accès multiples à partir de 56 menus possibles, exactement 2 56 niveaux soit 72057594037927936 qui représentent le nombre de combinaisons possibles à partir de 56 éléments. Ce concept est inspiré de la gestion des rôles dans ZOPE. DIAGRAMME DE GANTT Les diagrammes de GANTT représentent le déroulement des projets par la présentation du séquencement et de l ordonnancement des tâches. D autres variantes peuvent êtres déduites par exemple pour représenter la participation des employés au niveau d un certain projet. Diagramme de Gantt projet : 14

Figure 4 : Diagramme de Gantt par projet et tâches Diagramme de Gantt employé : Figure 5 : Diagramme de Gantt par projet et employés Diagramme de Gantt détaillé par date : 15

Figure 6 : Diagramme de Gantt de détails par date Ces diagrammes sont dessinés en utilisant le module JPGraph, qui est un outil libre en PHP permettant de construire toute forme de graphe et se basant sur la bibliothèque GD de PHP. DIAGRAMME DE PLANNING Ces diagrammes servent à montrer aux employés, les tâches qu ils ont à faire sous forme d un graphe. Ces tâches sont introduites par les managers des projets et représentent les objectifs à atteindre pendant une période commençant par une date de début à une date limite. 16

Figure 7 : Diagramme de planning SUIVI DES BUDGETS DES PROJETS Cette fonctionnalité permet de calculer les coûts des projets à la charge de l entreprise et à la charge du client. Le premier type est la somme des coûts des tâches effectuées pour un projet et le second type est la somme des coûts des tâches pondérés par un coefficient de prorata par tâche. Elle présente les détails des coûts par date, par employé et par tâche. 17

Figure 8 : Suivi de budgets des projets GESTION DE TEMPS Ce module comporte deux fonctionnalités : Les Project TimeSheet : qui donnent les durées des différentes tâches effectuées par un certain employé par date 18

Figure 9 : Project Timesheet Les Timesheet : qui donnent la somme des durées de travail par date. Les informations sont affichées dans un calendrier navigable, rempli par les durées. 19

Figure 10 : Timesheet employé STATISTIQUE Ce module permet de visualiser le rendement des employés durant une période définie. Le rendement est représenté par le nombre d heures travaillées. 20

Figure 11 : Courbe de rendement par employés MODULE DE MESSAGERIE C est un module qui permet, comme son nom l indique, l envoie de mails à l administrateur du système. On utilise, en effet, un serveur postfix et les deux protocoles SMTP (envoi) et POP3 (réception). L administrateur possède une boîte de réception lui permettant de visualiser les messages reçus, consulter les pièces jointes, supprimer des messages L envoie de message se fait par les différents utilisateurs avec la possibilité d envoyer des pièces jointes. Lors de l insertion de l employé, une fonction s exécute pour ajouter une nouvelle boîte de messages pour cet employé. L administrateur du système peut ainsi créer un compte mail pour cet employé puis activer la boîte de réception. Une fois l activation a eu lieu, l employé peut envoyer et recevoir ces mails. Cette manière de gérer les boîtes de messages, ne dépends pas du serveur de messagerie, d autre méthode permettent de faire travailler postgres et postfix ensemble, en se servant des domaines virtuels. De telles méthodes nous mèneraient à entamer une autre configuration, celle du serveur de messagerie qui est un sujet à part. 21

Figure 12 : Boîte de réception des emails PROCEDURE D INSTALLATION L installation de l application ProjectAdmin se fait de la manière suivante : Créer une base de données ProjectAdmin. Vérifier le fichier de configuration pg_hba.conf de POSTGRESQL pour permettre l accès à la base de données, ainsi que la valeur du paramètre DateStyle du fichier postgresql.conf aui doit être mise à «european». Modifier le fichier $PROJECTADMIN_HOME/main/getConnection.php en spécifiant les valeurs correctes des paramètres de connexion à la base de données. Vérifier les permissions d accès des dossiers $PROJECTADMIN_HOME/upload/ et $PROJECTADMIN_HOME/messagerie/tmp/ et leur donner la valeur 666. Insérer la structure de la base de données ainsi que le jeux d essai via le fichier $PROJECTADMIN_HOME/sql/ProjectAdmin.sql. 22

Copier les fichiers de police du dossier $PROJECTADMIN_HOME/Font/ dans le répertoire qui correspond à la valeur du paramètre «TTF_DIR» du fichier $PROJECTADMIN_HOME/jpgraph/jpgraph.php. 23

CONCLUSION Ce projet nous a permis d apprendre, en premier lieu, à manipuler le SGBD transactionnel PostgreSQL, en second lieu, d interfacer l interrogation d une base de données sous ce même SGBD via un langage script : PHP. On a pu par la suite utiliser nos connaissances au niveau de l installation et la configuration d un serveur de messagerie Postfix en y incluant la notion de Virtual Host Mailbox qui permet de créer des boîtes de réception pour des utilisateurs qui n ont pas de comptes UNIX. Reste à définir nos perspectives : amélioration du module de statistique en y incluant d autres fonctions, ajout d autre diagrammes de Gantt, de planning, ajouter un module de recherche 24