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

Etude d'une réplication symétrique asynchrone dans une base de données répartie. Application à  l'enrôlement des électeurs


par Djedje NKONGOLO
Université de Kinshasa - Licence 2011
Dans la categorie: Informatique et Télécommunications
   
Télécharger le fichier original

Disponible en mode multipage

EPIGRAPHIE

« Si tu n'arrives pas à marcher sur la terre, ne rêve jamais de courir sur la lune »

Proverbe africain

IN MEMORIAM

A mon feu oncle paternel  Justin MUKENDI MWAMBA KABONDO Joad à qui j'ai beaucoup de l'estime pour tout ce qu'il avait toujours fait pour moi il y a dès cela dix ans alors que son âme continue à reposer en paix.

A mes feux grands parents : KAPENA MUSAMPA, KANKU MAMPUYA, MUKUNA RAPHAEL, Fidèle KALEKA pour m'avoir donné des parents si aimables, gentils et compétents, veillant toujours à mon éducation que leurs âmes reposent en paix à jamais.

DEDICACE

A Dieu  soit rendue la gloire.

A mes parents : Donatien MULAMBA MPOYI Elie et Marthe NTANGA NGALULA Marie pour tout l'amour et les sacrifices consentis pour mon éducation, vos sages conseils ont fait de moi une personne respectueuse dans ce monde.

A mes frères et soeurs : Pépin KAPENA, Abel MUTOMBO, Jordan MWANZA, Naomi MPEMBA, Ramia MULAMBA, Prisca NGALULA pour tant d'affectation et attachement dont vous avez témoignés à mon égard.

A mes neveux et nièces : Ma joie ILUNGA, Daniel KABUYA, Marthe NTANGA, Blessing KAPENA, La Précieuse MPEMBA, Djovinah BIABOLA.

A mes cousin(e)s, tantes, Oncles, belles soeurs : Mea gloria MUKENDI, Grâce KUKIMUNU, Ma joie MPONGO, Dieu Donné KANTSHESSA, Maman BIBOMBA, Joseph KASONGO, Patience MULANGA, Joëlle MUSHIYA, Sarah BIJANU, Naomi BIBOMBA, Isaac KALAMBI, Colonel François KALONJI, Marie NKULA, Maman BIABOLA, Djony TSHAMULANGA, B. Davis INGA, Valentin KABONGO, M. Fubu MULAMBA, M. Volcan BANZA, Mamou MUSUAMBA, Mireille OMOY, Dorcas SAMBA, Vinah MWADI et autres de leur assistance.

A tous, nous dédions ce travail.

AVANT - PROPOS

Le couronnement de nos efforts a été possible grâce à la contribution de plusieurs personnes. De prime à bord nous rendons grâce à DIEU tout puissant qui a bien voulu nous donner le souffle de vie.

A toutes les autorités académiques et au corps professoral pour l'encadrement à notre formation.

Nos remerciements s'adressent au Professeur PUNGA KUMANENGE Doyen de la faculté des Sciences, au professeur Léonard MANYA NDJADI Vice-Doyen de la faculté des Sciences, au professeur MUBENGA KAMPOTU Chef du Département des Mathématiques et Informatique, à tous les professeurs, chefs de travaux et assistants du Département des Mathématiques et Informatique.

Que le Professeur Eugène MBUYI MUKENDI trouve ici nos sentiments de référence car en dépit de ses multiples occupations à bien voulu accepter d'assurer la direction du présent travail et au Chef des Travaux Pierre KAFUNDA qui, ses remarques et orientations scientifiques ont donné à cette étude la forme qu'elle revêt présentement.

Nous n'allons pas passer cette étape sans pour autant remercier Monsieur Yves KOTA qui nous a beaucoup aidé avec les données qui constituent l'objet du présent travail.

A mes ami(e)s et connaissances : Erick MAMBINZI, Grâce KITIAKA, 2Kaz KAZADI, Didel NSONGA, Bruce MAZUNDA, Papy LUSHIMA, Brady MALEMBE, Nina KANGALA, Fresty MAUTU, Charry NSASI, Jireh IKOLI, Anthony MULUMBA, Olivier BUYAMA, Ruddy NDOMA, Glody Parker NSILULU, Michael TALUSHIMA, Morgan DHANDU, Ali Djogo BUANA, Kam's KANYINDA, Bill MADUDA, Pape KAMAKONDI, Lilya MULEKO, Emilien DIABONDA, Patrick MONDOMBA, Yves KATSIAKA, Fanny WUMBA, Marie France TSHIBOLA, Laetitia MASENGU pour tous les moments de joie partagés, leurs attachements et estime en ma personne.

Nous remercions, tous ceux qui ont contribué de loin ou de près à la matérialisation de ce travail et dont nous avons oublié de citer leurs noms trouvent à travers cette ligne l'expression de notre sincère reconnaissance.

LISTE DES ABREVIATIONS

MCD : Modèle Conceptuel de Données

MLD : Modèle Logique de Données

MPD : Modèle Physique de Données

CENI : Commission Electorale Nationale et Indépendante

CI : Centre d'Inscription

RDC : République Démocratique du Congo

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

SGBDR : Système de Gestion de Base de Données Réparties

SQL : Structured Query Language

DBMS : Data Base Management System

LMD : Langage de Manipulation de données

IBM : International Business Machines

FTP : File Transfer Protocol

HTTP : Hypertext Transfer Protocol

SMTP : Simple Message Transfer Protocol

BCCE : Banque Congolaise du Commerce Extérieure

LISTE DES FIGURES

Figure I. 1. Approche Descendante

Figure I. 2. Approche Ascendante

Figure I. 3. Fragmentation Horizontale

Figure I. 4. Fragmentation Verticale

Figure I. 5. SGBD Hiérarchique

Figure I. 6. SGBD Réseau

Figure I. 7. SGBD Relationnel

Figure I. 8. SGBDR Homogène

Figure I. 9. SGBDR Hétérogène

Figure II. 1. Architecture à deux-tiers

Figure II. 2. Architecture à trois-tiers

Figure III. 1. Réplication Asymétrique Synchrone

Figure III. 2. Réplication Asymétrique Asynchrone

Figure III. 3. Réplication Symétrique Synchrone

Figure III. 4. Réplication Symétrique Asynchrone

Figure IV. 1. Topologie de la Configuration de la Réplication

INTRODUCTION

1. Généralités

Le processus électoral en République démocratique du Congo exige à ce jour une révision du fichier électoral. De la qualité de ce fichier dépendent, en grande partie, la crédibilité, la transparence et l'appropriation, par les différents acteurs, des résultats qui sortiront des urnes. Dans cette perspective et en prélude aux prochaines élections locales et générales, la CENI s'apprête à mettre à jour le fichier électoral notamment par la prise en compte les congolais remplissant les conditions requises par les textes en vigueur.

Aujourd'hui, la haute disponibilité des données est un problème récurrent dans le monde de l'informatique en général, et des Systèmes de Gestion de Bases de données Répartis en particulier. La réplication consiste à copier les informations d'une base de données à une autre et vice-versa. Les copies effectuées doivent être les différentiels, de façon à obtenir deux bases de données identiques sur les sites distants reliés par ces opérations.

La réplication qui est un processus de partage d'informations pour assurer la cohérence de données entre plusieurs sources de données redondantes répondant à ces exigences. Elle améliore la fiabilité des dites données, la tolérance aux pannes et l'accessibilité.

La Commission Electorale Nationale et Indépendante « CENI » possède plusieurs serveurs dont de mail(ou messagerie), de web, d'applications et des bases de données et c'est dans ce dernier où sont stockées les bases de données utilisées pour les opérations d'identification et d'enrôlement des électeurs. La CENI possède en dehors de son siège central en ville province de Kinshasa, des sites locaux dans différentes provinces de la RDC y compris dans cette dernière qui, effectuent leurs opérations dans des bases locales lors des opérations d'identification et d'enrôlement des électeurs dont les données doivent être transférées après au siège central. C'est dans cette optique que nous sommes appelés à mettre en place un système de réplication qui facilitera le transfert des données.

Le but du présent travail est de permettre aux lecteurs de comprendre le concept général de « réplication » et de démontrer les avantages qu'offre ce système non moins gourmand en ressources matérielles et logicielles, mais efficace.

La réplication présente des avantages différents selon le type de réplication et les options choisies, mais l'intérêt général de la réplication est la disponibilité des données à tout moment et à travers divers sites distants.

En général, la réplication comprend les étapes suivantes : configuration de la réplication, génération et application de la capture instantanée initiale, modification des données répliquées, puis synchronisation et propagation des données.

2. Problématique

Nous cherchons à mettre en place une technique de réplication pour la gestion des opérations d'identification et d'enrôlement des électeurs à la Commission Electorale Nationale et Indépendante « CENI-Kinshasa ».

Les questions fondamentales seront de savoir :

ü Serait-il possible de configurer une réplication à temps différé entre différents sites rapprochés et enfin celui du central ?

ü Si c'est possible, alors quelle est la démarche à suivre ?

ü Et dans le cas des opérations concurrentes, comment gérer la cohérence des données dans ce système ?

Elle pose directement le problème d'un retour sur investissement, même si l'investissement a des chances de ne jamais être consommé (absence d'incident).

3. Hypothèse du Sujet

L'usage de la réplication dans cette entreprise pour la gestion des opérations d'identification et d'enrôlement des électeurs apportera certes, des maints avantages non seulement de la disponibilité, confidentialité et intégrité des données en permanence dans différents sites mais aussi, l'allègement de dépenses en énergie de son personnel dans la réalisation des tâches hebdomadaires.

4. Choix du Sujet

Concernant la réalisation de notre travail de fin d'étude du second cycle en sciences informatiques, la gestion des opérations d'identification et d'enrôlement des électeurs a retenu notre attention. Ainsi, le sujet de notre réflexion scientifique se présente comme suit : « Etude de la Réplication Symétrique Asynchrone dans une base de données répartie. Application à l'enrôlement des électeurs ».

5. Intérêt du Sujet

Notre travail a pour objet de mettre en place une technique de réplication des données sur la gestion des opérations d'identification et d'enrôlement des électeurs de la CENI, afin de proposer un logiciel d'application, de permettre à chaque électeur de voter peu importe l'endroit où il va se trouver.

6. Délimitation du Sujet

Tout travail qui se veut scientifique doit être délimité et dans le temps et dans l'espace. Nous avons circonscrit ce travail selon deux approches :

Ø Dans l'approche temporelle, notre étude couvre une période d'une année qui est de 2011.

Ø Quant à l'approche spatiale, la CENI sous étude est localisée géographiquement dans la ville province de Kinshasa, précisément sur le boulevard du 30 juin occupant le bâtiment ex. BCCE en face de l'ONATRA et à proximité de la gare centrale

7. Méthodes et Techniques utilisées

Il y a lieu souvent de noter la confusion qui existerait dans l'emploi de ces deux concepts « méthodes et techniques ».

Pour ce qui nous concerne, nonobstant la confusion constatée, nous avons utilisé la méthode de traitement automatique basée sur la création de logiciel adéquat. Et en ce qui concerne les techniques utilisées, nous avons fait recours aux techniques documentaires et interview.

Quant aux techniques documentaires, nous avons consulté toute la documentation liée à la gestion des opérations d'identification et d'enrôlement des électeurs.

8. Subdivision du Travail

En plus de l'introduction et la conclusion pour un bon traitement de notre sujet, nous l'avons articulé autour de deux axes :

1ère Partie : CONCEPTS THEORIQUES

Chapitre I : Bases de données Réparties et SGBD Répartis (Ce chapitre porte sur les concepts théoriques des bases de données Système de gestion de base de données, Bases de données Réparties et Système de gestion de base de données Réparti)

Chapitre II : Architecture Client-Serveur (Ce chapitre aborde les théories sur les types d'architectures client)

Chapitre III : Réplication des données

2ème Partie : IMPLEMENTATON DU SYSTEME ET APPLICATION

Chapitre IV : Présentation de l'entreprise

Chapitre V : Implémentation du système de réplication et Application

PREMIERE PARTIE :

CONCEPTS THEORIQUES

CHAPITRE I : BASE DE DONNEES REPARTIES ET SGBD Répartis [3][6][7][9][10]

I.1. INTRODUCTION AUX BASES DE DONNEES

I.1.1. DÉFINITION

a) Une base de données :

ü Est l'ensemble cohérent, intégré et partagé des informations nécessaire au fonctionnement de l'entreprise.

ü Est une grande quantité des données, centralisée ou non, servant pour des besoins d'un ou de plusieurs applications interrogeables et modifiables par un groupe d'utilisateur travaillant en parallèle.

b) Une base de données informatisée :

Est un ensemble structuré de données enregistrées sur des supports accessibles par l'ordinateur pour satisfaire simultanément plusieurs utilisateurs de manière sélective en un temps opportun.

I.1.2. CARACTÉRISTIQUES D'UNE BASE DE DONNÉES

Une base de données étant une collection de données est caractérisée par :

L'intégrité

La sécurité

La confidentialité

La concurrence

L'intégrité :

Les données enregistrées dans la base de données doivent respecter un certain nombre des contraintes d'intégrité et assurer le respect de celles-ci.

La sécurité :

La base de données doit être restaurée après une panne qui soit d'origine logicielle ou matérielle par le SGBD.

La concurrence :

La base de données doit être cohérente lorsque plusieurs transactions se font et lorsque plusieurs utilisateurs se partagent la même base de données.

La confidentialité :

Le SGBD doit permettre d'interdire à certaines personnes de réaliser certaines opérations sur une partie ou toute la base de données.

I.1.3. UTILITÉ D'UNE BASE DE DONNÉES

Une base de données permet de stocker de données de façon structurée et avec le moins de redondance possible. Il permet de mettre des données à la disposition de l'utilisateur pour la consultation, la saisie ou voir même la mise à jour tout en s'assurant des droits accordés à ce dernier.

Une base de données offre aux utilisateurs la possibilité d'accéder simultanément aux données.

I.1.4. TYPES DE BASE DE DONNÉES

· Une base de données Centralisée

· Une base de données Répartie

a) Une base de données centralisée

La base de données est dite centralisée lorsque les informations sont centralisées dans une seule machine et d'autres utilisateurs distants y accèdent.

b) Une base de données répartie

La base de données est dite répartie lorsque les informations sont stockées sur des machines distantes et accessibles par un réseau. Elle rassemble de données plus ou moins hétérogènes, partagées dans un réseau d'ordinateurs sous forme d'une base de données globales homogènes et intégrées.

I.1.5. CONCEPTION D'UNE BASE DE DONNÉES

A. Modèle conceptuel de données (MCD)

Le modèle conceptuel de données (MCD) a pour but d'écrire de façon formelle les données qui seront utilisées par le système d'information. Il s'agit donc d'une représentation des données, facilement compréhensible, permettant de décrire le système d'information à l'aide d'entités.

B. Modèle logique de données (MLD)

Le modèle logique de données consiste à décrire la structure de données utilisée sans faire référence à un langage de programmation. Il s'agit donc de préciser le type de données utilisées lors des traitements.

Ainsi, le modèle logique est dépendant du type de base de données utilisé.

C. Modèle Physique de données (MPD)

Cette étape consiste à implémenter le modèle dans le SGBD, c'est-à-dire le traduire dans un langage de définition de données. Le langage généralement utilisé pour ce type d'opération est le SQL, et plus spécialement le langage de définition de données du SQL.

I.2. BASE DE DONNEES REPARTIE

I.2.1. DÉFINITION

Une base de données répartie est :

ü Un ensemble de bases de données localisées sur différents sites, perçues par l'utilisateur comme une base unique.

ü Aussi vue comme une collection de bases de données logiquement reliées, distribuées sur un réseau.

Une base de données répartie diffère d'une base de données fédérée et d'une multi base.

Une multi base : est un ensemble de plusieurs bases de données (hétérogènes ou non) inter opérant avec une application via un langage commun et sans modèle commun.

Une base de données fédérée : est un ensemble de plusieurs bases de données hétérogènes capables d'inter opérer via une vue commune (modèle commun).

Elle donne aux utilisateurs une vue unique des données implémentées sur plusieurs systèmes à priori hétérogènes (plate-forme et SGBD), c'est le cas rencontré lors de la concentration d'entreprises : faire cohabiter les différents systèmes tout en leur permettant d'inter opérer.

Schéma d'une relation : est la description de la relation, c'est-à-dire son nom, les noms, les types et la potée des attributs.

Schéma relationnel : c'est l'ensemble des schémas des relations.

Vue : est la partie visible d'un schéma relationnel qui correspond à une espèce de fenêtre qui montre les données accessibles par l'usager de la vue, elle peut être un sous-ensemble d'un schéma relationnel.

Relation de base : est une relation décrite dans le schéma conceptuel qui peut être découpée en fichiers ou en relation interne.

Relation interne : est une relation décrite dans le schéma interne et caractérise la structure du fichier qui contient l'occurrence physique de la relation.

Relation abstraite : est une relation définie soit sur une relation de base, soit sur une autre relation, elle se caractérise par l'expression qu'il faut appliquée pour créer son occurrence.

Relation fragmentée ou partitionnée : est une relation abstraite composée par un ou plusieurs relations ou sous-relations appelées « fragment ».

Partitionnement ou fragmentation : est l'action de séparer ou découper une relation abstraite en plusieurs fragments.

Localisation : est l'action de prendre en compte la situation des fragments.

Relation répartie : est une relation fragmentée dont les fragments se trouvent sur les différents sites du système.

Schéma interne : décrit l'accès physique aux occurrences de la relation.

Schéma conceptuel : est l'ensemble des schèmes de relations de base, c'est la vue de toute la base de données.

Schéma externe : c'est un sous-schéma du schéma conceptuel, il est composé de l'ensemble des schèmes de relations abstraites, définies sur les relations de base du schéma conceptuel.

I.2.2. CARACTÉRISTIQUES D'UNE BASE DE DONNÉES RÉPARTIE

ü La distribution de données : les données ne résident pas dans le même site.

ü Corrélation logique des données: les données possèdent les propriétés qui les tiennent ensemble.

ü Une structure de contrôle hiérarchique basée sur un administrateur des bases de données globales qui est le responsable central sur les bases de données réparties entières et sur les administrateurs des bases de données locales, qui ont la responsabilité de leur base de données respective.

ü L'indépendance des données et la transparence de répartition.

ü La redondance des données qui permet l'accroissement de l'autonomie des applications et la disponibilité des informations en cas de panne d'un site.

ü Un plan d'accès réparti écrit soit par le programmeur ou produit automatiquement par un optimiseur.

I.2.3. CONCEPTION DE LA BASE DE DONNÉES RÉPARTIE

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 base de données existantes, ainsi que la disponibilité nécessaire à la globalisation des systèmes informatiques. D'où, la mise en place d'une base de données répartie se résume en quatre étapes :

ü La conception du schéma globale

ü La conception de base de données physique locale dans chaque site

ü La conception de la fragmentation

ü La conception de l'allocation des fragments

A. La conception du schéma globale

Dans une entreprise, privée ou publique, les bases de données réparties ou distribuées (distributed data bases, en anglais) permettent de réaliser des applications qui nécessitent le stockage, la maintenance et le traitement des données en plusieurs endroits différents.

Une base de données est décentralisée ou répartie lorsqu'elle est modélisée par un seul schéma logique de base de données, mais implémentée dans plusieurs fragments de tables physiques sur des ordinateurs géographiquement dispersés.

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 la partie la plus délicate de la phase de conception d'une base de données car il n'existe pas de méthode miracle pour trouver la solution optimale.

L'administrateur 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

Le Schéma Externe

Schéma Interne

Le schéma interne décrit l'accès physique aux occurrences des relations, il est constitué de l'ensemble des descriptions des fichiers et/ou par un ensemble des Schémas de relations internes.

Schéma conceptuel

Le schéma conceptuel est l'ensemble des schémas des relations de base et l'ensemble des contraintes d'intégrités, c'est la vue globale de la base de données.

Le schéma conceptuel est composé de relations fragmentées ou d'une relation composée d'une ou de plusieurs sous-relations, la distinction de deux approches dans sa mise en oeuvre.

Schéma externe

Le schéma conceptuel est un sous-ensemble du schéma conceptuel composé de l'ensemble des schémas de relations abstraites définies sur la relation de base du schéma conceptuel.

1. Approche descendante

Dans l'approche descendante, on commence par définir un schéma conceptuel global de la base de données répartie en respectant les règles de la normalisation. Cependant pour de raison de performance, les relations sont découpées horizontalement par des restrictions simple ou verticalement par des projections puis réparties sur les différents sites en schémas conceptuels locaux.

L'approche descendante permet de maitriser la complexité de la répartition (fragmentation, duplication, placement) et la définition des schémas locaux à partir du schéma global.

Schéma Conceptuel Global

Schéma Conceptuel Local 1

Schéma Conceptuel Local 2

Schéma Conceptuel Local 3

Figure 1.1. Approche Descendante

2. Approche ascendante

Elle se base sur le fait que la répartition est déjà faite, mais il faut réussir à intégrer les différentes bases de données existantes en une seule base de données globale c'est-à-dire que les relations du schéma conceptuel sont définies à partir des schémas externes ou conceptuels des bases de données déjà en exploitation et que l'on ne veut pas modifier.

Schéma Conceptuel Global

Schéma Conceptuel Local 1

Schéma Conceptuel Local 2

Schéma Conceptuel Local 3

Figure 1.2. Approche Ascendante

La différence la plus importante avec l'approche descendante précédente est que la fragmentation est conditionnée par la structure des fragments. On rencontre deux problèmes importants, celui de duplication partielle de n-uplets et celui des valeurs indéfinies des certains attributs.

B. La conception de la fragmentation

La fragmentation est un processus de décomposition d'une base de données logique en un ensemble de « sous » base de données logiques appelées « fragments », donc d'un schéma global en un ensemble des schémas locaux sans perte d'informations c'est-à-dire qu'on peut recomposer le schéma conceptuel global en partant des schémas conceptuels locaux.

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

De plus, les différents fragments doivent de préférence être exclusifs (leur intersection est vide) puisqu'une fragmentation non exclusive implique une duplication. D'où, il faudra affiner la fragmentation en produisant des fragments plus petits.

1. Règles de fragmentation

Les fragments sont déterminés en tenant compte de :

ü La complétude : pour toute donnée de la relation globale R, il existe un fragment Ri de la relation qui possède cette donnée c'est-à-dire toutes les données de la relation globale doivent être reprises dans les fragments.

ü La reconstruction : pour toute relation globale R décomposée en un ensemble de fragments Ri, il existe une opération de reconstruction c'est à dire qu'il y a une possibilité de reconstruction de chaque relation globale à partir de ses fragments.

ü La disjonction : permet de contrôler la redondance au niveau d'allocation, il est souhaitable d'avoir de fragment disjoint.

2. Technique de fragmentation

Il existe plusieurs techniques de fragmentation définies par unité de fragment :

a) Fragmentation horizontale

La fragmentation horizontale consiste à partitionner les n-uplets d'une relation globale en des sous-ensembles. Une relation globale est fragmentée horizontalement lorsqu'elle est formée par l'union des fragments des relations locales qui peuvent être considérés comme des restrictions de la relation globale.

ü L'opération de partitionnement est la sélection

ü L'opération de recomposition est l'union

Client 1

Client

Client 2

Numéro

Nom

Localité

1

APOULAH

KINSHASA

2

DJEDJE

KINSHASA

3

MAMIE

LUBUMBASHI

4

YANNICK

LUBUMBASHI

Numéro

Nom

Localité

1

APOULAH

KINSHASA

2

DJEDJE

KINSHASA

Numéro

Nom

Localité

3

MAMIE

LUBUMBASHI

4

YANNICK

LUBUMBASHI

Figure 1.3. Fragmentation Horizontale

b) Fragmentation verticale

La fragmentation verticale est la subdivision de certains attributs de la relation globale en groupe. Les fragments sont obtenus par projection de la relation globale sur chaque groupe, donc une relation globale est fragmentée verticalement quand elle est formée par une composition de plusieurs relations locales.

La fragmentation verticale est utile pour distribuer les parties des données sur les sites ou chacune de ces parties est utilisée.

ü L'opération de partitionnement est la projection

ü L'opération de recomposition est la jointure

Commande

Code_cmde

Client

Produit

quantité

001

01

Sucre

100

002

02

Maïs

500

003

03

Manioc

200

004

04

Arachide

150

Commande 1

Code_cmde

Produit

001

Sucre

002

Maïs

003

Manioc

004

Arachide

Commande 2

Code_cmde

Produit

Quantité

001

Sucre

100

002

Maïs

500

003

Manioc

200

004

Arachide

150

Figure 1.4. Fragmentation Verticale

c) Fragmentation mixte

La fragmentation mixte est la combinaison de deux fragmentations précédentes, dont l'opérateur de partitionnement est la combinaison de la projection et de la sélection et celui de la recomposition, la combinaison de la jointure et de l'union.

D. Allocation des fragments

L'allocation des fragments est une méthode qui permet d'affecter les fragments sur les sites donnés en fonction de l'origine (sites d'émission) des requêtes enfin de minimiser les transferts des données entre les sites.

L'allocation peut se faire de deux manières, l'allocation sans réplication et l'allocation avec réplication.

a) Allocation sans réplication

L'allocation sans réplication est facile à réaliser, il suffit d'associer à chaque allocation une mesure et à chaque site une meilleure mesure. C'est une solution qui ne tient pas compte de l'effet naturel, il faut placer un fragment dans un site donné si un autre fragment apparenté est aussi dans ce site.

b) Allocation avec réplication

L'allocation avec réplication est réalisée en appliquant l'une de deux méthodes suivantes :

ü Déterminer l'ensemble de tous les sites dont l'importance d'allouer une copie est d'intérêt plus élevé que le coût de transfert puis allouer une copie de fragment à chaque élément de cet ensemble.

ü Déterminer premièrement la solution du problème qui n'est pas la réplication et introduire progressivement les copies en commençant par celles qui sont plus avantageuses. Le processus prend fin si aucune réplication additionnelle n'est avantageuse.

L'allocation avec réplication favorise les performances des requêtes et la disponibilité de données.

c) Technique de répartition avancée

Dans le cas où la méthode classique d'allocation des fragments ne s'avèrent pas satisfaisante, des techniques plus puissantes mais aussi complexes à mettre en oeuvre doivent être envisagées :

ü Allocation avec duplication des fragments

ü Allocation dynamique des fragments

ü Fragmentation dynamique

ü Clichés

a. 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 de données). Elle permet aussi une meilleure disponibilité des informations (connues de plusieurs sites), et une meilleure fiabilité contre les pannes. 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équence, moins un fragment est sujet à des modifications, plus il est prédisposé à la duplication.

b. Allocation dynamique

Avec cette technique, l'allocation d'un fragment peut changer en cours d'utilisation de la BDR. Ce peut être le cas suite à une requête par exemple. 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 plus efficace lorsque la base de données est sujette à de nombreuses mises à jour.

c. 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 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.

d. Clichés

Un cliché (snapshot) est une copie figée d'un fragment. Il représente l'état du fragment à un instant donné et n'est jamais mis à jour contrairement aux vues et aux copies qui répercutent toutes les modifications qui ont lieu sur le fragment original.

L'intérêt d'un cliché diminue donc au fur et à mesure que le temps passe. L'utilisation des clichés est intéressante lorsque l'on juge que la gestion de copies multiples se révélerait trop lourde pour la base de données considérée alors que des copies même peu anciennes et non à jours seraient largement suffisantes.

On peut en effet se passer de l'information exacte pour diverses raisons. D'une part l'information contenue dans la base de données peut ne pas refléter tout à fait la réalité (cas d'un changement d'adresse non signalé, par exemple).

D'autre part, certaines informations ne subissent pas souvent de modification (comme le nom de famille, l'adresse ou le nombre d'enfants des employés) et par conséquent une copie même ancienne de ces informations est, dans sa grande majorité, encore exacte.

Enfin, certaines informations dans un certain contexte ne sont pas de caractère sensible et par conséquent une information erronée n'aura pas de répercussion grave : le changement d'adresse d'un employé non répercuté n'aura pas d'incidence, les services postaux se chargeant du bon acheminement du courrier pendant plusieurs semaines.

Les deux critères qui sont à prendre en compte pour définir l'intérêt d'un cliché sont d'une part l'ancienneté du cliché, et d'autre part le temps d'attente qui serait nécessaire avant d'obtenir l'information originale (à jour).

Ces deux informations, l'ancienneté et le temps d'attente, peuvent être pondérées par un taux de satisfaction pour le système d'information.

I.3. Gestion des transactions

I.3.1. INTRODUCTION

Une transaction est un ensemble d'opérations cohérentes et fiables menées sur une base de données qui la transforme d'un état stable et cohérent en un autre état stable et cohérent. C'est un ensemble d'ordres SQL.

Une transaction est constituée de quatre types d'opérations qui sont : le début, l'écriture, la lecture et la fin (terminaison).

Une transaction peut ou ne pas arriver à son terme, elle peut être interrompu pour diverses raisons. Pour assurer la cohérence de la base de données, il y a quatre ordres de transaction :

Begin : cet ordre permet de démarrer de manière explicite une transaction.

Commit : permet de mettre fin avec succès à une transaction, c'est-à-dire la conservation de l'ensemble de modifications effectuées dans la transaction.

Roll back : permet de terminer une transaction en annulant toutes les modifications de données effectuées.

Save : permet de définir un point d'arrêt, donc donne la possibilité d'annuler une partie de la transaction en cours. Il est possible de définir plusieurs points d'arrêt sur une même transaction.

I.3.2. PROPRIÉTÉS

La cohérence et la fiabilité d'une transaction sont garanties par quatre propriétés :

a. Atomicité

La transaction ne peut pas être divisée en une partie qui réussit et une autre qui échoue, donc tout ou rien.

On rencontre deux types de problèmes durant l'exécution de la transaction :

ü La transaction peut s'interrompre d'elle-même ;

ü La transaction peut également être interrompue en raison d'une panne du système réseau.

b. Cohérence

Une fois qu'une transaction prend fin ou termine, la base de données rentre de nouveau à un état cohérent.

c. Isolation

Lorsqu'une transaction considère que, pendant son exécution, les données qu'elle manipule ne sont pas modifiées par une autre transaction.

d. Durabilité

Lorsque les modifications opérées par la transaction sont enregistrées de façon permanente (et recouvrables en cas de reconstruction de la base).

I.3.3. DIFFÉRENT NIVEAU 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 :

a. 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.

b. 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.

c. 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.

d. 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.

II. SYSTEME DE GESTION DE BASE DE DONNEES (SGBD)

II.1. Définition

Un système de gestion de base de données (SGBD) en anglais « data base management system (DBMS) »:

ü Est un outil informatique permettant aux utilisateurs de structurer, d'insérer, de modifier et de chercher de manière efficace des données spécifiques dans une grande quantité d'informations stockées sur les mémoires secondaires (disques magnétiques) partagées de manière transparente par plusieurs utilisateurs.

ü Est un logiciel permettant d'interagir avec une base de données.

ü Est un service ou un ensemble des services (application logicielle) permettant de gérer la base de données.

II.1.1. OBJECTIF

Des objectifs principaux ont été fixés aux systèmes de gestion de base de données afin de résoudre les problèmes causés par la démarche classique. Ces objectifs sont les suivants :

ü L'indépendance physique : La façon dont les données sont définies doit être indépendante des structures des stockages utilisées.

ü L'indépendance logique : Un même ensemble de données peut être vu différemment par les utilisateurs différents.

ü L'accès aux données : Il se fait par l'intermédiaire d'un langage de manipulation de données (LMD) permettant d'obtenir des réponses aux requêtes en un temps raisonnable.

ü L'administration centralisée des données (intégration) : Toutes les données doivent être centralisées dans un réservoir unique, commun à toutes les applications permettant de résoudre plus facilement des différentes versions des données.

ü Le non redondance de données : Il permet d'éviter les problèmes lors de la mise à jour, chaque donnée ne doit être présentée qu'une seule fois dans la base de données.

ü La cohérence de données : Les données sont soumises à un certain nombre de contraintes d'intégrité qui définissent un état cohérent de la base de données.

ü Le partage de données : Il s'agit de permettre à plusieurs utilisateurs d'accéder aux mêmes données au même moment de manière transparente.

ü La sécurité de données : Les données doivent être protégées contre les accès non autorisés, pour cela, il faut pouvoir associer à chaque utilisateur le droit d'accès aux données.

II.1.2. PRINCIPE DE FONCTIONNEMENT

Le système de gestion de base de données héberge généralement plusieurs bases de données, destinées à des logiciels différents.

Actuellement, la plupart des systèmes de gestion de base de données fonctionnent selon le mode ou architecture client-serveur. Le serveur (sous-entendu la machine qui stocke les données) reçoit des requêtes de plusieurs clients de manière concurrente, les analyse, les traite puis retourne le résultat au client.

II.1.3. TYPE DE SYSTÈME DE GESTION DE BASE DE DONNÉES

Depuis leur apparition jusqu'aujourd'hui, nous distinguons plusieurs types de SGBD qui sont :

ü Le SGBD hiérarchique

ü Le SGBD réseau

ü Le SGBD relationnel

ü Le SGBD objet

a) Le SGBD hiérarchique

Dans ce modèle, les données sont classées hiérarchiquement selon une arborescence descendante. Chaque noeud de l'arbre correspond à une classe d'entité du monde réel et les chemins entre les noeuds représentent des liens entre les objets.

Figure 1.5. SGBD Hiérarchique

b) Le SGBD réseau

Ce modèle utilise des pointeurs vers les enregistrements comme le modèle précédent, mais il n'y a pas forcement la structure d'arborescence descendante. Ce modèle est inventé par C. Bachmann.

Figure 1.6. SGBD Réseau

c) Le SGBD relationnel

Le modèle relationnel est basé sur le principe de l'algèbre relationnel. Le père du modèle relationnel est Edgar Franck Codd chercheur chez IBM, à la fin des années 1960, il étudiait alors les nouvelles méthodes pour gérer des grandes quantités de données, car les modèles et les logiciels de l'époque ne le faisaient pas, il s'était persuadé qu'il pouvait utiliser des branches spécifique de la mathématique notamment théorie des ensembles et la logique de prédicats du premier ordre pour résoudre des difficultés telles que la redondance des données, l'intégrité de données ou l'indépendance de la structure de la base de

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

données avec sa mise en oeuvre.

Figure 1.7. SGBD Relationnel

III. Système de Gestion de Base de Données Répartis (SGBDR)

III.1. Définition

Un SGBDR est un logiciel qui se charge de la création et de la maintenance des bases de données réparties.

Un SGBDR est constitué de composantes suivantes :

ü La composante de gestion de base de données

ü La composante de communication de données

ü Le dictionnaire de données qui peut représenter l'information à propos de la répartition des données dans le réseau informatique.

ü La composante de base de données répartie qui contient le logiciel qui s'occupe du parallélisme, de l'exécution mutuelle et de la synchronisation.

III.2. Fonctions

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

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

ü 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.

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

III.3. Remarque

SGBDR Homogène

Schéma global

Schéma de fragmentation

Schéma d'allocation

Schéma Conceptuel Local 3

Schéma Conceptuel Local 2

Schéma Conceptuel Local 1

SGBD

SQL SERVER

SGBD

SQL SERVER

SGBD

SQL SERVER

BD

BD

BD

Un SGBDR est dit homogène s'il utilise le même SGBD dans chaque site, il est dit hétérogène s'il utilise au moins deux SGBD différents, c'est le cas du service web de l'Internet.

Figure 1.8. SGBDR Homogène

SGBDR Hétérogène

Schéma global

Schéma de fragmentation

Schéma d'allocation

Schéma Conceptuel Local 3

Schéma Conceptuel Local 2

Schéma Conceptuel Local 1

SGBD

POSTGRESQL

SGBD

ACCESS

SGBD

MY SQL

BD

BD

BD

Figure 1.9. SGBDR Hétérogène

CHAPITRE II : ARCHITECTURES CLIENT - SERVEUR [2][4][5][8][9]

II.1. PRESENTATION DE L'ARCHITECTURE CLIENT - SERVEUR

De nombreuses applications fonctionnent selon un environnement client - serveur, cela signifie que des machines clientes (des machines faisant partie du réseau) contactent un serveur, une machine généralement très puissante en termes de capacités d'entrée-sortie, qui leur fournit des services. Ces services sont des programmes fournissant des données telles que l'heure, des fichiers, une connexion, etc.

Les services sont exploités par des programmes, appelés programmes clients, s'exécutant sur les machines clientes. On parle ainsi de client FTP, client de messagerie, etc., lorsque l'on désigne un programme, tournant sur une machine cliente, capable de traiter des informations qu'il récupère auprès du serveur (dans le cas du client FTP, il s'agit de fichiers tandis que pour le client messagerie il s'agit de courrier électronique)

II.1.1. DÉFINITION

L'architecture client-serveur est une architecture de réseau dans laquelle les traitements sont répartis entre les clients qui demandent aux serveurs les informations dont ils ont besoin.

C'est une architecture qui désigne un mode de communication entre plusieurs ordinateurs d'un réseau qui distingue un ou plusieurs postes clients du serveur.

Les acteurs principaux de l'architecture client-serveur sont au nombre de trois :

a) Client

Un client est un système (programme, ordinateur) demandant l'exécution d'une opération à un fournisseur des services par l'envoi d'un message contenant le descriptif de l'opération à exécuter et attendant la réponse à cette opération par un message en retour.

Nous distinguons trois types de client :

ü Client léger :

Est une application accessible via une interface web consultable à l'aide d'un navigateur web.

ü Client lourd :

Est une application cliente graphique exécuté sur le système d'exploitation de l'utilisateur possédant les capacités de traitement évoluées.

ü Client riche :

Est l'assemblage du client léger et client lourd dans lequel l'interface graphique est décrite avec une grammaire basée sur la syntaxe XML.

b) Serveur

Un serveur est un système (programme, ordinateur de grande capacité) détenant des ressources qu'il met à la disposition des autres ordinateurs (clients) d'un réseau. Nous distinguons plusieurs types de serveur en fonction des services rendus : Serveur d'application, serveur de base de données, serveur des fichiers...

c) Middleware

Le middleware est l'ensemble des services logiciels qui assurent l'intermédiaire entre les applications et le transport de données dans le réseau afin de permettre les échanges des requêtes et des réponses entre client et serveur de manière transparente.

II.1.2. FONCTIONNEMENT DE L'ARCHITECTURE CLIENT - SERVEUR

L'architecture client-serveur fonctionne selon le schéma suivant :

ü Le client émet une requête vers le serveur grâce à son adresse IP et le port, qui désigne un service particulier du serveur.

ü Le serveur reçoit la demande et répond à l'aide de l'adresse IP de la machine cliente et son port.

II.2. TYPE D'ARCHITECTURE CLIENT - SERVEUR

II.2.1. ARCHITECTURE À UN - TIERS

Dans une approche d'application de type 1-tiers, les trois couches sont fortement et intimement liées, et s'exécutent sur la même machine. Dans ce cas, on ne peut pas parler d'architecture client-serveur mais d'informatique centralisée.

Dans un contexte simple utilisateur, la question ne se pose pas, mais dans un contexte multiutilisateurs, on peut voir apparaître deux types d'architectures mettant en oeuvre des applications Un - tiers : des applications sur site central ; des applications réparties sur des machines indépendantes communiquant par partage de fichiers.

II.2.2. ARCHITECTURE À DEUX - TIERS

Ce système est dit 2-tiers pour le fait qu'il permet deux niveaux de traitement applicatif. Dans les systèmes à deux niveaux (2-tiers), la logique applicative est en fouie soit dans l'interface utilisateur chez le client, soit dans la base de données chez le serveur (ou dans les deux à la fois). L'accès aux données est direct et n'a pas besoin d'un niveau intermédiaire. Ils ont comme avantages :

ü La possibilité de l'utilisation d'une interface utilisateur riche ;

ü Niveau 1

Niveau 2

Données

Messages

Réponse

Client

Serveur

Requête

http,

Fichier,

SQL ...

La réalisation de l'appropriation des applications par l'utilisateur.

Figure 2.1. Architecture à Deux-Tiers

Jusqu'alors une majorité d'application web pouvait se ramener à une architecture à deux niveaux, avec d'un côté un client (dans la plupart des cas un navigateur) et de l'autre côté un serveur web. Les deux communiquant au travers du protocole http. Les insuffisances de ce modèle sont les suivants :

· L'expérience a démontré qu'il était coûteux et contraignant de vouloir faire l'ensemble des traitements applicatifs par le poste client. On en arrive à un client lourd.

· On ne peut pas soulager la charge du poste client, qui supporte la grande majorité des traitements applicatifs.

· Les mises à jour régulières pour répondre au besoin des utilisateurs.

· Les applications se prêtent assez mal aux fortes montées en charge car il est difficile de modifier l'architecture initiale.

· La relation étroite qui existe entre le programme client et l'organisation de la partie serveur complique les évolutions de cette dernière.

· Ce type d'architecture et grandement rigidifié par les coûts et la complexité de sa maintenance.

II.2.3. ARCHITECTURE À TROIS-TIERS

Pour faire face au tournant évoqué dans le système 2-tiers et pour répondre à des exigences de sécurité par exemple celles demandées par des applications prenant en charge des électeurs ou aux transactions électorales depuis le domicile, on assiste de plus en plus au déploiement d'architectures n-tiers où n'est généralement égal à trois.

Niveau 1

Niveau 2

Données

Messages

Réponse

Client

Serveur d'application

Requête

http,

Fichier,

SQL ...

Niveau 3

Serveur de Base de données

Ces architectures 3-tiers se distinguent, comme leur nom le laisse entendre, trois niveaux. Celui dit de présentation (niveau 1), celui dit de logique applicative (niveau 2) et celui des données (niveau 3), nous pouvons le comprendre par la figure ci-après :

Figure 2.2. Architecture à trois-tiers

a) Le premier niveau est chargé de gérer la logique de navigation à l'aide de composants de présentation ;

b) Le deuxième regroupe un ensemble de composants gérant la logique métier dans un serveur dit d'application ;

c) Le troisième abrite les données des systèmes existants.

CHAPITRE III : REPLICATION [6][8][9][10][11][12][13]

III.1. INTRODUCTION AUX REPLICATIONS

Le terme « réplication » a été emprunté à la biologie. On aurait pu dire simplement « duplication ». Dans le jargon informatique en général, et dans celui des bases de données en particulier, ce terme désigne un mécanisme de copie automatique d'une base de données vers une autre, permettant de rapprocher des données de l'utilisateur, dans un système distribué.

La réplication utilise la technologie de base de données distribuée pour partager les données entre multiples sites mais une base de données répliquée et une base de données distribuée sont différentes. Pour les bases de données distribuées, les données sont disponibles à plusieurs endroits mais une table particulière réside à un seul site. La réplication signifie que les mêmes données sont disponibles à multiples endroits.

III.2. AVANTAGES ET DESAVANTAGES

La réplication présente des avantages différents selon le type de réplication et les options choisies, mais l'intérêt général de la réplication est la disponibilité des données à tout moment et en tout lieu.

Les autres avantages sont les suivants :

· Possibilité pour plusieurs sites de conserver des copies des mêmes données. Cela est utile lorsque plusieurs sites ont besoin de lire les mêmes données ou requièrent des serveurs différents pour les applications de création de rapport.

· Autonomie accrue. Les utilisateurs peuvent manipuler des copies de données hors connexion, puis propager leurs modifications aux autres bases de données lorsqu'ils sont connectés.

· Davantage de méthodes pour accéder aux données, comme l'exploration de données à l'aide d'applications Web par exemple.

· Amélioration des performances de lecture des agrégats.

· Rapprochement des données par rapport aux utilisateurs individuels ou aux groupes. Cela permet de réduire les conflits liés aux modifications de données et requêtes impliquant plusieurs utilisateurs. En effet, les données peuvent être distribuées sur l'ensemble du réseau et partitionnées en fonction des besoins des différents utilisateurs ou unités de l'entreprise.

· Utilisation de la réplication dans le cadre d'une stratégie de serveur en attente personnalisée. La réplication est l'une des options de la stratégie de serveur en attente.

Parmi les autres options disponibles dans certains SGBD, figurent l'envoi de journaux et la gestion de clusters avec basculement qui fournissent des copies des données en cas de défaillance d'un serveur.

La mise à jour des bases de données des électeurs se fait manuellement en ce moment. Pour ce faire, à la fin de chaque semaine un agent habilité à ce travail est obligé de se déplacer avec les données sur CD-RW pour aller remettre au siège central pour les mises à jour. Plusieurs drames sont à prévoir quand même avec un système de réplication :

ü Consommation élevée des ressources du serveur suivant la position du distributeur ;

ü Les modifications de schéma peuvent ne pas être prises en compte suivant le mode de réplication ;

ü Les problèmes de réplication suivants affectent la performance de vos réseaux :

Volume et taille usuelle des données circulant sur le réseau.

Nombre d'abonnés à un éditeur particulier.

Vitesse de la connexion.

Capacité de traitement de l'éditeur, du distributeur et des abonnés

III.3. DEFINITION

En informatique, la réplication est un processus de partage d'informations pour assurer la cohérence de données entre plusieurs sources de données redondantes, pour améliorer la fiabilité, la tolérance aux pannes ou l'accessibilité.

On parle de réplication de données si les mêmes données sont dupliquées sur plusieurs périphériques. Une application de base de données repose sur un modèle client-serveur. Dans ce modèle, le client se connecte au SGBD pour passer des ordres. Ces ordres sont de deux natures : lecture (on parle alors de requêtes) ou mise à jour (on parle alors de transactions). Pour les transactions, il y a une modification des données sur le serveur, mais cela reste des ordres de courte durée.

A l'inverse, dans le cas d'une lecture, il n'y a pas de modification des données mais les traitements peuvent être longs et porter sur une grande masse de données. On comprend donc aisément que, dans le cadre d'un site web par exemple, un nombre important de requêtes peut surcharger partiellement (ou complètement) le serveur. Il existe plusieurs solutions pour remédier à ce genre de problèmes et, ça tombe bien, la réplication en est une.

La réplication n'est pas à confondre avec une sauvegarde : les données sauvegardées ne changent pas dans le temps, reflétant un état fixe des données, tandis que les données répliquées évoluent sans cesse à mesure que les données sources changent.

La réplication est aussi considérée comme la capacité à maintenir à jour une base de données distribuée sur plusieurs machines reliées en réseau, en recopiant à intervalles réguliers des morceaux ou l'intégralité de la base d'une machine à l'autre. Plusieurs méthodes de réplication existent selon la configuration matérielle présente.

III.4. PRINCIPES DE LA REPLICATION

L'objectif principal de la réplication est de faciliter l'accès aux données en augmentant la 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.

Une autre application tout aussi importante est la synchronisation des systèmes embarqués non connectés en permanence. Ce qui peut se résumer à l'aide des trois types de scénario suivants :

ü Deux serveurs distants sur lesquels les données doivent être consistantes ;

ü Deux serveurs, un comme serveur principal, l'autre comme serveur de backup à chaud ;

ü Plusieurs serveurs en cluster utilisés pour de l'équilibrage de charge et de la tolérance à la panne.

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

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

· 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.

· 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.

Bien entendu, il est tout à fait possible de faire de 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 la réplication est unidirectionnelle (seulement du maître vers l'esclave) et on parle de réplication 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 ; Dans le second cas, la résolution est faite dans des transactions séparées. 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.

Mise à jour synchrone et asynchrone

Jusque-là, nous avons supposé que toute mise à jour de la base demandée depuis un noeud était effectuée en temps réel sur les autres noeuds, c'est-à-dire pour le compte de la même transaction atomique. Ceci correspond au mode de mise à jour synchrone qui s'avère souvent trop contraignant pour les applications.

Mise à jour synchrone

C'est le mode de distribution dans lequel toutes les sous opérations locales effectuées suite à une mise à jour globale sont accomplies pour le compte de la même transaction.

Dans le contexte des copies, ce mode de distribution est très utile lorsque les mises à jour effectuées sur un site doivent être prises en compte immédiatement sur les autres sites.

L'avantage essentiel de la mise à jour synchrone est de garder toutes les données au dernier niveau de mise à jour. Le système peut alors garantir la fourniture de la dernière version des données quel que soit la copie accédée.

Les inconvénients sont cependant multiples, ce qui conduit beaucoup d'application à éviter la gestion de copies synchrones. Ce sont d'une part, la nécessité de gérer des transactions multiples coûteuses en ressources et d'autre part, la complexité des algorithmes de gestion de concurrence et de panne d'un site. C'est pour cela que l'on préfère souvent le mode de mise à jour asynchrone (encore appelé mise à jour différée)

Mise à jour asynchrone

C'est le mode de distribution dans lequel certaines sous opérations locales effectuées suite à une mise à jour globale sont accomplies dans des transactions indépendantes en temps différé. Le temps de mise à jour des copies peut être plus au moins différé : les transactions de report peuvent être lancées dès que possible ou à des instants fixes, par exemple le soir ou en fin de semaine.

Les avantages sont la possibilité de mettre à jour en temps choisi des données, tout en autorisant l'accès aux versions anciennes avant la mise à niveau.

Les inconvénients sont bien sûr que l'accès à la dernière version n'est pas garanti. Ce qui limite les possibilités des mises à jour.

Technique de diffusion des mises à jour

La diffusion automatique des mises à jour appliquée à une copie aux autres copies doit être assurée par le SGBD réparti. Plusieurs techniques de diffusion sont possibles parmi lesquelles, on distinguera 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é 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.

Réplication asymétrique

C'est une technique de gestion de copie basée sur un site primaire seul autorisé à mettre à jour et chargé de diffuser les mises à jour aux autres copies dites secondaire. Le site primaire effectue les contrôles et garantit l'ordonnancement correct des mises à jour.

A noter que le choix d'une technique asymétrique est orthogonal au choix d'un mode de diffusion synchrone ou asynchrone des mises à jour et on peut donc distinguer l'asymétrique synchrone et l'asymétrique asynchrone.

SITES SECONDAIRES

SITE PRIMAIRE

La première technique est illustrée Fig. 3.1 où un site primaire pousse les mises à jour en temps réel vers deux sites secondaires. La deuxième est illustrée Fig. 3.2 cette fois, les mises à jour sont poussées en temps différé via une file persistante. Dans les deux cas, de problèmes surviennent lorsque le site primaire tombe en panne.

Figure 3.1. Réplication Asymétrique Synchrone

SITES SECONDAIRES

SITE PRIMAIRE

Ici, toute mise à jour est d'abord appliquée au site maître puis diffusée à temps réel aux sites secondaires.

Figure 3.2. Réplication Asymétrique Asynchrone

Par contre ici, la mise à jour se s'effectue d'abord au site primaire puis se diffuse à temps différé aux sites secondaires.

Un problème de la gestion de copie asymétrique est donc la panne du site primaire. Dans ce cas, il faut choisir un remplaçant si l'on veut continuer les mises à jour et celui-ci peut être fixé par l'administrateur ou élu par un protocole spécifique de vote majoritaire.

On aboutit alors à une technique asymétrique mobile dans laquelle le site primaire change dynamiquement selon de critères qui peuvent être liés à l'application. Le droit de mise à jour se déplace de site en site par exemple au fur et à mesure de l'évolution des données.

Réplication symétrique

A l'opposé de la réplication asymétrique ne privilégie aucune copie. Elle permet les mises à jour simultanées de toutes les copies par des transactions différentes.

Réplication symétrique

C'est une technique de gestion de copies ou chaque copie peut être mise à jour à tous instant et assure la diffusion des mises à jour aux autres copies.

SITE MAITRE

SITE MAITRE

SITE MAITRE

A noter aussi que le choix d'une technique symétrique est orthogonal au choix d'un mode de diffusion synchrone ou asynchrone des mises à jour et on peut donc distinguer la symétrique synchrone et la symétrique asynchrone.

Figure 3.3. Réplication Symétrique Synchrone

SITE MAITRE

SITE MAITRE

SITE MAITRE

Ici, les mises à jour s'effectuent à partir de n'importe quel site maitre et se diffusent à temps réel.

Figure 3.4. Réplication Symétrique Synchrone

DEUXIEME PARTIE :

IMPLEMENTATION ET APPLICATION

CHAPITRE IV. PRESENTATION DE L'ENTREPRISE

I. ANALYSE PREALABLE

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

Dans cette partie nous aurons à analyser les informations concernant juste l'organisation structurelle de la CENI telles que :

ü Historique

ü Situation géographique

ü Objectif

ü Organisation

A. 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.

B. Situation géographique

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.

C. 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.

D. Organisation

1. Tableau des anciennes provinces et nouvelles provinces

Anciennes Provinces

Nouvelles Provinces

1. Kinshasa

Kinshasa

2. Bas-Congo

Kongo central

3. Bandundu

Kwango

 

Kwilu

 

Mai-Ndombe

4. Equateur

Equateur

 

Nord-Ubangi

 

Sud-Ubangi

 

Mongala

 

Tshuapa

5. Province Orientale

Tshopo

 

Bas-Uele

 

Haut-Uele

 

Ituri

6. Nord-Kivu

Nord-Kivu

7. Sud-Kivu

Sud-Kivu

8. Maniema

Maniema

9. Katanga

Haut-Katanga

 

Haut-Lomami

 

Lualaba

 

Tanganika

10. Kasaï-Oriental

Kasaï-Oriental

 

Sankuru

 

Lomami

11. Kasaï-Occidental

Kasaï

 

Kasaï-Central

2. Les Organigrammes de la CENI

a) ORGANIGRAMME DU CNT

Directeur

Directeur Adjoint

Assistant Administratif

Assistant logistique

Programmation

Superviseur

Opérations

Administration Système et Réseau

Administration Base de Données

Technicien Support

DBA

Administrateur Système et Réseau

Programmeurs

Programmeurs

Technicien d'appui

DBA

Technicien Support

Webmaster

Superviseur Technicien d'appui

b) ORGANIGRAMME DE LA CENI

SEP

SEP

SEP

ANTENNE

ANTENNE

ANTENNE

BUREAU

SEN

c) ORGANIGRAMME DU BUREAU DE LA CENI

Président

Vice-Président

Rapporteur

Questeur Adjoint

Questeur

2ème Rapporteur Adjoint

1er Rapporteur Adjoint

d) ORGANIGRAMME DU SEN

SEN

SENA

Assistant

Dir. Fin

Télécom

Sensibilisation

Dir. Cab

Formation

CNT

Dir. Adm

Dir. Ops

I.2. DESCRIPTION DES ACTIVITÉS

a. 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 se fait, il peut aller s'asseoir dans la salle pour attendre à se faire enrôler.

b. 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 cartes 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 nom, post-nom, prénom, etc. jusqu'à sortir la carte.

II. Etude de l'Opportunité

II.1. Besoin d'un système de réplication

La mise à jour de la base de données au niveau du siège central se fait hebdomadairement c.-à-d. qu'à la fin de chaque semaine (7 jours), on est obligé de graver des données sur CD-RW et il y a des personnes habilitées à ramener les CD-RW gravés au siège central en ville. Il se pose alors un sérieux problème dans le cas où on ignorait que la gravure n'a pu réussir ou le CD-RW a été abimé ou encore lorsqu'il arrive que le support a été perdu et puis le fichier comportant les mises à jour de la base de données étant sous PostgreSQL qui est un SGBD libre téléchargeable par tout le monde sur internet, une personne connaissant que la CENI utilise comme SGBD PostgreSQL peut le télécharger pour enfin avoir la possibilité d'ouverture et de faire n'importe quoi. Pour plus d'efficacité, il faudra donc penser à une nouvelle méthode pour obtenir les données provenant des sites.

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.

I. Topologie de la Configuration de la Réplication

Serveur 2

Serveur 3

Serveur 1

Siège Central

Figure 4.1. Topologie de la Configuration de la Réplication

Dans notre travail, nous avons choisis de configurer une réplication symétrique asynchrone des sites locaux vers le siège central et une réplication symétrique asynchrone entre les sites locaux suite aux données volumineuses qui seront stockées dans la base lors des opérations d'identification et d'enrôlement des électeurs. En fait, l'idée est de placer entre les sites les plus rapprochés un serveur à partir duquel, ils vont commencer à y accéder par une application cliente pour enregistrement et autres opérations dans la base.

CHAPITRE V. IMPLEMENTATION DU SYSTEME ET APPLICATION [6][7]

V. 1. Conception d'une base de données étape conceptuelle

Cette étape a pour but de recenser les entités conceptuelles (objets, associations), la détermination des règles d'intégrité et la production du modèle conceptuel.

V. 1. 1. RECENSEMENT DES OBJETS / ENTITÉS

1. Personnes

2. Adresse

3. Categories

4. Village

5. Groupement

6. Secteur

7. Territoire

8. Nvelle_province

9. Province

10. Centre_enrolement

Après notre analyse sur terrain, nous avons pu retenir dix entités pour constituer notre base de données globale. Ces différentes entités sont les suivantes :

V. 1. 2. RECENSEMENT DES ASSOCIATIONS

Pour réaliser notre base de données globale, nous avons retenu les suivantes ci-après :

1. S'enrôler

2. Contenir (1, 2, 3, 4)

3. Correspondre

4. Retrouver

5. Provenir

6. Habiter

7. Comporter

V. 1. 3. DESCRIPTION DES ATTRIBUTS

Nous décrivons les attributs par à leurs objets et leurs associations

Objets

Nom des Propriétés

Abréviations

Identifiants

Personnes

Code de la Personne

Nom de la Personne

Post nom de la Personne

Prénom de la Personne

Sexe de la Personne

Sa Date de naissance

Nom de son Père

Nom de la Mère

Photo de la Personne

Son Empreinte digitale droite

Son Empreinte digitale gauche

# Code_pers

Nom

Post_nom

Prénom

Sexe

Datenais

Nom_pere

Nom_mere

Photo

Empr_droit

Empr_gauch

OK

Categories

Code de la Categorie

Description de l'adresse

# Code_cat

Description

OK

Adresse

Code de l'adresse

Description de l'adresse

# Code_adr

Description

OK

Centre_enrol

Code du Centre d'enrôlement

Description du Centre

# Code_ce

Description

OK

Provinces

Code de la Province

Description de la Province

# Code_prov

Description

OK

Nvel_provinces

Code de la Nouvelle Province

Description de la N_Province

#Code_nprov

Description

OK

Territoire

Code du Territoire

Description du Territoire

Type = « Territoire » / « Ville »

# Code_tv

Description

Type

OK

Groupement

Code du Groupement

Description du Groupement

Type= « Groupement » / « Quartier »

# Code_qg

Description

Type

OK

Secteur

Code du Secteur

Description du Secteur

Type= « Chefferie » / « Cité » / « Secteur » / « Commune »

# Code_scc

Description

Type

OK

Village

Code du Village

Description du Secteur

# Code_villa

Description

OK

V. 1. 4. CONSTRUCTION DU MODÈLE CONCEPTUEL DE DONNÉES

Nous présentons maintenant le modèle conceptuel de données conçu à partir des entités et associations prélevées :

Personnes (# Code_Pers, Nom, Post-nom, Prénom, Sexe, Datenais, Nom_pere, Nom_mere, Photo, Empr_droit, Empr_gauche, Date_enrol)

Adresse (# Code_adr, Description)

Categories (# Code_cat, Description)

Village (# Code_villa, Description, Code_adr, Code_group)

Secteur (# Code_sect, Description, Type)

Territoire (# Code_territ, Description, Type)

Groupement (# Code_group, Description, Type)

Nvel_province (#Code_nprov, Description)

Province (#Code_prov, Description)

Centre_enrol (#Code_ce, Description, President)

Centre_enrol (# Code_ce, Description)

Territoire/Ville

#Code_tv

Description

Type

Groupement/Quartier

Contenir 1

Type

 

Secteur/Chefferie/Commune

#Code_scc

Description

Type

Personnes

#Code_pers

Nom

Postnom

Prenom

Sexe

Datenais

Nom_pere

Nom_mere

Photo

Empr_droit

Empr_gauch

Date_enrol

Nvel_province

#Code_nprov

Description

Categories

#Code_cat

Description

Adresse

#Code_adr

Description

Provinces

#Code_prov

Description

1, N

1, 1

Centre_enrol

#Code_ce

Description

President

1, 1

1, N

S'enrôler

Contenir 2

Contenir 3

1, 1

1, N

1, N

1, N

1, 1

1, N

1, 1

1, N

1, 1

1, 1

1, N

1, N

1, N

1, N

Village

#Code_villa

Description

1, 1

1, N

1, 1

1, 1

1, N

Comporter

Habiter

Correspondre

Retrouver

Provenir

Contenir 4

Groupement/Quartier

#Code_qg

Description

Type

Code_scc

Secteur/Chefferie/Commune

#Code_scc

Description

Type

Code_tv

Categories

#Code_cat

Description

Code_adr

Centre_enrol

#Code_ce

Description

President

Code_scc

Code_tv

Code_adr

Code_qg

Personnes

#Code_pers

Nom

Postnom

Prenom

Sexe

Datenais

Nom_pere

Nom_mere

Photo

Empr_droit

Empr_gauch

Date_enrol

Code_villa

Code_cat

Code_ce

 

Comporter

Provenir

Habiter

Correspondre

Territoire/Ville

#Code_tv

Description

Type

Code_nprov

Nvel_province

#Code_nprov

Description

Code_prov

Provinces

#Code_prov

Description

Village

#Code_villa

Description

Code_qg

Adresse

#Code_adr

Description

V. 1. 5. CONSTRUCTION DU MODÈLE PHYSIQUE DE DONNÉES

Pour une base de données, nous distinguons clairement deux choses : sa structure et son contenu.

Le schéma d'une base de données est défini par sa structure en terme de ses tables, leurs colonnes avec le type de valeurs, leurs identifiants primaires et secondaires, les contraintes référentielles.

Personnes

Nom du Champ

Type de données

Taille

Observations

# Code_Pers

Alphanumérique

10

Clé primaire

Nom

Alphanumérique

20

 

Post-nom

Alphanumérique

20

 

Prénom

Alphanumérique

20

 

Sexe

Alphanumérique

20

 

Datenais

Alphanumérique

20

 

Nom_pere

Alphanumérique

20

 

Nom_mere

Alphanumérique

20

 

Photo

Image

 
 

Empr_droit

Image

 
 

Empr_gauche

Image

 
 

Code_villa

Alphanumérique

20

Clé secondaire

Code_adr

Alphanumérique

20

Clé secondaire

Code_cat

Alphanumérique

20

Clé secondaire

Code_ce

Alphanumérique

20

Clé secondaire

Date_enrol

Date

20

 

Provinces

Nom du Champ

Type de données

Taille

Observations

Code_prov

Alphanumérique

10

Clé primaire

Description

Aplhanumérique

20

 

Nvel_provinces

Nom du Champ

Type de données

Taille

Observations

Code_nprov

Alphanumérique

10

Clé primaire

Description

Alphanumérique

20

 

Code_prov

Alphanumérique

10

Clé sécondaire

Village

Nom du Champ

Type de données

Taille

Observations

Code_villa

Alphanumérique

10

Clé primaire

Description

Alphanumérique

20

 

Code_qg

Alphanumérique

10

Clé secondaire

Groupement

Nom du Champ

Type de données

Taille

Observations

Code_group

Alphanumérique

10

Clé primaire

Description

Alphanumérique

20

 

Type

Alphanumérique

20

 

Code_scc

Alphanumérique

10

Clé secondaire

Adresse

Nom du Champ

Type de données

Taille

Observations

Code_adr

Alphanumérique

10

Clé primaire

Description

Alphanumérique

20

 

Categories

Nom du Champ

Type de données

Taille

Observations

Code_cat

Alphanumérique

10

Clé primaire

Description

Alphanumérique

20

 

Code_adr

Alphanumérique

10

Clé secondaire

Territoire

Nom du Champ

Type de données

Taille

Observations

Code_tv

Alphanumérique

10

Clé primaire

Description

Alphanumérique

20

 

Type

Alphanumérique

20

 

Code_nprov

Alphanumérique

10

Clé secondaire

Secteur

Nom du Champ

Type de données

Taille

Observations

Code_sect

Alphanumérique

10

Clé primaire

Description

Alphanumérique

20

 

Type

Alphanumérique

20

 

Code_territ

Alphanumérique

10

Clé secondaire

Centre_enrol

Nom du Champ

Type de données

Taille

Observations

Code_ce

Alphanumérique

10

Clé primaire

Description

Alphanumérique

20

 

Président

Alphanumérique

20

 

Code_scc

Alphanumérique

10

Clé secondaire

Code_adr

Alphanumérique

10

Clé secondaire

Code_tv

Alphanumérique

10

Clé secondaire

Code_qg

Alphanumérique

10

Clé secondaire

V.1. Application et Implémentation du Système

Dans cette partie du travail, nous avons choisis comme Système de gestion de base de données réparties pour la configuration de notre réplication, le SQL Server Management Studio 2008 et comme outil d'application cliente un des produits de Microsoft Visual Studio qui est le C Sharp (C#).

Code de génération de la Base de données Globale

USE [CENI-KIN]

GO

/****** Object: Table [dbo].[Centre_enrol] Script Date: 02/21/2012 12:09:17 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[Centre_enrol](

[code_ce] [varchar](10) NOT NULL,

[description] [varchar](20) NULL,

[president] [varchar](20) NULL,

[code_qg] [varchar](10) NULL,

[code_adr] [varchar](10) NULL,

[code_scc] [varchar](10) NULL,

[code_tv] [varchar](50) NULL,

CONSTRAINT [PK_Centre_enrol] PRIMARY KEY CLUSTERED

(

[code_ce] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

/****** Object: Table [dbo].[Categorie] Script Date: 02/21/2012 12:09:17 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[Categorie](

[code_cat] [varchar](10) NOT NULL,

[description] [varchar](20) NULL,

[code_adr] [nchar](10) NULL,

CONSTRAINT [PK_Adresse_Urbaine] PRIMARY KEY CLUSTERED

(

[code_cat] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

/****** Object: Table [dbo].[Adresse] Script Date: 02/21/2012 12:09:17 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[Adresse](

[code_adr] [varchar](10) NOT NULL,

[description] [varchar](20) NULL,

CONSTRAINT [PK_Adresse_Rurale] PRIMARY KEY CLUSTERED

(

[code_adr] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

/****** Object: Table [dbo].[Province] Script Date: 02/21/2012 12:09:17 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[Province](

[code_prov] [varchar](10) NOT NULL,

[description] [varchar](20) NULL,

CONSTRAINT [PK_Province] PRIMARY KEY CLUSTERED

(

[code_prov] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

/****** Object: Table [dbo].[Personnes] Script Date: 02/21/2012 12:09:17 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[Personnes](

[matr] [varchar](25) NOT NULL,

[nom] [varchar](20) NULL,

[postnom] [varchar](20) NULL,

[prenom] [varchar](20) NULL,

[sexe] [varchar](20) NULL,

[datenais] [varchar](20) NULL,

[nom_pere] [varchar](20) NULL,

[nom_mere] [varchar](20) NULL,

[date_enrol] [varchar](20) NULL,

[lieu] [varchar](50) NULL,

[photo] [image] NULL,

[empr_droit] [image] NULL,

[empr_gauch] [image] NULL,

[code_adr] [varchar](10) NULL,

[code_villa] [varchar](10) NULL,

[code_ce] [varchar](10) NULL,

[code_cat] [varchar](10) NULL,

CONSTRAINT [PK_Personnes] PRIMARY KEY CLUSTERED

(

[matr] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

/****** Object: Table [dbo].[Nvel_Province] Script Date: 02/21/2012 12:09:17 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[Nvel_Province](

[code_nprov] [varchar](10) NOT NULL,

[description] [varchar](20) NULL,

[code_prov] [varchar](10) NULL,

CONSTRAINT [PK_Nvel_Province] PRIMARY KEY CLUSTERED

(

[code_nprov] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

/****** Object: Table [dbo].[Territoire] Script Date: 02/21/2012 12:09:17 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[Territoire](

[code_tv] [varchar](10) NOT NULL,

[description] [varchar](20) NULL,

[type] [varchar](20) NULL,

[code_nprov] [varchar](10) NULL,

CONSTRAINT [PK_Territoire] PRIMARY KEY CLUSTERED

(

[code_tv] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

/****** Object: Table [dbo].[Secteur] Script Date: 02/21/2012 12:09:17 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[Secteur](

[code_scc] [varchar](10) NOT NULL,

[description] [varchar](20) NULL,

[type] [varchar](20) NULL,

[code_territ] [varchar](10) NULL,

CONSTRAINT [PK_Secteur] PRIMARY KEY CLUSTERED

(

[code_scc] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

/****** Object: Table [dbo].[Groupement] Script Date: 02/21/2012 12:09:17 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[Groupement](

[code_qg] [varchar](10) NOT NULL,

[description] [varchar](20) NULL,

[type] [varchar](20) NULL,

[code_scc] [varchar](10) NULL,

CONSTRAINT [PK_Groupement] PRIMARY KEY CLUSTERED

(

[code_qg] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

/****** Object: Table [dbo].[Village] Script Date: 02/21/2012 12:09:17 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[Village](

[code_villa] [varchar](10) NOT NULL,

[description] [varchar](20) NULL,

[code_qg] [varchar](10) NULL,

CONSTRAINT [PK_Village] PRIMARY KEY CLUSTERED

(

[code_villa] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

/****** Object: ForeignKey [FK_Groupement_Secteur] Script Date: 02/21/2012 12:09:17 ******/

ALTER TABLE [dbo].[Groupement] WITH CHECK ADD CONSTRAINT [FK_Groupement_Secteur] FOREIGN KEY([code_scc])

REFERENCES [dbo].[Secteur] ([code_scc])

ON UPDATE CASCADE

ON DELETE CASCADE

GO

ALTER TABLE [dbo].[Groupement] CHECK CONSTRAINT [FK_Groupement_Secteur]

GO

/****** Object: ForeignKey [FK_Nvel_Province_Province] Script Date: 02/21/2012 12:09:17 ******/

ALTER TABLE [dbo].[Nvel_Province] WITH CHECK ADD CONSTRAINT [FK_Nvel_Province_Province] FOREIGN KEY([code_prov])

REFERENCES [dbo].[Province] ([code_prov])

ON UPDATE CASCADE

ON DELETE CASCADE

GO

ALTER TABLE [dbo].[Nvel_Province] CHECK CONSTRAINT [FK_Nvel_Province_Province]

GO

/****** Object: ForeignKey [FK_Secteur_Territoire] Script Date: 02/21/2012 12:09:17 ******/

ALTER TABLE [dbo].[Secteur] WITH CHECK ADD CONSTRAINT [FK_Secteur_Territoire] FOREIGN KEY([code_territ])

REFERENCES [dbo].[Territoire] ([code_tv])

ON UPDATE CASCADE

ON DELETE CASCADE

GO

ALTER TABLE [dbo].[Secteur] CHECK CONSTRAINT [FK_Secteur_Territoire]

GO

/****** Object: ForeignKey [FK_Territoire_Nvel_Province] Script Date: 02/21/2012 12:09:17 ******/

ALTER TABLE [dbo].[Territoire] WITH CHECK ADD CONSTRAINT [FK_Territoire_Nvel_Province] FOREIGN KEY([code_nprov])

REFERENCES [dbo].[Nvel_Province] ([code_nprov])

ON UPDATE CASCADE

ON DELETE CASCADE

GO

ALTER TABLE [dbo].[Territoire] CHECK CONSTRAINT [FK_Territoire_Nvel_Province]

GO

/****** Object: ForeignKey [FK_Village_Groupement] Script Date: 02/21/2012 12:09:17 ******/

ALTER TABLE [dbo].[Village] WITH CHECK ADD CONSTRAINT [FK_Village_Groupement] FOREIGN KEY([code_qg])

REFERENCES [dbo].[Groupement] ([code_qg])

ON UPDATE CASCADE

ON DELETE CASCADE

GO

ALTER TABLE [dbo].[Village] CHECK CONSTRAINT [FK_Village_Groupement]

GO

Images de mes Bases de données et tables ainsi de ma Configuration

CONCLUSION

Nous voici arrivée au terme de notre étude portant sur « l'étude de la réplication symétrique asynchrone dans une base de données répartie. Application à l'enrôlement des électeurs » à la direction générale de la CENI située dans la ville province de Kinshasa occupant présentement le bâtiment ex. BCCE précisément sur le boulevard du 30 juin en face de l'ONATRA et à proximité de la gare centrale.

Nous voyons que la réplication se présente comme un avantage par rapport à la méthode de mise à jour utilisée actuellement à la CENI-Kinshasa.

Au-delà des besoins d'investissements supplémentaires à prévoir pour l'implémentation réelle de cette solution, la réplication est une nécessité qui rentre dans la même lignée que celle de la connexion à établir entre les différents sites pour l'enregistrement des électeurs.

La réalisation de ce projet résoudra à la fois des problèmes de sécurité, de disponibilité des données et sans oublier ceux des doublons, permettrait aux différents électeurs de voter à n'importe quel endroit et, obligerait l'Entreprise à établir une connexion entre ses différents sites d'enrôlement pendant ses opérations «  d'Identification et d'enrôlement des électeurs ».

Toutefois à ne pas oublier que la mise à niveau de l'environnement matériel et logiciel est à prévoir car les versions plus récentes des SGBD et autres logiciels offrent des outils qui simplifient encore davantage certains traitements.

Quoi qu'il en soit notre travail est une oeuvre humaine qui contient aussi des faiblesses. C'est pourquoi nous restons attentifs à toutes les remarques et suggestions possibles venant de vous afin de corriger pour qu'à la prochaine occasion nous puissions réaliser un bon travail.

BIBLIOGRAPHIE

I. OUVRAGES

[1] GABILLAUD J., « SQL Server 2008, administration d'une Base de données avec SQL Server Management Studio », Edition ENI Juin 2010.

[2] GARDARIN O. et GEORGES, « Client - Serveur », Edition Eyrolles, Paris 1996.

[3] GARDARIN O. et GEORGES, « Base de données - Objet/relationnel », Edition Eyrolles, Paris 1999.

[4] LEFEBVRE A., « Client - Serveur, guide de suivi », Edition Armand Colin 1994.

II. NOTES DE COURS

[5] KASENGEDIA MUTUMBE P., « Système d'Objet Réparti », Université de Kinshasa, année 2010.

[6] MBUYI MUKENDI E., «  Système d'information et Base de données », Université de Kinshasa, année 2011.

[7] MBUYI MUKENDI E., Notes de Cours, Base de Données et SQL, G3 Info, Université de Kinshasa, année 2009.

III. MEMOIRES ET THESES

[8] Christelle Pierkot, « Gestion de la Mise à jour de Données Géographiques Répliquées », Université de Toulouse, Juillet 2008.

[9] Djedje NKONGOLO, «Réalisation d'une application de gestion des malades par l'approche base de données. Cas de la Polyclinique aux bons soins », Université de Kinshasa, 2009.

[10] Felly Manda, « Etude sur la mise en place d'un environnement de gestion et de déploiement collaboratif dans une entreprise à plusieurs succursales. Cas de figure d'une banque », Université de Kinshasa, année 2010.

IV. ARTICLES SCIENTIFIQUES

[11] A. Luna-Almeida, JP. Briot, J. Mal enfant, S. Aknine, « Méthode de réplication basée sur les plans pour la tolérance aux pannes des systèmes multi-agents », Edition Université de Paris 6.

[12] Lambert SONNA MOMO, « Réplication et Durabilité dans les systèmes répartis », Edition, Février 2001.

V. WEBOGRAPHIE

[13] www.memoireonline.com (le 23 Août 2011)

[14] www.wikepedia.com (le 15 novembre 2011)

[15] www.commentçamarche.com (le 02 janvier 2012)

TABLE DES MATIERES

EPIGRAPHIE I

IN MEMORIAM II

AVANT - PROPOS IV

LISTE DES ABREVIATIONS V

LISTE DES FIGURES VI

INTRODUCTION 1

1. Généralités 1

2. Problématique 2

3. Hypothèse du Sujet 2

4. Choix du Sujet 2

5. Intérêt du Sujet 3

6. Délimitation du Sujet 3

7. Méthodes et Techniques utilisées 3

8. Subdivision du Travail 4

CHAPITRE I : BASE DE DONNEES REPARTIES ET SGBD RÉPARTIS [3][6][7][9] 6

I.1. INTRODUCTION AUX BASES DE DONNEES 6

I.1.1. Définition 6

I.1.2. Caractéristiques d'une base de données 6

I.1.3. Utilité d'une base de données 7

I.1.4. Types de base de données 7

I.1.5. Conception d'une base de données 8

I.2. BASE DE DONNEES REPARTIE 8

I.2.1. Définition 8

I.2.2. Caractéristiques d'une base de données répartie 10

I.2.3. Conception de la base de données répartie 10

I.3. Gestion des transactions 19

I.3.1. Introduction 19

I.3.2. Propriétés 20

I.3.3. Différent niveau de fragmentation de la répartition 21

II. SYSTEME DE GESTION DE BASE DE DONNEES (SGBD) 22

II.1. Définition 22

II.1.1. Objectif 22

II.1.2. Principe de fonctionnement 23

II.1.3. Type de système de gestion de base de données 24

III. Système de Gestion de Base de Données Répartis (SGBDR) 25

III.1. Définition 25

III.2. Fonctions 26

III.3. Remarque 26

CHAPITRE II : ARCHITECTURES CLIENT - SERVEUR [2][4][5][8][9] 28

II.1. PRESENTATION DE L'ARCHITECTURE CLIENT - SERVEUR 28

II.1.1. Définition 28

II.1.2. Fonctionnement de l'architecture Client - Serveur 29

II.2. TYPE D'ARCHITECTURE CLIENT - SERVEUR 30

II.2.1. Architecture à Un - tiers 30

II.2.2. Architecture à Deux - tiers 30

II.2.3. Architecture à Trois-tiers 31

CHAPITRE III : REPLICATION [6][8][9][10][11][12][13] 33

III.1. INTRODUCTION AUX REPLICATIONS 33

III.2. AVANTAGES ET DESAVANTAGES 33

III.3. DEFINITION 34

III.4. PRINCIPES DE LA REPLICATION 35

CHAPITRE IV. PRESENTATION DE L'ENTREPRISE 42

I. ANALYSE PREALABLE 42

I.1. Présentation et analyse de la structure du système (CENI) 42

A. Historique 42

B. Situation géographique 46

C. Objectif 46

D. Organisation 46

I.2. Description des activités 52

II. Etude de l'Opportunité 52

II.1. Besoin d'un système de réplication 52

CHAPITRE V. IMPLEMENTATION DU SYSTEME ET APPLICATION [6][7] 54

V. 1. Conception d'une base de données étape conceptuelle 54

V. 1. 1. Recensement des Objets / Entités 54

V. 1. 2. Recensement des Associations 54

V. 1. 3. Description des Attributs 55

V. 1. 4. Construction du Modèle Conceptuel de Données 56

V. 1. 5. Construction du Modèle Physique de Données 59

V.1. Application et Implémentation du Système 62

CONCLUSION 74

BIBLIOGRAPHIE 75

TABLE DES MATIERES 77