Rapport de stage réalisation d'un ERP

51
Table des mati` eres 1 Pr´ esentation G´ en´ erale 3 1.1 Organisme d’accueil .................................. 3 1.2 Pr´ esentation du sujet .................................. 3 2 Etat de l’art 5 2.1 Les ERP ......................................... 5 2.1.1 Historique .................................... 5 2.1.2 efinition d’un ERP .............................. 6 2.1.3 Pour quoi les ERP ? .............................. 6 2.1.4 Les principaux ´ editeurs des ERP ....................... 7 3 Analyse et sp´ ecification des besoins 8 3.1 Identification des Utilisateurs ............................. 8 3.2 Les Exigences Sp´ ecifiques ............................... 9 3.2.1 Les besoins fonctionnels ............................ 9 3.3 Les exigences non sp´ ecifiques ............................. 10 3.4 Les cas d’utilisation .................................. 11 3.4.1 Les diagrammes de s´ equences ......................... 15 4 Solutions techniques possibles et choix retenus 18 4.1 Solutions techniques possibles ............................. 18 4.1.1 Technologie de d´ eveloppement ........................ 18 4.1.2 Environnement de d´ eveloppement ...................... 23 4.1.3 Gestion de la base de donn´ ees ......................... 23 4.2 Choix retenus ...................................... 24 5 Conception 25 5.1 Conception g´ en´ erale .................................. 25 5.1.1 La comptabilit´ e analytique : ......................... 25 5.1.2 La gestion de la base de connaissances : ................... 25 5.2 Conception d´ etaill´ ee .................................. 25 5.2.1 Architecture de l’application ......................... 26 5.2.2 Diagrammes de Classes ............................ 26 5.2.3 Diagrammes de s´ equences d´ etaill´ es ...................... 28 5.2.4 Conception de la base de donn´ ees ....................... 31 i

description

Base, knowledge, Reports, JSF, report, Management, comptabilite, j2ee, ERP, Hibernate, sequences, données, mvc, Classe, Connaissances, Akram, use case, satec, dridi, aymen, ben ammar, analytque, diagrammes

Transcript of Rapport de stage réalisation d'un ERP

Page 1: Rapport de stage réalisation d'un ERP

Table des matieres

1 Presentation Generale 31.1 Organisme d’accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Presentation du sujet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Etat de l’art 52.1 Les ERP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.1 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.2 Definition d’un ERP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1.3 Pour quoi les ERP ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1.4 Les principaux editeurs des ERP . . . . . . . . . . . . . . . . . . . . . . . 7

3 Analyse et specification des besoins 83.1 Identification des Utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.2 Les Exigences Specifiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.2.1 Les besoins fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.3 Les exigences non specifiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.4 Les cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.4.1 Les diagrammes de sequences . . . . . . . . . . . . . . . . . . . . . . . . . 15

4 Solutions techniques possibles et choix retenus 184.1 Solutions techniques possibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.1.1 Technologie de developpement . . . . . . . . . . . . . . . . . . . . . . . . 184.1.2 Environnement de developpement . . . . . . . . . . . . . . . . . . . . . . 234.1.3 Gestion de la base de donnees . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.2 Choix retenus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5 Conception 255.1 Conception generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

5.1.1 La comptabilite analytique : . . . . . . . . . . . . . . . . . . . . . . . . . 255.1.2 La gestion de la base de connaissances : . . . . . . . . . . . . . . . . . . . 25

5.2 Conception detaillee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255.2.1 Architecture de l’application . . . . . . . . . . . . . . . . . . . . . . . . . 265.2.2 Diagrammes de Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265.2.3 Diagrammes de sequences detailles . . . . . . . . . . . . . . . . . . . . . . 285.2.4 Conception de la base de donnees . . . . . . . . . . . . . . . . . . . . . . . 31

i

Page 2: Rapport de stage réalisation d'un ERP

6 Realisation 336.1 Environnement de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

6.1.1 Environnement materiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336.1.2 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

6.2 Travail realise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346.2.1 Page d’authentification des utilisateurs . . . . . . . . . . . . . . . . . . . . 346.2.2 Page d’ajout d’un document EXCEL . . . . . . . . . . . . . . . . . . . . . 356.2.3 Page de validation d’un documents EXCEL . . . . . . . . . . . . . . . . . 356.2.4 Recherche de fiches de procedures . . . . . . . . . . . . . . . . . . . . . . 366.2.5 Resultats de la recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . 366.2.6 Consultation des statistiques . . . . . . . . . . . . . . . . . . . . . . . . . 376.2.7 Ajout de nouveaux utilisateurs ou administrateurs . . . . . . . . . . . . . 37

6.3 Chronogramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

Netographie 41

A Annexe 43

ii

Page 3: Rapport de stage réalisation d'un ERP

Table des figures

1.1 Feuille d’affectation de temps passes . . . . . . . . . . . . . . . . . . . . . . . . . 4

3.1 Cas d’utilisation du directeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.2 Cas d’utilisation du comptable . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.3 Cas d’utilisation de l’ingenieur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.4 Cas d’utilisation du consultant simlpe . . . . . . . . . . . . . . . . . . . . . . . . 143.5 Cas d’utilisation de l’assistant de service . . . . . . . . . . . . . . . . . . . . . . . 143.6 Cas d’utilisation du responsable de departement . . . . . . . . . . . . . . . . . . 153.7 Ajout d’un fichier EXCEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.8 Consultation des statistiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.9 Recherche de procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.1 Architecture de JSF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.2 Architecture de Hibernate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

5.1 Architecture de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265.2 Diagramme de classes de l’application . . . . . . . . . . . . . . . . . . . . . . . . 275.3 Ajout d’un fichier EXCEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285.4 Consultation des statistique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295.5 Recherche de procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305.6 Conception de la base de donnees . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

6.1 Identification des utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346.2 Ajout d’un fichier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356.3 Validation du document EXCEL . . . . . . . . . . . . . . . . . . . . . . . . . . . 356.4 Recherche de fiche de procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366.5 Resultats de la recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366.6 Consultation des statistiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376.7 Ajout de nouveaux utilisateurs ou administrateur . . . . . . . . . . . . . . . . . . 376.8 Chronogramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

A.1 Architecture Simple Tiers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43A.2 Architecture Deux Tiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44A.3 Architecture Trois Tiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44A.4 Servlet etendant la classe javax.servlet.http.HttpServlet . . . . . . . . . . . . . . 45A.5 Les pages JSP dans une application J2EE. . . . . . . . . . . . . . . . . . . . . . . 46

iii

Page 4: Rapport de stage réalisation d'un ERP

A.6 Le modele MVC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

iv

Page 5: Rapport de stage réalisation d'un ERP

Introduction Generale

D e nos jours, toute entreprise est prete a investir des sommes considerables dans l’implanta-tion des technologies logicielles afin d’ameliorer ses services, d’accroıtre son agilite et sa flexibilite,de reduire les couts, d’augmenter la production et de faire face aux defis du marche. En effet,vu la croissance des activites au sein des entreprises, la tache de gerer efficacement toutes cesfonctions s’avere de plus en plus complexe et difficile.

Pour surpasser ces difficultes, une entreprise doit utiliser des outils optimises et adaptes fa-cilitant les taches et offrant des fonctionnalites riches et utiles. Parmi ces outils nous trouvonsles systemes integres de gestion tel que les ERP(Entrprise Ressources Planning).

Les ERP sont des outils de gestion et d’analyse permettant d’optimiser la diffusion des in-formations en interne, d’ameliorer les processus de gestion et d’automatiser les taches ce quiaugmente enormement la reactivite des entreprises et leurs agilites.

C’est dans ce contexte que s’integre notre stage d’immersion en entreprise qui a pour ob-jectif de concevoir et de realiser un ERP permettant d’automatiser les differentes besognes dela societe NETCOM TUNISIE. Cet ERP doit automatiser les differents processus de gestion asavoir la gestion des ressources humaines, la gestion de la production, la gestion commerciale etla gestion financiere.

Le present rapport synthetise tout le travail que nous avons effectue dans cette perspective.il est organise en chapitres comme suit :

– Le premier chapitre donne une presentation generale du projet : l’organisme d’accueil ainsique les objectifs a atteindre.

– Dans le second chapitre, nous procedons a un expose de l’etat de l’art du domaine quinous concerne. Nous presentons dans un premier temps le systeme existant pour devoilerses defaillances et ses limites. Nous presentons egalement la solution que nous proposonsafin de palier aux limites du systeme actuel.

– Le troisieme chapitre intitule”’Analyse et Specification des besoins”’presente les differentsbesoins fonctionnels et non fonctionnels auxquelles doit satisfaire l’application.

– Les choix technologiques retenus pour la phase de developpement font l’objet du quatriemechapitre.

– Dans le chapitre V nous presentons la conception generale et la conception detaillee du

1

Page 6: Rapport de stage réalisation d'un ERP

systeme.– Le dernier chapitre decrit les taches accomplies en titre de realisation.

Enfin nous donnons une conclusion recapitulant le travail realise ainsi que des perspectivesfuturs.

2

Page 7: Rapport de stage réalisation d'un ERP

Chapitre 1

Presentation Generale

Introduction

Ce chapitre a pour objectif de situer notre projet dans son contexte generale a savoir l’orga-nisme d’accueil et le sujet a traiter. Dans la premiere section nous donnons une breve presentationde l’organisme d’accueil SATEC International. Dans la deuxieme section, nous decrivons lesujet a traiter et les objectifs a atteindre.

1.1 Organisme d’accueil

Activites de SATEC

SATEC a ete creee en 1992 et a pu, durant 16 ans, consolider une bonne et solide assise sur lemarche tunisien en tant qu’integrateur reseaux et securite de reseaux, independamment de toutconstructeur. SATEC Tunisie, est devenue un precurseur et un acteur majeur de l’integrationreseau en Tunisie.

Quelques dates utiles

– 1992 : Creation de SATEC Tunisie.– 1998 : SATEC Tunisie, meilleur support Nortel : proche Orient/ Afrique du Nord, Cisco

Partner.– 1998 : Realisation du projet de la tele compensation, ISO 9001 version 2000.– 2002 : Specialisation securite VPN,WiFi de Cisco Systems.– 2004 : Mise en service d’un centre de management de la securite.– 2005 : Services manages Q.o.S, securite.

1.2 Presentation du sujet

Dans le systeme actuel de la societe NETCOM, chaque service possede son propre systemed’information ce qui a donne lieu a plusieurs problemes dont les majeurs sont :

– Pour collecter les informations necessaires au processus d’administration de l’entreprise,on constate une lenteur causee par la dispersion de differents systemes d’informations.

3

Page 8: Rapport de stage réalisation d'un ERP

– Toute mise a jour suvenue sur l’un des systemes d’informations n’est detectee par lesautres que par voie humaine, en consequence elle ne se fait pas en temps reel et risque detransmettre des information erronees.

Les consequences desagreables d’une telle situation ont oblige l’entreprise a y mettre fin.Pour cela, la meilleur solution etait d’implementer un ERP multifonctions qui vise a centraliserle systeme d’information et a automatiser ses activites tout en garantissant une securite de hautniveau.

Fig. 1.1 – Feuille d’affectation de temps passes

Notre mission consistait alors a concevoir et implementer cet ERP qui doit comporter lesquatre module suivants :

– Module de gestion de ressources humaines– Module de gestion de la production– Module de gestion commerciale– Module de gestion financiere

Notre mission a ete ensuite reduite a la realisation de deux sous modules : implementationdu sous module d’analyse analytique et celui de la gestion de la base de connaissance. Et celavu, en premier lieu, l’envergure du projet initial et l’insuffisance du temps consacre au stage, eten second lieu l’urgence de realiser ces deux fonctionnalites pour le client.

Conclusion

Dans ce premier chapitre nous avons pu situer le projet dans son cadre general en presentantl’organisme d’accueil et les buts de l’application. Dans le chapitre suivant, nous allons procedera une etude detaillee de l’existant pour degager ses limites.

4

Page 9: Rapport de stage réalisation d'un ERP

Chapitre 2

Etat de l’art

Introduction

Avant d’entamer l’elaboration de notre application, nous avons juge primordial de presenterles objectifs d’une telle application a partir des elements moteurs par lesquels elle est constituee.

2.1 Les ERP

2.1.1 Historique

Dans les annees 60 et 70, les premiers logiciels font leur apparition dans les entreprises.Il s’agit essentiellement d’applications de comptabilite et egalement de MRP, pour la gestiondes approvisionnements. Ces logiciels specifiques ne sont pas ” portables ”, c’est a dire qu’ilsdependent du type d’ordinateur et du systeme d’exploitation. Dans les annees 80 se developpentdes progiciels qu’on personnalise, integrants la finance, la comptabilite, la paie et la gestion deproduction assistee par ordinateur. La tendance a personnaliser et a modifier completement leprogiciel de base pour l’entreprise conduit le produit a etre obsolete au bout de 5 a 10 ans. Dansces annees apparaissent egalement les premiers MRP II, integrant la gestion de production etla gestion des approvisionnements. La petite histoire raconte qu’a la fin des annees 80, troisemployes d’IBM pressentent un marche important pour les progiciels integres, et fondent SAP.Peu apres, SAP R/2 devient la premiere reference en matiere d’ERP, encore fondee sur unestructure informatique centralisee et une technologie mainframe.

En 1993, SAP R/3 realise l’integration totale de toutes les composantes d’une entreprise, dela finance a la production, aux ventes et aux ressources humaines... Sa structure informatiqueet sa portabilite complete seront une grande raison de son succes.

Les ERP sont maintenant presents dans l’industrie et dans la grande distribution, essentiel-lement dans les tres grandes entreprises. Le marche des plus petites entreprises, le domaine dela finance et le secteur public commencent a etre touches.

La conception et le developpement des ERP ont ete rendus possibles par les evolutionstechnologiques : vitesse de calcul, technologies de reseaux, systemes de gestion de bases dedonnees, stockage de donnees... se sont considerablement developpes et ameliores. De plus, lesucces des ERP a ete favorise par la perte de credibilite des informaticiens dans les entreprisesa la fin des annees 80 et au debut des annees 90.

5

Page 10: Rapport de stage réalisation d'un ERP

2.1.2 Definition d’un ERP

L’acronyme ERP signifie ” Enterprise Ressource Planning ” traduit en francais par Progi-ciel de Gestion Integre ou PGI. ERP est le terme le plus couramment utilise. Emanant d’unconcepteur unique, un ERP est un progiciel qui permet de gerer l’ensemble des processus d’uneentreprise integrant l’ensemble de ses fonctions comme la gestion des ressources humaines, la ges-tion financiere et comptable, l’aide a la decision, la vente, la distribution, l’approvisionnement, laproduction ou encore du e-commerce. Le principe fondateur d’un ERP est de construire des ap-plications informatiques correspondant aux diverses fonctions citees precedemment de manieremodulaire sachant que ces modules sont independants entre eux, tout en partageant une base dedonnees unique et commune au sens logique. L’autre principe qui caracterise un ERP est l’usagede ce qu’on appelle un moteur de workfow et qui permet, lorqu’une donnee est enregistree dansle systeme d’information(SI), de la propager dans les modules qui en ont l’utilite, selon une pro-grammation predefinie. Ainsi, on peut parler d’ERP lorsqu’on est en presence d’un SI composede plusieurs applications partageant une seule et meme base de donnes, par le biais d’un systemeautomatise predefini et eventuellement parametrable, un moteur de workfow.

2.1.3 Pour quoi les ERP ?

Concretement, les avantages de la mise en place d’un ERP sont les suivants :– L’integrite et l’unicite du SI, c’est a dire qu’un ERP permet une logique et une ergonomie

unique a travers sa base de donnees, elle aussi unique au sens ” logique ”. Ceci se traduit parle fait qu’il peut exister plusieurs bases de donnees ” physiques ” mais celles-ci respectentla meme structure. En bref, un ERP permet d’eviter la redondance d’information entredifferents SI de l’entreprise.

– L’utilisateur a la possibilite de recuperer des donnees de maniere immediate, ou encorede les enregistrer. Un avantage important, les mises a jour dans la base de donnees sonteffectuees en temps reel et propagees au modules concernes.

– Un ERP est un outil multilingue et multidevise, il est donc adapte au marche mondial, enparticulier aux multinationales.

– Pas d’interface entre les modules, il y a synchronisation des traitements et optimisationdes processus de gestion. De meme, la maintenance corrective est simplifiee car celle-ci estassuree directement par l’editeur et non plus par le service informatique de l’entreprise.(Celui-ci garde neanmoins sous sa responsabilite la maintenance evolutive : ameliorationdes fonctionnalites, evolution des regles de gestion, etc.).

– Un ERP permet de maıtriser les stocks, element important pour la plupart des entreprisescar les stocks coutent chers.

Par consequent, les ERP gerent et prennent en charge plusieurs periodes ( pour les exercicescomptables par exemple), plusieurs devises, plusieurs langues pour les utilisateurs et clients,plusieurs legislations, plusieurs axes d’analyse en informatique decisionnelle. Mais l’implanta-tion comporte plusieurs risques : des risques organisationnels (le progiciel et l’organisation del’entreprise doivent cohabiter), de mise en oeuvre (au niveau formation utilisateur), fonctionnels(fonctions offertes par le progiciel par rapport aux fonctions attendues), techniques, contractuels

6

Page 11: Rapport de stage réalisation d'un ERP

entre l’editeur et l’entreprise et enfin des risques economiques du fait de l’investissement.

2.1.4 Les principaux editeurs des ERP

On distingue deux types d’ERP : les ERP proprietaires, edites par des societes, ce quiimplique l’achat d’une licence, et les ERP open source qui sont ” gratuits ”. Les principauxERP proprietaires du marche sont :

– SAP (leader mondial)– Oracle/Peoplesoft– SAGE ADONIX– Microsoft– SSA Global

Conclusion

Dans ce chapitre nous avons definit c’est quoi reellement les ERP. Ce chapitre sert donc apresenter theoriquement notre sujet pour mieux comprendre le systeme implemente.Le chapitre suivant sera consacre a l’etude des besoins fonctionnels et non fonctionnels auxquelsdoit repondre notre application.

7

Page 12: Rapport de stage réalisation d'un ERP

Chapitre 3

Analyse et specification des besoins

Introduction

La reussite de tout projet depend de la qualite de son depart. De ce fait, l’etape de specificationconstitue la base de depart de notre travail. En outre, l’adequation de toute l’application arealiser, aux besoins des utilisateurs et aux traitements envisages au niveau de ses operationsassurera la reussite de l’application et son utilite future. Pour assurer ces objectifs, il est essentielque nous parvenions a une vue claire des differents besoins escomptes de notre projet.

Dans ce chapitre, nous etudions dans un premier temps les besoins fonctionnels et nonfonctionnels de notre systeme, ensuite, une specification formelle des besoins est presentee pardes diagrammes de cas d’utilisation et de sequences suivant la modelisation UML.

3.1 Identification des Utilisateurs

Notre application fournit une interaction avec plusieurs types d’acteurs, ils sont definiscomme etant des utilisateurs directs du systeme exploitant le logiciel a travers ses interfaces.Nous identifions dans le cadre de ce projet six acteurs primaires :

– Le directeur qui est l’utilisateur qui a tous les privileges au niveau de la comptabiliteanalytique et au niveau de la gestion des roles des autres acteurs.

– Le comptable qui a un acces limite au niveau de la comptabilite analytique.– L’ingenieur qui a tout les droits au niveau de la gestion de la base de connaissance.– Le consultant simple qui a un acces limite au niveau de la gestion de la base de connais-

sance.– L’assistance du service qui aura l’acces pour ajouter ou modifier les documents des

ingenieurs.– Les responsables des departements qui ont des privileges specifiques a chaque departement.

Pour cela on va specifier ci dessous les besoins que doit fournir le systeme pour chaquecategorie d’utilisateurs.

8

Page 13: Rapport de stage réalisation d'un ERP

3.2 Les Exigences Specifiques

L’analyse du sujet, nous a permis de cerner les fonctionnalites a la disposition de l’utilisa-teur.Les besoins ainsi degages ont ete classes en fonctionnels et non fonctionnels.

3.2.1 Les besoins fonctionnels

– Le Directeur : Le systeme doit permettre au directeur de :– S’identifier pour acceder a la section de la comptabilite.– Consulter la liste detaillee des affaires et la repartition des ingenieurs correspondant par

mois.– Effectuer des recherches selon des differents criteres : par date, par ingenieur ou par

affaire.– Ajouter une nouvelle affaire si elle n’existe pas deja.– Visualiser les statistiques et les courbes d’evolution.– Telecharger un fichier EXCEL et mettre a jour la base de donnees.– Valider les documents telecharges.– Saisir les informations du document de l’ingenieur a l’aide d’un formulaire.– Mettre a jour les roles de chaque profile utilisant le systeme.

– Le Comptable : Le systeme doit permettre au comptable de :– Consulter la liste detaillee des affaires et la repartition des ingenieurs correspondant par

mois.– Effectuer des recherches selon des differents criteres .– S’identifier pour acceder a la section de la comptabilite.– Visualiser les statistiques et les courbes d’evolution.

– L’ingenieur : Le systeme doit permettre a l’ingenieur de :– S’identifier pour acceder a la section de la gestion de la base de connaissances.– Remplir les fiches de procedure (description, mot cle..).– Consulter ses fiches de procedure remplies auparavant.– Mettre a jour une fiche de procedure.

– Le consultant : Le systeme doit permettre au consultant simple de :– Rechercher une fiche de procedure.– Consulter les fiches resultantes classees.– Imprimer la fiche des procedures.

– Le responsable de departement : Le systeme doit permettre au responsable de departementde :– S’identifier pour acceder a la section de comptabilite analytique.– Ajouter et mettre a jour les profiles du departement.

– L’assistance de service : Le systeme doit permettre a l’assistance de service de :

9

Page 14: Rapport de stage réalisation d'un ERP

– S’identifier pour acceder a la section de comptabilite analytique.– Ajouter des documents des ingenieurs.– Valider les documents des ingenieurs.

3.3 Les exigences non specifiques

Pour le bon fonctionnement de notre application nous avons degage les besoins non fonc-tionnels suivants :

– la fiabilite : le systeme doit etre disponible a tout moment pour l’utilisateur, avec un accessecurise par la definition d’un login et d’un mot de passe.

– la portabilite : le systeme doit tourner sur plusieurs plates-formes.– la convivialite : le systeme doit presenter une interface comprehensible, facile a manipuler

ce qui nous permettera d’accroıtre la rentabilite et l’efficacite de notre systeme.

10

Page 15: Rapport de stage réalisation d'un ERP

3.4 Les cas d’utilisation

L’etude approfondie des specifications permet de degager plusieurs cas d’utilisation. Un casd’utilisation decrit une utilisation du systeme par un acteur particulier.Ce qui revient a presenterles besois fonctionnels de facon formelle.Cas d’utilisation du directeur :

Fig. 3.1 – Cas d’utilisation du directeur

11

Page 16: Rapport de stage réalisation d'un ERP

Cas d’utilisation du comptable :

Fig. 3.2 – Cas d’utilisation du comptable

12

Page 17: Rapport de stage réalisation d'un ERP

Cas d’utilisation de l’ingenieur

Fig. 3.3 – Cas d’utilisation de l’ingenieur

13

Page 18: Rapport de stage réalisation d'un ERP

Cas d’utilisation du consultant simple :

Fig. 3.4 – Cas d’utilisation du consultant simlpe

Cas d’utilisation de l’assistance de service :

Fig. 3.5 – Cas d’utilisation de l’assistant de service

14

Page 19: Rapport de stage réalisation d'un ERP

Cas d’utilisation du responsable de departement

Fig. 3.6 – Cas d’utilisation du responsable de departement

3.4.1 Les diagrammes de sequences

les diagrammes de sequences peuvent servir a illustrer un cas d’utilisation decrit precedemment.C’est un moyen semi formel de capturer le comportement de tous les objets et acteurs impliquesdans un cas d’utilisation. Dans ce qui suit nous allons presenter quelques scenarios de notreapplications.

Diagramme de sequence pour l’ajout d’un fichier EXCEL

Fig. 3.7 – Ajout d’un fichier EXCEL

15

Page 20: Rapport de stage réalisation d'un ERP

Diagramme de sequence pour la consultation des statistiques

Fig. 3.8 – Consultation des statistiques

16

Page 21: Rapport de stage réalisation d'un ERP

Diagramme de sequence pour la recherche de procedures

Fig. 3.9 – Recherche de procedures

Conclusion

Dans ce chapitre, nous venons de presenter une analyse globale de l’application tout enspecifiant les besoins fonctionnels et les contraintes que notre travail doit satisfaire et respecter.La conception et ses details seront decrits dans le prochain chapitre.

17

Page 22: Rapport de stage réalisation d'un ERP

Chapitre 4

Solutions techniques possibles et

choix retenus

Introduction

Ce chapitre aborde une etude comparative entre les differentes technologies existantes etprouve le choix de l’environnement de developpement ainsi que le systeme de gestion de la basede donnees.

4.1 Solutions techniques possibles

4.1.1 Technologie de developpement

Microsoft .NET

Presentation : La plate-forme Microsoft .NET est une solution complete pour developper,deployer et executer des application de tous types, y compris des services web. Fondee surdes standards de l’industrie (HTTP, XML, SOAP, WDSL), la plate-forme .NET est un moyensimple et puissant pour implementer la cooperation des services logiciels entre eux, quelle quesoit leur localisation, leur implementation technique, qu’ils soient internes ou externes, existantou a inventer.

Les composants de .NET : A travers les differentes annonces de Microsoft depuis sonlancement, les composants de .NET semblent s’organiser de la maniere suivante :

1. Pour la couche presentation et logique de presentation :

– ASP .NET : c’est une nouvelle version d’ASP (Active Server Pages) qui supporteune veritable compilation en IL, alors qu’ASP etait interprete auparavant. On peutegalement ecrire les pages ASP dans n’importe quel langage disposant d’un compilateurIL.

– WinForms et WebForms : ils presentent un ensemble de composants graphiques acces-sibles dans Visual Studio .NET .

2. Pour la couche logique metier et objets intermediaires :

18

Page 23: Rapport de stage réalisation d'un ERP

– CLR ( Common Language Runtime) : c’est un environnement d’execution communqui execute un bytecode ecrit dans un langage intermediaire (Microsoft intermediateLanguage)

– C# : c’est nouveau langage oriente objet destine a faciliter la programmation dans .NET,notamment les composants, qui integre des elements de C, C++ et de Java en apportantquelques innovations comme les meta-donnees.

– Langages quelconques qui peuvent etre compiles en IL et executes par le CLR si uncompilateur IL existe pour ce dernier.

– Une grande bibliotheque de composants et d’objets de base accessibles par le CLR,qui fournissent les fondations pour ecrire rapidement un programme (acces reseau, gra-phisme, acces aux donnees ).

– Visual Studio .NET : c’est une refonte de l’environnement Visual Studio et de VisualINterDev permettant aussi bien le developpement d’application et de composant clas-sique.

– Un support de terminaux mobiles avec une version compacte de l’environnement .NET.

3. Pour la couche de donnees :

– ADO .NET : c’est une nouvelle generation de composants d’acces aux bases de donneesADO qui utilise XML et SOAP pour l’echange de donnees.

Les avantages de .NET : La plate-forme .NET comprend un modele de programmationhomogene et des outils de developpement multi langages qui accelerent le developpement etl’integration de Services Web et de tout autre type d’application multi langages et integrantles standards, la plate-forme .NET laisse au developpeur toute liberte de choisir le langage dedeveloppement. D’autre part son support des stabndards et son approche moderne, la plate-forme .NET est parfaitement adaptee a la construction d’une architecture orientee services. Laplate-forme .NET offre donc plusieurs avantages :

– Un developpement specifique grace au moteur CLR .– Une structure multi langages et extensible .– Une execution multi plate-forme .– Une productivite comparable a celle des environnements Client/Serveur comme Power-

Builder ou Delphi .– Un modele de programmation simple et coherent .– Une installation automatisee des Web Services .

J2EE

Presentation : J2EE est logiquement destine aux gros systemes d’entreprise. Les logicielsemployes a ce niveau ne fonctionnent pas sur un simple PC mais requiere une puissance beau-coup plus importante. Pour cette raison, les applications doivent etre constituees de plusieurscomposants pouvant etre deployes sur des plate-formes multiples afin de disposer de la puissancede calcul necessaire. C’est la raison d’etre des applications distribuees.

J2EE est une collection de composants, de conteneurs et de services permettant de creer etde deployer des applications distribuees au sein d’une architecture standardisee.

19

Page 24: Rapport de stage réalisation d'un ERP

Les composants de J2EE : J2EE fournit une gamme d’outils et d’API afin de concevoirfacilement les differentes couches.

1. Pour la couche Presentation et logique de presentation :

– Java Servlet : Une servlet est un programme ecrit en JAVA qui tourne sur la machinedu serveur J2EE. Une servlet est chargee lorsque le serveur est mis en route ou lorsquele premier client fait appel aux services de la servlet.Le serveur Web recoit une demandeadressee a une servlet sous la forme d’une requete HTTP. Il transmet la requete a laservlet concernee, puis renvoie la reponse fournie par celle du client . La servlet recoitegalement les parametres de la requete envoyee par le client. Elle peut alors effectuertoutes les operations necessaires pour construire la reponse avant de renvoyer celle-cisous forme de code HTML. Une fois chargee, une servlet reste active dans l’attente denouvelles requetes. Une servlet doit soit implementer l’interface javax.servlet.Servlet ouetendre soit la classe javax.servlet.GenericServlet soit javax.servlet.http.HttpServlet.

– Java Server Pages (JSP) : cette extension permet de valoriser davantage les applicationsweb avec la plate-forme J2EE en permettant le developpement d’applications web baseessur ce modele ; les JSP permettent grace au moteur de servlet de produire facilementdes pages HTML.

– Struts : Jakarta Struts est un projet d’Appache software foundation qui a pour but defournir un cadre standard de developpement web en java respectant le modele d’archi-tecture MVC (Model-View-Controller). Il fournit le minimum de regles pour construiredes applications web professionnelles.

– Java Server Faces (JSF) : Java Server Faces est un framework d’interface utilisateurpour les applications web, base sur les technologies JSP et Servlets. Le but de JSFest d’accroıtre la productivite des developpeurs dans le developpement des interfacesutilisateur tout en facilitant leur maintenance. JSF permet de reconcilier deux pointsde vues diametralement opposes en fornissant un framework base sur une abstractioncomplete des mecanismes d’internet tout en garantissant une totale maıtrise du cycle devie du traitement d’une requete. JSF permet :– une separation nette entre la couche de presentation et les autres couches.– le mapping HTML/Objet.– un modele riche de composants graphiques reutilisables.– un modele riche de composants graphiques reutilisables.– une gestion de l’etat de l’interface entre les differentes requetes.– une liaison simple entre les actions cote client de l’utilisateur et le code Java corres-

pondant cote serveur.– la creation de composants customs grace a une API.– le support de differents clients (HTML, WML, XML, ...) grace a la separation des

problematiques de construction de l’interface et du rendu de cette interface.

20

Page 25: Rapport de stage réalisation d'un ERP

Fig. 4.1 – Architecture de JSF

– Spring : C’est un framework ayant pour but de rendre facile le developpement desapplications web tout en augmentant la consistance et la productivite.

2. Pour la couche logique metier et objet intermediaires :

– Les EJB : Ce sont des composants Java pour des applications distribuees multi niveaux.Cette extension fournit un moyen standard pour definir les composants cote serveuret definit une vaste infrastructure d’execution pour l’hebergement des composants coteserveur.

– Les JavaBeans : Selon la specification des Javabeans, une Bean est un composant logicielreutilisable pouvant etre manipule visuellement dans un outil de construction (buildertool).

3. Pour la couche de donnees :– JDBC Connector : JDBC (l’acronyme de JAVA Data Base Connectivity) est une API

JAVA permettant d’acceder a es base de donnees, de facon independante de la baseutilisee, a partir d’une application JAVA. La procedure sera la meme quelle que soit labase de donnees choisie. JDBC definit une API de bas niveau designee pour supporter lesfonctionnalites basiques de SQL independement de toute implementation SQl specifique.

– Hibernate : c’est un framework qui donne une solution pour le mapping objet/relationnelet la gestion de la couche de persistence. Hibernate permet la gestion automatique dela structure de la base de donnees : creation et mise a jour. IL utilise un langage simplepour l’interrogation de la base de donnees appele HQL (Hibernate Query Language) etqui fournit une couche d’abstraction SQL.

21

Page 26: Rapport de stage réalisation d'un ERP

Fig. 4.2 – Architecture de Hibernate

Les avantages de J2EE : L’approche multi niveaux adoptee par la plate-forme J2EE offreplusieurs avantages :

– Elle reduit la complexite du developpement distribue avec une architecture simplifiee et lepartage de la charge de travail.

– C’est une solution hautement evolutive qui permet le developpement des systemes satis-faisant de nombreux besoins rapidement modifiables.

– Les nouvelles applications peuvent s’integrer correctement avec les systemes d’informationsexistants.

– La securite est amelioree.– Les developpeurs peuvent choisir parmi une diversite d’outils de developpement et de

composants pour developper les applications requises.– L’equipe de developpement peut selectionner les meilleurs solutions pour leurs besoins,

sans etre verrouillee par l’offre du fournisseur unique.– Tous les composants sont gratuits.

Comparaison entre J2EE et .NET

Dans cette section, nous allons degager les principales differences entre la technologies J2EEde Sun et la technologie .NET de Microsoft. En fait, nous avons limite notre etude sur cesdeux technologies car ils sont les plus appreciees au sein des entreprises qui ambitionnent avoirdes applications robustes, portables, complexes et securisees, d’autant plus qu’elles traitent desdonnees confidentielles, et font appels aux technologies les plus modernes. Le tableau suivantexpose les criteres sur lesquels se basera notre choix technologique.

22

Page 27: Rapport de stage réalisation d'un ERP

.NET J2EE

Langages C#,multi-langage Java

Services BCL Java Core API

Presentation ASP .NET Servlet, JSP

Interprete CLR JVM

Composants graphiques WinForms, WebForms Swing

Acces a la BD ADO .NET JDBC, Hibernate, iBatis

Technologie Produit Standard

Tab. 4.1 – Tableau comparatif .NET et J2EE

4.1.2 Environnement de developpement

4.1.3 Gestion de la base de donnees

Oracle DataBase

Oracle est un SGBDR edite par la societe du meme nom Oracle Corporation leader mondialen base de donnees.Oracle peut assurer entre autres fonctionnalites :

– La definition et la manipulation des donnees– La coherence des donnees.– La confidentialite des donnees.– L’integrite des donnees.

MySQL

MySQL a pour origine l’application mSQL. Cette application permettait de ce connecter ades tables en utilisant des routines bas niveau. Cependant, apres quelques tests, les developpeurssont arrives a la conclusion que mSQL n’etait pas assez rapide et flexible pour leurs besoins. Leserveur de bases de donnees MySQL est tres rapide, able et facile a utiliser. Il dispose aussi defonctionnalites pratiques, developpees en cooperation avec les utilisateurs.

Les principales fonctionnalites qu’offre MySQL sont :– Fonctionne sur de nombreuses plate-formes.– Dispose d’API pour C, C++, Eiffel, Java, Perl, PHP, Python, Ruby et Tcl.– Completement multi-threade, grace aux threads du noyau. Cela signi e qu’on peut l’utiliser

facilement sur un serveur avec plusieurs processeurs.– Tables B-tree tres rapide, avec compression d’index.– Systeme l’allocation memoire tres rapide, exploitant les threads.– Tables en memoire, pour realiser des tables temporaires.– Les fonctions SQL sont implementees grace a une librairie de classes optimisees, qui sont

aussi rapides que possible .

PostgreSQL

PostgreSQL est un SGBD relationnel objet Open Source implemente par l’universite de Ber-keley. Les fonctions cles du modele objet de PostgreSQL sont les classes, l’heritage et la surcharge.

23

Page 28: Rapport de stage réalisation d'un ERP

PostgreSQL est un logiciel ” modulaire ” possedant un langage d’ecriture de procedures similairea celui d’Oracle mais egalement d’autres interfaces de programmation. Voici les fonctions clesdu modele oriente objet de PostgreSQL :

– Les classes : Une classe correspond a un ensemble d’objets possedant un identificateurunique.

– L’heritage : La notion d’heritage correspond a une organisation hierarchique des tables.Par exemple, si deux tables se trouvent dans une relation parent/enfant, les informationscontenues dans la table parent sont egalement disponible dans la table enfant.

– La surcharge : On parle de ”surcharge de fonction” lorsqu’une fonction peut etre definieplusieurs fois avec des parametres differents.

4.2 Choix retenus

La clarete de l’architecture qu’elle propose ainsi que la multitude des IDE qui peuvent lasupporter et sa gratitude, la technologie J2EE a ete le choix Judicieux pour le developpement denotre application. L’IDE surlequel nous avons choisit de developper notre application est l’IDEEclipse. Une base de donnee MySQL est celle qui va etre implementer pour gerer les donneesnecessaire a l’application.

Conclusion

Apres cette etude nous avons decide de choisir la plate-forme J2EE comme environnement dedeveloppement (donc Java comme langage de programmation), MySQL pour l’implementationde la base de donnees et hibernate pour la couche persistence de donnees. Le chapitre suivantaborde en detail la conception de l’application a realiser.

24

Page 29: Rapport de stage réalisation d'un ERP

Chapitre 5

Conception

Introduction

Dans ce present chapitre nous allons entamer une partie cruciale du developpement logicielet qui constitue un pont entre la specification et la realisation. Elle comporte la conception del’application ainsi que la conception de la base de donnees.

5.1 Conception generale

Le travail a realiser est decompose en deux module independants a savoir le module de lacomptabilite analytique et le module le gestion de la base de connaissances.

5.1.1 La comptabilite analytique :

Ce module s’integre dans la partie de gestion financiere de l’ERP a realiser. Elle automatiseau premier lieu la tache de pointage horaire du personnel de l’entreprise et facilite, en second lieu,la tache du comptable pour la realisation des statistiques elementaires et croisees et y dessinerles diagrammes correspondnat afin de les bien presenter au responsable superieur. Ce module,a part son role pour reduire les temps de realisation des taches citees, il permet d’economiserl’argent puisque l’etre humain n’interviendra pas dans le mecanisme.

5.1.2 La gestion de la base de connaissances :

Ce module fait parti de la gestion de la productivite de l’entreprise. en effet il sert comme unpuissant outil pour la constitution d’un ensemble de connaissances dans les domaines d’activitede l’entreprise afin de faciliter la reparation, la mise a niveau ou l’elimination d’une procedurede travail.

5.2 Conception detaillee

La conception detaillee vise a transformer le modele d’analyse (specification : haut niveaud’abstraction) en un modele concret, de bas niveau d’abstraction et a partir duquel le program-meur peut directement implementer le systeme.

25

Page 30: Rapport de stage réalisation d'un ERP

5.2.1 Architecture de l’application

La navigation entre les differentes parties de notre application est presentee par la figureci-dessous :

Fig. 5.1 – Architecture de l’application

5.2.2 Diagrammes de Classes

Le diagramme de classes permet de decrire la structure statique du systeme a l’aide desclasses et des relations.

26

Page 31: Rapport de stage réalisation d'un ERP

Fig. 5.2 – Diagramme de classes de l’application

27

Page 32: Rapport de stage réalisation d'un ERP

5.2.3 Diagrammes de sequences detailles

Diagramme de sequence pour l’ajout d’un fichier EXCELLe diagramme suivant presente comment un ingenieur peut ajouter un fichier EXCEL pour leprendre en compte par l’administration de l’entreprise.

Fig. 5.3 – Ajout d’un fichier EXCEL

28

Page 33: Rapport de stage réalisation d'un ERP

Diagramme de sequence pour la consultation des statistiques

Fig. 5.4 – Consultation des statistique

29

Page 34: Rapport de stage réalisation d'un ERP

Diagramme de sequence pour la recherche de procedures

Fig. 5.5 – Recherche de procedures

30

Page 35: Rapport de stage réalisation d'un ERP

5.2.4 Conception de la base de donnees

Le modele relationnel de donnees est un modele de donnee comme d’autres existants ayantpour but de decrire le monde reel a partir des informations et des donnees qu’on peut en extraireet se differencient par la nature des associations qu’ils permettent de modeliser. L’objectif essen-tiel du modele relationnel etait d’accroıtre l’independance vis-a-vis du niveau de representationdes donnees. Du point de vue utilisateur, une base de donnees peut etre consideree comme unensemble de tables manipulables par des langages de haut niveau dont la caracteristique princi-pale est d’etre des langages non proceduraux. Pour ces raisons nous avons choisi d’utiliser unebase de donnees relationnelle.A ce niveau de cette application et tout en considerant les besoins deja specifies nous avonsenvisage un certain nombre de tables pour enregistrer les donnees necessaires pour la gestion dusite. Les tables utilisees et les relations qui les inter-relient sont donnees par la figure 5.6

Fig. 5.6 – Conception de la base de donnees

31

Page 36: Rapport de stage réalisation d'un ERP

Coclusion

Etant donne les besoins des utilisateurs de notre applications, la phase de conception vientpour permettre la determination des differents objets contribuant a assurer les fonctionnalitessouhaitees. Cette phase est une preparation a la phase du codage garantissant une organisationclaire et precise ainsi qu’une facilite d’implementation des classes invoquees, des structures dedonnees utilisees et les relations qui existent entre les differentes classes. Nous essayons dansle chapitre realisation d’implementer les differentes classes et de montrer les fonctionnalitesrealisees suite a cette implementation.

32

Page 37: Rapport de stage réalisation d'un ERP

Chapitre 6

Realisation

Apres avoir acheve l’etape de conception de l’application, nous entamons dans ce chapitrela phase de realisation. Nous allons presenter, en premier lieu, l’environnement de travail utilisepour le developpement de l’application. Ensuite, nous allons donner un apercu sur le travailaccompli a travers des capture d’ecran. Enfin, nous montrerons le chronogramme de la realisationdu projet.

6.1 Environnement de travail

6.1.1 Environnement materiel

Afin de realiser ce site web dans les conditions les plus favorables, nous avons mis en dispo-sition un ordinateur ayant la configuration suivante :

Processeur : Intel(R) Pentium(R) M 3.2GHzDisque dur : 120GbRAM :1.256GB

6.1.2 Environnement logiciel

Eclipse

Eclipse est un environnement de developpement integre (Integrated Development Envi-ronment) dont le but est de fournir une plate-forme modulaire pour permettre de realiserdes developpements informatiques. I.B.M. est a l’origine du developpement d’Eclipse qui estd’ailleurs toujours le coeur de son outil Websphere Studio Workbench (WSW), lui meme a labase de la famille des derniers outils de developpement en Java d’I.B.M. Tout le code d’Eclipsea ete donne a la communaute par I.B.M afin de poursuivre son developpement.

Eclipse utilise enormement le concept de modules nommes ”Plug-ins” dans son architecture.D’ailleurs, hormis le noyau de la plate-forme nomme ”Runtime”, tout le reste de la plate-formeest developpe sous la forme de Plug- ins. Ce concept permet de fournir un mecanisme pourl’extension de la plate-forme et ainsi fournir la possibilite a des tiers de developper des fonction-nalites qui ne sont pas fournies en standard par Eclipse.

33

Page 38: Rapport de stage réalisation d'un ERP

Tomcat :

Tomcat est un serveur d’application totalemet ecrit en java. A partir de la version 5.0 ilimplementait les specifications 2.4 des JavaServlet et 2.0 des JSP.Tomcat a ete developpe en open source au sein du projet Apache Jakarta, dont le but est defournir des solutions serveur basees sur la plate-forme Java, de qualite identique aux applicationscommerciales.Tomcat est un moteur d’execution pour les servlets et les pages JSP. Il prend encharge la partie dynamique du site et laisse la partie statique au serveur web.

6.2 Travail realise

A cette etape du nous donnons les captures d’ecran relatives aux pages des principalesfonctions realisees par l’application.

6.2.1 Page d’authentification des utilisateurs

Fig. 6.1 – Identification des utilisateurs

34

Page 39: Rapport de stage réalisation d'un ERP

6.2.2 Page d’ajout d’un document EXCEL

Fig. 6.2 – Ajout d’un fichier

6.2.3 Page de validation d’un documents EXCEL

Fig. 6.3 – Validation du document EXCEL

35

Page 40: Rapport de stage réalisation d'un ERP

6.2.4 Recherche de fiches de procedures

Fig. 6.4 – Recherche de fiche de procedure

6.2.5 Resultats de la recherche

Fig. 6.5 – Resultats de la recherche

36

Page 41: Rapport de stage réalisation d'un ERP

6.2.6 Consultation des statistiques

Fig. 6.6 – Consultation des statistiques

6.2.7 Ajout de nouveaux utilisateurs ou administrateurs

Fig. 6.7 – Ajout de nouveaux utilisateurs ou administrateur

37

Page 42: Rapport de stage réalisation d'un ERP

6.3 Chronogramme

Il est necessaire de tracer un diagramme qui decrit la repartition temporelle des taches dutravail durant deux mois afin de montrer les differentes phases par lesquelles notre projet a passe.

– Documentation et etudes theorique : elle consiste a rechercher une documentation sur lesujet et a etudier les objectifs generaux du stage.

– Specification et analyse de besoins : elle consiste a etudier l’etat actuel du processus detravail de l’entreprise ainsi que ses besoins reels.

– Conception : elle vise a modeliser le systeme selon une vue bien claire.– Implementation : elle s’occupe du developpement du codes des differentes fonctionalites

du systeme comme modelise dans la conception.– Redaction du rapport : elle collecte toutes les informations necessaires et autorisees a etre

publiees.Le chronogramme suivant donne la repartition de ces differentes phases :

Fig. 6.8 – Chronogramme

38

Page 43: Rapport de stage réalisation d'un ERP

Conclusion et perspectives

Avant de commencer le stage, nous en attendions essentillement a trois choses : travailler surun produit d’avenir au moins en tunisie (les ERP), recueillir une experience et des competencesprofessionnelles et decouvrir le fonctionnement des equipes de developpement au sein des entre-prises informatiques.

L’objectif de ce stage etait de concevoir et de developper deux modules faisant parti d’unERP destine a une entreprise classee de PME.

Il a ete aussi benefique aussi bien sur le plan theorique que sur le plan pratique. En effet surle plan pratique ce projet nous a donne une occasion de decouvrir le framework JSF pour ledeveloppement des applications web, et d’ameliorer nos connaissances sur la gestion des basesde donnees. Sur le plan theorique il nous a permis une familiarisation avec les notions et les au-tomatismes de la programmation des applications Web avec l’IDE Eclipse suivant l’architectureMVC2 ainsi que les techniques de manipulation de la couche de persistence avec Hibernate.

En perspectives, le developpement du reste des modules de l’ERP et son integration dansl’environnement constituons le sujet du projet de fin d’etudes afin de voir un produit completpouvant automatiser plusieurs tache dans les petites et moyennes entreprises.

39

Page 44: Rapport de stage réalisation d'un ERP

Bibliographie

[1] Olivier Debas, Christine Deffaix Remy Applications Web Java Servlets et JSP,2004

[2] David GearyCore, Cay Horstmann JavaServer Faces, Second Edition,2007

[3] Giulio zambon Begining JSP, JSF and Tomcat web devloppement.Apress 2007

[4] Eric Sarrion. Developpement Web avec J2EE .O’Reilly,2005

40

Page 45: Rapport de stage réalisation d'un ERP

Netographie

[N1] http://www.developpez.com consulte le 01 juillet 2008[N2] http://www.coreservlets.com/JSF-Tutorial/ consulte le 09 juillet 2008[N3] http://www.jsftoolbox.com/documentation/ consulte le 10 juillet 2008[N4] http://www.roseindia.net/ consulte le 27 juillet 2008[N2] http://www.myfacescomponent.com consulte le 20 aout 2008[N3] http://www.tomahawkcomponent.com consulte le 21 aout 2008

41

Page 46: Rapport de stage réalisation d'un ERP

Glossaire

Dans ce glossaire nous citons quelques termes necessaires pour la comprehension du rapport.ASP : Active Server PagesCLR : Common Language RuntimeEJB : Entreprise JavaBeanERP : Entreprise Ressource PlanningHQL : Hibernate Query LanguageHTTP : Hyper Text Transfer ProtocolIDE : Integrated Development EnvironmentJDBC : Java Data Base ConnectivityJSF : Java Server FacesJSP : Java Server PagesMVC : Model-View-ControllerPGI : Progiciel de Gestion IntegrePME : Petites et Moyennes EntreprisesSI : Systeme d’InformationSQL : Structured Query LanguageUML : Unified Modeling Language

42

Page 47: Rapport de stage réalisation d'un ERP

Annexe A

Les Architectures Logicielles

Architecture Simple tiers

Les applications bureautiques sont concues pour fonctionner sur un ordinateur unique. Toutesles services fournis par l’application - interface utilisateur, persistance des donnees (sauvegardedans des fichiers proprietaires) et logique de traitement de ces donnees - resident sur la mememachine et sont inclus dans l’application.

Fig. A.1 – Architecture Simple Tiers.

Architecture deux tiers

Selon l’architecture deux tiers les traitements sont repartis entre le client represente par unestation de travail utilisateur et le serveur represente par un mainframe ou un serveur puissant.Le client prend en charge l’ensemble des taches liees a la presentation, a la logique applicativeainsi qu’une grande partie de la logique metier. Quant au serveur, son role est d’heberger lesdonnees du systeme d’information et de traiter les requetes en provenance du client.

Un des inconvenient de l’architecture deux-tiers est que la logique chargee de la manipulationdes donnees et de l’application des regles metiers afferentes est incluse dans l’application elle-meme. Cela pose probleme lorsque plusieurs applications doivent partager l’acces a une base dedonnees.

Architecture trois tiers

C’est un modele logique d’architecture applicative qui vise a separer tres nettement troiscouches logicielles au sein d’un meme systeme.

43

Page 48: Rapport de stage réalisation d'un ERP

Fig. A.2 – Architecture Deux Tiers

Fig. A.3 – Architecture Trois Tiers

Selon ce modele, toute la logique metier est extraite de l’application cliente. Celle-ci n’estplus responsable que de la presentation de l’interface a l’utilisateur et de la communication avecle tiers median. Elle n’est plus responsable de l’application des regles. Son role est reduit a lacouche presentation.

La plate forme J2EE

J2EE est l’acronyme de Java 2 Entreprise Edition. Cette edition est dediee a la realisationd’applications pour entreprises. J2EE est base sur J2SE (Java 2 Standard Edition) qui contientles API de base de Java. Depuis sa version 5, J2EE est renomme Java EE (Enterprise Edition).

Notion de J2EE

J2EE est logiquement destine aux gros systemes d’entreprise. Les logiciels employes a ce ni-veau ne fonctionne pas sur un simple PC mais requiere une puissance beaucoup plus importante.Pour cette raison, les applications doivent etre constituees de plusieurs composants pouvant etredeployes sur des plate-formes multiples afin de disposer de la puissance de calcul necessaire.C’est la raison d’etre des applications distribuees.

J2EE est une collection de composants, de conteneurs et de services permettant de creer etde deployer des applications distribuees au sein d’une architecture standardisee.

44

Page 49: Rapport de stage réalisation d'un ERP

Les Conteneurs

Les conteneurs sont les elements fondamentaux de l’architecture J2EE. Les conteneurs fournispar J2EE sont de meme type. Ils fournissent une interface parfaitement definie ainsi qu’unensemble de services permettant aux developpeurs d’applications de se concentrer sur la logiquemetier a mettre en oeuvre pour resoudre le probleme qu’ils ont a traiter, sans qu’ils aient ase preocuper de toute l’infrastructure interne. Les conteneurs s’occupent de toutes les tachesfastidieuses liees au demarrage des services sur le serveur, a l’activation de la logique applicative,la gestion des protocoles de communication intrinseque ainsi qu’a la liberation des ressourcesutilisees.

Les Servlets

Une servlet est un programme ecrit en JAVA qui tourne sur la machine du serveur J2EE.Une servlet est chargee lorsque le serveur est mis en route ou lorsque le premier client fait appelaux services de la servlet.Le serveur Web recoit une demande adressee a une servlet sous laforme d’une requete HTTP. Il transmet la requete a la servlet concernee, puis renvoie la reponsefournie par celle du client . La servlet recoit egalement les parametres de la requete envoyee par leclient. Elle peut alors effectuer toutes les operations necessaires pour construire la reponse avantde renvoyer celle-ci sous forme de code HTML. Une fois chargee, une servlet reste active dansl’attente de nouvelles requetes. Une servlet doit soit implementer l’interface javax.servlet.Servletou etendre soit la classe javax.servlet.GenericServlet soit javax.servlet.http.HttpServlet.

Fig. A.4 – Servlet etendant la classe javax.servlet.http.HttpServlet

Les pages Jsp

Creer des servlets consiste a construire des composants Java capables de produire du codeHTML. Dans de nombreux cas, cela fonctionne sans probleme. Toutefois, il n’est pas facile, pourles personnes chargees de concevoir l’aspect visuel des pages Web, de manipuler du code Java,auquel elles n’ont probablement pas ete formees. C’est la raison d’etre des JavaServer Pages.Les JSP sont des documents de type texte, contenant du code HTML ainsi que des scriptlets(et/ou des expressions), c’est-a-dire des morceaux de code Java.

45

Page 50: Rapport de stage réalisation d'un ERP

Fig. A.5 – Les pages JSP dans une application J2EE.

Les JavaBeans

Selon la specification des Javabeans, une Bean est un composant logiciel reutilisable pouvantetre manipule visuellement dans un outil de construction (builder tool). Un composant possede :

– des proprietes persistantes– des evenements reconnus– des methodes de traitement des evenements

Les Serveurs D’application

Le serveur d’application est l’environnement d’execution des applications cote serveur. Ilprend en charge l’ensemble des fonctionnalites permettant a plusieurs utilisateurs d’exploiterune meme application. Parmi ces fonctionnalites nous pouvons citer :

– Gestion de la session utilisateur : c’est le fait de conserver pour chaque utilisateur uncontexte qui lui est propre, et cela se fait generalement en generant un identifiant uniquepour chaque client et en le transmettant lors de chaque echange HTTP.

– Gestion des montees en charge et reprise sur incident : afin de gerer toujours plus d’uti-lisateurs, le serveur d’application doit pouvoir se deployer sur plusieurs machines et,eventuellement, offrir des possibilites de reprise sur incident.

– Ouverture sur plusieurs sources de donnees : pour rendre accessible les donnees de l’appli-cation, le serveur d’application doit pouvoir acceder a de nombreuses sources de donnees.

Le Modele MVC

Le modele MVC (Model View Controler) a ete initialement developpe pour le langage Small-talk dans le but de mieux structurer une application avec une interface graphique.

Ce modele est un concept d’architecture qui propose une separation en trois entites desdonnees, des traitements et de l’interface :

46

Page 51: Rapport de stage réalisation d'un ERP

Fig. A.6 – Le modele MVC.

– Le Modele represente les donnees de l’application generalement stockees dans une base dedonnees.

– La Vue correspond a l’IHM (Interface Homme Machine).– Le Controleur assure les echanges entre la vue et le modele notamment grace a des com-

posants metiers.L’utilisation du modele MVC rend un peu plus complique le developpement de l’applicationqui le met en oeuvre mais il permet une meilleure structuration de l’application. Le principaldefaut du modele MVC est le nombre de servlets a developper pour une application. Commeremede a ce probleme, le modele MVC2 s’est impose. En effet cette version du modele proposede n’utiliser qu’une seule servlet comme controleur de tiute l’application.

47