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

 > 

Modélisation et implémentation d’une base de données répartie pour la gestion de l’enrôlement dans un processus électoral


par Jules MUSONGIELA MULEMBUE
Ecole Supérieure des Métiers d'Informatique et de Commerce - Licence 2015
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

EPIGRAPHE

«Ce qui se conçoit et se programme bien, s'énonce clairement. »

Jules JUCKA

A Judith MULANGA,mon unique petite soeur ;

A Daniel NDJIBU, mon seul ami ;

Pour Hortensia Brunel KALONDA G4, mon trésor de vie.

Jules MUSONGIELA

DEDICACE

Je remercie la Famille Léonard MULEMBUE et Marie-Claude NKONKO pour leurs travaux de soutien et leur existence dans ma vie : Yvette ESHIBA, Flavie MUIKA, Alain NYOMBO, Erick MUDIMBI ZULU et Benjamin WENAKONGA ;

Je m'en vais pour remercier mon Père Spirituel : l'Apôtre Missionnaire Rickson Patrick NGUDIA ;

Mes remerciements les plus distingués à mon Maître Scientifique pour l'acceptation de la direction de ce projet, malgré ses multiples occupations, je cite le Professeur Richard KITONDUA, ainsi qu'à son Assistant Monsieur Deack KINKONKO pour le rapportage du présent travail.

Mes sincères remerciements au corps académique, administratif et professoral de l'Ecole Supérieure des Métiers d'Informatique et de Commerce pour l'organisation des enseignements qui nous ont ouverts à l'horizon informatique ;

A mes camarades de lutte de la promotion : Dieudonné MWADIA BILE et Christian DIFUMBA ;

Aux amis et connaissances ;

A ma belle-famille ;

A vous tous qui me lisez sous ces lignes ;

Jules MUSONGIELA

REMERCIEMENTS

AVANT PROPOS

Ce travail est le fruit de ma formation en Administration Réseau et Gestion de Bases de données, et notamment de la modélisation des données des systèmes d'information depuis bientôt cinq ans. Il est l'aboutissement d'une longue réflexion sur l'approche la plus appropriée pour assurer l'initiation à une discipline qui de l'avis de plusieurs, surtout dans nos pays sous-développés, est presqu'un service bureautique.

Dans les tout débuts de l'informatique, le fonctionnement « intime » des processeurs décidait toujours, en fin de compte, de la seule manière efficace de programmer un ordinateur. Alors que l'on acceptait tout programme comme une suite logique d'instructions et toute base de données comme un ensemble structuré de données, il était admis que l'organisation de données et la présentation structurelle même de ces données ne pouvaient s'éloigner de la façon dont le processeur les exécutait : pour l'essentiel, des modifications de données mémorisées, des déplacements ou partage de ces données d'un emplacement mémoire à un autre, et des opérations d'arithmétique et de logique élémentaire ont débouché aux bases de données réparties.

L'hypothèse que sous-tend ce travail est que, l'implémentation d'une Base de Données Répartiemènerait la Commission Electorale Nationale Indépendante à une gestion de haut niveau dans ce cas où elle permettra non seulement la disponibilité, la confidentialité et l'intégrité des données en permanence dans différents sites mais aussi, en surmontant l'exécution manuelle de certaines tâches par des réplications symétriques asynchrones, la concurrence aux données et la sécurité de toutes les opérations y relatives.

Il semble donc préférable de maîtriser des concepts et une démarche UML plutôt pour la modélisation de bases de données que de connaître les caractéristiques de l'outil UML. Cela n'empêchera pas, bien au contraire, d'utiliser l'outil de manière optimale. C'est pour cela que ce travail détaille d'une part comment concevoir une base de données avec UML en général et comment se fait la répartition de données d'une base avec Oracle 11g R2 en particulier. Et d'autre part, énonce des règles précises de transformation entre les différents niveaux d'abstraction qui interviennent dans cette conception. Cette application pourra ainsi servir de base pratique à l'utilisation des différents principes étudiés.

Jules MUSONGIELA

IN MEMORIUM

Je l'écris aussi et surtout en mémoire de mon très cher Grand Père François YAMBA-YAMBA MUANA-KIALU;

Et de mon beau-père Félicien KALONDA KAFELY ;

Que vos âmes reposent en paix et soient honorées dans le nom précieux de Notre Seigneur Jésus Christ.

Jules MUSONGIELA

ABBREVIATIONS UTILISÉES

ACID : Atomicité, Cohérence, Isolation, Durabilité

AFNOR : Association Française de Normalisation

Ang. : Anglais

ANSI : American National Standard Institute

ARGBD : Administration Réseau et Gestion de Base de données

BD :Base de Données

BDD : Base de Données

BDR  : Base de Données Répartie

BLOB : Binary Large Object

BOT : Begin Of Transaction

C++  : Nom de la version du langage C pouvant programmer les objets

CBO : Cost Based Optimizer

CD RW : Compact Disc ReWritable (ou Read/Write)

CENI  : Commission Electorale Nationale Indépendante

CI  : Centre d'Identification

CKPT : Checkpoint

COO  : Conception Orientée Objet

CPU : Central Processing Unit

DB : Database

DBWRn : Database Writer

DIFE  : Direction de l'informatique et du Fichier Electorale ;

DTA  : Dates au plus tard

DTO  : Dates au plus tôt

E/S : Entrées/Sorties

Ed. : Edition

EOT : End Of Transaction

ESMICOM : Ecole Supérieure des Métiers d'Informatique et de Commerce

Fig. : Figure

Go : Giga Octet

I/O : Input/Output

IBM : International Business Machine

ID : Identifier, Identificateur

INFO : Informatique

ISO : International Standardization Orgaanisation

ISTIA : Institut Supérieur Technique d'Informatique Appliquée

JQC : Job Queue Coordinator

L2 : Deuxième Licence

LGWR : Log Writer

Max : Maximum

MBM : Mbujimayi

Min : Minimum

ML : Marge Libre

MMAN : Memory Manager

MMON : Memory Monitor

NAMUR :

OMT : Object Modeling Technique

OOSE : Object Oriented Software

p. : Page

P2P : Peer to Peer

PERT : Program Evaluation and Research Task ou Program Evaluation and Review Technic. En Français : Technique d'Evaluation et d'Examen de Programme

PGA  : Program Global Area

PL/SQL : Procedural Language/Structured Query Language

PMON : Process Monitor

pp. : de la page n à la page x

QQQOCC : Qui, quoi, quand, où, comment, combien ?

RDC : République Démocratique du Congo

SE  : Service de l'Exploitation ;

SED  : service des Etudes et Développement ;

SFE  : Service du Fichier électoral.

SGA  : System Global Area

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

SGBDR : SGBD Répartie

SID : système Identification

SMON : System Monitor

SQL  : Structured Query Language

TCP : Transmission Control Protocol

TNS : Transparent Network Substrate

UML  : Unified Modeling Language

TABLE DES FIGURES

Fig. I.1. Niveaux d'abstraction. 3

Fig. I.2 : Architecture Client/serveur. 16

Fig. I.3 : Architecture serveur-serveur. 17

Fig. I.4 : Conception ascendante de la BDR 18

Fig. I.5 : Conception descendante de la BDR 18

Fig. II.1. Organigramme général de la CENI 31

Fig. II.2. Organigramme spécifique 32

Fig. III.1. Graphe Brut 42

Fig. III.2. Graphe ordonné 44

Fig. III.3. Graphe de la DTO 46

Fig. III.4. Graphe de la DTO 48

Fig. III.5. Réseau PERT avec les dates « au plus tôt » et « au plus tard » 49

Fig. IV.1. Evolution d'UML. 55

Fig. IV.2. Diagramme de Cas d'utilisation 60

Fig. IV.3. Diagramme de Séquence - Candidat 64

Fig. IV.4. Diagramme de séquences - OPS 66

Fig. IV.5. Diagramme de séquence - DBA 67

Fig. IV.6. Diagramme de séquences - BDD Distante 68

Fig. IV.7. Diagramme de séquences 70

Fig. IV.7. Description des classes de la BD 72

Fig. IV.10. Généralisation et héritage 74

Fig.IV.11. Diagramme de classe 76

Fig. V.1. Architecture de la BD Oracle 78

Fig. V.2. Segment, Extent et Bloc de données. 81

Fig. VI.1. Structure générale du nouveau system réparti. 97

Fig. VI.2. Rôle Utilisateurs 99

Fig. VI.3. Rôle Administrateur CENI. 100

Fig. VI.4. Tablespace 100

Fig.VI.5. Utilisateurs 100

Fig. VI.6. Attribution des Rôles aux utilisateurs 101

Fig. VI.7. Tables 102

Fig. VI.8. Liens et synonymes 102

Fig. VI.9. Vues matérialisées et synonymes 103

Fig. VI.10. Connexion Netbeans-Oracle 103

Fig. VI.11. Page d'accueil application 104

Fig. VI.12. Page d'accueil application 104

Fig. VI.13. Interface Utilisateur - Saisie 105

Fig. VI.14. Sous menu d'administration 106

Fig. VI.15. Interface Administrateur 106

TABLE DES TABLEAUX

TABLEAU II.1. TABLEAU DES ANCIENNES ET NOUVELLES PROVINCES 3

TABLEAU III.1 : AVANCEMENT DES TACHES 39

TABLEAU III.2. LISTE DES TACHES, LEURS DUREES ET LEURS COUTS 41

TABLEAU III.3. RESULTATS DE LA DTO ET LA DTA 52

TABLEAU III.4. RESULTAT DES MARGES 52

TABLEAU IV.1. FICHE DE DESCRIPTION TEXTUELLE DES SCENARIOS 61

TABLEAU IV.2. TERMINOLOGIE 73

TABLE DES FORMULES

Formule II.1. Calcul de la (DTO) pour une seule tâche 3

Formule II.2. Calcul de la (DTO) pour plusieurs tâches 45

Formule II.3. Calcul de la DTA pour le cas d'une seule tâche 47

Formule II.4. Calcul de la (DTO) pour le cas de plusieurs tâches 47

Formule II.5. Marge libre 50

Formule II.6. Marge totale 50

Formule V.1. Jointure des classes 91

Formule V.2. Fragmentation hybride 91

Formule V.3. Allocation du site YAKANYAMA 92

Formule V.4. Allocation du site YAKANYAMA 92

INTRODUCTION GENERALE

L'informatique est une science exacte. Avec but de surmonter les faiblesses humaines (conscience et sentiments), l'informatique dispose des méthodes et techniques nécessaires pour l'automatisation de certaines activités de l'homme. Elle est l'unique science ayant des moyens fiables et sûrs pour répondre aux besoins de ses bénéficiaires d'une manière efficace, ce dans tous les domaines.

A cet effet, la gestion des systèmes d'information demande l'organisation structurelle de données, qui est l'unité principale de traitement, pour l'acquisition, l'utilisation (traitement et mis à jour), le partage et le stockage de ces données. Ces tâches requièrent la présence des moyens capables de les prendre en charge pour leur usage effectif : les bases de données réparties sont la seule solution.

Aujourd'hui, les bases de données ont pris une place essentielle en informatique, plus particulièrement en gestion. Elles constituent donc une discipline s'appuyant sur une théorie solide et offrant de nombreux débouchés pratiques.

C'est ainsi que, la Commission Electorale Nationale Indépendante, un supra-système, gère une masse importante de données tant persistantes que volatiles, et éprouve ensuite d'énormes vulnérabilités qui ne peuvent passer inaperçues à notre vue et qui nécessitent une modélisation de son existant pour s'en passer.

1. PRESENTATION DU PROJET

Le présent travail fait allusion à la modélisation des activités d'enrôlement des électeurs dans le processus électoral, au sein de la Commission Electorale Nationale Indépendante, en République Démocratique du Congo.

Cette modélisation se fera suivant une approche conceptuelle dont le but est d'implémenter une Base de Données Répartie par des démarches UML.

2. CHOIX ET INTERET DU SUJET

2.1. CHOIX

Nous avons opté pour ce sujet : `Modélisation et implémentation d'une base de données répartie pour la gestion de l'enrôlement dans un processus électoral. Cas de la Commission Electorale Nationale Indépendante en République Démocratique du Congo' ; vue les failles que présente le système en place à la CENI et les difficultés observées sur toutes les positions fortes (les finances, l'administration et la sécurité) dans la gestion des activités d'enrôlement des électeurs lors de la révision du fichier électoral.

2.2. INTERETS

L'intérêt exclusif est pour nous de concilier la théorie apprise pendant notre parcours estudiantin à la pratique, en vue de l'obtention du grade de licencié en Administration Réseau et Gestion de Base de Données.

Ensuite, l'univers scientifique trouve son intérêt dans ce travail, qui reste une ligne de conduite pour tout chercheur, de comprendre la modélisation de bases de données réparties avec UML.

Enfin, ce travail trouve son intérêt général dans le cas où il permet la disponibilité, confidentialité et intégrité des données en permanence dans différents sites afin de permettre à chaque électeur de voter n'importe quel endroit où il peut se trouver, et servir en même temps de moyen d'aide à la prise de décision pour les dirigeants de la CENI.

3. PROBLEMATIQUE

Est-il qu'il nous soit impérieux de soulever les éléments ayant motivé notre esprit pour la modélisation de l'enrôlement dans le système de la Commission Electorale Nationale Indépendante en République Démocratique du Congo :

Serait-il possible de modéliser un système informatique décentralisé capable de prendre en charge toutes les activités pendant l'enrôlement ?

Ce système, serait-il à même d'assurer la réplication à temps différé, la sécurité et l'accélération du traitement de données pour servir de moyen d'aide à la décision pour la CENI ?

Si c'est possible, par quelle touche y parvenir ?

Tous ces problèmes techniques préjudicient la qualité de services rendus par la CENI en suscitant des doutes à la population congolaise qui est le bénéficiaire direct desdits services. C'est ainsi que la CENI est taxée de corruptible, non fiable, non transparente, ce qui a affecté son système de gestion.

4. HYPOTHESES

Pour anticiper de répondre aux problèmes sus-soulevés, l'usage des bases de données réparties dans cette institution (CENI) pour la gestion des opérations d'enrôlement des électeurs apportera certes, beaucoup d'avantages non seulement de la disponibilité, la confidentialité et l'intégrité des données en permanence dans différents sites mais aussi, en surmontant le problème de réalisation de certaines tâches manuelles d'une manière symétrique, de concurrence et de sécurité desdites opérations, aussi de données en découlant.

5. METHODOLOGIE

Pour élaborer ce modeste travail, nous avons suivi des méthodes et utilisé certaines techniques très efficaces.

5.1. METHODES

En ce qui concerne les méthodes, nous avons utilisé :

a) METHODE DESCRIPTIVE

Elle nous a permis, sur base de la description faite sur la Commission Electorale Nationale Indépendante, de mieux comprendre et cerner les points nécessaires qui concernent l'organisation d'activité de l'entreprise.

b) METHODE ANALYTIQUE

Elle nous a permis de bien comprendre et expliquer les différents problèmes intervenant en matière d'enrôlement afin d'éclairer les éléments constitutifs de chaque fonction.

c) METHODE PERT

Elle nous a permis de cadrer de façon générale le projet et de le planifier après avoir déterminé sa durée d'exécution, ses tâches et coûts d'exécution matérialisés par un calendrier d'élaboration que le projet se base.

Elle nous a aussi permis de maitriser les principales techniques de planification et de suivi de notre projet.

5.2. TECHNIQUES

Les techniques de récoltes de données que nous avons utilisées c'est l'interview, la documentation et l'internet.

a) TECHNIQUE D'INTERVIEW

Elle nous a permis d'entrer en contact avec le personnel de la CENI et nous échanger avec eux sur notre sujet.

b) TECHNIQUE DOCUMENTAIRE

Elle nous a permis de puiser les différentes informations nécessaires dans les documents, ouvrages, syllabus disponible et utile à notre travail. Cette documentation, nous l'avons recherchée dans notre champ d'investigation (CENI), à l'école, dans des bibliothèques et sur internet.

6. DELIMITATION SPATIO-TEMPRELLE

Pour bien cerner notre cadre de travail et nous faciliter l'exécution rapide de la tâche scientifique à notre charge, nous avons eu à délimiter notre travail dans le temps et dans l'espace :

? Dans le temps, ce mémoire tient compte de la période académique allant de 2014 à 2015 ;

? Dans l'espace, nous nous sommes intéressés à la Commission Electorale Nationale Indépendante, à la Direction Nationale de Kinshasa en République Démocratique du Congo.

7. SUBDIVISION DU TRAVAIL

Ce travail se constitue des points et sous-points, sections et chapitres dont :

? Chapitre 1. Notions sur les Bases de données et les Bases de données réparties ;

? Chapitre 2. Analyse préalable ;

? Chapitre 3. Planification et évaluation du projet ;

? Chapitre 4. Modélisation de la Base de données répartie ;

? Chapitre 5. La répartition de données avec Oracle ;

? Chapitre 6. Implémentation.

Chapitre Premier :

NOTIONS SUR LES BASES DE DONNEES ET LES BASES DE DONNEES REPARTIES

INTRODUCTION

Les bases de données en général servent d'outils de gestion efficace de l'information dans tous les domaines de l'administration, comme dans les domaines techniques : elles sont actuellement au coeur de tout système d'information des entreprises. Bien gérer une base de données, c'est jouir d'une très grande charge pour garantir l'intégrité des données au sein de l'organisation, à savoir le fait que celles-ci ne seront pas corrompues au moment de leur utilisation. Et ceci demande une connaissance parfaite en la matière. C'est pourquoi, ce chapitre fera objet d'analyse sur les notions de bases de données en général, et en particulier celles des bases de données réparties (BDR).

SECTION I. NOTIONS SUR LES BASES DE DONNEES

Une base de données constitue la mémoire permanente de toute application informatique, et plus généralement du système d'information. C'est à cet effet que nous avons consacré cette section sur la description générale des bases de données.

I.1. BASE DE DONNEES (BD)

a) DEFINITION

Une base de données (en abrégé BD, en anglais DB : Data Base) est un ensemble de données modélisant les objets d'une partie du monde réel et servant de support à une application informatique.1(*) Pour mériter le terme de base de données, un ensemble de données non indépendantes doit être interrogeable par le contenu, c'est-à-dire que l'on doit pouvoir retrouver tous les objets qui satisfont à un certain critère, comme tous les individus de sexe masculin par exemple. Les données doivent être interrogeables selon n'importe quel critère. Il doit être possible aussi de retrouver leur structure, par exemple le fait qu'un individu possède un nom, un prénom, une adresse, etc.

A cet effet, nous pouvons définir une BD comme étant un ensemble structuré d'éléments d'information, souvent agencés sous forme de tables, dans lesquels les données sont organisées selon certains critères en vue de permettre leur exploitation pour répondre aux besoins d'information d'une organisation (Database).2(*)

Ainsi, pour clarifier cette définition, nous enchérissons qu' : « Une BD est un ensemble volumineux, structuré et minimalement redondant de données, reliées entre elles, stockées sur supports numériques centralisés ou distribués, servant pour les besoins d'une ou plusieurs applications, interrogeables et modifiables par un ou plusieurs utilisateurs travaillant potentiellement en parallèle. »3(*)

b) LES CRITERES D'UNE BD4(*)

Une Base de Donnéesdoit répondre aux critères suivants :

L'exhaustivité

Implique la présence dans la base de données, de tous les renseignements qui ont trait aux applications en question (la présence dans la base de toutes les informations requises pour le service que l'on en attend).

La non-redondance

Implique la présence d'un renseignement donné une fois et une seule. Mais la non-redondance absolue est souvent difficile à réaliser.

La structure

Implique l'adaptation du mode de stockage des renseignements aux traitements qui les exploiteront et les mettrons à jour, ainsi qu'au coût de stockage dans l'ordinateur.

I.2. SYSTEME DE GESTION DE BASES DE DONNEES (SGBD)

a) DEFINITION

Un SGBD est un logiciel, le plus souvent produit par un éditeur commercial, qui gère et contrôle l'accès à une base de données, assurant ainsi une interface normalisée entre les applications et les bases de données (Database management system).5(*)

b) LES OBJECTIFS D'UN SYSTEME DE GESTION DE BASES DE DONNEES

Dans ce cadre les SGBD se fixent les objectifs suivants :

- Indépendance physique des données

- Indépendance logique des données

- Manipulation des données par des non-informaticiens

- Administration facilitée des données

- Optimisation de l'accès aux données

- Contrôle de cohérence (intégrité sémantique) des données

- Partageabilité des données

- Sécurité des données

- Sûreté des données

c) LES CARACTERISTIQUES DES SGBD6(*)

Les Systèmes de Gestion de Bases de Données se caractérisent par :

- L'indépendance entre les données et les applications ;

- Le contrôle centralisé des données pour éviter toute redondance ;

- Le partage des données et accès concurrents ;

- La gestion de la cohérence et de l'intégrité des données ;

- La description des données stockées sous forme de métadonnées.

I.3. NIVEAU D'ABSTRACTION DES DONNEES

Dans un SGBD les programmes qui traitent les données, les programmes applicatifs implémentant les opérations du SGBD sont indépendants des données ; cette propriété importante des bases de données s'appelle abstraction des données.Le processus de transformation des requêtes et des résultats qui sortent d'un niveau à un autre s'appelle correspondance ou mapping.

L'objectif majeur des SGBD est d'assurer une abstraction des données stockées sur disques pour simplifier la vision des utilisateurs. Pour cela, trois niveaux d'abstraction ont été définis en 1974 pour laconception d'une base de données [NAM 74] (...). Nombre de méthodesde conception ont vu le jour et ont associé une forme de représentation appelée « schéma » àchacun de ces niveaux. Un niveau logique est présent dans certaines de ces méthodes.7(*)

Fig. I.1. Niveaux d'abstraction.

L'approche du rapport de Namur

Cette approche utilise trois niveaux suivants : niveau conceptuel, logique et physique.

Le niveau conceptuel spécifie les règles de gestion en faisant abstraction de toute contrainte de nature organisationnelle [MOR 92]. Le niveau logique spécifie des choix de type organisationnel (contraintes liées aux acteurs et types de matériels qui seront utilisés pour les traitements). Le niveau physique spécifie des choix techniques (moyens mis en oeuvre pour gérer les données ou activer les traitements), les optimisations étant également prises en compte.8(*)

L'approche du rapport de l'ANSI

Pour cette approche, les trois niveaux sont représentés comme suit : niveau externe, conceptuel et interne.

Le niveau interne est le niveau relatif à la mémoire physique. Il s'agit du niveau où les données sont réellement enregistrées. Le niveau externe est le niveau relatif aux utilisateurs. Il s'agit du niveau dans lequel les utilisateurs voient les données. Le niveau conceptuel, aussi appelé « niveau logique communautaire », est le niveau intermédiaire entre les deux précédents [DAT 00].9(*)

Notons que même pour les bases de données objet ou objet-relationnelles, les niveaux de conception sont utiles, car ils permettent de séparer les spécifications formelles de l'implémentation et rendent les schémas indépendants des matériels et des logiciels, dans la mesure du possible.

I.4. STRUCTURATION DE DONNEES

Il existe trois modèles de structuration de données suivant les types des SGBD. Nous pouvons indiquer que la structuration de donnée tient compte de l'évolution des SGBD. Nous les détaillons suivant leur ordre chronologique : le modèle hiérarchique et réseau, le modèle relationnel, et enfin le modèle orienté-objet. Aussi, cette différence de modèles se focalise sur la structure organisationnelle interne des données.

a) LES MODELES HIERARCHIQUES ET RESEAUX

Ces SGBD étaient basés surle concept que les enregistrementsconservésdansdivers fichiers pouvaient être liés selon une certaine hiérarchie et constituer un assemblage arborescent.On a appelé structure hiérarchique cette forme deliaison entre des enregistrements de fichiers distincts. En vertu de ce modèle d'organisation des données, un enregistrement peut être le pèredeplusieurs enregistrements qui à leur tour peuvent avoir des fils.

Dans la même optique, naquit l'idéede généraliser l'approche des SGBD hiérarchiques en proposant un modèle d'organisation des données permettant des liens plusieurs à plusieursentre les fichiers. La hiérarchie père-fils n'existe pas dans ce modèle, car un enregistrement peut avoir plusieurs successeurs de même que plusieurs prédécesseurs. Les fichiers sont liés en réseau maillé à la manière des réseaux d'égout (...).Ces SGBD sont dits de type réseau (ou simplementSGBD réseau) et permettent dereprésenterdesassociationscomplexesentrelesfichiers.10(*)

b) LES MODELES RELATIONNELS

Ensuite, viennent au monde les SGBD reposant sur le modèle relationnel. Le début desannées1970, Edgard CODD,chercheur au laboratoire de recherche IBM de San Jose en Californie, s'inspirant de l'algèbrerelationnelle,proposa un mode d'organisation des données ne nécessitant pasdepointeurspour lier les enregistrements. Non seulement ce modèle avait ses fondements théoriquessolidementétablis dans l'algèbre relationnelle, mais il était aussi d'une grande simplicité.Lastructured'un fichier est définie comme unerelationentre des données provenantd'un nombre fini de domaines. Les enregistrements sont des tuples, et constituent des occurrences de la relation. Les liens sont assurés entre deux enregistrements sur labased'unchampdemême type, communauxdeuxenregistrements. Si les champs communs possèdent la même valeur, lesenregistrements sont logiquement liés.Il n'est dès lors plus nécessaire de gérer des pointeurs physiques pour assurer ces liens.Dephysiquesqu'étaient les liens dans les SGBD hiérarchiques ou réseaux, les liens sont dorénavantlogiques, basés sur les valeurs des champs, ce qui rend la navigation entre les enregistrements beaucoup plus souple.

Malgréleursnombreuses qualités, les SGBD relationnels, constituant la deuxième génération, ont uncertainnombre de lacunes pour l'expression de modèles de données àunhautniveaud'abstraction, ce que nous définissons comme le modèle conceptuel de données. Un effort considérable de recherche et de réflexion a étéfaitau cours des vingt dernières annéespour développer des méthodes et des formalismespermettant d'exprimer un modèle de données dépouillé des contraintes du modèle relationnel mais qui puisse se traduire assez directement dansun SGBD relationnel.11(*)

c) LES MODELES ORIENTES OBJETS

Le développement de langages orientés objets (...) a conduit à la mise au point de SGBD devant assurer la persistance des objets, soit lestockagepermanentsurun support demémoireauxiliaire des objetscréés à l'aide de ces langages.CeSGBD dit orienté objet ou simplement SGBD objet, qui a connu un essor somme toute limité appartient à latroisième génération.

Le développement des SGBD objets a été freiné par des SGBD hybrides incorporant le modèle relationnel et le stockage d'objets.Les objets peuvent être soit de typestructurécomme ceux créés par un langage orienté objet ou de type non structurételles que des images, de la vidéo, des trames sonores, appelé BLOB (Binary Large OBject). On donne le nomSGBDrelationnel-objet à cette forme hybride car il combine les propriétés du SGBD relationnel et du SGBDobjet.12(*)

1.5. LES BASES DE DONNEES AVANCEES

a) BD PARALLELE

Les données peuvent être distribuées sur plusieurs disques d'un même site, et l'exécution des requêtes peut être parallélisée sur les différentes unités de traitement (CPU) du site.

b) BD FEDEREE

Plusieurs bases de données hétérogènes capables d'inter opérer via une vue commune (modèle commun).13(*)

c) SYSTEME MULTIBASE

Plusieurs bases de données (hétérogènes ou non) capables d'inter opérer sans une vue commune.14(*)

d) BD REPARTIE

Les données sont distribuées (réparties) et/ou dupliquées sur différents sites du réseau qui possèdent un certain degré d'autonomie. Chaque site peut comporter une BD parallèle.

SECTION II. NOTION SUR LES BASES DE DONNEES REPARTIES

La décentralisation des systèmes informatiques se heurte aujourd'hui aux problèmes de la répartition de données. Celle-ci étant un moyen assurant la cohérence, la sécurité, l'intégrité, la fiabilité des données géographiquement disséminées sur plusieurs systèmes, devient de plus en plus complexe.

C'est ainsi que la problématique de bases de données réparties constitue à cet effet une préoccupation importante demandant des études très. Cette section va nous aider à éclairer notre connaissance pour dissiper toutes confusions caractéristiques aux notions basées sur cette matière.

II.1. GENERALITES SUR LES BASES DE DONNEES REPARTIES

a) EVOLUTION DES BDR

La gestion de bases de données centralisées avec le temps, s'est confrontée à divers problèmes qui sont :

· L'augmentation du volume de données ;

· L'augmentation du volume de traitements ;

· L'augmentation du volume de transactions ;

· Etc.

Cela a entraîné la lenteur des applications, car les périphériques de stockage submergés, ne répondant pas assez vite. Aussi, il est à noter que les débits des liaisons réseaux évoluaient beaucoup plus vite que les capacités des périphériques de stockage.

Ainsi, l'idée est venue de multiplier les sources de données et les faire communiquer par réseau, afin de bénéficier de traitements parallèles, minimisant ainsi les temps de réponses. Aujourd'hui, les BDR sont de plus en plus répandus, et comblent largement les lacunes des bases de données classiques.

1. SYSTEME REPARTI

Unsystèmerépartiestunensembledesitesreliésparunréseau,comportantchacununeouplusieursmachines.15(*)Dans le système réparti se passe un partage des ressources matérielles et logicielles.

2. OBJECTIFS DES BASES DE DONNEES REPARTIES

Les principaux objectifs sont :

- Transparence pour l'utilisateur ;

- Autonomie de chaque site ;

- Absence de site privilégié ;

- Continuité de service (tolérance aux pannes) ;

- Transparence vis à vis de la localisation des données ;

- Transparence vis à vis de la fragmentation ;

- Transparence vis à vis de la réplication ;

- Traitement des requêtes distribuées ;

- Indépendance vis à vis du matériel ;

- Indépendance vis à vis du système d'exploitation ;

- Indépendance vis à vis du réseau ;

- Indépendance vis à vis du SGBD.16(*)

3. INCONVENIENTS DES SYSTEMES REPARTIS

L'inconvénient majeur de la répartition des données d'une BD entre plusieurs sites est la complexité résultant de leur coordination. Cette complexité se répartit de la façon suivante :

- Le coût de mise au point du logiciel;

- Le nombre d'erreurs logicielles plus important;

- Les servitudes du système accrues pour la coordination :

o Echange de messages ;

o Calcul supplémentaire ;

o Récupération de système plus complexe après panne (Réintégration des sites ou liaison en pannes).17(*)

b) PRINCIPES DES BDR

1. DEFINITION D'UNE BASE DE DONNEES REPARTIE

En soi, une base de données répartie est d'abord une base de données simple... On appel base de données répartie une base de données composées de plusieurs base de données visible comme un système unique, qui échangent des données avec des messages.18(*)

Une base de données répartie ne contient en principe pas de redondance, si les données sont copiées d'une BD à l'autre, on parle de données répliquées.

2. SYSTEME DE GESTION DE BASE DE DONNEES REPARTIE (SGBDR)

Définition

Un système de gestion de bases de données réparties est donc un ensemble de logiciels systèmes gérant des données réparties sur un ensemble de sites, intégrant des modules clients et des modules serveurs. Clients et serveurs collaborent bien sûr par des médiateurs spécifiques.19(*)

Il se charge de la création et la maintenance des bases de données. Il doit rendre la répartition des bases des données transparentes aux utilisateurs. La base de données étant répartie, il faut également répartir certaine fonctionnalités du SGBD.

Fonctions

1. L'accès lointain par un programme d'application rendu possible grâce à la composante de base de données répartie.

2. Garantir certains degrés de transparences réparties.

3. Le support d'administration et de contrôle de base de données. Le contrôle, l'utilisation des bases de données et la vue globale des fichiers existants dans les divers sites.

4. Le contrôle de concurrence et la rentabilité des transactions réparties.

3. CONCEPTS DE BASE

? SCHEMA GLOBAL

Comme toutes les bases de données, une base de données répartie possède un schéma appeléschéma global qui permet de définir des types de données de la base. Il s'agit d'une vision relationnelle de la base. Le schéma global ignore les concepts d'implémentation. A ce titre, il est souvent appelé schéma conceptuel.

Dans une base de données répartie, le schéma global ou conceptuel n'est pas forcément matérialisé. Chaque base locale implémente une partie. Ces parties locales sont les seules matérialisées sur des disques. L'utilisateur d'une base de données répartie se focalise sur sa vue logique des données et n'a pas besoin de se préoccuper des fragments physiques.C'est le système de bases de données qui se charge lui-même d'exécuter les opérations, soit localement, soit en les distribuant sur plusieurs ordinateurs en cas de besoin.

La définition du schéma global de répartition est le point de départ pour la modélisation et surtout qu'il n'existe pas d'autres solutions optimales.

Le concepteur doit donc prendre des décisions dont l'objectif est de minimiser le nombre de transferts entre sites, les temps de transfert, le volume de données transférées, les temps moyens de traitement des requêtes, le nombre de copies de fragments, etc...

Le schéma global se subdivise en trois schémas qui sont le schéma interne, le schéma conceptuel et le schéma externe.

? SCHEMA LOCAL

C'est l'ensemble des segments de tables physiques alloués aux ordinateurs à travers les sites géographiquement éloignés.

c) UTILISATION D'UNE BDR

Le principe fondamental dans l'utilisation des bases de données répartie est la transparence pour l'utilisateur.

Celle-ci se veut comme le fait de cacher aux utilisateurs certaines informations. Ce qui lui fait apparaitre la BD comme étant unique. Cette transparence s'exprime sous trois formes :

1. TRANSPARENCE DE LA LOCALISATION

Les utilisateurs accèdent à la base de données soit directement par le schéma conceptuel, soit directement au travers de vues externes. Mais en aucun cas ils n'ont les moyens d'accéder aux schémas locaux ni de préciser le site.

2. TRANSPARENCE DE PARTITIONNEMENT

De même, les utilisateurs n'ont pas à connaître les partitionnements de la base de données. Ils ne doivent pas savoir si telle information est fractionnées, et ne doivent donc pas se préoccuper de la réunifier. C'est le système qui gère les partitionnements et les modifier en fonction de ses besoins, et c'est donc lui qui doit rechercher toutes les partitions et les intégrer en une seule information logique présentée à l'utilisateur.

3. TRANSPARENCE DE LA DUPLICATION

Enfin, les utilisateurs n'ont pas à savoir si plusieurs copies d'une même information sont disponibles. C'est le principe de transparence de duplication. La conséquence directe est que lors de la modification d'une information, c'est le système qui doit se préoccuper de mettre à jours toutes les copies.

d) LA REPARTITION DES BASES DE DONNEES

1. BUTS

Les bases de données réparties ont une architecture plus adaptée à l'organisation des entreprises décentralisées par le fait qu'elles assurent :

§ Plus de fiabilité : les bases de données réparties ont souvent des données répliquées. La panne d'un site n'est pas très importante pour l'utilisateur, qui s'adressera à autre site.

§ Meilleures performances : réduire le trafic sur le réseau est une possibilité d'accroître les performances. Le but de la répartition des données est de les rapprocher de l'endroit où elles sont accédées. Répartir une base de données sur plusieurs sites permet de répartir la charge sur les processeurs et sur les entrées/ sorties.

§ Faciliter l'accroissement: l'accroissement se fait par l'ajout de machines sur le réseau.

2. PROBLEMES A SURMONTER

Les problèmes majeurs à surmonter dans la répartition des bases de données sont :

Le coût : la distribution entraîne des coûts supplémentaires en terme de communication, et en gestion des communications (-hardware et software à installer pour gérer les communications et la distribution) ;

La concurrence : vis-à-vis à l'accès aux données de la base par les utilisateurs ;

La sécurité : la sécurité est un problème plus complexe dans le cas des bases de données réparties que dans le cas des bases de données centralisées.

e) ARCHITECTURE DES BDR

1. AUTONOMIE

Dans une base de données répartie, chaque site du réseau possède une capacité d'exécution autonome et peut développer des applications locales. Il peut en outre participer à l'exécution d'au moins une application globale qui demande de l'accès aux données de plusieurs sites en utilisant un système de communication.20(*)

Ce qui en dégage une corrélation logique entre les données réparties sur différents sites : ces données possèdent les propriétés qui les tiennent ensemble malgré la distribution.

2. RELATION ENTRE MACHINES

La relation entre les machines dans un système réparti est définie suivant deux architectures dont :

? ARCHITECTURE CLIENT/SERVEUR

C'est une architecture dans laquelle les traitements sont répartis entre les clients qui demandent les informations dont ils ont besoin au(x) serveurs(x).C'est-à-dire que les serveurs ont pour rôle de servir les clients. Par servir, on désigne la réalisation d'une tâche demandée par le client.

Serveur Oracle 11g

BD Oracle

Fig. I.2 : Architecture Client/serveur.

Dans cette architecture, l'application client se connecte au serveur de base de données. Ce dernier à son tour, lui renvoie des réponses en fonction de ses requêtes.

? ARCHITECTURE PEER TO PEER (P2P)

Par ce terme on désigne un type de communication pour lequel toutes les machines ont une importance équivalente. Il existe en général plusieurs serveurs de données qui fonctionnent selon l'architecture suivante :

Mbujimayi

Lubumbashi

Goma

Une base de données logique

Serveur Oracle11g

Serveur Oracle11g

Serveur Oracle11g

Fig. I.3 : Architecture serveur-serveur.

Chaque machine joue le rôle de serveur et chaque serveur gère sa base de données et échange les informations avec les autres. Le tout est vu comme une seule base de données logique.

II.2. TECHNIQUES DE CONCEPTION ET DE GESTION DE BDR

a) METHODES DE CONCEPTION

La conception d'une base de données répartie peut être le résultat de deux approches totalement distinctes, soit d'une part la nécessité de connecter la multitude de bases de données existantes, ainsi que la disponibilité nécessaire à la globalisation des systèmes informatiques, d'autre part. Ce qui permet le rôle de la BDR de rapprocher les données des sites d'accès malgré leur localisation.

1. CONCEPTION ASCENDANTE (bottom up)

Dans ce cas de figure I.3, il existe plusieurs bases de données disjointes qu'il faut réunir en une seule base de données reparties et cohérente avec un schéma de conception global. C'est la première approche.

Base de Données

BD1

BD2

BDn

...

Fig. I.4 : Conception ascendante de la BDR

L'approche se base sur le fait que la répartition est déjà faite, mais il faut réussir à intégrer les différentes BD existantes en une seule BD globale. En d'autres termes, les schémas conceptuels locaux existent et il faut réussir à les unifier dans un schéma conceptuel global.21(*)

2. CONCEPTION DESCENDANTES (Top down)

La deuxième approche commence par définir un schéma conceptuel global de la base de données répartie,puis on le distribue sur les différents sites en des schémas conceptuels locaux. C'est-à-dire qu'au départ,nous avons une seule base de données qu'il faut fragmenter et allouer les fragments aux différents sites.22(*)

Base de Données

BD1

BD2

BDn

...

Fig. I.5 : Conception descendante de la BDR

La répartition se fait donc en deux étapes, en première étape la fragmentation, et en fin, l'allocation de ces fragments aux sites. Cette approche (top down)est intéressante quand on part du néant. C'est sur elle que nous allons nous appuyer pour réaliser notre projet.

b) LA FRAGMENTATION

1. DEFINITION

La fragmentation est le processus de décomposition d'une base de données logique (telle qu'elle est vue par les utilisateurs) en un ensemble de "sous" bases de données. Cette décomposition doit évidemment être sans perte d'information pour être acceptable.23(*)

Cette décomposition est assurée par une fonction de définition qui préserve les arguments lors de son application.

2. OBJECTIF DE LA FRAGMENTATION

L'utilisation de fragments permet de faire tourner plus de processus simultanément, ce qui entraîne une meilleure utilisation des capacités du réseau d'ordinateurs.24(*)

Nous devons enchérir que les applications ne travaillent que sur des sous-ensembles des relations. Une distribution complète des relations générerait soit beaucoup de trafic, soit une réplication des données avec tous les problèmes que cela occasionne : problèmes de mises à jour, problèmes de stockage. Il est donc préférable de mieux distribuer ces sous-ensembles.

3. TYPES DE FRAGMENTATIONS

Il existe 2 types de fragmentations :

a. La fragmentation horizontale : la relation est divisée en plusieurs sous-relations contenant chacune un sous-ensemble des tuples (lignes) de la relation.25(*)

La fragmentation horizontale a tout son intérêt pour une société dispersée aux quatre coins du globe et qui maintient une relation contenant ses employées par exemple. Cette relation logique peut-être fragmentée horizontalement en plusieurs groupes contenant chaque fois les employés selon leur localisation.

b. La fragmentation verticale : la relation est divisée en plusieurs sous-relations contenant chacune un sous-ensemble des attributs (colonnes) de la relation.26(*)

La fragmentation verticale est plus complexe et moins intuitive. Les sous-relations ne contiennent pas tous les attributs mais tous les tuples. Un peu comme une vue permet de cacher les attributs inutiles selon le contexte, la fragmentation verticale peut-être utile d'un point de vue hiérarchique.

c. La fragmentation mixte : Elle résulte de l'application successive d'opérations de fragmentation horizontale et verticale sur une relation globale.27(*)

La recomposition de la relation initiale se fait par une succession inverse d'unions (recomposition des fragments horizontaux) et de jointures (recompositions des fragments verticaux).

4. LES REGLES DE LA FRAGMENTATION

Lacomplétude : pour toute donnée d'une relation R, il existe un fragment Ri de la relation R qui possède cette donnée.

Lareconstruction : pour toute relation décomposée en un ensemble de fragments Ri, il existe une opération de reconstruction.

La disjonction : une donnée n'est présente que dans un seul fragment, sauf dans le cas de la fragmentation verticale pour la clé primaire qui doit être présente dans l'ensemble des fragments issus d'une relation.

5. L'ALLOCATION DES FRAGMENTS

L'affectation des fragments sur les sites est décidée en fonction de l'origine prévue des requêtes qui ont servi à la fragmentation. Le but est de placer les fragments sur les sites où ils sont les plus utilisés, et ce pour minimiser les transferts de données entre les sites.

L'allocation peut se faire avec réplication ou sans réplication. Sachant que la réplication favorise les performances des requêtes et la disponibilité des données, mais est coûteuse en considérant les mises à jour des fragments répliqués.28(*)

c) TECHNIQUES DE REPARTITION AVANCEES

Dans le cas où la méthode classique de fragmentation d'allocation ne s'avère pas satisfaisante, des techniques plus puissantes (mais plus complexes) à mettre en oeuvre doivent être envisagées : l'allocation avec duplication des fragments, l'allocation dynamique des fragments ou même la fragmentation dynamique.

1. ALLOCATION AVEC DUPLICATION

Certains fragments peuvent être dupliqués sur plusieurs sites (éventuellement sur tous les sites) ce qui procure l'avantage d'améliorer les performances en termes de temps d'exécution des requêtes (en évitant certains transferts des données). Elle permet aussi une meilleure disponibilité des informations (connues de plusieurs sites) et une meilleure fiabilité contre les pannes.29(*)

Par contre, l'inconvénient majeur est que les mises à jour doivent être effectuées sur toutes les copies d'une même donnée. En conséquences, moins un fragment est sujet à des modifications et plus il est prédisposé lorsque la base de données est surjetée à de nombreuse mise à jours.

2. ALLOCATION DYNAMIQUE

Avec cette technique, l'allocation d'un fragment peut changer en cours d'utilisation de la base de données réparties... Dans ce cas, le schéma d'allocation et les schémas locaux doivent être tenus à jour. Cette technique est une alternative à la duplication qui se révèle efficace lorsque la base de données est surjetée à de nombreux sites d'allocations.30(*)

3. FRAGMENTATION DYNAMIQUE

Dans le cas où le site d'allocation peut changer dynamiquement, il est possible que deux fragments complémentaires (verticalement ou horizontalement) se retrouvent sur le même site. Il est alors normal de les fusionner. A l'inverse, si une partie d'un autre fragment est appelé sur un autre site, il peut être intéressant de décomposer ce fragment et de ne faire migrer que la partie concernée. Ces modifications du schéma de fragmentation se répercutent sur le schéma d'allocation et sur les schémas locaux.31(*)

d) LA REPLICATION

La réplication est une technique de répartition consistant à gérer des copies sur différents sites, les copies pouvant être différentes à un instant donné, mais devant converger vers une même valeur si l'on arrête la production de transactions de mises à jour.32(*)

Dans le cas où les utilisateurs n'auraient pas besoin d'accéder aux données les plus récentes, un assortiment existe pour éviter le trafic qu'engendre l'accès aux données à jour. Elle consiste en l'utilisation de clichés (ang. snapshot).

Un cliché représente un état de la base de données à un instant donné. La pertinence d'un cliché diminue donc au fur et à mesure que le temps passe.33(*)

1. PRINCIPE

L'objectif principal de la réplication est de faciliter l'accès aux données en augmentant leur disponibilité. Soit parce que les données sont copiées sur différents sites permettant de répartir les requêtes, soit parce qu'un site peut prendre la relève lorsque le serveur principal s'écroule.

Le principe de la réplication, qui met en jeu au minimum deux SGBD, est assez simple et se déroule en trois temps :

o La base « maître » reçoit un ordre de mise à jour (INSERT, UPDATE ou DELETE).

o Les modifications faites sur les données sont détectées et stockées (dans une table, un fichier, une queue) en vue de leur propagation.

o Un processus de réplication prend en charge la propagation des modifications à faire sur une seconde base dite esclave. Il peut bien entendu y avoir plus d'une base esclave.

2. AVANTAGES DE REPLICATION

Les avantages de la réplication dépendent du type de réplication utilisé. Mais généralement, les avantages sont universels :

- Allégement du trafic réseau en répartissant la charge sur divers sites. Par conséquent, rapidité des accès aux données ;

- Amélioration des performances des requêtes ;

- Résistance aux pannes par l'augmentation de la disponibilité des données.34(*)

3. TYPE DE REPLICATION

Bien entendu, il est tout à fait possible de faire la réplication dans les deux sens : de l'esclave vers le maître et inversement. On parlera dans ce cas-là de réplication bidirectionnelle ou symétrique.

Dans le cas contraire, c'est-à-dire du maître vers l'esclave seulement, la réplication est unidirectionnelle et en lecture seule ou asymétrique.

De plus, la réplication peut être faite de manière synchrone ou asynchrone. Dans le premier cas, la résolution des conflits éventuels entre deux sites intervient avant la validation des transactions (c'est-à-dire à temps réel). Mais le second cas, la résolution est faite dans des transactions séparées (à temps différé). Il est donc possible d'avoir quatre modèles de réplication :

· Réplication asymétrique avec propagation asynchrone ;

· Réplication asymétrique avec propagation synchrone ;

· Réplication symétrique avec propagation asynchrone ;

· Réplication symétrique avec propagation synchrone.

4. TECHNIQUES DE DIFFUSION DE MISES A JOUR

La diffusion automatique des mises à jour appliquée d'une copie aux autres copies doit être assurée par le SGBD réparti. Plusieurs techniques de diffusion sont possibles parmi lesquelles, nous distinguerons celles basées sur la diffusion de l'opération de mise à jour, de celles basées sur la diffusion du résultat de l'opération.

Diffuser le résultat présente l'avantage de ne pas devoir réexécuter l'opération sur le site de la copie, mais l'inconvénient de nécessité d'un ordonnancement identique des mises à jour en tous les sites afin d'éviter les pertes de mises à jour. Le report d'opération est plus flexible, notamment dans le cas d'opérations commutatives.

e) GESTION DES DONNEES REPARTIES

Les règles d'exécution et les méthodes d'optimisation de requêtes définies pour un contexte centralisé sont toujours valables, mais il faut prendre en compte d'une part la fragmentation et la répartition des données sur différents sites, et d'autre part le problème du coût des communications entre sites pour transférer les données.

Le problème de la fragmentation avec ou sans duplication concerne principalement les mises à jours tandis que le problème des coûts des communications concerne surtout les requêtes.

1. Mise à jour des données distantes :

La principale difficulté réside dans le fait qu'une mise à jour dans une relation du schéma global se traduit par plusieurs mises à jour dans différents fragments. Il faut donc identifier les fragments concernés par l'opération de mise à jour, puis décomposer en conséquence l'opération en un ensemble d'opération de mise à jour sur ces fragments.

Ø Insertion

Retrouver le fragment horizontal concerné en utilisant les conditions qui définissent les fragments horizontaux, puis insertion du tuple dans tous les fragments verticaux correspondants.

Ø Suppression

Rechercher le tuple concerné dans les fragments qui sont susceptibles de le contenir, et supprimer ses valeurs d'attribut dans tous les fragments verticaux.

Ø Modification

Rechercher les tuples, les modifier et les déplacer vers les bons fragments si nécessaire.

f) LES TRANSACTIONS

1. Définition d'une transaction

Une transaction est un ensemble d'opérations menées sur une BD.35(*) Ces opérations peuvent être en lecture et/ou écriture.

Une opération est atomique, c'est donc une unité indivisible de traitement.Une transaction est soit validée par un commit, soit annulée par un rollback, soit interrompue par un abort.

Une transaction a une marque de début (Begin Of Transaction BOT), et une marque de fin (End Of Transaction EOT).

2. Propriétés d'une transaction

La cohérence et la fiabilité d'une transaction sont garanties par 4 propriétés : l'Atomicité, la Cohérence, l'Isolation, la Durabilité qui font l'ACIDité d'une transaction.

§ Atomicité : cette propriété signifie qu'une transaction est traitée comme une seule opération. Toutes les actions sont toutes menées à bien ou aucune d'entre elles.

§ Cohérence : une transaction est un programme qui amène la BD d'un état cohérent à un autre état cohérent, tel que toutes les contraintes d'intégrité restent vérifiées.

§ Isolation : c'est la propriété qui impose à chaque transaction de voir la BD cohérente. Une transaction en exécution ne peut révéler ses résultats à d'autres transactions concurrentes avant d'effectuer le commit.

§ Durabilité : c'est la propriété qui garantit lorsqu'une transaction a effectué son commit, le résultat sera permanent, et ne pourra être effacé de la BD quelques soient les pannes du système rencontrées.

3. Différents niveaux de fragmentation de la répartition

La transparence est la caractéristique principale d'un système distribué dans lequel l'utilisateur doit se voir travailler sur un énorme ordinateur personnel constitué de tous les ordinateurs connectés.

Nous distinguons plusieurs niveaux de transparence de répartition qui sont indépendantes du programme d'application de la répartition :

v Transparence globale

La transparence globale définit toutes les données contenues dans la base de données réparties comme si cette base était définie exactement comme dans une base de données non réparties.

v Transparence de fragmentation

Une relation globale peut être répartie en plusieurs fragments, une transparence de fragmentation définit une fonction entre la relation globale et les fragments.

Cette fonction est multivaluée c'est à dire plusieurs fragments correspondent à une relation globale, mais une seule relation globale correspond à un seul fragment.

v Transparence d'allocation

Les fragments sont des portions logiques des relations globales qui sont uniquement situées dans un ou plusieurs sites du réseau. La transparence d'allocation définit le site dans lequel est situé un fragment. La relation définit dans la transparence d'allocation détermine si la base de données répartie est redondante ou pas.

v Transparence conceptuelle locale

Transparence conceptuelle locale définit une fonction qui associe chaque image physique aux objets qui sont manipulés par les systèmes de gestion de base de données locaux. Cette transparence dépend du type de système de base de données locale.

CONCLUSION PARTIELLE

Nous avons abordé et finalisé en toute célérité les notions sur les bases de données en générale et celles réparties en particulier. Dans la suite nous allons exposer la question sur l'évaluation de notre projet.

Chapitre deuxième :

ETUDE PREALABLE

INTRODUCTION

L'étude préalable consiste à faire une analyse minutieuse du système existant pour en dégager les failles et les forces afin d'arriver à une conclusion qui permettra une proposition de solutions de la part de l'analyste.

Ce chapitre va nous permettre d'étaler les activités de la CENI en commençant par : l'historique, l'organisation, l'analyse de besoins, etc.

SECTION I. PRÉSENTATION ET ANALYSE DE LA STRUCTURE DU SYSTÈME EXISTANT (CENI)

Dans cette partie nous aurons à analyser les informations concernant juste l'organisation structurelle de la CENI telles que : l'historique, la situation géographique, l'objectif, l'organisation.

I.1. HISTORIQUE

Depuis son indépendance, le 30 juin 1960, la RDC est confrontée à des crises politiques récurrentes dont l'une des causes fondamentales est la contestation de la légitimité des institutions et de leurs animateurs. Cette contestation a pris un relief particulier avec les guerres qui ont déchiré le pays de 1996 à 2003.

En vue de mettre fin à cette crise chronique de légitimité et de donner au pays toutes les chances de se reconstruire, les délégués de la classe politique et de la société civile, forces vives de la Nation, réunies en Dialogue inter congolais, ont convenu, dans l'Accord Global et inclusif signé à Pretoria en Afrique du Sud le 17 décembre 2002, de mettre en place un nouvel ordre politique, fondé sur une nouvelle Constitution démocratique sur base de laquelle le peuple congolais puisse choisir souverainement ses dirigeants, au terme des élections libres, pluralistes, démocratiques, transparentes et crédibles.

A l'effet de matérialiser la volonté politique ainsi exprimée par les participants au Dialogue inter congolais, le sénat, issu de l'Accord Global et inclusif précité, a déposé, conformément à l'article 104 de la Constitution de la transition, un avant-projet de la nouvelle Constitution à l'Assemblée nationale qui l'a adopté sous forme de projet de Constitution soumis au référendum populaire.

La Constitution ainsi approuvée s'articule pour l'essentiel autour des idées forces ci-après :

1. DE L'ETAT ET DE LA SOUVERAINETE

Dans le but d'une part, de consolider l'unité nationale mise à mal par des guerres successives et, d'autre part, de créer des centres d'impulsion et de développement à la base, le constituant a structuré administrativement l'Etat congolais en 25 provinces plus la ville de Kinshasa dotées de la personnalité juridique et exerçant des compétences de proximité énumérées dans la présente Constitution.

En sus de ces compétences, les provinces en exercent d'autres concurremment avec le pouvoir central et se partagent les recettes nationales avec ce dernier respectivement à raison de 40 et de 60%.

En cas de conflit de compétence entre le pouvoir central et les provinces, la cour constitutionnelle est la seule autorité habilitée à les départager. Au demeurant, les provinces sont administrées par un Gouvernement provincial et une Assemblée provinciale. Elles comprennent, chacune, des entités territoriales décentralisées qui sont la ville, la commune, le secteur et la chefferie.

Par ailleurs, la présente Constitution réaffirme le principe démocratique selon lequel tout pouvoir émane du peuple en tant que souverain primaire.

Ce peuple s'exprime dans le pluralisme politique garanti par la Constitution qui érige, en infraction de haute trahison, l'institution d'un parti unique.

En ce qui concerne la nationalité, le constituant maintient le principe de l'unicité et de l'exclusivité de la nationalité congolaise.

2. DES DROITS HUMAINS, DES LIBERTES FONDAMENTALES ET DES DEVOIRS DU CITOYEN ET DE L'ETAT

Le constituant tient à réaffirmer l'attachement de la RDC aux Droits humains et aux libertés fondamentales tels que proclamés par les instruments juridiques internationaux auxquels elle a adhéré. Aussi, a-t-il intégré ces droits et libertés dans le corps même de la Constitution? A cet égard, répondant aux signes du temps, l'actuelle Constitution introduit une innovation de taille en formalisant la parité homme-femme.

3. DE L'ORGANISATION ET DE L'EXERCICE DU POUVOIR

Les nouvelles institutions de la République Démocratique du Congo sont :

§ Le Président de la République ;

§ Le Parlement ;

§ Le Gouvernement ;

§ Les Cours et Tribunaux ;

Les préoccupations majeures qui président à l'organisation de ces institutions sont les suivantes :

1. Assurer le fonctionnement harmonieux des institutions de l'Etat ;

2. Eviter les conflits ;

3. Instaurer un Etat de droit ;

4. Contrer toute tentative de dérive dictatoriale ;

5. Garantir la bonne gouvernance ;

6. Lutter contre l'impunité ;

7. Assurer l'alternance démocratique ;

C'est pourquoi non seulement le mandat du Président de la République n'est renouvelable qu'une seule fois, mais aussi, il exerce ses prérogatives de garantir de la Constitution, de l'indépendance nationale, de l'intégrité territoriale, de la souveraineté nationale, du respect des accords et traités internationaux ainsi que celles de régulateur et d'arbitre du fonctionnement normal des institutions de la République avec l'implication du Gouvernement sous le contrôle du Président.

Les actes réglementaires qu'il signe dans les matières relevant du Gouvernement ou sous gestion ministérielle sont couverts par le contreseing du Premier ministre qui en endosse la responsabilité devant l'Assemblée nationale.

Bien plus, les affaires étrangères, la défense et la sécurité, autrefois domaines réservés du Chef de l'Etat, sont devenues des domaines de collaboration.

Cependant, le Gouvernement, sous l'impulsion du Premier ministre, demeure le maitre de la conduite de la politique de la Nation qu'il définit en concertation avec le Président de la République.

Il est comptable de son action devant l'Assemblée nationale qui peut le sanctionner collectivement par l'adoption d'une motion de censure.

L'Assemblée nationale peut, en outre, mettre en cause la responsabilité individuelle des membres du Gouvernement par une motion de défiance.

Réunis en congrès, l'Assemblée nationale et le Sénat ont la compétence de déférer le Président de la République et le Premier ministre devant la cour constitutionnelle, notamment pour haute trahison et délit d'initié.

Par ailleurs, tout en jouissant du monopole du pouvoir législatif et du contrôle du Gouvernement, les parlementaires ne sont pas au-dessus de la loi ; leurs immunités peuvent être levées et l'Assemblée nationale peut être dissoute par le Président de la République en cas de crise persistante avec le Gouvernement.

La présente Constitution réaffirme l'indépendance du pouvoir judiciaire dont les membres sont gérés par le Conseil supérieur de la magistrature désormais composé des seuls magistrats.

Pour plus d'efficacité, de spécialité et de célérité dans le traitement des dossiers, les cours et tribunaux ont été éclatés en trois ordres juridictionnels :

§ Les juridictions de l'ordre judiciaire placées sous le contrôle de la cour de cassation ;

§ Celles de l'ordre administratif coiffées par le Conseil d'Etat ;

§ La cour Constitutionnelle

Des dispositions pertinentes de la Constitution déterminent la sphère d'action exclusive du pouvoir central et des provinces ainsi que la zone concurrente entre les deux échelons du pouvoir d'Etat.

Pour assurer une bonne harmonie entre les provinces elles-mêmes d'une part, et le pouvoir central d'autre part, il est institué une conférence des Gouverneurs présidée par le Chef de l'Etat et dont le rôle est de servir de conseil aux deux échelons de l'Etat.

De même, le devoir de solidarité entre les différentes composantes de la Nation exige l'institution de la Caisse nationale de péréquation placée sous la tutelle du Gouvernement.

Compte tenu de l'ampleur et de la complexité des problèmes de développement économique et social aux quels la République Démocratique du Congo est confrontée, le constituant crée le conseil économique et social, dont la mission est de donner des avis consultatifs en la matière au Président de la République, au Parlement et au Gouvernement.

Pour garantir la démocratie en République Démocratique du Congo, la présente Constitution retient deux institutions d'appui à la démocratie, à savoir la Commission Electorale Nationale et Indépendante chargée de l'organisation du processus électoral de façon de permanente et le Conseil supérieur de l'audiovisuel et de la communication dont la mission est d'assurer la liberté et la protection de la presse ainsi que tous les moyens de communication des masses dans le respect de la loi.

4. DE LA REVISION CONSTITUTIONNELLE

Pour préserver les principes démocratiques contenus dans la présente Constitution contre les aléas de la vie politique et les révisions intempestives, les dispositions relatives à la forme républicaine de l'Etat, au principe du suffrage universel, à la forme représentative du Gouvernement au nombre et à durée des mandats du Président de la République, à l'indépendance du pouvoir judiciaire, au pluralisme politique et syndical ne peuvent faire l'objet d'aucune révision constitutionnelle. Telles sont les lignes maîtresses qui caractérisent la présente Constitution.

I.2. SITUATION GEOGRAPHIQUE

La Commission Electorale Nationale et Indépendante est située dans la ville province de Kinshasa, précisément sur le boulevard du 30 juin occupe maintenant le bâtiment ex. BCCE en face de l'ONATRA et à proximité de la gare centrale.

I.3. OBJECTIF

La Commission Electorale Nationale et Indépendante comme toute autre entreprise a comme objectif de permettre à la population de s'enrôler pour avoir une carte d'identité principale appelée « Carte d'électeur » et d'organiser les élections dans le pays.

I.4. ORGANISATION

1. LES ORGANIGRAMMES DE LA CENI

a) ORGANIGRAMME GENERAL

Organigramme Spécifique

Fig. II.1. Organigramme général de la CENI

b) ORGANIGRAMME SPECIFIQUE

Fig. II.2. Organigramme spécifique

DIFE : Direction de l'informatique et du Fichier Electorale ;

SFE : Service du Fichier électoral ;

SE : Service de l'Exploitation.

2. DESCRIPTION DES ACTIVITÉS

a. STRUCTURE

La Commission Electorale Nationale Indépendante a une structure hiérarchique organisée par province, circonscription et centre d'identification.

La province représente l'ensemble de circonscription. Au niveau provincial, nous trouvons un Bureau Provincial qui gère toutes les circonscriptions sur son étendue. Sur toute l'étendue de la République, nous en trouvons 26 selon le nouveau dénombrement de effectué en 2015. Donc, nous avons 26 Bureaux Provinciaux. Voici la liste de province recensées après dénombrement :

TABLEAU II.1. TABLEAU DES ANCIENNES ET NOUVELLES PROVINCES

ANCIENNES PROVINCES

NOUVELLES PROVINCES

 

1. KINSHASA

 

1. KINSHASA

 

2. BAS CONGO

 

2. KONGO-CENTRAL

 

3. BANDUNDU

 

3. KWANGO

 

4. KWILU

 

5. MAI-NDOMBE

 

4. EQUATEUR

 

6. EQUATEUR

 

7. NORD-UBANGI

 

8. SUD-UBANGI

 

9. MONGALA

 

10. TSHUAPA

 

5. PROVINCE ORIENTALE

 

11. TSHOPO

 

12. BAS-UELE

 

13. HAUT-UELE

 

14. ITURI

 

6. NORD-KIVU

 

15. NORD-KIVU

 

7. SUD-KIVU

 

16. SUD-KIVU

 

8. KATANGA

 

17. HAUT-KATANGA

 

18. HAUT-LOMAMI

 

19. LUALABA

 

20. TANGANIKA

 

9. KASAI-ORIENTAL

 

21. KASAI-ORIENTAL

 

22. SANKURU

 

23. LOMAMI

 

10. KASAI-OCCIDENTAL

 

24. KASAI

 

25. KASAI-CENTRAL

 

11. MANIEMA

 

26. MANIEMA

Source : Direction de l'informatique et du Fichier Electorale

Une circonscription représente un territoire ou une entité électorale. C'est l'entité la plus importante sur laquelle se font tous les calculs électoraux. Pour être plus clair, une circonscription est égale à un Territoire politique, et est représentée par un Bureau de Liaison (BL) qui dépend du Bureau Provincial. La circonscription fournit le rapport et à la direction provinciale, et à la direction centrale (Kinshasa). Par circonscription, nous avons au total ... circonscriptions électorales sur toute la RDC.

Le Centre d'Inscription (CI) : c'est le lieu où se font les enregistrements des électeurs. Il est le centre de récolte de données. Il est implanté sur une étendue déterminé dans une circonscription donnée et dépend directement de celle-ci. Le nombre de Centres par circonscription dépend de la répartition populaire sur le territoire. Et ils sont beaucoup plus implantés dans des milieux à grande masse de la population et dans un lieu accessible par tous. Un centre est obligé d'enrôler au plus 300 candidats le jour à travers tous ses bureaux. Avec un jour commençant de 8h à 16h, en semaine anglaise. Un centre est composé de bureau de vote. Mais lors d'enrôlement, nous trouvons au plus deux ordinateurs dans un bureau de vote pour l'identification et l'enregistrement de candidats électeurs.

b. Activité dans l'enceinte du Centre d'inscription (CI)

Le Président du Centre d'inscription et l'un de ses opérateurs de saisie établissent des jetons numérotés à un ordre croissant des nombres qui seront remis aux différents candidats qui se présenteront pour s'enrôler.

Le Requérant à son tour dès qu'il arrive dans le Centre d'inscription, se place sur la file d'attente en attendant qu'on lui remette le jeton.

Dès qu'il reçoit son jeton numéroté, il attend qu'on appelle son numéro et dès que c'est fait, il peut aller s'asseoir dans la salle pour attendre à se faire enrôler.

c. Activité dans le Centre d'inscription

Le Requérant entre dans la salle, présente sa pièce d'identité (ancienne carte d'électeur ou toutes autres pièces validées par la CENI) à l'opérateur de saisie. Si c'est une ancienne carte d'électeur prouvant qu'il était déjà enrôlé alors ça sera pour lancer directement la recherche des informations à partir du numéro de la carte ou des autres champs.

Dans le cas contraire, ça sera pour un nouveau processus d'enrôlement, en enregistrant étape par étape les informations du requérant empreinte digitale, photo, nom, post-nom, prénom, etc. jusqu'à sortir la carte.

A la fin de la journée, l'Opérateur de Saisie (OPS) va graver tous les tuples journaliers sur un CD-RW pour la sauvegarde (backup), lequel CD sera récolté à la fin de la semaine par une équipe d'agents. Après le cycle d'enrôlement ou à la fin de cette période se fait la sauvegarde de toutes les données de la base sur un disque dure externe.

C'est celui-ci qui sera utilisé lors de la compilation de résultats pour donner l'effectif sur toute l'étendue du territoire national. Et faire de statistique d'évaluation de résultats récoltés.

SECTION II. ETUDE DE L'OPPORTUNITE

II.1. ANALYSE DES BESOINS

La mise à jour de la base de données au niveau du siège central se fait hebdomadairement à la fin de chaque semaine (7 jours) par la récolte des CD-RW dûment gravés et par des agents habilitées à ramener lesdits CDs au BL.

C'est là que se pose les difficultés ayant suscité notre besoin de faire mieux que l'existant analysé :

- Un système ou une base de données centralisée : Tolérant l'utilisation autonome et permettant des CI fictifs occasionnant l'enrôlement de la population hors de l'administration de la CENI ;

- Les erreurs de gravure, les conséquences du transport de supports de stockage (cassure, dommage, perte, vol) surtout avec l'insécurité qui bat à son plein au Congo ;

- Incohérence de données : de doublons des personnes qui s'enrôlent plusieurs fois dans des sites différents, surtout que l'enrôlement dure trois ce qui favorise la fraude ;

- Le coût d'achat des matériels de stockage (CD-RW) pour chaque point d'enregistrement qui fait encore peser le budget de la CENI pour l'organisation de l'enrôlement.

II.2. PRESENTATION DES SOLUTIONS

Pour pallier à tout cela, il nous a fallu de penser à une autre manière de sécuriser l'enrôlement, la communication entre sites et de récolte de données recensées.

Il convient aussi de prendre en compte la force et la gravité d'un incident comme critère à intégrer dans le processus de haute disponibilité. Il n'est pas toujours possible, de prendre en compte tous les incidents sans tenir compte du coût ou de la logistique globale de mise en oeuvre de la solution de dépannage.

Dans notre solution, nous avons proposé de configurer une répartition de la base effectuant la réplication symétrique asynchrone du siège central verssites locauxsuite aux données volumineuses qui seront stockées dans la base de données lors des opérations d'identification et d'enrôlement des électeurs.

Au fait, l'idée est de concevoir base de données répartie, en architecture Client-Serveur, entre le siège central et les sites locaux (CI), à travers une conception descendante c'est-à-dire que nous allons partir d'un schéma global à un schéma local, en passant par le schéma de l'allocation et celui de duplication.

CONCLUSION PARTIELLE

La réalisation de ce chapitre nous a permis à déduire, après une analyse préalable de l'organisation et des activités de l'enrôlement à la CENI, qu'il était impérieux de remplacer le système en place par un nouveau système dont le chapitre suivant entamera l'évaluation de sa durée, son coût et ses risques.

Ce chapitre nous a aidés à développer une compréhension vis-à-vis du cursus d'enrôlement, du centre d'inscription au siège central, et nous a donné un aperçu lointain de ce que nous voulons faire.

Chapitre troisième :

EVALUATION DU PROJET

INTRODUCTION

Un projet est un ensemble d'activités coordonnées mises en oeuvre pour atteindre des objectifs spécifiques selon un calendrier, un budget et des paramètres de performance définis. Les projets visant à atteindre un objectif commun forment un programme.36(*)

Suivant Fabrice Sincère, un projet est un ensemble des actions qui concourent à l'obtention d'un résultat défini, connu et mesurable : le produit ou livrable final.37(*)

Mis à part ces définitions, il existe de nombreuses tentatives de normalisation de la notion de projet, donnant lieu à beaucoup de définition relativement proches. Parmi celles-ci, citons celles proposées par les normes AFNOR X50-115 et ISO 1000638(*) :

Selon ISO 10006, un projet est un processus unique, qui consiste en un ensemble d'activité coordonnées et maitrisées ayant un objectif conforme à des exigences spécifiques telles que des contraintes de délais, de couts et de ressources.

Selon AFNOR, un projet est un ensemble d'activités coordonnées et maitrisées comportant des dates de début et de fins, dans le but d'atteindre un objectif conforme à des spécifiques.

SECTION I. LA PLANIFICATION

I.1. DEFINITION DE LA PLANIFICATION

La planification c'est l'activité qui consiste à déterminer et à ordonnancer les tâches du projet, à estimer leurs charges et à déterminer les profils nécessaires à leur réalisation.39(*)

Le but de la planification est de définir les résultats attendus (objectifs) d'une intervention, les apports et les activités nécessaires pour produire ces résultats, les indicateurs servant à mesurer leur accomplissement et les hypothèses clés qui peuvent influer sur l'obtention des résultats (objectifs).

La planification prend en compte les besoins, les intérêts, les ressources, les mandats et les capacités de l'organisation de mise en oeuvre et des diverses parties prenantes. À la fin de la phase de planification, un plan de projet est élaboré et prêt à être mis en oeuvre.40(*)

I.2. LE DECOUPAGE DU PROJET

Le découpage repose sur la chronologie ou les phases (activités) du projet. Desceller les tâches et leurs ressources, visionner les objectifs à atteindre est primordial à ce niveau. Ce qui divise notre projet en grandes phases pour mieux l'exécuter :

§ Etude d'opportunité du projet : Analyse préalable

§ Elaboration du projet : Etude détaillée

§ Exécution du projet : Etude technique (Modélisation du système d'information)

§ Implantation du projet : Réalisation

§ Exploitation du projet : Mise en oeuvre

I.3. L'ORDONNANCEMENT DES TACHES

L'ordonnancement est l'élaboration d'un plan d'action permettant de déterminer les séquencements ou au contraire les parallélismes possibles entre l'exécution des tâches précédemment identifiées.41(*)

La planification d'un projet de système informatique se concrétise par un plan répondant de façon détaillée et concrète aux principaux aspects opérationnel du type QQQOCC : qui, quoi, quand, où, comment, combien.

I.4. ELABORATION DU TABLEAU D'AVANCEMENT DES TACHES

Nous commençons par construire le tableau de gestion d'avancement des tâches ; celui-ci reprend, dans un premier temps, les informations de tâches antérieures / Tâches courantes. Puis il va nous permettre de définir des niveaux d'antériorité au sein de l'ensemble des tâches du projet. Enfin, il nous permet de mettre en place le planning.

TABLEAU III.1 : AVANCEMENT DES TACHES

 
 

Il faut avoir réalisé la ou les tâche(s) ...

 
 

A

B

C

D

E

F

G

H

I

J

K

L

Pour réaliser la tâche ...

A

 
 
 
 
 
 
 
 
 
 
 
 

B

X

 
 
 
 
 
 
 
 
 
 
 

C

 

X

 
 
 
 
 
 
 
 
 
 

D

 
 

X

 
 
 
 
 
 
 
 
 

E

 
 
 

X

 
 
 
 
 
 
 
 

F

 
 
 
 

X

 
 
 
 
 
 
 

G

 
 
 
 
 

X

 
 
 
 
 
 

H

 
 
 
 
 

X

X

 
 
 
 
 

I

 
 
 
 
 
 
 

X

 
 
 
 

J

X

 
 
 
 
 
 
 
 
 
 
 

K

 
 
 
 
 
 
 

X

X

X

 
 

L

 
 
 
 
 
 
 
 
 
 

X

 

Ici nous précisons les rapports d'antériorité en renseignant le tableau suivant la règle Pour réaliser la tâche... Il faut avoir réalisé la ou les tâche(s)...

SECTION II. CADRAGE DU PROJET

Cette section du cadrage du projet va nous servir de réponse au formalisme opération QQQOCC.

II.1. CHOIX DE LA METHODE D'ORDONNANCEMENT

Il existe plusieurs méthode d'ordonnancement de projet, mais notre recherche s'est focalisée sur les plus utilisées telles que : Le diagramme de gantt, la méthode MPM (Méthode des patentiels Metra), la méthode PERT (Program Evaluation and Research Task ou Programm Evaluation and Review Technic).42(*)

En fait, nous avons opté pour la méthode PERT afin d'élaboration notre planning prévisionnel.

II.2. PRESENTATION DE LA METHODE PERT

PERT (Programm Evaluation and Review Technic = Technique d'Evaluation et d'Examen de Programme) est une méthode de gestion de projet visant à prévoir les propriétés d'un projet en terme de temps, délais et coûts.

L'obtention du planning par la méthode PERT suivie du graphe de PERT donc de connaître à un moment donné précis quelles sont les tâches en cours, les tâches à venir.

Un graphe ou réseau est l'ensemble des tâches et des étapes formant l'intégralité de la planification du projet (on parle de diagramme PERT).43(*)

On peut ainsi suivre l'avancement des opérations et déterminer si un retard a été pris, si celui-ci aura une répercussion, et quel sera quantitativement cette répercussion. On utilise aussi les périodes de marge afin de réduire les coûts.44(*)

Le principe de la méthode PERT est de découper le projet en un ensemble d'actions appelées tâches et de les représenter sous forme graphique selon un graphe de dépendances.

Ainsi, dans un graphe : L'arc représente la tâche, les sommets représentent les étapes de la réalisation des tâches, la valeur portée sur l'arc représente la durée de la tâche.

II.3. CONTRAINTES DE REPRESENTATION GRAPHIQUE

Toute tâche a au moins une étape de début et au moins une étape de la fin ; une tâche ne peut démarrer que si la tâche qui la précède est terminée. On ne peut pas avoir deux tâches différentes qui ont à la fois même étape de début et même étape de fin.

Deux étapes qui commencent en même temps et s'exécutent en même temps sont dites simultanées, et sont représentées chacune par une flèche dont le pour de départ est une seule et même étape.

Deux tâches qui s'exécutent en même temps et s'achèvent en même temps, sont dites convergentes et sont représentées chacune par une flèche dont le point d'arrivée est une seule et même étape. Toutefois, ce principe peut aussi s'appliquer à plus de deux tâches convergentes.

Lorsque deux tâches convergentes précèdent une ou plusieurs tâches en commun, et que l'une de ces deux tâches convergentes précèdes également une tâche (ou plusieurs) que l'autre tâche convergente ne précède pas, il est nécessaire d'avoir recours à une tâche fictive.

II.4. EVALUATION PROPREMENT DITE

TABLEAU III.2. LISTE DES TACHES, LEURS DUREES ET LEURS COUTS

CODE

TACHE

LIBELLE

TACHES ANT.

DUREE

(Jours)

COÛT

(FC)

A

Analyse de l'existant

-

7

483.700,00 FC

B

Etude de faisabilité et critique

A

3

380.000,00 FC

C

Modélisation du système d'information

B

56

52.080.000,00 FC

D

Implémentation du projet

C

14

6.510.000,00 FC

E

Tests

E

7

3.255.000,00 FC

F

Implantation

- Installation des logiciels dans le serveur

E

2

7.812.000,00 FC

G

Implantation

- Installation des logiciels dans les machines clientes

F

19

13.020.000,00 FC

H

Implantation

- Configuration des machines

F, G

7

5.208.000,00 FC

I

Test de fonctionnement

H

7

4.650.000,00 FC

J

Formation des utilisateurs

- Planification de la formation

A

4

3.255.000,00 FC

K

Formation des utilisateurs

- Elaboration du matériel didactique

H, I, J

3

1.395.000,00 FC

L

Formation des utilisateurs

- Formation proprement dite

K

14

9.300.000,00 FC

II.5. GRAPHE BRUT

Fig. III.1. Graphe Brut

II.8. CALCUL DES RANGS

Rn = 12

Ø Ø Rn - 12 = {1} = R0

Ø Rn - 11 = {2} = R1

Ø Rn - 10 = {3} = R2

Ø Rn - 9 = {4} = R3

Ø Rn - 8 = {5} = R4

Ø Rn - 7 = {6} = R5

Ø Rn - 6 = {7} = R6

Ø Rn - 5 = {8} = R7

Ø Rn - 4 = {9} = R8

Ø Rn - 3 = {10} = R9

Ø Rn - 2 = {11} = R10

Ø Rn - 1 = {12} = R11

II.9. GRAPHE ORDONNE

Fig. III.2. Graphe ordonné

SECTION III. EXPLOITATION DU PROJET

3.1. CALCUL DES DATES AU PLUS TOT ET DATES AU PLUS TARD

a. DATES AU PLUS TOT (DTO)

Pour une étape donnée, cette information détermine à quelle date minimum depuis le début du projet sera atteinte, au plus tôt, l'étape considérée.

Pour ce faire, nous nous basons sur l'estimation de la durée des tâches. Nous partons de l'étape de début, pour laquelle la date au plus tôt est initiale à 0, et nous parcourons le réseau en suivant l'agencement des tâches déterminé auparavant et un ensemble de règles définies à cet effet.

Formule :

ü Pour le cas d'une seule tâche : c'est-à-dire qu'il n'a qu'un seul chemin possible pour atteindre l'étape :

Formule II.1. Calcul de la (DTO) pour une seule tâche

ü Pour le cas de plusieurs tâches : c'est-à-dire qu'il y a plusieurs chemins possibles pour atteindre l'étape :

Formule II.2. Calcul de la (DTO) pour plusieurs tâches

Calculs :

Représentation :

Fig. III.3. Graphe de la DTO

Nous déterminons donc que notre projet pourra au mieux être finalisé en l'espace de 139 jours ouvrés.

b. DATES AU PLUS TARD (DTA)

Nous poursuivons avec le calcul des dates au plus tard. Pour une étape donnée, cette information détermine à quelle date maximum, depuis le début du projet, doit être atteinte, au plus tard, l'étape considérée, afin que le délai de l'ensemble du projet ne soit pas modifié.

Comme dans le cas précédent, nous nous basons toujours sur l'estimation de la durée de tâches. Ainsi, nous partons de l'étape de fin, pour laquelle la date au plus tard est initialisée à la même valeur que la date au plus tôt déterminée précédemment, et nous parcourons le réseau en suivant l'agencement inverse des tâches tenant toujours compte de règles qui sont régies par les formules :

ü Pour le cas d'une seule tâche : c'est-à-dire qu'il n'a qu'un seul chemin possible pour atteindre l'étape :

Formule II.3. Calcul de la DTA pour le cas d'une seule tâche

ü Pour le cas de plusieurs tâches : c'est-à-dire qu'il y a plusieurs chemins possibles pour atteindre l'étape :

Formule II.4. Calcul de la (DTO) pour le cas de plusieurs tâches

Calculs :

Représentation :

Fig. III.4. Graphe de la DTO

A titre de vérification, nous devons nécessairement trouver la valeur de 0 en tant que date au plus tard de l'étape de début.

Pour terminer, nous regroupons les informations de dates au plus tôt et au plus tard en un seul schéma ; le réseau PERT enfin obtenu est donc :

Fig. III.5. Réseau PERT avec les dates « au plus tôt » et « au plus tard »

3.2. CALCUL DES MARGES

Certaines tâches bénéficient d'une latence variable dans leur aboutissement sans pour autant remettre en cause la date d'achèvement du projet ; c'est-à-dire le délai dont on dispose pour la mise en route de la tâche i sans compromettre la date au plutôt de l'étape y. Cette période de latence est appelée « marge ».

L'évaluation quantitative de ces marges permet d'optimiser la gestion du projet. En effet, l'analyse de ces marges permet d'aménager le déroulement de certaines tâches selon des critères autres que temporels : coût, plan de charge de l'entreprise, goulets d'étranglement, ...

a. MARGE LIBRE (ML(i))

Le délai dont on dispose pour la mise en route de la tache sans modifier la date au plus tard de l'étape y.

Formule :

Formule II.5. Marge libre

Calculs :

b. MARGE TOTALE (MT(i))

C'est le délai dont on dispose pour la mise en route de la tache sans modifier la date au plus tard de l'étape y.

Formule :

Formule II.6. Marge totale

Calculs :

Après calcul et détermination des marges (libre et totale), nous concluons que les tâches ayant une marge nulle ne bénéficient donc d'aucune latence dans leur exécution leur permettant de ne pas retarder le projet. Et c'est leur ensemble qui nous permettra de déterminer le chemin critique.

c. DETERMINATION DU CHEMIN CRITIQUE

Le chemin critique indique quelles sont les tâches à successivement observer au cours de la mise en oeuvre du projet afin de surveiller les éventuels retards. Le but est de détecter les dérives et d'agir alors rapidement en conséquence afin de minimiser leur impact sur l durée de l'ensemble du projet.

Nous parlons du « chemin » car il part de l'étape initiale et mène à l'étape finale via une suite de différentes tâches.

Il est « critique » car tout retard pris sur l'une des tâches constituant ce chemin aura une incidence sur la date d'achèvement du projet ; celui-ci sera retardé d'autant que la tâche est elle-même retardée. Pour savoir quel est le chemin critique et donc aussi quelles tâches observer, il suffit de répertorier toutes les tâches ayant une marge totale nulle. La mise en avant de ces tâches détermine d'elle-même le chemin critique :

A - B - C - D - E - F - G - H - I - K - L

d. TABLEAUX DES RESULTATS

TABLEAU III.3. RESULTATS DE LA DTO ET LA DTA

TACHES

DUREE (Jrs)

DTO

DTA

1

0

139

2

7

125

3

10

122

4

66

115

5

80

108

6

87

89

7

89

87

8

108

80

9

115

66

10

122

10

11

125

7

12

139

0

TABLEAU III.4. RESULTAT DES MARGES

TACHES

MARGE

OBSERVATION

ML

MT

A

0

0

Critique

B

0

0

Critique

C

0

0

Critique

D

0

0

Critique

E

0

0

Critique

F

0

0

Critique

G

0

0

Critique

H

0

0

Critique

I

0

0

Critique

J

118

118

Non Critique

K

0

0

Critique

L

0

0

Critique

e. PRESENTATION DES RESULTATS

Ø Durée globale du projet = 139 jours

Ø Cout total du projet :

CT = = 483.700,00 FC + 380.000,00 FC + 52.080.000,00 FC + 6.510.000,00 FC + 3.255.000,00 FC + 7.812.000,00 FC + 13.020.000,00 FC + 5.208.000,00 FC + 4.650.000,00 FC + 3.255.000,00 FC + 1.395.000,00 FC

= 107 348 700,00 FC

115 428,7097 USD

CONCLUSION PARTIELLE

L'évaluation de notre projet nous a permis de déchiffrer sa durée et son coût tout en explicitant le risque à courir au cas où nous ne suivions pas notre schéma directeur. Ce qui est plus fort en est nous avons renseigné notre connaissance vis-à-vis de notre cahier de charge du point de vue recherche et édition du travail et du point de vue conception et réalisation.

Dans le chapitre qui arrive, nous aurons à nous étalé sur la modélisation proprement dite.

Chapitre Quatrième :

MODELISATION DE LA BASE DE DONNEES

INTRODUCTION

La modélisation consiste à traduire le besoin en image fidèle du réel : le modèle. Et l'implémentation consiste à fabriquer le produit, à partir du modèle.45(*)

L'étape de modélisation permet d'appropriation du réel par le maître d'oeuvre que nous sommes ; ce qui nous pousse à subdiviser ce chapitre en deux sections qui nous faciliteront à bien transformer l'abstrait au concret : la présentation d'UML et la conception du nouveau système avec l'outil UML.

SECTION I. PRESENTATION DU LANGAGE UNIFIE DE MODELISATION (UML)

I.1. LA CONCEPTION ORIENTEE OBJET (COO)

Le vocabulaire des langages orientés objet fait constamment référence à cinq mots : objet, classe,message, instance et méthode. Ces différents termes sont définis en fonction les uns des autres.

Un objet est constitué de deux parties, la première contient la valeur de l'objet (il s'agit le plus souvent d'une zone mémoire) et la deuxième est formée par l'ensemble des opérations que l'on peut appliquer à l'objet (habituellement des programmes).

Une classe est constituée par les objets qui ont le même jeu d'opérations mais des valeurs différentes. On dit que ces objets forment chacun une instance particulière de la classe.

Un message est envoyé à un objet pour activer une opération portant sur une valeur. Le message désigne l'objet, c'est-à-dire qu'il identifie à la fois la valeur et l'opération demandée. Notons que le message ne précise jamais la façon de réaliser l'opération (ceci appartient à l'objet, ou plutôt, à sa classe).

Une méthode décrit la façon de réaliser une opération. Les méthodes appartiennent aux objets et ne sont jamais modifiables par les utilisateurs des objets. L'utilisateur ne connaît la méthode que par son nom et ses effets sur la valeur de l'objet. Toutes les instances d'une classe répondent au même ensemble de méthodes.46(*)

La conception orientée objet est la méthode qui conduit à des architectures logicielles fondées sur les objets du système, plutôt que sur la fonction qu'il est censé réaliser. Ainsi, l'architecture du système est dictée par la structure du problème.47(*) Donc, l'approche objet rapproche les données et leurs traitements. UML est un outil de modélisation par objets.

I.2. UNIFIED MODELING LANGAGE (UML)

(En français langage de modélisation unifié) est un langage graphique de modélisation des données et des traitements. C'est une formalisation très aboutie et non-propriétaire de la modélisation objet utilisée en génie logiciel.48(*)

Fig. IV.1. Evolution d'UML.49(*)

UML 2 est la deuxième version d'UML acceptée et standardisée fin 2003. Nous allons nous en servir pour concevoir notre BDR parce qu'il est en effet, depuis quelques années, le standard pour la représentation graphique de la succession des phases, de l'analyse à l'installation sur site, que comprend un projet informatique.Il permet, au moyen de ses 13 diagrammes, de représenter le cahier des charges du projet, les classes et la manière dont elles s'agencent entre elles.

La description de la programmation par objets a fait ressortir l'étendue du travail conceptuel nécessaire : définition des classes, de leurs relations, des attributs et méthodes, des interfaces, etc.50(*)

Afin d'accompagner le projet tout au long de sa vie, UML 2 permet finalement, d'organiser les fichiers qui constituent le projet, ainsi que de penser leur stockage et leur exécution dans les processeurs.

a. LES OBJECTIFS D'UML

v Représenter des systèmes entiers ;

v Etablir un couplage explicite entre les concepts et les artefacts exécutables ;

v Prendre en compte les facteurs d'échelle ;

v Créer un langage de modélisation utilisable à la fois par les humains et les machines ;

v Recherche d'un langage commun, utilisable par toutes les méthodes, adapté à toutes les phases du développement, compatible avec toutes les techniques de modélisation.51(*)

b. STRUCTURE D'UN SYSTEME MODELISE EN UML

UML 1.x définit neuf diagrammes : cinq pour les aspects statiques (classes, objets, cas d'utilisation, composants et déploiement) et quatre pour les aspects dynamiques (séquence, collaboration, états-transition, activités), UML 2 ajoute ceux d'interaction, de structure composite et le timing diagram.

Pour notre cas, nous ne nous intéresserons qu'à celui (le diagramme) convenant à la conception d'une base de données, à savoir le diagramme de classes, qui fait partie de l'aspect statique d'UML.52(*) Il nous aidera à décrire les classes que le système utilise, ainsi que leurs liens. Et nous le ferons précéder par le diagramme de cas d'utilisation et celui de séquence.

Le premier, c'est-à-dire le diagramme de cas d'utilisation,va nous permettre de recueillir, d'analyser et d'organiser les besoins, ainsi que recenser les grandes fonctionnalités du système existant à la CENI. En fin, le second, va nous permettre de décrire les interactions entre différentes entités et/ou acteurs du système.

UML est le moyen graphique de garantir que « ce qui se conçoit et se programme bien s'énonce clairement».53(*)

SECTION II. MODELISATION DE LA BASE DE DONNEE

Une idée centrale des BDD est de séparer la description des données (effectuée par l'Administrateur) de la manipulation (effectuée par les programmes d'application).54(*)

La description permet de spécifier les structures et les types de données ou d'application, alors que la manipulation consiste à effectuer des interrogations, des insertions et des mises à jour.

Bien que la notation UML ait été proposée tout d'abord pour la spécification d'applications, il n'en reste pas moins que les concepts relatifs au diagramme de classes peuvent s'adapter à la modélisation d'une base de données relationnelle ou objet-relationnelle.

UML 2 reprend les concepts du modèle entité-association et propose en plus des artifices pour améliorer la sémantique d'un schéma conceptuel (contraintes, classe-association, stéréotype...). De ce fait, cette notation est très complète et puissante et peut s'adapter parfaitement à la description statique d'une base de données.

Une notation étant une convention de représentation graphique des concepts liés à un formalisme,proposée par un ou plusieurs auteurs ; un formalisme alors est l'ensemble de règles de représentation permettant de formuler un modèle graphiquement. Il comporte un certain nombre de concepts de base permettant d'exprimer un modèle.55(*)

II.1. DIAGRAMME CAS D'UTILISATION

Le rôle des diagrammes de cas d'utilisation est, comme nous l'avions souligné, de permettre à recueillir, analyser et organiser les besoins, et de recenser les grandes fonctionnalités d'un système. Il s'agit donc de la première étape UML d'analyse d'un système.

Un diagramme de cas d'utilisation capture le comportement d'un système, d'un sous-système, d'une classe ou d'un composant tel qu'un utilisateur extérieur le voit. Il scinde la fonctionnalité du système en unités cohérentes, les cas d'utilisation, ayant un sens pour les acteurs. Les cas d'utilisation permettent d'exprimer le besoin des utilisateurs d'un système, ils sont donc une vision orientée utilisateur de ce besoin au contraire d'une vision informatique.

Pour élaborer les cas d'utilisation, il faut se fonder sur des entretiens avec les utilisateurs.

II.1.1. ELEMENTS DU DIAGRAMME DES CAS D'UTILISATION

a) Acteurs

Dans notre cas, l'acteur principal est le candidat qui vient se faire enrôler dans le Centre d'Identification (CI) de la CENI. Il est l'élément déclencheur du processus.

C'est pourquoi nous définissons un acteur comme étant l'idéalisation d'un rôle joué par une personne externe, un processus ou une chose qui interagit avec un système.

Il se représente par un petit bonhomme avec son nom inscrit dessous. Il est également possible de représenter un acteur sous la forme d'un classeur stéréotypé << actor >>.

Pour être plus réaliste, nous avons recensé pour notre problème les acteurs suivants :

- Candidat ;

- OPS (Opérateur De Saisie) ;

- DBA (DataBase Administrator : Administrateur de la BD) ;

- BD Distante (Autres sites ou centre d'identification).

b) Cas d'utilisation

Un cas d'utilisation est une unité cohérente représentant une fonctionnalité visible de l'extérieur. Il réalise un service de bout en bout, avec un déclenchement, un déroulement et une fin, pour l'acteur qui l'initie. Un cas d'utilisation modélise donc un service rendu par le système, sans imposer le mode de réalisation de ce service.

Un cas d'utilisation se représente par une ellipse contenant le nom du cas (un verbe à l'infinitif), et optionnellement, au-dessus du nom, un stéréotype.

II.1.2. RELATIONS DANS LES DIAGRAMMES DE CAS D'UTILISATION

a) Relations entre Acteurs et Cas d'utilisation :

· Relation d'association ;

· Multiplicité ;

· Relation acteurs principaux et secondaires ;

· Cas d'utilisation interne ;

b) Relation entre les Cas d'utilisation :

· Types et représentations ;

· Relation d'inclusion ;

· Relation d'extension ;

· Relation de généralisation ;

c) Relation entre les Acteurs :

· La généralisation.

II.1.3. PRESENTATION DU DIAGRAMME DE CAS D'UTILISATION

Fig. IV.2. Diagramme de Cas d'utilisation

II.1.4. DESCRIPTION DE SCENARIO

a) Définition :

Un scénario est une succession particulière d'enchainement s'exécutant du début à la fin du cas d'utilisation.

Un cas d'utilisation sera représenté par :

- Un scénario nominal ;

- Plusieurs scénarios alternatifs (qui se terminent normalement) ;

- Plusieurs scénarios d'erreurs (qui se terminent par un échec).

b) Fiche :

La fiche de description textuelle d'un cas d'utilisation n'est pas normalisée.

TABLEAU IV.1. FICHE DE DESCRIPTION TEXTUELLE DES SCENARIOS

SOMMAIRE

Scénario Nominal « Enrôler en réseau »

Description

1. Le DBA démarre le système

2. Le système affiche l'interface Administrateur

3. Le DBA s'authentifie (Login)

4. Le système vérifie les informations

5. L'OPS se connecte à l'interface Utilisateur

6. Le système affiche l'interface Utilisateur

7. L'OPS s'authentifie (Login)

8. Le système vérifie les informations

9. Le candidat fournit les informations

- Identité

- Empreinte

- Photo

- Adresse

- Origine

10. L'OPS saisit les informations

11. L'OPS lance la sauvegarde les données saisie dans la BDD

12. Le système vérifie si les informations existent déjà

13. Le système vérifie si la date de naissance est éligible

14. L'OPS lance l'impression

15. Le système imprime la carte d'électeur

16. Le candidat retire la carte d'électeur

17. L'OPS vérifie la connectivité réseau du système

18. Le système exécute la requête de vérification

19. L'OPS lance la réplication

20. Le système réplique les données

21. Réplication effectuée

22. Le DBA lance le backup

SOMMAIRE

Scénario Alternatif « Démarrer Système »

Description

S.A.1 : Saisie Login incorrect de 1 à 3 fois

S.A.1 : Démarre au point 4

5. Affichage du message d'erreur et précisant les informations incorrectes

6. Retour au point 3

SOMMAIRE

Scénario Erreur « Démarrer Système »

Description

S.E.1 : Saisie Login incorrect à la 4e fois

S.E.1 : Démarre au point 4

5. Affichage du message d'erreur « Compte Administrateur invalide »

6. Retour au point 3

SOMMAIRE

Scénario Alternatif « Se connecter au Système »

Description

S.A.2 : Saisie Login incorrect de 1 à 3 fois

S.A.2 : Démarre au point 8

5. Affichage du message d'erreur et précisant les informations incorrectes

6. Retour au point 6

SOMMAIRE

Scénario Erreur « Se connecter au Système »

Description

S.E.2 : Saisie Login incorrect à la 4e fois

S.E.2 : Démarre au point 8

5. Affichage du message d'erreur « Identifiant et/ou Mot de passe invalide »

6. Retour au point 6

SOMMAIRE

Scénario Alternatif « Vérifier informations saisies »

Description

S.A.3 : Lancement de la sauvegarde

S.A.3 : Démarre au point au point 12

13. Affichage du message d'erreur informant l'existence des informations saisies

14. Retour au point 9

SOMMAIRE

Scénario Erreur « Vérifier informations saisies »

Description

S.A.3 : Lancement de la sauvegarde

S.A.3 : Démarre au point au point 12

13. Affichage du message d'erreur « Information existante, candidat déjà enrôlé. Suivant svp ! »

14. Retour au point 9

SOMMAIRE

Scénario Alternatif « Vérifier Eligibilité »

Description

S.A.4 : Lancement de la sauvegarde

S.A.4 : Démarre au point au point 13

14. Affichage du message d'erreur précisant l'information erronée

15. Retour au point 9

SOMMAIRE

Scénario Erreur « Vérifier Eligibilité »

Description

S.E.4 : Lancement de la sauvegarde

S.E.4 : Démarre au point au point 13

14. Affichage du message d'erreur « Candidat non éligible, Suivant svp ! »

15. Retour au point 9

SOMMAIRE

Scénario Alternatif « Répliquer données »

Description

S.A.5 : Lancement requête PING sur tout le réseau

S.A.5 : Démarre au point 18

19. Echec de la transmission

20. Retour au point 17

SOMMAIRE

Scénario Erreur « Répliquer données»

Description

S.E.5 : Lancement requête PING sur tout le réseau

S.E.5 : Démarre au point 18

21. Echec de la transmission et affichage message d'erreur « Système non connecté ! »

Retour au point 17

II.2. DIAGRAMME DE SEQUENCES

Les diagrammes de séquence sont couramment utilisés par nombre d'acteurs d'un projet, même quelque fois à leur insu, sans savoir qu'ils utilisent là un des diagrammes UML.

En effet, le diagramme de séquence est une représentation intuitive lorsque l'on souhaite concrétiser des interactions entre deux entités. C'est à dire décrire les interactions entre différentes entités et/ou acteurs du système. Ces diagrammes permettent à l'architecte/designer de créer au fur et à mesure sa solution.

II.2.1. DEFINITION DE CONCEPTS DU DIAGRAMME

Les principales informations contenues dans un diagramme de séquence sont les messages échangés entre les lignes de vie, présentés dans un ordre chronologique.

a) Ligne de vie :

Une ligne de vie se représente par un rectangle, auquel est accrochée une ligne verticale pointillée ayant une étiquette.

b) Le message :

Un message définie une communication particulière entre des lignes de vie. Il existe de message d'envoi d'un signal, d'invocation d'une opération, de création ou de destruction d'une instance.

Nous distinguons : Les messages asynchrones et les messages synchrones.

II.2.2. PRESENTATION DES DIAGRAMMES DE SEQUENCE

v Diagramme de séquence - CANDIDAT :

Fig. IV.3. Diagramme de Séquence - Candidat

v Diagramme de séquences - OPS :

Fig. IV.4. Diagramme de séquences - OPS

v Diagramme de séquences - DBA :

Fig. IV.5. Diagramme de séquence - DBA

v Diagramme de séquences - BDD DISTANTE :

Fig. IV.6. Diagramme de séquences - BDD Distante

v Diagramme de séquences :

Fig. IV.7. Diagramme de séquences

II.3. DIAGRAMME DE CLASSES

Le diagramme de classe représente l'architecture conceptuelle du système : il décrit les classes que le système utilise, ainsi que leurs liens, que ceux-ci représentent un emboîtage conceptuel ou une relation organique.

Les opérations décrivent les éléments individuels d'un comportement que l'on peut invoquer. Ce sont les fonctions qui peuvent prendre des valeurs en entrée et modifier les attributs ou produire des résultats. Les attributs, les terminaisons d'association et les méthodes constituent donc les caractéristiques d'une classe et de ses instances.

II.3.1. DESCRIPTION

v Définition des classes

Une classe a pour objectif de définir les propriétés (attributs et opérations) d'un ensemble d'objets qui pourront être créés et manipulés par les programmes de l'application : de même, une association a pour objectif de définir les propriétés d'un ensemble de liens que l'on pourra établir entre les objets.

La définition des classes UML se divise en trois compartiments contenant respectivement le nom de la classe, les attributs de la classe et la signature des méthodes de la classe :

§ Attribut (attribute) : donnée élémentaire servant à caractériser les classes et les relations ;

§ Classe (class) : description abstraite d'un ensemble d'objets de même structure et de même comportement extraits du monde à modéliser.

§ Méthodes (methods) : opérations programmées sur les objets d'une classe.56(*)

Bien qu'il n'était pas utile de disposer d'un identifiant pour chaque classe avec UML, il faudra définir un (ou plusieurs) attribut(s) assurant ce rôle dans le but de préparer le passage à SQL. Et il faut disposer l'identifiant en tête des attributs de la classe.

v Recensement des classes :

Classes recensées pour notre cas sont :

- Chef de Centre : CHEF_CENTRE ;

- Centre d'Identification : CENTRE ;

- Fiche d'Identification : FICHE ;

- Utilisateur : UTILISATEUR ;

- Candidat : CANDIDAT.

v Description des classes :

Fig. IV.7. Description des classes de la BD

II.3.2. ASSOCIATION

A toute association, définie par un nom, correspond un ensemble de classes, définies dans le diagramme de classes. Tout lien étant une instance d'une association a pour nom, le nom de l'association correspondant et relie un objet de chaque classe caractérisant l'association.

Pour que les classes puissent communiquer entre elles dans un formalisme au travers de leurs identifiants, il nous faut définir leur association :

§ Association (Relationship) : l'association permet de relier une classe à plusieurs autres classes.

§ Multiplicité (multiplicity) : chaque extrémité d'une association porte une indication de multiplicité. Elle exprime le nombre minimum et maximum d'objets d'une classe qui peuvent être reliés à des objets d'une autre classe.57(*)

La spécification UML 2 (Superstructure - version 2.0 - formal/05-07-04)58(*) indique qu'une association est représentée par une ligne connectant deux classes (dans le contexte d'un diagramme de classes) ou une classe avec elle-même. Il y est même conseillé de soigner la présentation des segments de droites quand le lien n'est pas rectiligne.

« A binary association is normally drawn as a solid line connecting two classifiers, or a solid line connecting a single classifier to itself (the two ends are distinct). A line may consist of one or more connected segments. The individual segments of the line itself have no semantic significance, but they may be graphically meaningful to a tool in dragging or resizing an association symbol ».59(*)

Les tableaux IV.2 et IV.3 établissent un parallèle entre les formalismes du modèle entité-association de Merise et de la notation UML. Et nous permettent de dissiper certaines difficultés y afférant.

TABLEAU IV.2. TERMINOLOGIE

ENTITE-ASSOCIATION

UML

Entité

Classe

Association (Relation)

Association (Relation)

Occurrence

Objet

Cardinalité

Multiplicité

Modèle conceptuel de donnés (Merise)

Diagramme de classes

Associations un-à-un (one-to-one) : 0..1, 1

Associations un-à-plusieurs (one-to-many) : 0..*, 1..*, *

Associations plusieurs-à-plusieurs (many-to-many) : N..N

II.3.4. GENERALISATION ET HERITAGE

La généralisation décrit une relation (association) entre une classe générale et une classe spécialisée. La classe spécialisée est intégralement cohérente avec la classe de base, mais comporte des informations supplémentaires (attributs, opérations, associations).60(*)

Dans une relation de généralisation entre classes, la super-classe est la classe parentet la sous-classe, la classe enfant. Partout où une instance du parent est utilisée, une instance de l'enfant est aussi utilisable (principe de substitution).61(*)

De toutes les classes que nous utilisons ici, deux cas sont enregistrés point ce point :

- Dans la classe CENTRE (super-classe) : une sous-classe LOCALSATION ;

- Dans le classe UTILISATEUR (super-classe) : deux sous-classes OPS et DBA.

Fig. IV.10. Généralisation et héritage

II.3.5. ENCAPSULATION

a) Définition :

Concept bien connu des développeurs objet, le principe de l'encapsulation est d'autoriser l'accèsaux données uniquement via les méthodes. Une autre édition consiste à considérer la capacité del'objet à cacher ses méthodes.62(*)

L'encapsulation permet :

ï D'augmenter le niveau d'abstraction de la classe ;

ï De protéger les objets des classes d'une manipulation interdite de la part des clients de la classe ;

ï De protéger les clients vis-à-vis des évolutions de la classe elle-même.

Les méthodes d'une classe représentent les services de la classe en question. Une classe fournisseur propose des services aux autres classes clientes. Au niveau d'une base de données, une méthode peut être programmée par une fonction ou une procédure cataloguée (pour les bases objet-relationnelles, ces méthodes sont définies directement au niveau du type de la table).63(*)

b) Visibilité des attributs et méthodes :

Les règles de visibilité d'un attribut ou d'une méthode viennent compléter ou préciser la notion d'encapsulation. Ainsi, il est possible de préciser le degré de protection au profit de classes utilisatrices bien particulières, désignées implicitement dans la spécification de la classe fournisseur.

UML définit trois niveaux de visibilité pour les attributs et les méthodes (ces niveaux correspondent à ce que propose le langage C++) :

ï public (symbole +) : niveau le moins strict, qui rend l'élément visible à toutes les autres classes ;

ï protégé (symbole #) : niveau intermédiaire, qui rend l'élément visible aux sous-classes de la classe fournisseur (aux « classes amies », friend classes en C++) ;

ï privé (symbole -) : niveau le plus strict, qui rend l'élément visible à la classe fournisseur seule (aux classes amies en C++).64(*)

Ce qui est de notre cas, l'encapsulation et la visibilité devront être programmées manuellement et explicitement au niveau de la base (c'est là où se trouve le plus grand fossé entre classes d'objets et enregistrements de la base). C'est à dire par l'ajout de méthodes ou des procédures cataloguées. Il faudra donc prévoir suffisamment de méthodes d'insertion, de modification et de suppression d'objets de la base, ainsi que les services à assurer [SOU 04].65(*)

II.3.6. PRESENTATION DU DIAGRAMME DE CLASSE

Fig.IV.11. Diagramme de classe

CONCLUSION PARTIELLE

Ce chapitre nous a permis de concevoir pas à pas notre projet suivant trois diagrammes dont, les deux premiers détaillent les interactions relatives à l'application Java, et le dernier concerne la conception de la base de données en question.

C'est ainsi que nous frayé un chemin nous menant en profondeur de l'informatique. Les chapitres suivants permettront à compléter les limites de celui-ci.

Chapitre Cinquième :

LA REPARTITION DE DONNEES AVEC ORACLE

INTRODUCTION

Oracle, conçue pour les environnements de centres de données qui évoluent rapidement et changent pour s'adapter aux besoins de l'entreprise, la version Oracle Database 11g permet aux entreprises d'adopter rapidement de nouvelles technologies, tout en limitant les risques. De plus, forte de ses capacités d'autogestion, la version Oracle Database 11g R2fait bénéficier de ses importantes améliorations en termes de facilité de gestion et de diagnostic des pannes.

Trois domaines continuent de poser de réels problèmes de gestion aux administrateurs de bases de données :

· Les performances : comment faire pour que les bases de données de production fournissent des performances maximales afin de respecter les niveaux de service ?

· La gestion des modifications : comment apporter des modifications (modifications de routine ou introduction d'innovations technologiques) dans les environnements de bases de données Oracle à moindre coût, tout en limitant les risques ?

· L'administration en continu : comment automatiser les tâches quotidiennes répétitives pour que le personnel en soit libéré et se concentre sur des besoins plus stratégiques, tels que la sécurité et la haute disponibilité ?66(*)

Pour résoudre ces problèmes, nous avons pensé aux bases de données réparties. Surtout qu'Oracle Database 11g présente d'importantes améliorations en termes de performances, d'introduction des modifications et d'autogestion, de sorte que les bases de données Oracle soient encore plus faciles à gérer.

SECTION I. ORACLE : OBJETS & ARCHITECTURE

L'architecture oracle est constituée d'une instance et d'une base de données. Une instance, désignée par SID (Système Identification), est constituée :

§ D'une zone de mémoire partagée appelée System Global Area (SGA) ;

§ D'un ensemble de processus d'arrière-plan ayant chacun un rôle bien précis ;

§ D'un ensemble de processus serveur chargés de traiter les requêtes des utilisateurs.

La base de données est l'ensemble des fichiers qui permettent de gérer les données de la base. Elle est constituée de :

§ Un fichier de contrôle, contenant les informations sur tous les autres fichiers de la base (nom, emplacement, taille) ;

§ Fichiers de Redo Log, contenant l'activité des sessions connectées à la base. Ce sont des journaux de transactions de la base. Ils sont organisés en groupe possédant le même nombre de membres ;

§ D'un ou plusieurs fichiers de données qui contiennent les données des tables de la base.67(*)

Fig. V.1. Architecture de la BD Oracle

Chaque fois qu'une BD est lancée sur un serveur (ang. Instance startup), une partie de la mémoire centrale dite SGA (System Global Area) est allouée, et plusieurs processus d'arrière-plan sont lancés. Une instance de BD est un ensemble de structures de mémoire et de processus d'arrière-plan qui accèdent à un ensemble de fichiers de données. Dans Parallel Server plusieurs instances peuvent accéder à la même BD.

Les objets d'une base de données oracle sont :

· Gestion des données : table, index, view, materialized view, snapshot,etc.;

· Stockage physique: cluster, tablespace, ... ;

· Stockage d'instructions : procedure, trigger, ... ;

· Gestion d'utilisateurs: profile, user, etc.

Nous allons les détailler au fur et à mesure que nous évoluons, suivant leur utilisation.

I.1. STRUCTURES LOGIQUES DE LA BD

Dans la structure logique d'une base de données, nous rencontrons quatre objets importants qui caractérisent une base de donnéees : le tablespace, les segments, l'extent et le bloc de données :

§ Tablespace

C'est une division logique d'une BD. Chaque BD possède au moins un tablespace appelé SYSTEM.

Il s'agit donc des espaces de stockage attribué aux utilisateurs de la base dans lesquels se trouveront leurs objets.68(*)

§ Segments :

Les segments sont des structures logiques de stockage des données physiques de la base, ils sont assignés à des tablespace. Il en existe quatre types :

- Les segments de données : Stockage des données des tables et des clusters utilisateurs et système ;

- Les segments d'index : Stockage des données d'index séparément des données ;

- Les segments temporaires : Utilisés pour le traitement des commandes SQL nécessitant un espace disque temporaire (order by, group by, distinct, union, instersect ou minus ;

- Les segments de rollback : Enregistrement des actions effectuées par les transactions.69(*)

§ Extent (extension) :

Unité logique d'allocation d'espace composée d'un ensemble contiguë de blocs de données alloués simultanément à un segment. Tout segment est initialement créé avec au moins une extension appelée extension initial (Initial Extent)

Lorsque l'espace d'un segment est complétement utilisé, attribution par Oracle d'une nouvelle extension dite extension supplémentaire.70(*)

§ Bloc de données:

Appelé également Bloc logique ou Page, un bloc détermine le niveau de granularité le plus fin où les données sont sauvées (c'est la plus petite unité logique d'entrée/sortie utilisée par Oracle). Un bloc de données correspond à un nombre spécifique d'octets d'espace BD physique sur disque.

C'est ainsi que toute la gestion de l'espace disque des fichiers de données d'une base Oracle repose sur ces trois derniers concepts : de segment, d'extent et de bloc.

Bref, s'il nous faut représenter le lien entre les trois, nous dirons qu'un ensemble de blocs contigus est nommé un extent (ou extension). C'est un ensemble logique. Un ensemble d'extents compose un segment. Le segment est un ensemble logique supérieur à l'extent.71(*)

Fig. V.2. Segment, Extent et Bloc de données.

I.2. STRUCTURES PHYSIQUES DE LA BD

La structure physique est composée d'un ensemble de fichiers constituant le support physique de stockage des données et concerne :

v Fichiers de données :

v Fichiers Redo-log:

v Fichiers de contrôle:

v Fichiers trace et journal d'alerte:

I.3. STRUCTURES DE MEMOIRE

Oracle respecte la norme ANSI/X3/SPARC représentant une base de données en trois niveaux (externe, conceptuel, interne respectivement les vues et la gestion des utilisateurs et de leurs droits d'accès, la structure logique, la structure physique)

L'architecture interne d'Oracle est composée de fichiers, de processus (programmes en cours d'exécution) et de mémoire. Deux types de mémoire sont distincts :

a) PROGRAM GLOBAL AREA : PGA

Le processus serveur traite les requêtes du processus utilisateur et retourne le statut et le résultat de cette requête... Chaque processus serveur utilise une zone de mémoire appelée la PGA.72(*) Mémoire privée des différents processus distribuée au moment de la connexion d'un client. Pour un processus serveur, la PGA contient :

v Une zone de tri (allouée dynamiquement lors d'un tri) ;

v Des informations sur la session ;

v Des informations sur le traitement des requêtes de la session ;

v Les variables de session ;

Dans une configuration multithreaded, une partie de la PGA est en fait stockée dans la SGA (dans la Large Pool ou éventuellement dans la Shared Pool).

b) SYSTEM GLOBAL AREA : SGA

L'ensemble des structures de mémoire permet d'améliorer les performances de la BD en limitant le nombre d'opérations d'E/Ss exécutées sur les fichiers de données. La zone SGA, regroupe un ensemble de structures de mémoire partagées qui contiennent les données et les informations de contrôle concernant une instance Oracle. Lorsque plusieurs utilisateurs sont connectés à la même instance, les données de cette zone sont partagées entre eux.

v Le cache de tampons de blocs de données :

v Le tampon du journal de reprise :

v Le cache du dictionnaire :

v Le pool partagé :

I.4. PROCESSUS D'ARRIERE-PLAN

Il est important de distinguer les processus d'arrière-plan (ang. background processes) des autres processus.

Ils sont indépendants de la connexion des utilisateurs. Ils sont lancés au démarrage de l'instance et arrêtés lors de l'arrêt de l'instance. Ils réalisent des opérations sur l'instance et sur la base de données, comme l'écriture des fichiers de données, la récupération de la base de données ou la résolution des erreurs. Certains processus aident à augmenter les performances globales du système.

La relation entre les structures physiques et les structures de mémoire est maintenue, et mise en oeuvre au moyen de processus d'arrière-plan. Les principaux processus sont :

v Database Writer(DBWRn) ;

v Log Writer (LGWR) ;

v Checkpoint(CKPT) ;

v Process Monitor(PMON) ;

v System Monitor(SMON) ;

v Job Queue Coordinator (CJQ) ;

v Memory Manager(MMAN) ;

v Memory Monitor(MMON) ;

v USER.

I.5. DEROULEMENT DE TRAITEMENT D'UN ORDRE SQL

Lorsqu'un utilisateur lance une requête de mise à jour sur la table quelconque, et que plusieurs tuples sont affectés par la requête. La requête est passée au serveur par le processus USER. Le serveur (exactement le query processor) vérifie si la requête existe déjà dans le cache de bibliothèques. Si non trouvée, elle est analysée, pour vérifier au cache du dictionnaire les privilèges et les attributs etc.., générer un plan d'exécution. La représentation analysée et le plan d'exécution sont alors sauvés dans le cache de bibliothèques.

Pour les objets affectés par ladite table, on vérifie si les blocs de données sont dans le cache de tampons de blocs de données (Database Buffer Cache). Si non trouvés, le processus USER, les met dans le cache de tampons de blocs de données.

Avant que la mise à jour des tuples soit faite, `l'image avant' des tuples est écrite sur les segments de rollback par le processus DBWr. Pendant que le tampon redo-log est rempli durant la modification des blocs de mise à jour, le processus LGWR écrit le contenu du tampon redo-log dans les fichiers redo log.

Après la fin de mise à jour, l'utilisateur valide la mise à jour par un commit. Tant qu'un commit n'a pas été exécuté, les modifications peuvent être annulées par un rollback. Dans ce cas, les blocs de données mis à jour dans le tampon BD sont écrasés par les blocs originaux sauvés dans les segments de rollback. Si l'utilisateur exécute un commit, l'espace alloué pour les blocs dans les segments de rollback est désalloué, et peut être utilisé par d'autres transactions.

SECTION II. LA REPARTITION DE DONNEES

II.1. ORACLE EN RESEAU

a) ORACLE NET SERVICE

Il fournit des solutions de connectivité dans des environnements distribués. Il est composé de:

1. Oracle Net :

Initialement appelé SQL*Net, renommé Net8, et maintenant connu sous le nom d'Oracle Net, est l'ensemble d'outils de réseau d'Oracle qui peut être utilisé pour se connecter à des bases de données distribuées.

Oracle Net facilite le partage de données entre plusieurs bases, même si ces dernières sont hébergées sur des serveurs différents qui exécutent des systèmes d'exploitation et des protocoles de communication différents. Il permet aussi la mise en oeuvre d'application trois tiers ; le serveur gère principalement les E/S de la base de données tandis que l'application est hébergée sur un serveur d'application intermédiaire et que les exigences de présentation des données de l'application sont supportées par les clients.73(*)

2. Modules d'écoute/listeners :

Le module d'écoute (LISTENER) prend en charge la demande du client en la transmettant au serveur. Chaque fois qu'un client demande une session réseau au serveur, un module d'écoute reçoit la demande. Si les informations du client correspondent à celles du module d'écoute, ce dernier autorise une connexion au serveur. Le fichier de configuration LISTENER.ORA contient :

ü son nom, par défaut LISTENER

ü son adresse (HOST et PORT) : (ADDRESS= (PROTOCOL = TCP) (HOST = localhost) (PORT = 1521)

ü les SIDs (Service ID) des BD guettées ;

3. Oracle Connection Manager ;

4. Outils de configuration et de gestion : Oracle Net Configuration Assistant, Oracle Net Manager.

b) TRANSPARENT NETWORK SUBSTRATE(TNS)

Est une sous-couche d'Oracle Net qui reçoit les requêtes et émet des ouvertures ou fermetures de session, envoie les requêtes et reçoit des réponses.

c) COMMUNICATION ENTRE BASES DE DONNEES

Lorsque les hôtes qui supportent les bases de données Oracle sont connectés via un réseau, les bases peuvent communiquer via Net8 d'Oracle (précédemment appelé SQL*Net). Les pilotes de Net8 s'appuient sur le protocole de communication local pour fournir la connectivité entre deux serveurs.

Afin que Net8 reçoive et traite les communications, l'hôte doit exécuter un processus appelé listener : module d'écoute sur un port de communication spécifique.

d) IDENTIFICATION DES OBJETS

Dans une BD centralisée, la combinaison du nom du propriétaire d'un objet et du nom de l'objet permet de l'identifier de façon unique. Dans les BDR deux couches d'identification sont ajoutées. Le quadruplet [hôte, instance, schéma, objet] forme un nom d'objet complet ou FQON.

Pour accéder à une table distante son identifiant FQON doit être connu. La transparence d'emplacement cache à l'utilisateur le triplet [hôte, instance, schéma].

II.2. LES LIENS DE BASES DE DONNEES

Pour interroger une BD distante, il faut créer un lien de base de données. Un lien de base de données est un chemin unidirectionnel d'un serveur à un autre. En effet, un client connecté à une BD A, peut utiliser un lien stocké dans la BD A pour accéder à la BD distante B, mais les utilisateurs connectés à B ne peuvent pas utiliser le même lien pour accéder aux données sur A.74(*)

Lorsqu'un lien est référencé par une instruction SQL, Oracle ouvre une session dans la base distante et y exécute l'instruction. La session demeure ouverte au cas où elle serait de nouveau nécessaire.

En créant un lien de BD, on doit indiquer le nom du compte auquel on se connecte, le mot de passe de ce compte, et le nom de service associé à la base distante. En l'absence d'un nom de compte, Oracle utilise le nom et le mot de passe du compte local pour la connexion à la base distante.

II.3. TRANSPARENCE D'EMPLACEMENT

Comme nous l'avions déjà souligné dans le premier chapitre, pour y arriver, il nous faut ainsi créer les objets permettant à cacher la distribution des données aux utilisateurs. C'est la notion de transparence. Mais nous allons d'abord nous focaliser à la transparence d'emplacement en créant les vues, les synonymes et les procédures stockées :

II.3.1. VUES

Une vue est une fenêtre sur une table.

Les vues correspondent à ce qu'on appelle le niveau externe qui reflète la partie visible de la base de données pour chaque utilisateur.75(*) Les vues peuvent fournir une transparence par rapport aux tables locales et distantes. Une vue peut porter sur plusieurs tables, éventuellement distantes.

La mise à jour d'une vue est en fait la mise à jour de la table 'A TRAVERS' la vue. Il n'y a pas de duplication de données.

II.3.2. SYNONYMES

Un synonyme est un alias d'un objet (table, vue, séquence, procédure, fonction ou paquetage). Les avantages d'utiliser des synonymes sont les suivants :

- Simplifier l'accès aux objets en abrégeant les noms de tables, par exemple, ou en regroupant dans un même alias les noms du schéma et de l'objet, pour les objets qui ne vous appartiennent pas, mais dont vous avez accès ;

- Masquer le vrai nom des objets ou la localisation des objets distants (réunis par liens de base de données : database links) ;

- Améliorer la maintenance des applications dans la mesure où la nature du synonyme peut être modifiée sans mettre à jour tous les programmes qui l'utilisent (le synonyme garde le même nom tout en référençant un nouvel objet).76(*)

Les synonymes sont des noms simples qui permettent d'identifier de façon unique dans un système distribué les objets qu'ils nomment. Ils figurent dans le dictionnaire de données.

II.4. MISE AU POINT DES REQUETES DISTRIBUEES

Un serveur BD Oracle génère à partir d'une requête distribuée, des requêtes distantes, qu'il envoie aux noeuds distants pour exécution. Les noeuds exécutent alors les requêtes et retournent les résultats au serveur local. Un post-traitement est exécuté pour enfin retourner le résultat à l'utilisateur ou à l'application.

Les stratégies décrites dans ce qui suit, sont utilisées pour optimiser les requêtes.

I.5.1. COLLOCATED INLINE VIEWS

Le moyen le plus efficace d'optimiser une requête consiste à réduire au maximum l'accès aux BDs distantes et de ne rapatrier que les données requises. Pour ce, Oracle utilise des «Collocated Inline Views», c'est à dire des vues de plusieurs tables distantes et en ligne, afin de forcer les restrictions sur les sites distants.

I.6. REPLICATION DES DONNEES

De toutes les étapes précédentes, nous ne faisions que la préparation de l'environnement pour atterrir sur la réplication proprement dite.

Afin de réduire la quantité de données transmises sur le réseau, et améliorer par conséquent les performances des requêtes, plusieurs options de réplication peuvent être envisagées : la Commande Copy, le Snapshots et les vues matérialisées.

I.6.1. COMMANDE COPY

Cette première option consiste à répliquer régulièrement les données sur le serveur local au moyen de la commande COPY de SQL*Plus.

I.6.2. SNAPSHOTS

Cette option utilise des snapshots pour répliquer les données depuis une source maîtresse vers plusieurs cibles. Les snapshots peuvent être en lecture seule (ang. read-only) ou mis à jour (ang. Update able). Avant de créer un snapshot, il faut d'abord créer un lien vers la base de données source.

Deux types de snapshots peuvent être crées : simples et complexes. Un snapshot simple ne contient pas de clause distinct, group by, connect by, de jointure multi-tables ou d'opérations set. Mais l'autre en contient quand même.

I.6.3. VUES MATERIALISEES

Une vue matérialisée peut apporter plusieurs avantages au niveau performances.

Selon la complexité de la requête, on peut la remplir avec des changements incrémentiels, à l'aide du journal de vues matérialisées (MATERIALIZED VIEW

LOG), au lieu de la recréer.

A l'inverse des snapshots, les vues matérialisées peuvent être utilisées directement par l'optimiseur, afin de modifier les chemins d'exécution des requêtes. Pour ce, il faut disposer du privilège QUERY REWRITE pour pouvoir réécrire la requête.

Une vue matérialisée crée une table locale pour stocker les données, et une vue qui y accède.

Les vues matérialisées sont le moyen que nous allons utiliser dans notre cas pour assurer la répartition de notre base.

SECTION III. ECRITURE RELATIONNELLE DE LA REPARTITION DESCENDANTE

L'algèbre relationnelle est un ensemble d'opérateurs qui, à partir d'une ou deux relations existantes, créent en résultat une nouvelle relation temporaire, c'est-à-dire qui a une durée de vie limitée (généralement la relation est détruite à la fin du programme utilisateur ou de la transaction qui l'a créée). La relation résultat a exactement les mêmes caractéristiques qu'une relation de la base de données et peut donc être manipulée de nouveau par les opérateurs de l'algèbre.

Formellement, l'algèbre comprend cinq opérateurs (sélection, projection, union, différence et produit) de base et un opérateur syntaxique (renommer). Ces opérateurs peuvent être regroupés en deux classes :

§ Les opérateurs provenant de la théorie mathématique sur les ensembles (applicables car chaque relation est définie comme un ensemble de tuples) : union, intersection, différence, produit;

§ Les opérateurs définis spécialement pour les bases de données relationnelles : sélection, projection, jointure, division et renommage.

Nous avons utilisé cette notion pour enfin démontrer comment sommes-nous parti du général au local. Ce qui étale la technique de conception utilisée qui est descendante : top down design.

III.1. SCHEMA GLOBAL DE LA BASE DE DONNEES

Le schéma global est

Notre modèle global de la base se présente comme ça :

- LOCALISATION (id_local, entite_local, circonscription_local, province_local)

- CENTRE (num_centre, id_local, nom_centre)

- CHEF_CENTRE (matr_chef, num_centre, nom_chef, postnom_chef, prenom_chef)

- CANDIDAT (NN, nom_cand, postnom_cand, prenom_cand, sexe_cand, lieu_naiss, date_naiss, père_cand, mere_cand, adresse_cand, origine_cand, date_enrol, num_centre)

- FICHE (num_fiche, NN, libelle_fiche)

- UTILISATEUR (matr_user, NN, num_centre, num_fiche, username, password)

La gestion de la base s'appuie sur les hypothèses suivantes :

· Un candidat remplit une et une seule fiche ;

· Un utilisateur saisit un ou plusieurs fiches par jour ;

· Un utilisateur enrôle un ou plusieurs candidat ;

· Le chef de centre gère un et un seul centre ;

· Un centre gère plusieurs utilisateurs.

III.2. SCHEMA DE REPARTITION OU D'ALLOCATION

Cette opération consiste à fragmenter la base en sous-bases. Nous allons faire la fragmentation avec trois classes dont :

Ø Candidat ;

Ø Centre ;

Ø Chef_centre ;

Ø Localisation.

Pour mieux assurer la tâche échéante, illustrons quelques occurrences pour chaque classe :

CLASSE LOCALISATION :

id_local

entite_local

circonscription_local

province_local

A450/C

KALAMU

KINSHASA

KINSHASA

A300/C

KALAMU

KINSHASA

KINSHASA

B601/C

LINGWALA

KINSHASA

KINSHASA

J005/C

LUBUMBASHI

LUBUMBASHI

KATANGA

J238/C

KISANGA

LUBUMBASHI

KATANGA

H992/C

KABONDO

KABINDA

LOMAMI

O793/C

DIULU

MBUJIMAYI

KASAI-ORIENTAL

CLASSE CENTRE :

num_centre

id_local

nom_centre

1

A300/C

CS NGEMBA

2

H992/C

LYCEE YAKANYAMA

3

J238/C

INSTITUT MADINI

5

O793/C

INSTITUT MASANKA

CLASSE CHEF_CENTRE :

matr_chef

num_centre

nom_chef

postnom_chef

prenom_chef

12342

3

MASIA

MANGALA

Jhaunel

32123

2

MUKONKO

LOLO

Eric

CLASSE CANDIDAT :

NN

nom_cand

postnom_cand

prenom_cand

sexe_cand

lieu_naiss

date_naiss

père_cand

mere_cand

adresse_cand

origine_cand

num_centre

93

MULANGA

KAJIJI

JUDITH

F

KABINDA

14/10/1996

MULIAS

NKONKO

01 AV. MUD

TUMBUE

2

20

LUBIKA

NTAMBUE

MARCEL

M

FIZI

20/08/1989

LUBIKA

MASOLA

991 AV. KAS

FIZI

3

21

KALONDA

KALONDA

HORTENSE

F

KISANGANI

24/04/1995

KALONDA

EBONDO

A61 AV. LOM

L'SHI

3

JOINTURE DES CLASSES

Pour arriver à répartir les données, nous allons nous fier aux données trop utilisables en segmentant les classes puis le reliant à partir de leur identifiants par une écriture relationnelle. Nous allons utiliser la jointure relationnelle.

Cette forme est la plus utilisée car elle est la plus simple à écrire. Un autre avantage de ce type de jointure est qu'elle laisse le soin au SGBD d'établir la meilleure stratégie d'accès (choix du premier index à utiliser, puis du deuxième, etc.) pour optimiser les performances.

Comme nous avons quatre classes, nous aurons 4-1, donc 3 jointures à réaliser. Le type de jointure utilisé dans notre projet est l'équijointure (equi join). C'est la plus connue, elle utilise l'opérateur d'égalité dans la clause de jointure. La jointure naturelle est conditionnée en plus par le nom des colonnes. La non équijointure utilise l'opérateur d'inégalité dans la clause de jointure.

Formule V.1. Jointure des classes

REPARTITION DES VALEURS AVEC FRAGMENTATION HYBRIDE :

L'algorithme de semi-jointure se présente comme suit :

Formule V.2. Fragmentation hybride

III.3. SCHEMA DE DUPLICATION OU DE REPLICATION

Ce schéma permet de copier sur la base du site les données de tout le système afin d'assurer la continuité du travail lorsque la connexion en le site et le serveur ne sera pas disponible.

III.4. SCHEMA INTERNE LOCAL

Les schémas locaux ne représenteront que les tables avec ayant trait à la répartition. La vue extérieure de l'utilisateur sera la table CANDIDAT. Et un candidat du site YAKANYAMA sera distingué de celui du site MADINI, par le numéro du centre, ainsi que la localisation de celui-ci. Nous allons créer 2 sites pour l'instant : le site1 - YAKANYAMA, et le site2 - MADINI.

v SITE1 - YAKANYAMA

Formule V.3. Allocation du site YAKANYAMA

v SITE2 - MADINI

Formule V.4. Allocation du site MADINI

CONCLUSION PARTIELLE

Ce chapitre nous a permis la répartition du système de la CENI, par toutes les techniques appropriées. Nous avons commencé par présenter Oracle, notre SGBD utilisé. Ensuite, nous avons touché à la répartition de données avec Oracle. Et en fin, nous avons démontré comment se déroule la répartition par l'écriture relationnelle.

Ainsi, nous avons clôt le présent chapitre. Toutes les théories annoncées ici, vont nous permettre à comprendre le chapitre qui suit, par la concrétisation du concept.

Chapitre Sixième :

IMPLEMENETATION

INTRODUCTION

Après modélisation et répartition, vient en fin l'implémentation de notre base de données, qui ne consiste à rien d'autre que la présentation des étapes de réalisation de celle-ci et deson application.

Pour y arriver, nous avons subdivisé ce fait en plusieurs sous points dont, la numérotation va distinguer les uns des autres.

L'implémentation commence d'abord par le choix du logiciel (d'outils de développement) et le choix du matériel (moyens et supports de traitement) :

§ Outils de traitements :

· Système d'exploitation : Microsoft Windows 7 Professional 32 bits ;

· Système de gestion de base de données : Oracle 11g R2 ;

· Langage de programmation : Java NetBeans ;

· Logiciel de connectivité : JDBC6_g (Java Database Connectivity).

§ Matériel :

· Ordinateur.

Et effet, le choix du matériel, très dépendant des caractéristiques et exigences du logiciel, nous l'avons effectué comme suit :

a. Ordinateur Server :

1. Marque PC  : 1 Laptop Toshiba CQ40 Notebook PC et 1 autre Laptop (coordonnées) ;

2. Nom du PC : JUCKA ;

3. Nom Utilisateur : Jules

4. Ecran  : 17'' ;

5. Clavier  : AZERTY Pavé alphanumérique + pavé numériquet ;

6. Disque dur  : 250 Go ;

7. Ram  : 4 Go ;

8. Processeur  : Pentium (R) Dual-core PCU T4300 @ 2.10Ghz (2PCUs) ~ 2.1Ghz 32bits.

b) Ordinateur Site1 :

1. Marque PC  : Laptop HP - Mini 210-2000 ;

2. Nom du PC : MARCELLINE ;

3. Nom Utilisateur : Mymy

4. Ecran  : 15'' ;

5. Clavier  : AZERTY Pavé alphanumérique seulement ;

6. Disque dur  : 250 Go ;

7. Ram  : 2 Go ;

8. Processeur  : Intel ® Atom ™ CPU N455 @ 1.66Ghz (2CPU), 1.7GHz

c) Ordinateur Site2 :

9. Marque PC  : Laptop TOSHIBA ;

10. Nom du PC : JEANBAPTISTE ;

11. Nom Utilisateur : NGOIE

12. Ecran  : 17'' ;

13. Clavier  : AZERTY Pavé alphanumérique + pavé numérique ;

14. Disque dur  : 1To ;

15. Ram  : 8 Go ;

16. Processeur  : Intel ® Core ™ i5-3230M CPU @ 2.60Ghz (4CPU), 2.6GHz

SECTION I.PRESENTATION DESCRIPTION DES OUTILS DE DEVELOPPEMENT

I.1. ORACLE

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.

Oracle 11g R2 est un puissant Système de Gestion de Bases de Données Relationnelles proposant, en plus du moteur de la base, de nombreux outils à l'utilisateur, au développeur et à l'administrateur. Ces outils ont un langage commun : le SQL.

Le SQL est un langage de requêtes descriptif, standard pour toutes les bases de données qui suivent le modèle relationnel. Ce langage permet toutes les opérations sur les données dans tous les cas d'utilisation de la base.

I.2. NETBEANS IDE (Integrated Development Environment)

NetBeans a vu le jour en tant que projet d'étudiant en République Tchèque (appelé à l'origine Xelfi), en 1996. Le but était d'écrire un EDI Java semblable à Delphi, mais en Java. Une compagnie fut créée autour de ce projet, nommé NetBeans. Il y a eu deux versions commerciales de NetBeans, appelées Developer 2.0 et Developer 2.1. Aux alentours de mai 1999, NetBeans sorti une version béta de ce qui aurait dû être Developer 3.0. Quelques mois plus tard, en octobre 1999, NetBeans fut racheté par Sun Microsystems. Après quelques temps de développement supplémentaires, Sun sortit l'EDI Forté Fro Java, Edition Communauté - le même EDI qui avait été en béta comme NetBeans Developer 3.0. En juin 2000, Sun mis l'EDI NetBeans en open-source.

NetBeans est un projet open source fondé par Sun Microsystems. L'IDE NetBeans est un environnement de développement intégré permettant d'écrire, compiler, déboguer et déployer des programmes. Il propose ou englobe beaucoup d'applications de programmation, aussi complexes qu'elles soient. Il est écrit en Java, mais peut supporter n'importe quel langage de programmation. Il y a également un grand nombre de modules pour étendre l'IDE NetBeans. L'IDE NetBeans est un produit gratuit, sans aucune restriction quant à son usage.

La version que nous utiliserons ici c'est la dernière version Netbeans IDE 8.0.2.

I.3. JAVA

Le langage Java est un  langage de programmation  informatique  orienté objet créé par  JAMES GOSLING et  PATRICK NAUGHTON, employés de  Sun Microsystems, avec le soutien de  Bill Joy (cofondateur de  Sun Microsystems en 1982), présenté officiellement le  23  mai  1995 au SunWorld.

La société Sun a été ensuite rachetée en 2009 par la société  Oracle qui détient et maintient désormais  Java.

La particularité et l'objectif central de Java est que les logiciels écrits dans ce langage doivent être très facilement portables sur plusieurs  systèmes d'exploitation tels qu' UNIXWindowsMac OS ou  GNU/Linux, avec peu ou pas de modifications. Pour cela, divers  plateformes et  frameworks associés visent à guider, sinon garantir, cette portabilité des  applications développées en Java.

Le langage java que nous avons utilisé fait partie intègre de Netbeans : Java Netbeans. Il est un langage Objet permettant le développement d'applications complètes s'appuyant sur les structures de données classiques (tableaux, fichier) et utilisant abondamment l'allocation dynamique de mémoire pour créer des objets en mémoire. La notion de structure, ensemble de données décrivant une entité (un objet en Java), est remplacée par la notion de classe au sens de la programmation Objet. Le langage Java permet également la définition d'interfaces graphiques (GUI : Graphical User Interface) facilitant le développement d'application interactives et permettant à l'utilisateur de piloter son programme dans un ordre non imposé par le logiciel.

I.4. JDBC (Java DataBase Connectivity)

C'est le middle ware permettant de relier les systèmes de gestion de base de données à IDE Netbeans.

5.2. CREATION DES BASES DE DONNEES

Au prime abord, nous avons précédé par installer le SGBD Oracle dans les machines échantillon, trois au total : une machine Server au site Central de CENI/Gombe, deux machines représentant deux sites différents (YAKANYAMA et MADINI). Ces bases, nous les avons créées pendant l'installation du SGBD. Et nous les avons nommées comme suit : ENROLEMENT pour le Server Central et ENR pour les sites.

En effet, cette opération nous a valu trois machines :

1. Création de la Base de données ENROLEMENT dans la machine Server site/Gombe ;

2. Création de la Base de données ENR dans la machine cliente du Site1 - YAKANYAMA. Entité : KABONDO, BL : KABINDA, Province : LOMAMI ;

3. Création de la Base de données ENR dans la machine cliente du Site2 - MADINI. Entité : KISANGA, BL : LUBUMBASHI, Province : KATANGA.

SECTION II. IMPLEMENTATION DE LA BASE DE DONNEES REPATIES

Fig. VI.1. Structure générale du nouveau system réparti.

II.1. CONFIGURATION DE LA CONNEXION RESEAU ENTRE LE SERVER ET LES SITES

Entre deux machines, nous avons configuré un réseau point à point dont :

· Nom du groupe de travail : JucHor ;

· Adresse IP server : 192.168.10.10 (Statique) ;

· Adresse IP Site1 : 192.168.10.11 (Statique) ;

· Adresse IP Site1 : 192.168.10.12 (Statique).

II.2. CONFIGURATION NET MANAGER

a) SITES : listener

Editer le fichier :

D:\app\Marcelline\product\11.2.0\dbhome_1\NETWORK\ADMIN\Listener.ora

ECOUTEUR =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = Marcelline-PC)(PORT = 1521))

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.11)(PORT = 1521))

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

)

)

ADR_BASE_ECOUTEUR = D:\app\Marcelline

SID_LIST_ECOUTEUR =

(SID_LIST =

(SID_DESC =

(SID_NAME = CLRExtProc)

(ORACLE_HOME = D:\app\Marcelline\product\11.2.0\dbhome_1)

(PROGRAM = extproc)

(ENVS = "EXTPROC_DLLS=ONLY:D:\app\Marcelline\product\11.2.0\dbhome_1\bin\oraclr11.dll")

)

(SID_DESC =

(SID_NAME = ENR)

(ORACLE_HOME = D:\app\Marcelline\product\11.2.0\dbhome_1)

)

)

b) SERVER : service_name

Editer le fichier :

C:\app\Jules\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsname.ora

ENROLEMENT =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = enrolement)

)

)

ORACLR_CONNECTION_DATA =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

)

(CONNECT_DATA =

(SID = CLRExtProc)

(PRESENTATION = RO)

)

)

SITE_YAKANYAMA =

(DESCRIPTION =

(ADRESS = (PROTOCOL = TFC) (HOST = 192.168.10.11) (PORT = 1521))

(CONNECT_DATA =

(SID = orcl)

)

)

II.3. CREATION DES UTILISATEURS ET DE TABLES

a) CREATION DES ROLES

Nous avons créé deux rôles dont un pour les utilisateurs OPS, `OPERATEUR' et l'autre pour les Administrateurs de BL/CENI nommé ADMINISTRATEUR. Nous allons les affecter respectivement à OPS et DBA_BL pour raisons sécuritaires.

· Rôle pour Utilisateurs :

Fig. VI.2. Rôle Utilisateurs

· Rôle pour Administrateurs CENI :

Fig. VI.3. Rôle Administrateur CENI.

b) CREATION DES UTILISATEURS

Pour assurer une grande sécurité de notre système, nous avons à utiliser deux types d'Utilisateurs. Ces utilisateurs se limitent au niveau de notre application de base de données. Ils sont identifiés par un username et un password. Ils ont les droits et permissions pour gère l'utilisation de la base et limiter les dégâts.

· Création de l'espace de travail de la Base de données sur le server :

Fig. VI.4. Tablespace

· Création des utilisateurs :

L'utilisateur OPS n'a le droit que d'insérer et de sélectionner les données dans la vue matérialisée

Fig.VI.5. Utilisateurs

· Attribution des rôles :

Fig. VI.6. Attribution des Rôles aux utilisateurs

c) CREATION DES TABLES

Fig. VI.7. Tables

II.4. CREATION DES LIENS ET SYNONYMES SUR SITES

Fig. VI.8. Liens et synonymes

II.5. CREATION DES VUES MATERIALISEES SUR SERVER

Fig. VI.9. Vues matérialisées et synonymes

SECTION III. DEVELOPPEMENT DE L'APPLICATION ET PRESENTATION DE L'APPLICATION

III.1. DEVELOPPEMENT DE L'APPLICATION

a) METHODES DE CONNEXION DE NETBEANS VERS ORACLE 11g R2

Fig. VI.10. Connexion Netbeans-Oracle

III.2. PRESENTATION DE L'APPLICATION

a) STRUCTURE GENERALE

Quand l'utilisateur lance l'application, la page d'accueil s'affiche lui présentant trois boutons menus :

§ Centre d'identification : pour l'OPS qui effectue l'enrôlement ;

§ Administration : menu concernant l'administrateur de la CENI ;

§ Quitter : pour fermer l'application.

Fig. VI.11. Page d'accueil application

Après avoir choisi son menu, une boite de dialogue s'affichera lui demandant de s'authentifier. C'est là qu'il va utiliser son identifiant et son mot de passe :

Fig. VI.12. Page d'accueil application

b) LES INTERFACES UTILISATEURS : OPS

Si les coordonnées de l'utilisateur ne sont pas vraies, un message d'erreur s'affiche lui notifiant de l'erreur ; ce, à trois reprises. A la troisième fois, le programme se ferme. Dès que les informations introduites sont correctes, la fenêtre d'enrôlement s'affiche comme suit :

Fig. VI.13. Interface Utilisateur - Saisie

c) LES INTERFACES ADMINISTRATEURS CENI : DBA_BL

A la page d'accueil, dès que c'est le deuxième menu choisi : « Administration », et que l'utilisateur s'authentifie, la page d'accueil-administrateur s'affiche avec trois sous-menus :

§ Gestion de la base de données : pour gérer les données recensées dans des centres d'inscription ;

§ Gestion centre d'inscription : consiste à gérer les données par centre ;

§ Gestions des utilisateurs : pour créer, modifier ou supprimer un utilisateur, définir ses droits et permissions sur les données et sur les objets.

C'est ainsi que la page en question se présente comme suit :

Fig. VI.14. Sous menu d'administration

Enfin, au premier sous menu, gestion de la base de données donc, nous aurons une fenêtre semblable à ceci :

Fig. VI.15. Interface Administrateur

CONCLUSION PARTIELLE

Nous avons en fin réalisé, notre projet, après toutes les démarches scientifiques nous imposées. Ce chapitre referme toutes les étapes parcourues pour la mise en place de notre travail. Il nous a permis d'exhiber les preuves de la fin dudit travail par la présentation des interfaces de toutes les étapes de réalisation de la base de données répartie.

CONCLUSION GENERALE

Notre projet se résume par la confirmation de notre hypothèse selon laquelle, la faisabilité était de réaliser une base de données répartie pour ésoudre les problèmes de cohérence, intégrité, sécurité de données, de coût de l'enrôlement et de la centralisation de données par la réplication symétrique asynchrone et la répartition de l'ensemble de données à travers le territoire national en République Démocratique du Congo.

Il nous a été absolu de rappeler les notions de bases de données et de bases de données réparties pour booster notre mémoire. L'étude du système existant à la CENI nous a permis de comprendre le déroulement de l'activité d'identification des électeurs, et à conclure pour une réorganisation du processus cible. L'évaluation de notre projet a descellé toutes les tâches à accomplir pour sa réalisation pendant une durée de 139 jours, à approximativement 107 348 700,00 FC, à peu près de 115 428,7097 USD. Ensuite, la conception de la base de données a valu l'intervention des techniques UML : le diagramme de séquence, cas d'utilisation et le diagramme de classes. En ce qui concernait la répartition de la base, nous avons utilisé la méthode de conception descendante, qui consiste à aller d'un schéma global vers plusieurs schémas internes locaux, en passant par le schéma d'allocation et celui de duplication.La fin a justifié le moyen.

L'informatique reste et restera toujours une solution pour fiabiliser et dynamiser l'activité de l'homme.

Ce travail a été pour nous à la fois, un sujet de recherche dans le domaine universitaire, et d'affirmation dans le monde professionnel. En effet cette expérience nous a permis de joindre l'utile à l'agréable en évaluant aussi bien les profondeurs théoriques que pratiques de ce vaste et passionnant domaine qu'est celui des bases de données réparties. D'un côté, ce projet nous a permis de nous familiariser avec le SGBD Oracle 11g R2, et d'un autre côté de comprendre la conception des bases de données avec UML.

Ainsi, tout étant une oeuvre humaine, les remarques et suggestions seront les bienvenues de notre part.

BIBLIOGRAPHIE

I. OUVRAGE :

1. Aurélien GILLET; Vladimir SVOBODA, Les bases de données réparties,Edition ENI, Paris, 2012.

2. Christian SOUTOU, SQL pour Oracle, applications avec Java, PHP et XML, Ed. EYROLLES, 3e édition, Paris, 2008.

3. Christian SOUTOU, UML2 pour les bases de données, Edition EYROLLES, Paris, 2002.

4. Clotilde ATTOUCHE, Oracle 11g - Exploitation, Société TELLORA, V1.2.

5. Fédération internationale des sociétés de la Croix-Rouge et du Croissant-Rouge, Planification du projet/programme, Manuel d'oriente, Ed. Stratégie2020, Genève, 2010.

6. Georges GARDARIN, Bases de données objet & relationnel, Edition EYROLLES, Paris, 2000.

7. Georges GARDARIN, Bases de données : les systèmes et leurs langages, Edition EYROLLES, Paris, 1996.

8. Georges GARDARIN, Bases de données, Edition EYROLLES, Paris 2001.

9. Gérard BUENO, BS, Conception méthodique des bases de données, Ed. Ellipses, Paris, 2008.

10. Gilles BRIARD, Oracle 10g sous Windows, Ed. EYROLLES, Paris 2006.

11. Gilles ROY, Conception de bases de données avec UML, Edition Presse de l'Université Québec, Québec, 2009.

12. H.P. Garnir et F. Monjoie, Introduction à l'informatique, - (c)U.Lg. New-York, 2006.

13. Hugues BERSINI, L'Orienté Objet, Cours et exercices UML2, Ed. EYROLLES, 3e édition, Paris, 2007.

14. Livre blanc Oracle, Oracle Database 11g Release 2 : Facilité de gestion et présentation de Real Application Testing, Inédit, California, 2009.

15. Razvan BIZOÏ, Oracle 10g - Administration, Ed. Tsoft EYROLLES,1ère édition, Paris, 2005.

16. Sincère F., Gestion des projets : Techniques de planification des projets, Ed QLIO, Bruxelles, 2011.

17. Stéphane CROZAT S., Conception de base de données, Edition SCENARI, Compiègne,2005.

II. COURS :

1. Cédric BUCHE, Cours de Programmation Orientée Objet (UML), Ecole Nationale d'Ingénierie de Breste Novembre 2013, Inédit.

2. Simon NTUMBA, Cours de base de données réparties, ESMICOM 2013-2014, L1 Info, Inédit.

3. Richard KITONDUA, Cours de Conception de système d'information II, ESMICOM 2014-2015, L2 Info, Inédit.

4. Eddy MEYLAN, Cours de Base de données II : Base de données répartie, Haute Ecole Supérieure de Suisse Occidentale 2013-2014, Informatique de gestion, Inédit.

5. Madame Sonia Rosaire MULUMBA, Cours d'Oracle 11g, ESMICOM 2014-2015, L2 INFO/ARGBD, Inédit.

6. Marcel MPOY Wa MPOY, Cours de méthodes d'analyse informatique, ISTIA/MBM 2011-2012, G3 Informatique de gestion, inédit.

7. Mr. MehrezBoulares, Mr.Nour Ben Yahia, Cours de système réparti, ISI KEF 2013-2014, Inédit.

8. RENE J. CHEVANCHE, Cours de bases de données distribuées et fédérées, CNAM - Mars 2003, Inédit.

9. Rim MOUSSA, Cours de système de gestion de base de données répartie et mécanisme de répartition avec Oracle, Ecole Supérieur de Technologie et Informatique/Carthage, Année Académique 2005-2006, Inédit.

III. WEBOGRAPHIE :

1. http://tice.univ-nc.nc/~taladoire/Pedagogie/RessourcesBD/EPFL/poly3_fichiers/15/15.html

2. http://www.google.net/projetinformatoque.html

3. http://www.memoireonline.com/02/11/4278/m_Conception-et-realisation-dune-base-de-donnees-repartie-sous-oracle--cas-de-lhebergement-d0.html.

4. http://www.peignotc-arqendra.net/gestiondeprojet/methodePERT/cours.pdf

5. http://www.uml.org

6. http://www-limbio.smbh.univ-paris13.fr/membres/hamon/BDA-20112012

TABLE DES MATIERES

EPIGRAPHE i

DEDICACE ii

REMERCIEMENTS iii

AVANT PROPOS iv

IN MEMORIUM v

ABBREVIATIONS UTILISÉES vi

TABLE DES FIGURES viii

TABLE DES TABLEAUX x

TABLE DES FORMULES xi

INTRODUCTION GENERALE 1

1. PRESENTATION DU PROJET 1

2. CHOIX ET INTERET DU SUJET 1

2.1. CHOIX 1

2.2. INTERETS 2

3. PROBLEMATIQUE 2

4. HYPOTHESES 2

5. METHODOLOGIE 3

5.1. METHODES 3

5.2. TECHNIQUES 3

7. SUBDIVISION DU TRAVAIL 4

Chapitre Premier : 5

NOTIONS SUR LES BASES DE DONNEES ET LES BASES DE DONNEES REPARTIES 5

INTRODUCTION 5

SECTION I. NOTIONS SUR LES BASES DE DONNEES 5

I.1. BASE DE DONNEES (BD) 5

a) DEFINITION 5

b) LES CRITERES D'UNE BD 6

I.2. SYSTEME DE GESTION DE BASES DE DONNEES (SGBD) 6

a) DEFINITION 6

b) LES OBJECTIFS D'UN SYSTEME DE GESTION DE BASES DE DONNEES 7

c) LES CARACTERISTIQUES DES SGBD 7

I.3. NIVEAU D'ABSTRACTION DES DONNEES 7

L'approche du rapport de Namur 8

L'approche du rapport de l'ANSI 8

I.4. STRUCTURATION DE DONNEES 9

a) LES MODELES HIERARCHIQUES ET RESEAUX 9

b) LES MODELES RELATIONNELS 9

c) LES MODELES ORIENTES OBJETS 10

1.5. LES BASES DE DONNEES AVANCEES 10

a) BD PARALLELE 10

b) BD FEDEREE 11

c) SYSTEME MULTIBASE 11

d) BD REPARTIE 11

SECTION II. NOTION SUR LES BASES DE DONNEES REPARTIES 11

II.1. GENERALITES SUR LES BASES DE DONNEES REPARTIES 11

a) EVOLUTION DES BDR 11

b) PRINCIPES DES BDR 13

c) UTILISATION D'UNE BDR 14

d) LA REPARTITION DES BASES DE DONNEES 15

e) ARCHITECTURE DES BDR 16

II.2. TECHNIQUES DE CONCEPTION ET DE GESTION DE BDR 17

a) METHODES DE CONCEPTION 17

b) LA FRAGMENTATION 19

c) TECHNIQUES DE REPARTITION AVANCEES 20

d) LA REPLICATION 21

e) GESTION DES DONNEES REPARTIES 23

f) LES TRANSACTIONS 24

CONCLUSION PARTIELLE 25

Chapitre deuxième : 26

ETUDE PREALABLE 26

INTRODUCTION 26

SECTION I. PRÉSENTATION ET ANALYSE DE LA STRUCTURE DU SYSTÈME EXISTANT (CENI) 26

I.1. HISTORIQUE 26

1. DE L'ETAT ET DE LA SOUVERAINETE 27

2. DES DROITS HUMAINS, DES LIBERTES FONDAMENTALES ET DES DEVOIRS DU CITOYEN ET DE L'ETAT 27

3. DE L'ORGANISATION ET DE L'EXERCICE DU POUVOIR 27

4. DE LA REVISION CONSTITUTIONNELLE 29

I.2. SITUATION GEOGRAPHIQUE 30

I.3. OBJECTIF 30

I.4. ORGANISATION 31

1. LES ORGANIGRAMMES DE LA CENI 31

2. DESCRIPTION DES ACTIVITÉS 32

SECTION II. ETUDE DE L'OPPORTUNITE 35

II.1. ANALYSE DES BESOINS 35

II.2. PRESENTATION DES SOLUTIONS 35

CONCLUSION

EPIGRAPHE i

DEDICACE ii

REMERCIEMENTS iii

AVANT PROPOS iv

IN MEMORIUM v

ABBREVIATIONS UTILISÉES vi

TABLE DES FIGURES viii

TABLE DES TABLEAUX x

TABLE DES FORMULES xi

INTRODUCTION GENERALE 1

1. PRESENTATION DU PROJET 1

2. CHOIX ET INTERET DU SUJET 1

2.1. CHOIX 1

2.2. INTERETS 2

3. PROBLEMATIQUE 2

4. HYPOTHESES 2

5. METHODOLOGIE 3

5.1. METHODES 3

5.2. TECHNIQUES 3

7. SUBDIVISION DU TRAVAIL 4

Chapitre Premier : 5

NOTIONS SUR LES BASES DE DONNEES ET LES BASES DE DONNEES REPARTIES 5

INTRODUCTION 5

SECTION I. NOTIONS SUR LES BASES DE DONNEES 5

I.1. BASE DE DONNEES (BD) 5

a) DEFINITION 5

b) LES CRITERES D'UNE BD 6

I.2. SYSTEME DE GESTION DE BASES DE DONNEES (SGBD) 6

a) DEFINITION 6

b) LES OBJECTIFS D'UN SYSTEME DE GESTION DE BASES DE DONNEES 7

c) LES CARACTERISTIQUES DES SGBD 7

I.3. NIVEAU D'ABSTRACTION DES DONNEES 7

L'approche du rapport de Namur 8

L'approche du rapport de l'ANSI 8

I.4. STRUCTURATION DE DONNEES 9

a) LES MODELES HIERARCHIQUES ET RESEAUX 9

b) LES MODELES RELATIONNELS 9

c) LES MODELES ORIENTES OBJETS 10

1.5. LES BASES DE DONNEES AVANCEES 10

a) BD PARALLELE 10

b) BD FEDEREE 11

c) SYSTEME MULTIBASE 11

d) BD REPARTIE 11

SECTION II. NOTION SUR LES BASES DE DONNEES REPARTIES 11

II.1. GENERALITES SUR LES BASES DE DONNEES REPARTIES 11

a) EVOLUTION DES BDR 11

b) PRINCIPES DES BDR 13

c) UTILISATION D'UNE BDR 14

d) LA REPARTITION DES BASES DE DONNEES 15

e) ARCHITECTURE DES BDR 16

II.2. TECHNIQUES DE CONCEPTION ET DE GESTION DE BDR 17

a) METHODES DE CONCEPTION 17

b) LA FRAGMENTATION 19

c) TECHNIQUES DE REPARTITION AVANCEES 20

d) LA REPLICATION 21

e) GESTION DES DONNEES REPARTIES 23

f) LES TRANSACTIONS 24

CONCLUSION PARTIELLE 25

Chapitre deuxième : 26

ETUDE PREALABLE 26

INTRODUCTION 26

SECTION I. PRÉSENTATION ET ANALYSE DE LA STRUCTURE DU SYSTÈME EXISTANT (CENI) 26

I.1. HISTORIQUE 26

1. DE L'ETAT ET DE LA SOUVERAINETE 27

2. DES DROITS HUMAINS, DES LIBERTES FONDAMENTALES ET DES DEVOIRS DU CITOYEN ET DE L'ETAT 27

3. DE L'ORGANISATION ET DE L'EXERCICE DU POUVOIR 27

4. DE LA REVISION CONSTITUTIONNELLE 29

I.2. SITUATION GEOGRAPHIQUE 30

I.3. OBJECTIF 30

I.4. ORGANISATION 31

1. LES ORGANIGRAMMES DE LA CENI 31

2. DESCRIPTION DES ACTIVITÉS 32

SECTION II. ETUDE DE L'OPPORTUNITE 35

II.1. ANALYSE DES BESOINS 35

II.2. PRESENTATION DES SOLUTIONS 35

CONCLUSION PARTIELLE 36

Chapitre troisième : 37

EVALUATION DU PROJET 37

INTRODUCTION 37

SECTION I. LA PLANIFICATION 38

I.1. DEFINITION DE LA PLANIFICATION 38

I.2. LE DECOUPAGE DU PROJET 38

I.3. L'ORDONNANCEMENT DES TACHES 38

I.4. ELABORATION DU TABLEAU D'AVANCEMENT DES TACHES 39

SECTION II. CADRAGE DU PROJET 39

II.1. CHOIX DE LA METHODE D'ORDONNANCEMENT 39

II.2. PRESENTATION DE LA METHODE PERT 40

II.3. CONTRAINTES DE REPRESENTATION GRAPHIQUE 40

II.4. EVALUATION PROPREMENT DITE 41

II.5. GRAPHE BRUT 42

II.8. CALCUL DES RANGS 43

II.9. GRAPHE ORDONNE 44

SECTION III. EXPLOITATION DU PROJET 45

3.1. CALCUL DES DATES AU PLUS TOT ET DATES AU PLUS TARD 45

a. DATES AU PLUS TOT (DTO) 45

b. DATES AU PLUS TARD (DTA) 47

3.2. CALCUL DES MARGES 50

a. MARGE LIBRE (ML(i)) 50

b. MARGE TOTALE (MT(i)) 50

c. DETERMINATION DU CHEMIN CRITIQUE 51

d. TABLEAUX DES RESULTATS 52

e. PRESENTATION DES RESULTATS 53

CONCLUSION PARTIELLE 53

Chapitre Quatrième : 54

MODELISATION DE LA BASE DE DONNEES 54

INTRODUCTION 54

SECTION I. PRESENTATION DU LANGAGE UNIFIE DE MODELISATION (UML) 54

I.1. LA CONCEPTION ORIENTEE OBJET (COO) 54

I.2. UNIFIED MODELING LANGAGE (UML) 55

a. LES OBJECTIFS D'UML 56

b. STRUCTURE D'UN SYSTEME MODELISE EN UML 56

SECTION II. MODELISATION DE LA BASE DE DONNEE 57

II.1. DIAGRAMME CAS D'UTILISATION 57

II.1.1. ELEMENTS DU DIAGRAMME DES CAS D'UTILISATION 58

II.1.2. RELATIONS DANS LES DIAGRAMMES DE CAS D'UTILISATION 58

II.1.3. PRESENTATION DU DIAGRAMME DE CAS D'UTILISATION 60

II.1.4. DESCRIPTION DE SCENARIO 61

II.2. DIAGRAMME DE SEQUENCES 63

II.2.1. DEFINITION DE CONCEPTS DU DIAGRAMME 63

II.2.2. PRESENTATION DES DIAGRAMMES DE SEQUENCE 64

II.3. DIAGRAMME DE CLASSES 71

II.3.1. DESCRIPTION 71

II.3.2. ASSOCIATION 72

II.3.4. GENERALISATION ET HERITAGE 73

II.3.5. ENCAPSULATION 75

II.3.6. PRESENTATION DU DIAGRAMME DE CLASSE 76

CONCLUSION PARTIELLE 76

Chapitre Cinquième : 77

LA REPARTITION DE DONNEES AVEC ORACLE 77

INTRODUCTION 77

SECTION I. ORACLE : OBJETS & ARCHITECTURE 78

I.1. STRUCTURES LOGIQUES DE LA BD 79

I.2. STRUCTURES PHYSIQUES DE LA BD 81

I.3. STRUCTURES DE MEMOIRE 81

I.4. PROCESSUS D'ARRIERE-PLAN 82

I.5. DEROULEMENT DE TRAITEMENT D'UN ORDRE SQL 83

SECTION II. LA REPARTITION DE DONNEES 84

II.1. ORACLE EN RESEAU 84

a) ORACLE NET SERVICE 84

b) TRANSPARENT NETWORK SUBSTRATE (TNS) 84

c) COMMUNICATION ENTRE BASES DE DONNEES 85

d) IDENTIFICATION DES OBJETS 85

II.2. LES LIENS DE BASES DE DONNEES 85

II.3. TRANSPARENCE D'EMPLACEMENT 85

II.3.1. VUES 86

II.3.2. SYNONYMES 86

II.4. MISE AU POINT DES REQUETES DISTRIBUEES 86

I.5.1. COLLOCATED INLINE VIEWS 87

I.6. REPLICATION DES DONNEES 87

I.6.1. COMMANDE COPY 87

I.6.2. SNAPSHOTS 87

I.6.3. VUES MATERIALISEES 87

SECTION III. ECRITURE RELATIONNELLE DE LA REPARTITION DESCENDANTE 88

III.1. SCHEMA GLOBAL DE LA BASE DE DONNEES 88

III.2. SCHEMA DE REPARTITION OU D'ALLOCATION 89

JOINTURE DES CLASSES 91

III.3. SCHEMA DE DUPLICATION OU DE REPLICATION 91

III.4. SCHEMA INTERNE LOCAL 91

CONCLUSION PARTIELLE 92

Chapitre Sixième : 93

IMPLEMENETATION 93

INTRODUCTION 93

SECTION I. PRESENTATION DESCRIPTION DES OUTILS DE DEVELOPPEMENT 94

I.1. ORACLE 94

I.2. NETBEANS IDE (Integrated Development Environment) 95

I.3. JAVA 95

I.4. JDBC (Java DataBase Connectivity) 96

5.2. CREATION DES BASES DE DONNEES 96

SECTION II. IMPLEMENTATION DE LA BASE DE DONNEES REPATIES 97

II.1. CONFIGURATION DE LA CONNEXION RESEAU ENTRE LE SERVER ET LES SITES 98

II.2. CONFIGURATION NET MANAGER 98

a) SITES : listener 98

b) SERVER : service_name 98

II.3. CREATION DES UTILISATEURS ET DE TABLES 99

a) CREATION DES ROLES 99

b) CREATION DES UTILISATEURS 100

c) CREATION DES TABLES 101

II.4. CREATION DES LIENS ET SYNONYMES SUR SITES 102

II.5. CREATION DES VUES MATERIALISEES SUR SERVER 102

SECTION III. DEVELOPPEMENT DE L'APPLICATION ET PRESENTATION DE L'APPLICATION 103

III.1. DEVELOPPEMENT DE L'APPLICATION 103

a) METHODES DE CONNEXION DE NETBEANS VERS ORACLE 11g R2 103

III.2. PRESENTATION DE L'APPLICATION 104

a) STRUCTURE GENERALE 104

b) LES INTERFACES UTILISATEURS : OPS 105

c) LES INTERFACES ADMINISTRATEURS CENI : DBA_BL 105

CONCLUSION PARTIELLE 106

CONCLUSION GENERALE 107

BIBLIOGRAPHIE 108

TABLE DES MATIERES 110

PARTIELLE 36

Chapitre troisième : 37

EVALUATION DU PROJET 37

INTRODUCTION 37

SECTION I. LA PLANIFICATION 38

I.1. DEFINITION DE LA PLANIFICATION 38

I.2. LE DECOUPAGE DU PROJET 38

I.3. L'ORDONNANCEMENT DES TACHES 38

I.4. ELABORATION DU TABLEAU D'AVANCEMENT DES TACHES 39

SECTION II. CADRAGE DU PROJET 39

II.1. CHOIX DE LA METHODE D'ORDONNANCEMENT 39

II.2. PRESENTATION DE LA METHODE PERT 40

II.3. CONTRAINTES DE REPRESENTATION GRAPHIQUE 40

II.4. EVALUATION PROPREMENT DITE 41

II.5. GRAPHE BRUT 42

II.8. CALCUL DES RANGS 43

II.9. GRAPHE ORDONNE 44

SECTION III. EXPLOITATION DU PROJET 45

3.1. CALCUL DES DATES AU PLUS TOT ET DATES AU PLUS TARD 45

a. DATES AU PLUS TOT (DTO) 45

b. DATES AU PLUS TARD (DTA) 47

3.2. CALCUL DES MARGES 50

a. MARGE LIBRE (ML(i)) 50

b. MARGE TOTALE (MT(i)) 50

c. DETERMINATION DU CHEMIN CRITIQUE 51

d. TABLEAUX DES RESULTATS 52

e. PRESENTATION DES RESULTATS 53

CONCLUSION PARTIELLE 53

Chapitre Quatrième : 54

MODELISATION DE LA BASE DE DONNEES 54

INTRODUCTION 54

SECTION I. PRESENTATION DU LANGAGE UNIFIE DE MODELISATION (UML) 54

I.1. LA CONCEPTION ORIENTEE OBJET (COO) 54

I.2. UNIFIED MODELING LANGAGE (UML) 55

a. LES OBJECTIFS D'UML 56

b. STRUCTURE D'UN SYSTEME MODELISE EN UML 56

SECTION II. MODELISATION DE LA BASE DE DONNEE 57

II.1. DIAGRAMME CAS D'UTILISATION 57

II.1.1. ELEMENTS DU DIAGRAMME DES CAS D'UTILISATION 58

II.1.2. RELATIONS DANS LES DIAGRAMMES DE CAS D'UTILISATION 58

II.1.3. PRESENTATION DU DIAGRAMME DE CAS D'UTILISATION 60

II.1.4. DESCRIPTION DE SCENARIO 61

II.2. DIAGRAMME DE SEQUENCES 63

II.2.1. DEFINITION DE CONCEPTS DU DIAGRAMME 63

II.2.2. PRESENTATION DES DIAGRAMMES DE SEQUENCE 64

II.3. DIAGRAMME DE CLASSES 71

II.3.1. DESCRIPTION 71

II.3.2. ASSOCIATION 72

II.3.4. GENERALISATION ET HERITAGE 73

II.3.5. ENCAPSULATION 75

II.3.6. PRESENTATION DU DIAGRAMME DE CLASSE 76

CONCLUSION PARTIELLE 76

Chapitre Cinquième : 77

LA REPARTITION DE DONNEES AVEC ORACLE 77

INTRODUCTION 77

SECTION I. ORACLE : OBJETS & ARCHITECTURE 78

I.1. STRUCTURES LOGIQUES DE LA BD 79

I.2. STRUCTURES PHYSIQUES DE LA BD 81

I.3. STRUCTURES DE MEMOIRE 81

I.4. PROCESSUS D'ARRIERE-PLAN 82

I.5. DEROULEMENT DE TRAITEMENT D'UN ORDRE SQL 83

SECTION II. LA REPARTITION DE DONNEES 84

II.1. ORACLE EN RESEAU 84

a) ORACLE NET SERVICE 84

b) TRANSPARENT NETWORK SUBSTRATE (TNS) 84

c) COMMUNICATION ENTRE BASES DE DONNEES 85

d) IDENTIFICATION DES OBJETS 85

II.2. LES LIENS DE BASES DE DONNEES 85

II.3. TRANSPARENCE D'EMPLACEMENT 85

II.3.1. VUES 86

II.3.2. SYNONYMES 86

II.4. MISE AU POINT DES REQUETES DISTRIBUEES 86

I.5.1. COLLOCATED INLINE VIEWS 87

I.6. REPLICATION DES DONNEES 87

I.6.1. COMMANDE COPY 87

I.6.2. SNAPSHOTS 87

I.6.3. VUES MATERIALISEES 87

SECTION III. ECRITURE RELATIONNELLE DE LA REPARTITION DESCENDANTE 88

III.1. SCHEMA GLOBAL DE LA BASE DE DONNEES 88

III.2. SCHEMA DE REPARTITION OU D'ALLOCATION 89

JOINTURE DES CLASSES 91

III.3. SCHEMA DE DUPLICATION OU DE REPLICATION 91

III.4. SCHEMA INTERNE LOCAL 91

CONCLUSION PARTIELLE 92

Chapitre Sixième : 93

IMPLEMENETATION 93

INTRODUCTION 93

SECTION I. PRESENTATION DESCRIPTION DES OUTILS DE DEVELOPPEMENT 94

I.1. ORACLE 94

I.2. NETBEANS IDE (Integrated Development Environment) 95

I.3. JAVA 95

I.4. JDBC (Java DataBase Connectivity) 96

5.2. CREATION DES BASES DE DONNEES 96

SECTION II. IMPLEMENTATION DE LA BASE DE DONNEES REPATIES 97

II.1. CONFIGURATION DE LA CONNEXION RESEAU ENTRE LE SERVER ET LES SITES 98

II.2. CONFIGURATION NET MANAGER 98

a) SITES : listener 98

b) SERVER : service_name 98

II.3. CREATION DES UTILISATEURS ET DE TABLES 99

a) CREATION DES ROLES 99

b) CREATION DES UTILISATEURS 100

c) CREATION DES TABLES 101

II.4. CREATION DES LIENS ET SYNONYMES SUR SITES 102

II.5. CREATION DES VUES MATERIALISEES SUR SERVER 102

SECTION III. DEVELOPPEMENT DE L'APPLICATION ET PRESENTATION DE L'APPLICATION 103

III.1. DEVELOPPEMENT DE L'APPLICATION 103

a) METHODES DE CONNEXION DE NETBEANS VERS ORACLE 11g R2 103

III.2. PRESENTATION DE L'APPLICATION 104

a) STRUCTURE GENERALE 104

b) LES INTERFACES UTILISATEURS : OPS 105

c) LES INTERFACES ADMINISTRATEURS CENI : DBA_BL 105

CONCLUSION PARTIELLE 106

CONCLUSION GENERALE 107

BIBLIOGRAPHIE 108

TABLE DES MATIERES 110

* 1 GARDARIN G., Bases de données objet & relationnel, Edition EYROLLES, Paris, 2000, page 3-4

* 2 ROY G., Conception de bases de données avec UML, Edition Presse de l'Université Québec, Québec, 2009, p.2

* 3 CROZAT S., Conception de base de données, Edition SCENARI, Compiègne, 2005, p.21

* 4 MPOY WA MPY M., Cours de Méthode d'analyse informatique II, ISTIA/MBM 2011-2012, G3 Informatique de gestion, Inédit, p.7.

* 5 ROY G., Op. cit., p.2

* 6 ROY G., Bases de données, Edition Eyrolles, Paris, 2001, pp. 8-12

* 7 SOUTOU C., UML2 pour les Bases de données, Ed. Eyrolles, Paris, 2002, p.08.

* 8 SOUTOU C., Op. cit., p.08.

* 9Idem, p.09.

* 10 ROY G., Op. cit., pp. 14-15.

* 11ROY G., Op. cit., pp. 15-16

* 12Idem, pp. 16-17

* 13 CHEVANCHE J. R., Cours de bases de données distribuées et fédérées, CNAM - Mars 2003, Inédit, p. 29.

* 14 Idem, p. 30.

* 15 Mr. Mehrez Boulares, Mr. Nour Ben Yahia, Cours de système réparti, ISI KEF 2013-2014, Inédit., p. 14

* 16 MOUSSA R., Cours de système de gestion de base de données répartie et mécanisme de répartition avec Oracle, Ecole Supérieur de Technologie et Informatique/Carthage, Année Académique 2005-2006, Inédit, p. 12.

* 17 Idem, p. 14.

* 18MEYLAN E., Cours de Base de données II : Base de données répartie, Haute Ecole Supérieure de Suisse Occidentale 2013-2014, Informatique de gestion, Inédit, p. 33

* 19NTUMBA S., Cours de base de données répartie, ESMICOM 2013-2014, L1 Info, Inédit, p. 56.

* 20NTUMBA S., Op. cit, p. 60.

* 21 MOUSSA R., Op. cit., p. 25.

* 22 Idem.

* 23 http://tice.univnc.nc/~taladoire/Pedagogie/RessourcesBD/EPFL/poly3_fichiers/15/15.html. 20 février 2015.

* 24 http://www.memoireonline.com/02/11/4278/m_Conception-et-realisation-dune-base-de-donnees-repartie-sous-oracle--cas-de-lhebergement-d0.html. 22 février 2015.

* 25Aurélien G. & Vladimir S., Les bases de données réparties, Edition ENI, Paris, 2010, p. 144.

* 26 Idem.

* 27 Ibidem.

* 28 MOUSSA R., Op.cit, p. 31.

* 29NTUMBA S., Op.cit, pp. 61-62.

* 30 Idem.

* 31NTUMBA S., Op.cit., p. 62.

* 32 Idem.

* 33 MOUSSA R., Op.cit., p. 34.

* 34 www.memoireonline.com/02/11/4278/m_Conception-et-realisation-dune-base-de-donnees-repartie-sous-oracle--cas-de-lhebergement-d0.html. Le 02 mars 2015.

* 35 MOUSSA R., Op.cit., p. 40.

* 36 Fédération internationale des sociétés de la Croix-Rouge et du Croissant-Rouge, Planification du projet/programme, Manuel d'oriente, Ed. STRATEGIE2020, GENEVE, 2010, p.13

* 37 Sincère F., Gestion des projets : Techniques de planification des projets, Ed QLIO, Bruxelles, 2011, p. 31.

* 38 http://www.google.net/projetinformatique.html. Le08 avril 2015

* 39 BASOSILA B., Cours de Méthodes de conduite de projets informatiques, ESMICOM 2015, L2 INFO, Inédit, p. 56.

* 40 Fédération internationale des sociétés de la Croix-Rouge et du Croissant-Rouge, Op. cit., p.17.

* 41BASOSILA B., Op. cit., p. 60.

* 42MVUMBI PUATI Z.V., Cours d'Elément de recherche opérationnelle, L1 info, ULK/KIN, 2010-2011, Inédit.

* 43 http://www.peignotc-arqendra.net/gestiondeprojet/methodePERT/cours.pdf Le 04 avril 2015.

* 44 Idem.

* 45 BUENO G., BS, Conception méthodique des bases de données, Ed. ELLIPSES, Paris, 2008, p.10

* 46 H.P. Garnir et F. Monjoie, Introduction à l'informatique, - (c)U.Lg., Paris, 2006, pp. 24-26

* 47KITONDUA R., Cours de Conception de système d'information II, L2 ARGBD, ESMICOM 2014-2015, Inédit, p. 7.

* 48 BUCHE C., Cours de Programmation Orientée Objet (UML), Ecole Nationale d'Ingénierie de Breste Novembre 2013, Inédit, pp. 24-25.

* 49 http://www.uml.org/Le 29 avril 2015.

* 50 http://www.uml.org/Le 29 avril 2015.

* 51 Idem.

* 52SOUTOU C., UML 2 pour les bases de données, Ed. EYROLLES, Paris, 2002, p.15.

* 53 BERSINI H., L'Orienté Objet, Cours et exercices UML2, Ed. EYROLLES, 3e édition, Paris, 2007, p.162

* 54 GARDARIN G., Bases de données, Ed. EYROLLES, Paris, 2001, p.15.

* 55 ROY G., Conception de bases de données avec UML, Edition Presse de l'Université Québec, Québec, 2009, p.26

* 56 SOUTOU C., Op.cit., p.26

* 57 SOUTOU C., Op.cit., p.27

* 58 http://www.uml.org/ Le 30 avril 2015.

* 59 SOUTOU C., Op.cit., p.28

* 60KITONDUA R., Op.cit., p.12.

* 61 BUCHE C., Op.cit., p.32.

* 62 SOUTOU C., Op.cit., p. 83.

* 63 Idem, p. 84

* 64 Ibidem.

* 65 SOUTOU C., Op.cit., p. 84.

* 66 Livre blanc Oracle, Oracle Database 11g Release 2 : Facilité de gestion et présentation de Real Application Testing, Inédit, California, Août 2009, p. 122.

* 67 ATTOUCHE C., Oracle 11g - Exploitation, Société TELLORA, Berlin, 2010, p.28.

* 68 SOUTOU C., SQL pour Oracle, applications avec Java, PHP et XML, Ed. EYROLLES, 3e édition, Paris 2008, p. 193.

* 69 http://www-limbio.smbh.univ-paris13.fr/membres/hamon/BDA-20112012. Le 02 mai 2015.

* 70 Idem.

* 71 BRIARD G., Oracle 10g sous Windows, Ed. EYROLLES, Paris 2006, pp. 611-612

* 72 Madame MULUMBA R. S., Cours d'Oracle 11g, ESMICOM 2014-2015, L2 INFO/ARGBD, Inédit.

* 73 BIZOÏ R., Oracle 10g - Administration, Ed. Tsoft Eyrolles, 1ère édition, Paris 2005. p. 74

* 74 MOUSSA R., Op.cit., p. 45.

* 75 SOUTOU C., Op.cit., p.221

* 76 Idem, p.237






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il ne faut pas de tout pour faire un monde. Il faut du bonheur et rien d'autre"   Paul Eluard