Avant de procéder à la conception et à l’implémentation du nouveau système d’information à l’usage de la DGDA Sud-Kivu, nous allons avant tout commencer par le concevoir. Du Modèle Conceptuel des Données au Modèle Physique des données en passant par le Modèle Logique des Données, nous pensons atteindre l’objectif d’offrir à la DGDA Sud-Kivu une application logicielle au service de dédouanement.
Le dictionnaire des données est un document qui permet de recenser, de classer et de trier toutes les informations (les données) collectées lors des entretiens ou de l’étude des documents [KAS2012].
Tableau II.7 : Dictionnaire de données
Libelle explicatif |
Champs |
Longueur |
Type |
Règle de calcul |
Documents |
Adres exploitat |
Adresse_Exploitat |
15 |
Texte |
- |
- |
Adres receveur |
Adresse_Receveur |
15 |
Texte |
- |
- |
Adres déclarant |
Adresse_Declarant |
15 |
Texte |
- |
- |
Adresse agence |
Adresse_Agence |
15 |
Texte |
- |
- |
Assurance |
Assurance |
- |
Monétaire |
- |
- |
Autres charges |
Autres_Charges |
- |
Monétaire |
- |
- |
Banque |
Banque |
15 |
Texte |
- |
- |
Code marchand |
Code_March |
6 |
Texte |
- |
- |
Code tarifaire |
Code_Tarifaire |
6 |
Texte |
- |
- |
Compt importat |
Compte_Importat |
6 |
Texte |
- |
- |
Date de l’ID |
Date_ID |
10 |
Date |
- |
- |
Date de l’OD |
Date_OD |
10 |
Date |
jj/mm/aaaa |
- |
Date du BD |
Date_BD |
10 |
Date |
jj/mm/aaaa |
- |
Date paiement |
Date_Paiement |
10 |
Date |
jj/mm/aaaa |
- |
Denomination |
Denomination |
15 |
Texte |
- |
- |
Droit consom. |
DC |
- |
Monétaire |
- |
- |
Droit d’entrée |
DE |
- |
Monétaire |
- |
- |
Lieu |
Lieu |
15 |
Texte |
- |
- |
Lieu chargement |
Lieu_Chargement |
15 |
Texte |
- |
- |
Lieu d’entrée |
Lieu_Entree |
15 |
Texte |
- |
- |
Mode paiement |
Mode_Paiement |
15 |
Texte |
- |
- |
Mode transport |
Mode_Transport |
15 |
Texte |
- |
- |
Montant à payer |
Montant_A_Payer |
- |
Monétaire |
- |
- |
Nom agence |
Nom_Agence |
15 |
Texte |
- |
- |
Nom déclarant |
Nom_Declarant |
15 |
Texte |
- |
- |
Nom importat |
Nom_Importateur |
15 |
Texte |
- |
- |
Nom receveur |
Nom_Receveur |
15 |
Texte |
- |
- |
Nombre de colis |
Nombre_Colis |
- |
Numérique |
- |
- |
Num déclarant |
Num_Declarant |
6 |
Texte |
- |
- |
Num receveur |
Num_Receveur |
6 |
Texte |
- |
- |
Numéro agence |
Num_Agence |
6 |
Texte |
- |
- |
Numero de l’ID |
Num_ID |
6 |
Texte |
A créer |
ID |
Numero de série |
Num_Serie |
6 |
Texte |
A créer |
NV |
Numéro du BD |
Num_BD |
6 |
Texte |
A créer |
BD |
Numero identité |
NumID_National |
6 |
Texte |
- |
- |
Numéro l’OD |
Num_OD |
6 |
Texte |
A créer |
OD |
Observation |
Observation |
15 |
Texte |
- |
- |
Pays d’origine |
Pays_Origine |
15 |
Texte |
- |
- |
Pays destination |
Pays_Destination |
15 |
Texte |
- |
- |
Pays provenance |
Pays_Provenance |
15 |
Texte |
- |
- |
Poids marchan |
Poids |
15 |
Texte |
- |
- |
Positio statistiq. |
Position_Statistique |
- |
Numérique |
- |
- |
Prix d’achat |
Prix_Achat |
- |
Monétaire |
- |
- |
Raison sociale |
Raison_Sociale |
15 |
Texte |
- |
- |
Regist commer |
Registre_Commerce |
6 |
Texte |
- |
- |
Taux DE |
Taux_DE |
- |
Numérique |
- |
- |
Taux TVA |
Taux_TVA |
Numérique |
- |
- |
|
Taux DC |
Taux_DC |
- |
Numérique |
- |
- |
TVA |
TVA |
- |
Monétaire |
- |
- |
Valeur douane |
Valeur_CIF |
- |
Monétaire |
- |
- |
Le modèle conceptuel de données (MCD) est un schéma représentant la structure du système d’information du point de vue de données, c’est-à-dire les objectifs d’une part et la dépendance ou relation entre les différentes données ou objets d’autre part au niveau du système d’information à concevoir. Il s’agit donc d’une représentation de données permettant de décrire de façon statique le système d’information à l’aide des concepts entité-association. Cette étape consiste donc à répondre à la question quoi ? C’est-à-dire qu’est-ce qu’il faut faire avec quelle donnée ? A ce niveau, on ne se préoccupe ni de l’organisation des données ni du matériel qui va traiter les données mais des modèles des données et de modèle de traitement que vont subir ces données [KAS2012].
Sur base du modèle conceptuel des flux et en nous appuyant sur la matrice des flux, les acteurs suivants ont été retenus comme entités : Importateur, Marchandise, Déclarant, Paiement, Tarification, Receveur, Agence, Ordre, Bordereau, Définitive.
En prenant en compte ces entités et en fonction des associations qui les lient, nous obtenons le schéma suivant :
Figure II.2 : Le schéma du modèle conceptuel de données (MCD)
Les règles de gestion
R1 : un importateur peut importer un ou plusieurs marchandises,
R2 : une agence en douane peut avoir un ou plusieurs déclarants,
R3 : une marchandise est constituée par un ou plusieurs produits,
R4 : un déclarant peut déclarer un ou plusieurs marchandises,
R5 : un importateur peut choisir un et un seul déclarant,
R6 : un ou plusieurs marchandises possèdent une seule tarification,
R7 : un importateur peut donner plusieurs ordres,
R8 : un ou plusieurs déclarants peuvent effectuer un ou plusieurs paiements,
R9 : un seul paiement peut concerner une ou plusieurs marchandises,
R10 : sur un bordereau peut figurer plusieurs marchandises,
R11 : une déclaration peut contenir une ou plusieurs marchandises,
R12 : un receveur peut livrer un ou plusieurs bordereaux.
La conception d’un modèle logique consiste à produire un schéma qui soit conforme au modèle d’une famille de SGBD et équivalent à un schéma conceptuel source. On réalise ce processus par une séquence de transformations appliquées au schéma conceptuel, jusqu’à ce que le résultat soit conforme au modèle cible. Ce point est consacré à la production d’un schéma relationnel à partir d’un schéma conceptuel entité-association [HAI2009].
Ainsi, le modèle logique de données (MLD) du MCD précèdent va se présenter schématiquement comme suit :
a)Schéma du modèle logique de données (MLD)
Figure II.3 : Le schéma du modèle logique de données
EFFECTUE (#Num_Declarant, #Num_Serie)
TARIFICATION (#Code_Tarifaire, Position_Statistique, DE, DC, TVA, Taux_DE, Taux_DC, Taux_TVA)
DECLARANT (#Num_Declarant, Nom_Declarant, Adresse_Declarant, Num_Agence)
IMPORTATEUR (#NumID_National, Raison_Sociale, Nom_Importateur, Adresse_Exploitation, Registre_Commerce, Compte_Importateur, Num_Declarant)
PAIEMENT (#Num_Serie, Mode_Paiement, Date_Paiement, Banque, Lieu, Montant_A_Payer)
MARCHANDISE (#Code_March, Nbre_Colis, Pays_Origine, Pays_Destination, Pays_Provenance, Denomination_March, Prix_Achat, Mode_Transport, Assurance, Lieu_Chargement, Valeur_CIF, Lieu_Entree, Autres_Charges, Code_Tarifaire, Num_Serie, Num_Declarant, Num_ID, Num_BD, Num_OD, NumID_National)
BORDEREAU (#Num_BD, Date_BD, Observation, Num_Receveur)
DEFINITIVE (#Num_ID, Date_ID)
AGENCE (#Num_Agence, Nom_Agence, Adresse_Agence)
RECEVEUR (#Num_Receveur, Nom_Receveur, Postnom_Receveur)
Le modèle physique de données décrit comment les données sont stockées sur la mémoire de la machine. Il est directement conditionné par les caractéristiques du système de gestion de base de données et du matériel utilisé. Les relations deviennent des fichiers des données, les attributs des champs deviennent des clés primaires, clés secondaires, clés étrangères. Le domaine de chacun ayant été déterminé dans le MLD, les tailles des champs devront être déterminées. Cette opération se fait en principe pendant l’élaboration du MLD [NTU2012].
Le schéma physique d’une base des données est une spécialisation du schéma logique pour un SGBD particulier appartenant à la famille du modèle logique. On parlera de la traduction d’un schéma logique relationnel en un schéma physique [HAI2009].
Nous avons levé l’option de travailler avec le système de gestion de base des données relationnelles (SGBDR) MS Access de la suite Office Microsoft 2007. Notre choix est justifié par le fait que ce système est d’utilisation facile. Au stade actuel de nos apprentissages, c’est le système que nous pensons avoir le mieux maitrisé. En plus, il offre l’avantage d’intégrer le langage Visual Basic for Applications, c’est une version de Visual basic conçue pour automatiser les tâches dans des applications bureautiques comme par exemple Word et Excel.
Microsoft Access est composé des différents objets dont nous pouvons citer : les tables, les requêtes, les formulaires, les états, les modules, les macros, la page.
II.5.5.1 Tables
Objet Access contenant les données à gérer, une table est composée des champs (colonnes) et d’enregistrements (lignes) [KAS2012]. Dans notre travail, nous avons 10 tables et une table supplémentaire qui nous permettra de faire la liaison.
Nous présentons ci-dessous une table en mode création et en mode feuille de données.
Figure II.4 : Exemple d’une table en mode création
Figure II.5 : Exemple d’une table en mode feuille de données
II.5.5.2 Requêtes
Une requête sert à poser des questions sur les données des tables à réaliser des actions sur ces données. Les requêtes servent aussi à combiner (ou joindre) des données issues de tables séparées. Elles sont également utiles pour modifier, supprimer ou ajouter rapidement de gros volume de données. Elles servent également à la construction des formulaires et des états. Dans notre travail, nous avons fait usage des requêtes sélections.
A titre illustratif, voici la requête « Requête3NV » en mode création et en mode feuille de données :
Figure II.6 : Exemple d’une requête en mode création
Voici l’exemple d’une requête en mode feuille de données :
Figure II.7 : Exemple d’une requête en mode feuille de données
II.5.5.3 Les formulaires
Le formulaire est en la représentation à l’écran du formulaire imprimé classique. Il permet l’ajout de données dans la base de données tout en les présentant sous une forme utile et agréable : il peut être de facture simple ou très élaboré, avec des graphiques et des filets. Il existe des possibilités de remplissage automatique de zones en fonction des données entrées dans d’autres zones. Par ailleurs, un formulaire peut en contenir un autre, ce qui autorise l’entrée de données dans plusieurs tables. Un formulaire permet d’effectuer la saisie, la modification, la suppression d’un enregistrement [RIG2000].
Notre base de données contient des formulaires d’ajout, de modification et de suppression des données. Il convient de noter que l’intégrité de notre base de données dépend fortement des programmes VBA associés aux difficultés boutons de commande.
En prenant l’exemple du formulaire d’ajout d’une agence, nous obtenons :
Figure II.8 : Exemple d’un formulaire d’enregistrement
Le bouton Enregistrer permet d’ajouter les données sur les agences grâce aux codes suivants :
Private Sub Enregistrer_Click ()
Dim db As Database, rs As Recordset
Set db = CurrentDb ()
Set rs = db.OpenRecordset ("Agence", dbOpenDynaset)
rs.FindFirst "Num_Agence='" & Me! FrmNum_Agence & "'"
If rs.NoMatch Then
rs.AddNew
rs!Num_Agence = Me!FrmNum_Agence
rs!Nom_Agence = Me!FrmNom_Agence
rs!Adresse_Agence = Me!FrmAdresse_Agence
rs.Update
DoCmd.OpenForm ("Confirmation 1")
Else
Me!FrmNom_Agence = rs!Nom_Agence
Me!FrmAdresse_Agence = rs!Adresse_Agence
DoCmd.OpenForm ("Confirmation 2")
End If
rs.Close
Me.Refresh
End Sub
Le bouton « Retour » permet de retourner au sous menu agence et les codes y associés se présentent comme suit :
Private Sub Retour_Click ()
DoCmd.Close
DoCmd.OpenForm ("Agence")
End Sub
Il est également possible de modifier et de supprimer les données d’une agence. D’où le formulaire :
Figure II.9 : Exemple d’un formulaire de modification
Les codes permettant de modifier les données de l’agence en douane sont les suivants :
Private Sub Modifier_Click ()
Dim db As Database, rs As Recordset
Set db = CurrentDb ()
Set rs = db.OpenRecordset ("Agence", dbOpenDynaset)
rs.FindFirst "Num_Agence='" & Me! FrmNum_Agence & "'"
If rs.NoMatch Then
MsgBox "Le numero entré est invalide"
Else
rs.AddNew
rs!Num_Agence = Me!FrmNum_Agence
rs!Nom_Agence = Me!FrmNom_Agence
rs!Adresse_Agence = Me!FrmAdresse_Agence
rs.Update
DoCmd.OpenForm ("Confirmation 4")
End If
rs.Close
Me.Refresh
End Sub
Quant aux codes pour supprimer une agence en douane, on aura :
Private Sub Supprimer_Click ()
Dim db As Database, rs As Recordset
Dim vreponse As Integer
Set db = CurrentDb ()
Set rs = db.OpenRecordset ("Agence", dbOpenDynaset)
rs.FindFirst "Num_Agence= '" & Me! FrmNum_Agence & "'"
If rs.NoMatch Then
MsgBox "Le numero entré est invalide"
Else
vreponse = MsgBox ("Voulez-vous supprimer?", vbYesNo, "supprimer l'Agence")
If vreponse = vbYes Then
rs.Delete
DoCmd.OpenForm ("Confirmation 3")
End If
End If
rs.Close
End Sub
II.5.5.4 Les états
L’état sert à afficher et à imprimer les données sous une forme adéquate. C’est un objet Access permettant la mise en forme des données en provenance d’une table ou requêtes en vue de leur impression [RIG2000]. Dans notre travail, nous avons 5 états à savoir: La déclaration pour l’importation définitive, l’ordre de déclaration, la note de versement, le bordereau en douane et la statistique des importations.
Parmi ces états, nous allons vous présenter seulement : l’ordre de déclaration, la déclaration pour l’importation définitive et la statistique des importations.
IFigure II.10 : L’état de l’ordre de déclaration
Figure II.11 : L’etat de statistique des importations
Figure II.12 : L’état de la déclaration pour l’importation définitive
Pour lancer la page d’accueil, on double clic sur l’icône de notre logiciel « GESTDOUANE ».
Figure II.13 : Page d’accueil
Après quelques secondes la page d’accueil disparait automatiquement pour céder la place au « Menu principal ». Le menu principal représente toutes les applications de notre logiciel. Il se présente de la manière suivante :
Figure II.14 : Menu principal
En cliquant sur chaque bouton on ouvre un sous menu permettant d’énumérer les actions à exécuter sauf pour le bouton « Quitter l’application » qui permet de quitter le logiciel GESTDOUANE. Les sous menus présentent une liste des boutons chacun ayant un rôle bien déterminé. Nous allons vous montrer l’image du sous menu création et du sous menu modification.
Figure II.15 : Sous menu création
Ce sous menu vous permet de créer tous les acteurs de la base de données.
Figure II.16 : Sous menu modification
Ce sous menu vous permet de modifier tous les acteurs de la base de données.