Rapport PFA
Rapport PFA
Rapport PFA
Rapport du projet de
fin d’année
Application web de dématérialisation des
appels d’offres
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 :
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 :
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
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
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 :
ENIM
6
Projet de fin d’année
ENIM
7
Projet de fin d’année
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 :
ENIM
9
Projet de fin d’année
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.
JSF est un standard J2EE. Actuellement les plus grands éditeurs Java proposent
une intégration de JSF dans leurs IDE.
ENIM
11
Projet de fin d’année
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 :
Persistance transparente.
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 :
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.
a. L’authentification
La figure suivante présente la vue d’authentification :
ENIM
14
Projet de fin d’année
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
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