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
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 dutilisations

8

IV- Etude technique

 
 

1. Architecture logicielle de lapplication

 

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

pas tout le temps assurée).  Demande et récupération du cahier des charges.  Déposition de

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 :

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

Lourdeur de

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

conviviales q ui permettront d’alléger et de régler la majorité des défaillances de la procédure normale.

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 finances

Il contient un volet d’appels d’offres où l’on trouve quelques annonces 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 marchés publics

Portail conçu et mis en œuvre depuis 2007 suite à l’entrée en vigueur 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

démarche progressive et pragmatique prenant en compte les attentes des acteurs de l’achat public au Maroc
démarche progressive et pragmatique prenant en compte les attentes des acteurs de l’achat public au Maroc

5

démarche progressive et pragmatique prenant en compte les attentes des acteurs de l’achat public au Maroc

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

Acheteur  Ajouter une annonce   Acheteur/Fournisseur  Consulter une annonce ENIM 6
Acheteur  Ajouter une annonce   Acheteur/Fournisseur  Consulter une annonce ENIM 6

6

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

ec 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 :

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

ENIM

8

Ce module permet de gérer les comptes utilisateurs, ci-dessous son diagramme de cas d’utilisation : ENIM
Projet de fin d’année b. Module d’annonce Ce module commence à la publication d’un programme
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)

pour une architecture J2EE (Java 2 Entreprise Edition) La plateforme J2EE s’inscrit dans la philosophie de

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

et la couche métier, et ce en assurant la persistance ‘objet’ à travers le mapping Objet/Relationnel.

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.

applications web, basé sur la technologie JSP et servlets. JSF est un standard J2EE. Actuellement les

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

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

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

la modularité. Il est ainsi proposé au téléchargement via des paquetages centrés sur les langages employés.
Projet de fin d’année b. GlassFish GlassFish est un serveur d’applications certifié Java EE 5.
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 :

encore ajouter une annonce. a. L’authentification La figure suivante présente la vue d’authentification : ENIM 14

ENIM

14

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.

d’inscription d’un acheteur ou d’un fournisseur. b. L’ inscription Cette vue est un formulaire de

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 :

du profil de l’utilisateur c’est -à-dire acheteur ou utilisateur. La figure suivante présente cette vue :

ENIM

15

du profil de l’utilisateur c’est -à-dire acheteur ou utilisateur. La figure suivante présente cette vue :
Projet de fin d’année c. Ajouter une annonce Cette interface est un formulaire d’ajout ou
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
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