WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

Mise en place d'un système d'information pour la gestion des ressources au sein de la DGI


par Onjatiana Armand RATSIMBAZAFY
ENI Fianarantsoa - ING2 2010
Dans la categorie: Informatique et Télécommunications
   
Télécharger le fichier original

Disponible en mode multipage

Sommaire

SOMMAIRE 1

LISTE DES ABBREVIATIONS 5

INTRODUCTION GENERALE 6

I PRESENTATION DE L'ECOLE N ATIONALE D'INFORMATIQUE(ENI) 7

1. Localisation et contact 7

2. Organigramme 7

3. Missions et historique 7

4. Domaines de spécialisation 9

5. Architecture de la pédagogie 9

6. Filières de formation existante et diplômes délivrés 10

7. Relations partenariales de l'ENI avec les entreprises et les organismes 11

7.1 Au niveau national 11

7.2 Au niveau international 12

8. Ressources humaines 13

9. Projets et perspectives de développement institutionnel (2010-2014) 13

II PRESENTATION DE LA DIRECTION GENERALE DES IMPOTS 14

2.1. COORDONNEE : 14

2.2. HISTORIQUE : 14

2.3. OBJECTIFS : 14

2.4. MOYENS : 15

2.5. ORGANIGRAMME 15

III. PRESENTATION DU PROJET 17

3.1. Analyse de l'existant 17

3.1.1Equipements informatiques de la division informatique 17

3.2 PRESENTATION DETAILLEE 20

3.3 MOYENS NECESSAIRES POUR LA MISE EN OEUVRE 21

IV.CONCEPTION AVANT PROJET 23

4.1. SCENARII POSSIBLES 23

4.2. DESCRIPTION DES SCENARII 23

4.1.1. SCENARIO 1 23

4.1.2. SCENARIO2 : 24

4.1.3. SCENARIO3 24

4.3. Choix des outils de développement 25

4.4. Choix de la méthode 25

V.ANALYSE CONCEPTUEL 26

5.1. Introduction 26

5.2. Présentation du modèle conceptuel des données 26

5.2.1. L'entité 27

5.2.2. La relation : 27

5.2.3. L'héritage entre entités 28

5.3. Elaboration du modèle conceptuel des données 29

5.3.1 Les règles de gestion 29

5.3.2 Le dictionnaire des données : 30

5.3.3 Le modèle conceptuel des données 32

5.4. Elaboration du modèle logique de donnée(MLD) 33

5.4.1. Règle de passage du MCD au MLD 33

5.4.2. Le Modèle Logique des Données 33

VI.PRESENTATION DES OUTILS 35

6.1. Présentation de Oracle 10g 35

6.1.1. Historique 35

6.1.2. Les composants d'Oracle 37

6.1.3. Les outils d'administrations d'Oracle 37

6.1.4. Les outils de développement d'Oracle 38

6.2. Les fonctionnalités d'Oracle 38

6.2.1. Les fichiers physiques d'une base Oracle 40

6.2.2. Les processus d'Oracle 41

6.2.3. Dictionnaires de données d'Oracle 43

6.2.4. Les différentes vues d'Oracle 43

6.3. Présentation du langage PL/SQL 44

6.3.1. Pourquoi PL/SQL ? 45

6.3.2. Architecture de PL/SQL 47

6.3.4. Syntaxe de PL/SQL 49

6.4. Présentation de Windev 51

6.4.1 Concept de base de Windev 51

6.4.2 Base de programmation 52

VII. REALISATION 54

7.1 Architecture du système 54

7.2. Administration Oracle 10g : 54

7.2.1. Création espace disque logique 54

7.2.2. Création d'une table 56

7.2.3. IMPORT/ EXPORT Base ORACLE 59

7.3. Création d'un projet sous Windev 59

7.3.1. Projet Windev 59

7.3.2 Création d'un RAD 61

7.3.3 Création d'un Exécutable 64

7.3.4 Création de l'installation 65

7.4. Accès ODBC Oracle 67

7.4.1. Création d'une source de donnée ODBC 67

Et le remplir comme ci-après 68

7.4.2. Script de configuration de ODBC sous Windev 69

7.5. Quelques menus proposés par l'application 69

7.5.1. Le fenêtre d'authentification 69

7.5.2. Le menu principale 70

7.5.3. Menu Employé 71

CONCLUSION 74

BIBLIOGRAPHIE 75

GLOSSAIRES 76

ANNEXE 78

LISTES DES FIGURES 81

LISTES DES TABLEAUX 83

LISTE DES ABBREVIATIONS

CCNA Cisco Networking Academy

DBA DataBase Administrator

DBCA DataBase Configuration assistant

DBWR DataBase Writer or Dirty Buffer Writer

DDL Data Definition Language

DEA Diplôme d'étude Approfondie

DGI Direction Générale des Impôts

ENI Ecole Nationale de l'Informatique

HTML HyperText Markup Language

HTTP HyperText Transfer Protocol

IHM Interface Homme Machine

IRD Institut de recherche pour le développement

INPG Institut National Polytechnique de Grenoble

LGWR Log Writer

LMD Licence - Master - Doctorat

MCD Modèle Conceptuel des Données

MCT Modèle Conceptuel des Traitements

MLD Modèle Logique des Données

MOPT Modèle Opérationnel des Traitements

MOT Modèle Organisationnel des Traitements

MPD Modèle Physique des Données

OCI Oracle Call Interface

OLAP Online Analytical Processing

PHP Preprocessor Hypertext Page

PL/SQL Procedural Language/Structured Query Language

SGA System Global Area

SGBD Système de Gestion de Base de Données

SGBDR SGBD Relationnel

SQL Structured Query Language

INTRODUCTION GENERALE

Les nouvelles technologies de l'information et de la communication ouvrent un large champ des possibilités dans la gestion des ressources humaines, mais exigent pour être mises en oeuvre avec succès, des moyens matériels et logiciels.

Actuellement, la DGI ne dispose pas encore d'un outil logiciel pour gérer ses ressources humaines, les besoins se font donc sentir au niveau de la direction sur la nécessité de mettre en place un système d'information automatisé pour gérer les ressources humaines afin de contrôler efficacement les informations liées aux employés de la direction. D'où la naissance de ce projet.

Ce présent travail intitulé «Mise en place d'un système d'information pour la gestion des ressources humaines » a donc, non seulement une dimension technique, mais aussi une dimension humaine et organisationnelle. En effet, pour la DGI, il s'agit de mettre en place des pratiques de travail améliorant le traitement de l'information et ainsi que l'efficacité des activités.

Dans cette optique, il est essentiel d'utiliser une méthode d'analyse et de conception qui reproduit et organise de manière efficace les informations, les activités ainsi que les besoins de l'utilisateur.

En partant de cette perspective, nous mènerons ainsi ce projet en 3 étapes : la première partie permettra de cerner le domaine de l'étude, la deuxième partie abordera en détails la conception en se basant sur l'analyse de l'existant, et la troisième partie permettra, enfin, de voir la manière dont a été réalisée l'application

I PRESENTATION DE L'ECOLE N ATIONALE D'INFORMATIQUE(ENI)

1. Localisation et contact L'École Nationale d'Informatique se situe à Tanambao Fianarantsoa, sa boîte postale est

1487 avec le code postal 301, son téléphone est 75 508 01 et son adresse électronique est eni@univ-fianar.mg.

2. Organigramme

Figure 1 : Organigramme de l'ENI

3. Missions et historique

L'Ecole Nationale d'Informatique constitue à l'heure actuelle la pépinière des élites

informaticiennes malgaches. On peut considérer cette Ecole Supérieure comme la vitrine et la mesure de l'avancée technologique du Pays.

Elle se positionne dans le système socio-éducatif malgache comme le plus puissant
vecteur de diffusion et de vulgarisation des connaissances et des technologies informatiques.
Créée par le Décret N° 83 185 du 24 mai 1983, l'ENI est le seul Etablissement
universitaire professionnalisé du pays ayant pour mission de former des Techniciens

Supérieurs, des Licenciés en informatique et des Ingénieurs informaticiens de haut niveau, aptes à répondre aux besoins et exigences des entreprises, aussi bien nationales qu'internationales

L'implantation de cette Ecole Supérieure de technologie de pointe dans un pays en voie de développement et dans une province à tissu économique et industriel faiblement développé, n'a pourtant pas empêché de former des spécialistes informaticiens de bons niveaux recherchés par les sociétés et les organismes.

Depuis sa création jusqu'à aujourd'hui, l'ENI placée sous la tutelle de l'Université de Fianarantsoa a formé et déversé sur le marché de l'emploi :

13 promotions d'Analystes Programmeurs, soit 447 diplômés. 22 promotions d'Ingénieurs Informaticiens, soit 554 diplômés.

13 promotions de Techniciens Supérieurs en Maintenance des Systèmes Informatiques, soit 310 diplômés.

Soit en tout 1311 diplômés.

La filière de formation d'Analystes Programmeurs a été créée en 1983, et a été gelée par la suite en 1996.

La filière de formation d'ingénieurs a été ouverte à l'Ecole en 1986.

La filière de formation de Techniciens Supérieurs en Maintenance des Systèmes Informatiques a été mise en place à l'Ecole en 1996 grâce à l'appui matériel et financier de la Mission Française de Coopération dans le cadre du Programme de Renforcement de l'Enseignement Supérieur (PRESUP).

Une formation pour l'obtention de la certification CCNA et/ou Network+, appelée « Cisco Networking Academy à Madagascar », en 2002-2003, a été créé grâce au partenariat avec Cisco System et l'Ecole Supérieure Polytechnique d'Antananarivo (ESPA). Cette formation n'existe plus actuellement.

Une formation doctorale a été ouverte depuis l'année universitaire 2003-2004 avec une parfaite coopération entre l'Université de Fianarantsoa (ENI) et celle de Toulouse.

Finalement une formation en licence professionnelle en informatique ayant comme

options

(Administration des systèmes et des réseaux, génie logiciel et base de données) a été ouverte pendant l'année universitaire 2007-2008.

La filière de formation de Techniciens Supérieurs en Maintenance des Systèmes Informatiques a été suspendue en 2008.

4. Domaines de spécialisation

· Génie logiciel et base de données

· Maintenance des systèmes informatiques

· administration des systèmes et des réseaux

· Modélisation environnementale et Système d'Information Géographique

5. Architecture de la pédagogie

L'ENI forme des Licenciés et des Ingénieurs directement opérationnels au terme de leur formation respective. Ce qui oblige l'Ecole à entretenir des relations de collaboration étroites et permanentes avec les entreprises et le monde professionnel de l'Informatique à Madagascar.

La responsabilité de l'Ecole pour cette professionnalisation des formations dispensées implique de

- Suivre les progrès technologiques et méthodologiques en Informatique (recherche

appliquée, veille technologique, technologies Réseau, Multimédia, Internet,...).

- Prendre en considération dans les programmes de formation les besoins évolutifs des

entreprises et des autres utilisateurs effectifs et potentiels, de la technologie informatique.

Cependant la professionnalisation ne peut se faire en vase close ; elle exige une «orientation client » et une « orientation marché ». Ce sont les entreprises qui connaissent le mieux leurs besoins en personnel informatique qualifié. Ces entreprises partenaires collaborent avec l'ENI en présentant des pistes et des recommandations pour aménager et réactualiser périodiquement les programmes de formation. Ainsi, dans le cadre de ce partenariat avec les sociétés dans les divers bassins d'emploi en Informatique, elle offre sur le marché de l'emploi des cadres de bon niveau, à jour et directement opérationnels.

L'architecture des programmes pédagogiques à l'Ecole s'appuie sur le couple théoriepratique :

- des enseignements théoriques et pratiques de haut niveau sont dispensés intramuros à l'Ecole,

- des voyages d'études sont effectués par les étudiants nouvellement inscrits et ayant passé une année d'études à l'Ecole,

- des stages d'application et d'insertion professionnelle sont pratiqués en entreprise

chaque année par les étudiants au terme de chaque formation académique à l'Ecole. Les stages effectués en entreprise par les étudiants de l'ENI sont principalement des stages de pré embauche.

Ces stages pratiques assure à l'Ecole un taux moyen d'embauche de 97%, six mois après la sortie de chaque promotion de diplômés.

6. Filières de formation existante et diplômes délivrés

- Cycle licence en informatique spécialisé en administration des systèmes et des réseaux, puis en génie logiciel et base de données, aboutissant au Diplôme Universitaire de licenciés informaticiens. L'effectif des étudiants en année universitaire 2009 - 2010 :

L1 (Première année de Licence ) : 63

L2 (Deuxième année de Licence) : 53

L3 (Troisième année de Licence) : 52

- Cycle de formation d'Ingénieurs Informaticiens avec des compétences en Gestion, Systèmes et réseaux, de niveaux Baccalauréat + 5. Les effectifs des étudiants en 2009-2010 :

o ING2 (Deuxième année de la formation d'ingénieur) : 49
o ING3 (Troisième année de la formation d'ingénieur) : 46

- La formation en DEA en informatique organisée en partenariat avec l'Université Paul Sabatier de Toulouse. Les trois meilleurs étudiants de la promotion effectuent les travaux de recherche à Toulouse. Cette formation est un élément du système de formation de troisième cycle et d'études doctorales qui sera mise en place progressivement à l'ENI.

- Une formation non diplômant en CISCO ACADEMY, soutenue par les Américains, avec une certification CCNA. Les effectifs des étudiants dans le système depuis sa création :

o CISCO Première promotion 2002/2003 : 28

o CISCO Deuxième promotion 2003/2004 : 5.

Le recrutement d'étudiants à l'ENI se fait chaque année uniquement par voie de concours d'envergure nationale, excepté celui concernant le « Cisco Academy » et celui de la DEA, qui font l'objet de sélections de dossier de candidature.

Bien qu'il n'existe pas au niveau international une reconnaissance écrite et formelle des diplômes délivrés par l'ENI, les diplômés de l'Ecole sont bien accueillis dans les Institutions universitaires étrangères. Des étudiants diplômés de l'Ecole poursuivent actuellement leurs études supérieures en 3ème cycle dans plusieurs Universités françaises, notamment à l'IREMIA de l'Université de la Réunion, à l'Université LAVAL au Canada, à l'Ecole Polytechnique Fédérale de Lausanne en SUISSE, à l'Ecole Doctorale STIC (Science de la Technologie de l'Information et de la communication) de l'Ecole Supérieure en Science Informatique de l'Université de Nice Sophia Antipolis.

7. Relations partenariales de l'ENI avec les entreprises et les organismes 7.1 Au niveau national

Les stages pratiqués chaque année par ses étudiants mettent l'Ecole en relation permanente avec plus de 300 entreprises, sociétés et organismes publics et privés nationaux et internationaux.

Parmi ces Etablissements, on peut citer : , ACCENTURE Maurice, AIR MAD, AMBRES ASSOCIATES, AUF, B2B, Banque Centrale, BFV SG, BIANCO, BLUE LINE, BNI-CL, BOA, CEDII Fianar, CEM, Central Test, Centre Mandrosoa Ambositra, CNA, CNRIT, COLAS, COPEFRITO, Data Consulting, PHARMACIE DES PLATEAUX Fianar, D.G. Douanes Tana, DLC, DTS, FID, FTM, GNOSYS, IBONIA, IFIR des paramédicaux Fianar, INGENOSYA, INSTAT, IOGA, JIRAMA, Lazan'i Betsileo, MADADEV, MADARAIL, MAEP, MECI, MEF, MEN, MESRES, MFB, MIC, MICROTEC, MININTER, MIN TélCom et Nouvelles technologies, NEOV MAD, NY HAVANA, OMNITEC, ORANGE , OTME, PRACCESS, QMM Fort-Dauphin, SECREN, SIMICRO, SNEDADRS Antsirabe, Société d'Exploitation du port de Toamasina, Softewell, Strategy Consulting, TACTI, TELMA ,

ZAIN, WWF,...

L'organisation de stages en entreprise contribue non seulement à assurer une meilleure professionnalisation des formations dispensées, mais elle accroît également de façon exceptionnelle les opportunités d'embauche pour les diplômés.

Les diplômés de l'ENI sont recrutés non seulement par des entreprises et organismes nationaux, mais ils sont aussi embauchés dans des organismes de coopération internationale tels que l'USAID MADAGASCAR, la Délégation de la Commission Européenne, la Banque Africaine de Développement (BAD), la Mission Résidente de la Banque Mondiale, la Commission de l'Océan Indien, etc.

7.2 Au niveau international

Entre 1996 et 1999, l'ENI a bénéficié de l'assistance technique et financière de la Mission Française de Coopération et d'Action Culturelle dans le cadre du PRESUP.

La composante du PRESUP consacré à l'ENI a notamment porté sur :

- une dotation en logiciels, microordinateurs, équipements de laboratoire de

maintenance et de matériels didactiques ;

- la réactualisation des programmes de formation assortie du renouvellement du fond de la bibliothèque ;

- l'appui à la formation des formateurs ;

- l'affectation d'Assistants techniques français.

Et depuis le mois de mai 2000, l'ENI fait partie des membres de bureau de la Conférence Internationale des Ecoles de formations d'Ingénieurs et Techniciens d'Expression Française (CITEF).

L'ENI a signé un accord de coopération interuniversitaire avec l'IREMIA de l'Université de la Réunion, l'Université de RENNES 1 et l'Institut National Polytechnique de Grenoble (INPG).

Depuis le mois de juillet 2001, l'ENI abrite le Centre du Réseau Opérationnel (Network Operating Center) du point d'accès à internet de l'Ecole et de l'Université de Fianarantsoa. Grâce à ce projet américain financé par l'USAID Madagascar, l'ENI et

l'Université de Fianarantsoa sont maintenant dotées d'une Ligne Spécialisée d'accès permanent à INTERNET. Par ailleurs, depuis 2002, une nouvelle branche à vocation professionnelle a pu y être mise en place, en partenariat avec Cisco System.

Enfin et non des moindres, l'ENI a noué des relations de coopération avec l'Institut de Recherche pour le Développement (IRD). L'objet de la coopération porte sur la Modélisation environnementale du corridor forestier de Fianarantsoa. Dans le même cadre, un atelier scientifique international sur la modélisation des paysages a été organisé à l'ENI au mois de Septembre 2008.

Comme l'ENI constitue une pépinière incubatrice de technologie de pointe, d'emplois et d'entreprises, elle peut servir d'instrument efficace pour la lutte contre la pauvreté.

De même que l'Ecole permet de renforcer la position concurrentielle de la Grande île sur l'orbite de la mondialisation grâce au développement des nouvelles technologies.

8. Ressources humaines - Directeur : Monsieur Fontaine RAFAMATANANTSOA

- Chef de Département de la Formation Théorique : Monsieur Venot RATIARSON

- Chef de Département de la Formation Pratique : Monsieur Cyprien RAKOTOASIMBAHOAKA

- Nombre d'Enseignants permanents : 12

- Nombre d'Enseignants vacataires : 10

- Personnel administratif et technique : 19

9. Projets et perspectives de développement institutionnel (2010-2014)

· Restructuration du système pédagogique de l'Ecole selon le schéma LMD (Licence Master Doctorat),

· Mise en place à l'Ecole d'un Département de Formation de 3ème cycle et d'études doctorales en Informatique,

· Création à l'Ecole d'une Unité de Production Multimédia, d'un club de logiciel libre Unix.

II PRESENTATION DE LA DIRECTION GENERALE DES IMPOTS 2.1. COORDONNEE :

Direction Générale des Impôts-Immeuble des Finances et du

Budget

Antaninarenina - Antananarivo (101) BP: 863

Tél: 22 335 50/22 287 08

E-mail:Dgimpots@moov.mg

 

2.2. HISTORIQUE :

De 1975 jusqu'à 1997, la Direction des Impôts et la Direction des Douanes étaient dirigées par une seule Direction Générale dénommée «Direction Générale des Régies Financières (DGRF)». La Direction chargée des Impôts était divisée en 3 services pratiquement indépendants : service des contributions directes, service des contributions indirectes et services de l'enregistrement et du timbre. En 1998, la Direction générale des impôts (DGI) a été créée et les 3 ex-services fusionnés. Actuellement, selon la capacité contributive des contribuables ou leurs localisations territoriales, ils peuvent s'adresser soit aux centres fiscaux (CF), soit aux services régionaux des entreprises (SRE), soit encore à la direction des grandes entreprises (DGE)

2.3. OBJECTIFS :

Comme dans toute société démocratiquement structurée, pour le financement des services publics et des programmes de développement en partie, la contribution de tout un chacun (à travers le paiement des impôts) est indispensable. Depuis 2007 la Direction Générale des Impôts a mis en oeuvre la stratégie et plan d'actions pour la réforme de l'administration fiscale (2007-2011) dont les orientations stratégiques consistent en une administration fiscale plus efficace, plus simple et tournée vers un meilleur service au public.

Dans cette réforme, l'administration fiscale s'est engagée à :

+ Mobiliser des recettes budgétaires pour répondre aux objectifs du Gouvernement

+ définir une politique fiscale propice à l'investissement et à l'intégration régionale + moderniser ses structures et procédures

2.4. MOYENS :

Bien que limités, le renforcement des moyens servira en priorité les réformes engagées conformément à la stratégie de réforme. Il s'agit d'adapter les moyens aux enjeux. Conformément à la stratégie de réforme, le logiciel SIGTAS, système intégré de gestion des impôts, sera étendu dans un premier temps dans les services régionaux des entreprises. Depuis 2007, dans le cadre de la mise en oeuvre de la réforme un plan de communication externe et interne a été appliqué

Des centres de gestion agrées, seront mis en places en partenariat avec les organisations professionnelles pour fournir : assistance techniques, formation, statistiques fiables, à leurs adhérents outre l'aide pour l'élaboration de leurs déclarations fiscales.

2.5. ORGANIGRAMME

Direction Générale des Impôts

Services Centraux

Service de la Brigade d'Inspection

Service de Recherche et d'Investigation

Service de Pilotage et de Suivi des Reformes

Etudes de la Législation Fiscale

Contrôle Fiscale et Contentieux

 

Coordination des Operations

 

Service de Recherche et d'Investigation

 
 
 
 
 
 

Service de la Programmation des Vérifications Fiscales

 
 
 
 
 

Service Centrale de Lutte contre la

Fraude

 

Service du

Contentieux et des Poursuites

 

Service des Statistiques et d'Intégration des Données

Service d'Appui et de Formation

Service des Etudes et de la Documentation

Services
Opérationnels

Direction Régionale des Impôts

Direction des Grandes Entreprises

Figure 2 : Organigramme de la DGI

III. PRESENTATION DU PROJET

Le présent rapport de stage a été élaboré dans le cadre d'un stage au sein du Service de Pilotage et de suivi des Réformes de la Direction Générale des Impôts. L'intérêt de cette application pour la DGI est certain, plus particulièrement pour le Service Administratif et Financier(SAF). En effet cette application va permettre une meilleure maîtrise et un gain de temps pour le suivi et le contrôle de ses employés.

3.1. Analyse de l'existant

La gestion des ressources humaines n'existe pas encore au sein de la DGI. La saisie des informations concernant les employés se font donc manuellement.

3.1.1Equipements informatiques de la division informatique o Ordinateurs

Marque

Caractéristiques

Nombres

NEC

Intel Pentium (D) CPU 3.00 GHz

2 Go de RAM, 180 Go de Disque Dur

03

FUJITSU computers SIEMENS

Intel(R) Core (TM) 2 Duo 2.40 GHz

,1 Go de RAM, 156 Go de Disque Dur

10

 

Tableau 1 : liste des machines

Notons aussi la présence d'imprimante, un onduleur, une photocopie, un scanneur et d'un Switch 10/100 Mbps 8 ports au sein de la Division informatique pour le partage de connexion Internet dont leur marque, leur type et leur puissance sont illustrés respectivement par les tableaux suivante :

o Imprimantes :

Marque

Type

Nombre

HP LaserJet 1022

Laser

03

 

Tableau 2 : Liste des Imprimantes o Onduleurs :

Marque

Puissance

Nombre

Unitek

04 1000 VA

05

Intex

02 1050 VA

 

Tableau 3 : liste des Onduleurs o Photocopie:

Marque

Type

Nombre

Toshiba

Laser

01

 

Tableau 4: Liste de Photocopie o Scanneur :

Marque

Nombre

HP Scan jet 2400

01

 

Tableau 5: Liste de Scanneur

o Switch

Marque

Fabriquant

Nombre

Catalyst 1803

CISCO

02

 

Tableau 6: Liste de Switch

o Existant logiciel

Le Système d'exploitation (SE) utilisé au sein de La division informatique est le Microsoft Windows Xp, pour le traitement de texte, et le suivi du dossier : les agents de la division optent l'utilisation de Microsoft Office (Word 2007, Excel 2007).

Pour la division Informatique, elle utilise un logiciel que l'on appelle « SIGTAS», système intégré de gestion des taxes qu'est une suite de modules intégrés qui permet aux gouvernements d'informatiser l'administration des taxes, impôts et brevets grâce à un système d'information unique et complet. Il a été développé pour répondre aux besoins des pays en développement et en émergence désireux d'accroître le contrôle des revenus de l'État en se dotant de systèmes automatisés.

o Connexion Internet et Réseau local de la division informatique

La division informatique bénéficie d'une connexion Internet abonnement, cette dernière se fait par Boucle Local Radio, leur fournisseur étant GasyNet. Cinq (05) machines sont connectées à Internet suivant l'architecture ci-dessous :

Figure 3 : Architecture du réseau actuel de la division informatique

3.2 PRESENTATION DETAILLEE

Un Système d'information de gestion des ressources humaines est une interface entre la gestion des ressources humaines (GRH) et les technologies de l'information et de la communication (TIC).

Il combine la gestion des ressources humaines, et en particulier ses activités basiques et administratives avec les moyens mis à disposition par les TIC.

Dans l'ensemble, la fonction « ressources humaines » comprend toujours une part importante des tâches administratives et répétitives dans la plupart des organisations

Une gestion efficace du « capital humain » est devenue une opération nécessaire pour la DGI.

Plusieurs modules peuvent être inclus dans la GRH mais nous ne considérons que quelques uns d'entre eux dont :

· La gestion des personnelles : permettant de recueillir les informations concernant : > L'état civil de l'employé

> La famille de l'employé

> Les études, formations et diplômes de l'employé

> La situation administrative de l'employé

> Le statut de travail de l'employé

> Connaissance linguistique de l'Employé

· La gestion des carrières : permettant de rassembler les informations sur :

> Les activités professionnelles (Changement de travail, Affectation, poste de l'employé)

> L'évolution de carrière de l'employé > Les reclassements de l'employé

> Les avancements

> Les distinctions honorifiques de l'employé

D'une part, la direction ne dispose pas jusqu'à maintenant d'une application permettant de faire un suivi précis de son personnel, les fichiers manuels utilisés jusqu'alors se révélant difficiles à gérer et d'autant non accessibles directement aux dirigeants.

D' autre part, il existe beaucoup de logiciels sur le marché, que ce soit gratuit ou payant mais leurs fonctionnalités ne sont pas toujours adaptées aux besoins de la DGI.

Ainsi, il est primordial de garder un niveau de professionnalisme assez relevé d'où l'idée de réaliser une application de gestion des ressources humaines.

Afin de pouvoir conserver et retrouver facilement les informations entrées. L'application va utiliser une base de données. La création d'une base de données est une chose complexe qui demande une analyse poussée. Merise convient parfaitement à la conception et à la modélisation du système d'information étudiée.

3.3 MOYENS NECESSAIRES POUR LA MISE EN OEUVRE

Pour réaliser le projet, ont été utilisés les moyens logiciels et matériels suivants de la DGI :

Un PC avec la configuration suivante :

o Marque : NEC

o CPU : Intel Pentium IV 3Ghz

o RAM : 2 Go

o HDD : 160 Go

o OS : Windows XP Professionnel Service Pack 3

Un serveur de base de données Oracle

o Outil : Oracle SQL*plus

o Distribution : Oracle Entreprise Manager (10g)

o RAM : 2Go

o HDD : 160 Go Logiciels :

o SGBD : Oracle 10g

o Outil de développement : Windev 9 et Windev 14 o Outil d'analyse et de conception : Win'Design

IV.CONCEPTION AVANT PROJET

Afin d'atteindre les objectifs du projet, divers scenarii ont été envisagés, nous allons discuter les points négatifs et positifs de chaque proposition et en dégager la solution finale.

Le choix du scenario final a été basé sur :

La possibilité d'utiliser une application utilisée par plusieurs utilisateurs La rapidité d'exécution

Le facteur sécurité

4.1. SCENARII POSSIBLES

SCENARIO

DESCRIPTION

Achat du logiciel AdequasysHR

AdequasysHR est une solution globale de gestion des ressources humaines, édité par la société américaine AdequasysHR

Application web : PHP/MySQL

PHP est un langage de scripts permettant de faire avec une rare facilité des pages web

Application web : WINDEV/ORACLE

L'application proposée par Windev

fournit des pages dynamiques qui facilitent la création des applications d'entreprise complexes

 

4.2. DESCRIPTION DES SCENARII

4.1.1. SCENARIO 1 : Achat du logiciel AdequasysHR qui fournit les services indispensables à la gestion des ressources humaines. Le tout assemblé dans une base de donnée unique afin d'assurer la cohérence des données.

Avantages :

· Gain de temps considérable pour la mise en place

· Base de données intégrées dans les équipements réseaux donc ne nécessitant aucune intervention d'administrateur de base de données

· Outil sûr car élaboré par des professionnels

Inconvénients :

·

Cout élevé

· Non-conformité du produit aux besoins spécifiques de DGI

· Solution non personnalisable.

4.1.2. SCENARIO2 : Développement dune application web dynamique en utilisant PHP et MySQL.

Avantages :

· Le langage PHP est un langage fiable, performant et riche en termes de fonctionnalités, il est capable de s'interfacer facilement avec nombreux SGBDR tels que MySQL, Oracle,... et il est utilisable sur la majorité des systèmes d'exploitation.

· MySQL est sans doute le SGBDR gratuit le plus populaires du moment, ceci est dû à sa facilité d'emploi et a à sa rapidité ;

· Rapidité de mise en oeuvre et disponibilité de milliers de code sources PHP gratuits et prêts à utiliser.

Inconvénients :

· PHP est un langage interprété et non adapté pour le gros projet, il est par ailleurs assez difficile de mettre en place une politique de sécurité acceptable à moins d'être un adepte depuis de longues années.

· Risques d'incompatibilité lorsqu'on passe d'une version de PHP à une autre et difficulté de maintenance de l'application.

4.1.3. SCENARIO3 :

Développement d'une application en utilisant Windev et Oracle

Avantages :

· Gain de temps considérable pour la mise en place

· Base de données centralisée

· Oracle est sans doute le SGBDR le plus fort du moment, tous les avantages de la puissance de Oracle est disponible a travers cette application

· L'application est théoriquement sécurisée par défaut avec Oracle

Inconvénients

· Coût élevé

· Difficulté de maintenance et de mise en oeuvre

· Consommateur en ressources

4.3. Choix des outils de développement

Pour mener à bien le projet, le troisième scenario a été retenu par souci d'unicité du projet et à la sécurité procurée par Oracle ce qui est d'ailleurs la préoccupation première de la DGI. En outre, Oracle convient parfaitement au projet du fait qu'il y a des importants volumes d'informations à stocker dans la base car il s'agit de gérer tous les employés de la DGI dans toute la grande île et que Windev propose de créer simplement une application qui peut s'interfacer facilement avec le SGBD Oracle. Windev permet également l'utilisation des ordres SQL. De plus Windev propose également un développement plus rapide, et plus économique

4.4. Choix de la méthode

La conception d'un système d'information n'est pas chose aisée car il faut réfléchir à l'ensemble de l'organisation que l'on doit mettre en place. La phase de conception nécessite des méthodes permettant de mettre en place un modèle sur lequel on va s'appuyer.

La méthode de conception Merise a été choisie pour la raison qu'elle permet de construire un système d'information automatisé efficace, flexible et adapté à l'entreprise.

Elle offre une démarche qui permet de décrire le système à étudier sous forme de modèle qui facilite la compréhension et la maîtrise du projet à réaliser.

La méthode Merise est basée sur la séparation des données et des traitements à effectuer en plusieurs modèles conceptuels et physiques mais dans notre étude, nous nous intéressons principalement au modèle conceptuel des données. Sans ce dispositif stable, l'établissement peut être rapidement dépassé par le volume d'information qu'elle gère

V.ANALYSE CONCEPTUEL

5.1. Introduction

Le système d'information d'une entreprise est l'ensemble des informations qui y circulent ainsi que l'ensemble des moyens mis en oeuvre pour les gérer. L'objectif d'un système d'information est de restituer l'information aux utilisateurs concernés à un moment donné sous une forme concise afin de faciliter une prise de décision, d'effectuer des traitements relatifs a ces informations. L'idéal pour un système d'information serait d'être automatisé, mais avant d'y parvenir les informations devront être formalisées d'où l'utilité d'une méthode spécifique.

Les méthodes d'études des systèmes d'information ont pour objectif de décrire ces systèmes à l'aide de modèles, puis de réaliser les systèmes informatisés qui en découlent : Merise est l'une de ces méthodes.

Merise sépare nettement l'étude en deux : les données et les traitements ; elle est en plus basée sur différents concepts d'abstraction régis par des règles précises et suivant une démarche à plusieurs types.

Elle comprend notamment les niveaux d'abstractions suivants :

· Conceptuel (MCD, MCT) : décrivant l'invariant du système c'est-à-dire la représentation des données, les règles de gestion correspondantes et les traitements à réaliser sur ces données ;

· Organisationnel ou logique (MOT, MLD) : décrit les ressources dont il faut disposer et l'organisation à mettre en place pour manipuler ces données ;

· Physique (MPD, MOPT) : décrit les techniques à utiliser pour sauvegarder les données et réaliser les traitements.

· Merise s'appuie sur l'analyse de l'existant pour monter les modèles correspondants aux différents niveaux d'abstraction et grâce aux critiques de l'existant, le concepteur élabore les modèles futurs qui vont former le système d'information automatisé.

5.2. Présentation du modèle conceptuel des données

Au niveau conceptuel on décrit la partie statique du système par le Modèle conceptuel des données (ou MCD), il a pour but de représenter de façon structurée les données qui seront utilisées par le système d'information. C'est un schéma qui formalise les dépendances ou relations entre les différents données du système d'information. Il décrit uniquement la sémantique des données et non ce qu'on peut faire avec.

Le MCD utilise plusieurs formalismes pour représenter les données dont :

5.2.1. L'entité

Une entité est la représentation d'un élément matériel ou immatériel ayant un rôle dans le système que l'on désire décrire. (Ex : un employé). Une entité regroupe les objets contenant les mêmes caractéristiques. Ces informations sont appelées attributs ou propriétés. On crée une entité lorsqu'il possède plusieurs occurrences. Une entité est identifiée par un libellé et possède au moins une propriété. Elle est représentée par le formalisme suivant :

Formalisme :

Figure 4 : Représentation d'une entité

Les identifiants

Un identifiant est un ensemble de propriétés (une ou plusieurs) permettant de désigner une et une seule entité, c'est-à-dire qu'il permet de distinguer les occurrences d'une entité type. (Ex : le numéro matricule identifie les occurrences d'une entité Employé)

5.2.2. La relation :

Une relation ou association représente les liens sémantiques qui peuvent exister entre plusieurs entités. Il est souvent représenté par un verbe. Une association possède parfois des propriétés. Il en existe plusieurs à savoir :

· Une relation réflexive relie une même classe d'entité

· Une relation binaire relie deux classes d'entité

· Une relation ternaire relie trois classes d'entité

· Une relation n-aire relie n classes d'entité

Formalisme :

Figure 5 : Représentation d'une relation

Les cardinalités

C'est le nombre minimum et maximum de fois (min, max) qu'une occurrence de l'objet participe aux occurrences de la relation. La cardinalité d'une relation est donc composée d'un couple de nombres comportant une borne maximale et une borne minimale, intervalle dans lequel cardinalité d'une entité peut prendre sa valeur. Les cardinalités traduisent les règles de gestion de l'entreprise.

Les concepts de Merise peuvent s'avérer insuffisants dans certains cas, d'où l'introduction des concepts étendues avec Merise2.

5.2.3. L'héritage entre entités

Un héritage est crée lorsque plusieurs entités possèdent a moins une propriété identique. Une entité mère appelée sur-type est utilisé pour factoriser les informations communes aux entités filles appelées aussi sous-types. Le sous-type hérite alors de toutes les propriétés du sur-type et il peut posséder en plus posséder en plus des propriétés spécifiques.

Par exemple :

· Sur-type : PERSONNE (id personne, nom, prenom, adresse)

· Sous-type : ETUDIANT (niveau)

· Sous-type : ENSEIGNANT (grade)

Les contraintes sur associations

Merise/2 permet de représenter des contraintes qui déterminent les conditions d'appartenance d'une occurrence à une entité spécialisée.

Les deux contraintes de base sont :

· La couverture : une occurrence de l'entité générique doit appartenir à l'une ou l'autre des entités spécialisées (contraire : non couverture) ;

· La disjonction : toute occurrence d'une entité spécialisée n'appartient qu'à une seule et même entité spécialisé. (contraire : non disjonction).

On distingue les types de contraintes spécifiques suivantes :

· La contrainte d'exclusion sur entités spécialisées spécifie qu'une occurrence d'une entité mère appartient à une et une seule entité spécialisée à la fois et peut n'appartenir à aucune entité spécialisé ;

· La contrainte de partition sur deux relations exprime que toute occurrence de l'entité pivot participe toujours à l'une ou l'autre association mais jamais aux deux simultanément

5.3. Elaboration du modèle conceptuel des données 5.3.1 Les règles de gestion

Les règles de gestion regroupent les contraintes imposées par le système sur les relations entre les données. Les règles suivantes régissent les données du système étudié

RG01 : Un employé est soit un fonctionnaire, soit un contractuel

RG02 : Un employé peut avoir plusieurs enfants ou aucun

RG03 : Un employé peut être avancé plusieurs fois aux cours de sa carrière

RG04 : L'avancement concerne un échelon ou une classe

RG05 : Un employé peut être reclassé plusieurs fois au cours de sa carrière

RG06 : Un reclassement concerne un grade

RG07 : un employé peut être affecté plusieurs fois au cours de sa carrière

RG08 : un employé peut suivre plusieurs formations ou aucune

RG09 : Un employé peut occuper plusieurs postes au cours de sa carrière

RG10 : un employé a un numéro matricule unique

RG11 : Un employé appartient à une catégorie à un échelon et à une classe

RG12 : Une formation suivie avec succès donne droit à un certificat ou à un diplôme

RG13 : Un employé peut avoir plusieurs distinctions honorifiques ou aucun

RG14 : On ne peut accéder au système sans être authentifié avec un privilège approprié

RG15 : Un employé doit savoir au moins une langue étrangère

RG16 : Un employé doit avoir un régime matrimonial

RG17 : Un employé peut avoir un ou plusieurs diplômes

RG18 : Un employé est intégré une et une seule fois au cours de sa carrière

Mise en place d'un système d'information pour la gestion des ressources humaines

 
 

5.3.2 Le dictionnaire des données :

Le dictionnaire des données recense et décrit l'ensemble des propriétés qui seront utilisées pour dresser le modèle conceptuel des données.

RUBRIQUE

SIGNIFICATION

TYPE

LONGUEUR

AdresseEmploye

Adresse de l'Employé

AN

50

AnneeReclassement

Année de reclassement de l'employé

N

10

AdresseConjoint

Adresse du conjoint de l'employé

AN

50

CertificatObtenu

Certificat obtenu par l'employé

AN

25

Classe

Classe de l'employé

AN

15

ComprisLangue

Langue compris par l'employé

AN

20

DateCIN

Date du CIN de l'employé

D

-

DateNaiss

Date de Naissance de l'employé

D

-

DateNaissEnfant

Date de naissance de l'employé

D

-

DateEffet

Date d'effet de l'avancement de l'employé

D

-

DatePasseport

Date du Passeport de l'employé

D

-

DateEntreeAdmin

Date d'entrée en administration de l'employé

D

-

DateDiplome

Date d'obtention du diplôme de l'employé

D

-

DateArrete

Date de l'arrêté de l'évolution de carrière de

l'employé

D

-

DatePriseService

Date de Prise de service par l'employé

D

-

DateArreteDist

Date de l'arrêté de la distinction honorifique de l'employé

D

-

DebutContrat

Date du début de contrat

D

-

Decision

Décision de l'évolution de carrière de l'employé

AN

100

DernierEmploi

Dernière emploi de l'employé

AN

50

DescCategorie

Description de la catégorie de l'employé

AN

20

DureeContrat

Durée de contrat de l'employé

AN

10

DureeFormation

Durée de formation de l'employé

AN

10

Echellon

Echelon de l'employé

AN

20

EcrireLangue

Langue écrites par l'employé

AN

25

EmailEmploye

Adresse e-mail de l'employé

AN

100

FinContrat

Date de la fin du contrat de l'employé

D

-

IndiceActuel

Indice actuel de l'employé

N

10

IdAvancement

Identificateur de l'avancement

AN

4

IdCategorie

Identificateur de la catégorie de l'employé

AN

4

IdConjoint

Identificateur du (de la) conjoint(e) de l'employé

AN

4

IdContrat

Identificateur du contrat

N

4

IdDistinction

Identificateur de la distinction honorifique

AN

4

IdEnfant

Identificateur de l'enfant de l'employé

AN

4

IdFormProf

Identificateur de la formation professionnelle

N

4

IdGrade

Identificateur du grade de l'employé

AN

4

IdIntegration

Identificateur de l'intégration de l'employé

AN

4

IdLangue

Identificateur de langue

N

4

IdNature

Identificateur de la nature de la formation

AN

2

 

Mise en place d'un système d'information pour la gestion des ressources humaines

 
 

IdLieu

Identificateur du lieu

AN

4

IdPoste

Identificateur du poste

N

2

IdRegime

Identificateur du régime matrimonial

N

2

IdStatutContrat

Identificateur du statut de contrat

N

2

Indice

Indice de l'employé

AN

10

LibDiplome

Libellé du diplôme

AN

50

LieuNaiss

Lieu de naissance de l'employé

AN

40

LibLangue

Libellé de langue

AN

20

LieuDiplome

Lieu d'obtention du diplôme

AN

50

LibRegime

Libellé du régime matrimonial

AN

20

LibContrat

Libellé du contrat

AN

25

LibStatut

Libellé du statut de contrat

AN

20

LibDistinction

Libellé de la distinction honorifique

AN

25

LibGrade

Libellé du grade

AN

20

LieuFormation

Lieu de la formation professionnel

AN

20

LibNature

Nature de la formation professionnelle

AN

25

LibFormProf

Libellé de la formation professionnelle

AN

25

LibPoste

Libellé de la poste

AN

25

LibLieu

Lieu

AN

50

LieuCIN

Lieu du CIN

AN

50

NumMatricule

Numéro matricule de l'employé

AN

20

NomEmploye

Nom de l'employé

AN

50

NumCIN

Prénoms de l'employé

AN

50

NumPasseport

Numéro du passeport de l'employé

AN

20

NumTelEmploye

Numéro téléphone de l'employé

AN

20

NomConjoint

Nom du (de la) conjoint(e) de l'employé

AN

50

NomEnfant

Nom de l'enfant de l'employé

AN

50

NomParent

Nom du parent de l'employé

AN

100

OccupationEnfant

Occupation des enfants de l'employé

AN

50

PrenomEmploye

Prénoms de l'employé

AN

100

PrenomConjoint

Prénoms du (de la) conjoint(e) de l'employé

AN

50

PrenomEnfant

Prénoms de l'enfant de l'employé

AN

50

ParleLangue

Langues parlées par l'employé

AN

25

PrenomParent

Prénoms du parent de l'employé

AN

50

ProfessionConjoint

Profession du (de la) conjoint(e) de l'employé

AN

50

RefArrete

Référence de l'arrêté de l'évolution de carrière

AN

100

RefArreteDist

Référence de l'arrêté de la distinction honorifique

AN

100

StatutParent

Statut du parent de l'employé

AN

20

SitFamille

Situation de famille de l'employé

AN

20

SexeEmploye

Sexe de l'employé

AN

10

SexeConjoint

Sexe du (de la) conjoint(e) de l'employé

AN

10

TitreAcquis

Titres acquis suivant diplôme

AN

25

TypeEvolution

Type d'évolution de carrière

AN

50

 

Tableau 7 : Dictionnaire des données

Mise en place d'un système d'information pour la gestion des ressources humaines

 
 

AN : Alphanumérique

N : Numérique

D : Date

5.3.3 Le modèle conceptuel des données

Figure 6 : Modèle Conceptuel des Données

5.4. Elaboration du modèle logique de donnée(MLD)

C'est une représentation du système tel qu'il sera implémenté dans l'ordinateur. Il est indépendant d'un système particulier. On l'obtient à partir du MCD.

Il utilise les concepts :

· Relation : est un ensemble d'attributs significativement associés ;

· Clé d'une relation : c'est l'attribut qui va servir à identifier une relation, il est par convention souligné ;

· Clé étrangère : est un attribut d'une relation qui est soumis à une contrainte d'intégrité référentielle par rapport à une clé d'une autre relation.

Formalisme : NOM_RELATION : (clé, attribut1,..., attribut n, clé étrangère#)

5.4.1. Règle de passage du MCD au MLD

a) Tout entité devient une relation dans la quelle les propriétés sont traduites en attributs et la clé primaire devient la clé de la relation

b) Toute association binaire de cardinalité maximum à 1 induit la création d'une clé étrangère : la clé de la relation mère devient clé étrangère de la relation fille ;

c) Toute association de cardinalités maximum à n devient une relation telle que :

· Les attributs de la relation traduisent les propriétés de l'association

· Les identifiants sont individuellement clés étrangères de la relation créée.

5.4.2. Le Modèle Logique des Données

En appliquant les règles citées précédemment, le MCD est traduit au MLD qui suit

Mise en place d'un système d'information pour la gestion des ressources humaines

Figure 7 : Modèle Logique des Données

34

VI.PRESENTATION DES OUTILS 6.1. Présentation de Oracle 10g

Avant tout, Oracle est un système de gestion de base de données relationnel (SGBDR) fourni par Oracle Corporation. Il a été développé par Lawrence Ellison, accompagné d'autres personnes telles que Bob Miner et Ed Oates.

6.1.1. Historique

Avant la présentation détaillée de la base de données Oracle 10g, on va d'abord voir en quelques lignes son historique.

Donc, Software Development Laboratories a été créé en 1977. En 1979, SDL change de nom en devenant Relational Software, Inc. (RSI) et introduit son produit Oracle V2 comme base de données relationnelle. La version 2 ne supportait pas les transactions mais implémentait les fonctionnalités SQL basiques de requête et jointure. Il n'y a jamais eu de version 1, pour des raisons de marketing, la première version a été la version 2. Celle-ci fonctionnait uniquement sur les systèmes Digital VAX/VMS.

· En 1983, RSI devient Oracle Corporation pour être plus représentative de son produit phare. La version 3 d'Oracle, entièrement réécrite en langage de programmation C, est publiée. Celle-ci supportait les transactions grâce aux fonctionnalités de commit et rollback. C'est aussi à partir de cette version que la plate-forme Unix est supportée.

· En 1984, la version 4 d'Oracle apparaît, supportant la cohérence en lecture (read consistency).

· Début 1985, Oracle commence à intégrer le modèle client-serveur, avec l'arrivée des réseaux au milieu des années 1980. La version 5 d'Oracle supporte donc les requêtes distribuées.

·

En 1988, Oracle met sur le marché son ERP1 - Oracle Financials basé sur la base de données relationnelle Oracle. Oracle version 6 supporte le PL/SQL, le verrouillage de lignes (row-level locking) et les sauvegardes à chaud (hot backups, lorsque la base de données est ouverte).

· En 1992, la version 7 d'Oracle supporte les contraintes d'intégrité, les procédures stockées et les déclencheurs (triggers).

· En 1995, acquisition d'un puissant moteur multidimensionnel, commercialisé sous le nom d'Oracle Express.

· En 1997, la version 8 introduit le développement orienté objet et les applications multimédia.

· En 1999, la version 8i est publiée dans le but d'affiner ses applications avec Internet. La base de données comporte nativement une machine virtuelle Java.

· En 2001, Oracle 9i ajoute 400 nouvelles fonctionnalités et permet de lire et d'écrire des documents XML2.

À partir de la version 9i, intégration du moteur OLAP au sein de Oracle : le moteur Oracle express est dorénavant référencé au sein de l'option Oracle OLAP. Les données multidimensionnelles sont accessibles à partir du langage SQL.

· En 2003, la version 10g est publiée. Le g signifie « grid » ; un des atouts marketing de la 10g est en effet qu'elle supporte le « grid computing ».

· En 2005, vers la fin novembre, une version complètement gratuite est publiée, la « Oracle Database 10g Express Edition ».

· En 2005, rachat de Siebel.

· En 2007, rachat de Hyperion Solutions et sortie de la version 11g le 11 juillet.

1 Enterprise Resource Planning

2 Extensible Markup Language

·

En 2008, rachat de BEA Systems.

La base de données Oracle 10g Standard Edition est une base de données complète destinée aux petites et moyennes entreprises exigeant de bénéficier des performances, de la disponibilité et de la sécurité de la base de données leader à un tarif économique. Utilisable sur serveur en cluster ou non pouvant comporter jusqu'à quatre processeurs, la base de données Oracle 10g Standard Edition constitue la solution idéale pour développer et déployer des applications de base de données de façon rentable.

Elle intègre la solution Oracle Real Application Clusters, RAC. Real Application Clusters vous permet de mettre en oeuvre une stratégie de haute disponibilité pour tout type d'application. En cas de défaillance de l'un des noeuds, l'autre noeud continue de fonctionner normalement. En outre, si vous avez besoin d'un surcroît de puissance de traitement, vous pouvez ajouter un autre serveur sans avoir à déconnecter les utilisateurs.

6.1.2. Les composants d'Oracle

Outre la base de données, la solution Oracle est un véritable environnement de travail constitué de nombreux logiciels permettant notamment une administration graphique d'Oracle, de s'interfacer avec des produits divers et d'assistants de création de bases de données et de configuration de celles-ci.

On peut classer les outils d'Oracle selon diverses catégories :

· Les outils d'administration

· Les outils de développement

· Les outils de communication

· Les outils de génie logiciel

· Les outils d'aide à la décision

6.1.3. Les outils d'administrations d'Oracle

Oracle est fourni avec de nombreux outils permettant de simplifier l'administration de la base de données. Parmi ces outils, les plus connus sont :

·

Oracle Manager (SQL*DBA)

· Network Manager

· Oracle Enterprise Manager

· Import/Export : un outil permettant d'échanger des données entre deux bases Oracle

6.1.4. Les outils de développement d'Oracle

Oracle propose également de nombreux outils de développement permettant d'automatiser la création d'applications s'interfaçant avec la base de données. Ces outils de développement sont :

· Oracle Designer

· Oracle Developer

· SQL*Plus : une interface interactive permettant d'envoyer des requêtes SQL et PL/SQL à la base de données. SQL*Plus permet notamment de paramétrer l'environnement de travail (formatage des résultats, longueur d'une ligne, nombre de lignes par page, ...)

· Oracle Developper : il s'agit d'une suite de produits destinés à la conception et à la création d'applications client-serveur. Il est composé de 4 applications :

o Oracle Forms (anciennement SQL*Forms) : un outil permettant d'interroger la base de données de façon graphique sans connaissances préalables du langage SQL. SQL*Forms permet ainsi de développer des applications graphiques (fenêtres, formulaires, ...) permettant de sélectionner, modifier et supprimer des données dans la base.

o Oracle Reports (SQL*ReportWriter) : un outil permettant de réaliser des états o Oracle Graphics : un outil de génération automatique de graphiques

dynamiques pour présenter graphiquement des statistiques réalisées à partir

des données de la base

o Procedure Builder : un outil permettant de développer des procédures, des fonctions et des packages

6.2. Les fonctionnalités d'Oracle

Oracle est un SGBD permettant d'assurer :

·

La définition et la manipulation des données

· La cohérence des données

· La confidentialité des données

· L'intégrité des données

· La sauvegarde et la restauration des données

· La gestion des accès concurrents

Outre ces fonctionnalités, il possède aussi de nombreux avantages à savoir :

· Richesse fonctionnelle

· Fonction d'audit évolué

· Row level storage security (RLSS) : permet de ne faire apparaître que certaines lignes des tables pour un utilisateur/une application donné.

· Intégration LDAP3, SSL4, Unicode; réplication intégrée; capable de mapper un fichier plat en table

· Parallélisme, caches nommés; haute disponibilité; grande possibilité de tuning

· Compression des backups

· Procédures stockés en PL-SQL (langage propriétaire Oracle, orienté ADA) ou ... en JAVA (depuis la 8.1.7) ce qui peut s'avérer utile pour les équipes de développement.

· Assistants performants via Oracle Manager Server, possibilité de gérer en interne des tâches et des alarmes

· Gestion centralisée de plusieurs instances

· Concept unique de retour arrière (Flashback)

· Pérennité de l'éditeur : avec plus de 40% de part de marché, ce n'est pas demain qu'Oracle disparaîtra

· Réglages fins : dans la mesure ou l'on connait suffisamment le moteur, presque TOUT est paramétrable.

· Accès aux données système via des vues, bien plus aisément manipulable que des procédures stockées.

3 Lightweight Directory Access Protocol

4 Secure Sockets Layer

·

Interface utilisateur remaniée et extrêmement riche, permettant - enfin ! - le tuning fin de requêtes par modification des plans d'exécution.

· Architecture Multi-Générationelle (MGA)

· Services Web, support XML

· Ordonnanceur intégré

6.2.1. Les fichiers physiques d'une base Oracle

Les fichiers physiques d'une base Oracle permettent de stocker de manière persistante les données manipulées par Oracle, tandis que la mémoire sert à optimiser la vitesse de fonctionnement de la base de données.

On distingue généralement deux types de fichiers :

· Les fichiers servant à stocker les informations de la base. Tous ces fichiers sont des
fichiers binaires, ce qui signifie qu'ils sont inexploitables avec un éditeur de texte.

· Les fichiers destinés à la configuration et au fonctionnement de la base Oracle

Oracle a défini une architecture permettant de définir une méthode d'organisation standard des fichiers de la base Oracle. Cette architecture est nommée OFA (Optimal Flexible Architecture).

Les fichiers d'une base de données Oracle sont les suivants :

· Les fichiers de données (dont l'extension est .dbf). Ces fichiers contiennent
l'ensemble des données de la base (les tables, les vues, les procédures stockées, ...).

· Les fichiers Redo Log (dont l'extension est .rdo ou .log). Ces fichiers contiennent l'historique des modifications effectuées sur la base de données

· Les fichiers de contrôle (dont l'extension est .ctl). Ces fichiers permettent de stocker les informations sur l'état de la base de données (emplacement des fichiers, dates de création, ...)

Une base de données Oracle nécessite au minimum un fichier de données, deux fichiers redo Log et un fichier de contrôle.

6.2.2. Les processus d'Oracle

Le fonctionnement de la base Oracle est régi par un certain nombre de processus chargés en mémoire permettant d'assurer la gestion de la base de données.

On distingue généralement deux types de processus :

· les processus utilisateurs (appelés aussi user process ou noyau oracle)

On distingue deux types de processus utilisateurs :

o Oracle Server Code, aussi appelé noyau d'Oracle, est chargé d'interpréter et d'exécuter les requêtes SQL, ainsi que de gérer la mémoire et les fichiers de données

o Code spécifique de l'outil, l'implémentation qui exécute réellement les commandes SQL.

· Les processus systèmes (oracle process).

Les processus Oracle (processus système) se classent en deux catégories :

o Les processus serveurs (process server) gérant les requêtes des utilisateurs provenant des connections à la base de données générées par des outils tels que SQL*Plus. Le processus serveur est chargé de la communication entre la SGA5 et le processus utilisateur. Il permet ainsi d'analyser et d'exécuter les requêtes SQL des utilisateurs, de lire les fichiers de données et de placer les blocs de données correspondants dans la SGA.

o Les processus d'arrière-plan (background process) chargés d'assurer le fonctionnement interne du SGBD Oracle (gestion de la mémoire, écriture dans les fichiers, ...).

Un processus utilisateur est créé pour chaque programme exécuté par un utilisateur (par exemple Oracle Forms ou Server Manager) afin de fournir l'environnement nécessaire à l'exécution de celui-ci. Le processus utilisateur ainsi créé communique avec les processus systèmes à travers le programme interface.

5 System Global Area

Chaque processus a pour nom ora_nomduprocessus_SID où SID représente le nom de l'instance à laquelle le processus est associé.

Les 4 principaux processus systèmes sont :

· DBWR (DataBase Writer ou Dirty Buffer Writer), le processus chargé d'écrire le contenu des buffers dans les fichiers de données

· LGWR (Log Writer), le processus chargé d'écrire le contenu des buffers dans les fichiers Redo Log

· PMON (Process Monitor), le processus chargé de nettoyer les ressources, les verrous et les processus utilisateurs non utilisés

· SMON (System Monitor), le processus chargé de vérifier la cohérence de la base de données et éventuellement sa restauration lors du démarrage si besoin

Il existe également d'autres processus d'importance secondaire :

· CKPT (CheckPoint), le processus chargé d'écrire le contenu des buffers dans les fichiers de données

· RECO (Recoverer), il s'agit d'un processus optionnel permettant de résoudre les transactions interrompues brutalement dans un système de bases de données distribuées (par exemple un système de réplication de bases de données)

· ARCH (Archiver). Ce processus est optionnel et n'existe qu'en mode ARCHIVELOG. Il permet de dupliquer les fichiers Redo-Log dans un espace d'archivage.

· Dnnnn (Dispatcher, nnnn représente une suite de nombre entiers) : Ce processus est optionnel et n'est présent que dans les configurations MTS (multi-threaded server). Il permet de router les requêtes des postes clients-serveurs distants vers les autres serveurs. Il existe au moins un processus Dnnnn pour chaque protocole de communication

· Snnnn (Server, nnnn représente une suite de nombre entiers) : Ce processus est n'est également présent que dans les configurations MTS. Il permet de recevoir les demandes de connexions distantes envoyées par le processus Dnnnn d'un serveur distant.

·

LCKn (Lock) est un processus de verrouillage utilisé lorsque Oracle Parallel Server est installé.

6.2.3. Dictionnaires de données d'Oracle

Le dictionnaire de données Oracle représente le coeur de la base de données. Il s'agit d'un ensemble de tables systèmes contenant les informations relatives à la structure de la base de données :

· Utilisateurs de la base (ainsi que leurs privilèges et leur rôle)

· Noms et caractéristiques des objets contenus dans la base (tables, vues, index, clusters, triggers, packages, ...)

· Contraintes d'intégrité

· Ressources physiques allouées à la base

· ...

Le dictionnaire est créé au moment de la création de la base et est mis à jour.

Il appartient à l'utilisateur SYS, mais l'utilisateur SYSTEM, c'est-à-dire l'administrateur de la base, possède des droits de lecture sur des vues du dictionnaire. Enfin le dictionnaire de données est conservé dans le tablespace SYSTEM.

Le dictionnaire de données sert principalement dans deux situations :

· afin de vérifier la syntaxe et les privilèges sur une requête SQL (pour le DDL, Data Definition Language)

· Afin d'obtenir des informations sur la structure de la base de données

6.2.4. Les différentes vues d'Oracle

De nombreuses vues permettent à des utilisateurs d'accéder à certaines parties du dictionnaire de données. Les vues fournissent à l'administrateur de la base le meilleur moyen pour obtenir les caractéristiques techniques de celle-ci.

Les vues du dictionnaire de données sont classées par famille et nommées en fonction de l'appartenance à une de ces familles. Voici la liste de ces familles de vues :

· Les vues USER (dont le nom commence par USER_) donnent des informations sur tous les objets logiques dont l'utilisateur connecté est propriétaire (tables, index, vues, procédures, ...)

· Les vues ALL (dont le nom commence par ALL_) fournissent des informations sur les objets pour lesquels l'utilisateur a un droit d'accès, c'est-à-dire les objets de la base créés par l'utilisateur ainsi que tous les objets accessibles par cet utilisateur.

· Les vues DBA (dont le nom commence par DBA_). Ces vues sont réservées à l'administrateur de la base (DBA, DataBase Administrator) afin de lui fournir des informations sensibles sur tous les objets de la base de données.

Les vues V$ (dont le nom commence par V$_) sont des vues dynamiques permettant d'avoir des informations sur l'état courant de l'instance de la base de données de son démarrage à son arrêt. Elles permettent par exemple de connaître les fichiers physiques actuellement utilisés par la base (logs, rollback segments, ...).

6.3. Présentation du langage PL/SQL

Le langage PL/SQL est un langage L4G (un langage de quatrième génération), fournissant une interface procédurale au SGBD Oracle. Le langage PL/SQL intègre parfaitement le langage SQL en lui apportant une dimension procédurale.

En effet, le langage SQL est un langage déclaratif non procédural permettant d'exprimer des requêtes dans un langage relativement simple. En contrepartie il n'intègre aucune structure de contrôle permettant par exemple d'exécuter une boucle itérative.

Ainsi le langage PL/SQL permet de manipuler de façon complexe les données contenues dans une base Oracle en transmettant un bloc de programmation au SGBD au lieu d'envoyer une requête SQL.

De cette façon les traitements sont directement réalisés par le système de gestion de bases de données. Cela a pour effet notamment de réduire le nombre d'échanges à travers le réseau et donc d'optimiser les performances des applications.

D'autre part le langage PL/SQL permet de faire appel à des procédures externes, c'està-dire des procédures écrites dans un autre langage (de troisième génération, généralement le langage C).

Le langage PL/SQL permet de définir un ensemble de commandes contenues dans ce que l'on appelle un "bloc" PL/SQL. Un bloc PL/SQL peut lui-même contenir des sous-blocs. La syntaxe PL/SQL est simple et lisible.

Il offre un moyen d'identifier et de traiter les éventuelles erreurs à l'aide du mécanisme des exceptions. En cas d'erreur, celle-ci est automatiquement transmise à un bloc EXCEPTION permettant de la traiter. PL/SQL définit en standard un grand nombre d'exceptions (c'est-à-dire que PL/SQL prédéfinit un grand nombre de types d'erreurs).

De plus il est possible de définir vos propres exceptions, ce qui offre de nombreuses possibilités.

6.3.1. Pourquoi PL/SQL ?

Le langage SQL est un langage "ensembliste", c'est-à-dire qu'il ne manipule qu'un ensemble de données satisfaisant des critères de recherche. PL/SQL est un langage "procédural", il permet de traiter de manière conditionnelle les données retournées par un ordre SQL.

Le langage PL/SQL, abréviation de "Procedural Language extensions to SQL", comme son nom l'indique, étend SQL en lui ajoutant des éléments, tels que :

Les variables et les types.

Les structures de contrôle et les boucles. Les procédures et les fonctions.

Les types d'objets et les méthodes.

Ce ne sont plus des ordres SQL qui sont transmis un à un au moteur de base de données Oracle, mais un bloc de programmation. Le traitement des données est donc interne à la base, ce qui réduit considérablement le trafic entre celle-ci et l'application.

Combiné à l'optimisation du moteur PL/SQL, cela diminue les échanges réseau et augmente les performances globales de vos applications.

Toutes les bases de données Oracle comportent un moteur d'exécution PL/SQL. Comme Oracle est présent sur un très grand nombre de plates-formes matérielles, le PL/SQL permet une grande portabilité des applications. Le langage PL/SQL est simple d'apprentissage et de mise en oeuvre. Sa syntaxe claire offre une grande lisibilité en phase de maintenance des applications. De nombreux outils de développement, en dehors de ceux d'Oracle, autorisent la programmation en PL/SQL dans la base de données.

Mise en place d'un système d'information pour la gestion des ressources humaines

 
 

Ci-après un schéma simple illustrant l'envoie des requêtes PL/SQL d'un client vers le serveur oracle :

Figure 8 : Requête PL/SQL vers un serveur

6.3.2. Architecture de PL/SQL

Le moteur de base de données, Oracle, coordonne tous les appels en direction de la base. Le SQL et le PL/SQL comportent chacun un "moteur d'exécution" associé, respectivement le SQL STATEMENT EXECUTOR et le PROCEDURAL STATEMENT EXECUTOR.

Lorsque le serveur reçoit un appel pour exécuter un programme PL/SQL, la version compilée du programme est chargée en mémoire puis exécutée par les moteurs PL/SQL et

SQL. Le moteur PL/SQL gère les structures mémoire et le flux logique du programme, tandis que le moteur SQL transmet à la base les requêtes de données.

Le PL/SQL est utilisé dans de nombreux produits Oracle, parmi lesquels : Oracle Forms et Oracle Reports ;

Oracle Application Express

Oracle Warehouse Builder ;

Les programmes PL/SQL peuvent être appelés à partir des environnements de développement Oracle suivants :

SQL*Plus ;

Oracle Enterprise Manager;

les pré compilateurs Oracle (tels que Pro*C, Pro*COBOL, etc.) ; Oracle Call Interface (OCI) ;

Server Manager;

Java Virtual Machine (JVM).

Un bloc PL/SQL peut être traité dans un outil de développement Oracle (SQL*Plus, Oracle Forms, Oracle Reports). Dans ce cas, seules les instructions sont traitées par le moteur PL/SQL embarqué dans l'outil de développement, les ordres SQL incorporés dans les blocs PL/SQL sont toujours traités par la base de données. Ci-suit un schéma simple illustrant l'architecture de PL/SQL :

Mise en place d'un système d'information pour la gestion des ressources humaines

 
 

Figure 9 : Architecture de PL/SQL

6.3.4. Syntaxe de PL/SQL

Tout langage de programmation possède une syntaxe, un vocabulaire et un jeu de caractères. Le langage PL/SQL est une série de déclarations et instructions. Chaque instruction se termine par « ; » elle peut être répartie sur plusieurs lignes, afin de la rendre plus lisible.

Il est préférable de ne pas avoir plus d'une instruction ou déclaration par ligne. Les programmes PL/SQL sont écrits sous forme de blocs de code définissant plusieurs sections comme la déclaration de variables, le code exécutable et la gestion d'exceptions (erreurs).

Le code PL/SQL peut être stocké dans la base sous forme d'un sous-programme doté d'un nom ou il peut être codé directement dans SQL*Plus en tant que "bloc de code anonyme", c'est-à-dire sans nom. Lorsqu'il est stocké dans la base, le sous-programme inclut une section d'en-tête dans laquelle il est nommé, mais qui contient également la déclaration de son type et la définition d'arguments optionnels.

Le langage PL/SQL peut contenir les instructions SQL de type Langage de Manipulation de Données, mais il ne peut comporter aucune instruction du Langage de Définition de Données.

De plus, la gestion de la transaction est identique qu'on travaille en SQL ou en PL/SQL.

La structure type d'un bloc PL/SQL est la suivante :

[DECLARE]

... BEGIN

... [EXCEPTION]

... END ;

Lorsqu'on exécute une instruction SQL dans SQL*Plus, elle se termine par un point-virgule. II ne s'agit que de la terminaison de l'instruction, non d'un élément qui en est constitutif. A la lecture du point-virgule, SQL*Plus est informé que l'instruction est complète et l'envoie à la base de données

Dans un bloc PL/SQL, tout au contraire, le point-virgule n'est pas un simple indicateur de terminaison, mais fait partie de la syntaxe même du bloc. Lorsque vous spécifiez le mot-clé « DECLARE» ou « BEGIN », SQL*Plus détecte qu'il s'agit d'un bloc PL/SQL et non d'une instruction SQL. Il doit cependant savoir quand se termine le bloc. La barre oblique « / », raccourci de la commande SQL*Plus « RUN », lui en fournit l'indication.

6.4. Présentation de Windev

Windev est un AGL (Atelier de Génie Logiciel) complet permettant de développer une application complet Windows dans des nombreuses domaines comme : gestion, industriel,...

Windev est un outil de développement complet qui intègre tous les outils nécessaires au cycle de réalisation d'une « application ».

Contrairement à d'autres langages de développement traditionnels, il n'est pas nécessaire de rechercher ou de rajouter des modules pour concevoir, tester et installer une application

6.4.1 Concept de base de Windev

Windev permet de créer simplement une application. Mais que recouvre exactement une application ?

Une application est un outil qui permet de réaliser des tâches, des actions

automatiquement. Une application est constitué d'un programme exécutable(ou d'un ensemble de programme exécutable)

Un programme exécutable est un fichier composé d'éléments directement manipulables par l'utilisateur.

Pour créer un exécutable, Windev propose de créer un « Projet ». Un projet relie entre eux les différents éléments du programme, et les organise. C'est à partir du projet que pourra être créé le programme exécutable.

Si l'application manipule des données, Windev permet de définir la structure de la base de données grâce à l'analyse. L'analyse de Windev contient la description des fichiers que l'on nomme souvent table dans la base de données. Ces fichiers contiendront les données de l'application.

La description des fichiers dans l'analyse n'entraine pas leur création. Les fichiers de données sont crées physiquement uniquement à l'exécution de l'application

Un ou plusieurs projets Windev peuvent être liés à la même analyse. Dans ca cas, on parle d'analyse partagé

6.4.2 Base de programmation

6.4.2. 1.Les différents types de variables :

Windev propose des différentes types de variables (booléen, entier, monétaire, chaîne, date, heure, durée, dateheure, durée, variant, tableau, structure, ...)

La syntaxe à utiliser pour déclarer un variable est très simple : il suffit d'indiquer le nom de la variable et son type :

NomVariable EST UN(e) TypeVariable

Exemples :

NomEmploye est une chaîne

Indice est un entier

6.4.2.2 Les instructions de base

Le WLangage permet de gérer les instructions conditionnelles du type :

. SI, SINON, FIN pour effectuer un test sur une condition

. SELON, CAS, FIN pour exécuter une ou plusieurs actions selon les différents résultats d'un test sur une condition.

6.4.2.3. Les instructions de boucle :

Le WLangage propose plusieurs possibilités pour gérer les boucles

POUR, FIN pour un nombre d'itération déterminé.

TANTQUE, FIN pour un nombre d'itération indéterminé et dont la condition de la sortie est testée au début de la boucle.

BOUCLE, FIN pour un nombre d'itération indéterminé et dont la condition de la sortie est testée dans la boucle. L'instruction SORTIR permet de sortir de cette boucle.

Le WLangage propose également des boucles de type POUR TOUT, FIN permettant de parcourir les éléments d'un champ, les chaînes de caractères, les enregistrements des fichiers.

6.4.2.4 Procédures et fonctions

Côté programmation, il existe les procédures et les fonctions : Les fonctions renvoient un résultat

Les procédures servent à exécuter un traitement spécifique.

Windev permet de gérer simplement les deux types de traitements, de manière identique : Sous Windev il n'y a pas de différence entre fonction et procédure

VII. REALISATION

7.1 Architecture du système

Voici l'architecture du système à mettre en oeuvre

Figure 10 : Architecture du système

> Le client est un poste de travail

> La machine distante est une machine sur laquelle est installé Microsoft Server 2003 > Le serveur de base de donnée hébergera le SGBDR Oracle 10g

7.2. Administration Oracle 10g :

7.2.1. Création espace disque logique

Oracle est un SGBDR très puissant et avec des niveaux de sécurité élevé. L'Administration d'une Base de Donnée Oracle demande beaucoup de rigueur et d'attention.

Avant de créer quoi que ce soit sur Oracle, il faut tout d'abord crée ce que l'on appelle « Schéma »

Pour cela il faut définir l'espace disque logique que notre Base de donnée va occuper.

Mise en place d'un système d'information pour la gestion des ressources humaines

 
 

Figure 11 : Création Espace disque logique

Cet espace disque logique se divise lui-même en deux catégories que l'on appelle « Tablespace »:

+ Il y a ce que l'on nomme espace disque logique permanent qui va contenir les données permanent de notre base. On peut définir nous même sa taille(en Megaoctet). Pour notre part on l'a appelé « BAZIKO »

+ Il y a aussi ce que l'on appelle espace disque logique temporaire, sa taille est logiquement inferieur à la taille de l'espace logique permanent, celui-ci va contenir les données temporaires de notre base. Pour notre part on l'a appelé « BAZIKO _TMP»

Figure 12 : Visualisation de l'espace disque logique

7.2.2. Création d'une table

Apres avoir crée un utilisateur avec un privilège approprié, on peut maintenant crée les différents tables de notre application. Deux solutions s'offrent à nous pour la création des tables :

Soit les créer manuellement avec ce menu

Figure 13 : Création d'une table

Soit les créer a l'aide des scripts « *.sql » via Oracle SQL *Plus comme ce portion de code

CREATE TABLE EMPLOYE

(

NUMMATRICULE NUMBER(10) NOT NULL, ID_INTEGRATION NUMBER(2) NOT NULL, ID_REGIME NUMBER(4) NOT NULL,

NOMEMPLOYE VARCHAR2(50) NULL, PRENOMEMPLOYE VARCHAR2(50) NULL, NUMCIN CHAR(20) NULL,

DATECIN DATE NULL,

LIEUCIN CHAR(32) NULL,

NUMPASSEPORT CHAR(20) NULL,

DATEPASSEPORT DATE NULL,

ADRESSEEMPLOYE VARCHAR2(32) NULL,

EMPLOYE_INTEGRATION

CREATE INDEX I_FK_

ON EMPLOYE (ID_

INTEGRATION ASC)

Mise en place d'un système d'information pour la gestion des ressources humaines

SITFAMILLE CHAR(32) NULL,

NUMTELEMPLOYE CHAR(32) NULL,

EMAILEMPLOYE CHAR(100) NULL, DATEENTREEADMINISTRATION DATE NULL, DERNIEREEMPLOI CHAR(32) NULL,

SEXEEMPLOYE CHAR(10) NULL,

INDICEACTUEL CHAR(10) NULL,

STATUTEMPLOYE CHAR(32) NULL

, CONSTRAINT PK_EMPLOYE PRIMARY KEY (NUMMATRICULE)

) ;

-- INDEX DE LA TABLE EMPLOYE

;

CREATE INDEX I_FK_EMPLOYE_REGIME_MATRIMONIA

ON EMPLOYE (ID_REGIME ASC)

;

57

Mise en place d'un système d'information pour la gestion des ressources humaines

 
 

Pour notre part, on a choisi la deuxième option et avait obtenu les tables de notre projet suivant :

En laçant le script de création dans Oracle SQL *Plus

Figure 14 : Création des tables sous Oracle SQL*Plus

Si tout s'est bien passée on devra avoir les messages suivantes «Table crée, Index crée »

Figure 15 : Liste de tables créées

7.2.3. IMPORT/ EXPORT Base ORACLE

Pour importer une base de données Oracle, on utilise la suite commande suivant :

Syntaxe : imp user/motdepasse file= nomfic.dmp fromuser= user touser= nouveau utilisateur log=nomfichierjournal.log.

Dans notre cas on a procédé comme suit :

D:\>imp onja/onja file=sauvebase.dmp fromuser=onja touser=onja log=implog.log

Notre base s'appelle « orcl 4». Pour notre cas, on a choisi de conserver le même schéma pour faciliter l'export de la base

Pour exporter la base, il suffit de taper la suite de commande : D:\>exp onja/onja@orcl4 file=sauvebase.dmp full=Y

Notre fichier de sauvegarde s'appelle « sauvebase .dmp»

7.3. Création d'un projet sous Windev

7.3.1. Projet Windev

Pour créer le projet :

a) Sélectionner l'option fichier « Nouveau..Projet ». L'assistant de création du projet se lance, tous les renseignements indiqués dans cet assistant pourront être modifié par la suite.

b) Le premier plan de l'application permet de saisir le nom du projet, son emplacement et sa description

Figure 16 : Assistant de création du projet

c) Les différentes étapes de l'assistant sont indiquées a gauche de l'assistant. Ces étapes sont directement cliquables

Afficher l'écran suivant

d) Utiliser une Base de données externe

Figure 17 : Choix de la source des données

e) Indiquer le mode de connection à la base de données

Figure 18 : Sélection de la base source

7.3.2 Création d'un RAD

Qu'est ce qu'un RAD ?

RAD sont les initiales de « Rapid Application Development »

Le RAD permet de construire automatiquement une application. Un module RAD de Windev s'appuie sur ce que l'on appelle « analyse ». Une analyse contient la définition des structures des fichiers manipulés dans le traitement.

Le module RAD est constitué d'un assistant dans le quel on peut choisir le modèle de l'application à générer et les principales options de fonctionnement de l'application.

Génération du RAD

Pour lancer la génération du RAD :

a)

On sélectionne l'option « Atelier..RAD Application Complet ». l'assistant de génération RAD se lance.

b) On sélectionne le modèle à utiliser pour la génération RAD : par exemple : « Pattern RAD Jet Tames ». Passer à l'écran suivant.

c) On sélectionne les fichiers de l'analyse qui vont être prise en compte :

Figure 19 : Choix des fichiers pour le RAD

Afficher l'écran suivant.

d) Les points d'entrés de l'application correspondent aux entrées disponibles dans le menu

Figure 20 : Point d'entrée pour le RAD

Afficher l'écran suivant

e) Indiquer si les tables générer dans les fenêtres de l'application doivent permettre la saisie ou non

Afficher l'écran suivant

f) Pour chaque fichier il est possible d'associer une image.

g) Indiquer si le menu automatique doit intégrer l'application

Figure 21 : Choix des options du menu

Afficher l'écran suivant et ainsi de suite jusqu'à en obtenir « Terminer »

7.3.3 Création d'un Exécutable

Pour créer l'exécutable

a) Sélectionner l'option « Atelier..Générer l'exécutable Windows 32bits »

N.B : Windev permet également la création des exécutables 64 bits et des exécutables Linux

b) L'assistant de création de l'exécutable se lance. Un premier écran présentant des tests automatiques est affiché. Dans notre cas tous les tests automatiques ont été passés avec succès. Passer l'écran suivant

c) L'écran suivant permet de décrire les options générales de l'exécutable :

· Le nom de l'exécutable

· Le nom de l'icône associé à l'exécutable

· L'image de l'introduction

d) Passer l'écran suivant. Pour le fonctionnement de l'exécutable, nous garderons l'option par défaut.

e) L'écran suivant permet de définir les messages d'erreurs de l'application. Nous garderons le message d'erreur par défaut

f) L'écran suivant permet de définir l'utilisation de MCU (Macro Code Utilisateur) dans notre application. Nous garderons l'option par défaut et passer à l'écran suivant

g) L'écran suivant permet de dire si l'exécutable prendra en compte les patchs. Passer l'écran suivant.

h) L'écran suivant permet de gérer les langues de l'exécutable, nous garderons l'option par défaut.

i) L'écran suivant récapitule tous les fichiers qui seront intégré dans la bibliothèque de l'exécutable. Ce sont les éléments du projet qui peuvent être manipulé par l'utilisateur final

j) L'écran suivant concerne le Framework Windev. Passer l'écran suivant

k) L'écran suivant concerne le centre de réutilisabilité. Ce centre est intéressant si l'application doit être déployée au sein même de l'entreprise.

l) L'exécutable est créé, il est possible de le lancer immédiatement, pour vérifier son fonctionnement.

7.3.4 Création de l'installation

La création de l'installation est une opération très simple sous Windev : un assistant nous permet de définir les choix principaux. Si les options proposées par assistant ne suffisent pas, il est possible d'utiliser l'éditeur de l'installation.

Pour créer le programme d'installation :

a) Sélectionner l'option « Atelier.. Créer la procédure d'installation. L'assistant de
création d'exécutable d'installation se lance. Nous avons déjà créé l'exécutable, cliquer directement dans l'assistant sur l'intitulé « Aide des nouveautés »

b) Un écran s'affiche proposant de créer la page de nouveautés

Figure 22 : Création de la bibliothèque et de l'installation

Cette option permet de créer un fichier d'aide pour présenter à l'utilisateur final des nouveautés de la version. Lors d'une première installation, ce fichier peut correspondre à l'aide du logiciel

c)

L'écran suivant permet de définir les éléments qui seront automatiquement intégrés au fichier d'aide. Passer l'écran suivant

d) Valider le message. L'exécutable est automatiquement créé, et le système d'aide créé. Cliquer sur l'option « Poursuivre la création de procédure d'installation »

Figure 23 : Création et procédure d'installation

L'aide est automatiquement compilé

e) Choisir le mode d'installation :

· Installation autonome pour une application indépendante, installé et lancé sur chaque poste

· Installation avec mise a jour automatique, pour installation sur un poste serveur. Les applications seront installés a partir du serveur. En cas de mise a jour, seul une mise a jour du serveur est nécessaire.

Passer l'écran suivant

f) Choisir une installation standard

g) Dans les paramètres de base de données, cocher les options nécessaires

h) Dans le module complémentaire, conserver les options suivantes

Figure 24 : Création de l'installation

Nous allons choisir les outils optionnels à installer et inclure le désinstallateur. Grâce au désinstallateur. Les utilisateurs pourront désinstaller l'application depuis le gestionnaire de programmes Windows. Passer à l'écran suivant

i) Valider. Le programme d'installation est automatiquement créé.

j) Tester immédiatement le programme d'installation créé 7.4. Accès ODBC Oracle

7.4.1. Création d'une source de donnée ODBC

On a utilisé l'accès ODBC tout au long notre projet. Un accès via ODBC direct utilise un standard d'accès multi-bases. Cette couche est en générale déjà installée sur les versions récentes de Windows.

Pour créer une source de données ODBC, aller dans « panneau de configuration..Performance et maintenance », puis aller dans « Outils d'administration », cliquer sur le raccourci « Sources de données (ODBC), choisir l'option « ajouter ». Le menu s'affiche

Mise en place d'un système d'information pour la gestion des ressources humaines

Figure 25 : Création d'une source de données

Et le remplir comme ci-après

Figure 26 : Configuration du pilote ODBC pour Oracle

7.4.2. Script de configuration de ODBC sous Windev

GLOBAL

gTypeConnexion est une chaîne // Pour ODBC

gnIdConnexion est un entier // Identifiant de connexion

gTypeConnexion = "ODBC"

gnIdConnexion = SQLConnecte("odbcwd", "onja","onja","orcl4",gTypeConnexion)

// Nom source de donnée utilisateur oracle

SI gnIdConnexion = 0 ALORS // mot de passe oracle

SQLInfoGene() //nom de la base oracle
Erreur("Impossible de se connecter à la base ODBC",SQL.MesErreur) FinProgramme()

FIN

7.5. Quelques menus proposés par l'application 7.5.1. Le fenêtre d'authentification

Figure 27 : Fenêtre d'authentification

Mise en place d'un système d'information pour la gestion des ressources humaines

 

Ce menu gère directement les utilisateurs crées dans Oracle, et les sources des données ODBC pour s'y connecter

7.5.2. Le menu principale

Figure 28 : Menu principale de l'application

Mise en place d'un système d'information pour la gestion des ressources humaines

 
 

7.5.3. Menu Employé
Ajout d'un employé

Figure 29 : Ajout d'un employé

Description du scenario nominale :

<DEBUT>

01 : Apres avoir authentifié

02 : Le système affiche le menu principal

03 : La personne responsable spécifie l'opération à faire

04 : L'opération choisie est « Nouveau..Employé»

05 : Le système invite la personne responsable à remplir le formulaire.

6: La personne responsable saisit les informations relatives au nouvel employé.

7: la personne responsable demande au système d'enregistrer le nouvel employé.

8: Le système vérifie la validité des données saisies

09:Le système enregistre le nouvel employé.

11 : Le système informe de la réussite de l'opération d'enregistrement. 12: Le système affiche à nouveau le menu « Employé »

<FIN>

Description des scenarii alternatifs

A1 : L'opération choisie est « Modifier»

A1.1 : Le système invite à sélectionner l'employé dont on désire modifier les données. A1.2 : la personne responsable sélectionne l'employé dont les données sont à modifier. A1.3: la personne responsable modifie les données.

A2: L'opération choisie est la « supprimer».

A2.1 : Le système invite à sélectionner l'agent à supprimer.

A2.2 : la personne responsable sélectionne l'employé à supprimer.

A2.3 : la personne responsable valide la suppression de l'employé après confirmation. A2.4 : Le système informe de la réussite de l'opération.

Consulter employé

Figure 30 : Visualisation des employés

CONCLUSION

On rappelle que le but du projet a été de concevoir et de réaliser une application permettant de faire la gestion des ressources humaines de la DGI.

Ce projet apporte une certaine organisation au niveau de la direction, et facilite le travail du service administratif et financier dans le suivi des informations sur les employés de la DGI.

Bien que trois mois a été trop court pour réaliser une telle application, cela ne nous a pourtant pas empêché de mener a terme ce projet. Mais on peut toujours améliorer le système selon les besoins de l'utilisateur.

Plusieurs étapes ont été suivies pour aboutir aux résultats attendus à commencer par l'analyse de l'existant, puis la conception et la modélisation par la méthode Merise. Le langage Windev et le SGBD Oracle ont été les principaux outils de l'implémentation

La réalisation de ce projet nous a apporté une nouvelle connaissance sur la SGBDR Oracle ainsi que sur le langage de programmation Windev et nous a donné aussi une notion sur la manière dont on doit gérer les ressources humaines. Ce stage a été une expérience enrichissante pour le stagiaire car il a permis à la fois d'appliquer les connaissances théoriques et d'augmenter les acquis en matière de compétences techniques mais surtout de nous familiariser et d'avoir un aperçu ce qu'est vraiment le métier d'un ingénieur informaticien sur le milieu professionnel. Cela nous a permis aussi d'acquérir une expérience presque complète au sein d'un grand établissement qui a son importance, avec une envergure non négligeable dans son domaine au niveau nationale telle que la DGI.

BIBLIOGRAPHIE

Supports de cours :

[1] : Professeur RAMAMONJISOA Bertin Olivier MERISE

ING2

[2]: Monsieur Venot RATIARSON

SGBD

ING2

Site web:

[1]: www.developpez.net

[2]: www.oracle.com

[3]: www.pcsoft.com

[4]: www.commentcamarche.com

GLOSSAIRES Base de données

Une base de données est un ensemble de tables, de relations et de procédures écrites en SQL (Structured Query Language), c'est aussi un ensemble de données à sauvegarder et à sécuriser, un espace où on peut enregistrer des informations, les retrouver et les faire traiter automatiquement par un ordinateur.

Client

Ordinateur qui accède aux données stockées sur le serveur pour les exploiter. Conception

Phase du processus du développement d'un logiciel dont l'objet principal est de décider la façon d'implémenter le système. Pendant la phase de conception, des décisions tactiques et stratégiques sont à prendre afin de satisfaire aux exigences fonctionnelles et de qualité voulue pour le système.

Connexion

Procédure permettant à un utilisateur de se mettre en relation avec un système Informatique et, si nécessaire, de se faire reconnaître de celui-ci.

Génie logiciel

Ensemble des activités de conception et de mise en oeuvre des produits et des procédures tendant à rationaliser la production du logiciel et son suivi.

Modèle

Représentation simplifiée de la réalité étudiée. Quel que soit son niveau de complexité, un bon modèle doit être aussi fidèle que possible à l'objet ou au système modélisé.

Requête

Ordre envoyé à un SGBD pour récupérer des données d'une base des données.

Schéma

Représentation graphique faite en vue d'usage pratique ; une forme de dessin dont les aspects structurels sont valorisés en vue d'une interprétation non équivoque.

Serveur

Ordinateur détenant des ressources particulières et qu'il met à la disposition d'autres ordinateurs par l'intermédiaire d'un réseau.

Système de gestion de base de données

Pour une base de données, logiciel permettant d'introduire les données, de les mettre à jour et d'y accéder.

ANNEXE

Script d'affichage des employés

FONCTION ExecSelectTable(pWhereTable="",pOrder="",pMax=1000,

pMode="Affiche",pNomTable="TABLE")

Commande est une chaîne
NumCol est un entier

Commande = "SELECT "+...

"EMPLOYE.NUMMATRICULE ,"+... "EMPLOYE.ID_INTEGRATION ,"+... "EMPLOYE.ID_REGIME ,"+...

"EMPLOYE.NOMEMPLOYE ,"+... "EMPLOYE.PRENOMEMPLOYE ,"+... "EMPLOYE.NUMCIN ,"+...

"EMPLOYE.DATECIN ,"+...

"EMPLOYE.LIEUCIN ,"+...

"EMPLOYE.NUMPASSEPORT ,"+... "EMPLOYE.DATEPASSEPORT ,"+... "EMPLOYE.ADRESSEEMPLOYE ,"+... "EMPLOYE.SITFAMILLE ,"+...

"EMPLOYE.NUMTELEMPLOYE ,"+... "EMPLOYE.EMAILEMPLOYE ,"+...

"EMPLOYE.DATEENTREEADMINISTRATION ,"+... "EMPLOYE.DERNIEREEMPLOI ,"+... "EMPLOYE.SEXEEMPLOYE ,"+... "EMPLOYE.INDICEACTUEL ,"+... "EMPLOYE.STATUTEMPLOYE ,"+... "EMPLOYE.DATENAISS ,"+...

"EMPLOYE.LIEUNAISS "+...

"FROM EMPLOYE"

// Ajoute le WHERE de filtre de liaison passé en paramètre à la fenêtre SI pWhereFiltre<>"" ALORS Commande+=" WHERE "+pWhereFiltre

SI Position(Commande,"WHERE")>0 ALORS

SI pWhereTable<>"" ALORS Commande+=" AND "+pWhereTable

SINON

SI pWhereTable<>"" ALORS Commande+=" WHERE "+pWhereTable

FIN

// Ajoute le ORDER BY

SI pOrder<>"" ALORS Commande=Commande+" ORDER BY "+pOrder

// Exécute la commande

SI SQLExec(Commande,"RE QTABLE")=Faux ALORS SQLErreur("RE QTABLE",Commande) RENVOYER Faux

SINON

SELON pMode

CAS "Affiche" // Affichage

TableSupprimeTout(pNomTable) SQLTable("RE QTABLE",pNomTable,pMax) {pNomTable}..Nouveau=Faux

CAS "Creation", "Modif" // Création ou Modif

// Affecte dans les colonnes de la table de visu SI SQLFetch("RE QTABLE") = 0 ALORS

SI pMode="Création" ALORS TableAjoute(pNomTable) {pNomTable}={pNomTable}..Occurrence

FIN

NumCol=0

NumCol++;

SQLAffChamp("RE QTABLE","NUMMATRICULE",NumCol,SQLTypeColonne("EMPLOYE","NUM MATRICULE"))

NumCol++;

SQLAffChamp("RE QTABLE","ID_INTEGRATION",NumCol,SQLTypeColonne("EMPLOYE","ID_I NTEGRATION"))

NumCol++;

SQLAffChamp("RE QTABLE","ID_REGIME",NumCol,SQLTypeColonne("EMPLOYE","ID_REGIM E"))

NumCol++;

SQLAffChamp("RE QTABLE","NOMEMPLOYE",NumCol,SQLTypeColonne("EMPLOYE","NOME MPLOYE"))

NumCol++;

SQLAffChamp("RE QTABLE","PRENOMEMPLOYE",NumCol,SQLTypeColonne("EMPLOYE","P RENOMEMPLOYE"))

NumCol++;

SQLAffChamp("RE QTABLE","NUMCIN",NumCol,SQLTypeColonne("EMPLOYE","NUMCIN"))

NumCol++;

SQLAffChamp("RE QTABLE","DATECIN",NumCol,SQLTypeColonne("EMPLOYE","DATECIN"))

NumCol++;

SQLAffChamp("RE QTABLE","LIEUCIN",NumCol,SQLTypeColonne("EMPLOYE","LIEUCIN"))

NumCol++;

SQLAffChamp("RE QTABLE","NUMPASSEPORT",NumCol,SQLTypeColonne("EMPLOYE","NU MPASSEPORT"))

NumCol++;

SQLAffChamp("RE QTABLE","DATEPASSEPORT",NumCol,SQLTypeColonne("EMPLOYE","DA TEPASSEPORT"))

NumCol++;

SQLAffChamp("RE QTABLE","ADRESSEEMPLOYE",NumCol,SQLTypeColonne("EMPLOYE","A DRESSEEMPLOYE"))

NumCol++;

SQLAffChamp("RE QTABLE","SITFAMILLE",NumCol,SQLTypeColonne("EMPLOYE","SITFAMIL LE"))

NumCol++;

SQLAffChamp("RE QTABLE","NUMTELEMPLOYE",NumCol,SQLTypeColonne("EMPLOYE","NU MTELEMPLOYE"))

NumCol++;

SQLAffChamp("RE QTABLE","EMAILEMPLOYE",NumCol,SQLTypeColonne("EMPLOYE","EMAI LEMPLOYE"))

NumCol++;

SQLAffChamp("RE QTABLE","DATEENTREEADMINISTRATION",NumCol,SQLTypeColonne("E MPLOYE","DATEENTREEADMINISTRATION"))

NumCol++;

SQLAffChamp("RE QTABLE","DERNIEREEMPLOI",NumCol,SQLTypeColonne("EMPLOYE"," DERNIEREEMPLOI"))

NumCol++;

SQLAffChamp("RE QTABLE","SEXEEMPLOYE",NumCol,SQLTypeColonne("EMPLOYE","SEXE EMPLOYE"))

NumCol++;

SQLAffChamp("RE QTABLE","INDICEACTUEL",NumCol,SQLTypeColonne("EMPLOYE","INDIC EACTUEL"))

NumCol++;

SQLAffChamp("RE QTABLE","STATUTEMPLOYE",NumCol,SQLTypeColonne("EMPLOYE","ST ATUTEMPLOYE"))

NumCol++;

SQLAffChamp("RE QTABLE","DATENAISS",NumCol,SQLTypeColonne("EMPLOYE","DATENAI SS"))

NumCol++;

SQLAffChamp("RE QTABLE","LIEUNAISS",NumCol,SQLTypeColonne("EMPLOYE","LIEUNAISS

"))

FIN

// Fermeture de la requête SQLFerme("RE QTABLE")

FIN RENVOYER Vrai

FIN

LISTES DES FIGURES

Figure 1 : Organigramme de l'ENI 7

Figure 2 : Organigramme de la DGI 16

Figure 3 : Architecture du réseau actuel de la division informatique 20

Figure 4 : Représentation d'une entité 27

Figure 5 : Représentation d'une relation 27

Figure 6 : Modèle Conceptuel des Données 32

Figure 7 : Modèle Logique des Données 34

Figure 8 : Requête PL/SQL vers un serveur 47

Figure 9 : Architecture de PL/SQL 49

Figure 10 : Architecture du système 54

Figure 11 : Création Espace disque logique 55

Figure 12 : Visualisation de l'espace disque logique 55

Figure 13 : Création d'une table 56

Figure 14 : Création des tables sous Oracle SQL*Plus 58

Figure 15 : Liste de tables créées 58

Figure 16 : Assistant de création du projet 60

Figure 17 : Choix de la source des données 60

Figure 18 : Sélection de la base source 61

Figure 19 : Choix des fichiers pour le RAD 62

Figure 20 : Point d'entrée pour le RAD 63

Figure 21 : Choix des options du menu 63

Figure 22 : Création de la bibliothèque et de l'installation 65

Figure 23 : Création et procédure d'installation 66

Figure 24 : Création de l'installation 67

Figure 25 : Création d'une source de données 68

Figure 26 : Configuration du pilote ODBC pour Oracle 68

Figure 27 : Fenêtre d'authentification 69

Figure 28 : Menu principale de l'application 70

Figure 29 : Ajout d'un employé 71

Figure 30 : Visualisation des employés 73

LISTES DES TABLEAUX

Tableau 1 : liste des machines 17

Tableau 2 : Liste des Imprimantes 18

Tableau 3 : liste des Onduleurs 18

Tableau 4: Liste de Photocopie 18

Tableau 5: Liste de Scanneur 18

Tableau 6: Liste de Switch 18

Tableau 7 : Dictionnaire des données 31