Anda di halaman 1dari 24

Introduction gnrale

Introduction gnrale Dans les annes 1970, la gestion tait toujours spcifique et donc les logiciels de gestion taient taills sur mesure pour chaque entreprise. Les logiciels mtier se sont ensuite spcialiss par activit ou par fonction : production, vente, comptabilit, etc. Ces applications sont dveloppes indpendantes, ce qui a amen lapparition de plusieurs problmes : redondance et incohrence des donnes, etc. Dans les annes 1990, une technologie a rvolutionn le monde de lentreprise, il sagit dInternet. On parle mme de-business1 pour dsigner les besoins lis cette nouvelle technologie. Le monde de lentreprise change : laccs linformation distance devient plus accessible, la saisie des donnes peut tre effectue par une personne tierce comme par exemple le fournisseur ou le client via Internet, etc. Pour rsoudre ces problmes et satisfaire les besoins du march, une solution est apparue qui est capable dintgrer tous les processus de gestion en un systme dinformations de lentreprise dans un progiciel de gestion intgr ayant une base de donnes unique et cohrente. Les ERP2 assurent un change de donnes informatises tout moment et en tout lieu, une information dynamique et personnalise, des transactions interactives et une ractivit pour offrir encore de nouveaux services. Ils permettent de construire des applications informatiques (gestion de paie, gestion des stocks, etc.) de manire modulaire (des modules indpendants entre eux) tout en partageant une base de donnes unique et commune. Au niveau dun ERP lorsquune donne est enregistre par lun des modules, elle sera propage tous les autres modules qui en ont besoin. Dans ce cadre, la socit I-Way, sintresse adapter le progiciel de gestion intgr OpenERP3, dvelopp pour les systmes dinformations des entreprises belges, aux systmes dinformations des entreprises tunisiennes. Lobjectif fondamental de notre projet de fin dtudes consiste adapter le module de gestion des ressources humaines aux systmes dinformations des entreprises tunisiennes. Vue que ladaptation de module de gestion des ressources humaines tait difficile, au dmarrage de notre projet, par manque de connaissances, de comptences et dexprience en terme du langage Python et du systme de gestion des bases de donnes PostgreSQL, notre premier objectif visait dvelopper un nouveau module de gestion des ressources humaines. Notre deuxime objectif tait lintgration de notre module dans le PGI OpenERP aprs avoir maitris le langage Python et le SGBD4 PostgreSQL. Notre mmoire est organis en six chapitres : Le premier chapitre nous dcrierons le contexte gnral et lobjectif de projet. Le deuxime chapitre est consacr ltude de lexistant et spcification des besoins. Le troisime chapitre nous prsentons ltude fonctionnelle. Le quatrime chapitre nous entamerons la conception de projet. Le cinquime chapitre nous prsenterons les techniques quon utiliser dans la ralisation de notre application.

Chapitre 1 : Concepts de base du sujet trait

INTRODUCTION
Nous utiliserons frquemment au cours de cette tude des termes propres au RESSOURCES HUMAINES et GESTION DE PAIE. Nous prsenterons ainsi quelques concepts de base permettant une meilleure comprhension du sujet traiter.

CONCEPTS DE BASE
RH (Ressources humaines) Gestion de paie Catgorie Echelon Qualification Service Prime Heures Supplmentaires Contrat Dclaration CNSS IRPP Avances Absence Fiche de paie Salaires de base : Salaire brute : Salaire imposable Salaire net payer Etat de paie : Openerp Postgres

PRESENTATION DE LORGANISME
Prsentation de I-Way

Prestations et services

Secteurs dactivits

Chapitre 2 : Modlisation du mtier

I. II.

REPERAGE DU DOMAINE DESCRIPTION DES PROCESSUS METIER

Chapitre 3 1.Capture des besoins

Chapitre 4 2.Analyse et Conception

Chapitre 5 3. Dossier technique

Ce chapitre prsente deux objectifs : Dune part, il fait le point sur larchitecture dopen ERP, qui est ncessaire pour la mise en place de notre application. Dautre part, il prsente des outils techniques que nous avons adopts pour la ralisation de lapplication notamment le langage Python, le langage XML et la base de donnes PostgreSQL .

1.1

Prambule

Il est vrai que notre stage avait comme objectif principal la ralisation dune application de la gestion de la paie pour satisfaire certains besoins dj cits. Cependant ce qui est intressant cest que la mise en uvre de cette application seffectuait sous une certaine philosophie qui est celle de lopen-source. Dans ce qui suit, nous verrons les diffrents outils utiliss et les architectures adoptes pour leurs mises en uvre.

1.2 LINUX
1.2.1 Prsentation
Linux ou GNU/Linux qui est un systme d'exploitation, est logiciel libre cr en 1991 par Linus Torvalds. Aujourd'hui, grce un effort considrable de dveloppement fourni par des personnes du monde entier, Linux fonctionne sur quasiment toute architecture moderne. Le noyau Linux a pris une importance aussi bien idologique que technique. Il existe une communaut entire de personnes qui croient aux idaux du logiciel libre et donnent de leur temps pour aider rendre la technologie libre aussi performante que possible. L'esprit du libre, souvent attribu Linux, influence les dveloppeurs et les utilisateurs de logiciels partout dans le monde et entrane des communauts partageant des objectifs communs.

1.2.2 Le projet GNU


Le projet GNU a t lanc en janvier 1984 par Richard Stallman, pour dvelopper un systme d'exploitation complet de type UNIX, compos de logiciels libres : le systme GNU. Les variantes du systme d'exploitation GNU, construites autour du noyau Linux, sont aujourd'hui largement utilises. Le projet GNU est troitement li la philosophie du logiciel libre qui est omniprsente dans les projets qui en dcoulent tels quUbuntu.

1.2.3 Ubuntu

Ubuntu est un systme d'exploitation entirement libre construit autour du noyau Linux. La communaut Ubuntu s'est forme autour des idaux constitutifs de la philosophie d'Ubuntu: Le logiciel doit tre disponible gratuitement. Les logiciels doivent tre utilisables dans la langue de l'utilisateur et en dpit de tout handicap. L'utilisateur doit avoir la libert de personnaliser et de modifier le logiciel sa guise. Ubuntu est le systme dexploitation avec lequel nous avons dvelopp notre application pour que le stage soit conforme aux idaux de lorganisme daccueil.

1.3 Les ERP


1.3.1 Prsentation gnrale
Lacronyme ERP signifie Enterprise Ressource Planning traduit en franais par Progiciel de Gestion Intgr ou PGI. Cest un progiciel qui permet de grer lensemble des processus dune entreprise intgrant lensemble de ses fonctions comme la gestion des ressources humaines, la gestion financire et comptable, laide la dcision, la vente, la distribution, lapprovisionnement, la production ou encore le e-Commerce. On distingue deux types ERP : les ERP propritaires, dits par des socits, ce qui implique lachat dune licence, et les ERP open source qui sont gratuits . Nous nous intressons la catgorie des ERP opensource et plus particulirement OPENERP.

1.3.2 Open ERP


OpenERP est un progiciel de gestion intgr libre d'origine belge, rencontrant un grand succs travers une communaut mondiale qui lui apporte en permanence des amliorations et des nouveaux modules dont la qualit continue d'tre certifie par l'diteur belge. OpenERP admet plusieurs avantages. On note en particulier : Libre : la solution est distribue sous licence GPL pour le serveur, le client GTK et le serveur web. Une grande couverture fonctionnelle : plusieurs centaines de modules sont disponible couvrant un large ventail de fonctionnalits et de mtiers. Une communaut trs active : ceci tmoigne d'une grande dynamique et d'une volution rapide du produit. Une technologie puissante : une architecture 4-tiers, un moteur ORM trs puissant, une approche oriente objet et l'accs aux objets par des Web Services.

1.3.3 Architecture modulaire


Cette architecture nest pas propre open ERP. Elle est en fait partage par tous les ERP. Il sagit de la facult de construire des applications informatique de manire modulaire (modules indpendants entre eux) tout en partageant une base de donnes unique. Ceci apporte une importance significative puisque les donnes sont maintenant standardises et partages. Ce qui limine les saisies multiples et vite l'ambigut des donnes de mme nature. Larchitecture modulaire dopen ERP lui permet de couvrir plusieurs domaines illustrs dans la figure ci-dessous

Figure. Schma gnral des modules dOpenERP

La gestion des achats OpenERP fournit une gamme complte de gestion dachat qui permet de crer et suivre les commandes, de grer le carnet d'adresses, de contrler les processus de rception des produits et de vrifier les factures des fournisseurs. La gestion des stocks La gestion de stock dans OpenERP permet la gestion multi-entrepts. Elle est base sur la structure hirarchique des endroits des entrepts aux bacs de stockage. La gestion de comptabilit La comptabilit dans OpenERP permet de grer les oprations comptables quotidiennes et fournit un outil efficace pour raliser en temps rel l'analyse financire. La CRM et la gestion des ventes La gestion de la relation clients et fournisseurs et la gestion des ventes permet de suivre les activits de vente partir du premier contact avec le client jusqu' la facture finale. Aussi OpenERP permet de garder une trace de tous les mails et les documents changs avec les clients La gestion de projets Dans OpenERP on peut grer des projets de toute nature. Ils peuvent tre lis des services ou de soutien, de production ou de dveloppement. Il permet d'organiser les activits en tches et planifier le travail dont on a besoin. La gestion de production

La gestion de production dans OpenERP permet de grer la chaine d'approvisionnement d'une manire complte et exacte et de grer les ressources comme les ressources humaines ou des machines. La gestion des ressources humaines OpenERP permet de grer les ressources humaines, tels que les contrats, les fiches de paie, les congs, le temps de travail.

1.3.4 Architecture technique.


1.3.4.1 Architecture Client/serveur :
Open ERP est bas sur une architecture client/serveur. Le serveur et le client communiquent via le protocole XML-RPC. Cest un simple protocole qui permet au client de faire des appels aux procdures. Une fois la fonction est appele, ses arguments et ses rsultats sont envoys par le protocole http, eux-mmes sont encods par le langage XML. Open ERP est coupl une base de donnes PostgreSQL. De plus, il est compatible au pack Open Office, et aussi avec des outils de reporting (ReportLab) pour produire des rapports en PDF ou en HTML. La logique dopen ERP est entirement du ct serveur. La tche du client se rsume demander les donnes (formulaire ou listes) au serveur et de les renvoyer. Avec cette approche, presque tout le dveloppement est fait du ct serveur. Ce qui rend OPENERP plus simple au dveloppement et la maintenance. L'opration client est trs simple. Quand un utilisateur excute une action (sauvegarder un formulaire, ouvrir un menu, imprimer, ...) il envoie cette action au serveur. Le serveur envoie alors la nouvelle action pour s'excuter ct client. Il y a trois types d'actions : Ouvrir une fentre (formulaire, listes) Imprimer un document. Excuter un wizard[11]. Avec le client GTK, OpenErp est un systme client/serveur 3 tiers: OpenERP utilise le systme de gestion de bases de donnes libre PostGreSQL serveur pour stocker les donnes de lentreprise (premiertiers). La partie application rside, dune part sur le serveur sous la forme dune application appele OpenERP Server (second tiers). Cette application prend en charge le traitement sur les donnes :contrle des valeurs saisies, interrogation de la base de donnes, rcupration des donnes utiles. La mise en forme des donnes demandes par lutilisateur est partage entre le serveur et le client : Le serveur prpare les donnes afficher et le fait transiter par un flux au format XML. Le client rcupre les donnes et les prsente, dans la fentre de lapplication, laide dun afficheur de PDF, ou bien dans une application bureautique (OpenOffice ou Office). Le dialogue avec lutilisateur (troisime tiers) : laffichage lcran et la rcupration des valeurs saisies au clavier ou des ordres donns avec la souris sont pris en charge par une application cliente(ClientOpenERP) qui sappuie sur un composant graphique appel GTK (GTK est un ensemble d'outils multiplateforme pour la cration d'interfaces graphiques utilisateur. Il offre Lavantage de sexcuter aussi bien sur un systme dexploitation Windows que Linux.

Systme Client / Serveur 3 Tiers

1.3.4.2 MVC Modle dans la thorie classique de la POO (Programmation Oriente Objet) :
Un (MVC) est une architecture de modles utilise en gnie logiciel. Dans des applications complexes qui prsentent des lots de donnes aux utilisateurs, on souhaite souvent sparer les donnes (modle) et l'interface utilisateur (vue), de sorte que les changements l'interface utilisateur n'affectent pas le traitement des donnes, et que les donnes peuvent tre rorganises sans changer l'interface utilisateur. Le MVC rsout ce genre de problme en dcouplant l'accs des donnes et la logique des applications de la prsentation des donnes et de l'interaction utilisateur, en introduisant un composant intermdiaire : le contrleur . Dans open ERP, on peut appliquer cette smantique de ModelViewController avec : Model : les modles sont les objets dclars dans OPENERP. Ils sont galement des tables PostgreSQL. View : les vues sont dfinies en fichiers XML dans OPENERP. Controller : le contrleur est Python qui contrle OPENERP.

Figure : Modle vue contrleur

1.4 Langage Python


Python est un langage portable, dynamique, extensible, gratuit, qui permet (sans l'imposer) une approche modulaire et oriente objet de la programmation. Python est dvelopp depuis 1989 par Guido van Rossum et de nombreux contributeurs bnvoles.

1.4.1 Caractristiques du langage Python :


Dtaillons un peu les principales caractristiques du langage Python: Portable : Il est support par les diffrents systmes dexploitation. Gratuit Simple : Il possde une syntaxe trs simple tout en combinant des types de donnes volus (listes, dictionnaires) Absence des pointeurs. Il est orient objet et supporte lhritage multiple et la surcharge des oprateurs Dynamique : cette fonctionnalit est probablement la plus intressante de Python. Extensible. On peut facilement linterfacer avec des bibliothques C existantes. Python gre ses ressources (mmoire, descripteurs de fichiers...) sans intervention du programmeur, par un mcanisme de comptage de rfrences. Python possde actuellement deux implmentations. L'une, interprte, dans laquelle les programmes Python sont compils en instructions portables, puis excuts par une machine virtuelle (comme pour Java, avec une diffrence importante: Java tant statiquement typ, il est beaucoup plus facile d'acclrer l'excution d'un programme Java que d'un programme Python).L'autre gnre directement du byte code Java. Dynamiquement typ. Soutenu par la communaut dutilisateurs qui tentent lvoluer.

1.5 Langage XML


1.5.1 Prsentation du langage XML
XML (eXtensible Markup Language et en Franais Langage balises tendu, ou Langage balises extensible) tait lanc en 1997 par la communaut SGML (Standard Generalized Markup Language). XML est un langage simple et puissant de description et dchange de documents structurs de nimporte quel domaine de donnes grce son extensibilit, il dcrit cette structure laide dun systme de balises. Quelques points remarquables dXML : Il apparat comme un format dchange de donnes universel.

Il a la possibilit de crer des nouvelles balises contrairement HTML qui dfinit un nombre limit. Il garantit ses utilisateurs lindpendance de leurs documents de toute technologie propritaire. Il unifie le monde du traitement de document et celui du Web. Tout document XML se compose : Dun prologue qui peut contenir une dclaration XML, des instructions de traitement et une dclaration de type de document, dont la prsence est facultative mais conseille. Il contiendra un certain nombre de dclarations. Dun arbre dlments, on parle dlment pre et dlment fils. En fait la partie essentielle dun document XML sera toujours forme dune hirarchie dlments qui dnote la smantique de son contenu. De commentaires et dinstructions de traitement, dont la prsence est facultative. Ils pourront, moyennant certaines restrictions, apparatre aussi bien dans le prologue que dans larbre dlments. Un document XML valide est forcment un document bien form mais il obit en plus une structure type dfinie dans une DTD (Document Type Dfinition) Une DTD peut contenir : Des dclarations d'entits gnrales Des dclarations d'entits paramtres Des dclarations de notations Des dclarations d'lments Des dclarations de listes d'attributs Des commentaires

1.6 PostgreSQL
1.6.1 Prsentation de PostgreSQL :
PostgreSQL remonte la base de donnes Ingres, dveloppe Berkeley par Michel STONEBRAKER. Lorsque ce dernier dcida en 1985 de recommencer le dveloppement de zro, il nomma le logiciel Postgres, comme raccourci de post-Ingres. Lors de lajout des fonctionnalits SQL en 1995, Postgres fut renomm Postgres95.Ce nom fut chang la fin de 1996 en PostgreSQL [11]. PostgreSQL est un systme de gestion de base de donnes relationnelle et objet (SGBDRO). Cest un outil libre disponible selon les termes dune licence de type BSD [13]. Ce systme est concurrent dautres systmes de gestion de base de donnes, quils soient libres (comme MySQL et Firebird), ou propritaire (comme Oracle, Sybase, DB2). Comme les projets libres Apache et Linux, PosgreSQL nest pas contrl par une seule entreprise, mais est fond sur une communaut mondiale de dveloppeurs et dentreprises.

1.6.2 Outils connexes de PostgreSQL :


DB Link est un module permettant de travailler sur deux bases diffrentes. ECPG est un outil de SQL embarqu. Le logiciel pgAdmin est une application web crite en PHP, et qui permet de grer les bases de donnes PostgreSQL via une interface graphique.

1.7 Conclusion
Ce chapitre, dcrit larchitecture de lapplication en se rfrant aux modles typiques de larchitecture Client/serveur. Il prsente galement lensemble des outils que le systme

requiert, avec une introduction aux langages de programmation tudis dans le cadre du stage. Le chapitre suivant expose les phases de la mise en uvre de lapplication.

4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.

Chapitre 6 : Implmentation

Aprs avoir cit les outils de dveloppement et lucid l'architecture dopen ERP. On va expliquer en premier lieu la dmarche adopte pour pouvoir travailler dans l'environnement open ERP. Ensuite on va dtailler les fonctionnalits des vues qui composent notre application avec des captures d'cran des diffrents menus et formulaires. En fin de compte on va exhiber les rapports ncessaires qu'on a labors dans la gestion de paie.

Configuration dopen ERP


Aprs avoir install les composants essentiels d'open ERP savoir : openerp-server, openerp-client gtk PostgreSQL On lance le client gtk, et l'interface suivante s'affiche:

Figure 1: Interface de configuration dopen ERP

Pour crer une nouvelle base, on va dans Fichier , Base de donnes et nouvelle base de donnes .

Figure 2 : Interface de cration dune nouvelle base de donnes

Le mot de passe administrateur correspond au mot de passe indiqu dans le fichier de configuration du serveur. Il est par dfaut admin .

Figure 3: Interface de configuration de la base de donnes Remarque : La base de donnes est cre. Linstallation de diffrents modules choisissent par ladministrateur lors de la cration de base de donnes Une fois toutes les tapes effectues pour paramtrer le profil des entreprises, il ne reste qu' se connecter via linterface dauthentification suivante :

Figure 4: Interface dauthentification des utilisateurs

Figure 4: connexion effectu

Les interfaces de lapplication

Conclusion gnrale & perspectives

Notre projet de fin dtudes consiste dvelopper et intgrer un module de gestion des ressources humaines pour le progiciel de gestion intgr OpenERP. Le projet sest tendu sur quatre mois durant lesquels nous avons pu mettre en uvre dans un cadre rel les connaissances thoriques que nous avons acquise pendant nos trois annes dtudes lISET. Il nous a offert lopportunit de mener un projet informatique du dbut jusqu la fin et dacqurir une exprience au niveau de lordonnancement des diffrentes parties dun projet et au niveau de la prise de dcision sur les choix conceptuels et architecturaux. La dmarche que nous avons suivie pour la mise en place de cette application a t opre en trois chapitres : Dans le premier chapitre, nous avons fait des runions avec un responsable des ressources humaines pour comprendre la fonction gestion de paie. Dans ce cadre, nous avons commenc par une tude sur les solutions existantes dans le PGI OpenERP pour extraire la problmatique. Ensuite, nous avons fait un inventaire des problmes, des besoins ainsi que des objectifs atteindre. Enfin nous avons dcrit textuellement les fonctions principales de gestion des ressources humaines. Le deuxime chapitre tait lanalyse du module des ressources humaines. Dune part nous avons prsent le processus Scrum que nous avons utilis comme processus de gestion de projet. Dune autre part, nous avons modlis lapplication par des diagrammes UML pour assurer la communication avec lquipe dOpenERP en Belgique. Dans cette partie nous avons rencontr plusieurs problmes comme la modlisation de lapplication existante de module de gestion des ressources humaines dans le PGI OpenERP car il donne le code source de lapplication et ne donne ni la modlisation en UML ni la documentation de lapplication. Le troisime chapitre tait la conception et la ralisation de module de gestion des ressources humaines. Nous avons justifi le choix du SGBD PostgreSQL et du langage de dveloppement Python. Puis nous avons dtaill notre architecture matrielle et logicielle. Enfin, nous avons prsent notre application laide des interfaces des fonctions principales de notre projet. Notre projet de fin dtudes pourra tre prolong dans les perspectives suivantes : 1) Le module de comptabilit ne satisfait pas les besoins de la gestion de comptabilit tunisienne. Dans ce cadre nous continuerons adapter des modules existants dans le progiciel de gestion intgr OpenERP lchelle tunisienne. 2) Le PGI OpenERP ne contient pas le module de gestion de pointeuse. Pour rsoudre ce problme nous envisagerons de dvelopper un nouveau module qui permet dextraire la liste des prsences des employs, les transformer et de les intgrer dans la base de donne de module de gestion des prsences dans le progiciel de gestion intgr OpenERP

timeofday()

Anda mungkin juga menyukai