intégration et personnalisation d’openerp au sein de l’entreprise isatis
TRANSCRIPT
République Algérienne Démocratique et Populaire
Ministère de l'Enseignement Supérieur et de la Recherche Scientifique
Université A.MIRA - Béjaïa
Faculté des Sciences Exactes
Département d'Informatique
Mémoire de fin de cycle En vue de l'obtention du diplôme de Master
En Informatique option Administration et Sécurité des Réseaux
Thème
Intégration et personnalisation
d’OpenERP au sein de l’entreprise ISATIS
Réaliser par : Devant le juré composé de :
MAOUCHE Cilia Président : Mr
SEBAA Abderrzak
MENDIL Radia Examinateurs : Mr OUZEGGANE Redouane
Mr
NAFI Mohamed
Encadreur : M
me TAHAKOURT Zineb
Co-encadreur : Mr ZIANI Rafik
Promotion : 2013-2014
Remerciements
Nous adressons en premier lieu notre reconnaissance à notre
DIEU tout puissant, de nous donné la santé et la volante d’entamer et
de terminer ce mémoire.
Nous adressons le grand remerciement à notre promotrice Mme
TAHAKOURT qui a proposé le thème de ce mémoire, pour ses
conseils, son soutiens moral et ses dirigés du début à la fin de ce
travail.
Ce travail ne serait pas aussi riche et n’aurait pas pu avoir le
jour sans l’aide et l’encadrement de Mr ZIANI, nous le remercions
pour la qualité de son encadrement exceptionnel, pour sa patience, sa
rigueur, son accueil dans son entreprise et sa disponibilité durant
notre préparation de ce mémoire.
Nous sommes conscientes de l’honneur que nous a fait le
membre du jury d’avoir accepté d’examiner notre travail.
Nous remercions aussi, Melle AMINA, LYNDA, SIHEM et
FOUZIA pour leurs aides, encouragements et disponibilités durant
nos 6 mois de stage.
Nos remerciements s’adressent également à tous nos
professeurs pour leurs générosités et la grande patience dont ils ont
su faire preuve malgré leurs charges académiques et professionnelles.
Nous exprimons nos profonds remerciements à l’encontre de
nos parents qui nous ont enseigné la patience, la politesse, le
sacrifice et qui ont toujours été là pour nous.
Je n’oublie pas de dire un grand merci à toutes les personnes,
tous les professionnels qui ont contribuées de près et de loin à
l’enrichissement de notre travail et à notre épanouissement
intellectuel.
Dédicaces
Je dédie ce modeste travail à :
A mes parents .Aucun hommage ne pourrait être à la hauteur de l’amour
Dont ils ne cessent de me combler. Que dieu leur procure bonne santé et longue
vie.
A ma très chère grand mère, que dieu lui accorde une longue vie inchallah.
Aussi à un homme, une personnalité brillante, qui m’a toujours inspiré fort
de ses qualités et de son parcours et qui est pour moi un modèle, il s’agit de
mon très cher grand frère qui m’a toujours soutenu dans la vie.
Aux personnes dont j’ai bien aimé la présence dans ce jour, à tous mes frères
et sœurs :
Ma sœur Nassima et son mari Adlene et leur petite et adorable fille
ANAIS.
A ma sœur Sihem et son mari Sofiane.
A mon très cher et adorable Frère Ryad pour son soutien et à ma petite sœur
Fatima.
A mes oncles et tentes paternelle et maternelle, en priori mon oncle
ABderahmane pour son soutien financier et moral.
A mes très chers amis, d’êtres toujours à mes cotés : Celia, Saby, Lydia
Didouche, Sosso, Mr Tahrat, Yasmina, Yatchine et Abdenour. Et à
tous ceux qui ont contribué de près ou de loin pour que ce projet soit possible,
je vous dis merci.
Radia.
Dédicaces
Merci Allah (mon dieu) de m'avoir donné la capacité d'écrire et de réfléchir,
la force d'y croire, la patience d'aller jusqu'au bout du rêve.
Je dédié ce Modeste travail :
A l’homme de ma vie, mon exemple éternel, mon soutien moral et source de
joie et de bonheur, celui qui s’est toujours sacrifié pour me voir réussir, qui
éclaire mon chemin et m’illumine de douceur et d’amour, que dieu te garde
pour nous papa.
A ma très chère maman en signe d’amour, de reconnaissance et de gratitude
pour tous les soutiens et les sacrifices dont elle a fait preuve à mon égard.
A ma grande sœur et ma deuxième mère : Lydia qui ma toujours soutenu
moralement et encouragée.
A la prunelle de mes yeux, ma petite sœur Nina, la bougie de la
maison.
A tous les membres de ma famille : tente, oncle, cousin maternelle et
paternelle et sans oublier mon petit Rayen.
A ceux que j’aime beaucoup, qui m’ont toujours soutenus et étaient toujours
à mes cotés, mes chers amis spécialement : Celia, Yazid, Hocine, Yasmina,
Lilia et en particulier Mehdi.
Je termine avec la personne qui a partagé tous le travail, qui a supporté mon
humeur au moment de stresse, ma binôme et ma meilleure amie
Et à tous ceux qui ont contribué de près ou de loin pour que ce projet soit
possible, je vous dis merci.
Celia.
La table d’abréviations
BDD Base De Données
BI Business Intelligence
BIOS Basic Input Output System
BPMN Business Process Model and Notation
BSD Berkeley Software Distribution
CD-ROM Compact Disc Read-Only Memory
CPS Collaborative Portal Server
CRM Customer Relationship Management
CV Curriculum Vitæ
DFD Diagramme de Flux de Données
ERP Enterprise Resource Planning
GED Gestion Electronique Documentaire
GRC Gestion de la Relation Client
HCM Human Capital Management
HTML Hypertext Markup Language
HTTP HyperText Transfer Protocol
MRP Management des Ressources de Production
MVC Model-View-Controller
MySQL My Structured Query Language
ORM Object Relational Mapping
PDF Portable Document Format
PGI Progiciel de Gestion Intégré
PGL General Public License
PHP Portable Hext Preprocessor
PME Petites et Moyennes Entreprises
RDE Rule Developing Experimentation
RML Report Markup Language
RPC Remote Procedure Call
SAP Systems, Applications and Product or data
Processing
SCSI Small Computer System Interface
SGBD Système de Gestion de Base de Données
SGML Standard Generalized Markup Language
SI Système d'Information
SSII Société de Services en Ingénierie Informatique
SYSML Systems Modeling Language
TCL Tool Command Language
TCP/IP Transmission Control Protocol/ Internet Protocol
TVA Taxe sur la Valeur Ajoutée
USB Universal Serial Bus
VM Virtual Machine
XML Extensible Markup Language
2TUP Two Track Unified Process
Table des matières
Table des matières Table des matières ..................................................................................................................... II
Table des figures ...................................................................................................................... VI
Liste des Tableaux ................................................................................................................... VII
Introduction générale .................................................................................................................. 1
Chapitre I : Etat de l’art sur les ERP .......................................................................................... 2
1. Introduction ......................................................................................................................... 3
2. Définition d’un ERP ........................................................................................................ 3
Partie 1 : Etat de l’art sur les ERP Existant en littérature........................................................... 3
3.1. Historique .................................................................................................................... 3
3.2. Pour quoi les ERP? ...................................................................................................... 5
3.3. Raisons et enjeux de la mise en place d'un ERP.......................................................... 6
3.4. Les inconvénients ........................................................................................................ 7
3.5. Architecture technique ................................................................................................. 7
3.6. Architecture modulaire ................................................................................................ 8
3.7. Les principaux éditeurs d'ERP ..................................................................................... 8
3.7.1. Les ERP propriétaires ........................................................................................... 8
3.7.2. Les ERP Open Source .......................................................................................... 9
3.8. Liste de quelques ERP existants ................................................................................ 10
Partie 2 : Présentation de OpenERP ......................................................................................... 12
4.1. OpenERP ................................................................................................................... 12
4.2. Architecture d’OpenERP ........................................................................................... 12
4.3. MVC : Modèle vue contrôleur ................................................................................... 13
4.4. Pourquoi OpenERP .................................................................................................... 14
4.5. Les principaux modules d’OpenERP ........................................................................ 14
5. Conclusion ........................................................................................................................ 15
Chapitre II : Étude préliminaire................................................................................................ 16
1. Introduction ....................................................................................................................... 17
2. L’organisme d’accueil ISATIS ......................................................................................... 17
2.1. Présentation générale d’ISATIS ................................................................................ 17
2.2. Les Métiers d’ISATIS ............................................................................................... 18
2.3. Quelques références ................................................................................................... 18
Table des matières
3. Problématique ................................................................................................................... 19
4. Objectif de travail.............................................................................................................. 19
5. Méthodologie de travail .................................................................................................... 20
6. Elaboration du cahier des charges :................................................................................... 20
7. L’identification des acteurs et leurs rôles ......................................................................... 21
7.1. Terminologie utilisée ................................................................................................. 22
8. Identification des messages ............................................................................................... 23
8.1. Les messages entrants : .............................................................................................. 24
8.2. Les messages sortants ................................................................................................ 25
9. Modélisation du contexte .................................................................................................. 26
9.1. Diagramme de contexte dynamique .......................................................................... 26
9.2. Le contexte statique ................................................................................................... 27
9.2.1. Diagramme de contexte statique : ...................................................................... 27
10. Conclusion ..................................................................................................................... 27
Chapitre III : Conception .......................................................................................................... 28
1. Introduction ....................................................................................................................... 29
2. Capture des besoins fonctionnels ...................................................................................... 29
2.1. Identifier les cas d’utilisation..................................................................................... 29
2.1.1. Identification des processus................................................................................ 29
2.1.2. Processus liés à l’administrateur du système ..................................................... 30
2.1.3. Le processus des ventes ...................................................................................... 31
2.1.4. Le processus de gestion de projet : ..................................................................... 32
2.1.5. Processus de gestion de recrutement .................................................................. 34
2.1.6. Processus de gestion des ressources humaines................................................... 35
3. Analyse ............................................................................................................................. 37
3.1. Le processus métier des ventes .................................................................................. 37
3.2. Le processus métier des projets ................................................................................. 38
3.3. Le processus métier des recrutements ....................................................................... 38
4. Les diagrammes de séquence ............................................................................................ 38
4.1. Le diagramme de séquence « Authentification » ...................................................... 39
4.2. Diagramme de séquence « gestion des ventes » : ..................................................... 40
4.3. Diagramme de séquence « gestion de projet » .......................................................... 42
4.4. Diagramme de séquence de gestion de recrutement .................................................. 43
Table des matières
4.5. Diagramme de séquence de gestion des ressources humaines .................................. 44
5. Capture des spécifications techniques et logicielles du système existant ......................... 45
5.1. Cas d’utilisation technique ........................................................................................ 45
5.1.1. Diagramme de cas d’utilisation technique ......................................................... 46
6. Capture des besoins technique du système central (OpenERP) ........................................ 46
6.1. Diagramme de composants ........................................................................................ 46
7. Diagramme de classe ........................................................................................................ 48
7.1. Présentation du diagramme de classe ........................................................................ 48
7.1.1. Diagramme de classe de l’application ................................................................ 49
7.1.2. Présentation du dictionnaire de données : .......................................................... 50
8. Conclusion ........................................................................................................................ 57
Chapitre IV: Réalisation ........................................................................................................... 58
1. Introduction ....................................................................................................................... 59
2. Technologie utilisées ........................................................................................................ 59
2.1. VMware Player .......................................................................................................... 59
2.2. Ubuntu ....................................................................................................................... 59
2.3. OpenOffice et la conception des rapports .................................................................. 59
3. Diagramme de déploiement .............................................................................................. 60
4. Quelques interfaces de l’application ................................................................................. 61
4.1. Authentification ......................................................................................................... 61
4.2. Paramétrage et personnalisation ................................................................................ 62
4.2.1. Configuration de la messagerie .......................................................................... 63
4.2.2. Configuration du Thunderbird mail : ................................................................. 63
4.2.3. Processus de gestion des ventes ......................................................................... 66
4.2.4. Processus de gestion des projets ......................................................................... 68
4.2.5. Processus de gestion de ressources humaines .................................................... 69
4.2.6. La gestion des utilisateurs .................................................................................. 71
5. Déploiement et conduite du changement .......................................................................... 76
5.1. Déploiement ............................................................................................................... 76
5.2. Conduite du changement ........................................................................................... 76
6. Conclusion ........................................................................................................................ 78
Conclusion générale et perspectives......................................................................................... 79
Bibliographie ............................................................................................................................ 80
Table des matières
Annexe A .................................................................................................................................. 82
Annexe B .................................................................................................................................. 89
Table des figures Figure 1: Architecture technique d'un ERP ................................................................................ 7
Figure 2: Architecture modulaire d’un ERP............................................................................... 8
Figure 3: Architecture d'OpenERP ........................................................................................... 13
Figure 4: Modèle vue contrôleur .............................................................................................. 14
Figure 5: Diagramme de contexte dynamique d'ISATIS ......................................................... 26
Figure 6: Diagramme de contexte statique d’ISATIS .............................................................. 27
Figure 7 : Diagramme de cas d’utilisation liés à l’administrateur du système........................ 30
Figure 8: Diagramme de cas d’utilisation de gestion de vente. ............................................... 31
Figure 9: Diagramme de cas d’utilisation de gestion de projet. ............................................... 33
Figure 10 : Diagramme de cas d’utilisation de gestion de recrutement. .................................. 34
Figure 11: Diagramme de cas d’utilisation de gestion des ressources humaines. .................... 36
Figure 12: Processus métier des ventes. ................................................................................... 37
Figure 13: Processus métier des projets. .................................................................................. 38
Figure 14: Processus métier des recrutements ......................................................................... 38
Figure 15: Diagramme de séquence d’authentification ............................................................ 39
Figure 16: Diagramme de séquence de gestion des ventes. ..................................................... 40
Figure 17: Diagramme de séquence de gestion de projet ......................................................... 42
Figure 18: Diagramme de séquence de gestion de recrutement ............................................... 43
Figure 19: Diagramme de séquence de gestions de ressources humaines. .............................. 44
Figure 20: Diagramme de cas d’utilisation technique .............................................................. 46
Figure 21: Diagramme des composants. .................................................................................. 47
Figure 22: Diagramme de classe .............................................................................................. 49
Figure 23: Diagramme de déploiement .................................................................................... 60
Figure 24: Connexion au système. ........................................................................................... 61
Figure 25: Acceuil OpenERP -client web ................................................................................ 62
Figure 26 : Configuration de thunderbird mail ........................................................................ 64
Figure 27: Configuration des messages sortants ...................................................................... 65
Figure 28: Configuration des messages entrants ...................................................................... 65
Figure 29: Interface client ........................................................................................................ 66
Figure 30: Interface piste .......................................................................................................... 67
Figure 31: Interface opportunité ............................................................................................... 67
Figure 32: Liste des projets ...................................................................................................... 68
Figure 33: Interface d'une phase d'un projet............................................................................ 68
Figure 34: Listes des taches et diagramme de GANTT d'un projet ......................................... 69
Figure 35: Listes des employés ................................................................................................ 69
Figure 36 : La liste des présences des employés. ..................................................................... 70
Figure 37 : Les étapes des recrutements ................................................................................... 70
Figure 38: Demande de congé .................................................................................................. 71
Figure 39 : Les doits d'accès .................................................................................................... 72
Figure 40: Interface d'un utilisateur ......................................................................................... 72
Figure 41: OpenOffice ............................................................................................................. 73
Figure 42: Capture d'une facture modifier ............................................................................... 74
Figure 43: Le flux de documents. ............................................................................................. 75
Figure 44: Sauvegarde de Base de données ............................................................................. 77
Figure 45: Sauvegarde d'une VMware ..................................................................................... 77
Figure 46: Création d'une nouvelle machine virtuelle. ............................................................ 83
Figure 47: Installation d'Ubuntu. .............................................................................................. 84
Figure 48: Création d'une base de données. ............................................................................. 88
Liste des Tableaux Tableau 1: Liste de quelques ERP existants ............................................................................. 11
Tableau 2 : Liste des fonctionnalités requises .......................................................................... 21
Tableau 3 : Liste des messages entrants de chaque acteur ....................................................... 25
Tableau 4: Liste des messages sortants de chaque acteur ........................................................ 26
Tableau 5: Description des cas d’utilisations de l’administrateur ........................................... 30
Tableau 6: Description de cas d’utilisation de gestion de vente. ............................................. 32
Tableau 7: Description des cas d’utilisation de gestion de projet ............................................ 34
Tableau 8: Description des cas d’utilisations de gestion de recrutement ................................. 35
Tableau 9 : Description des cas d’utilisations de gestion des ressources humaines. ............... 37
Tableau 10: Dictionnaire de données ....................................................................................... 55
Introduction générale De nos jours, savoir gérer de plus en plus d’informations, sous contrainte de délai est
un défi important pour chaque entreprise. Pour relever de tels défis, plusieurs solutions ont été
proposées la solution la plus intuitive serait de développer des applications autonome dédiée
chaque structure de l’entreprise. Cette solution peut être au départ satisfaisante, mais elle perd
vite son efficacité à long terme, ceci est due au besoin de partager l’information entre ces
différents structures. Pour palier à ce problème l’usage d’ERP (Entreprise Ressource
Planning), ou PGI (Progiciel de gestion intégré) en français est vite recommandé, car l’ERP
est capable d’intégrer tous les processus de gestion en un système d’information unique et
cohérent.
Pour l’entreprise ISATIS, la gestion de l’ensemble de ses activités se fait
manuellement ou par le biais des applications informatiques. L’entreprise souhaite gérer la
totalité de ses activités autour d’un même système d’information, à l’aide d’un progiciel de
gestion intégrée connu sous l’acronyme ERP.
Notre Projet de Fin d’Etudes s’articule autour du développement de solution intégrée
pour l’entreprise, notre choix s’est porté alors sur OpenERP, qui est un PGI open-source
extrêmement modulaire. Notre projet consiste à adapter puis intégrer et personnaliser cette
solution pour permettre une gestion efficace de l’entreprise.
Notre démarche s’appuie d’abord sur une analyse des besoins techniques et
fonctionnels qui permettra de souligner les différents processus métiers de l’entreprise à
travers une cartographie modélisée autour de la méthode 2TUP, qui vise à contextualiser le
SI (système d’information) de l’entreprise.
L’étude du SI nous conduira à mettre en évidence les fonctionnalités liées à chaque processus
métiers et pouvoir intégrer celles-ci dans l’outil (OpenERP).
Ce rapport est scindé en quatre chapitres, dont le premier présentera l’état de l’art des
ERP et une étude comparative des solutions existantes sur le marché des ERP. Dans le
deuxième chapitre, nous aborderons le contexte de l’étude et la démarche que nous avons
menée tout au long du projet. Le troisième chapitre quant à lui, englobe la capture des
besoins, l’analyse et la conception détaillée des besoins de l’entreprise. Le quatrième et
dernier chapitre présente la phase réalisation et intégration de la solution, où nous décrivons
les choix des technologies utilisées pour la mise en œuvre, puis la personnalisation et
l’intégration d’OpenERP. Nous terminerons ce rapport par une conclusion sur l’apport du
travail réalisé, et des perspectives futures.
2
Chapitre I :
Etat de l’art
sur les ERP
Chapitre I : Etat de l’art sur les ERP
3
1. Introduction Les systèmes d'informations (SI) étaient constitués d'applications spécifiques séparées
(Comptabilité, Gestion de production, gestion commerciale,...). Ces diverses applications ne
pouvaient communiquer qu'à travers des interfaces. Pour améliorer l'échange des informations
entre les différentes fonctions de l'entreprise, il était indispensable de mettre en œuvre des
systèmes intégrés : ce sont les progiciels de gestion intégré « les PGI » appelés en
anglais Entreprise Ressource Planning « les ERP ».
Nous présenterons ce chapitre en deux parties, les ERP existant en littératures et
l’autre c’est de bien expliquer le PGI gratuit OpenERP.
2. Définition d’un ERP L’ERP (Entreprise Ressource Planning), est une solution informatisée qui offre la
possibilité de gérer l’ensemble des moyens de l’entreprise (Jean-Luc Deixonne, 2001) en
privilégiant deux aspects : une communication entre les différents acteurs métiers et une
cohérence de l’information. C’est le centre nerveux du Système d’Information.
Un Entreprise Ressource Planning (ERP ou Progiciel de Gestion Intégré) est un
logiciel qui permet de gérer l’ensemble des processus d’une entreprise, en intégrant
l’ensemble des fonctions comme la gestion des ressources humaines, la gestion comptable et
financière, la relation client, les achats, la gestion des stocks, la distribution,
l’approvisionnement, le commerce électronique. Un progiciel ERP induit généralement une
repense rapide (time to market) aux besoins des entreprises.
L’ERP est basé sur la construction des applications informatiques de l’entreprise
(comptabilité, gestion de stocks, etc.) sous forme de modules indépendants. Ces modules
partagent une base de données commune, permettant la communication de données entre les
applications [1].
Partie 1 : Etat de l’art sur les ERP Existant en littérature
Cette première partie nous permet de présenter l’histoire et l’évolution des ERP, de
comprendre l’utilité d'un ERP au sein de l'entreprise, ainsi que les principaux bénéfices de
l'ERP.
3.1. Historique Durant ces trente dernières années, l'informatique de gestion a subi des bouleversements
considérables. Les avancées technologiques du traitement de l’information ont eu des
conséquences capitales sur le rôle de l'outil informatique.
Les innovations technologiques ont fait évoluer les architectures informatiques...
Chapitre I : Etat de l’art sur les ERP
4
a) Les années 60-70 et le mainframe (informatique d’entreprise) :
À cette époque, il ne s’agit que de gérer des volumes gigantesques de données, les
applications de gestion automatisent les processus opérationnels et répétitifs.les gros systèmes
sont propriétaires et centralisent la puissance de traitement.
b) Les années 80 et les mini systèmes (informatique de département) :
Le marché s’ouvre au PME (Petite Moyenne Entreprise).
Il permet également à un grand nombre d’utilisateurs d’accéder aux données a
travers des applications couvrantes des besoins plus spécifiques.
l’utilisateur dispose d’une interface texte pour l’interaction avec le système (terminaux passifs).
c) Les années 90 et le client serveur (informatique individuelle) :
l’apparition des ordinateurs personnels, de la bureautique, et l’explosion des
réseaux et des télécommunications.
le partage devient le défi majeur.
les applications bureautiques disponibles (traitement de texte et tableur) répondent à des besoins de traitement de l’information.
les terminaux passifs sont remplacés par des micro-ordinateurs capables de les
émuler.
les applications client-serveur donnent l’occasion de répartir les traitements entre les machines les plus adaptées (les applications bureautiques sur les postes de
travail et les applications critiques ainsi que les bases de données sur les
serveurs).
la connexion entre le réseau local et le site central s’effectue par des liaisons téléinformatiques proposées par l’opérateur institutionnel.
le micro-ordinateur devient nomade grâce aux portables, capable ainsi de se connecter au réseau local ou à distance au système informatique de l’entreprise.
d) Les années 2000 et le boum d’internet :
aujourd’hui le poste de travail, nomade ou fixe, est connecté au réseau local de l’organisation, et ouvert sur l’extérieur grâce à l’internet.
la communication entre les ordinateurs s’effectue grâce à un ensemble de protocole normalisé (TCP/IP).
les technologies de l’internet deviennent des normes pour la mise en place tant
des systèmes informatiques d’entreprises (intranet) que des systèmes
informatiques interconnectés avec les partenaires (extranet).
les applications métier obéissent au standard du web (HTTP, HTML).
le poste de travail, équipé seulement d’un navigateur, peut accéder par réseau à l’ensemble des applications « client ».
le système d’information de l’entreprise est accessible depuis un poste de travail
banalisé mais également depuis de nouveaux équipements (les téléphones
mobiles).
Chapitre I : Etat de l’art sur les ERP
5
e) Et maintenant, les ERP…… :
Ils ont connu leur essor en profitant de l'évolution nécessaire des systèmes d'information pour le passage de l'an 2000 puis pour la mise en place de l'euro.
il était séduisant de remplacer tous les logiciels de gestion de l'entreprise par un intégré offrant « l'état de l'art » plutôt que d'engager des corrections des
programmes existants plus ou moins anciens.
Ils sont des applications dont le but est de coordonner l'ensemble des activités
d'une entreprise (activités dites verticales telles que la production,
l'approvisionnement ou bien horizontales comme le marketing, les forces de
vente, la gestion des ressources humaines, etc.) autour d'un même système
d'information. Ils offrent à l'entreprise, une solution globale et transversale.
Il construire des applications informatiques (paie, comptabilité, gestion de stocks…) de manière modulaire (modules applicatifs indépendants entre eux
généralement signés par le même éditeur) tout en partageant une base de données
unique et commune [1].
3.2. Pour quoi les ERP?
Concrètement, les avantages de la mise en place d’un ERP sont les suivants :
L’intégrité et l’unicité du SI, c’est à dire qu’un ERP permet une logique et une ergonomie unique à travers sa base de données, elle aussi unique au sens ” logique ”.
Ceci se traduit par le fait qu’il peut exister plusieurs bases de données ” physiques ”
mais celles-ci respectent la même structure. En bref, un ERP permet d’éviter la
redondance d’information entre différents SI de l’entreprise.
L’utilisateur a la possibilité de récupérer des données de manière immédiate, ou encore de les enregistrer. Un avantage important, les mises à jour dans la base de
données sont effectuées en temps réel et propagées aux modules concernés.
Un ERP est un outil multilingue et multidevise, il est donc adapté au marché mondial, en particulier aux multinationales.
Pas d’interface entre les modules, il y a synchronisation des traitements et
optimisation des processus de gestion. De même, la maintenance corrective est
simplifiée car celle-ci est assurée directement par l’éditeur et non plus par le service
informatique de l’entreprise. (Celui-ci garde néanmoins sous sa responsabilité la
maintenance évolutive : amélioration des fonctionnalités, évolution des règles de
gestion, etc.).
Un ERP permet de maîtriser les stocks, élément important pour la plupart des entreprises car les stocks coûtent chers. Par conséquent, les ERP gèrent et prennent en
charge plusieurs périodes (pour les exercices comptables par exemple), plusieurs
devises, plusieurs langues pour les utilisateurs et clients, plusieurs législations,
plusieurs axes d’analyse en informatique décisionnelle. Mais l’implantation comporte
plusieurs risques : des risques organisationnels (le progiciel et l’organisation de
l’entreprise doivent cohabiter), de mise en œuvre (au niveau formation utilisateur),
fonctionnels (fonctions offertes par le progiciel par rapport aux fonctions attendues),
Chapitre I : Etat de l’art sur les ERP
6
techniques, contractuels entre l’éditeur et l’entreprise et enfin des risques économiques
du fait de l’investissement [2].
3.3. Raisons et enjeux de la mise en place d'un ERP La démarche de choix d'un ERP est adaptée à un contexte. Principalement,
l'harmonisation et la modernisation des systèmes d'information de gestion pour répondre
aux besoins d'évolution de l'organisation de l'entreprise.
Les contextes qui motivent les entreprises à intégrer un ERP dans leur système
d'information sont extrêmement divers. Plusieurs raisons sont souvent à l'origine de ce
choix :
créer de la valeur : réduction de coûts, réduction du temps, amélioration de la
productivité, de la qualité du service, de l'efficacité fonctionnelle, meilleure gestion
des ressources, meilleure prise de décision, suivi de la performance.
S’appuyer sur un système unique et cohérent.
Centraliser les informations et faciliter leur circulation.
Disposer des fonctions de pilotage et d'analyse décisionnelle.
Organiser les flux d'informations internes et externes.
Transférer à un tiers compétent la charge de maintenance corrective et d'évolution des
applications de façon à se focaliser sur les aspects « métiers » de l'entreprise.
Mais le choix d'un progiciel par rapport à un nouveau développement spécifique
représente surtout une certaine sécurité et simplicité. L'entreprise voit aujourd'hui de
nombreux avantages à adopter un progiciel. En effet, les logiciels spécifiques sont souvent
générateurs de développements coûteux et risqués, d'un coût de maintenance élevé dans la
mesure où la direction des systèmes d'informations est seule face à une application, de coûts
de développement comparables à celui d'un nouveau développement d'applications
spécifiques lors d'inévitables évolutions. Sans compter l'obsolescence possible des matériels
et logiciels de base qui les supportent et la perte de compétences sur cette application.
Dans le cas des progiciels, les maintenances et évolutions de produits, pour ce qui
concerne les technologies ou les changements de réglementations, sont prises en charge par
les éditeurs et les coûts sont repartis. L'entreprise n'est plus isolée et peut s'appuyer sur une
communauté d'utilisateurs susceptibles de peser, plus ou moins sur les éditeurs de leurs
progiciels.
Néanmoins, le principal frein à l'adoption d'un ERP est qu'il ne peut pas répondre
intégralement aux spécifications fonctionnelles des utilisateurs et qu'il ne permet pas
forcément le respect et la prise en compte de l'organisation de l'entreprise. Aucun éditeur ne
Chapitre I : Etat de l’art sur les ERP
7
présente des solutions immédiatement opérationnelles dans tous les environnements précis de
ses clients [3].
3.4. Les inconvénients Les ERP ne sont pas exempts d'inconvénients. Ils sont difficiles et longs à mettre en
œuvre car ils demandent la participation de nombreux acteurs ; ils sont relativement rigides et
délicats à modifier.
coût élevé (cependant, il existe des ERP/PGI qui sont des logiciels libres, les seuls coûts étant alors la formation des utilisateurs et le service éventuellement assuré
par le fournisseur du logiciel)
le progiciel est parfois sous-utilisé.
lourdeur et rigidité de mise en œuvre.
difficultés d'appropriation par le personnel de l'entreprise.
nécessité d'une bonne connaissance des processus de l'entreprise.
nécessité d'une maintenance continue.
captivité vis à vis de l'éditeur [3].
3.5. Architecture technique La figure ci-dessous nous démontre l’architecture technique d’un ERP
Figure 1: Architecture technique d'un ERP
Chapitre I : Etat de l’art sur les ERP
8
L'ERP est donc sur serveur. Les ERP sont couplés à une base de données. De plus, les
ERP sont compatibles packs Office, en particulier pour PowerPoint et Excel. En effet, le
premier étant utile pour personnaliser les bureaux ERP en fonction de l'entreprise et le second
pour effectuer les imports/exports de données. Enfin, les ERP sont aussi compatibles avec des
outils de reporting (CrystalReport en général). Le reporting étant utilisé en particulier pour le
module de gestion relation client, que nous verrons par la suite [4].
3.6. Architecture modulaire Un ERP est un ensemble dont toutes les parties fonctionnent les unes avec les autres
d'où l'ergonomie et l'unicité des informations et donc la cohérence du SI.
Un ERP est modulaire dans le sens où il est possible de n'avoir qu'une ou plusieurs
applications en même temps, ou peu à peu. Les applications modulaires telles que les ERP
permettent d'être sûr de la compatibilité des modules entre eux, ils s'imbriquent comme des
blocs de Lego et fonctionnent ensemble (pas de vérification de compatibilité à effectuer). La
figure 2 présente un exemple d'architecture modulaire qui tend à représenter tous les ERP:
Figure 2: Architecture modulaire d’un ERP
L'architecture modulaire schématisée ci-dessus intègre plusieurs modules retouchant
aux grandes fonctions d'une entreprise : le module finance, logistique et e-commerce… [4]
3.7. Les principaux éditeurs d'ERP Le marché de l'ERP représente une vraie manne pour les prestataires de services
informatiques. Il est devenu aujourd'hui, le marché le plus porteur de l'informatique.
On distingue deux sortes d'ERP : les ERP propriétaires et les ERP Open Source.
3.7.1. Les ERP propriétaires
Aujourd'hui, il existe de nombreux ERP propriétaires mais seuls quelques éditeurs
internationaux restent vraiment dans la course.
Chapitre I : Etat de l’art sur les ERP
9
Les trois premiers sont [5] :
SAP (Business One) : SAP est le leader mondial des ERP, est une application client-
serveur. Ses modules couvrent l'ensemble des fonctions de gestion de l'entreprise et
chaque module couvre des besoins complets de gestion.
Oracle (JD Edwards): est un progiciel de gestion intégré. Anciennement appelé People EnterpriseOne ou OneWorld XE ou ERP 8, et vendu par J.D. Edwards puis par
Peoplesoft. J.D. Edwards a été racheté par PeopleSoft puis par Oracle. Le produit est
depuis renommé "Oracle JDEdwards EnterpriseOne". Il est composé de plusieurs
modules plus ou moins indépendants.
Microsoft Dynamics ERP(NAVISION) : est un progiciel de gestion intégrée (ERP/PGI), conçu pour les structures de 20 à 500 employés, sociétés autonomes et
filiales de groupes, des secteurs de l’industrie, du négoce et des services.
3.7.2. Les ERP Open Source
Ils sont relayés par des partenaires (SSII, cabinets de Conseil) pour le support.
L’implémentation d’un progiciel Open Source revient moins chère, puisqu’il n’y a pas de coût
de licence. En revanche il faut inclure, dans le calcul du coût d'acquisition total, les frais de
maintenance et de l'assistance technique. Voici la liste des principaux progiciels Open Source
[5] :
• Aria: est le cœur de la gamme de produits Aria 4 XP, il couvre tous les domaines
fonctionnels internes nécessaires pour gérer votre entreprise. IL a été développé à
base d’un ERP open source appelé Nola, et son environnement est PHP MYSQL.
• Compiere: est un progiciel de gestion intégré (PGI) et gestion de la relation client (GRC)
à source ouvert : open source pour les Petites et moyennes entreprises (PME) dans la
distribution et le service. L'application est fournie sous double licence GPL et
propriétaire. Les sources peuvent être adaptées aux besoins du client. Le support
technique et la documentation sont payants. Son origine est Jorg Jank.
• ERP5: est un progiciel de gestion intégré (ERP) libre, son origine est Nexedi, grâce à son
intégration avec Nuxeo CPS, c’est aussi un système de gestion de contenu.son
environnement sont le Python et le Zope.
• Fisterra: est un PGI sous licence PGL, le premier client pour cet ERP été la société
espagnole Auto Arte, son origine est Igalia, et son environnement est GNOME2
developement platform Psotgresql.
• OpenERP: anciennement TinyERP, est un progiciel libre de gestion intégré comprenant
des modules de gestion des ventes, des relations clients, des projets, des entrepôts, de
la production, de la comptabilité et des ressources humaines. Son environnement est
le Postgresgl, XML.
Chapitre I : Etat de l’art sur les ERP
10
3.8. Liste de quelques ERP existants
Les ERP Base de
données langage Licence Les principaux modules
SAP (Business
One)
MS SQL
Server COM :c++,c#,Java
Sous
licence
Comptabilité financière
Administration des ventes
CRM
Achats
Partenaires
Transactions bancaires
Gestions des stocks
Gestion des services
Gestion du personnel
Assemblage final
Workflow
Reporting tableau de bord
Oracle (JD
Edwards)
Oracle J2E Sous
licence
Business Intelligence
CRM
Gestion financière
Agro-alimentaire
Gestion du capital humain
(HCM)
Gestion de Production
Maintenance
Gestion de projets
Construction d’habitations
Planification de la chaîne
d’approvisionnement
Exécution de la chaîne
d’approvisionnement
Gestion des Achats
Outils et technologie
Microsoft
Dynamics ERP
(NAVISION)
DotNET SQL server Sous
licence
Gestion commerciale et CRM
Prestations de service
Distribution et entreposage
Gestion de production
Projets et affaires
Gestion financière
Pilotage et analyse
OpenERP PostgreSQL Python, XML… Gratuit CRM
Ressources humaines
Logistique
Chapitre I : Etat de l’art sur les ERP
11
comptabilité analytique et
financière
gestion commerciale
OFBIz(Open
For Business) PostgreSQL Java et XML Gratuit
Gestion des acteurs, Clients,
Fournisseurs, Employés
Gestion des articles
Gestion des stocks
Gestion des commandes
Gestion Financière
Gestion de la production
Gestion d'une plate-forme d'e-
commerce
Gestion des services
Tableau 1: Liste de quelques ERP existants
Chapitre I : Etat de l’art sur les ERP
12
Partie 2 : Présentation de OpenERP Cette deuxième partie permet de bien présenter OpenERP, ses différentes
fonctionnalités ainsi que ses avantages.
4.1. OpenERP OpenERP (anciennement connu sous le nom TinyERP) est un progiciel de gestion
intégré distribué sous licence libre comprenant les ventes, la gestion de relation client
(CRM), la gestion de projet, la gestion d’entrepôt ,la production, la comptabilité et les
ressources humaines. OpenERP a trois composants séparés : le serveur openerp-server qui
stocke ses données dans une base PostgreSQL, le client openerp-client qui s'installe sur le
poste de l'utilisateur et le serveur web openerp-web qui permet une utilisation depuis un
navigateur. Ces trois composants communiquent par les protocoles XML-RPC et NET-RPC.
Le logiciel est basé sur une forte architecture MVC, des flux de travail flexibles, une
interface-utilisateur graphique dynamique, une interface XML-RPC, et un système
personnalisable de comptes-rendus avec une intégration pratique d'OpenOffice [6].
4.2. Architecture d’OpenERP Le système d’OpenERP est basé sur une architecture 3 tiers:
1. Un serveur de base de données PostgreSQL.
2. Un serveur d'applications (contenant les objets de gestion, le moteur de workflow, le
générateur d'édition, etc.)
3. Un serveur de présentation (appelé OpenERP Web) qui permet à l'utilisateur de se
connecter à OpenERP avec n'importe quel navigateur internet.
La partie serveur est écrite en langage Python. Les différentes briques sont organisées
en «modules». Un module est un dossier avec une structure prédéfinie contenant du code
Python et des fichiers XML. Un module définit la structure de données, formulaires, rapports,
menus, procédures, flux de travail, etc.
La figure 3 illustre l’architecture d’OpenERP :
Chapitre I : Etat de l’art sur les ERP
13
Figure 3: Architecture d'OpenERP
4.3. MVC : Modèle vue contrôleur 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, nous souhaitons 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 ».
Dans open ERP, nous pouvons appliquer cette sémantique de Model View Controller avec :
Model : les modèles sont les objets déclarés dans OpenERP. Ils sont également des
tables PostgreSQL.
View : les vues sont définies en fichiers XML dans OpenERP.
Controller : le contrôleur est les classes Python qui contrôlent OpenERP.
Chapitre I : Etat de l’art sur les ERP
14
Figure 4: Modèle vue contrôleur
4.4. Pourquoi OpenERP Afin d’atteindre l’objectif de notre projet, nous avons opté pour OpenERP :
Pour son intégration : permet de consolider les applications, de centraliser les
données et de rendre le travail quotidien plus simple, au sein d'une interface agréable
et unifiée.
Pour ses fonctionnalités : OpenERP compte plus de 1 000 modules et permet de
répondre immédiatement à 90 % de nos besoins. Et malgré cela, il nous reste des
besoins spécifiques, nous pouvons créer le module applicatif sur mesure qui répondra
à nos besoins.
Pour son modèle économique avantageux : L'utilisation d’OpenERP n'implique
aucun frais de licence.
Pour sa modularité: nous pouvons planifier le déploiement d'OpenERP selon nos
priorités et modifier celles-ci au cours du projet. OpenERP nous permet en effet de
démarrer avec un module et d'ajouter les autres au fur et à mesure, selon nos besoins,
dans le respect de nos priorités et de nos budgets [7].
4.5. Les principaux modules d’OpenERP
Le module CRM (Customer Relationship Management) : OpenERP, grâce à son
module CRM vous permet de créer et entretenir une relation mutuellement bénéfique
avec les clients.
Le module Ressources humaines : La solution open source OpenERP assure de
nombreuses fonctions dans le domaine des ressources humaines.
Le module Logistique : La solution open source OpenERP permet de gérer toute
la chaine logistique, de l'achat des marchandises en passant par l'approvisionnement et
le stockage jusqu'à la préparation des commandes et leurs livraisons.
Le module comptabilité analytique et financière : OpenERP intègre un module
destiné aux salariés professionnels de la finance et de la comptabilité.
Chapitre I : Etat de l’art sur les ERP
15
Le module gestion commerciale : OpenERP est un progiciel libre et complet qui
permet de gérer les ventes, les opérations marketing, les relations avec les partenaires
commerciaux... [7]
5. Conclusion Les ERP ou PGI ont connu leur essor en profitant de l’évolution nécessaire des
systèmes d’information pour le passage à l’an 2000 puis pour la mise en place de l’euro.
En effet, il serait séduisant de remplacer tous les logiciels de gestion de l’entreprise
par un intégré offrant toutes les fonctionnalités plutôt que d’engager des corrections des
programmes existants plus ou moins anciens. OpenERP est l’alternative libre qui a totalement
changé le marché des logiciels de gestion d’entreprise.
Dans ce chapitre, nous avons présenté quelques ERP existants sur le marché, afin de
choisir la meilleure solution pour l’adapter à l’entreprise.
16
Chapitre II :
Étude
préliminaire
Chapitre II : Étude préliminaire
17
1. Introduction Ce chapitre va nous servir à poser les bases de la capture des besoins fonctionnels.
Dans un premier temps, nous allons introduire l'étude de cas en donnant une version textuelle
préliminaire du cahier des charges. L’étude préliminaire ou appelée aussi pré étude a pour
objectif de démontrer la faisabilité d’une idée de projet par l’entremise de l’analyse de divers
éléments.
Avant de spécifier les besoins il est nécessaire de réaliser une étude de l’existant.
L’étude de l’existant est une étape clé dans la réalisation de n’importe quelle application
informatique, quel que soit le domaine concerné. Il s’agit d’une étude permettant de
comprendre la problématique du projet et de détecter les avantages et inconvénients des
solutions proposées actuellement sur le marché afin d’en profiter pour la réalisation de notre
projet.
2. L’organisme d’accueil ISATIS
2.1. Présentation générale d’ISATIS
ISATIS est un fournisseur de services et de solutions web pour Entreprises, créée en
2001, elle offre une large gamme d’expertise qui vise à aider ses clients à modifier et
réinventer leurs affaires, pour les rendre plus efficaces et réactives dans un contexte fortement
concurrentiel et un marché en perpétuelle mutation.
ISATIS a compris aujourd'hui, dans le milieu compétitif des affaires, que les
Entreprises ont besoin d'être des clients centriques ; orienté but et répond en temps réel aux
besoins d'affaires en constante évolution. Avec des processus, des méthodologies et des délais
bien définis, ISATIS a maintes et maintes fois pris des défis pour accomplir la mission de
satisfaire le client.
Chez ISATIS, ils croient en l'établissement de partenariats à travers des relations
fortes, efficaces, agréables, enthousiastes et d'éthiques qui sont personnellement et
professionnellement enrichissantes et profitables.
Chapitre II : Étude préliminaire
18
2.2. Les Métiers d’ISATIS
Conseil en IT Global : Fort de son expérience acquise tout au long des nombreux projets, elle accompagne et conseille ses clients dans la conduite de leurs projets IT
basé sur les meilleures pratiques dans la gouvernance des Systems d’information.
(Cycle de vie, optimisation de l’infrastructure).
Application services : Intégration d’applications, expertise technologique, développement spécifique PHP MySQL, .Net…
Entreprise Solution : Conçue pour améliorer la productivité et accompagner les
Entreprises dans leurs croissances ces solutions viennent consolider et optimiser les
processus métiers.
ERP (logiciel de gestion intégré)
CRM (Gestion de la relation client)
Information & data management (Intranet collaboratif, BI, reporting)
Site web & e-commerce Ses sites web sont sa vitrine et celle de ses clients, c’est pour cela qu’elle s’efforce à offrir les meilleures technologies dans le domaine (html,
php, javascrit, mysql, flash, etc.).
Hosting : ISATIS de par l’expérience de plus de 6 ans dans le domaine du hosting, propose une large solution d’hébergement web à ses clients afin de leurs garantir une
meilleure visibilité et un accès sûr et stable à leurs plateformes web.
Formation et développement des qualifications locales Training : Elle accueille
chaque année des étudiants en formation ou en stages de l’université, des centres de
formations, afin de partager ses expériences et son savoir-faire.
Expérience en consulting d'IT global avec un engagement interne : ISATIS Utilise les meilleures pratiques tirées de l’industrie et de l’expérience acquise pour une bonne
prestation de valeur à long terme, en exploitant les qualifications locales.
Partenariat technologique : ISATIS est partenaire intégrateur : partenaire référencé
Microsoft.
2.3. Quelques références Isatis capitalise plus de 10 années d’expériences au service de ses clients.
…etc.
Chapitre II : Étude préliminaire
19
3. Problématique Dans un monde en constante évolution, les entreprises sont contraintes de trouver des
alternatives à la façon dont elles font leurs activités internes.
La gestion actuelle de l’entreprise ISATIS est basée sur des traitements manuels ainsi
que des applications métiers ne communiquant pas entre elles en plus, des états et des
tableaux réalisés sur Excel.
Les outils existant aujourd’hui sur le marché proposent des fonctionnalités nettement
plus avancées et mieux adaptées aux besoins d’ISATIS, en termes de pilotage, d’intégration
de données, de partage d’information en temps réel... Ils permettent également de répondre
aux exigences des clients. Parmi ces outils, les ERP commencent à devenir l’une des clés de
succès des entreprises, car ils donnent la possibilité de déléguer, quasiment, toutes les tâches
de l’organisation, interne ou externe, de l’entreprise.
La problématique générale de notre analyse portera sur le caractère global ou partiel et
le degré de changement associés aux PGI. Nous nous interrogerons, d’une part, sur la
dimension du changement telle que l’entreprise l’envisage (objectifs, effets attendus sur
l’organisation du travail) et d’autre part, les transformations de l’organisation du travail, des
métiers et des emplois. Autrement dit :
Comment allons-nous réussir l’automatisation des workflow ?
L’organisation du travail change-t-elle radicalement lorsque nous parvenons à
mettre en place OpenERP ?
Comment réussir la démarche du changement ?
4. Objectif de travail Les PGI sont connus pour leur intégration des principales fonctions nécessaires à la
gestion des flux et des procédures, aussi, ils permettent de travailler sur une seule et unique
base de données afin de réduire les travaux redondants.
L’objectif de ce travail est d’adapter un progiciel libre OpenERP, afin d’automatiser
un ensemble de processus d’entreprise au sein de l’entreprise ISATIS.
Parmi les autres avantages des PGI, c’est qu’ils sont conçus de telle sorte qu’un simple
paramétrage suffit à les adapter à l’organisation d’entreprise. Il n’est normalement pas
nécessaire d’effectuer des développements spécifiques, sauf en cas de nécessité.
Les objectifs de notre travail sont de permettre :
Une intégration du système d'information,
L’automatisation, optimisation du workflow
Une meilleure cohérence et un plus grand partage des données
Une évolution du SI sur les nouveaux besoins
Chapitre II : Étude préliminaire
20
5. Méthodologie de travail Afin d’atteindre nos objectifs, nous avons suivi la méthode 2TUP (2Track Unified
Process), qui apporte une réponse aux contraintes de changement continuel imposées aux
systèmes d’informations de l’entreprise. Cette méthode suit deux chemins : L’axe fonctionnel
et l’axe technique.
a) L’axe fonctionnel comporte :
Capture des besoins fonctionnels, qui produit un modèle des besoins focalisé sur le métier des utilisateurs. Elle qualifie au plus tôt le risque de produire un système
inadapté aux utilisateurs.
Analyse, qui consiste à étudier précisément la spécification fonctionnelle de manière à obtenir une idée de ce que va réaliser le système en terme de métier.
b) L’axe technique, quant à lui, comporte :
Capture des besoins techniques, qui recense toutes les contraintes et les choix
Dimensionnant la conception du système.
Conception générique, qui définit ensuite les composants nécessaires à la conception
de l’architecture technique. Elle a pour objectif d’uniformiser et de réutiliser les
mêmes mécanismes pour tout un système. L’architecture technique construit le
squelette du système informatique et écarte la plupart des risques du niveau technique.
Conception préliminaire, qui représente une étape délicate, car elle intègre le modèle
d’analyse fonctionnelle dans l’architecture technique de manière à tracer la
cartographie des composants du système à développer.
Conception détaillée, qui étudie ensuite comment réaliser chaque composant.
Codage, qui produit ses composants et teste au fur et à mesure les unités de code
réalisées.
Recette, qui consiste enfin à valider les fonctionnalités du système développé.
Nous avons utilisé UML pour la conception, vu qu’il est le plus approprié pour les
projets informatiques orientés objet, et aussi car ses diagrammes facilitent la lisibilité et la
compréhension des modèles. Le principal avantage d'UML est qu'il est devenu le standard
en termes de modélisation objet, son caractère polyvalent et performant et sa souplesse en
fait un langage universel.
6. Elaboration du cahier des charges : L’élaboration du cahier des charges et une phase primordiale. Elle est le point de
passage obligatoire qui matérialise le premier contact des concepteurs avec les utilisateurs. La
connaissance de la situation actuelle de l’organisation est indispensable pour pouvoir porter
un jugement correct et avoir toutes les informations nécessaires afin d’établir une bonne
conception.
Chapitre II : Étude préliminaire
21
Pour mener à bien notre projet, il est donc nécessaire de faire une analyse préliminaire
des besoins et de lister les différentes fonctionnalités à mettre en œuvre.
Les fonctionnalités requises sont présentées ci-dessous :
Objectifs Fonctionnalités
Gestion de base
Gestion des clients
Gestion des utilisateurs
Gestion des produits (articles)
Gestion de projets
Gestion des employés
Gestion de vente
Planification de réunions et appels
Suivi des pistes et opportunités
Evaluation des pistes
consultation de la liste de clients
gestion des devis
Gestion de la comptabilité
Contrôle de facturation
Gestion de paiement
Gestion des journaux
Gestion des Ressources humaines
Gestion de congés
Plan d’évaluation périodique
Gestion de personnel
Suivi de recrutement
Gestion de pointage (présence)
Gestion de projet
Planification automatisé
Collaboration
Gestion des demandes
Tableau 2 : Liste des fonctionnalités requises
7. L’identification des acteurs et leurs rôles Un acteur représente l’abstraction d’un rôle joué par des entités externes (utilisateur,
dispositif matériel ou autre système) qui interagissent directement avec le système étudié [8].
Nous distinguons les acteurs suivants :
Administrateur : Il a pour rôle de définir les privilèges, les profils utilisateurs, les mots de passes et l’administration de la base de données ainsi que l’attribution des
droits d’accès aux utilisateurs.
Chapitre II : Étude préliminaire
22
Manager : A pour mission principale d’atteindre les objectifs de ventes, en gérant au
mieux son équipe commerciale. Assure le suivi des ventes faites par les commerciaux,
et gère les factures. Il peut aussi effectuer les mêmes opérations que le commercial. De
plus, il valide l’ensemble des bons de commandes et il gère l’ensemble des articles. Il
suit les projets et manage l’équipe.
Commercial : Il doit gérer les contacts, les prospects, les clients, traiter leurs commandes, leur communiquer les offres et les disponibilités des produits et
transmettre des états mensuels des ventes. Peut créer un dossier pour ces clients
comme il peut le mettre à jour, il a le droit de visualiser l’ensemble des clients de
l’entreprise. D’autre part, le commercial peut créer les commandes pour réaliser une
opération de vente.
Chef de projet : A pour responsabilité de piloter et coordonner son équipe dans
l’ensemble des phases techniques liées à la réalisation d’un projet. Son rôle s’étend de
l’élaboration des spécifications techniques sur la base du cahier des charges
(fonctionnel) jusqu’à la livraison du projet.
Consultant: A pour rôle principal d’établir les taches qui lui sont transmises par le
chef de projet, comme il participe à l’élaboration du cahier des charges, la
compréhension du besoin du client, et il participe à la gestion du projet.
Comptable : A pour responsabilité le soutien administratif pour toutes les questions
financières, fiscales et sociales, l'envoi des factures relatives aux prestations de
l'entreprise, le paiement des factures des fournisseurs, l'acquittement des obligations
en matière de T.V.A et la rédaction de rapports internes et externes.
Client : Peut interagir avec le système, en effet, un espace est réservé aux clients, il
prendra en charge de visualiser son projet en ligne, et les réclamations clients, mais
dans notre cas, le client n’a pas accès au système mais il recevra l’état d’avancement
de son projet, les factures et les devis à partir du système.
Prospect : Peut demander et s’intéresser à un ou plusieurs services.
7.1. Terminologie utilisée
Dans notre cas, nous appelons :
a) Piste : la piste est un prospect au stade embryonnaire, c’est-à-dire qu’il a manifesté un
intérêt pour un service d’ISATIS que le commercial doit avoir identifié, elle peut
provenir de plusieurs canaux car elle peut répondre par exemple à une compagne
marketing, cela à l’aide d’informations collectées et diffusées quotidiennement, au
moment où le contact est établis avec ce prospect, et les besoins de ce dernier se
confirme, nous parlerons alors de piste qualifiée.
b) L’opportunité : Une opportunité est une vente potentielle ou un revenu possible
provenant d’un compte. Après avoir qualifié la piste, commerciaux et marketeurs
doivent unir leurs efforts en matière de communication, pour attirer la piste qualifiée
sur la qualité et la diversité des services offerts.
c) L’affaire : Nous parlons d’affaire lorsqu’un commercial perçoit une possibilité de
convertir un client potentiel (prospect) en un client d’ISATIS, l’opportunité demande
un devis pour passer sa commande chez ISATIS.
d) Compte : Cette variable contient des informations détaillées sur l’ensemble des acteurs
interagissant avec ISATIS, quelque soit leur statut.
Chapitre II : Étude préliminaire
23
e) La visite : Cette variable représente le nombre de visites réalisées par l’équipe
commerciale, compte tenu du travail de prospection préalablement établi. Elle contient
des informations sur la productivité des commerciaux, en matière de gestion du temps
des coûts, par rapport à la dispersion géographique des prospects et clients.
f) Les devis : Cette variable représente l’ensemble des devis émis par les commerciaux
résultants des étapes ultérieures (négociation), converties en ventes.
g) La vente : Cette variable représente la conversion des affaires réalisées par les
commerciaux, elle contient des informations sur l’efficacité de l’équipe commerciale,
en matière de prospection et de négociation par rapport aux objectifs qui leur sont
assignés.
h) La tâche : Cette variable est une sorte d’agenda qui permet de rappeler à l’utilisateur
quel qu’il soit les différentes tâches qui lui sont assignées au moment voulu (mail à
envoyer, appel téléphonique à passer, prise de rendez-vous, visite à effectuer, etc.).
i) Projet : cette variable permet au manager général de suivre l’état d’avancement des
projets en cours, et de gérer le temps de l’équipe, cela assurera le respect des délais de
livraison des projets.
j) Rapport : Cet acteur permet à l’ensemble des éléments d’ISATIS de rédiger des
rapports détaillés sur la situation des missions qui leur sont attribuées, ces derniers
peuvent être transformés en information (interne) qui aidera l’outil analytique à
proposer des solutions plus pertinentes.
k) Réclamation : Cette variable concerne l’ensemble des problèmes que peut rencontrer
le client d’ISATIS, qui se doivent d’être gérées ponctuellement car, ce sont un levier
de la satisfaction client. Par ailleurs, ce volet contient des informations pertinentes sur
le nombre de réclamations reçues et traitées.
l) La satisfaction : Cette variable dispose de plusieurs paramètres permettant de juger de
la véracité des actions marketing menées vers les clients en vue de la satisfaire. Elle
contient des informations concernant la gestion de la qualité de l’offre de service
d’ISATIS.
m) Le prospect : Est tout acteur externe qui n’a jamais eu de contact auparavant avec
l’entreprise, il peut redevenir un client, une fois que l’entreprise lui a vendu un article
ou un projet.
n) Le contact : C’est cette personne qui se présente au nom de l’entreprise pour avoir des
informations ou pour l’achat d’un article ou d’un projet.
8. Identification des messages
Un message représente la spécification d’une communication unidirectionnelle entre
objets qui transportent de l’information avec l’intention de déclencher une activité chez le
récepteur.
Un message est normalement associé à deux occurrences d’événements : un événement,
d’envoi et un événement de réception [8].
Chapitre II : Étude préliminaire
24
8.1. Les messages entrants :
Les acteurs Les messages
Administrateur
Créer, modifier, supprimer de compte pour les utilisateurs
Attribution des droits d’accès aux utilisateurs
Manager
Création, modification, annulation d’un contact /client ou d’un prospect.
Création, modification, annulation des pistes ou opportunités
Demander, reporter, annuler un appel,
un meeting
Recherche de collaborateurs
Acceptation ou refus des congés des employés.
Recrutement
Entretien
Chef de projet
création, modification, annulation
d’une tâche d’un projet.
création, modification, annulation d’un projet.
Demander, reporter, annuler un appel, un meeting
Commercial
Création, modification, annulation d’un contact ou d’un prospect.
création, modification, annulation
d’un contact.
Création, modification, annulation
des pistes ou opportunités
création, modification, annulation
d’un compte
Demander, reporter, annuler un appel,
Chapitre II : Étude préliminaire
25
un meeting
consultation,modification, annulation, impression d’une commande
Comptable gérer pointage
demande des factures de ventes et achats et avoirs clients.
Consultant
demande de congés
pointage
demande d’entretien
intervention à l’avent vente
demande meeting (aspect technique du projet)
Tableau 3 : Liste des messages entrants de chaque acteur
8.2. Les messages sortants
Les acteurs Les messages
Manager
Informations d’une entité (Contact, Compte, Prospect, client)
un appel planifié
une réunion planifiée
chef de projet
la planification des tâches et phases
Informations d’une entité (Contact, Compte, Prospect, contact)
état d’avancement de chaque tâche
réclamation au niveau d’état
d’avancement.
Commercial
Informations d’une entité (Contact,
Compte, Prospect)
Résultat d’un appel (compte rendu)
Résultat d’une réunion (résumé)
les tarifs du projet
Comptable
la paie des employés.
Feuilles de pointages des employés.
Factures de ventes et d’achats
Fiche de paie établie
Document de paiement des taxes et
Chapitre II : Étude préliminaire
26
impôts.
Consultant
Résultat de demande de congé
La fiche de paie.
Les notifications à propos du projet.
Les tâches affectées.
Client
Etat d’avancement du projet demandé
Conditions des réclamations
Facture, devis établi.
Catalogue d’information
Tableau 4: Liste des messages sortants de chaque acteur
9. Modélisation du contexte Tous les messages (système ↔ acteurs) identifiés précédemment peuvent être
représentés de façon synthétique sur un diagramme, que l’on peut qualifier de diagramme de
contexte dynamique [8].
9.1. Diagramme de contexte dynamique Nous réaliserons un diagramme de communication particulier (que nous appellerons
diagramme de contexte dynamique) afin de répertorier tous les messages que les acteurs
peuvent envoyer au système et recevoir [8].
Figure 5: Diagramme de contexte dynamique d'ISATIS
Chapitre II : Étude préliminaire
27
9.2. Le contexte statique Nous pouvons compléter le modèle de contexte dynamique par l’étude du contexte
statique. Ce dernier spécifie le nombre d’instances d’acteurs reliées au système à un moment
donné. Ce complément est surtout utile lorsque les acteurs sont nombreux, et que l’on veut
mettre en évidence les différences qui existent en termes de multiplicités d’instances d’acteurs
[8].
9.2.1. Diagramme de contexte statique :
Ce diagramme permet de montrer de façon synthétique qu’il existe :
Un seul administrateur système dans l’entreprise.
Au maximum deux chef de projets.
Un seul manager dans l’entreprise.
Un seul commercial dans l’entreprise.
Un nombre non défini de clients et de consultants.
Un seul comptable.
Figure 6: Diagramme de contexte statique d’ISATIS
10. Conclusion L’étude préliminaire nous a permis de nous familiariser avec l’environnement autour
duquel nous allons réaliser notre projet, connaissant les acteurs ainsi que leurs tâches.
Dans la suite de notre travail, nous allons traiter en détail les besoins fonctionnels et
techniques de notre système.
28
Chapitre III :
Conception
Chapitre III : Conception
29
1. Introduction L’étape de conception est très importante pour la réussite d’un projet informatique, car
elle vise à définir une feuille de route du projet, le concevoir et le valider avant de passer à la
réalisation du système. Elle permet aussi d’avoir une bonne réflexion avant de passer à l’action,
une bonne organisation du travail et une bonne communication entre les différents intervenants
dans le projet.
Nous avons utilisé le processus unifié 2TUP, qui serra illustré dans ce chapitre avec ses
différentes activités. La méthode 2TUP dissocie les aspects techniques des aspects
fonctionnels, ces derniers formalisent et détaillent ce qui a été ébauché au cours de l’étude
préliminaire, et à étudier les fonctions du système d’information.
Autrement dit, cette étape de conception passe par : capture des besoins (techniques et
fonctionnels) ensuite l’analyse et en fin la conception détaillée.
2. Capture des besoins fonctionnels Les captures des besoins fonctionnels est la première étape de la branche gauche de la
méthode 2TUP.
2.1. Identifier les cas d’utilisation Un cas d’utilisation (use case) représente un ensemble de séquences d’actions
réalisées par le système et produisant un résultat observable intéressant pour un acteur
particulier.
Un cas d’utilisation modélise un service rendu par le système. Il exprime les
interactions acteurs/système et apporte une valeur ajoutée « notable » à l’acteur concerné [8].
2.1.1. Identification des processus
Processus liés à l’administrateur du système
Processus de gestion vente
Processus de gestion de projet
Processus de gestion de recrutement
Processus de gestion des ressources humaines
Processus de gestion de comptabilité
Chapitre III : Conception
30
2.1.2. Processus liés à l’administrateur du système
La figure 7 présente le diagramme de cas d’utilisation de l’administrateur du système.
Figure 7 : Diagramme de cas d’utilisation liés à l’administrateur du système
Description des cas d’utilisations
La description textuelle des cas d'utilisation est libre. Cependant, cette description
prend souvent une forme rédigée qui convient mieux à la communication avec les utilisateurs.
Des règles de structuration doivent être appliquées pour en faciliter l'expression, la
compréhension et la cohérence [9].
Cas d’utilisation Description
Authentification
avant de se connecter au système, chaque acteur
doit être identifié par un login et un mot de passe
afin d’avoir les permissions d’accès au système.
Le système vérifie l’existence de l’utilisateur et
la validité de son mot de passe, sinon il ouvre une
session et redemande la saisie à nouveau.
Gestion des comptes et des droits des
utilisateurs
permet à chaque utilisateur du système
d’avoir son compte qui comporte l’ensemble
des processus métiers dont lesquels il
intervient. Comme, il attribue les droits
d’accès à l’utilisateur afin de garantir la
fiabilité du système.
Gestion des fonctionnalités du système
permet à l’administrateur de gérer la totalité des
fonctions métiers du système, comme il peut
paramétrer des nouvelles fonctionnalités en cas
de besoin. Tableau 5: Description des cas d’utilisations de l’administrateur
Chapitre III : Conception
31
2.1.3. Le processus des ventes
Le processus de vente est un ensemble d’action qui permet de passer de l’état de
prospect à celui de client, de l’intention d’achat au passage de commande ou de prise de
contact à la prise de commande.
Des activités sont réalisées dans le cadre de l’action commande, les activités sont par
exemple les emails, les meetings, les appels téléphoniques,…
La figure 8 présente le diagramme de cas d’utilisation du processus de gestion de vente :
Figure 8: Diagramme de cas d’utilisation de gestion de vente.
Chapitre III : Conception
32
Description des cas d’utilisations de gestion de vente :
Cas d’utilisation Description
Gestion des pistes
permet à un commercial, ou au manager de
créer, modifier, qualifier/disqualifier une
piste, ou de convertir en une opportunité.
Gestion d’opportunités
permet à au commercial, ou au manager de
créer, modifier, qualifier/disqualifier une
opportunité.
Gestion de client Permet de créer, modifier ou supprimer un
contact/client, ou un prospect.
Gestion d’activités Permet aux utilisateurs de créer un appel,
meeting ou un mail.
Gestion de devis
Permet au commercial ou le manager de
créer, modifier, imprimer /envoyer le devis
au client.
Gestion de facturation
Permet au commercial ou le manager de
créer, modifier, imprimer /envoyer la facture
au client.
Suivis d’activités
Permet au manager d’analyser les ventes, les
factures, les prévisions, changement d’étape,
les meetings avec les comptes rendu ainsi
que les closes perdue des pistes et les
opportunités.
Gestion d’articles Permet au manager ou le commercial
d’ajouter ou de supprimer un article.
Réclamation Permet aux clients de réclamer vis-à-vis les
factures, devis...
Tableau 6: Description de cas d’utilisation de gestion de vente.
2.1.4. Le processus de gestion de projet :
La gestion de projet consiste à gérer l’ensemble des projets en tenant compte des
ressources (humaines, finances, matérielles,..) afin de garantir aux clients la qualité exigée par
leur projets.
Dans notre cas, le processus gestion des projets se caractérise par la mise en place des
ressources humaines (consultants techniques) avec le responsable chef de projet.
Celui-ci coordonne les différentes tâches avec l’équipe projet en affectant des taches
aux membres de son équipe.
Chapitre III : Conception
33
La planification se fait au préalable et selon la complexité des projets via un diagramme
de GANTT.
Le chef de projet affecte des tâches aux membres de l’équipe, chaque tâche a un début
et une fin. Un ensemble de tâches peut constituer une phase ou des phases. Le client est
informé régulièrement de l’état d’avancement du projet. La figure 9 nous présente le
diagramme de cas d’utilisation de gestion de projet :
Figure 9: Diagramme de cas d’utilisation de gestion de projet.
Description des cas d’utilisateur de gestion de projet :
Cas d’utilisation Description
Gestion d’activités Permet aux utilisateurs de créer un appel,
meeting ou un mail.
Réclamation Permet aux clients de réclamer vis-à-vis des
projets.
Analyse (fonctionnalités techniques)
permet au chef de projet et aux consultants
de faire une analyse technique, des
fonctionnel du projet et proposent une
planification du projet, avec tous les aspects
techniques
Suivis d’activités
Permet au manager, consultants et le chef de
projet de suivre l’état d’avancement, et le
déroulement des projets.
Chapitre III : Conception
34
Planification de projet
Le chef de projet planifie le projet (division
de tache pour chaque consultant avec durée
de réalisation,..)
Tableau 7: Description des cas d’utilisation de gestion de projet
2.1.5. Processus de gestion de recrutement
La gestion de recrutement consiste à gérer les entretiens et le recrutement des
candidats. Dans notre cas, elle se déroule comme suit :
Les candidats dépose leur CV (curriculum vitæ) au sein de notre entreprise, et le chef de
projet ainsi que le manager analysera les CV et sélectionnera à base des besoins de
l’entreprise. Des tests de niveau et d’aptitude sont programmés pour sélectionner les
candidats. Le candidat refera un entretient d’embauche et continuera son recrutement.
La figure 10 présente le diagramme de cas d’utilisation de recrutement
Figure 10 : Diagramme de cas d’utilisation de gestion de recrutement.
Chapitre III : Conception
35
Description des cas d’utilisation de gestion de recrutement
Cas d’utilisation Description
Candidature Dépôt de CV
Sélection des candidats
Les candidats passeront un test d’évaluation,
afin de choisir le plus compétant des
candidats.
Analyse de CV
permet au manager et au chef de projet
d’analyser les CV et de les sélectionner selon
les besoins de l’entreprise.
Evaluation des entretiens/test
Permet de valider ou de rejeter les
entretiens/test des candidats selon leur note
des tests.
Tableau 8: Description des cas d’utilisations de gestion de recrutement
2.1.6. Processus de gestion des ressources humaines
La gestion des ressources humaines consiste à gérer l’ensemble des employés notant
les congés, le pointage, la paie, l’évaluation,... Dans notre cas, la gestion des ressources
humaines, se fait ainsi :
Chaque employé doit marquer son pointage de 9h à 9h15.
Pour les congés, les employés ne prennent pas leur congés à la fois, mais ils envoient
une demande auprès du manager, c’est à ce dernier d’accepter ou de refuser sa
demande formulé.
L’employé est évalué une fois par an, par son chef de projet et le manager de
l’entreprise.
La figure 11 présente le diagramme de cas d’utilisation de gestion de ressources
humaines :
Chapitre III : Conception
36
Figure 11: Diagramme de cas d’utilisation de gestion des ressources humaines.
Description des cas d’utilisations de gestion des ressources humaines :
Cas d’utilisation Description
Pointage
Chaque employé doit remplir sa fiche de
présence.
Demande de congés
Chaque employé peut demander un congé
(annuel, maladie, ….).
Gestion de congés Permet de confirmer ou d’annuler la
demande de congés d’un employé, et la
validation est faite par le manager.
Chapitre III : Conception
37
Evaluation
Permet d’évaluer le travail d’un employé par
son chef de projet et par le manger une fois
par an.
Gestion de paie Permet au comptable d’établir la fiche de
paie mensuelle de chaque employé.
Tableau 9 : Description des cas d’utilisations de gestion des ressources humaines.
3. Analyse
Un modèle d’analyse livre une spécification complète des besoins, issu des cas
d’utilisateurs, et les structures sous une forme qui facilite la compréhension (scénarios), la
préparation, la modification et la maintenance du futur système [8].
3.1. Le processus métier des ventes Afin de comprendre le processus des ventes de point de vue métier et d’éclaircir la
relation entre les différentes phases d’une vente, la figure suivante illustre ses relations:
Figure 12: Processus métier des ventes.
Chapitre III : Conception
38
3.2. Le processus métier des projets Pour bien comprendre le processus métier des projets, nous avons construit le
diagramme suivant :
Figure 13: Processus métier des projets.
3.3. Le processus métier des recrutements
Figure 14: Processus métier des recrutements
4. Les diagrammes de séquence Le diagramme de séquence permet de décrire les scenarios de chaque cas d'utilisation
en mettant l'accent sur la chronologie des opérations en interaction avec les objets [9].
Les concepts de base utilisés dans ce diagramme sont les suivant :
Chapitre III : Conception
39
4.1. Le diagramme de séquence « Authentification »
Figure 15: Diagramme de séquence d’authentification
Les scénarios :
Dans le processus d’authentification, chaque utilisateur doit interagir avec le système
central(ERP) :
L’utilisateur demande de se connecter au système.
Le système affiche l’interface du login et mot de passe.
L’utilisateur insert son login et mot de passe.
le système réaffiche l’interface du login et mot de passe au cas où
ils sont incorrects.
Dans le cas ou c’est correct, le système affiche l’espace
correspondant.
Chapitre III : Conception
40
4.2. Diagramme de séquence « gestion des ventes » :
Figure 16: Diagramme de séquence de gestion des ventes.
Les scénarios :
Dans le processus des ventes nous avons le responsable des ventes qui interagit avec le
système central(ERP) :
Un client/prospect demande des informations sur un/ plusieurs articles ou services
auprès du responsable des ventes.
Chapitre III : Conception
41
Le responsable des ventes crée une piste /opportunité.
Dans le cas d’une piste :
Si le prospect demande un devis : le responsable des ventes qualifie la piste
et la convertie en opportunité, ensuite crée et envoi le devis au prospect.
Si le prospect ne demande pas de devis après une certaine période fixé par le responsable des ventes, ce dernier disqualifie la piste.
Dans le cas d’opportunité :
Le client demande un devis.
Le responsable des ventes crée et envoi le devis au client.
Client / prospect peut demander une négociation du devis, le responsable des
ventes la prend en charge et répond.
Si prospect/client accepte la nouvelle proposition :
Le client confirme la commande par un bon de commande
Responsable des ventes qualifie alors l’opportunité (close gagnée).
Le client/prospect demande une facture
Le responsable des ventes crée la facture après réception du service commandé par le client.
Le client/prospect effectue le paiement de la facture.
Le responsable des ventes enregistre le paiement.
Si le prospect/client refuse la nouvelle proposition :
Le responsable des ventes disqualifie l’opportunité (close perdue).
Chapitre III : Conception
42
4.3. Diagramme de séquence « gestion de projet »
Figure 17: Diagramme de séquence de gestion de projet
Les scénarios :
Le scénario du processus gestion de projet se présente comme suit:
Les utilisateurs du système doivent s’authentifier pour y accéder.
Le chef de projet crée un nouveau projet et fait une planification (création de
chaque taches et les affecte à chaque consultant technique).
Les consultants techniques mettent à jours leurs tâches.
Le chef de projet demande un suivi du projet au prés des consultants techniques.
(l’état d’avancement de chaque tâche).
Le chef de projet envoi un suivi du projet au prospect/client (diagramme de
GANTT).
Le client/prospect peut faire une réclamation technique vis-à-vis le projet.
Le système revoit la réclamation aux consultants technique pour la traitée.
Le chef de projet renvoi la réponse pour le client/prospect.
Chapitre III : Conception
43
4.4. Diagramme de séquence de gestion de recrutement
Figure 18: Diagramme de séquence de gestion de recrutement
Les scénarios :
Dans le processus de recrutement nous avons :
Les utilisateurs doivent s’authentifier.
Les candidats déposent par mail le CV.
Le responsable de recrutement interagit avec le système afin d’ajouter les nouveaux
candidats.
Apres l’enregistrement, le responsable sélectionne les CV, et planifie les entretiens et
les tests d’embauches.
Notifier les candidats sélectionnés par mail pour un entretien.
Le responsable évalue les candidats.
Dans le cas ou, c’est APTE : Le candidat est accepté et embauché
Dans le cas ou, INAPTE : Le candidat est refusé.
Chapitre III : Conception
44
4.5. Diagramme de séquence de gestion des ressources
humaines
Figure 19: Diagramme de séquence de gestions de ressources humaines.
Les scénarios :
Dans le processus des ressources humaines nous avons :
Les employés s’authentifier au système.
Les employés doivent marquer leur présence.
Dans le cas ABSENT :
Le système envoi une demande de traitement au niveau de la BDD, pour
renvoyer si c’est une absence autorisée ou non autorisée.
Dans le cas PRÈSENT :
Le système l’enregistre et renvoi « l’utilisateur présent ».
L’employé demande un congé.
Le responsable (manager) renvoi une réponse (acceptée ou refusée).
Chapitre III : Conception
45
5. Capture des spécifications techniques et logicielles du
système existant
L’ensemble des activités de l’entreprise est géré par des traitements manuels ou bien
par le biais des applications diversifiées tout en utilisant des supports papiers. ISATIS dispose
de quelques besoins techniques et aussi matérielles qui sont comme suit :
(05) cinq ordinateurs sous système Windows.
(02) serveurs : un sous Ubuntu qui n’est pas vraiment utilisé Un Windows 2008 server R2, qui est plus utilisé par ISATIS, tout ses utilisateurs sont
connectés au serveur, il utilise comme fonctionnalité ACTIVE DIRECTORY ou
l’administrateur fait sa gestion des profils et les différentes fonctionnalités des comptes
utilisateurs de l’entreprise (création de comptes, leurs droit d’accès, sécurité,..).
La planification et la gestion des projets d’ISATIS se fait actuellement par un chef de
projet et les consultants avec les logiciels MICROSOFT PROJECT, MICROSOFT EXEL
pour le suivis des employés (pointage, congés, ..) et même pour le comptable.
Vu qu’ISATIS utilise une comptabilité externalisée, le comptable utilise ses propres
logiciels de comptabilité.
5.1. Cas d’utilisation technique
Tout système informatique possède au minimum un exploitant qui est l’utilisateur du
système, les cas d’utilisations techniques sont absolument distincts des cas d’utilisation déjà
étudiés. Nous avons identifié les cas d’utilisations techniques suivants :
Gestion des profils des utilisateurs et l’authentification qui protège le système des
intrusions externes.
Gestion des erreurs
Manipulation des objets (développement, ajout, modification, suppression,..)
Chapitre III : Conception
46
5.1.1. Diagramme de cas d’utilisation technique
Figure 20: Diagramme de cas d’utilisation technique
6. Capture des besoins technique du système central
(OpenERP)
6.1. Diagramme de composants Le diagramme de composants décrit l'organisation du système du point de vue des éléments
logiciels comme les modules (paquetages, fichiers sources, bibliothèques, exécutables), des
données (fichiers, bases de données) ou encore d'éléments de configuration (paramètres,
scripts, fichiers de commandes). Ce diagramme permet de mettre en évidence les dépendances
entre les composants de notre projet ERP.
Chapitre III : Conception
47
Figure 21: Diagramme des composants.
La couche présentation
La couche présentation joue le rôle de la vue dans le model MVC (Model-View-
Controller), il décrit tous ce qui est interface, fenêtres et les actions. Dans notre cas les
vues sont développées en XML.
Couche présentation (XML)
Couche logique métiers (Python)
Couche de persistance (ORM)
Chapitre III : Conception
48
La couche logique métier
La couche logique métier joue le rôle de contrôleur de model MVC il permet de
décrire les objets les classes du projet via le Framework open Object qui assure la
persistance des objets, via le langage de programmation python.
La couche persistance
La couche persistance concerne la persistance des donnes (ORM) dans un serveur
PostgreSQL.
7. Diagramme de classe
7.1. Présentation du diagramme de classe
Le diagramme de classes est le point central dans un développement orienté objet, en
analyse, il a pour objectif de décrire la structure des entités manipulées par les utilisateurs. En
conception, le diagramme de classes représente la structure d'un code orienté objet ou, à un
niveau de détail plus important, les modules du langage de développement.
Le diagramme de classe possède deux intérêts principaux. Il permet, à la fois la
modélisation d'une base de données et la génération automatique de code pour plusieurs
langages de programmation, qui concrétisent la conception. Le diagramme de classe ouvre la
voie à une programmation complètement automatisée.
Le diagramme de classe a toujours été le diagramme le plus important dans toutes les
méthodes orientées objet, à savoir, les outils de génération automatique de code l'utilisent en
priorité [10].
Chapitre III : Conception
49
7.1.1. Diagramme de classe de l’application
Figure 22: Diagramme de classe
Chapitre III : Conception
50
7.1.2. Présentation du dictionnaire de données :
Classe Attribut Type Taille Description de l'attribut
Compte_
utilisateur
Id_user AN 15 Identificateur de l’utilisateur
Nom_user AN 15 Nom de l’utilisateur
Login AN 15 Le nom de connexion de l’utilisateur
Mot_passe AN 15 Mot de passe de l’utilisateur
Courrier AN 25 L’email de l’utilisateur
Client
Id_client AN 15 Identificateur du client
Nom_client AN 15 Nom du client
Rue_client AN 30 La rue du client
Ville_client AN 15 La ville du client
codep_client N / Code postal du client
Pays_client AN 15 Pays du client
Tél_client AN 15 Téléphone du client
Fax_client AN 15 Fax du client
Site_client AN 50 Site web de l’entreprise ou du client
Courriel_client AN 30 L’adresse du courriel électronique du
client
Num_regist N / Numéro du registre de commerce du
client
NArticle_impos N / Numéro d’article d’imposition
Num_fiscal N / Numéros d'identification fiscale
Num_RIB N / Numéro Relevé d'Identité Bancaire
Type_entre AN 10 Le type d’entreprise (PME, Grand
compte, TPE)
Nbr_empl N / Le nombre d’employé de l’entreprise
Chapitre III : Conception
51
Si_prospect AN 3 Si c’est un prospect ou un client
Si_société AN 3 Cochez si le contacte c’est une société,
sinon il s’agit d’un particulier
Article
Id_article AN 15 Identificateur de l’article
Nom_article AN 15 Nom de l’article
Type_article AN 15 Le type de l’article (service ou produit)
Prix N / Prix de l’article
garantie N / Garantie de l’article
Catégorie
Id_catég AN 15 Identificateur de la catégorie
Nom_catég AN 15 Nom de la catégorie
Description_catég AN 15 Description de la catégorie
Piste
Id_piste AN 15 Identificateur de la piste
Objet_piste AN 25 Objet de la piste
Statu_piste AN 10 Le statue de la piste (qualifié/disqualifié)
Catégorie_piste AN 10 La catégorie de la piste (article, produit,
service…)
Description_piste AN 50 Description de la piste
Opportunité
Id_opp AN 15 Identificateur de l’opportunité
Statu_opp AN 15 Statue de l’opportunité (qualification,
close gagné, close perdu…)
Prochaine_action AN 15 Date de la prochaine action concernant
l’opportunité
Date_clôture D / Date de clôture prévue de l’opportunité
Priorité AN 15 La priorité de l’opportunité (normal,
haute, basse…)
Catégorie_opp AN 15 La catégorie de l’opportunité (service,
produit…)
Revenu_estime N / Le revenu estimé de cette opportunité
Chapitre III : Conception
52
Pourcentage N / Le pourcentage de la probabilité qu’une
opportunité soit gagnée
Projet
Id_projet AN 15 Identificateur de projet
Nom_projet AN 15 Nom du projet
Date_début D / Date de début du projet
Date_estimé D / Date estimé de la fin du projet
Priorité AN 15
La priorité du projet par rapport aux
autres projets et cela avec la couleur
donnée au projet
Statu_projet AN 15 Le statue du projet (En cour ou fermé)
Devis Id_devis AN 15 Identificateur du devis
Date D / Date du devis
Facture id_facture AN 15 Identificateur facture
Date_facture D / Date de la facture
Réclamation
Id_réclam AN 15 Identificateur de la réclamation
Objet AN 30 Objet de la réclamation
Contenu AN 50 Contenu de la réclamation
Priorité AN 15 La priorité de la réclamation (normal,
haute, basse…)
Echéance D / La date de la réclamation
D_réclam AN 50 La description de la réclamation
Tâche
Id_tâche AN 15 Identificateur de la tâche
Nom_tâche AN 15 Nom de la tâche
Descrip_tache AN 15 Description de la tâche
Progression AN 15 Etat de progression de la tâche
Date_fin D / Date de fin de la tâche
Employé Id_empl AN 15 Identificateur employé
Chapitre III : Conception
53
Nom_empl AN 15 Nom de l’employé
Date_entré D / Date de recrutement de l’employé
Type_contat AN 10 Le type de contrat (CDI, CDD, CTA)
Date_naiss D / Date de naissance de l’employé
Lieu_naiss AN 15 Lieu de naissance de l’employé
Num_social N / Numéro de sécurité social de l’employé
Rue_empl AN 30 La rue de l’employé
Ville_empl AN 15 Ville de l’employé
codep_empl N / Code postal de l’employé
Pays_empl AN 15 Pays de l’employé qui serra sous forme de
liste de tous les pays
Tele_empl AN 15 Téléphone de l’employé
Groupe
Id_group AN 15 Identificateur groupe
Nom_group AN 15 Nom du groupe
Droit_accés AN 15 Les droits d’accès d’un utilisateur
Congé
Id_congé AN 15 Identificateur du congé
Descri_congé AN 15 Description du congé
Type_congé AN 15 Le type de congé (Congés légaux, Arrêts
maladie…)
DateD_congé D / Date de début du congé
DateF_congé D / Date de fin du congé
Mode AN 20 Mode d’attribution de congé (par
employé, par catégorie d’employé)
Contact
Id_contact AN 15 Identificateur du contact
Nom_contact AN 15 Nom du contact
Job_contact AN 15 Le poste occupé au sein de la société
cliente
Chapitre III : Conception
54
Adress_société AN 30 L’adresse du contact est la même que celle
de la société ou non
Rue_contact AN 30 La rue du contact
Ville_contact AN 15 La ville du contact
Codep_contact N / Code postal du contact
Pays_contact AN 15 Pays du contact
Email_contact AN 30 Email du contact
Tel_contact AN 15 Téléphone du contact
Décisionnaire AN 3 Si le contact est décisionnaire par rapport
au projet ou non
Candidature
Id_candi AN 15 Identificateur du candidat
Nom_candi AN 15 Nom du candidat
Date_entretien D / Date de l’entretient
Tel_candi AN 15 Téléphone du candidat
Fax_candi AN 15 Fax du candidat
Niveau_etude AN 15
Le niveau d’étude du candidat ou le
diplôme obtenu (Licence, Doctorat,
Master…)
Salaire_propo N / Salaire proposé pour le candidat
Salaire_dem N / Salaire demandé par le candidat
Disponibilité N / Le nombre de jours ou le poste est
disponible
Action_suivante D / La date de l’action suivant
Appréciation AN 15 L’appréciation attribué par le responsable
de l’entretient (pas bien, bon, très bien…)
Origine AN 25 L’origine de l’offre (bouche à oreille, site
web de la société…)
progression AN 15 Progression de la demande de candidature
Chapitre III : Conception
55
(premier entretient, deuxième…)
Activité
Id_activ AN 15 L’identifiant de l’activité
Type_activ AN 15 Le type de l’activité (appel, meeting…)
Poste
Id_poste AN 15 Identifiant du poste
Nom_poste AN 15 Nom du poste
Nbr_emplo N / Nombre d’employé existant pour ce poste
Nbr_recrut N / Nombre d’employé prévu pour recruter
Nbr_total N / Nombre total après le recrutement
Département
Id_dep AN 15 Identifiant du département
Nom_dep N 15 Nom du département
Tableau 10: Dictionnaire de données
En appliquant les règles de passage, nous permet d'avoir le modèle relationnel de la
base de données de l’application à mettre en œuvre :
Compte_utilisateur (Id_user, Nom_user, Login, Mot_passe, Courrier).
Client (Id_client, Nom_client, Rue_client, Ville_client, codep_client, Pays_client, Tél_client,
Fax_client, Site_client, Courriel_client, Num_regist, NArticle_impos, Num_fiscal,
Num_RIB, Type_entre, Nbr_empl, Si_prospect, Si_société).
Contact (Id_contact, Nom_contact, Job_contact, Adress_société, Rue_contact, Ville_contact,
Codep_contact, Pays_contact, Email_contact, Tel_contact, Décisionnaire, # Id_client).
Article (Id_article, Nom_article, Type_article, Prix, garantie, #Id_catég).
Catégorie (Id_catég, Nom_catég, Description_catég).
Piste (Id_piste, Objet_piste, Statu_piste, Catégorie_piste, Description_piste, #Id_client).
Opportunité (Id_opp, Statu_opp, Prochaine_action, Date_clôture, Priorité, Catégorie_opp,
Revenu_estime, Pourcentage, #Id_client, #Id_piste).
Projet (Id_projet, Nom_projet, Date_début, Date_estimé, Priorité, Statu_projet).
Devis (Id_devis, Date, #Id_client).
Facture (id_facture, Positon_fisc, Date_facture, #Id_client).
Réclamation (Id_réclam, Objet, Contenu, Priorité, Echéance, D_réclam, #Id_client).
Tâche (Id_tâche, Nom_tâche, Descrip_tache, Progression, Date_fin, #Id_projet).
Chapitre III : Conception
56
Employé (Id_empl, Nom_empl, Photo, Date_entré, Type_contat, Date_naiss, Lieu_naiss,
Num_social, Rue_empl, Ville_empl, codep_empl, Pays_empl, Tele_empl, #Id_user).
Groupe (Id_group, Droit_accés, Nom_group).
Congé (Id_congé, Descri_congé, Type_congé, DateD_congé, DateF_congé, Mode,
#Id_empl).
Candidature (Id_candi, Nom_candi, Date_entretien, Tel_candi, Niveau_etude, Fax_candi,
Salaire_propo, Salaire_dem, Disponibilité, Action_suivante, Appréciation, Origine,
progression).
Activité (Id_activ, Type_activ).
Poste (Id_poste, Nom_poste, Nbr_emplo, Nbr_recrut, Nbr_total, # Id_dep).
Département (Id_dep, Nom_dep).
LigneFacture (#id_facture, # Id_article, QuantitéF).
LigneDevis (#Id_devis, #Id_article,QuantitéD).
Adhérer (#Id_opp, #Id_empl).
Suivre (#Id_piste, #Id_empl).
Postuler (#Id_poste, #Id_empl).
Demander (#Id_candi, #Id_poste).
Appartenir (#Id_user, # Id_group).
Faire A (#Id_activ, #Id_empl).
Suivre A (#Id_activ, #Id_client).
Demander P (#Id_client, #Id_projet).
Chapitre III : Conception
57
8. Conclusion La conception met en œuvre un ensemble d’activités, précise l’implémentation
technique de l’application. Elle consiste en la fusion de la spécification détaillée et de la
conception générale, pour déterminer « comment faire » le « quoi faire » dans le détail. Nous
trouvons le diagramme de classe et les diagrammes de séquences qui détaillent les
interactions entre les composants du logiciel pour les scénarios les plus complexes.
Ce chapitre est consacré à la conception de notre système. Tout d’abord, nous avons
commencé par la capture des besoins fonctionnels, où nous avons représenté l’ensemble des
séquences d’actions, en identifiant les cas d’utilisations de tous les acteurs du système, suivi
d’un diagramme de cas d’utilisation pour chaque cas d’utilisation.
Ensuite, nous avons représenté les diagrammes de processus de chaque métier, et recensé la
description graphique des cas d'utilisation, en réalisant des diagrammes de séquences
décrivant les scénarios nominaux des cas d'utilisations essentiels.
La capture des spécifications techniques et logicielles du système existant, nous a permis de
définir le cas d’utilisation technique.
A la fin, nous avons présenté les concepts de base de diagramme de classe et les
règles de modélisation. Nous avons terminé par la présentation du diagramme de classe puis
le modèle relationnel en utilisant les règles de passage.
58
Chapitre IV:
Réalisation
Chapitre IV : Réalisation
59
1. Introduction Nous allons présenter l’ensemble des fonctionnalités qu’offre notre nouveau système
d’information intégré dans OpenERP sous forme de prises d’écran, de l’ERP en fonction.
Ce chapitre décrit les différentes technologies adoptées et utilisées pour la réalisation
de ce projet, à commencer par le logiciel VMware Player, le système d’exploitation Linux,
tout en passant par le PGI OpenERP, le système de gestion de bases de données PostgreSQL,
OpenOffice pour les rapports et enfin le langage Python.
2. Technologie utilisées
2.1. VMware Player VMware Player est un logiciel qui permet de créer ou d’ouvrir une machine virtuelle dans de
différents environnement, nous avons choisis d’utiliser VMware Player :
Afin d’installer linux (Ubuntu) sous un autre environnement.
Il est interopérable (il a la capacité de fonctionner avec d’autres systèmes existants ou
futurs).
2.2. Ubuntu Ubuntu est un système d'exploitation intuitif et sécurisé, Rapide et séduisant, idéal pour les
ordinateurs de bureau, les serveurs, les netbooks et les ordinateurs portables. Ubuntu est libre,
gratuit, et est composé de logiciels qui le sont également.
Nous avons choisis de travailler sous Ubuntu :
Pour la stabilité d’OpenERP.
En termes de support technique, nous trouvons plus de documentations.
Les deux (Ubuntu et OpenERP) sont dans l’open source.
Les bugs sont beaucoup plus maitrisés.
2.3. OpenOffice et la conception des rapports OpenOffice est un open source bureautique, il contient un traitement de texte (writer), un
tableau (calc),… il a été principalement développé pour linux, Microsoft Windows et Solaris.
Chapitre IV : Réalisation
60
3. Diagramme de déploiement Le diagramme de déploiement correspond à la fois à la structure du réseau
informatique qui prend en charge le système logiciel, et la façon dont les composants
d’exploitations y sont installés. La figure 23 illustre le diagramme de déploiement :
Figure 23: Diagramme de déploiement
Chapitre IV : Réalisation
61
4. Quelques interfaces de l’application
4.1. Authentification Pour l’utilisation du nouveau système une authentification est obligatoire, pour cela un
nom d’utilisateur et un mot de passe sont attribués lors de l’ajout d’un nouveau compte
utilisateur.
L’authentification permet à chaque utilisateur d’accéder à sa propre interface.
Figure 24:
Connexion au système.
Une fois connecté, nous devons installer quelques modules et les paramétrer, à
savoir :
CRM : Ou la gestion de la relation client (GRC), est l'ensemble des outils et
techniques destinés à capter, traiter, analyser les informations relatives aux
clients et aux prospects, dans le but de suivre les pistes et les opportunités. Et
nous pourrons aussi personnaliser le cycle de vente.
Gestion des ventes : ce module nous permet de gérer les objectifs de vente
d'une manière efficace et efficiente en gardant la trace de tous les ordres de
vente.
Gestion des projets : Il permet de gérer les plannings des projets, par tâches pour les projets à court terme ou phases pour la planification à long terme.
Gestion des congés : Ce module permet aux personnels d’entrer ses propres demandes (congé, maladie, etc.), et au manager de les approuver et valider.
Chapitre IV : Réalisation
62
Répertoire des employés : permet d’insérer toutes les données relatives aux
personnels et superviser les informations importantes dans le carnet de la
société.
Processus de recrutement : Cette application permet de garder facilement la trace des emplois, des offres d’emplois, des interviews ...
Présence : Comptabilise les temps de présence des employés sur la base des
pointages (Entrée / Sorties) réalisés.
Evaluation des employés : Facilite la planification des évaluations des employés, en définissant les étapes des interviews, et garder une trace pour
suivre leur évolution.
Outil de conception des rapports d'OpenOffice : Ce module ajoute des
assistants de Import / Export pour le rapport que nous pouvons modifier dans
OpenOffice. Une fois que nous l'avons modifié, nous pouvons télécharger le
rapport en utilisant le même assistant.
Ses modules nous pouvons les trouvé dans la partie paramètres, dans le menu modules
installés et les modules ajoutés comme « Montant en lettre DZ » qui permet de convertir en
lettre le montant de la facture et du devis.
Figure 25: Acceuil OpenERP -client web
4.2. Paramétrage et personnalisation Avant de se lancer dans le paramétrage de l’application, nous allons commencer par la
personnalisation de tout les modules installés, suppression et l’ajout des champs et
fonctionnalités qui ne sont pas offerts par OpenERP, nous prenons exemple de l’entreprise,
où nous avons ajouté et supprimés des champs selon ses besoins. Ensuite, il faut saisir les
détails de l’entreprise (son adresse, son nom, téléphone,..), changer la devise vers le Dinars
Chapitre IV : Réalisation
63
algérien, pour que les prix et les factures soient bien affichés ultérieurement, selon le contexte
algérien.
4.2.1. Configuration de la messagerie
Après l’installation des modules d’OpenERP, nous passons à la configuration de la
messagerie. La configuration de la messagerie nous permet de synchroniser la messagerie par
rapport au serveur de messagerie utilisé dans l’entreprise.
4.2.2. Configuration du Thunderbird mail :
La figure ci-dessous nous clarifie la configuration en détail :
Chapitre IV : Réalisation
64
Figure 26 : Configuration de thunderbird mail
Chapitre IV : Réalisation
65
Configuration de la messagerie sortante : La figure suivante va nous expliquer la
configuration des messages sortants :
Figure 27: Configuration des messages sortants
Configuration des messages entrants : la figure qui suit nous démontre les étapes de
configuration de la messagerie entrantes.
Figure 28: Configuration des messages entrants
Chapitre IV : Réalisation
66
4.2.3. Processus de gestion des ventes
Dans le cas de l’entreprise ISATIS, les clients sont des entreprises (Business to
Business), pour cela, nous avons ajouté une fonctionnalité dans le formulaire client
pour que l’information du client serra affiché société par défaut, et quelques champs
pour avoir plus d’information concernant la société client. La liste des clients est
composé des entreprises et leurs contacts.
Figure 29: Interface client
1 : client ajouté (entreprise).
2 : le contact de l’entreprise ajoutée.
3 : image ou logo de l’entreprise.
4 : le client est une entreprise. (true par défaut)
5 : les champs ajoutés concernant l’entreprise.
6 : le contact de l’entreprise.
Chapitre IV : Réalisation
67
La figure ci-dessous nous illustre le formulaire d’une piste, à partir du quel nous aurons
toutes les informations, ses status, et la possibilité de la convertir en opportunité ou l’annuler.
Figure 30: Interface piste
La listes des opportunités peuvent êtres vue en : formulaire, kanban, graphique,
calendrier. La vue Kanban permet de visualiser les opportunités selon leurs status, et
les qualifiés en un seul glisse, ou personnaliser et modifier les différent status
opportunité, la figure ci-dessous illustre les status de l’opportunité de l’état : nouveau
jusqu'à gagné ou perdu.
Figure 31: Interface opportunité
Chapitre IV : Réalisation
68
4.2.4. Processus de gestion des projets
Cette vue centralise tous les aspects principaux de la configuration d'un projet. Nous pouvons:
définir les différentes étapes;
créer les tâches et les affecter;
attacher des documents au projet;
définir les membres de l'équipe;
créer des phases.
Figure 32: Liste des projets
La gestion des phases est faite pour les projets à long terme, à partir d’un formulaire
nous pouvons voir l’état d’avancement de la phase et voir aussi les tâches liées, la
figure qui suit va nous montrer ceci :
Figure 33: Interface d'une phase d'un projet.
Tant dit que la gestion des tâches est faite pour les projets à court terme, la figure suivante
nous démontre les différentes tâches d’un projet, et un diagramme de GANTT.
Chapitre IV : Réalisation
69
Figure 34: Listes des taches et diagramme de GANTT d'un projet
1 : le suivis des tâches des projets par statut (conception, développement, en test, terminé).
2 : Diagramme de GANTT des projets.
4.2.5. Processus de gestion de ressources humaines
Dans ce volet, nous pouvons gérer le personnel de l’entreprise et les recrutements, nous
pouvons voir la liste des employés et les candidats et leurs détails. La figure ci-dessous
illustre la liste des employés :
Figure 35: Listes des employés
Chapitre IV : Réalisation
70
La gestion des présences : chaque employé doit marquer sa présence dés sa connexion au
système, la figure suivante illustre le cas de la présence des employés :
Figure 36 : La liste des présences des employés.
La gestion des candidatures : le menu recrutement permet :
d’ajouter, modifier et supprimer des candidats
Planification des entretiens et test d’embauches.
Les étapes des recrutements (Qualification initiale, Premier entretien, Contrat proposé,
Contrat signé ou Refuser) toujours avec la vue Kanban. Tout cela est clarifié dans la
figure qui suit :
Figure 37 : Les étapes des recrutements
1 : Qualification initiale d’un candidat sélectionné.
2 : Premier entretien : le candidat est appelé à passer le premier entretien.
Chapitre IV : Réalisation
71
3 : second entretien : après évaluation du premier entretien, il serra appelé pour un second.
4 : Contrat proposé : un contrat serra proposé au candidat.
5 : Contrat signé : un contrat serra signé avec le candidat.
6 : Refuser : le candidat est refusé.
La gestion des congés : ce menu à son tour permet à tout les employés de demander un congé
de différents types (maladie, annuel, ...), la figure ci-dessous élucide une demande de congé :
Figure 38: Demande de congé
1: Demande de congé : l’employé remplit sa demande de congé avec tout ses details.
2 : Enregistrer : l’enregistrement de la demande, le système à son tour l’envoi au manager
pour l’approuver ou la refuser.
4.2.6. La gestion des utilisateurs
Pour bien contrôler les droits d’accès et sécuriser notre système, OpenERP doté d’une
fonction des groupes qui permet de gérer, d’affecter les utilisateurs à des groupes distincts
avec leurs tâches à réaliser. Plus spécifiquement déterminer les menus accessibles par chaque
utilisateur comme le démontre la figure suivante :
Chapitre IV : Réalisation
72
Figure 39 : Les doits d'accès
1 : Groupe : la liste des groupes d’utilisateurs.
2 : exemple de groupe de ressources humaines ou le manager fait partie.
3 : l’utilisateur (manager), a accès aux ressources humaines en tant que manager.
La figure ci-dessous nous illustre un exemple d’interface pour un utilisateur affecté des droits
d’accès:
Figure 40: Interface d'un utilisateur
Chapitre IV : Réalisation
73
Pour pouvoir modifier ou personnaliser les rapports d’OpenERP, d’abord il faut installer le
module Outil de conception des rapports d'OpenOffice, la figure suivante
illustre l’installation et la manipulation d’OpenOffice sous OpenERP :
Figure 41: OpenOffice
Chapitre IV : Réalisation
74
Après modification de la facture par rapport à celle utilisée dans l’entreprise d’ISATIS, nous
avons obtenu la facture suivante :
Figure 42: Capture d'une facture modifier
Chapitre IV : Réalisation
75
1 : L’entête de la facture modifiée, avec l’ajout de toutes les informations de l’entreprise.
2 : Les informations du client.
3 : Les taxes à payer.
4 : montant en lettre de la facture.
5 : le pied de page modifié par rapport à l’entreprise ISATIS.
a) Présentation du flux de document :
Figure 43: Le flux de documents.
Le fichier de modèle. SXW : Nous utilisons un fichier (.SXW) pour le modèle, qui est le format OpenOffice. Le modèle inclut des expressions entre parenthèses ou des
champs d'OpenOffice point sur les données du serveur OpenERP, Ce document est
uniquement utilisé pour les développeurs pour facilement générer le fichier. RML.
Le gabarit. RML : Nous générons un fichier (.RML) à partir du fichier (.SXW) en utilisant SXW2RML. Un fichier (.RML) est un format XML qui représentent un
document (.PDF). Il peut être converti Après en un format PDF.
Le moteur de rapport : Le moteur de rapport Ouvrir le fichier (.RML) et affecter les
données de la base de données à chaque expression.
Le document final : Enfin le fichier (.RML) est converti au format PDF ou HTML selon les besoins [16].
Openoffice .org
writer
SXW2RML SXW
document
RML
template
Tony ERP
Server PDF
rapport
Chapitre IV : Réalisation
76
5. Déploiement et conduite du changement
5.1. Déploiement Après avoir terminé les phases de mise en place d’OpenERP nous recommandons un
déploiement module après module, afin d’assurer et de faciliter la mise en place. Par exemple
commencer par le module vente puis enchainer par le module projet.
Cette façon de faire, permettra d’atteindre les objectifs assignés par l’entreprise à
savoir l’accès rapide à l’information par les utilisateurs du système, la diminution du temps de
traitement en conformité avec le SI. Tout au long de cette phase, des corrections et des
améliorations peuvent être envisagées.
5.2. Conduite du changement La conduite du changement vise à faciliter l’acceptation des changements induits par
la mise en œuvre d’un nouveau projet et à réduire les facteurs de rejet. Elle consiste à
anticiper les risques, définir et mettre en œuvre une démarche permettant la mise en œuvre
une démarche permettant la mise en place d’une solution dans des conditions optimales.
La conduite du changement lors du déploiement d’OpenERP est une phase essentielle
pour la réussite de notre projet. Elle doit impliquer l’ensemble des acteurs (les utilisateurs). La
conduite du changement doit être menée sous forme de communication (présentations,
workshop) et des formations ciblées.
Nous recommandons deux types de formations :
a) Formation de l’administrateur : cette formation doit permettre à l’administrateur
d’acquérir des connaissances pour être capable notamment de : paramétrer, configurer,
sauvegarder la base de données, droit d’accès des utilisateurs …
Sauvegarde de base de données : la figure suivante illustre les démarches de
sauvegarde d’une base de données.
Chapitre IV : Réalisation
77
Figure 44: Sauvegarde de Base de données
1 : cliquer sur « gestion des bases de données »
2 : cliquer sur « archiver », choisir la Base de données et le mot de administrateur.
Sauvegarde de la VMware : la figure suivante illustre les étapes à suivre pour
la sauvegarde de la machine virtuelle (VMware).
Figure 45: Sauvegarde d'une VMware
1 : dans le dossier « Documents », joindre le dossier « Virtual Machines ».
2 : copier le dossier « Ubuntu » dans un autre dossier interne ou disques externes.
b) Formation des utilisateurs : est destinée aux utilisateurs, et permet de renforcer
leurs connaissances et la maitrise des fonctionnalités du logiciel. Un manuel
d’utilisation est donc nécessaire pour pouvoir aider les utilisateurs à la prise en main
du logiciel.
Chapitre IV : Réalisation
78
6. Conclusion La phase réalisation est l'étape la plus importante dans le cycle de vie d'une
intégration. Dans ce chapitre, nous avons décrit brièvement le processus de réalisation de
notre application en spécifiant l'environnement de développement de quelques fonctionnalités
suivi du diagramme de déploiement associé à notre système. En effet, nous avons achevé
l'implémentation tout en respectant la conception élaborée. Lors de la simulation nous avons
rencontré quelques bugs, ou un affichage des messages d’erreurs lors d’ajout des
fonctionnalités, par exemple la fonctionnalité « convertir les chiffres en lettres » du montant
d’un devis ou d’une facture. Après plusieurs lectures et relectures du code, et après plusieurs
recherches sur internet et sites où la communauté des chercheurs et développeurs d’OpenERP
signalent les différents problèmes des versions publiées, nous avons pu trouver des correctifs
à appliquer au module pour profiter de ces fonctionnalités.
79
Conclusion générale et perspectives Le stage que nous avons effectué au sein de l’entreprise ISATIS, était une occasion
pour nous de côtoyer le monde professionnel, celui de l’entreprise et particulièrement celui
des ERP intérêt majeure d’ISATIS. Ce stage nous a permis de travailler dans le monde de
l’open source, et plus précisément des progiciels de gestion intégrée tel qu’OpenERP, qui
nous a permis d’approfondir nos connaissances dans ces domaines, notamment le Framework
(OpenObject). Nous avons eu l’opportunité de travailler avec de nouveaux logiciels et
langages tel que : VMware, le langage XML, le langage Python, ainsi qu’OpenOffice.
Pour mettre en œuvre ce projet, nous nous sommes basés sur une étude
bibliographique sur les différentes solutions existantes à savoir les progiciels de gestion
intégrée existants sur le marché. Afin de choisir une solution qui répond mieux aux exigences
de l’entreprise ISATIS, OpenERP est la solution élue après une étude comparative entre les
différents progiciels de gestion intégrée existants en littérature. Par la suite, nous avons
entamé une étude préliminaire pour présenter la problématique visée et l'objectif du travail, et
aussi identifier les différents acteurs interagissant avec le système futur. Apres ceci, nous
avons recensé les besoins fonctionnels puis techniques, ceci étant fait grâce à l’usage des
diagrammes de cas d’utilisation. L’étape d’analyse est ensuite entamée à travers les
diagrammes de séquences et d’activités. Ensuite, nous avons présenté la conception de notre
application schématisée par, le diagramme de classes, suivi du modèle relationnel de données.
La dernière phase était d’implémenter le système de gestion intégré OpenERP, de
paramétrer les modules d’OpenERP avec les modules fonctionnels de la société, et d’ajouter
les fonctionnalités dont la société a besoins et qu’OpenERP n’offre pas.
Pour conclure notre travail, nous pouvons nous interroger sur les objectifs assignés
tout au début de notre étude pour connaître si oui ou non, nous avons pu les atteindre, à
savoir : automatisation du workflow, intégration du système d’information, la cohérence et le
partage de données.
Afin de répondre à cette question nous pouvons dire que nous avons atteint au moins l’essentiel des objectifs, toute fois des apports, des améliorations et des ajustements sont
évidemment nécessaire pour améliorer le modeste travail que nous avons réalisé.
Notre solution apporte beaucoup de facilités au sens efficacité et gain de temps pour
ISATIS, néanmoins quelques perspectives peuvent être proposées à savoir :
continuer le paramétrage des modules d’OpenERP, notamment la comptabilité
et la gestion de la paie,
établir le plan comptable algérien du moment que différents plans comptable sont disponibles sur OpenERP, comme celui du Maroc, Tunisie, France,…
pouvoir un jour rejoindre une communauté dans la recherche et le développement de nouveaux modules.
Bibliographie
80
Bibliographie [1] : JEAN-LOUIS, préface de SERGE MIRANDA, « ERP et progiciels de gestion intégrés,
sélection, déploiement et utilisation opérationnelle, les bases du SCM et du CRM », 3eme
édition, DUNOD 2003.
[2] : ACKE MISSAMOU, « Management d’un projet ERP, harmonisation des systèmes
d’informations dans le cas d’une fusion», institut national des sciences de gestion –mémoire
de maitrise en science de gestion 2007.
[3] : JEAN-LOUIS TOMAS, « ERP et PGI, comment réussir le changement », édition
DUNOD, 2005
[4] : EL BOUANANI.H, Rapport de stage de master, « conception et développement d’un
module de gestion de transit à l’aide de l’ERP open source OpenERP », Faculté des sciences
Tétouan, Maroc, promotion 2008-2009.
[5] : Le site officiel d’OpenERP : http://www.openerp.com.
[6] : AIT MELOUK ADDI, mémoire de master spécialité ISI, ingénierie des systèmes
d’information, « conception et réalisation d’une application de gestion intégrée au sein de la
société EONE GROUP basée sur OpenERP », faculté des sciences Semlalia de Marrakech,
promotion 2012-2013.
[7] : GEOFFREY.S and FABIEN PICKAERS, TINYERP, « OpenERP, pour une gestion
d’entreprise efficace et intégrée », édition EYROLLES, MAI 2008.
[8] : PASCAL ROQUES & FRANCK VALEE, « Architecture logiciel, UML2 en action de
l’analyse des besoins à la conception », 4eme
édition EYROLLES, 2009
[9] : JOSEPH GABAY & DAVID GABAY, « UML 2 analyse et conception », 1ere
édition,
DUNOD 2008.
[10] : GILLES et ROY, « conception de la base de données avec UML », édition
EYROLLES, 2009.
[11] : Le site officiel de VMware : http://www.VMware.com.
[12] : Le site officiel d’Ubuntu : http:// www.ubuntu.com.
[13] : Le site officiel de postgreSQL : http://www.postgresql.org.
[14] : TAREK ZIADE, « programmation python », édition EYROLLES, janvier 2006.
[15] : SEBASTIEN LECOMTE & THIERRY BOULANGER, « XML par la pratique, bases
indispensables, concepts et cas pratiques, informatique technique », ENI édition, 2008.
Bibliographie
81
[16] : MYRIAM GRIS, le gestionnaire de base de données d’openOffice.org et libre office,
ENI édition, 2008.
De plus certains livres et site web que nous avons consulté pour réaliser notre projet :
SOUTOU et CHRISTIAN, UML2 pour les bases de données, EYROLLES édition,
2007.
JEAN-PAUL GOURRET, programmation système, maitriser les interfaces système
avec le langage C sous Linux, interpréteur de commandes, appels systèmes, threads
Posix, machine parallèle virtuelle PVM, ENI édition.
Le site officiel de Kazacube : htttp://www.kazacube.com.
Annexe A
Annexe A
Dans ce présent projet de fin d’étude comprend des annexes portant sur :
L’installation d’une VMware
L’installation d’Ubuntu dans la VMware
L’installation d’OpenERP sous Ubuntu
Personnalisation d’OpenERP
Les rapports
Installation des outils de travail
1. Installation de VMware Player
VMware Player est un logiciel permettant aux utilisateurs de créer et d'exécuter facilement
des machines virtuelles sur un poste de travail Windows ou Linux. Téléchargement de
VMware Player : http://www.vmware.com/go/downloadplayer/.
2. Installation d’Ubuntu
Nous lançons VMware Player et nous choisissons l’option “Create a New Virtual Machine” :
Figure 46: Création d'une nouvelle machine virtuelle.
Annexe A
Ensuite nous sélectionnons l’option : “Installer disc image file (iso):” et dans “Image
disque” nous choisissons le fichier “ubuntu-12.04-desktop-i386.iso”. Un formulaire à remplir
dont les renseignements servent à l’installation automatique d’Ubuntu. Les précautions
suivantes doivent être prises concernant les champs :
“User name” ne doit contenir que des minuscules et des chiffres
Privilégiez pour “Password” les lettres b, c, d, e, f, g, h, i, j, k, l, n, o, p, r, s, t, u, v, x,
éviter les lettres a, q, w, z… et les chiffres. Lors du démarrage d’Ubuntu, le mot de
passe est entré à l’aide d’un clavier configuré en Qwerty, alors que notre clavier est
généralement en Azerty. L’emploi de ces lettres évite l’ambiguïté.
Ubuntu s’installe alors dans VMware Player. Une fenêtre demande si l’installation de
VMware Tools est souhaitée. Ces utilitaires facilitent la copie de fichiers entre Windows et
Linux. Les paquets s’installent automatiquement, Ubuntu est installé.
Figure 47: Installation d'Ubuntu.
Nous arrivons sur le bureau “Unity” optimisé pour un affichage sur téléphone portable,
tablette ou PC. Il est alors possible d’améliorer légèrement la machine virtuelle, pour notre
cas nous avons changé la configuration du clavier.
3. Installation d’OpenERP
Le produit OpenERP est développé en langage Python. Il est capable de s’intégrer sur
tous les systèmes d’exploitation existants aujourd’hui : Linux, MacOSX et Windows.
La nouvelle version d'OpenERP 7.0 est une mise à jour majeure et une nouvelle version Long
Term Support. Le changement le plus notable est une réécriture complète de l'interface
utilisateur qui i d'un look beaucoup plus moderne. OpenERP 7.0 est non seulement plus beau
et plus facile à utiliser, il apporte aussi de nombreuses améliorations à l'ensemble de
fonctionnalités existantes et ajoute un certain nombre de nouvelles fonctionnalités à la portée
Annexe A
de l'entreprise qui utilise OpenERP. Avant Aujourd’hui, il convient de partir sur la version 7.0, car la maintenance de la version 6.1 est arrêtée en fin 2013. L’installation d’OpenERP 7.0 sous Ubuntu passe par plusieurs étapes :
Étape 1 : Construction du serveur Nous avons commencé par l’installation d’openssh-server, pour la connexion à distance, et
aussi denyhosts pour ajouter un degré de protection contre les attaques par force brute.
sudo apt-get install openssh-server denyhosts
Pour s’assurer que notre serveur dispose de toutes les dernières versions et correctifs en
faisant une mise à jour:
sudo apt-get update
sudo apt-get dist-upgrade
Étape 2 : Créer l'utilisateur qui sera propriétaire d’OpenERP et exécutera
l'application
La commande ci-dessus créera automatiquement le code du serveur OpenERP qui va être
placé dans un «home» : /opt/openerp.
sudo adduser --system --home=/opt/openerp --group openerp
Étape 3 : Installez et configurez le serveur de base de données, PostgreSQL
Installation de PostgreSQL :
sudo apt-get install postgresql
Ensuite, nous configurons l'utilisateur postgres sur OpenERP: nous modifions d'abord
l'utilisateur postgres afin d’avoir les privilèges nécessaires pour configurer la base de données.
sudo su - postgres
Maintenant, nous créons un utilisateur dans la nouvelle base de données. Il en est ainsi
OpenERP a des droits d'accès pour se connecter à PostgreSQL et créer et supprimer des bases
de données.
createuser --createdb --username postgres --no-createrole --no-superuser --
pwprompt openerp
Enter password for new role: ********
Enter it again: ********
Annexe A
Étape 4 : Installez les bibliothèques nécessaires pour le serveur Python
sudo apt-get install python-dateutil python-docutils python-feedparser
python-gdata \ python-jinja2 python-ldap python-libxslt1 python-lxml
python-mako python-mock python-openid \ python-psycopg2 python-psutil
python-pybabel python-pychart python-pydot python-pyparsing \ python-
reportlab python-simplejson python-tz python-unittest2 python-vatnumber
python-vobject \ python-webdav python-werkzeug python-xlwt python-yaml
python-zsi
Une fois cela fait, toutes les dépendances pour l'installation d'OpenERP 7.0 sont satisfaites.
L'étape 5 : Installez le serveur OpenERP
la commande wget pour le téléchargement des fichiers. Il n'y a pas une archive statique 7.0
communiqué comme tel, mais il y a une Source nightly build 7.0 qui devrait être tout aussi
bon et contiendra des patchs. Le lien ci-dessous est la source de l'archive pour la branche 7.0.
wget http://nightly.openerp.com/7.0/nightly/src/openerp-7.0-latest.tar.gz
Maintenant, installons le code où nous en avons besoin, il faut se placé dans le répertoire
/pt/openerp / et extrayons l'archive à cette endroit.
cd /opt/openerp
sudo tar xvf ~/openerp-7.0-latest.tar.gz
Ensuite, nous devons changer le propriétaire de tous les fichiers à l'utilisateur OpenERP et le
groupe que nous avons créé récemment.
sudo chown -R openerp: *
Et enfin, la façon dont nous l'avons fait, c'est de copier le répertoire du serveur dans un
répertoire que nous avons nommé server.
sudo cp -a openerp-7.0 server
L'étape 6 : Configuration de l'application OpenERP
Les commande suivante sert à copier le fichier de configuration défaut pour le serveur (dans
/opt/openerp/server/install/), le modifier et le copier à l’endroit ou nous en avons besoin
avec un changement propriété et autorisations.
Annexe A
sudo cp /opt/openerp/server/install/openerp-server.conf /etc/
sudo chown openerp: /etc/openerp-server.conf
sudo chmod 640 /etc/openerp-server.conf
Les commandes ci-dessus rend le fichier accessible en écriture et détenue uniquement par
l'utilisateur et le groupe OpenERP et n'est lisible que par root et OpenERP.
Vers le début du fichier, nous changeons la ligne db_password = False pour le mot de passe
que nous avons utilisé à l'étape 3.
sudo nano /etc/openerp-server.conf
Une autre ligne que nous pourrions aussi bien ajouter dans le fichier de configuration
maintenant, c'est de dire à OpenERP où écrire son fichier journal. Pour compléter notre
emplacement suggéré ci-dessous, ajoutons la ligne suivante dans le fichier openerp-
server.conf :
logfile = /var/log/openerp/openerp-server.log
Une fois le fichier de configuration modifié et enregistré, nous pouvons démarrer le serveur
juste pour vérifier s'il fonctionne réellement.
sudo su - openerp -s /bin/bash/opt/openerp/server/openerp-server
L'étape 7 : Installation du script de démarrage
Pour l'étape finale, nous avons besoin d'installer un script qui sera utilisé pour le démarrage et
l'arrêt du serveur automatiquement et également exécuter l'application en tant qu'utilisateur
correcte.
Il y a un script que nous pouvons utiliser dans /opt/openerp/server/install/openerp
server.init, mais il faudra quelques modifications pour fonctionner avec le système installé.
Nous devons soit la copier ou coller le contenu de ce script dans un fichier dans /etc/init.d/ et
appelez openerp-server.
Une fois qu'il est au bon endroit, nous devons le rendre exécutable et appartenant à root:
sudo chmod 755 /etc/init.d/openerp-server
sudo chown root: /etc/init.d/openerp-server
Dans le fichier de configuration, il y a une entrée pour le fichier journal du serveur. Nous
devons créer ce répertoire d'abord pour que le serveur a un endroit pour nous connecter et
aussi à rendre accessible en écriture l'utilisateur OpenERP:
Annexe A
sudo mkdir /var/log/openerp
sudo chown openerp:root /var/log/openerp
L'étape 8: Test du serveur
Pour démarrer le serveur OpenERP:
sudo /etc/init.d/openerp-server start
Nous devrions maintenant être en mesure d'afficher le fichier journal et de voir que le serveur
a démarré.
less/var/log/openerp/openerp-server.log
Maintenant nous allons pointer notre navigateur web vers localhost puisque nous somme sur
la même machine et utiliser le port 8069.
L'URL est comme suite:
http://localhost:8069
Figure 48: Création d'une base de données.
L'étape 9 : Automatisation du démarrage et de l'arrêt OpenERP
La dernière étape est de créer le script pour démarrer et arrêter automatiquement avec le
serveur Ubuntu. Pour cela:
sudo update-rc.d openerp-server defaults
Ensuite, nous avons créé une nouvelle base de données en remplissant les champs.
Une fois la base de données initialisée, nous serons dirigé directement à l'écran principal de la
nouvelle configuration.
89
Annexe B
Annexe B
90
1. VMware Player :
VMware crée un environnement clos dans lequel sont disponibles un, deux ou quatre
processeur(s), des périphériques et un BIOS virtuel. Selon les concepteurs, le
microprocesseur n'est émulé que quand c'est nécessaire, c’est-à-dire quand la VM (machine
virtuelle) tourne en mode noyau ou en mode réel, mais pas pour le mode utilisateur (user
mode) ou le Mode virtuel 8086. Selon les concepteurs, cela permet à VMware d'être plus
rapide que des solutions multi-plateformes qui émulent tout.
VMware assure l'émulation de la carte vidéo, la carte réseau, le lecteur de CD-
ROM, le bus USB, les ports séries et parallèle et le disque dur de type SCSI ou IDE. Ce
dernier étant un fichier extensible d'une taille voisine de la place occupée sur la machine
virtuelle ou fixe pour davantage de performance. Ce fichier contenant le contenu du disque
peut être copié sur un autre hôte et exécuté par un ordinateur. Pour l'ordinateur virtuel, tous
les périphériques sont identiques, même si le système hôte est totalement différent, car c'est
VMware qui caractérise les périphériques [11].
2. Ubuntu :
Ubuntu est un système d’exploitation libre commandité par la société Canonical et une
marque déposée par cette même société.
Fondé sur la distribution Linux Debian et utilisant le bureau Unity, Ubuntu se veut «convivial,
intuitif et sûr ». Il est constitué de logiciels libres, est disponible gratuitement y compris pour
les entreprises, et bénéficie d'une nouvelle version (appelée « mise à niveau ») tous les six
mois [12].
Avec une utilisation globale estimée à plus de 25 millions d'utilisateurs, il est
principalement conçu pour une utilisation sur des ordinateurs personnels (portables et fixes),
bien que d'autres versions consacrées aux netbooks et aux serveurs existent aussi.
3. PostgreSQL
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. 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étaires (comme Oracle, Sybase, DB2, Informix et
Microsoft SQL Server). Comme les projets libres Apache et Linux, PostgreSQL n'est pas
Annexe B
91
contrôlé par une seule entreprise, mais est fondé sur une communauté mondiale de
développeurs et d'entreprises [13].
4. Python
Python est un langage de programmation multi-paradigme. Il favorise la
programmation impérative structurée, et orientée objet. Il est doté d'un typage dynamique fort,
d'une gestion automatique de la mémoire par ramasse-miettes et d'un système de gestion
d'exceptions ; il est ainsi similaire à Perl, Ruby, Scheme, Smalltalk et Tcl. Le langage Python
est placé sous une licence libre proche de la licence BSD et fonctionne sur la plupart des
plates-formes informatiques, des supercalculateurs aux ordinateurs centraux, de Windows à
Unix en passant par Linux et Mac OS, avec Java ou encore .NET. Il est conçu pour optimiser
la productivité des programmeurs en offrant des outils de haut niveau et une syntaxe simple à
utiliser. Il est également apprécié par les pédagogues qui y trouvent un langage où la syntaxe,
clairement séparée des mécanismes de bas niveau, permet une initiation plus aisée aux
concepts de base de la programmation.
Python est un langage :
conçu pour produire du code de qualité, portable et facile à intégrer : grâce à sa
syntaxe claire, cohérente et concise, Python permet aux développeurs de produire du
code de qualité, lisible et maintenable.
Fourni dès le départ avec des modules de tests, Python est un langage agile. Le terme
agile est originellement issu de la méthodologie de programmation agile, très proche
de la programmation itérative. Cette méthodologie, qui réduit les risques liés à la
conception de logiciels, introduit entre autres des principes de tests continus du code.
De haut niveau, orienté objet et totalement libre : même si elle n’est pas imposée, Python permet la programmation orientée objet. Tous les mécanismes objet essentiels
sont implémentés et toutes les données manipulées sont des instances de classes,
comme pour les langages SmallTalk ou Ruby.
Annexe B
92
Dynamique : dans la plupart des implémentations, le code source n’est pas compilé
contrairement à des langages comme C ou Pascal, mais exécuté à la volée. Nous
parlons alors de langage interprété.
Ce mode de fonctionnement rend la programmation beaucoup plus souple puisqu’il est
possible de changer un programme en cours d’exécution [14].
5. XML (eXtensible Markup Language)
XML est en quelque sorte un langage HTML amélioré permettant de définir de
nouvelles balises. Il s'agit effectivement d'un langage permettant de mettre en forme des
documents grâce à des balises (markup).
Contrairement à HTML, qui est considérer comme un langage défini et figé (avec un
nombre de balises limité), XML peut être considéré comme un métalangage permettant de
définir d'autres langages, c'est-à-dire définir de nouvelles balises permettant de décrire la
présentation d'un texte (Qui n'a jamais désiré une balise qui n'existait pas ?). La force de XML
réside dans sa capacité à pouvoir décrire n'importe quel domaine de données grâce à son
extensibilité. Il va permettre de structurer, poser le vocabulaire et la syntaxe des données qu'il
va contenir.
En réalité les balises XML décrivent le contenu plutôt que la présentation
(contrairement À HTML). Ainsi, XML permet de séparer le contenu de la présentation, ce qui
permet par exemple d'afficher un même document sur des applications ou des périphériques
différents sans pour autant nécessiter de créer autant de versions du document que l'on
nécessite de représentations.
XML a été mis au point par le XML Working Group sous l'égide du World Wide Web
Consortium (W3C) dès 1996. Depuis le 10 février 1998, les spécifications XML 1.0 ont été
reconnues comme recommandations par le W3C, ce qui en fait un langage reconnu. XML est
un sous ensemble de SGML (Standard Generalized Markup Language), défini par le standard
ISO8879 en 1986, utilisé dans le milieu de la Gestion Electronique Documentaire (GED).
XML 62 reprend la majeure partie des fonctionnalités de SGML, il s'agit donc d'une
simplification de SGML afin de le rendre utilisable sur le web , XML fait partie du code des
modules composants OpenERP, les vues par lesquelles sont représentés les différents objets
sont écrites en XML, ainsi nous y trouvons la description détaillée de l’affichage des arbres,
formulaires, menus et autres actions [15].
Annexe B
93
5.1. OpenOffice et la conception des rapports
5.1.1. OpenOffice : est une suite bureautique libre et gratuite qui offre des modules de
traitement de textes, tableur, présentation, dessin vectoriel, base de données, et
édition de formules mathématiques.
OpenOffice Texte : est un outil du traitement de texte. Il permet de gérer en
plusieurs langues les paragraphes et mettre en forme les documents, tant au
niveau de leur contenu sémantique que de leur mise en page.
Rapports OpenOffice.org : Rapports OpenOffice sont les formats de
rapports les plus couramment utilisés par OpenERP après l’installation d’un
plugin qui permet de gérer la connexion entre le serveur OpenERP et
OpenOffice Texte via le protocole XML-RPC afin de crée des nouveau
rapports ou de modifier des rapports existant déjà. OpenOffice Texte est
utilisé pour générer un modèle RML, qui à son tour est utilisé pour générer
un rapport PDF imprimable [16].
6. Visual Paradigm
Est un outil de conception de logiciel conçus pour des projets de logiciels agiles.
Visual paradigm soutient les normes de modélisation telle qu’UML, SysML, la DRE, DFD,
BPMN, ArchiMate, etc.
Visual paradigm facilite logiciels et systèmes qui excellent dans l’expérience de
l’utilisateur en soutenant l’identification utilisation efficace des cas, la collecte des besoins,
flux d’évènements, wireframing, génération des spécifications des exigences, etc.
Résumé
Pour améliorer sa performance, l’entreprise d’aujourd’hui vise à automatiser la gestion
interne de ses activités en faisant appel à des technologies informatiques. D’ailleurs c’est le
cas de l’entreprise ISATIS qui souhaite optimiser la totalité de sa gestion autour d’un même
système d’information à l’aide des progiciels de gestion intégrée connu sous l’acronyme ERP.
Notre projet consiste à identifier et analyser les besoins liés à l’entreprise qui
s’articulent autour des modules fonctionnels à savoir : la gestion des ventes, la gestion
comptable, la gestion de projet, puis la gestion des ressources humaines.
Pour y arriver, il a fallu d’abord une étude comparative entre les différents types
d’ERP existants dans le marché qui a abouti au choix d’OpenERP.
A l'aide de ce système unifié, les utilisateurs de différents métiers travaillent dans un
environnement applicatif identique qui repose sur une base de données unique. Ce modèle
permet d'assurer l'intégrité des données, la non-redondance de l'information et la réduction des
temps de traitement.
La réalisation de ce projet, quant à elle, est composée essentiellement du: paramétrage,
personnalisation et intégration des module fonctionnels cité ci dessus.
L’étape finale consiste à faire des tests pour s’assurer que le travail a bien été fait, et
corriger les bugs qui peuvent arriver, si jamais il y en a.
Mots-clés : OpenERP, ERP, Système d’information, Python, XML, Gestion intégrée.
Abstract
In order to improve its performance, today’s company aims to automate the internal
management of its activities through the use of computer technology. Indeed this is the case
of the company ISATIS wishing to optimize its entire management around a single
information system using ERP systems known by the acronym ERP.
Our project is to identify and analyze the needs related to the business that revolve around
functional modules namely: sales management, account management, project management
and human resource management.
To get there, at first a comparative study has been taken between the different types of
existing ERP in the market that led to the selection of OpenERP.
Using this unified system, users of different trades working in the same application
environment based on a single database. This model ensures data integrity, non-redundant
information and reducing time processing.
The realization of this project, in turn, consists essentially of: setup, customization and
integration of the previously mentioned functional module.
The final stage comprised to do tests to make sure the work has been done, and fix bugs that
can happen, if ever there were.
Keywords : OpenERP, ERP, information System, Python, XML.