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.
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
I. II.
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.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.
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.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.
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.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.
Pour crer une nouvelle base, on va dans Fichier , Base de donnes et 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 :
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()