Rapport PFA

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 17

2010

Rapport du projet de
fin d’année
Application web de dématérialisation des
appels d’offres

Travail réalisé par:


BOUZID Walid
BOHI Nawal

Ecole Nationale de l’Industrie Minérale


Projet de fin d’année

Sommaire
I – Contexte général du projet
1. Notion de dématérialisation………………………………………..............3
2. Problématique................................................................................................4
3. Résultats attendus.........................................................................................4

II – Etude préliminaire
1. Benchmarking.................................................................................................5
2. Modules du projet.........................................................................................6
3. Recueil des besoins fonctionnels............................................................6
4. Identification des acteurs...........................................................................7
III – Etude fonctionnelle
1. Méthode adaptée...........................................................................................8
2. Diagrammes des cas d’utilisations.........................................................8
IV- Etude technique
1. Architecture logicielle de l’application...............................................10
2. Frameworks
a) Introduction...................................................................................... 11
b) JavaServer Faces..............................................................................11
c) Hibernate............................................................................................12
3. Outils de développement
a) NetBeans.............................................................................................12
b) Glassfish..............................................................................................13
c) MySQL..................................................................................................13
V- Réalisation
1. Mapping Objet/Relationnel.....................................................................14
2. Implémentation des IHM (Interfaces Homme/Machine).......... 14

Conclusion.........................................................................................................................17

ENIM
2
Projet de fin d’année

I. Contexte général
Ce premier chapitre présente le cadre général de notre projet de fin d’année, et
donne quelques définitions et explications sur les différentes notions utilisées.

1. Notion de dématérialisation
La dématérialisation est la transformation de supports d'informations matériels
(souvent des documents papier) en des fichiers informatiques , ce qui entraîne la
mise en œuvre du fameux « bureau sans papier » dans une entreprise.
La dématérialisation des procédures s’inscrit en général dans le cadre des télé-
procédures qui se sont améliorées avec le développement de la société de
l’information. Avec l’essor d’une nouvelle forme d’administration « le e-
gouvernement », la dématérialisation devient une notion pertinente à exploiter.
Dématérialisation de la procédure des appels d’offres :
Le projet de dématérialisation de la procédure des appels d’offres des marchés
publics au Maroc est appelé à devenir une réalité dans les années à venir.
En effet, c’est une solution qui s’impose pour combler les lacunes de la forme
actuelle de l’échange d’informations. La mauvaise communication entre les
différents acteurs qui entrent jeu, rend la procédure « classique » des appels
d’offres très pénible à réaliser et sujette à plusieurs défaillances.
Afin de mieux assimiler, il serait utile d’énumérer les étapes de la procédure des
appels d’offres :

 Préparation du cahier des charges par le maitre d’ouvrage, cette étape


prend beaucoup de temps.

 Publication de l’avis afin de s’assurer de sa transmission aux entreprises


(cette transmission n’est pas tout le temps assurée).

 Demande et récupération du cahier des charges.

 Déposition de l’offre.

ENIM
3
Projet de fin d’année

2. PROBLEMATIQUE
A travers l’analyse de la procédure des appels d’offres des marchés publics au
Maroc, plusieurs problèmes ont été dégagés :

 Lourdeur de la procédure : elle s’étale sur plusieurs semaines dans les


meilleurs délais.

 Consommation excessive de papiers lors de l’échange d’information entre


le fournisseur et l’acheteur (cahier des charges, offres…).

 Couteuse : le prix de revient de la procédure est assez élevé surtout pour


les fournisseurs.

3. RESULTATS ATTENDUS
La solution proposée devrait réaliser la dématérialisation de toute la procédure
des appels d’offres des marchés publics à travers des interfaces conviviales qui
permettront d’alléger et de régler la majorité des défaillances de la procédure
normale.

ENIM
4
Projet de fin d’année

II. Etude préliminaire


L’étude préliminaire est la première étape du processus de développement.
Durant cette phase, une comparaison des différentes solutions présentes sur le
marché a été menée dans le but de dégager les besoins fonctionnels et
techniques.

1.Benchmarking
Le benchmarking, en français étalonnage ou parangonnage , est une technique
de marketing ou de gestion de la qualité qui consiste à étudier et analyser les
techniques de gestion, les modes d'organisation des autres entreprises afin de
s'en inspirer et d'en retirer le meilleur. C'est un processus continu de recherche,
d'analyse comparative, d'adaptation et d'implantation des meilleures pratiques
pour améliorer la performance des processus dans une organisation.
De nombreuses solutions de la dématérialisation de la procédure des appels
d’offres existent sur le marché. La table ci-dessous cite les principales solutions
existantes :
Solutions Caractéristiques

Maroc_business.com Portail offrant aux abonnés l’accès à une grande base de données
d’annonces d’appels d’offres mise à jour constamment. Le service
offert est principalement destiné aux fournisseurs mais il n’offre pas
aux acheteurs la possibilité de publier leurs annonces.

Portail du ministère des Il contient un volet d’appels d’offres où l’on trouve quelques annonces
finances mais qui ne contiennent pas les informations nécessaires. La solution
de dématérialisation est incomplète : elle s’arrête à l’étape de
publication de l’annonce.

Portail national des Portail conçu et mis en œuvre depuis 2007 suite à l’entrée en vigueur
marchés publics du décret n° 2-06-388 du 5 février 2007. Il prévoit la mise en place du
portail et l’obligation de publication des informations et des
documents relatifs aux marchés de l’Etat. Ce portail s’inscrit dans une
démarche progressive et pragmatique prenant en compte les attentes
des acteurs de l’achat public au Maroc

ENIM
5
Projet de fin d’année

Le processus de benchmarking aux solutions existantes a montré qu’aucune


solution ne réalise la démarche de dématérialisation de façon complète :
Chacune des solutions précédentes s’arrête à une étape donnée de la procédure.

2. Modules du projet
Selon la chronologie de la procédure des appels d’offres des marchés publics, le
système peut être composé de 4 modules :

 Administration : elle permet la gestion des comptes utilisateurs.

 Annonce : commençant à la publication d’un programme prévisionnel des


achats et se terminant à la publication de l’annonce.
 Soumission : commençant par l’envoi du fournisseur d’une demande
d’admission pour un marché et se terminant lors de l’ouverture des plis.

 Résultat : commençant lors de l’ouverture des plis et se terminant à la


publication du résultat de l’appel d’offres.
Remarque :
Le présent projet ne s’est attardé que sur quelques besoins des modules
Administration et Annonce.

3.Recueil des besoins fonctionnels


A travers l’étude de la procédure des appels d’offres, les besoins fonctionnels
suivants ont été dégagés :

Module Acteur Besoins

Administration Acheteur/Fournisseur  Emettre une demande d’inscription.

Administrateur  Consulter les demandes d’inscription

 Valider une inscription.

Annonce Acheteur  Ajouter une annonce

Acheteur/Fournisseur  Consulter une annonce

ENIM
6
Projet de fin d’année

4.Identification des acteurs du système


Après la détermination des besoins fonctionnels, vient l’étape de la
détermination et de la description des rôles des acteurs interagissant avec le
système. Cette étape est important pour le cadrage c’est-à-dire les frontières du
projet. Les acteurs du système sont :

 Acheteur : organisme de l’état qui lance l’appel d’offres.


 Fournisseur : toute personne physique ou morale candidate à répondre à
l’appel d’offres.
 Administrateur : personne chargée de valider les inscriptions des
utilisateurs et de gérer leurs profils.

L’étude préliminaire s’achève avec l’identification des acteurs du système.


L’étude fonctionnelle sera abordée dans le chapitre suivant.

ENIM
7
Projet de fin d’année

III. Etude fonctionnelle


1. Méthodologie adoptée
Le langage de modélisation utilisé lors de la phase de conception de notre projet
est l’UML (Unified Modeling language). Il permet de modéliser toutes les
phases de développement d’un projet informatique en définissant un ensemble
de notations graphiques pour représenter des concepts orientés objets.
Les avantages de l’UML
Plusieurs avantages de l’UML nous ont poussé à l’adopter, par exemple :
 Le développement avec des langages orientés objet induit la conception
avec des formalismes orientés objet.

 UML est standard.


 UML est un langage normalisé et formel.
Outils : Power AMC
Power AMC est un logiciel de modélisation. Il permet de modéliser les
traitements informatiques et leurs bases de données associées. Ce logiciel,
produit par Sybase , reste un des seuls permettant de travailler avec la méthode
Merise. Selon Riff News, cela permet d'améliorer la modélisation, les processus,
le coût et la production d’applications.

2. Diagrammes des cas d’utilisation


a. Module d’administration
Ce module permet de gérer les comptes utilisateurs, ci-dessous son diagramme
de cas d’utilisation :

ENIM
8
Projet de fin d’année

b. Module d’annonce
Ce module commence à la publication d’un programme prévisionnel d’achats et
se termine par la publication de l’annonce. Son diagramme de cas d’utilisation
est le suivant :

L’étude fonctionnelle s’achève avec la génération de la base de données


correspondante à la conception réalisée (notamment par le biais d’un atelier de
génie logiciel ex. Power AMC). L’usage d’UML a été d’un apport considérable,
dans la mesure où il a permis de structurer les composantes du projet.

ENIM
9
Projet de fin d’année

IV. Etude technique


Dans cette étape, l’architecture du système ainsi que celle de l’application
seront clairement définies. Les couches de l’application et les modules à
développer seront de même spécifiés. Nous ferons également une brève
description des technologies et outils utilisés pour le développement de
l’application.

1. L’architecture logicielle de l’application


Pour la réalisation de l’application, nous avons opté pour une architecture J2EE
(Java 2 Entreprise Edition)

La plateforme J2EE s’inscrit dans la philosophie de l’architecture n-tiers, avec


tout ce qu’elle comporte comme avantages : simplification de la conception et
du développement des applications web, dépassement du problème du
déploiement des applications, …
Ainsi, le présent projet respecte cette architecture, et ce en faisant intervenir les
couches présentation, application / métier et la couche de persistance (Base de
données).
Le choix s’est porté également sur le framework JSF s’implémentant dans la
couche présentation et assurant un mapping HTML/Objet (à travers les managed
beans), ainsi que le framework Hibernate qui assure le lien entre les bases de
données et la couche métier, et ce en assurant la persistance ‘objet’ à travers le
mapping Objet/Relationnel.

ENIM
10
Projet de fin d’année

Les EJB (Entreprise Java Beans) représenté sur l’image ci-dessus sont
remplacés dans ce projet par les POJOs (Plain Old Java Object). Ce choix est
présent également dans d’autres projets, vu la tendance à utiliser des objets
facilement manipulables comme le sont les POJOs.

2. Frameworks
a. Introduction
Un Framework capitalise l’expertise nécessaire en matière de programmation
pour résoudre une certaine classe de problèmes. Les programmeurs réutilisent
les Framework pour profiter de cette expertise sans avoir à résoudre le
problème.
En effet, un Framework est un kit de composants logiciels structurels, qui
définissent les fondations ainsi que les grandes lignes de l'organisation de tout
ou partie d'un logiciel (architecture). En programmation orientée objet un
Framework est typiquement composé de classes mères qui seront dérivées et
étendues par héritage en fonction des besoins spécifiques à chaque logiciel
utilisant le Framework.

b. Java Server Faces


La technologie Java Server Faces (JSF) est un Framework d’interface
utilisateur pour les applications web, basé sur la technologie JSP et servlets.

JSF est un standard J2EE. Actuellement les plus grands éditeurs Java proposent
une intégration de JSF dans leurs IDE.

JSF est constitué principalement de:

 Un ensemble d'APIs pour la représentation et la gestion des composants.

ENIM
11
Projet de fin d’année

 Deux bibliothèques de balises JSP pour permettre l'utilisation des JSP


pour la construction de vues JSF
 Les Managed-Beans : qui forment la couche contrôle de JSF

c. Framework Hibernate
Hibernate est un ORM (Object Relational Mapping), un Framework qui fait le
pont entre le monde relationnel des bases de données et celui des objets
manipulés par Java. Il automatise ou facilite la correspondance entre des
données stockées dans des objets et une base de données relationnelle en se
basant sur des fichiers de configuration XML.
Avantages de Hibernate :

 Améliorer la portabilité du code pour des changements de SGBD.

 Penser en terme d’objets et non pas en terme de lignes de tables.


 Génération automatique du code SQL.

 Persistance transparente.

3. Les outils de développement et déploiement


a. NetBeans
NetBeans est un environnement de développement intégré (IDE) open source
développé par Sun. Il est disponible sous Windows, Linux, Solaris, Mac OS X et
Open VMS. Il a connu une évolution considérable et aujourd’hui on assiste à la
version 6.9.
En plus de Java, NetBeans permet également le développement avec d’autres
langages tels que : C, C++, PHP, HTML, Ruby et Python.
NetBeans dispose de nombreuses fonctionnalités intéressantes bien connues des
utilisateurs d’IDE : coloration syntaxique, gestion multi-projets, intégration des
documents de références, support de solutions de gestion de versions, intégration
de débogueurs…il a été conçu pour supporter le principe de la modularité. Il est
ainsi proposé au téléchargement via des paquetages centrés sur les langages
employés.

ENIM
12
Projet de fin d’année

b. GlassFish
GlassFish est un serveur d’applications certifié Java EE 5. Son développement a
été initié lorsque Sun a ouvert le code de son serveur d’applications pour le
licencier en Open Source. Il utilise le moteur de persistance d’Oracle, TopLink
Essentials.
GlassFish est constitué :
• d’un serveur web dédié au service de fichiers, c’est-à-dire à des pages
HTML statiques, images, vidéos, etc.
• d’un conteneur de servlets, hébergeant des applications composées de
servlets et/ou JSP.
• d’un conteneur d’EJB, pour la gestion des composants stateless, stateful,
MDB et entity beans.
• de l’implémentation de l’API de persistance JPA d’Oracle (TopLink
Essentials).
L'administration du serveur GlassFish se fait soit par interface web, soit par
ligne de commande.

c. MySQL
MySQL est un système de gestion de base de données (SGBD). Selon le type
d'application, sa licence est libre ou propriétaire. Il fait partie des logiciels de
gestion de base de données les plus utilisés au monde, autant par le grand public
(applications web principalement) que par des professionnels, en concurrence
avec Oracle et Microsoft SQL Server.
MySQL offre les fonctionnalités suivantes :

 Définition et manipulation des données.

 Confidentialité des données.


 Sauvegarde et restauration des données.

ENIM
13
Projet de fin d’année

V. Réalisation
Durant cette phase la réalisation du système est présentée, elle s’étale sur deux
étapes :

 Mapping objet/relationnel.

 Implémentation des IHM.

1. Mapping Objet/ Relationnel


Durant cette étape, les classes bean sont implémentées sous Java en éditant les
fichiers XML d’Hibernate.
Pour une classe donnée, il existe une table correspondante dans la base de
donnée, les tables d’associations, pour réaliser le mapping il faut éditer deux
fichiers XML :
 Hibernate.cf.xml : fichier de configuration.
 Nom_classe.hbm.xml : fichier de mapping du Bean.
2. Implémentations des IHM
Par le biais du framework JSF implémenté dans les pages JSP, les données
remplies dans les formulaires sont réutilisées pour authentifier un utilisateur,
valider une inscription ou encore ajouter une annonce.

a. L’authentification
La figure suivante présente la vue d’authentification :

ENIM
14
Projet de fin d’année

b.Validation des inscriptions


La vue de validation des inscriptions est un tableau qui permet uniquement à
l’administrateur d’accepter ou de refuser une demande d’inscription d’un
acheteur ou d’un fournisseur.

b. L’ inscription
Cette vue est un formulaire de demande d’inscription renseigné par l’acheteur
ou le fournisseur. Les champs de ce formulaire dépendent du profil de
l’utilisateur c’est-à-dire acheteur ou utilisateur. La figure suivante présente cette
vue :

ENIM
15
Projet de fin d’année

c. Ajouter une annonce


Cette interface est un formulaire d’ajout ou de modification d’une annonce.
L’acheteur remplit plusieurs champs selon la procédure de l’appel d’offres :
ouverte, restreinte ou avec présélection.
La figure suivante présente la vue « ajouter une annonce » d’un acheteur donné.

d. Rechercher une annonce


Cette vue permet au fournisseur de lancer une recherche sur les annonces de la
base de données en se basant sur plusieurs critères.

ENIM
16
Projet de fin d’année

Conclusion
Le présent projet a, outre son traitement d’un problème sensible affectant
le paysage socio-économique marocain, permis d’amorcer en nous les
réflexes et les techniques relatifs à une notion vouée à un grand avenir :
la dématérialisation.
Ce projet nous a permis également de nous initier aux technologies et
frameworks relatifs à une plateforme en perpétuel développement qui est
J2EE. C’est ainsi que l’on a pu manipuler les JavaServer Faces,
Hibernate, … et autres technologies qui nous seront d’une aide
considérable durant nos stages de formations et autres expériences
professionnelles.

ENIM
17

Vous aimerez peut-être aussi