Upload
nextma
View
4.924
Download
10
Embed Size (px)
DESCRIPTION
Conception et réalisation d‟une application de lagestion de la paie adaptée à la législation marocaine pour openerp réalisé en 2009
Citation preview
ROYAUME DU MAROC
*-*-*-*-*
HAUT COMMISSARIAT AU PLAN
*-*-*-*-*-*-*-*
INSTITUT NATIONAL
DE STATISTIQUE ET D‟ÉCONOMIE APPLIQUÉE
Projet de Fin d’Études *-*-*-*-*
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 : INFORMATIQUE
Devant le jury composé de :
M. (INSEA)
M. Adil KABBAJ (INSEA)
M.Abderahman ELKAFIL (NEXTMA)
Juin 2009
Conception et réalisation d‟une application de la
gestion de la paie adaptée à la législation marocaine
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 …
Remerciements
Nous tenons à remercier toute personne qui nous a aidé à acheminer à bon port le présent
Projet de Fin d’Études.
Et bien que ça ne soit l’évidence qui le dicte, nous tenons à rendre grâce à nos chers
parents, nos sœurs et frères, à toute la famille qui n’a ménagé aucun effort pour nous épauler, nous
soutenir, 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 notre
professeur 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, nos
remerciements 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 apport
pratique quant à l’élaboration de notre Projet de Fin d’Études.
Nous tenons à exprimer notre gratitude à notre Professeur M. Touhami OUAZZANI
pour nous avoir honoré en acceptant de juger notre travail. Veuillez trouver ici le témoignage de
notre respect le plus profond.
Encore, faudrait-il que nous remercions sincèrement M.NAIM, M.Khalid, et M.Yahia
AERAJ 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.
Résumé
Il est vrai que la gestion des ressources humaines est l‟une des pratiques les plus
convoitées sur le marché actuel. Ceci vient du fait de son importance dans le développement
des entreprises.
La gestion des ressources humaines couvre de nombreux domaines à savoir le
recrutement, la gestion des carrières, la formation, l‟évaluation des performances, la gestion
des 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 la
gestion de la paie à l‟aide de l‟ERP open source open ERP. Cette application doit être à la fois
conforme à la législation marocaine et totalement paramétrable pour garantir son extension et
sa maintenance.
Mots clés : Enterprise Ressource Planning (ERP).
Liste des abréviations
Abréviation Désignation
AMO Assurance Maladie Obligatoire
BI Business Intelligence
CIMR Caisse Interprofessionnelle Marocaine de Retraite
CNSS Caisse Nationale de Sécurité Sociale
CRM Customer Relationship Management
DTD Document Type Definition
EBDS
e-Commerce Electronic Commerce
EFI Echange de Fichiers Informatisés
ERP Enterprise Ressource Planning
GRH Gestion des Ressources Humaines
HTTP Hyper Text Transfet Protocol
IGR Impôt Général sur le Revenu
ISO International Standard Organization
MVC Model View Controller
OMG Object Management Group
PGI Progiciel de Gestion Intégré
PME Petites et Moyennes Entreprises
POO Programmation Orientée Objet
SBI Salaire Brut Imposable
SI Système d‟Information
SGBDO Système de Gestion de Base de Données Relationnelle et
Objet
SSLL Société de Service en Logiciels Libres
SMIG Salaire Minimum Interprofessionnel Garanti
SNI Salaire Net Imposable
SQL Structured Query Language
UML Unified Modeling Lungage
XML eXtensible Makup Langage
Liste des figures
Figure 1 : Formule pour le calcul du salaire net à payer .......................................................... 22 Figure 2 : processus de fonctionnement des télédéclarations................................................... 26
Figure 3 : Axes de modélisation des diagrammes de UML ..................................................... 28 Figure 4 : Diagramme des use-cases ........................................................................................ 31 Figure 5 : Diagramme de classes .............................................................................................. 35 Figure 6 : Diagramme de séquence d‟ajout d‟un employé ....................................................... 37 Figure 7: Diagramme de séquence de l‟archivage du livre de paie.......................................... 38
Figure 8 : Diagramme d‟activités ............................................................................................. 38
Figure 9 : Architecture modulaire d‟open ERP ........................................................................ 43
Figure 10: Modèle vue contrôleur ............................................................................................ 45 Figure 11: Interface de configuration d‟open ERP .................................................................. 49 Figure 12 : Interface de création d‟une nouvelle base de données ........................................... 49 Figure 13: Interface de configuration de la base de données ................................................... 50
Figure 14: Interface de la connexion avec la base de données ................................................. 50 Figure 15 : Interface de configuration du profil de l‟entreprise ............................................... 51 Figure 16: Interface d‟authentification des utilisateurs ............................................................ 51
Figure 17 : Interface principale de l‟application ...................................................................... 52 Figure 18 : Interface illustrant les différentes rubriques de la paie. ......................................... 53
Figure 19: Interface illustrant les rubriques de paramétrage de l‟application .......................... 53 Figure 20 : Interface illustrant les rubriques de consultations et d‟impression ........................ 54 Figure 21: Interface de l‟ajout d‟un nouvel employé ............................................................... 54
Figure 22: Interface principale de l‟application ....................................................................... 55
Figure 23: Interface de la saisie des détails mensuels de la paie .............................................. 56 Figure 24 : Interface la consultation des résultats de la paie .................................................... 56 Figure 25 : Rapport généré pour le bulletin de paie ................................................................. 61
Figure 26 : Rapport illustrant le livre de paie ........................................................................... 62 Figure 27: Rapport illustrant l‟état IGR ................................................................................... 62
Figure 28 : Rapport généré pour l‟état CIMR .......................................................................... 63 Figure 29 : Rapport généré pour l‟état de Mutuelle. ................................................................ 63 Figure 30 : Exemplaire du bordereau de paiement .................................................................. 64
Figure 31: Extrait de code illustrant la méthode du calcul de l‟IGR ........................................ 67 Figure 32 : Extrait de code illustrant la méthode du calcul de l‟IGR ....................................... 67
Figure 33 : Extrait de code illustrant la méthode du calcul de la prime d‟ancienneté ............. 68 Figure 34 : Extrait de code illustrant la méthode du calcul du salaire de base. ....................... 68 Figure 35 : Extrait de code illustrant la création de l‟interface Employé................................. 69
Liste des tableaux
Tableau1 : Barème des heures supplémentaires…………………………………………..15
Tableau2: Barème du taux de la prime d’ancienneté………………………………….…16
Tableau3 : Barème pour le calcul de l’impôt sur le revenu.........................................…...21
Tableau4 : Tableau représentatif des informations contenues dans le livre de paie……23
Sommaire
Introduction générale ............................................................................................................ 1
Chapitre 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 ................................................................................................................... 9
Chapitre 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 ................................................................................................................. 12
Chapitre 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
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. ............................................................................... 24
Chapitre 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. .............................................................................. 29
Chapitre 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 : ............................................................................ 47
Chapitre 6 : Réalisation ......................................................................................................... 48
Conclusion et perspectives ..................................................................................................... 58
Annexes ................................................................................................................................... 60
Annexe A : Les rapports générés par l’application. ........................................................... 60
Annexe B : Agilité. .................................................................................................................. 60
Annexe C : Extraits de code. .................................................................................................. 60
Bibliographie et URLographie .............................................................................................. 70
1
0 Introduction générale
INTRODUCTION GENERALE
2
Dans le contexte actuel d‟une compétition internationale féroce, les entreprises doivent
constamment rationaliser leurs façons de présenter les données et leurs manières de déléguer
les 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 entre
commerciaux, techniciens, comptables et logisticiens d‟une même entreprise pour optimiser le
fonctionnement global. Pour cela il faut un langage commun, des référentiels, des pratiques et
des modes de communications partagés. Les ERP (Enterprise Ressource Planning) ou encore
en Français les progiciels de gestion intégrés, constituent l‟outil idéal pour une telle
organisation 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ès
ou alors se contentaient de plus modestes logiciels de comptabilité et de gestion commerciale.
Pour rendre accessible les ERP aux PME, il a fallu d'abord réduire les coûts. Le logiciel libre
a alors permis de supprimer un intermédiaire (le distributeur), de diminuer les coûts de
développement grâce à la réutilisation de logiciels libres, et de réduire considérablement les
coû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 et
paramétrables, avec un périmètre fonctionnel qui peut varier. Des modules tels que la
comptabilité, 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, au
recrutement en passant par la gestion de la paie. Cependant les modules de la gestion de la
paie 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 paie
adaptée à la législation marocaine” et qui mettra à la disposition de NEXTMA une application
fiable 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 travail
réalisé.
3
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.
CHAPITRE 1 : CONTEXTE GENERAL ET OBJECTIF DU PROJET
4
1.1 Présentation de NEXTMA
1.1.1 NEXTMA en Bref
NEXTMA est une Société de Services en Logiciels Libres (SSLL) qui accompagne les
entreprises et institutions dans le choix de solutions open source ainsi que dans l'intégration,
le développement, l'adaptation aux besoins spécifiques, la maintenance et le support. Afin de
bénéficier des meilleures solutions libres dans la gestion des systèmes d'information,
NEXTMA offre aux PME marocaines des services qui sont orientés sur le modèle « ONE
STOP SHOPPING ». C'est-à-dire en offrant une gamme étendue des services
complémentaires sur mesure, car chaque entreprise à sa spécificité, afin qu'elles puissent faire
face aux échéances du libre échange et soient à niveau par rapport aux normes de qualité et de
performance internationalement reconnues.
1.1.2 Prestations et services
NEXTMA offre une large palette de prestations et de services basés sur des
composants libres adaptés aux systèmes et aux réseaux des clients. La principale tâche de
cette 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 outils
libres.
La gamme de services de NEXTMA est articulée autour de quatre axes majeurs qui
permettent d'accompagner les clients durant toutes les phases d'un projet afin d'en assurer sa
ré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 d'applications 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.
CHAPITRE 1 : CONTEXTE GENERAL ET OBJECTIF DU PROJET
5
Formation
L‟offre des formations, techniques et fonctionnelles, permet d'accompagner 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 faire
susceptible 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 s'appuie sur le gestionnaire contenu Joomla!
Gestion électronique des documents
Il s‟agit d‟un système informatisé d'acquisition, classement, stockage, archivage des
documents.
CHAPITRE 1 : CONTEXTE GENERAL ET OBJECTIF DU PROJET
6
1.2 Présentation générale du projet
1.2.1 Contexte du projet
Notre Projet de Fin d‟Études s‟inscrit dans le cadre d‟une application de la gestion de
la paie basée sur la législation marocaine, à l‟aide de l‟ERP open source open ERP. Cette
application comprend le module du calcul de la paie, ainsi qu‟un module qui permet la
té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 faite
de façon interne. C'est-à-dire que tous les aspects de la GRH étaient effectués par les
entreprises elle mêmes. Et comme les entreprises s‟élargissaient en matière de nombre
d‟employés et de champs de travaux, ceci a rendu la GRH plus complexe et a fait que le coût
soit de plus en plus élevé. De ce fait il a été judicieux de penser à externaliser le travail en
chargeant 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 figure
les 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.
CHAPITRE 1 : CONTEXTE GENERAL ET OBJECTIF DU PROJET
7
1.4 Démarche de conduite du projet
Dans le cadre de notre projet, nous nous sommes intéressés à la fois à l‟élaboration d‟un
dossier de conception et à la réalisation de l‟application de la gestion de la paie adaptée à la
législation marocaine.
La conduite d‟un tel projet est relativement complexe si on ne suit pas une démarche et
une méthodologie bien définies à l‟avance. Ainsi, nous avons décomposé notre projet en
plusieurs 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 travail
1.5.1 Préambule
D‟après l‟étude faite par le Standish Group en 1994, la majorité des projets adoptant le
cycle en cascade aboutissent à l‟échec car ce cycle recommande un planning figé et un
enchainement rigoureux pour les différentes phases du projet. Aussi l‟intervention peu
fréquente du client pendant le processus de développement conduit à un logiciel inadapté et
non fiable.
Pour pallier à ces problèmes de non liberté de client et manque d‟esprit d‟équipe
pendant le déroulement du projet, on a adopté les méthodes agiles qui préconisent les
principes 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 sa
conformité avec la nature de notre projet et l‟environnement du travail. Dans la suite nous
allons détailler en quoi consiste cette méthode ainsi que son origine et ses grands principes.
CHAPITRE 1 : CONTEXTE GENERAL ET OBJECTIF DU PROJET
8
Tout d‟abord, la méthode Scrum a été conçue pour optimiser le rendement des équipes
qui se voient obstrués auparavant par les méthodes lourdes. Les racines de Scrum montent à la
publication de Takeuchi et Nonaka dans "The New Product Development Game"[3] pour
l'aspect 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 collaborent
pour atteindre les buts initialement convenus, et c‟est la même ressemblance en rugby pour
avancer 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 un
ensemble de fonctionnalités à réaliser, dans des itérations de durées fixes d‟une à quatre
semaines, appelées Sprints. Chaque Sprint possède un but à atteindre, défini par le Directeur
du produit qui valide les objectifs à atteindre pendant cette période. Un sprint aboutit toujours
sur la livraison d'un produit partiel fonctionnel. Pendant ce temps, le ScrumMaster a pour
mission de minimiser les perturbations extérieures et de résoudre les problèmes fonctionnels
de l'équipe.
Le principe le plus avantageux de Scrum est la participation active du client pour définir
les priorités dans les fonctionnalités du logiciel qui seront implémentés dans chaque sprint
avec 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 s'assure en plus que le logiciel développé répond
parfaitement à ses véritables besoins.
CHAPITRE 1 : CONTEXTE GENERAL ET OBJECTIF DU PROJET
9
1.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. C'est lui qui en détermine les priorités et qui
prend les décisions concernant l'orientation du projet.
ScrumMaster : Membre de l'équipe dont l'objectif 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 n'a aucun pouvoir hiérarchique sur l'équipe. C'est 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 n'y 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 s'adresse
directement au Directeur de produit. Il est préférable qu'elle lui montre le plus
souvent possible le logiciel développé pour qu'il puisse ajuster les détails
d'ergonomie et d'interface.
Intervenants : Les Intervenants sont les personnes qui souhaitent avoir une vue sur
le projet sans réellement s'investir dedans. Il peut s'agir par exemple d'experts
techniques ou d'agents de direction qui souhaitent avoir une vue très éloignée de
l'avancement du projet.
1.5.4 Synthèse
Pour conclure, Scrum est une méthode de développement de logiciels qui s'intéresse
plutôt à l'organisation du projet qu'aux 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 d'esprit de la mêlée de
rugby : avancer tous ensemble vers un but commun ce qui est équivalent à la réussite du
projet.
1.6 Conclusion
Dans ce chapitre nous avons présenté l‟organisme d‟accueil NEXTMA et ses
domaines d‟activités. Nous avons aussi détaillé le contexte général, les objectifs à atteindre
par notre Projet de Fin d‟ Études et la démarche de conduite du projet. Dans la conduite du
projet nous avons présenté la méthode de travail agile SCRUM que nous avons utilisé. Le
chapitre suivant s‟intéresse à l‟étude de l‟existant et la spécification des besoins du projet.
10
2 Chapitre 2 :
Étude de l’existant et spécification
des besoins
Dans ce chapitre, nous présentons la phase de l’étude de l’existant qui
consiste à effectuer une étude applicative du système existant pour en
détecter les défaillances. Nous finirons par les spécifications des
besoins recueillis auprès des utilisateurs concernés.
CHAPITRE 2 : ETUDE DE L’EXISTANT ET SPECIFICATION DES BESOINS
11
2.1 Préambule
L‟étude de l‟existant est une étape clé dans la réalisation de n‟importe quelle
application informatique, quelque soit le domaine concerné. Il s‟agit d‟une étude permettant
de 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. A
ce 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étaires
tels que SAP, SAGE... Quant au deuxième type d‟entreprises, il se contente de logiciels
propriétaires spécialisés dans la paie pour des raisons de coûts d‟acquisition qui sont encore
trop é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é, le
développement de logiciels libres qui traitent la gestion de la paie est en manque, non
seulement au Maroc mais aussi ailleurs. C‟est pourquoi notre projet constitue un défit que
nous avons relevé, et qui, en cas de réussite, marquera son empreinte sur le marché national et
international, car il y a une large communauté mondiale qui adopte tous les modules réalisés
par 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.
CHAPITRE 2 : ETUDE DE L’EXISTANT ET SPECIFICATION DES BESOINS
12
2.2.2 Inconvénients de l’existant
Si les systèmes de la gestion de la paie existants fournissent certains avantages. Ils
renferment néanmoins plusieurs inconvénients dont la critique ne peut qu‟être bénéfique pour
notre 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élimiter
les problèmes à résoudre dans le contexte actuel. Quant à la partie critique de l‟existant, elle a
permis 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.
CHAPITRE 3 : ETUDE FONCTIONNELLE
13
3 Chapitre 3 :
Étude Fonctionnelle
Dans ce chapitre, nous présentons une étude fonctionnelle susceptible
de nous fournir une connaissance du métier.
La connaissance du métier est indispensable pour mener une bonne
conception, et par la suite aborder la réalisation de l’application
CHAPITRE 3 : ETUDE FONCTIONNELLE
14
3.1 Préambule
L'entreprise englobe une panoplie de moyens matériels, financiers et humains. Donc le
personnel qui constitue la ressource humaine s'engage avec l'entreprise avec un contrat de
travail ce qui le positionne sous la subordination de son employeur. Cette relation étroite de
sujétions stipule que l'employé reçoit un salaire de l'employeur en contrepartie d'une
prestation de travail. Ce processus de versement de salaire engendre le paiement des charges
sociales dont une partie incombe aux employeurs, et une autre aux salariés.
C'est ainsi que le terme "Gestion de la paie " s'avère hautement important pour bien
appréhender l'administration 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 d'intercepter tous les termes en relation avec le salaire en vue
d'apprendre d'une 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...): On
entame ce contexte fonctionnel du projet par l'identification des éléments constitutifs de la
rémunération, ensuite on attaque le traitement fiscal des salaires qui comprend entre autres
l'impôt général sur le revenu (IGR), les cotisations sociales salariales et les charges
patronales. Ensuite on présente dans ce chapitre quelques documents importants dans le cadre
de 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 étape
importante exigée de plus en plus par les entreprises marocaines.
3.2 Le salaire
3.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 s'agit de la contrepartie des prestations de travail fournies par le personnel à
l'entreprise. 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 de
l‟entreprise et du salarié et la situation personnelle du salarié...
Le salaire brut comprend à la fois, le salaire de base et diverses majorations à savoir
les heures supplémentaires, les primes, les gratifications, les indemnités, les avantages et les
allocations familiales.
CHAPITRE 3 : ETUDE FONCTIONNELLE
15
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 d'heures 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
habituels
Repos hebdomadaires
et jours fériés
De 6h00 à 21h00 25% 50%
De 21h00 à 6h00 50% 100%
Tableau1 : Barème des heures supplémentaires
Taux horaire supplémentaire = Taux horaire normal * (1+Taux de majoration)
CHAPITRE 3 : ETUDE FONCTIONNELLE
16
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 d'argent octroyée à un salarié à titre d'encouragement, de
motivation ou de récompense (la prime d‟ancienneté, prime d‟assiduité, prime de
rendement...etc.). La prime d‟ancienneté est obligatoire et est attribuée en fonction de la
duré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 d'inventaire, treizième mois....).
b. Les indemnités
Les indemnités sont des sommes attribuées à un salarié en vue de réparer un dommage
ou un préjudice que ce dernier a subit durant son travail (indemnité de résidence, indemnité de
licenciement...etc.)
c. Les avantages
Les avantages sont des rémunérations accessoires, ils peuvent être en argent ou en
nature. Ils sont attribués généralement par l'employeur à une partie ou à l'ensemble de son
personnel en plus des rémunérations précitées.
Les avantages en argent: Ce sont des allégements des dépenses personnelles pour le
salarié prises en charge en totalité ou en partie par l'employeur (loyer du logement personnel,
frais médicaux, frais des séjours ...etc.)
Les avantages en nature: Ils se constituent de diverses prestations et fournitures
accordées par l'employeur (dépenses de domesticité, logement, dotations en produits fabriqués
par l'employeur...etc.)
CHAPITRE 3 : ETUDE FONCTIONNELLE
17
d. Les allocations familiales
Les allocations familiales sont des prestations servies par la Caisse Nationale de
Sécurité Sociale (CNSS) aux salariés ayant des enfants à charge. Le montant des allocations
familiales est de 200 DH par mois pour chacun des trois premiers enfants et 36 DH par mois
pour chacun des trois suivants.
3.2.3 Les retenues du salaire
La rémunération n'est pas intégralement versée au salarié, elle fait l'objet de certaines
retenues, qu'on va expliquer comment les calculer minutieusement, à savoir les cotisations
salariales sociales et l‟IGR. Ces montants retenus ne sont pas une charge pour l'entreprise,
puisqu'elle se contente de les calculer, les retenir à la source, puis les verser aux tiers
concerné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 d'apprendre à calculer les retenues et les cotisations de
salaire brut pour déterminer le salaire net à payer. En premier lieu, on va préciser les formules
de calcul des cotisations salariales sociales et les charges patronales, ensuite on va citer les
autres retenues de salaire. Et on passe finalement à la synthèse qui récapitulera le calcul du
salaire net à payer après avoir éclaircit les étapes permettant le calcul de l'IGR.
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 et
de 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ération
brute 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 d'AMO : 2 % * salaire brut
CHAPITRE 3 : ETUDE FONCTIONNELLE
18
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 l'employeur. 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 l'employeur et
uniformément appliqué à tous les salariés d'une 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 d'un organisme à l'autre.
3.3.2 Les charges supportées par l’employeur (Les charges
patronales)
3.3.2.1 Les cotisations patronales à la CNSS
Cotisations 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
CHAPITRE 3 : ETUDE FONCTIONNELLE
19
3.3.2.3 Les cotisations patronales à la CIMR
Cotisation 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 qu'il y'a d'autres cotisations patronales dont le taux et la base de calcul
varient selon l'organisme 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 d'une 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 qu'une partie de son salaire lui soit retenue par
l'employeur pour être payée directement à ses créanciers: il s'agit alors d'une cession de
salaire.
Opposition
C'est la part du salaire retenue par l‟employeur pour la verser à un créancier du salarié.
Elle est pratiquée en vertu d'un jugement (l‟opposition par le tribunal).
3.3.4 L’impôt général sur le revenu
L'impô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 n'en sont pas exclus puisqu‟ils paient
l'impôt avant même de percevoir leurs salaires. L'employeur se charge de calculer pour
chaque salarié l'impôt qu'il 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.
CHAPITRE 3 : ETUDE FONCTIONNELLE
20
É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 de
l‟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
CHAPITRE 3 : ETUDE FONCTIONNELLE
21
Étape 4 : Calcul de l’IR brut
On détermine dans quelle tranche se trouve le SNI, on le multiplie par le taux
correspondant à la tranche et on déduit la somme figurant dans la dernière colonne afin
d‟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,
c'est-à-dire dans la limite de 90DH par mois (épouse et enfants).
IR (net)=IR (brut)-DEDUCTIONS POUR CHARGES DE FAMILLE
CHAPITRE 3 : ETUDE FONCTIONNELLE
22
3.3.5 Synthèse : Calcul du salaire net à payer
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 à l'entreprise d'apporter 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 l'identité de l'employeur et son numéro de
CNSS, l'identité du salarié, le nombre d'heures 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 .
Total des gains (salaire brut
global
Salaire de base
Heures supplémentaires
Primes et gratifications
Indémnités
Avantgaes (natures+argent)
Allocations famililes
Total des retenues
Cotisations salariales
Impôt général sur le
revenu
Avances et acomptes
Cessions de salaire
Oppositions
Autres retenues
Salaire net à payer
CHAPITRE 3 : ETUDE FONCTIONNELLE
23
3.4.2 Le livre de paie
Si le bulletin de paie est remis aux employés, le livre de paie est par contre un document
comptable de l'entreprise. L'employeur 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 est
hautement recommandable qu'il soit conservé par l'employeur pendant au moins 3 ans à
compter de sa clôture.
Le livre de paie ressemble à la forme suivante :
Nom Sal
brute
Sal
plafonné
Retenues Sal
net
Acompte Opposition Net à
payer CNSS IR Autre Total
Total
Tableau 4 : Tableau représentatif des informations contenues dans le livre de paie
CHAPITRE 3 : ETUDE FONCTIONNELLE
24
3.5 Télédéclaration
3.5.1 Présentation
Le système de télédéclaration est un système conçu par la CNSS pour le traitement de
bordereaux 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 un
envoie de ces déclarations au portail DAMANCOM.
L'objectif du système repose sur la mise à disposition des entreprises et à leurs
prestataires éventuels (cabinets d'expertise comptable…etc.) d'une plate-forme
d'intermédiation complète et sécurisée garantissant la prise en charge, le traitement et
l'acheminement des bordereaux de déclarations de salaires (télédéclarations) soumises par les
utilisateurs du portail à destination de la CNSS, ainsi que la prise en charge de la validation
des avis de télépaiements par les utilisateurs du portail, leur acheminement aux organismes
bancaires 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 principe
de fonctionnement décrit ci-dessous :
Les utilisateurs du portail (affiliés ou mandataires), une fois qu'ils ont adhéré la
télédéclaration, adressent par liaison Internet sécurisée au portail e-BDS, leurs
té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, et
traités. Chaque déclaration fait l‟objet d‟un traçage précis et constant qui permet à l‟utilisateur
en se connectant sur le portail WEB de suivre l‟évolution du traitement de ses
té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 le
suivant :
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.
CHAPITRE 3 : ETUDE FONCTIONNELLE
25
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.
CHAPITRE 4 : CONCEPTION DU PROJET
26
INTERNET
La figure suivante décrit le processus de fonctionnement des télédéclarations :
Fichi
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.
1- Mise en ligne du fichier émission de la période de déclaration (préétabli)
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.
7- Traitement de prise en charge
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
Fichier préétabli
3-Fichier BDS
4-Accusé de réception
6-Accusé de contrôle
Mise en forme (9pt)
3-Fichier BDS complémentaire
CHAPITRE 4 : CONCEPTION DU PROJET
27
0 Chapitre 4 :
1 Conception du projet
Ce chapitre est consacré à la partie conception de l’application. Après
une brève présentation du langage de conception UML, le chapitre
présente les diagrammes de conception adoptés lors de la phase
d’élaboration.
Le chapitre suivant est consacré à la description de l’architecture
adoptée et des différents outils de développement utilisés.
CHAPITRE 4 : CONCEPTION DU PROJET
28
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.
Figure 3 : Axes de modélisation des diagrammes de UML
Fonctionnel (Modélisation des interactions et
fonctionnement des composants SI) Diagramme de Cas d’utilisation.
Diagramme de Séquence
Diagramme d’activités
Dynamique (Modélisation de l’évolution des SI)
Diagramme des États de
transitions.
Diagramme d’activités.
Diagramme de Séquence.
Diagramme de communication
Diagramme d’interactions.
Diagramme de temps.
Statique (Modélisation des composants du SI)
Diagramme de Classes.
Diagramme de Packages.
Diagramme d’Objets.
Diagramme de Structure
Composite.
Diagramme de Déploiement.
Diagramme de Composants
CHAPITRE 4 : CONCEPTION DU PROJET
29
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.
CHAPITRE 4 : CONCEPTION DU PROJET
30
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 sont
obligatoires : Le diagramme des use cases et le diagramme de classe, car il y a des
diagrammes qui dépendent de l‟évolution du système d‟information et d‟autres qui s‟occupent
de sa maintenance. Dans ce qui suit nous présentons le diagramme des uses cases, le
diagramme de séquences, celui de classes ainsi que le diagramme d‟activités.
CHAPITRE 4 : CONCEPTION DU PROJET
31
«include»
«extend»
«extend»
«extend»
«include»
«include»
«include»
«include»
«include»
«include»
4.3.2 Diagramme des use cases
Figure 4 : Diagramme des use-cases
Module de la gestion de la paie
Responsable
Ressources
Humaines
Agent du Service
de la paie
Créer employé
Créer contrat
Attribuer
Banque
Attribuer
Numéro CNSS
Attribuer
Numéro CIMR
Imprimer
Contrat
Saisir les détails
mensuels de la paie
Gérer les
paramètres de la
configuration
Imprimer
Bulletin de paie
Imprimer état
9421
Imprimer état
IGR
Traiter archivage du
bulletin de paie
Enregistrement dans
le livre de paie
Imprimer états des
organismes sociaux
(CNSS CIMR ...)
Traiter
télédéclaratio
n
Consulter les
charges patronales
CHAPITRE 4 : CONCEPTION DU PROJET
32
Description 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.
CHAPITRE 4 : CONCEPTION DU PROJET
33
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.
CHAPITRE 4 : CONCEPTION DU PROJET
34
o Scénario alternatif 2
Ce 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.
CHAPITRE 4 : CONCEPTION DU PROJET
35
4.3.3 Le diagramme de classes
Figure 5 : Diagramme de classes
CHAPITRE 4 : CONCEPTION DU PROJET
36
Le diagramme ci-dessus est constitué de plusieurs classes dont chacune représente un
objet dans le système de gestion de paie et répond à une spécification bien précise. Nous
allons 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
CHAPITRE 4 : CONCEPTION DU PROJET
37
4.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é
CHAPITRE 4 : CONCEPTION DU PROJET
38
4.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 paie
4.3.5 Diagramme d’activités
Figure 8 : Diagramme d’activités
CHAPITRE 4 : CONCEPTION DU PROJET
39
La figure précédente représente le diagramme d‟activités qui décrit l‟ensemble des
activités effectuées par les acteurs du système en les décomposant en sous-activités et en
spé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 le
diagramme des uses cases, le diagramme de classes, quelques diagrammes de séquences et un
diagramme d‟activités .Le chapitre suivant va spécifier l‟architecture de l‟application ainsi
que les outils techniques qui y sont utilisés.
40
6
7
8 Chapitre 5 :
Dossier technique
Ce chapitre présente deux objectifs : D’une part, il fait le point sur
l’architecture d’open ERP, qui est nécessaire pour la mise en place de notre
application.
D’autre part, il présente des outils techniques que nous avons adoptés
pour la réalisation de l’application notamment le langage Python, le langage
XML et la base de données PostgreSQL.
CHAPITRE 5 : DOSSIER TECHNIQUE
41
5.1 Préambule
Il est vrai que notre stage avait comme objectif principal la réalisation d‟une
application de la gestion de la paie pour satisfaire certains besoins déjà cités. Cependant ce
qui est intéressant c‟est que la mise en œuvre de cette application s‟effectuait sous une
certaine 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 de
l‟application. Dans ce qui suit, nous verrons les différents outils utilisés et les architectures
adoptées pour leurs mises en œuvre.
5.2 LINUX
5.2.1 Présentation.
Linux ou GNU/Linux qui est un système d'exploitation, est logiciel libre créé en 1991
par Linus Torvalds[8]. Aujourd'hui, grâce à un effort considérable de développement fourni
par des personnes du monde entier, Linux fonctionne sur quasiment toute architecture
moderne.
Le noyau Linux a pris une importance aussi bien idéologique que technique. Il existe
une communauté entière de personnes qui croient aux idéaux du logiciel libre et donnent de
leur temps pour aider à rendre la technologie libre aussi performante que possible.
L'esprit du libre, souvent attribué à Linux, influence les développeurs et les utilisateurs
de logiciels partout dans le monde et entraîne des communautés partageant des objectifs
communs.
5.2.2 Le projet GNU.
Le projet GNU a été lancé en janvier 1984 par Richard Stallman, pour développer un
système d'exploitation complet de type UNIX, composé de logiciels libres : le système GNU.
Les variantes du système d'exploitation GNU, construites autour du noyau Linux, sont
aujourd'hui largement utilisées. Le projet GNU est étroitement lié à la philosophie du logiciel
libre qui est omniprésente dans les projets qui en découlent tels qu‟Ubuntu.
5.2.3 Ubuntu.
Ubuntu est un système d'exploitation entièrement libre construit autour du noyau Linux.
La communauté Ubuntu s'est formée autour des idéaux constitutifs de la philosophie
d'Ubuntu[9]:
Le logiciel doit être disponible gratuitement.
Les logiciels doivent être utilisables dans la langue de l'utilisateur et en dépit de
tout handicap.
L'utilisateur doit avoir la liberté de personnaliser et de modifier le logiciel à sa
guise.
CHAPITRE 5 : DOSSIER TECHNIQUE
42
Ubuntu est le système d‟exploitation avec lequel nous avons développé notre
application pour que le stage soit conforme aux idéaux de l‟organisme d‟accueil.
5.3 Les ERP
5.3.1 Présentation générale
L‟acronyme ERP signifie « Enterprise Ressource Planning » traduit en français par
Progiciel de Gestion Intégré ou PGI. C‟est un progiciel qui permet de gérer l‟ensemble des
processus d‟une entreprise intégrant l‟ensemble de ses fonctions comme la gestion des
ressources humaines, la gestion financière et comptable, l‟aide à la décision, la vente, la
distribution, 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 qui
implique l‟achat d‟une licence, et les ERP open source qui sont « gratuits ». Nous nous
inté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 aussi
bien pour les indépendants que pour les PME. Il couvre pratiquement tous les secteurs
d‟activité : industrie, commerce, prestations de services, e-Commerce, négoce, etc. Comme la
plupart des logiciels libres, l'accessibilité, la flexibilité et la simplicité sont les maîtres mots du
développement.
Open ERP est caractérisé par son architecture modulaire et technique.
CHAPITRE 5 : DOSSIER TECHNIQUE
43
5.3.3 Architecture modulaire
Cette architecture n‟est pas propre à open ERP. Elle est en fait partagée par tous les
ERP. 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. Ceci
apporte une importance significative puisque les données sont maintenant standardisées et
partagées. Ce qui élimine les saisies multiples et évite l'ambiguïté des données de même
nature. L‟architecture modulaire d‟open ERP lui permet de couvrir plusieurs domaines
illustrés dans la figure ci-dessous :
Figure 9 : Architecture modulaire d’open ERP
CRMLogistique
Finance
Comptabilité
Analytique.
Comptabilité
Générale.
Gestion des
Ressources
humaines
Gestion
commerciale.
Marketing.
Suivi des
contrats.
Suivi des
affaires.
Gestion de
production.
Gestion de stock
Gestion
maintenance du
parc
CHAPITRE 5 : DOSSIER TECHNIQUE
44
5.3.4 Architecture technique.
5.3.4.1 Architecture Client/Serveur :
Open ERP est basé sur une architecture client/serveur. Le serveur et le client
communiquent via le protocole XML-RPC. C‟est un simple protocole qui permet au client de
faire des appels aux procédures. Une fois la fonction est appelée, ses arguments et ses
ré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 au
pack Open Office, et aussi avec des outils de reporting (ReportLab) pour produire des
rapports 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 cette
approche, presque tout le développement est fait du côté serveur. Ce qui rend OPENERP plus
simple au développement et à la maintenance.
L'opération client est très simple. Quand un utilisateur exécute une action (sauvegarder
un formulaire, ouvrir un menu, imprimer, ...) il envoie cette action au serveur. Le serveur
envoie alors la nouvelle action pour s'exécuter côté client.
Il y a trois types d'actions :
• 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 des
applications complexes qui présentent des lots de données aux utilisateurs, on souhaite
souvent séparer les données (modèle) et l'interface utilisateur (vue), de sorte que les
changements à l'interface utilisateur n'affectent pas le traitement des données, et que les
données peuvent être réorganisées sans changer l'interface utilisateur.
Le MVC résout ce genre de problème en découplant l'accès des données et la
logique des applications de la présentation des données et de l'interaction utilisateur, en
introduisant un composant intermédiaire : « le contrôleur ».
CHAPITRE 5 : DOSSIER TECHNIQUE
45
Dans open ERP, on peut appliquer cette sémantique de ModelViewController 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.
Figure 10: Modèle vue contrôleur
5.4 Langage Python
Python est un langage portable, dynamique, extensible, gratuit, qui permet (sans
l'imposer) une approche modulaire et orientée objet de la programmation. Python est
dé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. L'une, 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 d'accélérer l'exécution d'un programme
Java que d'un programme Python).L'autre génère directement du bytecode Java.
Dynamiquement typé.
Soutenu par la communauté d‟utilisateurs qui tentent à l‟évoluer.
Modèle Vue
Contrôleur
CHAPITRE 5 : DOSSIER TECHNIQUE
46
5.5 Langage XML
5.5.1 Présentation du langage XML
XML (eXtensible Markup Language et en Français Langage à balises étendu, ou
Langage à balises extensible) était lancé en 1997 par la communauté SGML (Standard
Generalized Markup Language). XML est un langage simple et puissant de description et
d‟échange de documents structurés de n‟importe quel domaine de données grâce à son
extensibilité, 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 d'entités générales
des déclarations d'entités paramètres
des déclarations de notations
des déclarations d'éléments
des déclarations de listes d'attributs
des commentaires
CHAPITRE 5 : DOSSIER TECHNIQUE
47
5.5 PostgreSQL
5.5.1 Présentation de PostgreSQL :
PostgreSQL remonte à la base de données Ingres, développée à Berkeley par Michel
STONEBRAKER. Lorsque ce dernier décida en 1985 de recommencer le développement de
zéro, il nomma le logiciel Postgres, comme raccourci de post-Ingres. Lors de l‟ajout des
fonctionnalités SQL en 1995, Postgres fut renommé Postgres95.Ce nom fut changé à la fin de
1996 en PostgreSQL[11]. PostgreSQL est un système de gestion de base de données
relationnelle et objet (SGBDRO). C‟est un outil libre disponible selon les termes d‟une
licence de type BSD[13]. Ce système est concurrent à d‟autres systèmes de gestion de base de
donné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 une
seule entreprise, mais est fondé sur une communauté mondiale de développeurs et
d‟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 de
l‟architecture Client/Serveur. Il présente également l‟ensemble des outils que le système
requiert, 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.
48
0
1
2 Chapitre 6 :
Réalisation
Après avoir cité les outils de développement et élucidé l'architecture
d’open ERP. On va expliquer en premier lieu la démarche adoptée pour
pouvoir travailler dans l'environnement open ERP. Ensuite on va détailler
les fonctionnalités des vues qui composent notre application avec des
captures d'écran des différents menus et formulaires.
En fin de compte on va exhiber les rapports nécessaires qu'on a
élaborés dans la gestion de paie.
49
6-1 Configuration d’open ERP
Après avoir installé les composants essentiels d'open ERP à savoir :
openerp-server,
openerp-client gtk
PostgreSQL
On lance le client gtk, et l'interface suivante s'affiche:
Figure 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
50
Le mot de passe administrateur correspond au mot de passe indiqué dans le fichier de
configuration 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 s'y
connecter avec le compte administrateur afin de configurer les fonctionnalités dont on a
besoin.
Figure 14: Interface de la connexion avec la base de données
51
Suite à la création de la base, open ERP se connecte avec le compte administrateur en
proposant une aide à la configuration par un système d'étapes.
Pour notre exemple, nous avons choisi le profil « service » car la plupart des entreprises
en 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 ne
reste qu'à se connecter via l‟interface d‟authentification suivante :
Figure 16: Interface d’authentification des utilisateurs
52
6-2 Les interfaces de l’application Après avoir installé l‟application dans open ERP, une rubrique intitulée ‟‟ Gestion de la
paie‟‟ apparaît dans le menu principal. Lorsqu‟on clique dessus, des sous-rubriques
s‟affichent dans l‟écran principal. Ces dernières constituent les différents choix possibles
pour 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
53
Concernant les différentes sous-rubriques de chacune des options illustrées dans la
figure 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
54
Figure 20 : Interface illustrant les rubriques de consultations et d’impression
L‟ajout des employés s‟effectue à travers l‟interface suivante :
Figure 21: Interface de l’ajout d’un nouvel employé
55
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 la
capture d‟écran suivante :
Figure 22: Interface principale de l’application
56
Pour saisir les détails mensuels de la paie, on doit passer par la vue ci- dessous. En
plus des champs à remplir, cette interface est doté d‟un boutton permettant le calcul de la paie
après des contrôles effectués sur les champs saisis. Ces vérifications garantissent que notre
systè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 établis
pour obtenir finalement le salaire net à payer pour l‟employé ainsi que certaines grandeurs
utilisé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
57
6.3 Conclusion
Cette phase de réalisation constitue l‟aboutissement du projet et la concrétisation des
phases d‟analyse et de conception. Dans le présent chapitre, nous avons présenté quelques
interfaces qui ont été développées dans l‟intérêt de mettre en œuvre le fonctionnement global
de l‟application en question.
58
3 Conclusion et perspectives
CONCLUSION ET PERSPECTIVE
59
Persuadés et convaincus de l‟importance de l‟open source dans le monde de
l‟informatique, nous avons opté dans notre stage de fin d‟études pour la réalisation d‟une
application 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 ce
stage de fin d‟études. En effet, le fait de plonger dans les méandres d‟open ERP et lui-même
une motivante aventure où on est amené à intercepter tous les côtés d‟un projet, parmi
lesquels 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 informatiques
voire économiques acquises au cours des années d‟études lors de la période de notre
formation à l‟INSEA.
Aussi, ce projet nous a permis d‟acquérir des valeurs indispensables pour le métier
d‟ingénieur telles que la responsabilité, le travail d‟équipe, l‟adaptabilité à l‟environnement de
l‟entreprise et le sens d‟analyse. Ces valeurs sont sans aucun doute les bases de réussite dans
le milieu professionnel.
A propos de notre application, on a établi la base d‟un module complètement
paramétrable et évolutif, pour la tenue de la paie et le suivi du personnel de l‟entreprise en
alliant souplesse d‟utilisation, convivialité et conformité à la législation marocaine.
Parmi les perspectives futures, signalons l‟intérêt d‟étendre notre application par
l‟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 du
module d‟open ERP qui traite la gestion de la paie sachant qu‟aucune expérience n‟a été
établie jusqu‟à présent.
60
Annexes
Annexe A : Les rapports générés par l’application.
Annexe B : Agilité.
Annexe C : Extraits de code.
ANNEXE A:LES RAPPORTS GENERES PAR L’APPLICATION
61
Les rapports
L‟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
ANNEXE A:LES RAPPORTS GENERES PAR L’APPLICATION
62
Figure 26 : Rapport illustrant le livre de paie
Figure 27: Rapport illustrant l’état IGR
ANNEXE A:LES RAPPORTS GENERES PAR L’APPLICATION
63
Figure 28 : Rapport généré pour l’état CIMR
Figure 29 : Rapport généré pour l’état de Mutuelle.
ANNEXE A:LES RAPPORTS GENERES PAR L’APPLICATION
64
Figure 30 : Exemplaire du bordereau de paiement
ANNEXE B:AGILITE
65
Agilité, principes et concepts
Parmi les différentes définitions du mot agilité dans le dictionnaire on trouve l‟aptitude
et 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 des
spécialistes de méthodes. Ce groupement de scientifiques a donné naissance à ce qu‟on
appelle l’agile manifesto[2], un ensemble de principes appliqués au développement
informatique. 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 à l'excellence technique et à la qualité de la conception
améliore l'agilité.
La simplicité est essentielle.
Les meilleures architectures, spécifications et conceptions sont issues d'équipes qui
s'auto-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 est
de 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 eXtreme
Programming. Or l‟agilité réside principalement dans la capacité du programmeur à créer un
programme qui ne satisfait pas seulement les besoins qui lui ont donné naissances mais d‟être
simplement 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 pas
ce 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‟architecture
logicielle ces lois sont les suivantes :
La modularité.
L‟extensibilité.
La simplicité.
La paramétrabilité.
La standardisation.
ANNEXE B:AGILITE
66
i-La modularité La modularité réside dans la construction d‟un programme où les lignes de code sont
regroupées en un ensemble de plus grosse taille. Cette organisation rend le code plus
cohérent et les parties plus indépendantes. Surtout si on décompose le code selon les champs
fonctionnels. Ainsi chaque partie du programme sera considérée comme une application à part
entiè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 changements
qui peuvent subvenir dans le futur. Certes, cette fonctionnalité est difficile à atteindre
cependant cela n‟empêche pas de réfléchir à une méthode spécifique. Il s‟agit lors de la
conception de penser à quoi va ressembler notre système avec 10000 utilisateurs par exemple
ou bien si notre affichage est apte à afficher 100000 articles. C‟est ce genre de raisonnement
qui 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 de
l‟é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. Mais
qui peuvent être utilisés dans plusieurs perspectives. Pour cela notre programme doit être le
plus 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.
ANNEXE C:EXTRAITS DE CODE
67
Quelques 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’IGR
Méthode qui permet le calcul des allocations familiales C‟est une méthode calcule le montant de allocations familiales
Figure 32 : Extrait de code illustrant la méthode du calcul de l’IGR
ANNEXE C:EXTRAITS DE CODE
68
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 base C‟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.
ANNEXE C:EXTRAITS DE CODE
69
Interface 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é.
BIBIOGRAPHIE, URLOGRAPHIE ET REFERENCES
70
5 Bibliographie, URLographie et
6 Références
BIBIOGRAPHIE, URLOGRAPHIE ET REFERENCES
71
Les ouvrages
Titre : «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 GETTOU
Titre : «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 électroniques
Titre : « Apprendre à programmer avec Python»
Auteur : Gérard SWINNEN
Description d’auteur: Professeur et conseiller pédagogique à Institut St Jean Berchmans.
Titre : « open ERP book»
Auteur : Fabien Pinckaers
Description 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
BIBIOGRAPHIE, URLOGRAPHIE ET REFERENCES
72
Les 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