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


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

 > 

Mise en place d'une application web pour la gestion des certificats de mariage en RDC

( Télécharger le fichier original )
par Gabriel DUNIA
Université protestante de Lubumbashi - Ingénierie informatique 2013
  

précédent sommaire suivant

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

Resumé :

Les requérants se présentent devant le commis chargé de mariage pour

s'enregistrer.

Pré-condition :

- Demande du montant exigé pour l'octroi de la fiche,

- la fiche d'enregistrement est imprimée et remit aux requérants.

Scénario :

- Le commis chargé de mariage reçoit les requérants,

- Il leurs exige le paiement d'un montant fixé pour la fiche

d'enregistrement

- Les requérants paient la somme exigé

Post-condition :

- Paiement frais de la fiche validé.

- Remise de la fiche.

b) Cas d'utilisation : Enregistrer fiche extrait mariage Acteur : Commis chargé de mariage, Requérants

Résumé :

- Après paiement du montant exigé pour la fiche de mariage,

- le commis chargé de mariage demande les identités des requérants pour enregistrement.

Pré-condition :

- Fiche reçue par les requérants pour remplir

Scénario :

- Frais de la fiche payé,

- le commis leurs montre comment remplir les renseignements dont l'état-civil aura besoin pour leur mariage.

44

Post-condition :

- Identités enregistrées dans le registre de mariage.

- Il transmet à l'officier de l'état-civil pour célébration du mariage.

c) Cas d'utilisation : Livrer fiche extrait de mariage Acteurs: Requérants, Officier de l'état-civil

Résumé :

- Les requérants après avoir rempli les renseignements nécessaires sur la fiche projet de mariage avec le commis chargé de mariage,

- Le commis chargé de mariage remet à l'officier de l'état-civil pour l'enregistrement dans le registre de mariage avant de passer à la livraison de la fiche extrait ou acte de mariage.

Pré-condition :

- La fiche de projet mariage est remplit par les requérants,

- Le commis en charge de mariage fait son rapport et dépose au bureau de l'officier de l'état-civil

Scénario :

- Le commis chargé de mariage se rassure que les renseignements sur la fiche est conforme aux informations des requérants,

- Puis fait rapport à l'officier de l'état-civil pour la remise de la fiche extrait de mariage aux requérants après célébration du mariage.

Post-condition :

- L'officier après célébration du mariage

- remet la fiche extrait de mariage aux requérants.

45

II.4. CRITIQUES DE L'EXISTANT ET DIAGNOSTIQUE

II.4.1. POINT FORT

Après analyse, nous pouvons dire que le système existant a comme point fort l'enregistrement au manuscrit avant encodage des requérants sollicitant la fiche de mariage. C'est-à-dire que chaque détenteur d'une fiche de mariage a un numéro qui lui est attribué pour permettre un bon suivi selon le numéro d'ordre.

II.4.2. POINTS FAIBLES

Les points faibles du système existant sont les suivants :

? La lenteur dans le processus de sollicitation et réplique des fiches d'extrait mariage au bureau de l'officier de l'état-civil;

? Manque de suivi après enregistrement d'un couple dans une commune, une ville voire même au niveau du pays ;

? Aucun moyen disponible pour les autres bureaux de l'état-civil que sa soit au niveau provincial ou national pour pouvoir consulter les certificats de mariage des sujets congolais enregistrés.

II.5. PREPARATION DE LA SOLUTION

Après comparaison entre les différents points forts et les points faibles du système existant, il est important de trouver un moyen d'atténuation des vices qui prévalent plus sur les qualités. Ainsi, nous proposons de passer à une solution automatisée de ce processus existant.

46

II.6. MODELISATION DU NOUVEAU SYSTEME

Diagramme de cas d'utilisation du futur système :

Enregistrer Extrait Mariage

«include»

S'authentifier

Consulter extrait mariage

Livrer fiche extrait mariage

«include»

«include»

Gerer système informatique

Administrateur

Commiss. Chargé mariage

Officier de l'Etat

47

Pré-conditions :

· Affichage de la page d'accueil

· Choix sur le menu d'édition d'un extrait de mariage

Post-condition :

· L'interface d'édition de l'extrait de mariage est affichée

· Contrat d'opération-système : « échec authentification » Spécifications :

Nom : échec Authentification

Responsabilité : Lorsqu'il y a échec d'authentification, le système restitue la page d'accueil avec un message d'erreur.

Référence : Cas d'utilisation « solliciter un extrait de mariage ))

Pré-condition :

· Login et/ou mot de passe non enregistré dans l'application web ou encore mal saisi.

Post-condition :

· Page d'accueil restituée

· Contrat d'opération : « Solliciter un extrait de mariage » Spécifications :

Nom : solliciter extrait de mariage

Responsabilité : L'extrait de mariage est édité par un bureau de l'état-civil de la province ou du pays.

Référence : Cas d'utilisation « solliciter un extrait de mariage ))

Pré-conditions :

Authentification réussie avec privilège d'un parquet

Choix désigné sur le menu d'édition d'un bulletin de condamnation

Post-condition :

Le certificat de mariage est édité avec les attributs suivants :

48

a) Pour l'homme : code_hom, nomhom, postnomhom, prenomhom, nomdupere, nomdelamere, nationalite, professionhom, provinceorigine, territoire, district, village, provinceactuelle, ville, commune, quartier, avenue, numero, montantdot, restedot, numerotelephone, nomtemoinhom, nomtemoinfem.

b) Pour la femme :

Code_fem,nom_fem, postnom_fem, prenom_fem, nomdupere, nomdelamere, nationalite, profession_fem, provinceorigine, territoire, district, village, provinceactuelle, ville, commune, quartier, avenue, numero, numerotelephone, nom_temoin_hom, nom_temoin_fem.

Nom : Enregistrer

Responsabilité :

Un bureau de l'état-civil enregistre toutes les Identités des requérants

sur l'interface d'édition de certificat de mariage, ces informations vont dans la

base de données, une fois validé via le bouton d'enregistrement.

Référence :

Cas d'utilisation « solliciter extrait de mariage »

Pré-condition :

Edition des informations sur l'interface d'édition d'un certificat de mariage

Post-condition :

Les identités liées à un couple (requérant) sont enregistrées dans la base de

données.

Itération 2 : Cas d'utilisation « Délivrer extrait de mariage »

Contrat d'opération : « Saisir les informations de l'extrait de mariage» Spécification :

Nom : Saisir les informations concernant l'extrait de mariage et faire signer par l'officier de l'état-civil »

Responsabilité : Le préposé l'état-civil saisit les données de l'extrait de mariage à la demande des requérants de l'extrait de mariage et l'envoie au bureau de l'officier de l'état-civil pour signature.

49

Référence : cas d'utilisation : « Délivrer extrait de mariage »

Pré-conditions :

> Interface de saisie d'extrait de mariage est présente

> Authentification réussie.

> saisie terminée

> Interface d'impression s'affiche

Post-condition :

> Saisie terminée et l'extrait de mariage est imprimée puis amené au bureau de l'officier de l'état-civil pour la signature.

Itération 3: Cas d'utilisation : «Gérer le système informatique»

Parmi tous les scénarios possibles du cas d'utilisation (C.U.) Gérer le système informatique nous nous intéresserons aux scénarios (opérations système) suivants :

? Créer utilisateur {créer utilisateur, créer login, créer mot de passe et privilège}

? Modifier utilisateur {modifier utilisateur, modifier login, modifier mot de passe et privilège}

? Supprimer utilisateur {Supprimer utilisateur, supprimer login, supprimer mot de passe, supprimer privilège}

a. Opération système « Créer utilisateur » :

> Responsabilité : créer un nom et un mot de passe d'authentification pour chaque utilisateur du système en vue de veiller sur la sécurité et la fiabilité de ce dernier.

> Référence : cas d'utilisation gérer le système informatique

50

> Pré conditions :

- L'administrateur est connecté

- L'administrateur est authentifié > Scénario Nominal

1. L'administrateur attribue un mot de passe et un nom d'identification

2. Il saisie les coordonnées du nouveau compte d'utilisateur

3. Il octroi des privilèges au nouveau utilisateur

4. Il valide la création du compte

> Scénario d'erreur

En cas d'un compte qui existe déjà, un message d'erreur est affiché à l'écran de l'administrateur lui avertissant qu'un compte existant porte le même nom et lui recommande de ressaisir les informations de création du compte et le cas d'utilisation reprend à l'étape 2 su scénario nominal.

> Post conditions

· Une instance de la classe compte utilisateur cu est crée avec ses attributs (numero, datecreation, login, motdepasse, type, privilège)

> Exigences non fonctionnelles

· Le compte ainsi que ses informations sont bien sécurisé et durant la session de travail de l'administrateur

· Le système est fiable, robuste > Description formelle

Pour une bonne modélisation de ce scénario nous allons y faire collaborer les objets suivants :

· Un acteur administrateur qui sera devant l'écran

· Un objet compte qui est crée en cours du scénario

· Un contrôleur de compte

· Un objet écran

51

II.6.2. DIAGRAMMES DES SEQUENCES DES DIFFERENTES ITERATIONS :

Le diagramme de séquences représente la succession chronologique des différentes opérations que réalise un acteur. Le diagramme de séquence décrit le dynamique du système ; à moins de modéliser un très petit système.

Il est difficile de représenter tout le système dynamique dans un seul diagramme de séquence, chacun étant généralement lié à une sous-fonction du système. Le diagramme de séquence décrit les interactions entre un groupe d'objets en montrant, de façon séquentielle les envois de messages qui interviennent entre les objets.

Le diagramme peut également montrer les flux de données échangées lors des envois de messages. Les diagrammes de séquences des itérations citées ci-haut sont les suivantes :

Affichage interface consultaion mariage en cours

msg: impossible car dejà marié ou divorsé

OPT

Affichage interface consultaion mariage en cours

S'authentifier

OPT

Demande certificat mariage

Message Erreur

mariage

Saisie Authentification

verifier si pas encore marié ou divorsé

Afficher

Afficher

Enregistrer

Requerant

create()

Verification en cours

Create()

er Authentification

Enregistrement

52

II,6,2,1, ENREGISTRER FICHE DEMANDE DE MARIAGE

Comiss chargé mariage Page Accueil Form consultation

Form demande mariage Ctrl DM DM: demande_Mariage

53

II,6,2,2, DELIVRER UN EXTRAIT DE MARIAGE

Préposé Etat civil Page Accueil Frm consult. certificat

S'authentifier

OPT

interface consultation certificat mariage affiché

saisir identité des mariés

Erreur!! Réquerant non reconnus

Identité des mariés affichées

Message Erreur

Imprimer certificat de mariage

impression affectué avec succès Impression en cours

mariage

Saisie Authentification

OPT

information affichées

Frm cetificat mariage Ctrl M M: Mariage

Verifier

Afficher

Recherche identité mariés

54

II.6.3. GERER LE SYSTEME INFORMATIQUE

II.6.3.1. DIAGRAMME DE COMMUNICATION DE L'OPERATION SYSTEME « CREER UTILISATEUR »

1.CreerCompte ()

: EcranGeneral

a.

Administrateur

2. Saisicompte(login, passwd, privilege)

1.1. Activer

1.2. Ecran afficher

2.2.Create(login, pwd, privilege)

2.4. Félicitation

2.1.Init(login, pwd, privilege)

: EcranCompte 2.3. Afficher controlCompte

c: Compte

Opération système « Modifier compte »

II.6.3.2. DIAGRAMME DE COMMUNICATION « MODIFIER UTILISATEUR »

b.

1.ModifierCompte ()

: EcranGeneral

Administrateur

2. Saisimodifcompte(login, passwd, privilege)

1.1. Activer

1.2. Ecran afficher

2.2.Update(login, pwd, privilege)

2.4. Félicitation

2.1.Init(login, pwd, privilege)

2.3. Afficher

: EcranCompte controlCompte

c: Compte

Opération système « supprimer utilisateur »

55

II.6.3.3. DIAGRAMME DE COMMUNICATION « SUPPRIMER UTILISATEUR »

1.SupprimerCompte ()

: EcranGeneral

Administrateur

2. SuppCompte(c)

1.2. Ecran afficher

2.4. Félicitation

1.1. Activer

2.1.Init(c)

2.2. Destroy (c)

c: Compte

: EcranCompte 2.3. Afficher controlCompte

II.6.3.4. DIAGRAMME DE CLASSES DE CONCEPTION « COMPOSANT : GERER SYSTEME INFORMATIQUE »

-Numero : input -login : input

-mot de passe : input

+creer($numero,$login,$mopass,$type)

+modifier($compte)

+supprimer($compte)

ECRAN_CONSULTATION

1..*

+creercompte(numero,login,mopass,type) +modifiercompte() +supprimercompte() Affichertout()

Controleurcompte

«Paramettre»

Administrateur

Figure 1 diagramme de classe de conception

Compte

-numero: int -login: string -mopass: password -type: string

+getinfo()

+creer()

+modifier()

56

II.6.3.5. DIAGRAMME DE COMPOSANTS

Le diagramme de composant permet de représenter les composants logiciels d'un système ainsi que les liens existant entre ces composants.19

Ce diagramme montre les unités logicielles à partir desquelles on a construit les systèmes informatiques, ainsi que leur dépendance ; il représente aussi les concepts connus de l'existant pour installer et dépanner le système. Il s'agit de déterminer la structure des composants d'exploitation que sont les librairies dynamique, les instances de base de données, les applications, les pros logiciels, les objets distribués, les exécutables, etc.20 Ainsi un composant représente une entité logicielle d'un système. (Fichier de code source, programmes, documents, fichiers de ressource .etc.).

Un composant est représenté par une boîte rectangulaire, avec deux rectangles dépassant du côté gauche.

Chaque composant est assimilé à un élément exécutable du système. Il est caractérisé par :

? un nom ;

? une spécification externe sous forme soit d'une ou plusieurs interfaces requises, soit d'une ou plusieurs interfaces fournies;

? Un port de connexion.

Le port d'un composant représente le point de connexion entre le composant et une interface. L'identification d'un port permet d'assurer une certaine indépendance entre le composant et son environnement extérieur.

Un composant est représenté par un classeur avec le mot-clé « composant » ou bien par un classeur comportant une icône représentant un module.

19 Joseph GABAY, UML2 Analyse et Conception, DUNOD, Paris, 2008

20 P. ROQUES et Franck VALLEE, UML en Action : De l'Analyse des besoins à la Conception, Ed. EYROLLES

57

Figure 2 Diagramme de composant du nouveau système

II.7. DEPLOIEMENT DU SYSTEME

Dans cette partie nous allons décrire l'implantation physique de notre application grâce à un diagramme proposé par UML : le diagramme de déploiement.

Le diagramme de déploiement permet de représenter l'architecture physique supportant l'exploitation du système. Cette architecture comprend des noeuds correspondant aux supports physiques (serveurs, routeurs...) ainsi que la répartition des artefacts logiciels (bibliothèques, exécutables...) sur ces noeuds. C'est un véritable réseau constitué de noeuds et de connexions entre ces noeuds qui modélise cette architecture.21

? Un noeud correspond à une ressource matérielle de traitement sur laquelle des artefacts seront mis en oeuvre pour l'exploitation du

21 J. GABAY, UML2 Analyse et Conception, Dunod, Paris, 2008, p50

58

système. Les noeuds peuvent être interconnectés pour former un réseau d'éléments physiques.

? Un artefact est la spécification d'un élément physique qui est utilisé ou produit par le processus de développement du logiciel ou par le déploiement du système. C'est donc un élément concret comme par exemple : un fichier, un exécutable ou une table d'une base de données.

nom :Mozila Firefox

nom :Mozila Firefox

Noeud Commis chargé mariage

Noeud Bourgoumestre

«Artefact»

Navigateur

«Artefact»

Navigateur

http

http

nom : Appache

version Apache/2.2.11 (Win32) PHP/5.3.0

Version du client MySQL: mysqlnd 5.0.7-dev

Extension PHP: mysql

nom :Mozila Firefox

nom : MySQL

Version : 5.1.36-community-log version protocol : 10

Serveur: IP via TCP/IP

http*

Noeud Administrateur

«Artefact»

Navigateur

HEBERGEUR

«artefect»

webServer

«artefect»

DBServer

Figure 3 diagramme de déploiement du système

II.7.1. CONCEPTION DE LA PERSISTANCE

La question ici est de savoir comment seront stockées les informations de notre base de données. Les bases de données relationnelles sont au centre des systèmes d'information modernes. La standardisation du langage SQL en 1987 et la mise en réseaux des postes de travail mettent à la disposition de tous, les données de l'entreprise pour être analysées, mise en page, médiatisées...

Pour effectuer ce passage du fichier à la relation, du programme à la requête, nous tiendrons compte des concepts de bases du modèle relationnel et sa mise en application avec le langage SQL.

59

La notation UML (Rational Rose parle de profil UML pour les bases de données) permet de modéliser un schéma relationnel (le diagramme de classes représentant un ensemble de tables). Pour préciser qu'une classe représentera une table, on utilise le stéréotype <<Table>>. La classe contient des attributs. On peut relier plusieurs classes entre elles en prenant garde d'insérer convenablement les clés étrangères. Il est aussi possible d'utiliser les agrégations pour renforcer le couplage d'une association.

-id_adr : int PK -provinceorigine : (20) -territoire: varchar(15) -district : varchar(15) -village: varchar(15) -provinceactuelle :varchar(15) -ville: varchar(15)

-commune : varchar(15) -quartier : varchar(15) -avenu : varchar(20) -numparcelle :int

adresse_requerant

voir

1

requerant

-idreq: int PK

-coderequerent: varchar (8) PK

-nom:varchar(15)

-postnom : varchar(15) -prenom: varchar(15) -nomconjoint : varchar (15) -nationalite : varchar(20) -profession: varchar(15) -montantdot :int

-restdot: int

-numtelephone : int

-nomtemoin: varchar(15)

-nud id : int PK

-nomhom :varchar(15) -postnomhom : varchar(15) 1 -prenomhom: varchar(15) -nomfem :varchar(15) -postnomfem : varchar(15) -prenomfem : varchar(15) -datecelebration

parent_marie -idparent : int PK -codrequerent : varchar (8) -nompere: varchar(30) -nommere:varchar(30)

certificat_mariage

figurer

1..*

celebrer 1..*

agent_etat_civil

-id int (5) PK

-matriculagent varchar (10) PK -nom: varchar (15) -postnom : varchar (15) -province : varchar (15) -ville : varchar (15) -commune : varchar (15)

Figure 4 Diagramme de classe de persistance

II.7.2. DERIVATION DU MODEL LOGIQUE DES DONNEES.

Nous décrivons dans cette phase les transformations à effectuer afin de dériver un schéma logique relationnel ou objet.

Le modèle relationnel est à l'origine du succès que connaissent aujourd'hui les grands éditeurs de SGBD (système de gestion de bases de données), à savoir Oracle, IBM, Microsoft, Informix, Sybase et CA-Ingres. Le

60

but initial de ce modèle était d'améliorer l'indépendance données/ traitements.22

Règles de transformation :

? Chaque entité devient une relation.

? L'identifiant de l'entité devient clé primaire pour la relation.

? Chaque classe du diagramme UML devient une relation.

? Il faut choisir un attribut de la classe pouvant jouer le rôle d'identifiant

? Si aucun attribut ne convient en tant qu'identifiant, il faut en ajouter

un de telle sorte que la relation dispose d'une clé primaire (les outils

proposent l'ajout de tels attributs).

? Transformation des associations

Les règles de transformation que nous allons voir dépendent des

cardinalités/multiplicités maximales des associations. Nous distinguons

trois familles d'associations :

? un-a-plusieurs ;

? plusieurs-a-plusieurs ou classes-associations, et n-aires ;

? un-a-un.

Associations un-à-plusieurs

Il faut ajouter un attribut de type clé étrangère(FK) dans la relation fils de l'association. L'attribut porte le nom de la clé primaire de la relation père de l'association. On peut se rappeler cette règle de la manière suivante : la clé de la relation père migre dans la relation fils.

Associations un-à-un

La règle est la suivante, elle permet d'éviter les valeurs NULL dans la base de données. Il faut ajouter un attribut clé étrangère dans la relation dérivée de l'entité ayant la cardinalité minimale égale à zéro. Dans le cas d'UML, il faut ajouter un attribut clé étrangère dans la relation dérivée de la

22 Christian SOUTOU : UML2 pour les Bases de données, Ed. Eyrolles, p 103-104

agent_etat_civil

-id int (5) PK

-matriculagent varchar (10) PK

-nom: varchar (15)

-postnom : varchar (15)

-province : varchar (15)

-ville : varchar (15)

-commune : varchar (15)

+ajouter

+supprimer

+modifier

parent_marie -idparent : int PK -codrequerent : varchar (8) -nompere: varchar(30) -nommere:varchar(30) +ajouter

+supprimer

+modifier

.*

celebrer

figurer

1..*

certificat_mariage

-nud id : int PK

-nomhom :varchar(15) -idparent : int FK -matriculagent: varchar FK -postnomhom : varchar(15) -prenomhom: varchar(15) -nomfem :varchar(15) -postnomfem : varchar(15) -prenomfem : varchar(15) -datecelebration

+ajouter

+supprimer

+modifier

requerant

-idreq: int PK

-coderequerent: varchar (8) PK

-id_adre : int FK

-nom:varchar(15)

-postnom : varchar(15) -prenom: varchar(15) -nomconjoint : varchar (15) -nationalite : varchar(20) -profession: varchar(15) -montantdot :int

-restdot: int

-numtelephone : int

-nomtemoin: varchar(15)

+ajouter

+supprimer

+modifier

voir

adresse_requerant -id adr : int PK -provinceorigine : (20) -territoire: varchar(15) -district : varchar(15) -village: varchar(15) -provinceactuelle :varchar(15) -ville: varchar(15)

-commune : varchar(15) -quartier : varchar(15) -avenu : varchar(20) -numparcelle :int

+ajouter

+supprimer

+modifier

61

classe ayant la multiplicité minimale égale à un. L'attribut porte le nom de la clé primaire de la relation dérivée de l'entité (classe) connectée à l'association.

62

CHAPITRE TROISIEME : CARACTERISTIQUES TECHNIQUES ET DEVELOPPEMENT DE L'APPLICATION

III.1. PRESENTATION ET MOTIVATIONS DE CHOIX DU LANGAGE PHP III.1.1. CHOIX DU LANGAGE DE PROGRAMMATION A UTILISER

La programmation est définit comme un ensemble des tâches à effectuer à partir d'un ordinateur pour réaliser un programme. Il faudra d'abord analyser le problème à traiter qui doit aboutir à l'élaboration d'un algorithme interprétable dans un langage compréhensible pour la machine (l'ordinateur).

Un langage de programmation est un langage informatique, permettant à un être humain d'écrire un code source qui sera analysé par une machine, généralement un ordinateur. Le code source subit ensuite une transformation ou une évaluation dans une forme exploitable par la machine, ce qui permet d'obtenir un programme. Les langages permettent souvent de faire abstraction des mécanismes de bas niveau de la machine, de sorte que le code source représentant une solution puisse être écrit et compris par un être humain.

L'activité de rédaction du code source d'un programme est nommée programmation. Elle consiste en la mise en oeuvre de techniques d'écriture et de résolution d'algorithmes informatiques. A ce titre, un langage de programmation se distingue du langage mathématique par sa visée opérationnelle (une fonction et par extension, un programme, doit retourner une valeur), de sorte qu'un « langage de programmation est toujours un compromis entre la puissance d'expression et la possibilité d'exécution».

Un programme est une suite d'instructions rédigées dans un langage particulier et utiliser par l'ordinateur pour effectuer un traitement bien déterminer.

63

a) ARCHITECTURE MATERIELLE

La conception de notre application devra respecter l'architecture trois tiers du fait qu'il aura à faire une interaction entre les interfaces (Client), la base de données (Serveurs) et les différents programmes (Applications).

Fig. 11 : Echange client-serveur 3-tiers

Pour faire tourner cette application il faudra disposer d'une machine (ordinateur) ayant les caractéristiques minimum suivantes : CPU 1 GHz, HDD 10 Go, RAM 512 Mo, sur la quelle sera installée le système d'exploitation Windows Serveur 2008 ou plus a défaut Windows serveur 2003.

Cette machine fera office d'un serveur, c'est-à-dire elle devra être configurée comme un serveur avec : le serveur Apache, le serveur MySQL et le PHP qui doivent être installés dessus. Il faudra aussi disposer d'un routeur et d'un Switch pour une bonne configuration de l'intranet ainsi que le réseau LAN.

b) CHOIX DU LANGAGE DE PROGRAMMATION

Notre choix est porté sur le langage HTML (Hyper Text Markup Language) qui définit la structure logique d'un document web composé d'un ensemble de commandes de formatage basé sur la notion d'environnement possédant un début et une fin appelé délimiteur (tags ou marqueurs), accompagné du langage PHP qui est un langage de script côté serveur; embarqué dans les pages HTML ayant une syntaxe héritée du C et du Perl. Il est extensible (nombreuses bibliothèques) et supporte pratiquement tous les standards du web.

64

Le PHP est un logiciel Open Source (Licence PHP de type BSD), qui sera aussi associé au JavaScript qui est un langage de script qui s'exécute du côté client.

En guise de présentation, le langage PHP (historiquement Personal Home Page, officiellement acronyme récursif de PHP : Hyper text Preprocessor) a été créé par RASMUS LERDORF en 1994, pour ses besoins personnels.

Comme dans beaucoup d'autres cas, la mise à disposition du langage sur l'Internet est à l'origine de son développement par d'autres utilisateurs qui y ont vu un outil propre à satisfaire leurs besoins. Après plusieurs évolutions importantes ; PHP le plus souvent associé à MySQL est à l'heure actuelle le plus répandu des langages de programmation pour les sites web.

PHP est un langage de programmation web, très proche syntaxiquement du langage C, destiné à être intégré dans des pages HTML. Contrairement à d'autres langages, PHP est principalement dédié à la production des pages HTML générées dynamiquement.

Le langage PHP donne lieu à un dynamisme dans la conception des applications web. Un script PHP est exécuté par un interpréteur situé du côté serveur. En cela, PHP est complètement différent d'un langage comme JavaScript, qui s'exécute sur le navigateur. En général, l'interpréteur PHP est intégré à Apache sous forme de module, et le mode d'exécution est alors très simple.

Quand un fichier avec une extension .php est demandé au serveur web, ce dernier le charge en mémoire et y cherche tous les scripts PHP qu'il

transmet à l'interpréteur. L'interpréteur exécute le script, ce qui a pour
effet de produire du code HTML qui vient remplacer le script PHP dans le document finalement fourni au navigateur. Ce dernier reçoit donc du HTML pur et ne voit jamais la moindre instruction PHP23.

23 Rigaux P., Pratique de MySQL et PHP : Conception et réalisation des sites web dynamiques, 4e éd., Dunod, Paris, 2009, pp. 20 à 23.

65

En particulier, il est possible à partir d'un script PHP, de se connecter à un serveur MySQL pour récupérer des données que l'on va ensuite afficher dans des documents HTML.

c) LES AVANTAGES DE PHP

Les avantages du langage PHP sont nombreux, nous citerons quelques uns entre autre :

· le client n'a pas accès au code source puisque celui-ci est interprété avant envoi,

· Le client ne reçoit que le résultat de l'exécution du script. On peut configurer le serveur HTTP pour masquer complètement la qualité dynamique des pages, le code n'est pas alourdi par des commandes destinées à générer la page HTML.

Le langage possède également des nombreuses bibliothèques ou modules pour :

· Le calcul mathématique,

· La création dynamique d'images,

· La gestion de sessions,

· Les connexions sécurisées (SSL),

· L'accès à la plupart des SGBD,

· L'accès aux bases LDAP...

d) LES INCONVENIENTS DE PHP

Le langage PHP n'est pas aussi rapide que le langage PERLE ou certains CGI mais plus portable, pas aussi simple que ASP, VB Script mais plus respectueux des standards web et sous licence Open Source (plus facilement extensible), pas d'interactivité au niveau du client (on doit quand même utiliser du JavaScript dans ces cas là).

66

III. 1.2. PLATES FORMES DE FONCTIONNEMENT DE L'APPLICATION

A la question de savoir sur quelle plate forme notre application pourrait fonctionner, nous répondons comme suit: Vu que le PHP est un langage multi plates formes cette application aura à fonctionner sur n'importe quelle plate forme mais seulement il faudra avoir une meilleure version du serveur MySQL, le serveur Apache et le PHP appropriée à chacune de plates formes.

III.1.3. PRESENTATION ET MOTIVATIONS DU SGBD MYSQL

Les systèmes de gestion de base des données que nous avons analysés ont chacun leur force et leur faiblesse. Si la décision n'est pas déjà prise, ou même si elle l'est, chacune sera prise en considération.

C'est ainsi que nous avons conclu que les systèmes de gestion de base des données en accès libre (freeware), telles MySQL et PostgreSQL, sont de très bonnes solutions d'entrée de gamme. Le coût en est très abordable, ils sont gratuits ; ces systèmes de gestion de base des données sont faciles à installer et à maintenir.

Ces deux Systèmes de gestion de base des données reposent sur le modèle du développement de logiciel le plus récent, qui est l'Open Source. Il a le grand avantage de reposer sur une communauté de développement.

Il y a normalement un ou des responsables du code en nombre restreint, mais tout l'Internet comme équipe de développement potentielle. Pour sortir du choix embarrassant de MySQL ou de PostgreSQL, nous avons constaté que MySQL est plus supporté par des plates-formes de conception qui sont à notre porté telle que : WAMP, EASY-PHP, MOV'AMP, LAMP et XAMP. Ainsi donc, nous avons pu choisir MySQL en fin de compte pour le développement et la gestion de notre base des données.

MySQL est un logiciel libre développé sous licence GNU General Public License. Il a été conçu et est maintenu par une société suédoise MySQL AB fondée par deux Suédois et un Finlandais.

67

MySQL fonctionne sur beaucoup de plates-formes différentes, incluant AIX, BSDi, FreeBSD, HP-UX, Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI Irix, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64 Unix, Windows 95, 98, NT, 2000 et XP.

Les bases de données MySQL sont accessibles en utilisant les langages de programmation entre autre le C, C++, Eiffel, Java, Perl, PHP, Python, et Tcl; une API spécifique est disponible pour chacun d'entre eux.

III. 2. CONCEPTION PROPREMENT DITE DE L'APPLICATION ET PRESENTATION DE LA MAQUETTE

Une maquette est une représentation partielle d'un système ou d'un objet donnant aux utilisateurs une vue concrète mais non définitive de la future interface de l'application. Cela peut consister en un ensemble de dessins réalisés avec des outils spécialisés tels que Dreamweaver, Adobe Illustrator ou plus simplement avec Powerpoint et voire même Word.

Par la suite, la maquette intégrera des fonctionnalités de navigation pour que l'utilisateur puisse tester l'enchaînement des écrans, même si les fonctionnalités restent fictives. Elle est développée rapidement afin de provoquer des retours de la part des utilisateurs. Elle permet ainsi d'améliorer la relation développeur-client.

La plupart du temps, la maquette est considérée comme jetable, c'est-à-dire que la technologie informatique employée pour la réaliser n'est pas forcément assez robuste et évolutive pour être intégrée telle quelle.

Sur base des cas d'utilisation, des objets et des classes de l'application, nous sommes parvenus à présenter les interfaces suivantes selon l'attente du système mis en place:

68

Interface d'accueil

Interface 1 : page d'accueil

L'interface ci-dessus représente l'interface d'accueil, il faudrait une d'authentification pour accéder à la page qui correspond au profil de l'utilisateur de l'application :

? si l'utilisateur a le profil d'un commis chargé de mariage ou d'un officier de l'état-civil, après authentification, une interface d'édition de acte de mariage apparaît ;

? si l'utilisateur est à un bureau de l'état-civil au niveau provincial ou national, après authentification réussie, cet utilisateur apercevra une interface d'édition où un menu de sollicitation d'extrait de mariage ou acte de mariage apparait ;

? si l'utilisateur est l'administrateur-système de l'application, c'est l'interface de création des utilisateurs qui apparaîtra.

69

Interface d'enregistrement de couple

Interface 2 : page d'enregistrement

Il s'agit de l'interface d'édition d'un acte de mariage pour le couple présent, cette interface est l'apanage du commis chargé du mariage pour enregistrement de différents couples qui se présenteront devant lui.

70

Interface de recherche d'un couple déjà enregistré

Interface 3 : page de recherche d'un couple

L'interface ci-dessus nous donne l'état d'enregistrement d'un couple

c'est-à-dire si ce dernier a déjà été enregistré auparavant. Elle nous permet aussi d'éviter un double enregistrement.

71

Interface d'inscription des utilisateurs du système

Cette interface devra être manipulée uniquement par l'administrateur du système informatique. Il a possibilité de créer un utilisateur est lui donner le droit qui lui convient.

Ce dernier scenario est celui des applications web dynamique, qui coïncide à notre cas. Il s'agira donc des trois entités qui communiquent : le

72

CHAPITRE QUATRIEME : ETUDE DEPLOIMENT DE L'APPLICATION ET CONFIGURATIONS TECHNOLOGIQUES

IV. 1 INTRODUCTION

On entend par déploiement le fait de mettre en place un nouveau système ou un nouveau logiciel. C'est aussi l'opération permettant de partager une application (Logiciel) dans un réseau informatique.

IV.2 PLATE FORME DE DEPLOIEMENT

En ce qui concerne la plate forme à utiliser pour faire tournée notre application, la réponse est claire et simple à donner ; Notre choix est porté sur la plate forme Windows car elle est facile à trouver, facile à installer, facile à configurer et simple à manipuler pour nous qui avons eu une formation sur l'administration d'un réseau local avec le Windows 2003 Serveur tout au long de notre cursus académique. Exceptionnellement pour ce travail nous utiliserons le Windows serveur 2008.

IV. 3. CONFIGURATION DU SERVEUR WEB (APPACHE ET MYSQL)

Un site web ou une application web est constituée, matériellement, d'un ordinateur connecté à l'Internet (ou à un intranet), et d'un logiciel tournant en permanence sur cet ordinateur, le serveur.

Le logiciel serveur est en attente de requêtes transmises à son attention sur le réseau par un logiciel client (représenté par un navigateur). Quand une requête est reçue, le logiciel serveur l'analyse afin de déterminer quel est le document demandé, recherche ce document et le transmet au logiciel client.

Un autre type important d'interaction consiste pour le logiciel client à demander au logiciel serveur d'exécuter un logiciel, en fonction de paramètres, et de lui transmettre le résultat.

73

logiciel client, le logiciel serveur et un autre logiciel appelé logiciel d'application.

Dans le jargon informatique, le logiciel serveur sera simplement désigné par le terme « serveur web » ou par le nom du logiciel particulier qu'on peut utiliser, par exemple : Apache, IIS (Internet Information Server). Les termes « navigateur » et « client » désigneront tous deux le logiciel client (Firefox, Safari, Internet Explorer, etc.).

Ceci expliqué, nous allons donc pouvoir configurer un serveur web pour

une application dynamique comme c'est notre cas. Nous aurons donc à
installer et à configurer :

? Apache : un serveur web open source

? MySQL : un système de gestion des bases de données

IV.3.1. INSTALLATION ET CONFIGURATION WINDOWS SERVEUR 2008

Windows Server 2008 propose un meilleur contrôle de l'information afin de garantir une meilleure efficacité d'administration et par conséquent une meilleure productivité.

Afin d'augmenter cette qualité d'administration, Windows Server 2008 possède la capacité de scripts et d'automatisation de tâches accrues grâce à son nouveau langage de script Microsoft Windows Powershell. L'automatisation des tâches courantes d'administration se voit ainsi grandement améliorée et flexible grâce à cette nouvelle fonctionnalité.

L'installation basée sur les rôles et fonctionnalités grâce à la console unique gestionnaire de serveur facilite l'administration. Les assistants disponibles permettent de limiter au maximum les erreurs de configuration grâce aux nombreuses explications qui viennent accompagner l'administration lors de l'installation d'un composant Windows. Microsoft propose également la possibilité d'installer une version minimale de Windows Server 2008, connue aussi sous le nom de Windows Server Core. Windows Server 2008 fonctionne alors sans interface graphique et tout doit donc être configuré en ligne de commande. L'avantage majeur de ce type d'installation

74

réside dans le fait que la surface d'attaque est réduite de par le fait que le strict minimum est installé sur le serveur. Les administrateurs viendront alors ajouter les rôles de leurs choix. Afin de ne pas trop exposer ces serveurs, le .NET Framework n'est pas installé et l'exécution de code comme PowerShell n'est donc pas possible.

Des nouvelles consoles comme le moniteur de performance et de fiabilité permettent également de détecter en amont des problèmes de configuration sur vos systèmes d'exploitation et d'en informer automatiquement le service informatique. Il offre également beaucoup d'informations précises sur l'utilisation des composants système de votre choix.

Enfin, il offre, une meilleure gestion de l'impression est désormais possible ! En effet, les imprimantes peuvent être automatiquement installées sur les ordinateurs des utilisateurs à l'aide de stratégies de groupe. Une nouvelle console MMC vous permet de mieux gérer, contrôler et dépanner les imprimantes de votre domaine.

Ainsi nous avons créé un domaine (DNS Domaine Name Service) qui permet la résolution des noms de machines et leurs adresses IP, installé et la configuration d'Active Directory, installé et configurer le serveur DHCP qui permet d'attribuer automatiquement des adresses IP aux machines clientes, puis créé des utilisateurs dans le domaine.

Nous somme allé sur la barre de tâche, nous avons cliqué deux fois sur l'icône de la connexion, clic droit sur la connexion réseau local, propriété, nous sélectionnons protocole TCP/IP, prendre Propriété, utiliser les adresses IP puis tapez les adresses et valider avec Ok.

Remarque :

Pour terminer la configuration du Serveur, il faudra installer et configurer le serveur Apache, le serveur MySQL et PHP pour la prise en charge et le fonctionnement de l'application.

75

En suite il faudra configurer l'option Internet pour avoir comme page par défaut la page d'accueil de l'application.

IV.3.2. CONFIGURATION DES MACHINES CLIENTES

Il faudra configurer de prime à bord les adresses IP sur chaque machine cliente en le mettant dans une même classe et un même sous réseau.

Une autre possibilité est celle de cocher l'obtention automatique d'une adresse IP et celui du serveur DNS du fait que sur le serveur nous avons déjà installé et configurer le serveur DCHP qui attribue des adresses IP automatiquement.

Les étapes suivantes nous permettent d'Intégrer la machine dans un

domaine:

V' Poste de travail clic droit,

V' Propriété,

V' Puis cliquer sur Modifier,

V' Cochez sur Domaine,

V' Saisir le nom du domaine de votre travail,

V' Pour notre cas, notre domaine porte le nom : « mariagedrc.cd »,

V' cliquer sur OK

Un message de bien venue dans le Domaine vous sera affiché et

redémarrer la machine pour la prise en charge de la configuration.

Pour l'utilisation, s'authentifier avec un nom d'utilisateur créé déjà dans ce domaine ou soit allé dans la barre d'adresse et saisir l'adresse IP ou le nom du serveur.

IV.4. MISE AU POINT D'UN VPN POUR L'INTECONNEXION DES DIFFERENTES COMMUNES ET MAIRIES

La technologie des VPN (Virtual Private Network) consiste à mettre en oeuvre les techniques de chiffrement nécessaire à la sécurisation des communications pour l'authentification et la confidentialité des données, non plus à un niveau applicatif comme c'est le cas avec SSL et SSH, mais au

76

niveau de la couche réseau, afin que leur utilisation devienne transparente pour les services réseau de haut niveau.(24)

IV.4.1. DANS QUEL DOMAINE PEUT-ON UTILISE LE V.P.N :

Le VPN peut être utilisé dans les domaines suivants :

? Le télétravail :

Il existe des entreprises sans locaux, où les employés n'ont pas besoin de se déplacer pour joindre un lieu de travail à partir de leurs domiciles peuvent travailler en réseau sur leur travail.

Le VPN apporte la possibilité pour tous ses employés de travailler sur un même réseau privé virtuel. Il doit alors évidement disposer d'une connexion internet qui lui permet de travailler à distance, et d'utiliser les différents services du réseau, et même exploiter des outils de travail collaboratif.

? connexion de sites distants :

Pour une entreprise possédant plusieurs sites ou filiales, il est parfois avantageux de les relier. Une première solution serait d'utiliser une ligne spécialisée ou allouée. Mais cette solution a un coût, et le VPN est un palliatif dans ce type de problématique où il y a besoin d'interconnexion, en même temps recherche de minimisation des coûts.

IV.4.2. PRESENTATION DES TERMES

Le VPN ne représente donc qu'un concept, derrière lui, plusieurs implémentations ont vu le jour, selon l'utilisation que l'on veut en faire, le niveau de sécurité, la taille du réseau.

Plusieurs moyens techniques peuvent être utilisés et couplés pour mettre en oeuvre des réseaux VPN: le chiffrement, l'authentification, le contrôle d'intégrité et les tunnels.

Chiffrement : Utilisé pour que les données traversant le réseau ne puissent pas être lues par une autre personne. On utilise pour cela notre

24 Boutherin, B. et Delaunay, B., Cahier de l'Admin Linux : Sécuriser un réseau, 3e éd., Eyrolles, Paris, 2007, p.82

77

baguage mathématique et surtout arithmétique. Les deux principaux types de cryptage utilisés sont : le chiffrement asymétrique et symétrique. Le chiffrement symétrique utilise la même clé pour chiffrer et pour déchiffrer.

Comme inconvénient, chaque expéditeur de la communication devra avoir sa propre clé, et la communiquer à la partie bénéficiaire sans que les autres puissent la récupérer.

Plusieurs algorithmes de cryptage peuvent être utilisés : DES, AES. Le cryptage asymétrique n'a pas cet inconvénient là. Deux clés sont utilisées : une clé publique et une clé privée. La clé publique est disponible par tout le monde. Elle sert à crypter des données.

Si on veut communiquer avec un autre, on doit récupérer sa clé publique et seul, celui qui la détient pourra la décrypter avec sa clé privée. Bien sûr le cryptage et le décryptage se font de manière précise suivant la méthode utilisée. La plus connue est la méthode RSA, acronyme des chercheurs qui ont publié cette méthode : RIVEST, SHAMIR et ADLEMAN. Le chiffrement est utilisé dans le contexte du VPN pour garantir la confidentialité des données circulant sur le réseau public qui est internet.

En effet, le réseau privé n'est que virtuellement coupé du réseau public. Authentification : On veut garantir qu'a chaque instant de la communication, on parle au bon destinataire. Dans le cadre du VPN, on parle des deux passerelles qui sont séparées par internet.

Contrôle d'intégrité : il garantit que les données transmises entre les interlocuteurs n'ont pas été modifiées.

Tunnel : le tunnel consiste à établir un canal entre deux points sans se soucier de la problématique d'interconnexion.

Finalement il n'y a pas qu'une seule façon de déployer un VPN : dans la plupart des cas, le protocole IP Sec est utilisé. Mais il n'est pas le seul. Les spécifications d'un VPN dépendront aussi de l'utilisation qu'on peut en faire.

78

Ainsi donc, l'image ci-dessous nous présente l'architecture VPN et sa mise en oeuvre qui permettra à nos lecteurs de comprendre la représentation intégrale de toute l'architecture réseau VPN que nous souhaiterions déployer.

1. ARCHITECTURE RESEAU VPN DE LA VILLE DE LUBUMBASHI

79

2. ARCHITECTURE RESEAU VPN DE TOUTE LA REPUBLIQUE

80

précédent sommaire suivant






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








"Entre deux mots il faut choisir le moindre"   Paul Valery