Conception d'un module de gestion de la paie adapté au contexte marocain pour openerp
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Conception d'un module de gestion de la paie adapté au contexte marocain pour openerp

  • 4,805 views
Uploaded on

Conception et réalisation d‟une application de la...

Conception et réalisation d‟une application de la
gestion de la paie adaptée à la législation marocaine pour openerp réalisé en 2009

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
4,805
On Slideshare
4,788
From Embeds
17
Number of Embeds
2

Actions

Shares
Downloads
5,177
Comments
0
Likes
7

Embeds 17

http://www.linkedin.com 14
https://www.linkedin.com 3

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. ROYAUME DU MAROC *-*-*-*-* HAUT COMMISSARIAT AU PLAN *-*-*-*-*-*-*-* INSTITUT NATIONAL DE STATISTIQUE ET D‟ÉCONOMIE APPLIQUÉE Projet de Fin d’Études *-*-*-*-* Conception et réalisation d‟une application de la gestion de la paie adaptée à la législation marocaine Préparé par : M. Hamza ALMORABETI & Zakariae HALHAL Sous la direction de : M. Adil KABBAJ (INSEA) M. Abderahman EL KAFIL (NEXTMA) Soutenu publiquement comme exigence partielle en vue de l’obtention du Diplôme d’Ingénieur d’État Option : INFORMATIQUEDevant le jury composé de : M. (INSEA) M. Adil KABBAJ (INSEA) M.Abderahman ELKAFIL (NEXTMA) Juin 2009
  • 2. Dédicace A nos chers parents Aucun mot, aucune dédicace ne saurait exprimer notre respect, notre considération et l’amour éternel pour les sacrifices que vous avez consentis pour notre instruction et notre bien être. Votre générosité et votre bonté ont toujours été un exemple pour nous tous.Trouvez en ce travail le fruit de votre dévouement et l’expression de notre gratitude et notre profond amour. A nos sœurs, nos frères et nos proches.Vous nous avez toujours soutenu durant toutes nos études, on vous souhaite beaucoup de bonheur et de réussite. A tous nos amis On vous aime tous …
  • 3. Remerciements Nous tenons à remercier toute personne qui nous a aidé à acheminer à bon port le présentProjet de Fin d’Études. Et bien que ça ne soit l’évidence qui le dicte, nous tenons à rendre grâce à nos chersparents, nos sœurs et frères, à toute la famille qui n’a ménagé aucun effort pour nous épauler, noussoutenir, nous encourager et nous aider à venir à terme de cet humble travail. Qu’il nous soit permis d’exprimer nos sincères remerciements à M. Adil KABAJ notreprofesseur qui nous a orienté tout au long de ce projet. Nous adressons avec tout le respect et l’estime que cela se doit de requérir, nosremerciements au personnel de la société NEXTMA, et à leur tête évidemment,M. Abderrahmane ELKAFIL, M. Mustafa et M.Abdellah qui nous ont été d’un grand apportpratique quant à l’élaboration de notre Projet de Fin d’Études. Nous tenons à exprimer notre gratitude à notre Professeur M. Touhami OUAZZANIpour nous avoir honoré en acceptant de juger notre travail. Veuillez trouver ici le témoignage denotre respect le plus profond. Encore, faudrait-il que nous remercions sincèrement M.NAIM, M.Khalid, et M.YahiaAERAJ pour nous avoir guidé dans certaines phases du projet. Enfin, nous remercions chaleureusement l’ensemble des stagiaires pour leurs sympathies,pour les services rendus et pour leurs esprits d’équipe.
  • 4. Résumé Il est vrai que la gestion des ressources humaines est l‟une des pratiques les plusconvoitées sur le marché actuel. Ceci vient du fait de son importance dans le développementdes entreprises. La gestion des ressources humaines couvre de nombreux domaines à savoir lerecrutement, la gestion des carrières, la formation, l‟évaluation des performances, la gestiondes conflits, les conditions de travail, ainsi que la gestion de la paie… Le présent travail vient pour répondre au besoin de la création d‟une application de lagestion de la paie à l‟aide de l‟ERP open source open ERP. Cette application doit être à la foisconforme à la législation marocaine et totalement paramétrable pour garantir son extension etsa maintenance.Mots clés : Enterprise Ressource Planning (ERP).
  • 5. Liste des abréviationsAbréviation DésignationAMO Assurance Maladie ObligatoireBI Business IntelligenceCIMR Caisse Interprofessionnelle Marocaine de RetraiteCNSS Caisse Nationale de Sécurité SocialeCRM Customer Relationship ManagementDTD Document Type DefinitionEBDSe-Commerce Electronic CommerceEFI Echange de Fichiers InformatisésERP Enterprise Ressource PlanningGRH Gestion des Ressources HumainesHTTP Hyper Text Transfet ProtocolIGR Impôt Général sur le RevenuISO International Standard OrganizationMVC Model View ControllerOMG Object Management GroupPGI Progiciel de Gestion IntégréPME Petites et Moyennes EntreprisesPOO Programmation Orientée ObjetSBI Salaire Brut ImposableSI Système d‟InformationSGBDO Système de Gestion de Base de Données Relationnelle et ObjetSSLL Société de Service en Logiciels LibresSMIG Salaire Minimum Interprofessionnel GarantiSNI Salaire Net ImposableSQL Structured Query LanguageUML Unified Modeling LungageXML eXtensible Makup Langage
  • 6. Liste des figuresFigure 1 : Formule pour le calcul du salaire net à payer .......................................................... 22Figure 2 : processus de fonctionnement des télédéclarations................................................... 26Figure 3 : Axes de modélisation des diagrammes de UML ..................................................... 28Figure 4 : Diagramme des use-cases ........................................................................................ 31Figure 5 : Diagramme de classes .............................................................................................. 35Figure 6 : Diagramme de séquence d‟ajout d‟un employé ....................................................... 37Figure 7: Diagramme de séquence de l‟archivage du livre de paie.......................................... 38Figure 8 : Diagramme d‟activités ............................................................................................. 38Figure 9 : Architecture modulaire d‟open ERP ........................................................................ 43Figure 10: Modèle vue contrôleur ............................................................................................ 45Figure 11: Interface de configuration d‟open ERP .................................................................. 49Figure 12 : Interface de création d‟une nouvelle base de données ........................................... 49Figure 13: Interface de configuration de la base de données ................................................... 50Figure 14: Interface de la connexion avec la base de données ................................................. 50Figure 15 : Interface de configuration du profil de l‟entreprise ............................................... 51Figure 16: Interface d‟authentification des utilisateurs ............................................................ 51Figure 17 : Interface principale de l‟application ...................................................................... 52Figure 18 : Interface illustrant les différentes rubriques de la paie. ......................................... 53Figure 19: Interface illustrant les rubriques de paramétrage de l‟application .......................... 53Figure 20 : Interface illustrant les rubriques de consultations et d‟impression ........................ 54Figure 21: Interface de l‟ajout d‟un nouvel employé ............................................................... 54Figure 22: Interface principale de l‟application ....................................................................... 55Figure 23: Interface de la saisie des détails mensuels de la paie .............................................. 56Figure 24 : Interface la consultation des résultats de la paie .................................................... 56Figure 25 : Rapport généré pour le bulletin de paie ................................................................. 61Figure 26 : Rapport illustrant le livre de paie ........................................................................... 62Figure 27: Rapport illustrant l‟état IGR ................................................................................... 62Figure 28 : Rapport généré pour l‟état CIMR .......................................................................... 63Figure 29 : Rapport généré pour l‟état de Mutuelle. ................................................................ 63Figure 30 : Exemplaire du bordereau de paiement .................................................................. 64Figure 31: Extrait de code illustrant la méthode du calcul de l‟IGR ........................................ 67Figure 32 : Extrait de code illustrant la méthode du calcul de l‟IGR ....................................... 67Figure 33 : Extrait de code illustrant la méthode du calcul de la prime d‟ancienneté ............. 68Figure 34 : Extrait de code illustrant la méthode du calcul du salaire de base. ....................... 68Figure 35 : Extrait de code illustrant la création de l‟interface Employé................................. 69
  • 7. Liste des tableauxTableau1 : Barème des heures supplémentaires…………………………………………..15Tableau2: Barème du taux de la prime d’ancienneté………………………………….…16Tableau3 : Barème pour le calcul de l’impôt sur le revenu.........................................…...21Tableau4 : Tableau représentatif des informations contenues dans le livre de paie……23
  • 8. Sommaire Introduction générale ............................................................................................................ 1Chapitre 1 : Contexte général et objectifs du projet ............................................................. 3 1.1 Présentation de NEXTMA........................................................................................... 4 1.1.1 NEXTMA en Bref ................................................................................................ 4 1.1.2 Prestations et services ........................................................................................... 4 1.1.3 Secteurs d‟activités. .............................................................................................. 5 1.2 Présentation générale du projet.................................................................................... 6 1.2.1 Contexte du projet ................................................................................................ 6 1.3 Objectifs du projet ....................................................................................................... 6 1.4 Démarche de conduite du projet .................................................................................. 7 1.5 Méthode de travail ....................................................................................................... 7 1.5.1 Préambule ............................................................................................................. 7 1.5.2 Principes de SCRUM ........................................................................................... 8 1.5.3 Rôles de SCRUM ................................................................................................. 9 1.5.4 Synthèse. .............................................................................................................. 9 1.6 Conclusion ................................................................................................................... 9Chapitre 2 : Étude de l’existant et spécification des besoins .............................................. 10 2.1 Préambule .................................................................................................................. 11 2.2 Étude de l‟existant ..................................................................................................... 11 2.2.1 Avantages de l‟existant ...................................................................................... 11 2.2.2 Inconvénients de l‟existant ................................................................................. 12 2.2.3 Spécification des besoins ................................................................................... 12 2.3 Conclusion ................................................................................................................. 12Chapitre 3 : Étude Fonctionnelle .......................................................................................... 13 3.1 Préambule .................................................................................................................. 14 3.2 Le salaire.................................................................................................................... 14 3.2.1 Définition ........................................................................................................... 14 3.2.2 Les éléments constitutifs du salaire .................................................................... 15 3.2.3 Les retenues du salaire : ..................................................................................... 17 3.3 Traitement fiscal des salaires:.................................................................................... 17 3.3.1 Les cotisations sociales salariales ...................................................................... 17 3.3.2 Les charges supportées par l‟employeur (Les charges patronales) .................... 18 3.3.3 Les autres retenues ............................................................................................. 19 3.3.4 L‟impôt général sur le revenu ............................................................................ 19
  • 9. 3.3.5 Synthèse : Calcul du salaire net à payer ............................................................. 22 3.4 Enregistrement et preuves de la paie ......................................................................... 22 3.4.1 Le bulletin de paie .............................................................................................. 22 3.4.2 Le livre de paie ................................................................................................... 23 3.5 Télédéclaration .......................................................................................................... 24 3.5.1 Présentation ........................................................................................................ 24 3.5.2 Processus de télédéclaration. .............................................................................. 24 3.5.3 Principe de fonctionnement. ............................................................................... 24Chapitre 4 :Conception du projet ......................................................................................... 27 4.1 Préambule .................................................................................................................. 28 4.2 Le langage de modélisation UML ............................................................................. 28 4.2.1 Présentation ........................................................................................................ 28 4.2.2 Les diagrammes .................................................................................................. 28 4.2.3 Vues statiques du système. ................................................................................. 29 4.3.3 Vues dynamiques du système. .............................................................................. 29Chapitre 5 : Dossier technique .............................................................................................. 40 5.1 Préambule ....................................................................................................................... 41 5.2 LINUX ........................................................................................................................... 41 5.2.1 Présentation. ............................................................................................................ 41 5.2.2 Le projet GNU. ........................................................................................................ 41 5.2.3 Ubuntu. .................................................................................................................... 41 5.3 Les ERP .......................................................................................................................... 42 5.3.1 Présentation générale............................................................................................... 42 5.3.2 OPENERP ............................................................................................................... 42 5.3.3 Architecture modulaire ........................................................................................... 43 5.3.4 Architecture technique. .......................................................................................... 44 5.4 Langage Python .............................................................................................................. 45 5.4.1 Caractéristiques du langage Python : ...................................................................... 45 5.5 Langage XML ................................................................................................................ 46 5.5.1 Présentation du langage XML ................................................................................. 46 5.5 PostgreSQL .................................................................................................................... 47 5.5.1 Présentation de PostgreSQL : .................................................................................. 47 5.5.2 Outils connexes de PostgreSQL : ............................................................................ 47Chapitre 6 : Réalisation ......................................................................................................... 48Conclusion et perspectives ..................................................................................................... 58Annexes ................................................................................................................................... 60Annexe A : Les rapports générés par l’application. ........................................................... 60Annexe B : Agilité. .................................................................................................................. 60
  • 10. Annexe C : Extraits de code................................................................................................... 60Bibliographie et URLographie .............................................................................................. 70
  • 11. 0 Introduction générale 1
  • 12. INTRODUCTION GENERALE Dans le contexte actuel d‟une compétition internationale féroce, les entreprises doiventconstamment rationaliser leurs façons de présenter les données et leurs manières de déléguerles bons processus aux bons acteurs. C‟est ce qu‟on appelle le pilotage des entreprises. L‟idée c‟est qu‟il faut être capable de se comprendre, de travailler efficacement entrecommerciaux, techniciens, comptables et logisticiens d‟une même entreprise pour optimiser lefonctionnement global. Pour cela il faut un langage commun, des référentiels, des pratiques etdes modes de communications partagés. Les ERP (Enterprise Ressource Planning) ou encoreen Français les progiciels de gestion intégrés, constituent l‟outil idéal pour une telleorganisation de l‟entreprise. Pourtant traditionnellement les ERP étaient réservées aux grandes entreprises et à uneélite d‟éditeurs. Dès lors, les Petites et Moyennes Entreprises (PME) n‟avaient pas un accèsou alors se contentaient de plus modestes logiciels de comptabilité et de gestion commerciale.Pour rendre accessible les ERP aux PME, il a fallu dabord réduire les coûts. Le logiciel librea alors permis de supprimer un intermédiaire (le distributeur), de diminuer les coûts dedéveloppement grâce à la réutilisation de logiciels libres, et de réduire considérablement lescoûts commerciaux et marketing par la libre publication du logiciel. Ce qui caractérise les ERP c‟est qu‟ils sont dotés de modules génériques etparamétrables, avec un périmètre fonctionnel qui peut varier. Des modules tels que lacomptabilité, la gestion des ventes, des stocks, des projets, des ressources humaines…etc. La gestion des ressources humaines oscille de la gestion des emplois du temps, aurecrutement en passant par la gestion de la paie. Cependant les modules de la gestion de lapaie sont très rares dans les ERP open source à cause du morcellement législatif. C‟est dans ce cadre qu‟intervient le travail qu‟on a effectué au sein de la sociétéNEXTMA intitulé “Conception et Réalisation d‟une application de la gestion de la paieadaptée à la législation marocaine” et qui mettra à la disposition de NEXTMA une applicationfiable bien documentée et paramétrable. Ce présent mémoire, qui est la synthèse de notre projet de fin d‟études, est constituéde trois parties concrétisant les étapes du déroulement du projet :  La première partie est consacrée aux généralités et à la problématique devant laquelle on se trouve ainsi qu‟à la présentation du contexte général du projet.  La deuxième partie comprend deux volets, d‟une part l‟étude de l‟existant, la spécification des besoins et l‟étude fonctionnelle et d‟autre part, un dossier conceptuel du travail.  Enfin, la troisième partie aborde la réalisation de l‟application et les technologies utilisées à ce propos. Le rapport s‟achève par une conclusion qui met le point sur le compte rendu du travailréalisé. 2
  • 13. 1 Chapitre 1 :Contexte général et objectifs du projet Le présent chapitre est une sorte de description générale du contexte de notre Projet de Fin d’Études. Dans un premier temps nous présentons l’organisme d’accueil NEXTMA où s’est déroulé notre projet, en exposant ses domaines d’activités d’une façon générale. Dans un second temps nous définissons les objectifs attendus du projet. 3
  • 14. CHAPITRE 1 : CONTEXTE GENERAL ET OBJECTIF DU PROJET1.1 Présentation de NEXTMA1.1.1 NEXTMA en Bref NEXTMA est une Société de Services en Logiciels Libres (SSLL) qui accompagne lesentreprises et institutions dans le choix de solutions open source ainsi que dans lintégration,le développement, ladaptation aux besoins spécifiques, la maintenance et le support. Afin debénéficier des meilleures solutions libres dans la gestion des systèmes dinformation,NEXTMA offre aux PME marocaines des services qui sont orientés sur le modèle « ONESTOP SHOPPING ». Cest-à-dire en offrant une gamme étendue des servicescomplémentaires sur mesure, car chaque entreprise à sa spécificité, afin quelles puissent faireface aux échéances du libre échange et soient à niveau par rapport aux normes de qualité et deperformance internationalement reconnues.1.1.2 Prestations et services NEXTMA offre une large palette de prestations et de services basés sur descomposants libres adaptés aux systèmes et aux réseaux des clients. La principale tâche decette société est d‟offrir des solutions sur mesure, en matière de formation et d‟assistance,concernant les problématiques relevant des systèmes d‟informations, moyennant des outilslibres. La gamme de services de NEXTMA est articulée autour de quatre axes majeurs quipermettent daccompagner les clients durant toutes les phases dun projet afin den assurer saréussite.  Support En plus des offres de formations. La société propose aux équipes dédiées au développement, des prestations de support d‟aide à la maintenance, afin de réduire le temps de résolution des interrogations ou des difficultés que les entreprises pourraient rencontrer lors de la mise en œuvre de certains logiciels.  Conseil NEXTMA possède une équipe formée de consultants techniques et fonctionnels qui assure soit dans le cadre de projets, soit en amont, des missions de conseil dans les domaines suivants: gestion de contenu, travail collaboratif, dématérialisation des procédures, migration vers le libre, architecture et dimensionnement dapplications basées sur open ERP…etc.  Développement Il constitue le cœur métier de NEXTMA et comprend le développement sur la base de logiciels libres, de portails collaboratifs internet ou intranet, avec des composantes de publication web, de travail collaboratif, de gestion électronique de documents et de workflow. 4
  • 15. CHAPITRE 1 : CONTEXTE GENERAL ET OBJECTIF DU PROJET  Formation L‟offre des formations, techniques et fonctionnelles, permet daccompagner les organisations qui disposent d‟équipes opérationnelles capables de mener à bien des projets. Ces formations peuvent être établies sous forme de transferts de compétences, en phases avals des projets.1.1.3 Secteurs d’activités. De part les multiples projets que NEXTMA a mené, elle a acquis un savoir fairesusceptible de lui permettre l‟implantation de logiciels libres dans les différents secteurs :  Enterprise Ressource Planning (ERP) En français Progiciels de Gestion Intégré (PGI). NEXTMA est le partenaire officiel de l‟ERP open source Open ERP au Maghreb depuis 2006. Elle adapte celui-ci à la législation marocaine et aux besoins spécifiques des entreprises.  Customer Relationship Management (CRM) NEXTMA propose l‟offre SUGARCRM qui permet la gestion de la relation client  Business Intelligence (BI) ou informatique décisionnelle.  Intranet des entreprises et gestion des contenus  Création d’identités visuelles et sites internet institutionnels et e-Commerce. La solution proposée est SMARTSHOP qui une solution libre de e-commerce (commerce électronique) qui sappuie sur le gestionnaire contenu Joomla!  Gestion électronique des documents Il s‟agit d‟un système informatisé dacquisition, classement, stockage, archivage des documents. 5
  • 16. CHAPITRE 1 : CONTEXTE GENERAL ET OBJECTIF DU PROJET1.2 Présentation générale du projet1.2.1 Contexte du projet Notre Projet de Fin d‟Études s‟inscrit dans le cadre d‟une application de la gestion dela paie basée sur la législation marocaine, à l‟aide de l‟ERP open source open ERP. Cetteapplication comprend le module du calcul de la paie, ainsi qu‟un module qui permet latélédéclaration auprès de la Caisse Nationale de la Sécurité Sociale CNSS.1.2.2 Aperçu historique Auparavant la gestion des ressources humaines GRH au sein des entreprises était faitede façon interne. Cest-à-dire que tous les aspects de la GRH étaient effectués par lesentreprises elle mêmes. Et comme les entreprises s‟élargissaient en matière de nombred‟employés et de champs de travaux, ceci a rendu la GRH plus complexe et a fait que le coûtsoit de plus en plus élevé. De ce fait il a été judicieux de penser à externaliser le travail enchargeant d‟autres sociétés de toute la GRH ou d‟une partie des ses modules. Par conséquent plusieurs sociétés sont apparues dans le but de se charger de la GRH.Ces sociétés utilisaient différents outils pour accomplir cette tâche, et parmi ces outils figureles ERP qui ont permis une meilleure gestion des ressources humaines pour les entreprises.1.3 Objectifs du projet Les principaux objectifs à atteindre par le présent projet de fin d‟études sont :  Acquérir les bonnes pratiques permettant de développer la capacité de concevoir et la faculté de résoudre les problèmes rencontrés.  Développer la prise d‟initiative par le biais d‟un ensemble rapports et de présentations effectuées en guise de formation.  Réaliser le module de la gestion de la paie avec toutes ces composantes et veiller à ce qu‟il soit conforme aux normes marocaines.  Assurer le paramétrage des différentes rubriques de la paie pour rendre le module extensible et évolutif.  Réduire les tâches manuelles par le biais d‟une automatisation efficace et conviviale,  Simplifier la saisie par l‟élaboration d‟écrans de saisie indépendants.  Réduire le coût des traitements  Générer des bulletins de paie, des journaux, des bordereaux sociaux et garder la trace du travail en vue d‟un archivage automatique.  Établir la connexion avec le site DAMANCOM de la CNSS consacré aux télédéclarations.  Établir la relation avec une pointeuse.  Réaliser le module de la gestion des carrières.  Créer un blog qui sera une source d‟informations et de récolte des données [1].  Réaliser un manuel d‟utilisation pour faciliter l‟usage de l‟application. 6
  • 17. CHAPITRE 1 : CONTEXTE GENERAL ET OBJECTIF DU PROJET1.4 Démarche de conduite du projet Dans le cadre de notre projet, nous nous sommes intéressés à la fois à l‟élaboration d‟undossier de conception et à la réalisation de l‟application de la gestion de la paie adaptée à lalégislation marocaine. La conduite d‟un tel projet est relativement complexe si on ne suit pas une démarche etune méthodologie bien définies à l‟avance. Ainsi, nous avons décomposé notre projet enplusieurs phases, à savoir :  Étude de l’existant : qui consiste à identifier et recenser les informations et procédures utiles à la compréhension de l‟application en question. Elle a pour objectif de mettre en évidence les défaillances et les besoins du système existant.  Spécification des besoins : qui définit les services que doit rendre le système. Elle permet également de déterminer le contexte dans lequel celui-ci va être utilisé.  Étude fonctionnelle : qui permet de se familiariser avec la logique métier de l‟application avant de commencer la conception.  Conception du système : vise à créer une représentation informatique des éléments du monde réel auxquels on s‟intéresse, sans se préoccuper de leur implémentation et indépendamment du langage de programmation.  Réalisation : c‟est la mise en place de l‟application.1.5 Méthode de travail1.5.1 Préambule D‟après l‟étude faite par le Standish Group en 1994, la majorité des projets adoptant lecycle en cascade aboutissent à l‟échec car ce cycle recommande un planning figé et unenchainement rigoureux pour les différentes phases du projet. Aussi l‟intervention peufréquente du client pendant le processus de développement conduit à un logiciel inadapté etnon fiable. Pour pallier à ces problèmes de non liberté de client et manque d‟esprit d‟équipependant le déroulement du projet, on a adopté les méthodes agiles qui préconisent lesprincipes suivants :  L‟adoption d‟un cycle de vie itératif et incrémental  La collaboration entre les personnes et l‟intervention fréquente des utilisateurs ainsi que leurs interventions.  La délibération d‟un produit fiable satisfaisant aux besoins du client  La flexibilité: la réactivité lors d‟apparition de changements soudains  La priorité aux personnes et non aux outils. Dans notre stage, on adoptera la méthode agile [voir Annexe B p 65] SCRUM pour saconformité avec la nature de notre projet et l‟environnement du travail. Dans la suite nousallons détailler en quoi consiste cette méthode ainsi que son origine et ses grands principes. 7
  • 18. CHAPITRE 1 : CONTEXTE GENERAL ET OBJECTIF DU PROJET Tout d‟abord, la méthode Scrum a été conçue pour optimiser le rendement des équipesqui se voient obstrués auparavant par les méthodes lourdes. Les racines de Scrum montent à lapublication de Takeuchi et Nonaka dans "The New Product Development Game"[3] pourlaspect métaphore du Rugby. Scrum signifie littéralement mêlée. C‟est un terme emprunté du vocabulaire du rugby.Comme son nom l‟indique, elle consiste en une équipe soudée dont les éléments collaborentpour atteindre les buts initialement convenus, et c‟est la même ressemblance en rugby pouravancer avec le ballon pendant une mêlée. Du fait, le principe de base de Scrum est de focaliser léquipe de façon itérative sur unensemble de fonctionnalités à réaliser, dans des itérations de durées fixes d‟une à quatresemaines, appelées Sprints. Chaque Sprint possède un but à atteindre, défini par le Directeurdu produit qui valide les objectifs à atteindre pendant cette période. Un sprint aboutit toujourssur la livraison dun produit partiel fonctionnel. Pendant ce temps, le ScrumMaster a pourmission de minimiser les perturbations extérieures et de résoudre les problèmes fonctionnelsde léquipe. Le principe le plus avantageux de Scrum est la participation active du client pour définirles priorités dans les fonctionnalités du logiciel qui seront implémentés dans chaque sprintavec l‟équipe de travail. Il peut à tout instant compléter ou modifier la liste des fonctionnalitésà réaliser, mais jamais celles qui sont déjà en cours de réalisation pendant un sprint.1.5.2 Principes de SCRUM[4] La méthode Scrum se base sur les principes clefs suivants :  Interaction du client : la méthode Scrum privilégie les individus et donne l‟importance aux valeurs du travail accompli, ceci améliore la productivité et l‟efficacité de ce qui est fourni.  Priorité au produit : dans les méthodes agiles, le seul critère qui influence l‟avancement du projet est la fiabilité du produit fourni, contrairement aux méthodes lourdes qui prônent la documentation exhaustive empêchant les interactions des clients pendant le processus de développement.  Collaboration du client : elle est indispensable pour l‟avancement du projet et l‟implémentation de toutes les fonctionnalités préétablies.  Flexibilité aux fluctuations : Scrum est conçue pour s‟adapter aux changements en assurant un plan macroscopique précis et adaptatif, elle est réactive aux fluctuations des marchés et sassure en plus que le logiciel développé répond parfaitement à ses véritables besoins. 8
  • 19. CHAPITRE 1 : CONTEXTE GENERAL ET OBJECTIF DU PROJET1.5.3 Rôles de SCRUM Scrum s‟articule autour de trois rôles principaux :  Directeur de produit (product owner) : Personne responsable de produire et maintenir à jour le backlog du produit qui représente la liste des fonctionnalités qui devront être réalisées par le logiciel. Cest lui qui en détermine les priorités et qui prend les décisions concernant lorientation du projet.  ScrumMaster : Membre de léquipe dont lobjectif principal est de la protéger des perturbations extérieures. Il est complètement transparent pour la communication entre léquipe et les clients, et na aucun pouvoir hiérarchique sur léquipe. Cest en revanche un facilitateur pour les problèmes non techniques de léquipe.  Équipe : Elle ne comporte pas de rôles prédéfinis, elle est autogérée. Il ny a pas de hiérarchie interne : toutes les décisions sont prises ensemble. Cette autogestion de l‟équipe produit le meilleur niveau de qualité de façon spontanée. Léquipe sadresse directement au Directeur de produit. Il est préférable quelle lui montre le plus souvent possible le logiciel développé pour quil puisse ajuster les détails dergonomie et dinterface.  Intervenants : Les Intervenants sont les personnes qui souhaitent avoir une vue sur le projet sans réellement sinvestir dedans. Il peut sagir par exemple dexperts techniques ou dagents de direction qui souhaitent avoir une vue très éloignée de lavancement du projet.1.5.4 Synthèse Pour conclure, Scrum est une méthode de développement de logiciels qui sintéresseplutôt à lorganisation du projet quaux aspects techniques. Son cadre de travail est sa force. Son approche itérative est basée sur les besoins priorisés du client ce qui met enévidence une flexibilité extrême. Elle emprunte le principe de létat desprit de la mêlée derugby : avancer tous ensemble vers un but commun ce qui est équivalent à la réussite duprojet.1.6 Conclusion Dans ce chapitre nous avons présenté l‟organisme d‟accueil NEXTMA et sesdomaines d‟activités. Nous avons aussi détaillé le contexte général, les objectifs à atteindrepar notre Projet de Fin d‟ Études et la démarche de conduite du projet. Dans la conduite duprojet nous avons présenté la méthode de travail agile SCRUM que nous avons utilisé. Lechapitre suivant s‟intéresse à l‟étude de l‟existant et la spécification des besoins du projet. 9
  • 20. 2 Chapitre 2 :Étude de l’existant et spécification des besoinsDans ce chapitre, nous présentons la phase de l’étude de l’existant quiconsiste à effectuer une étude applicative du système existant pour endétecter les défaillances. Nous finirons par les spécifications desbesoins recueillis auprès des utilisateurs concernés. 10
  • 21. CHAPITRE 2 : ETUDE DE L’EXISTANT ET SPECIFICATION DES BESOINS2.1 Préambule L‟étude de l‟existant est une étape clé dans la réalisation de n‟importe quelleapplication informatique, quelque soit le domaine concerné. Il s‟agit d‟une étude permettantde comprendre la problématique du projet.2.2 Étude de l’existant La gestion de la paie a été informatisée dans la majorité des institutions marocaines. Ace propos nous comptons au Maroc deux genres d‟entreprises : o Les grands comptes. o Les PME. En ce qui concerne la paie le premier type d‟entreprises utilise des ERP propriétairestels que SAP, SAGE... Quant au deuxième type d‟entreprises, il se contente de logicielspropriétaires spécialisés dans la paie pour des raisons de coûts d‟acquisition qui sont encoretrop élevés. Puisque notre projet est destiné aux PME nous nous intéressons à ces dernières.D‟ailleurs les PME marocaines utilisent deux sortes de logiciels propriétaires. Ceux étrangers(EBP, CIEL..) et ceux marocains (OJRA, WPAIE). Malheureusement à part quelques essais qui n‟ont pas pu s‟imposer sur le marché, ledéveloppement de logiciels libres qui traitent la gestion de la paie est en manque, nonseulement au Maroc mais aussi ailleurs. C‟est pourquoi notre projet constitue un défit quenous avons relevé, et qui, en cas de réussite, marquera son empreinte sur le marché national etinternational, car il y a une large communauté mondiale qui adopte tous les modules réaliséspar open ERP s‟ils sont opérationnels.2.2.1 Avantages de l’existant Il est vrai que les systèmes existants présentent plusieurs avantages qui se résument à :  Les ERP sont plus adaptés aux entreprises, car ils intègrent la gestion de la paie dans les autres activités de l‟entreprise.  Les logiciels propriétaires étrangers présentent une ergonomie et une simplicité d‟utilisation remarquables.  Les logiciels propriétaires marocains respectent la législation marocaine. 11
  • 22. CHAPITRE 2 : ETUDE DE L’EXISTANT ET SPECIFICATION DES BESOINS2.2.2 Inconvénients de l’existant Si les systèmes de la gestion de la paie existants fournissent certains avantages. Ilsrenferment néanmoins plusieurs inconvénients dont la critique ne peut qu‟être bénéfique pournotre projet. o Les ERP propriétaires ont un coût d‟acquisition qui empêche les PME de les utiliser. o Le prix des logiciels propriétaires étrangers de la paie est moins élevé que celui des ERP. Cependant ils ne sont pas entièrement conformes à la législation marocaine. Ce qui implique que les utilisateurs seront amenés à faire des interventions manuelles, lors du calcul de la paie. o Si les logiciels propriétaires étrangers sont simples à utilisés. Leurs équivalents marocains sont tellement durs à appréhender qu‟il faudra former les utilisateurs à en prendre usage.2.2.3 Spécification des besoins  Le besoin majeur est de réaliser une application totalement paramétrable pour assurer l‟évolution et l‟adaptation aux nouvelles lois ;  Nous nous sommes mis d‟accord sur le besoin d‟avoir des interfaces de saisie simples pour que l‟application soit exploitée dans de bonnes conditions ;  Le contrôle des données doit se faire automatiquement au moment de la saisie,  Tous les états de sortie doivent être paramétrés par date ainsi que par plusieurs paramètres ;  Établir une étude fonctionnelle détaillée pour comprendre la logique métier de la paie ;  La conception d‟une base de données générale qui intègre toutes les composantes de la paie ;  Intégrer la connexion avec le site DAMANCOM de la CNSS pour pouvoir effectuer des télédéclarations ;  Prévoir une extension de l‟application pour la gestion des carrières et l‟établissement d‟une pointeuse ;  Rédiger un manuel d‟utilisation simple pour permettre l‟usage de l‟application.2.3 Conclusion La description détaillée du système existant qui ouvre ce chapitre a permis de délimiterles problèmes à résoudre dans le contexte actuel. Quant à la partie critique de l‟existant, elle apermis de dégager et de formaliser les besoins des futurs utilisateurs de l‟application. Le chapitre suivant est consacré à l‟établissement d‟une étude fonctionnelle qui est uneétape indispensable afin d‟élaborer une bonne conception. 12
  • 23. CHAPITRE 3 : ETUDE FONCTIONNELLE 3 Chapitre 3 : Étude FonctionnelleDans ce chapitre, nous présentons une étude fonctionnelle susceptiblede nous fournir une connaissance du métier.La connaissance du métier est indispensable pour mener une bonneconception, et par la suite aborder la réalisation de l’application 13
  • 24. CHAPITRE 3 : ETUDE FONCTIONNELLE3.1 Préambule Lentreprise englobe une panoplie de moyens matériels, financiers et humains. Donc lepersonnel qui constitue la ressource humaine sengage avec lentreprise avec un contrat detravail ce qui le positionne sous la subordination de son employeur. Cette relation étroite desujétions stipule que lemployé reçoit un salaire de lemployeur en contrepartie duneprestation de travail. Ce processus de versement de salaire engendre le paiement des chargessociales dont une partie incombe aux employeurs, et une autre aux salariés. Cest ainsi que le terme "Gestion de la paie " savère hautement important pour bienappréhender ladministration des salariés, et pouvoir gérer le paiement des charges sociales,taxes et cotisations aux organismes se rapportant à la législation du travail (CNSS, CIMR,MUTUELLE...). Vu que notre objectif est dintercepter tous les termes en relation avec le salaire en vuedapprendre dune façon adéquate et pédagogique comment calculer le salaire net à payer,les charges patronales, l‟IGR et les cotisations salariales (CNSS, CIMR, mutuelle...): Onentame ce contexte fonctionnel du projet par lidentification des éléments constitutifs de larémunération, ensuite on attaque le traitement fiscal des salaires qui comprend entre autreslimpôt général sur le revenu (IGR), les cotisations sociales salariales et les chargespatronales. Ensuite on présente dans ce chapitre quelques documents importants dans le cadrede la gestion de paie à savoir le bulletin de paie et livre de paie. Dans un second lieu nous exposons le processus de la télédéclaration, qui est une étapeimportante exigée de plus en plus par les entreprises marocaines.3.2 Le salaire3.2.1 Définition Le salaire est le nom par lequel le droit désigne la rémunération versée au personnel,autrement il sagit de la contrepartie des prestations de travail fournies par le personnel àlentreprise. La fixation du salaire prend en compte la complexité des tâches à effectuer, maiségalement les conditions de travail, le cadre contractuel et légal, les performances del‟entreprise et du salarié et la situation personnelle du salarié... Le salaire brut comprend à la fois, le salaire de base et diverses majorations à savoirles heures supplémentaires, les primes, les gratifications, les indemnités, les avantages et lesallocations familiales. 14
  • 25. CHAPITRE 3 : ETUDE FONCTIONNELLE 3.2.2 Les éléments constitutifs du salaire 3.2.2.1 Salaire de base Il correspond au salaire contractuel, c‟est-à-dire la rémunération convenue entre l‟employeur et le salarié au moment de la signature du contrat de travail. Ce salaire se calcule selon la durée légitime du travail qui ne peut pas enfreindre les stipulations générales de la législation du travail suivantes [5]:  SMIG horaire: (Salaire Minimum Interprofessionnel Garanti)  8 heures pour chaque jour ouvrable de la semaine  44heures de travail effectif par semaine (réparties sur 6 jours avec un maximum de 9 heures par jour ou sur 5 jours avec un maximum de 10 heures par jour). Salaire de base=Nombre dheures normales * Taux horaire normal 3.2.2.2 Les heures supplémentaires Les heures supplémentaires sont les heures effectuées au-delà de la durée légale hebdomadaire du travail applicable dans létablissement et elles sont évaluées sur une période de référence qui est la semaine en appliquant les règles du tableau suivant[5]: Jours de travail Repos hebdomadaires habituels et jours fériés De 6h00 à 21h00 25% 50% De 21h00 à 6h00 50% 100% Tableau1 : Barème des heures supplémentairesTaux horaire supplémentaire = Taux horaire normal * (1+Taux de majoration) 15
  • 26. CHAPITRE 3 : ETUDE FONCTIONNELLE 3.2.2.3 Les éléments accessoires Pour les éléments accessoires, on énumère : a. Les primes et gratifications Une prime est une somme dargent octroyée à un salarié à titre dencouragement, demotivation ou de récompense (la prime d‟ancienneté, prime d‟assiduité, prime derendement...etc.). La prime d‟ancienneté est obligatoire et est attribuée en fonction de ladurée passée en activité dans la société en appliquant le barème suivant[6]: Taux d’ancienneté (% du salaire) 2 ans de travail 5% De 2 ans à 5 ans 10% De 5 ans à 12 ans 15% De 12 ans à 20 ans 20% Après 25 ans de travail 25% Tableau2 Barème du taux de la prime d’ancienneté Quant aux gratifications, elles constituent une libéralité en plus du salaire de base(gratification dinventaire, treizième mois....). b. Les indemnités Les indemnités sont des sommes attribuées à un salarié en vue de réparer un dommageou un préjudice que ce dernier a subit durant son travail (indemnité de résidence, indemnité delicenciement...etc.) c. Les avantages Les avantages sont des rémunérations accessoires, ils peuvent être en argent ou ennature. Ils sont attribués généralement par lemployeur à une partie ou à lensemble de sonpersonnel en plus des rémunérations précitées. Les avantages en argent: Ce sont des allégements des dépenses personnelles pour lesalarié prises en charge en totalité ou en partie par lemployeur (loyer du logement personnel,frais médicaux, frais des séjours ...etc.) Les avantages en nature: Ils se constituent de diverses prestations et fournituresaccordées par lemployeur (dépenses de domesticité, logement, dotations en produits fabriquéspar lemployeur...etc.) 16
  • 27. CHAPITRE 3 : ETUDE FONCTIONNELLE d. Les allocations familiales Les allocations familiales sont des prestations servies par la Caisse Nationale deSécurité Sociale (CNSS) aux salariés ayant des enfants à charge. Le montant des allocationsfamiliales est de 200 DH par mois pour chacun des trois premiers enfants et 36 DH par moispour chacun des trois suivants. 3.2.3 Les retenues du salaire La rémunération nest pas intégralement versée au salarié, elle fait lobjet de certainesretenues, quon va expliquer comment les calculer minutieusement, à savoir les cotisationssalariales sociales et l‟IGR. Ces montants retenus ne sont pas une charge pour lentreprise,puisquelle se contente de les calculer, les retenir à la source, puis les verser aux tiersconcernés: que ce soit la perception, la CNSS, la CIMR ou les créanciers du salarié...etc.3.3 Traitement fiscal des salaires: Cette partie a pour vocation dapprendre à calculer les retenues et les cotisations desalaire brut pour déterminer le salaire net à payer. En premier lieu, on va préciser les formulesde calcul des cotisations salariales sociales et les charges patronales, ensuite on va citer lesautres retenues de salaire. Et on passe finalement à la synthèse qui récapitulera le calcul dusalaire net à payer après avoir éclaircit les étapes permettant le calcul de lIGR. 3.3.1 Les cotisations sociales salariales On distingue les cotisations suivantes : 3.3.1.1 Les cotisations salariales de la CNSS La CNSS est un établissement public placé sous la tutelle du Ministère de l‟Emploi etde la Formation Professionnelle, elle a été créée par le Dahir n° 1-72-184 du 27 juillet 1972.Les cotisations salariales à la CNSS se font à un taux de 4,29% sur la base de la rémunérationbrute avec un plafond de 6000 DH/mois Cotisation salariale à la CNSS = 4,29 % x salaire brut <= 6000DH 3.3.1.2 Assurance maladie obligatoire (AMO) Le système d‟assurance Maladie Obligatoire (AMO) est institué par La loi 65.00 pour la couverture médicale obligatoire de base garantissant l‟accès universel aux soins de santé : Cotisation salariale dAMO : 2 % * salaire brut 17
  • 28. CHAPITRE 3 : ETUDE FONCTIONNELLE 3.3.1.3 Les cotisations salariales à la CIMR (Caisse Interprofessionnelle Marocaine de Retraite) Le régime de retraite de la CIMR est alimenté par des cotisations supportées à la fois par le salarié et lemployeur. Le taux de cotisation pour le salarié peut varier de 3 à 6 % sur la base du salaire brut imposable, en tenant compte que ce taux est choisi par lemployeur et uniformément appliqué à tous les salariés dune même catégorie. Cotisation salariale de CIMR= taux (entre 3 et 6 %) * salaire brut imposable 3.3.1.4 Les cotisations salariales aux organismes de prévoyance sociale (Mutuelle) Les taux et les bases de calcul sont dépendamment variables dun organisme à lautre. 3.3.2 Les charges supportées par l’employeur (Les charges patronales) 3.3.2.1 Les cotisations patronales à la CNSSCotisations pour la couverture des allocations familiales = 7,5% * Salaire brut (non plafonnée)Cotisations pour la couverture des prestations sociales = 8,6 % * Salaire brut <= 6000 DH (par mois)Participation au financement de la formation professionnelle= 1,6 % * Masse salariale brut (non plafonnée) 3.3.2.2 Les cotisations patronales de l’AMO Assurance Maladie Obligatoire (AMO) =2% * Salaire brut Cotisation de solidarité (AMO) : 1.5% * Salaire brut 18
  • 29. CHAPITRE 3 : ETUDE FONCTIONNELLE 3.3.2.3 Les cotisations patronales à la CIMRCotisation patronale de CIMR= 1,3 * taux de cotisation salariale de CIMR * salaire brut imposable 3.3.2.4 Les cotisations patronales à d’autres organismes Il reste à signaler quil ya dautres cotisations patronales dont le taux et la base de calcul varient selon lorganisme et les conventions du contrat à savoir les cotisations patronales aux organismes de prévoyance sociale(Mutuelle) et les cotisations patronales aux assurances accident de travail...etc. 3.3.3 Les autres retenues Ces retenues ont un caractère exceptionnel, on peut distinguer: Les avances et acomptes Ce sont des versements effectués au salarié au cours dune période donnée pour être récupérés sur son salaire à la fin de cette période. Les cessions de salaire Le salarié peut de son plein gré, accepter quune partie de son salaire lui soit retenue par lemployeur pour être payée directement à ses créanciers: il sagit alors dune cession de salaire. Opposition Cest la part du salaire retenue par l‟employeur pour la verser à un créancier du salarié. Elle est pratiquée en vertu dun jugement (l‟opposition par le tribunal). 3.3.4 L’impôt général sur le revenu Limpôt général sur le revenu est un impôt qui touche toute personne physique au titre des revenus dont elle dispose. Les salariés des entreprises nen sont pas exclus puisqu‟ils paient limpôt avant même de percevoir leurs salaires. Lemployeur se charge de calculer pour chaque salarié limpôt quil doit déclarer et payer à la perception, et de retenir ce montant à la source. Le calcul de l‟IR sur salaire nécessite le passage par les étapes suivantes :  Étape 1 : Détermination du salaire brut (SB) Il est déjà cité que c‟est la somme des rémunérations : salaire de base, primes, indemnités et avantages...etc. 19
  • 30. CHAPITRE 3 : ETUDE FONCTIONNELLE  Étape 2 : Détermination du salaire brut imposable (SBI) Il est obtenu en éliminant du salaire brut les éléments exonérés, qui sont exemptés del‟impôt expressément par la loi (énumérés par l‟article 66 de la loi susvisée), à savoir : o Les indemnités qui sont destinées à couvrir les frais engagés dans l‟emploi; à condition que ces remboursements de frais soient justifiés par la nature de l‟emploi exercé ou les missions ponctuelles effectuées par le personnel concerné. o Les indemnités de licenciement. o les allocations familiales et d‟assistance à la famille (prime de naissance, allocations de décès ....). o Les indemnités pour frais de bureau. o Les indemnités pour travaux pénibles ou dangereux, de panier, de caisse et de déménagement SBI=SB-EXONERATIONS  Étape 3 : Détermination du salaire net imposable (SNI) Il s‟obtient en déduisant du SBI, certaines déductions de charges engagées par le salarié. Parmi ces déductions on peut citer : o Les frais professionnels évalués forfaitairement à 17% du SBI non compris les avantages avec un plafond de 24.000,00 DH par an (2.000 ,00 DH par mois). o Les cotisations salariales à la CNSS pour la couverture des prestations sociales. o Les cotisations salariales pour la constitution des pensions ou de retraite(CIMR). o Les cotisations salariales aux organismes de prévoyance sociale(Mutuelle). o Le remboursement des emprunts (capital et intérêts) contractés en vue de l‟acquisition ou la construction de logements économiques. SNI=SBI-DEDUCTIONS 20
  • 31. CHAPITRE 3 : ETUDE FONCTIONNELLE  Étape 4 : Calcul de l’IR brut On détermine dans quelle tranche se trouve le SNI, on le multiplie par le tauxcorrespondant à la tranche et on déduit la somme figurant dans la dernière colonne afind‟obtenir IR (brut). Tranche de revenu mensuel (DHS) Taux Somme à déduire 0-2000,00 0 0,00 2001,00-2.500,00 15 300,00 2.501,00-3.750,00 25 550,00 3.751,00-5.000,00 35 925,00 5.001,00-10.000,00 40 1.175,00 Au-delà de 10.000,00 42 1.375,00 Tableau 3 : Barème pour le calcul de l’impôt sur le revenu IR (brut)= (SNI*TAUX)-(SOMME A DEDUIRE)  Étape 5 : Calcul de l’IR net: Pour obtenir IR net, on retranche de l‟IR brut les déductions des charges familiales.Cette déduction est de 30 DH par mois par personne à charge avec limite de 6 personnes,cest-à-dire dans la limite de 90DH par mois (épouse et enfants). IR (net)=IR (brut)-DEDUCTIONS POUR CHARGES DE FAMILLE 21
  • 32. CHAPITRE 3 : ETUDE FONCTIONNELLE 3.3.5 Synthèse : Calcul du salaire net à payer Total des gains Total des retenues (salaire brut global Salaire de base Cotisations salariales Impôt Heures supplémentaires général sur le revenuSalaire net à payer Primes et Avances et gratifications acomptes Indémnités Cessions de salaire Avantgaes (natures+argent) Oppositions Allocations Autres famililes retenues Figure 1 : Formule pour le calcul du salaire net à payer 3.4 Enregistrement et preuves de la paie Dans le cadre de la gestion de la paie, il revient à lentreprise dapporter la preuve du paiement du salaire. Les moyens utilisés sont le bulletin de paie et le livre de paie. 3.4.1 Le bulletin de paie Tout employeur doit délivrer au moment du règlement du salaire une pièce justificative dite bulletin de paie. Cette pièce a pour but de renseigner le salarié sur la manière dont a été calculée sa rémunération. Il n‟est soumis à aucune condition de forme dès lors qu‟il comporte les mentions exigées par le Code du travail à savoir lidentité de lemployeur et son numéro de CNSS, lidentité du salarié, le nombre dheures normales et supplémentaires, la période et le nombre du jours de travail, les diverses primes, le salaire brut, les déductions , le salaire net à payer pour le salarié et finalement la date de remise du bulletin . 22
  • 33. CHAPITRE 3 : ETUDE FONCTIONNELLE3.4.2 Le livre de paie Si le bulletin de paie est remis aux employés, le livre de paie est par contre un documentcomptable de lentreprise. Lemployeur doit tenir dans chaque établissement le livre de paie.Ce dernier doit reproduire toutes les mentions portées sur le bulletin de paie. Puisque les inspecteurs pourront exiger à tout moment la communication de ce livre, il esthautement recommandable quil soit conservé par lemployeur pendant au moins 3 ans àcompter de sa clôture. Le livre de paie ressemble à la forme suivante :Nom Sal Sal Retenues Sal Acompte Opposition Net à brute plafonné CNSS IR Autre Total net payerTotal Tableau 4 : Tableau représentatif des informations contenues dans le livre de paie 23
  • 34. CHAPITRE 3 : ETUDE FONCTIONNELLE3.5 Télédéclaration3.5.1 Présentation Le système de télédéclaration est un système conçu par la CNSS pour le traitement debordereaux des déclarations de salaires de ses affiliés. Ce système est de plus en plus convoitépuisqu‟il substitue le dépôt manuel des déclarations de salaires auprès de la CNSS par unenvoie de ces déclarations au portail DAMANCOM. Lobjectif du système repose sur la mise à disposition des entreprises et à leursprestataires éventuels (cabinets dexpertise comptable…etc.) dune plate-formedintermédiation complète et sécurisée garantissant la prise en charge, le traitement etlacheminement des bordereaux de déclarations de salaires (télédéclarations) soumises par lesutilisateurs du portail à destination de la CNSS, ainsi que la prise en charge de la validationdes avis de télépaiements par les utilisateurs du portail, leur acheminement aux organismesbancaires et le traitement de leurs retours.3.5.2 Processus de télédéclaration. Le système de Télédéclaration concerne les déclarations de salaires en suivant le principede fonctionnement décrit ci-dessous : Les utilisateurs du portail (affiliés ou mandataires), une fois quils ont adhéré latélédéclaration, adressent par liaison Internet sécurisée au portail e-BDS, leurstélédéclarations soit par échange de fichiers, soit par échange de formulaires informatisés(EFI). Ces fichiers / formulaires sont alors collectés, horodatés dès leur dépôt ou validation, ettraités. Chaque déclaration fait l‟objet d‟un traçage précis et constant qui permet à l‟utilisateuren se connectant sur le portail WEB de suivre l‟évolution du traitement de sestélédéclarations.3.5.3 Principe de fonctionnement. Le principe de fonctionnement de la télédéclaration en mode Echange de Fichier est lesuivant :  Le 15 de chaque mois au maximum, la CNSS met à la disposition des affiliés utilisant le système de télédéclarations, les fichiers préétablis correspondant à la période de télédéclaration prochaine, à fin des les aider à préparer leurs télédéclarations de salaires. Ces derniers sont des fichiers au format normalisé.  Les affiliés peuvent se connecter au système e-BDS, en mode sécurisé et télécharger le fichier préétabli. Dés réception du préétabli, l‟affilié peut récupérer automatiquement les allocations familiales émises pour alimenter son système de paie. Il doit ensuite préparer son fichier de déclaration de salaire (Fichier BDS). Ce dernier contient les éléments de la déclaration sous un format normalisé. Il doit être cohérent avec le préétabli émis par la CNSS : l‟ensemble des salariés figurant sur le préétabli doit figurer sur la déclaration (les salariés ne faisant plus partie de l‟entreprise doivent alors être déclarés comme sortants) et les salariés entrants doivent être déclarés sur un fichier complémentaire en tant qu‟entrants. 24
  • 35. CHAPITRE 3 : ETUDE FONCTIONNELLE Le fichier BDS résultat de ce traitement est ensuite déposé, par l‟affilié, sur le portail e-BDS en mode sécurisé. L‟affilié reçoit par courrier électronique un avis de réception de sa télédéclaration par la CNSS. Cet avis présente un simple constat de dépôt du fichier BDS. Dés réception du fichier BDS, le système e-BDS procède au contrôle de la structure et du contenu de ce dernier. L‟affilié reçoit par courrier électronique un avis de contrôle de sa télédéclaration. Cet avis présente le résultat du contrôle. Dans le cas d‟un résultat négatif, l‟affilié est appelé à corriger les anomalies détectées par le système et refaire sa télédéclaration. A la date limite de déclaration fixée par la CNSS, les fichiers BDS déposés et validés seront pris en compte par la CNSS et feront l‟objet d‟un ensemble de traitement de prise en charge. En cas d‟oubli d‟un assuré entrant, l‟affilié peut produire un fichier BDS complémentaire et le déposer sur le portail e-BDS en mode sécurisé. Le processus de réception, de contrôle et de prise en compte d‟un fichier BDS complémentaire sont similaires aux processus des fichiers BDS décrits ci-dessus. Le fichier de BDS complémentaire est pris en compte par la CNSS à la date d‟exigibilité de la période de déclaration en cours. 25
  • 36. CHAPITRE 4 : CONCEPTION DU PROJET La figure suivante décrit le processus de fonctionnement des télédéclarations : 5-Contrôle du fichier BDS :  Contrôle de la déclaration par rapport au préétabli.  Contrôle des entrants.  Contrôle de format et de cohérences 1- Mise en ligne du fichier émission de la période de 7- Traitement de prise en charge déclaration (préétabli) 3-Fichier BDS 3-Fichier BDS complémentaire INTERNETFichier Fichipréétabli 6-Accusé de 4-Accusé de contrôle réception Mise en forme (9pt) 2- Intégration du préétabli dans le système de la gestion de la paie de l’entreprise et BDS (préétabli enrichi par les éléments de la paie) et récupération des allocations familiales émises. Figure 2 : processus de fonctionnement des télédéclarations 3-6 Conclusion Certes, l‟étude fonctionnelle est une étape incontournable pour entamer la phase de conception. Elle nous a permis de comprendre les démarches à suivre pour mener d‟une façon adéquate les traitements qu‟exige la gestion de la paie. Le chapitre suivant est consacré à l‟élaboration du dossier de conception. 26
  • 37. CHAPITRE 4 : CONCEPTION DU PROJET 0 Chapitre 4 : 1 Conception du projetCe chapitre est consacré à la partie conception de l’application. Aprèsune brève présentation du langage de conception UML, le chapitreprésente les diagrammes de conception adoptés lors de la phased’élaboration.Le chapitre suivant est consacré à la description de l’architectureadoptée et des différents outils de développement utilisés. 27
  • 38. CHAPITRE 4 : CONCEPTION DU PROJET 4.1 Préambule Le présent chapitre constitue la conception du projet. Nous commençons par une brève présentation du langage de modélisation utilisé (UML). Ensuite nous détaillons la conception avec certains diagrammes tout en expliquant les raisons des choix adoptés. 4.2 Le langage de modélisation UML 4.2.1 Présentation Pour faire face à la complexité croissante des systèmes d‟information, de nouvelles méthodes et outils ont été créés. La principale avancée de ces dernières années fut l‟apparition de la Programmation Orientée Objet (POO). Face à ce nouveau mode de programmation, les méthodes de modélisation classique (telle que MERISE) ont rapidement montré certaines limites et ont dû s‟adapter (MERISE/2). Dans ce contexte, l‟Object Management Group (OMG) a eu comme objectif de définir une notation standard utilisable dans les développements informatiques basés sur l‟objet. C‟est ainsi qu‟est apparu UML (Unified Modified Language « langage de modélisation objet unifié »), qui est issu de la fusion des méthodes Booch, OMT (Object Modelling Technique) et OOSE (Object Oriented Software Engineering)[7]. 4.2.2 Les diagrammes UML est un langage de modélisation objet (pas une méthode) permettant de représenter de communiquer les divers aspects d‟un système d‟information. Il définit plusieurs diagrammes qui tournent autour de trois axes de modélisation. Fonctionnel (Modélisation des interactions et fonctionnement des composants SI)  Diagramme de Cas d’utilisation.  Diagramme de Séquence  Diagramme d’activités Statique Dynamique (Modélisation des composants du SI) (Modélisation de l’évolution des SI) Diagramme de Classes.  Diagramme des États de Diagramme de Packages. transitions. Diagramme d’Objets.  Diagramme d’activités. Diagramme de Structure  Diagramme de Séquence. Composite.  Diagramme de communication Diagramme de Déploiement.  Diagramme d’interactions. Diagramme de Composants  Diagramme de temps. Figure 3 : Axes de modélisation des diagrammes de UML 28
  • 39. CHAPITRE 4 : CONCEPTION DU PROJET 4.2.3 Vues statiques du système.  Diagramme de cas de classes Considéré comme le plus important de la modélisation orientée objet. Il montre l‟ensemble des informations regroupées sous forme d‟entité appelée classe, ainsi que les relations entre ces classes.  Diagramme de packages C‟est une forme dérivée du diagramme de classes, la différence est que ce diagramme affiche les relations entre les différents paquets.  Diagramme d’objets Le diagramme d‟objets permet de représenter les objets ( instances de classes) et leurs interactions. Ils décrivent des instantanés de l‟état du système, en montrant dans une situation particulière (cas d‟utilisation, souvent) les instances impliquées, ainsi que leurs attributs significatifs.  Diagramme de structure composite Expose la structure interne d‟une classe ainsi que les collaborations que cette dernière rend possible.  Diagramme de composants Il décrit les éléments physiques du système et leurs relations dans l‟environnement de réalisation.  Diagramme de déploiement C‟est un diagramme complémentaire au diagramme de composant. Il décrit la répartition physique des instances de composant, de processus et d‟objets d‟une application distribuée.5 4.3.3 Vues dynamiques du système.  Diagramme des cas d’utilisation (use cases) Le diagramme des cas d‟utilisation est souvent la représentation directrice du système, celle qui permet de valider la modélisation. Il décrit le système sous forme d‟une suite d‟actions et de réactions du système à des stimuli, vu du point de vue de l‟utilisateur.  Diagrammes de collaboration Ce diagramme exprime les interactions entre les objets (quel objet a besoin de quel autre pour remplir son rôle).  Diagramme de séquence Les diagrammes de séquence montrent des interactions entre objets selon un point de vue temporel.  Diagramme des états de transition Ces diagrammes visualisent des automates d‟états finis, du point de vue des états et des transitions. 29
  • 40. CHAPITRE 4 : CONCEPTION DU PROJET  Diagramme d’activités Il s‟agit d‟une variante du diagramme d‟états-transition, organisé par rapport aux actions, et destiné à représenter le comportement interne d‟une méthode ou d‟un cas d‟utilisation.  Diagramme de communication C‟est une représentation simplifiée du diagramme de séquence se concentrant sur les échanges des messages entre objets.  Diagramme d’interaction Décrivent la façon dont les groupes d‟objets collaborent à la réalisation d‟un comportement donné.  Diagramme de temps Permet de décrire les variations d‟une donnée au cours du temps.4.3 Conception du projet.4.3.1 Présentation Bien que le formalisme UML fournit jusqu‟à présent 13 diagrammes, seulement 2 sontobligatoires : Le diagramme des use cases et le diagramme de classe, car il y a desdiagrammes qui dépendent de l‟évolution du système d‟information et d‟autres qui s‟occupentde sa maintenance. Dans ce qui suit nous présentons le diagramme des uses cases, lediagramme de séquences, celui de classes ainsi que le diagramme d‟activités. 30
  • 41. CHAPITRE 4 : CONCEPTION DU PROJET 4.3.2 Diagramme des use cases Module de la gestion de la paie «extend» Attribuer Créer employé Banque «extend» «include» Responsable Attribuer Ressources «extend» Numéro CNSS Humaines «include» Créer contrat Attribuer Numéro CIMR Imprimer Gérer les Contrat paramètres de la configuration Saisir les détails mensuels de la paie «include» Imprimer Bulletin de paie «include»Agent du Service Imprimer état de la paie IGR Enregistrement dans «include» le livre de paie Imprimer état 9421 «include» «include» Traiter télédéclaratio Traiter archivage du n bulletin de paie Imprimer états des Consulter les organismes sociaux charges patronales (CNSS CIMR ...) Figure 4 : Diagramme des use-cases 31
  • 42. CHAPITRE 4 : CONCEPTION DU PROJETDescription du cas d’utilisation ‘’Saisir les détails mensuels de la paie ’’  Sommaire d’identification :  Titre : Saisir les détails mensuels de la paie.  Résumé : Ce cas permet au responsable de la paie de saisir les détails mensuels de la paie.  Acteurs : Agent du service de la paie.  Date de création : 13/05/2009  Date de mise à jour: 07/06/2009  Version : 2.0  Description des enchainements :  Pré conditions : Le système est lancé, l‟agent est identifié  Scénario principal : 1. Choisir l‟employé dont on veut insérer ses détails mensuels de la paie. 2. Vérifier la date de sortie de l‟employé 3. Employé intégré dans la société. 4. Saisir manuellement les détails concernant le nombre d‟heures travaillées. 5. Indiquer le nombre de jours fériés et le nombre de congés travaillés. 6. Les données sont cohérentes et assujetties aux contraintes du code de travail. 7. Valider les données  Scénarios alternatifs : o Scénario alternatif 1 Ce scénario démarre au point 3 du scénario principal. 3-a Employé ne fait plus partie de la saisie. 3-a-1 Annuler la saisie des données. o Scénario alternatif 2 Ce scénario commence au point 7 du scénario principal. 7-a Les données sont illégales. 7-a-1 Adapter les données à la législation marocaine. 7-b Les données sont incohérentes. 7-b-1 Corriger les données erronées. 32
  • 43. CHAPITRE 4 : CONCEPTION DU PROJET Description du cas d’utilisation ‘’Traiter télédéclaration’’ Sommaire d’identification :  Titre : Traitement de la télédéclaration des employés auprès de la caisse nationale de la sécurité sociale.  Résumé : Ce cas permet au responsable de la paie d‟effectuer une télédéclaration auprès de la CNSS moyennant Internet.  Acteurs : Agent du service de la paie.  Date de création : 13/05/2009  Date de mise à jour : 07/06/2009  Version : 2.0 Description des enchainements :  Préconditions : Le système est lancé, l‟agent est identifié et le préétabli est envoyé par la CNSS.  Scénario principal : 1. Récupérer les allocations familiales émises pour alimenter la paie. 2. Traiter le use case ’’Saisir détails mensuels’’. 3. Préparer le fichier de déclaration des salaires(BDS). 4. Comparer la liste des salariés figurant dans le (BDS) avec ceux qui existent dans le préétabli. 5. Le préétabli et le fichier (BDS) sont cohérents. 6. Remplir le fichier (BDS) en tenant compte des contrôles. 7. Envoi du fichier (BDS) en mode sécurisé. 8. Recevoir un accusé de réception. 9. Recevoir un accusé de contrôle. 10. Accusé de contrôle valide. 11. Télédéclaration traitée.  Scénarios alternatifs : o Scénario alternatif 1 Ce scénario démarre au point 5 du scénario principal. 5-a Le fichier (BDS) et le préétabli ne sont pas cohérents. 5-a-1 Nouveaux salariés recrutés mais ne figurent pas dans le préétabli. 5-a-1-a Déclarer ces nouveaux salariés dans le fichier (BDS) comme entrants. 5-a-1-b Revenir au point 4 du scénario principal. 5-b Préétablit contient liste de salariés qui ne figurent pas dans le fichier (BDS) 5-b-1 Déclarer ces salariés comme sortants. 5-b-2 Revenir au point 4 du scénario principal. 33
  • 44. CHAPITRE 4 : CONCEPTION DU PROJETo Scénario alternatif 2Ce scénario commence au point 10 du scénario principal.10-a Accusé de contrôle contient des erreurs.10-a-1 Oubli de la déclaration d‟un salarié.10-a-1-a Envoi d‟un fichier (BDS) complémentaire.10-a-2 Autres anomalies et erreur.10-a-2-a Corriger les erreurs.10-a-2-b Revenir au cas d‟utilisation 7. 34
  • 45. 4.3.3 Le diagramme de classes CHAPITRE 4 : CONCEPTION DU PROJET 35 Figure 5 : Diagramme de classes
  • 46. CHAPITRE 4 : CONCEPTION DU PROJET Le diagramme ci-dessus est constitué de plusieurs classes dont chacune représente unobjet dans le système de gestion de paie et répond à une spécification bien précise. Nousallons expliquer quelques unes.  Employé : Contient les informations personnelles sur les salariés de la société.  Contrat : Regroupe les données spécifiques au contrat convenu entre l‟employé et l‟employeur, et quelques informations contribuant dans le calcul des salaires.  Profession : Comprend les noms des professions qui existent dans l‟entreprise. Cette classe sert à déterminer le taux de CIMR qui dépend de la profession de l‟employé.  CIMR : Chaque profession précise un taux de CIMR bien connu qui est le même pour tous les employés exerçant cette profession.  PrimesFixes : Ce sont les primes communément attribuées chaque mois à tous les employés d‟une entreprise.  PrimesVariables : Ce sont les primes octroyées aux employés de façon non régulière.  BulletinDePaie : C‟est la classe qui contient les champs permettant les saisies mensuelles de la paie d‟un salarié.  LivreDePaie : C‟est une vue qui permet l‟archivage de tous les bulletins de paie des employés pendant un mois.  ChargesPatronales : Il s‟agit d‟une vue qui illustre ce que doit payer l‟employeur pour ses salariés en fin de chaque mois.  Configuration : C‟est un paquet qui englobe tous les entités jugées nécessaires pour établir le calcul de la paie. Il contient entre autres les entités suivantes : o AMO o CNSS o Mutuelle o CIMR o IGR o ParametreSociete o AutresParametre 36
  • 47. CHAPITRE 4 : CONCEPTION DU PROJET4.3.4 Diagrammes de séquences :4.3.4.1 Ajout d’un employé. Ce diagramme décrit l‟opération d‟ajout d‟un nouvel employé. Figure 6 : Diagramme de séquence d’ajout d’un employé 37
  • 48. CHAPITRE 4 : CONCEPTION DU PROJET4.3.4.2 Archivage dans le livre de paie Ce diagramme décrit la procédure d‟archivage du livre de paie. Figure 7: Diagramme de séquence de l’archivage du livre de paie4.3.5 Diagramme d’activités Figure 8 : Diagramme d’activités 38
  • 49. CHAPITRE 4 : CONCEPTION DU PROJET La figure précédente représente le diagramme d‟activités qui décrit l‟ensemble desactivités effectuées par les acteurs du système en les décomposant en sous-activités et enspécifiant les contraintes relatives à l‟enchaînement de ces sous-activités.4.4 Conclusion Ce chapitre décrit et regroupe les résultats de la phase de conception, notamment lediagramme des uses cases, le diagramme de classes, quelques diagrammes de séquences et undiagramme d‟activités .Le chapitre suivant va spécifier l‟architecture de l‟application ainsique les outils techniques qui y sont utilisés. 39
  • 50. 6 7 8 Chapitre 5 : Dossier technique Ce chapitre présente deux objectifs : D’une part, il fait le point surl’architecture d’open ERP, qui est nécessaire pour la mise en place de notreapplication. D’autre part, il présente des outils techniques que nous avons adoptéspour la réalisation de l’application notamment le langage Python, le langageXML et la base de données PostgreSQL. 40
  • 51. CHAPITRE 5 : DOSSIER TECHNIQUE5.1 Préambule Il est vrai que notre stage avait comme objectif principal la réalisation d‟uneapplication de la gestion de la paie pour satisfaire certains besoins déjà cités. Cependant cequi est intéressant c‟est que la mise en œuvre de cette application s‟effectuait sous unecertaine philosophie qui est celle de l‟open-source. D‟ailleurs l‟organisme d‟accueil,NEXTMA est une SSLL (Société de Services de Logiciels Libres). De ce fait, il a été judicieux d‟utiliser des logiciels libres pour la réalisation del‟application. Dans ce qui suit, nous verrons les différents outils utilisés et les architecturesadoptées pour leurs mises en œuvre.5.2 LINUX5.2.1 Présentation. Linux ou GNU/Linux qui est un système dexploitation, est logiciel libre créé en 1991par Linus Torvalds[8]. Aujourdhui, grâce à un effort considérable de développement fournipar des personnes du monde entier, Linux fonctionne sur quasiment toute architecturemoderne. Le noyau Linux a pris une importance aussi bien idéologique que technique. Il existeune communauté entière de personnes qui croient aux idéaux du logiciel libre et donnent deleur temps pour aider à rendre la technologie libre aussi performante que possible. Lesprit du libre, souvent attribué à Linux, influence les développeurs et les utilisateursde logiciels partout dans le monde et entraîne des communautés partageant des objectifscommuns.5.2.2 Le projet GNU. Le projet GNU a été lancé en janvier 1984 par Richard Stallman, pour développer unsystème dexploitation complet de type UNIX, composé de logiciels libres : le système GNU. Les variantes du système dexploitation GNU, construites autour du noyau Linux, sontaujourdhui largement utilisées. Le projet GNU est étroitement lié à la philosophie du logiciellibre qui est omniprésente dans les projets qui en découlent tels qu‟Ubuntu.5.2.3 Ubuntu. Ubuntu est un système dexploitation entièrement libre construit autour du noyau Linux.La communauté Ubuntu sest formée autour des idéaux constitutifs de la philosophiedUbuntu[9]:  Le logiciel doit être disponible gratuitement.  Les logiciels doivent être utilisables dans la langue de lutilisateur et en dépit de tout handicap.  Lutilisateur doit avoir la liberté de personnaliser et de modifier le logiciel à sa guise. 41
  • 52. CHAPITRE 5 : DOSSIER TECHNIQUE Ubuntu est le système d‟exploitation avec lequel nous avons développé notreapplication pour que le stage soit conforme aux idéaux de l‟organisme d‟accueil.5.3 Les ERP5.3.1 Présentation générale L‟acronyme ERP signifie « Enterprise Ressource Planning » traduit en français parProgiciel de Gestion Intégré ou PGI. C‟est un progiciel qui permet de gérer l‟ensemble desprocessus d‟une entreprise intégrant l‟ensemble de ses fonctions comme la gestion desressources humaines, la gestion financière et comptable, l‟aide à la décision, la vente, ladistribution, l‟approvisionnement, la production ou encore le e-Commerce. On distingue deux types d‟ERP : les ERP propriétaires, édités par des sociétés, ce quiimplique l‟achat d‟une licence, et les ERP open source qui sont « gratuits ». Nous nousintéressons à la catégorie des ERP open-source et plus particulièrement à OPENERP.5.3.2 open ERP Open ERP est un progiciel de gestion intégré dont la grande souplesse est idéale aussibien pour les indépendants que pour les PME. Il couvre pratiquement tous les secteursd‟activité : industrie, commerce, prestations de services, e-Commerce, négoce, etc. Comme laplupart des logiciels libres, laccessibilité, la flexibilité et la simplicité sont les maîtres mots dudéveloppement. Open ERP est caractérisé par son architecture modulaire et technique. 42
  • 53. CHAPITRE 5 : DOSSIER TECHNIQUE5.3.3 Architecture modulaire Cette architecture n‟est pas propre à open ERP. Elle est en fait partagée par tous lesERP. Il s‟agit de la faculté de construire des applications informatique de manière modulaire(modules indépendants entre eux) tout en partageant une base de données unique. Ceciapporte une importance significative puisque les données sont maintenant standardisées etpartagées. Ce qui élimine les saisies multiples et évite lambiguïté des données de mêmenature. L‟architecture modulaire d‟open ERP lui permet de couvrir plusieurs domainesillustrés dans la figure ci-dessous :  Comptabilité Analytique.  Comptabilité Générale.  Gestion des Ressources humaines Finance Logistique CRM Gestion de production.  Gestion Gestion de stock commerciale. Gestion  Marketing. maintenance du  Suivi des parc contrats.  Suivi des affaires. Figure 9 : Architecture modulaire d’open ERP 43
  • 54. CHAPITRE 5 : DOSSIER TECHNIQUE5.3.4 Architecture technique.5.3.4.1 Architecture Client/Serveur : Open ERP est basé sur une architecture client/serveur. Le serveur et le clientcommuniquent via le protocole XML-RPC. C‟est un simple protocole qui permet au client defaire des appels aux procédures. Une fois la fonction est appelée, ses arguments et sesrésultats sont envoyés par le protocole http, eux-mêmes sont encodés par le langage XML. Open ERP est couplé à une base de données PostgreSQL. De plus, il est compatible aupack Open Office, et aussi avec des outils de reporting (ReportLab) pour produire desrapports en PDF ou en HTML. La logique d‟open ERP est entièrement du côté serveur. La tâche du client se résume àdemander les données (formulaire ou listes) au serveur et de les renvoyer. Avec cetteapproche, presque tout le développement est fait du côté serveur. Ce qui rend OPENERP plussimple au développement et à la maintenance. Lopération client est très simple. Quand un utilisateur exécute une action (sauvegarderun formulaire, ouvrir un menu, imprimer, ...) il envoie cette action au serveur. Le serveurenvoie alors la nouvelle action pour sexécuter côté client.Il y a trois types dactions :• Ouvrir une fenêtre (formulaire, listes)• Imprimer un document.• Exécuter un wizard[11].5.3.4.2 MVC Modèle dans la théorie classique de la POO (Programmation Orientée Objet) : Un (MVC) est une architecture de modèles utilisée en génie logiciel. Dans desapplications complexes qui présentent des lots de données aux utilisateurs, on souhaitesouvent séparer les données (modèle) et linterface utilisateur (vue), de sorte que leschangements à linterface utilisateur naffectent pas le traitement des données, et que lesdonnées peuvent être réorganisées sans changer linterface utilisateur. Le MVC résout ce genre de problème en découplant laccès des données et lalogique des applications de la présentation des données et de linteraction utilisateur, enintroduisant un composant intermédiaire : « le contrôleur ». 44
  • 55. CHAPITRE 5 : DOSSIER TECHNIQUEDans open ERP, on peut appliquer cette sémantique de Model-View-Controller avec :  Model : les modèles sont les objets déclarés dans OPENERP. Ils sont également des tables PostgreSQL.  View : les vues sont définies en fichiers XML dans OPENERP.  Controller : le contrôleur est Python qui contrôle OPENERP. Contrôleur Vue Modèle Figure 10: Modèle vue contrôleur5.4 Langage Python Python est un langage portable, dynamique, extensible, gratuit, qui permet (sanslimposer) une approche modulaire et orientée objet de la programmation. Python estdéveloppé depuis 1989 par Guido van Rossum et de nombreux contributeurs bénévoles [10].5.4.1 Caractéristiques du langage Python : Détaillons un peu les principales caractéristiques du langage Python:  Portable : Il est supporté par les différents systèmes d‟exploitation.  Gratuit  Simple : Il possède une syntaxe très simple tout en combinant des types de données évolués (listes, dictionnaires…)  Absence des pointeurs.  Il est orienté objet et supporte l‟héritage multiple et la surcharge des opérateurs  Dynamique : cette fonctionnalité est probablement la plus intéressante de Python.  Extensible. On peut facilement l‟interfacer avec des bibliothèques C existantes.  Python gère ses ressources (mémoire, descripteurs de fichiers...) sans intervention du programmeur, par un mécanisme de comptage de références.  Python possède actuellement deux implémentations. Lune, interprétée, dans laquelle les programmes Python sont compilés en instructions portables, puis exécutés par une machine virtuelle (comme pour Java, avec une différence importante: Java étant statiquement typé, il est beaucoup plus facile daccélérer lexécution dun programme Java que dun programme Python).Lautre génère directement du bytecode Java.  Dynamiquement typé.  Soutenu par la communauté d‟utilisateurs qui tentent à l‟évoluer. 45
  • 56. CHAPITRE 5 : DOSSIER TECHNIQUE5.5 Langage XML5.5.1 Présentation du langage XML XML (eXtensible Markup Language et en Français Langage à balises étendu, ouLangage à balises extensible) était lancé en 1997 par la communauté SGML (StandardGeneralized Markup Language). XML est un langage simple et puissant de description etd‟échange de documents structurés de n‟importe quel domaine de données grâce à sonextensibilité, il décrit cette structure à l‟aide d‟un système de balises. Quelques points remarquables d‟XML :  Il apparaît comme un format d‟échange de données universel.  Il a la possibilité de créer des nouvelles balises contrairement à HTML qui définit un nombre limité.  Il garantit à ses utilisateurs l‟indépendance de leurs documents de toute technologie propriétaire.  Il unifie le monde du traitement de document et celui du Web.Tout document XML se compose :  d‟un prologue qui peut contenir une déclaration XML, des instructions de traitement et une déclaration de type de document, dont la présence est facultative mais conseillée. Il contiendra un certain nombre de déclarations.  d‟un arbre d‟éléments, on parle d‟élément père et d‟élément fils. En fait la partie essentielle d‟un document XML sera toujours formée d‟une hiérarchie d‟éléments qui dénote la sémantique de son contenu.  de commentaires et d‟instructions de traitement, dont la présence est facultative. Ils pourront, moyennant certaines restrictions, apparaître aussi bien dans le prologue que dans l‟arbre d‟éléments. Un document XML valide est forcément un document bien formé mais il obéit en plus àune structure type définie dans une DTD (Document Type Definition) Une DTD peut contenir :  des déclarations dentités générales  des déclarations dentités paramètres  des déclarations de notations  des déclarations déléments  des déclarations de listes dattributs  des commentaires 46
  • 57. CHAPITRE 5 : DOSSIER TECHNIQUE5.5 PostgreSQL5.5.1 Présentation de PostgreSQL : PostgreSQL remonte à la base de données Ingres, développée à Berkeley par MichelSTONEBRAKER. Lorsque ce dernier décida en 1985 de recommencer le développement dezéro, il nomma le logiciel Postgres, comme raccourci de post-Ingres. Lors de l‟ajout desfonctionnalités SQL en 1995, Postgres fut renommé Postgres95.Ce nom fut changé à la fin de1996 en PostgreSQL[11]. PostgreSQL est un système de gestion de base de donnéesrelationnelle et objet (SGBDRO). C‟est un outil libre disponible selon les termes d‟unelicence de type BSD[13]. Ce système est concurrent à d‟autres systèmes de gestion de base dedonnées, qu‟ils soient libres (comme MySQL et Firebird), ou propriétaire (comme Oracle,Sybase, DB2). Comme les projets libres Apache et Linux, PosgreSQL n‟est pas contrôlé par uneseule entreprise, mais est fondé sur une communauté mondiale de développeurs etd‟entreprises.5.5.2 Outils connexes de PostgreSQL :  DB Link est un module permettant de travailler sur deux bases différentes.  ECPG est un outil de SQL embarqué.  Le logiciel pgAdmin est une application web écrite en PHP, et qui permet de gérer les bases de données PostgreSQL via une interface graphique.5.6 Conclusion Ce chapitre, décrit l‟architecture de l‟application en se référant aux modèles typiques del‟architecture Client/Serveur. Il présente également l‟ensemble des outils que le systèmerequiert, avec une introduction aux langages de programmation étudiés dans le cadre du stage.Le chapitre suivant expose les phases de la mise en œuvre de l‟application. 47
  • 58. 0 1 2 Chapitre 6 : Réalisation Après avoir cité les outils de développement et élucidé larchitectured’open ERP. On va expliquer en premier lieu la démarche adoptée pourpouvoir travailler dans lenvironnement open ERP. Ensuite on va détaillerles fonctionnalités des vues qui composent notre application avec descaptures décran des différents menus et formulaires. En fin de compte on va exhiber les rapports nécessaires quon aélaborés dans la gestion de paie. 48
  • 59. 6-1 Configuration d’open ERP Après avoir installé les composants essentiels dopen ERP à savoir :  openerp-server,  openerp-client gtk  PostgreSQL On lance le client gtk, et linterface suivante saffiche: Figure 11: Interface de configuration d’open ERP Pour créer une nouvelle base, on va dans « Fichier », « Base de données » et «nouvelle base de données ». Figure 12 : Interface de création d’une nouvelle base de données 49
  • 60. Le mot de passe administrateur correspond au mot de passe indiqué dans le fichier deconfiguration du serveur. Il est par défaut « admin ». Figure 13: Interface de configuration de la base de données La base de données est créée, mais sans aucun module installé. Il est important de syconnecter avec le compte administrateur afin de configurer les fonctionnalités dont on abesoin. Figure 14: Interface de la connexion avec la base de données 50
  • 61. Suite à la création de la base, open ERP se connecte avec le compte administrateur enproposant une aide à la configuration par un système détapes. Pour notre exemple, nous avons choisi le profil « service » car la plupart des entreprisesen ont besoin pour paramétrer les modules de comptabilité et de finance. (voir figure 15) Figure 15 : Interface de configuration du profil de l’entreprise Une fois toutes les étapes effectuées pour paramétrer le profile des entreprises, il nereste quà se connecter via l‟interface d‟authentification suivante : Figure 16: Interface d’authentification des utilisateurs 51
  • 62. 6-2 Les interfaces de l’application Après avoir installé l‟application dans open ERP, une rubrique intitulée ‟‟ Gestion de lapaie‟‟ apparaît dans le menu principal. Lorsqu‟on clique dessus, des sous-rubriquess‟affichent dans l‟écran principal. Ces dernières constituent les différents choix possiblespour la gestion de la paie de notre application ; on les énumère dans l‟ordre suivant : o Manuel d’utilisation : Contient toutes les informations nécessaires pour utiliser notre application. o Configuration : Cette partie est réservée aux opérations d‟insertion, de consultation et de la mise à jour des informations concernant les employés et le traitement de leur paie. Elle est subdivisée en :  Employé : On y insère toutes les informations se rapportant aux employés de l‟entreprise.  Rubriques de la paie : Formés des éléments essentiels pour calculer le salaire des employés.  Organismes : Contient les informations sur les organismes liés à la paie.  Paramétrages : Permet la configuration des paramètres du calcul de la paie. o Traitement de paie : Cette rubrique autorise la saisie des données mensuelles de la paie et le calcul des salaires. o Télédéclaration : Fournit un outil permettant la déclaration des salariés auprès de la CNSS via Internet. o Etats : Rassemble tous les états qu‟exige la gestion de la paie, tels que : état IGR, état 9421, états des organismes sociaux (CNSS, CIMR, AMO…etc.). Figure 17 : Interface principale de l’application 52
  • 63. Concernant les différentes sous-rubriques de chacune des options illustrées dans lafigure précédente nous allons montrer quelques exemples: Figure 18 : Interface illustrant les différentes rubriques de la paie. Figure 19: Interface illustrant les rubriques de paramétrage de l’application 53
  • 64. Figure 20 : Interface illustrant les rubriques de consultations et d’impressionL‟ajout des employés s‟effectue à travers l‟interface suivante : Figure 21: Interface de l’ajout d’un nouvel employé 54
  • 65. Cette interface contient les onglets suivants :  Informations générales: Représente la fiche technique de l‟employé et quelques données nécessaires pour le calcul de la paie.  Primes fixes: Regroupe les primes communes que tous les employés de la société les perçoivent.  Autres majorations: Englobe les gratifications, les primes temporaires, les indemnités et les avantages que l‟employé reçoit.  Avances et prêts: Contient les retenues lesquelles la société enlève de l‟employé.Parmi les onglets de l‟interface employé, on illustre celui des „‟Autres majorations‟‟ par lacapture d‟écran suivante : Figure 22: Interface principale de l’application 55
  • 66. Pour saisir les détails mensuels de la paie, on doit passer par la vue ci- dessous. Enplus des champs à remplir, cette interface est doté d‟un boutton permettant le calcul de la paieaprès des contrôles effectués sur les champs saisis. Ces vérifications garantissent que notresystème soit conforme à la législation. Figure 23: Interface de la saisie des détails mensuels de la paie L‟interface suivante concerne le bulletin de paie qui clarifie les différents calculs établispour obtenir finalement le salaire net à payer pour l‟employé ainsi que certaines grandeursutilisées dans les rapports et états de paie générés automatiquement. [14] Figure 24 : Interface la consultation des résultats de la paie 56
  • 67. 6.3 Conclusion Cette phase de réalisation constitue l‟aboutissement du projet et la concrétisation desphases d‟analyse et de conception. Dans le présent chapitre, nous avons présenté quelquesinterfaces qui ont été développées dans l‟intérêt de mettre en œuvre le fonctionnement globalde l‟application en question. 57
  • 68. 3 Conclusion et perspectives 58
  • 69. CONCLUSION ET PERSPECTIVE Persuadés et convaincus de l‟importance de l‟open source dans le monde del‟informatique, nous avons opté dans notre stage de fin d‟études pour la réalisation d‟uneapplication de la gestion de la paie à l‟aide de l‟ERP open source open ERP. Or, nous jugeons très utile cette expérience de 4 mois que nous avons passé dans cestage de fin d‟études. En effet, le fait de plonger dans les méandres d‟open ERP et lui-mêmeune motivante aventure où on est amené à intercepter tous les côtés d‟un projet, parmilesquels on cite :  Le côté fonctionnel: Les rencontres continues avec le client pour spécifier les besoins de métier permettent l‟apprentissage de nouveaux concepts économiques.  Le côté technique : Il consiste à adapter les besoins fonctionnels du client en une application hautement conviviale et facilement paramétrable.  Le côté commercial : Il faut introduire convenablement le produit qui doit être modulable et adaptable au besoin du client et lui accompagner d‟un commode marketing pour le commercialiser. Ce stage a été pour nous un grand pas vers le milieu professionnel, où on a bénéficiéd‟une excellente expérience qui nous a permis de concrétiser nos connaissances informatiquesvoire économiques acquises au cours des années d‟études lors de la période de notreformation à l‟INSEA. Aussi, ce projet nous a permis d‟acquérir des valeurs indispensables pour le métierd‟ingénieur telles que la responsabilité, le travail d‟équipe, l‟adaptabilité à l‟environnement del‟entreprise et le sens d‟analyse. Ces valeurs sont sans aucun doute les bases de réussite dansle milieu professionnel. A propos de notre application, on a établi la base d‟un module complètementparamétrable et évolutif, pour la tenue de la paie et le suivi du personnel de l‟entreprise enalliant souplesse d‟utilisation, convivialité et conformité à la législation marocaine. Parmi les perspectives futures, signalons l‟intérêt d‟étendre notre application parl‟intégration des fonctionnalités suivantes :  La gestion des congés avec connexion d‟une pointeuse.  Le paramétrage des comptes comptables pour le transfert direct vers la comptabilité. Finalement, nous souhaitons que notre projet soit la base d‟une implémentation dumodule d‟open ERP qui traite la gestion de la paie sachant qu‟aucune expérience n‟a étéétablie jusqu‟à présent. 59
  • 70. AnnexesAnnexe A : Les rapports générés par l’application.Annexe B : Agilité.Annexe C : Extraits de code. 60
  • 71. ANNEXE A:LES RAPPORTS GENERES PAR L’APPLICATION Les rapportsL‟application génère en format PDF les différents rapports qui traitent la gestion de la paie. Figure 25 : Rapport généré pour le bulletin de paie 61
  • 72. ANNEXE A:LES RAPPORTS GENERES PAR L’APPLICATIONFigure 26 : Rapport illustrant le livre de paie Figure 27: Rapport illustrant l’état IGR 62
  • 73. ANNEXE A:LES RAPPORTS GENERES PAR L’APPLICATION Figure 28 : Rapport généré pour l’état CIMRFigure 29 : Rapport généré pour l’état de Mutuelle. 63
  • 74. ANNEXE A:LES RAPPORTS GENERES PAR L’APPLICATIONFigure 30 : Exemplaire du bordereau de paiement 64
  • 75. ANNEXE B:AGILITE Agilité, principes et concepts Parmi les différentes définitions du mot agilité dans le dictionnaire on trouve l‟aptitudeet la capacité de s‟adapter aux changements. C‟est dans cette perspective que ce mot à étéassocié à la programmation. C‟était en 2001 suite à un consortium qui regroupa desspécialistes de méthodes. Ce groupement de scientifiques a donné naissance à ce qu‟onappelle l’agile manifesto[2], un ensemble de principes appliqués au développementinformatique. Ces principes s‟articulent autour des points suivants :  La satisfaction des clients est la plus grande priorité avec des livraisons à temps et de façon régulière.  Les changements ne sont plus craints au contraire ils sont les bienvenus même tardivement dans le processus de développement.  La livraison doit être régulière et fréquente toutes les deux semaines ou deux mois.  Toutes les parties doivent collaborer pour mettre au point le projet pas seulement les programmeurs.  L‟utilisation du logiciel fonctionnel permet de mesurer l‟avancement du projet.  Une attention continue à lexcellence technique et à la qualité de la conception améliore lagilité.  La simplicité est essentielle.  Les meilleures architectures, spécifications et conceptions sont issues déquipes qui sauto-organisent.  L‟équipe doit réfléchir de temps à autre des façons pour améliorer son rendement. Ce que nous pouvons constater à partir de ces principes c‟est que l‟objectif principal estde créer des programmes qui sont basés essentiellement sur les besoins réels des utilisateurs.Il existe plusieurs méthodes qui tentent d‟aboutir à l‟agilité telles que : SCRUM et eXtremeProgramming. Or l‟agilité réside principalement dans la capacité du programmeur à créer unprogramme qui ne satisfait pas seulement les besoins qui lui ont donné naissances mais d‟êtresimplement modifiable et extensible tout en permettant la maintenance facile. Architecture logicielle L‟architecture logicielle décrit la structure d‟un programme informatique. Contrairementà l‟analyse fonctionnelle, qui produit les spécifications, l‟analyse fonctionnelle ne décrit pasce que doit réaliser un programme mais plutôt comment il doit être conçu de manière àrépondre aux spécifications.Selon Mr Tarek Ziadé dans livre intitulé Python, il existe 5 lois qui régissent l‟architecturelogicielle ces lois sont les suivantes :  La modularité.  L‟extensibilité.  La simplicité.  La paramétrabilité.  La standardisation. 65
  • 76. ANNEXE B:AGILITEi-La modularitéLa modularité réside dans la construction d‟un programme où les lignes de code sontregroupées en un ensemble de plus grosse taille. Cette organisation rend le code pluscohérent et les parties plus indépendantes. Surtout si on décompose le code selon les champsfonctionnels. Ainsi chaque partie du programme sera considérée comme une application à partentière ce qui facilitera la réutilisation de ces parties.Ces briques logicielles peuvent être organisées par couches : o Les composants périphériques : fournissent un accès aux éléments extérieurs tels que les données et les utilisateurs. o Les composants fonctionnels : fournissent les fonctionnalités concrètes o Les composants médiateurs : outils permettant la communication entre les différents composants pour livrer les fonctionnalités à l‟application.ii- L’extensibilitéL‟extensibilité est la capacité d‟un composant à fonctionner quelques soient les changementsqui peuvent subvenir dans le futur. Certes, cette fonctionnalité est difficile à atteindrecependant cela n‟empêche pas de réfléchir à une méthode spécifique. Il s‟agit lors de laconception de penser à quoi va ressembler notre système avec 10000 utilisateurs par exempleou bien si notre affichage est apte à afficher 100000 articles. C‟est ce genre de raisonnementqui rend notre travail plus extensible.iii- La simplicité :Elle facilite la maintenance et l‟adoption. C‟est une tâche difficile qui permet le contrôle del‟évolution du code.vi-La paramétrabilité :C‟est la faculté d‟un composant à s‟adapter à plusieurs contextes d‟exécution.L‟idée est de créer des composants qui ne sont pas liés à un genre de besoins spécifique. Maisqui peuvent être utilisés dans plusieurs perspectives. Pour cela notre programme doit être leplus abstrait possible.v- La standardisation :Elle consiste à choisir des formats d‟échange de données et des protocoles de communication.La standardisation représente un intérêt considérable puisqu‟elle permet de :  Faciliter l‟interportabilité des composants.  Le partage des standards. 66
  • 77. ANNEXE C:EXTRAITS DE CODEQuelques exemples des codes des fonctions utilisés dans l’application Méthode qui permet le calcul de l’IGR:C‟est une méthode calcule le montant de la cotisation de l‟impôt sur le revenu salarial Figure 31: Extrait de code illustrant la méthode du calcul de l’IGRMéthode qui permet le calcul des allocations familialesC‟est une méthode calcule le montant de allocations familiales Figure 32 : Extrait de code illustrant la méthode du calcul de l’IGR 67
  • 78. ANNEXE C:EXTRAITS DE CODE Figure 33 : Extrait de code illustrant la méthode du calcul de la prime d’anciennetéMéthode qui permet le calcul du salaire de baseC‟est une méthode calcule le montant du salaire de base Figure 34 : Extrait de code illustrant la méthode du calcul du salaire de base. 68
  • 79. ANNEXE C:EXTRAITS DE CODEInterface création d’un nouvel employéCet extrait de code est tiré d‟un ficher xml chargé de la création des interfaces dans open ERP Figure 35 : Extrait de code illustrant la création de l’interface Employé. 69
  • 80. BIBIOGRAPHIE, URLOGRAPHIE ET REFERENCES5 Bibliographie, URLographie et 6 Références 70
  • 81. BIBIOGRAPHIE, URLOGRAPHIE ET REFERENCESLes ouvragesTitre : «Code du travail »Description :  Dahir n° 1-03-194 du 14 rejeb (11 septembre 2003) portant promulgation de la loi n° 65-99  Fait à Tétouan  Pour contreseing : Le Premier ministre, Driss GETTOUTitre : «Fiscalité des salaires »Description  Auteur : M. Youssef ALAMI  Édition : DIORH d3-2004-Titre : « Python : petit guide pour le développeur agile »  Auteur : M. Tarek Ziadé  Edition : Dunod (16 août 2007)Les ouvrages électroniquesTitre : « Apprendre à programmer avec Python»Auteur : Gérard SWINNENDescription d’auteur: Professeur et conseiller pédagogique à Institut St Jean Berchmans.Titre : « open ERP book»Auteur : Fabien PinckaersDescription d’auteur: Fondateur de l‟ERP open source open ERP.Les sites-web  www.aubryconseil.com  www.damancom.ma  www.blog.ojraweb.com  www.cnss.org  www.cimr.ma  www.nextma.com  www.openerp.com  www.python.org  www.openobject.tv  www.linux-center.org/articles/9812/python.html  madsemusdipc1.insa-rouen.fr/tutoriaux/xml 71
  • 82. BIBIOGRAPHIE, URLOGRAPHIE ET REFERENCESLes références  [1] : nextma.blogspot.com  [2] : agilemanifesto.org/  [3] : www.qwan.it/en/newproductdevelopment  [4] : controlchaos.com/about/  [5] : http://blog.ojraweb.com/?p=34  [6] : www.chbani.com/sociales.htm  [7] : uml.free.fr/  [8] : www.linux.org/info/index.html  [9] : www.ubuntu-fr.org/  [10] :D’après une présentation donnée par Stéphane Fermigier à l’occasion de l’exposition Linux Expo 99. www.linux- center.org/articles/9906/python/  [11] : www.postgresql.org/about/  [12] : http://doc.openerp.com/developer/3_10_wizard/index.html  [13] : http://fr.wikipedia.org/wiki/Licence_BSD  [14] : http://doc.openerp.com/developer /11_1_openoffice_report.html 72