Académique Documents
Professionnel Documents
Culture Documents
Etablissement Inter – Etats d’Enseignement Supérieur Libreville (Gabon) - Tél. (241) 77 05 09 01 / +241 77 43 22 13
BP 2263 Libreville (Gabon) - Tél. (241) 07 70 55 00 / 07 70 56 00 Site web : www.ara-labs.com Email: contacts@ara-labs.com
Site web : www.iaisiege.org Email : contacts@iaisiege.org
MOUAMADJE Thiery
EALISATION D’UN ERP MULTIPLATEFORME:Négoce et Facturation
DEDICACES ....................................................................................................................... ix
REMERCIEMENTS ..............................................................................................................x
RESUME ............................................................................................................................. xi
INTRODUCTION GENERALE.............................................................................................1
II.1 ERP..........................................................................................................................9
Références ...........................................................................................................................xiv
Figure 1:Architecture technique des ERP (Présentation générale des ERP et leur architecture
modulaire, 2020) .................................................................................................................. 10
Figure 2: Architecture modulaire des ERP (Présentation générale des ERP et leur architecture
modulaire, 2020) .................................................................................................................. 11
Figure 3:Le workflow ...........................................................................................................12
Figure 4:Processus de la gestion commerciale (Présentation générale des ERP et leur
architecture modulaire, 2020) ............................................................................................... 14
Figure 5:Processus d'achat et approvisionnement (Home/Achats et Approvisionnements, 2020)
.............................................................................................................................................17
Figure 6: Processus d'achat ................................................................................................... 17
Figure 7: Processus d'achat (Home/Achats et Approvisionnements, 2020) ............................ 17
Figure 8: Processus de vente (Présentation générale des ERP et leur architecture modulaire,
2020) .................................................................................................................................... 20
Figure 9: Processus de stock (Présentation générale des ERP et leur architecture modulaire,
2020) .................................................................................................................................... 22
Figure 10: Le cycle de l'Extreme Programming (Le cycle de l'Extreme Programming., 13
novembre 2013).................................................................................................................... 34
Figure 11: Scrum (SUBRA, septembre 2019) ....................................................................... 34
Figure 12:schémas description du processus utilisé ............................................................... 37
Figure 13: Chaîne complète de la démarche de modélisation du besoin jusqu’au code ..........37
Figure 14: Diagramme de contexte statique ..........................................................................44
Figure 15:Cas d'utilisation gestion d'administration .............................................................. 48
Figure 16:Cas d'utilisation gestion des structures de base ...................................................... 49
Figure 17:Cas d'utilisation gestion de vente ..........................................................................50
Figure 18:Cas d'utilisation gestion d'achat ............................................................................ 51
Figure 19:Cas d'utilisation gestion de stock ..........................................................................52
Figure 20:Diagramme de sequence s'authentifier .................................................................. 66
Figure 21: Diagramme de sequence enregistrer article .......................................................... 67
Figure 22: Diagramme de sequence Enregistrer tiers............................................................. 68
Figure 23:Diagramme de sequence enregistré un document .................................................. 69
Figure 24:Diagramme de sequence enregistré un règlement .................................................. 70
Figure 25:Diagramme de sequence processus de vente ......................................................... 71
Figure 26:Diagramme de classe gestion de vente .................................................................. 73
Je dédie ce travail…
À ma chère mère YAYAM Léonie,
À mon cher père NDILNGAR Yota,
Qui n’ont jamais cessé, de formuler des prières à mon égard, de me
soutenir et de m’épauler pour que je puisse atteindre mes objectifs.
À tous mes frères et sœurs particulièrement à mes grands frères
KOMTEBAYE Romain et Merci YOTA Olivier
Pour tous les conseils et divers soutiens. Je vous suis très reconnaissant,
et je ne vous remercierai jamais assez pour votre amabilité, votre
générosité, votre aide précieuse. Je vous souhaite une vie pleine de
bonheur et de succès et que Dieu, le tout puissant, vous protège et vous
garde.
A la mémoire de mon grand frère ALLADOUMADJE Roland,
Aucune dédicace ne saurait exprimer l’amour, l’estime, le dévouement et
le respect que j’ai toujours eu pour toi. Rien au monde ne vaut les efforts
fournis à mon égard.
Mes remerciements vont tout d’abord à DIEU le tout puissant qui m’a guidé tout au long du travail et
qui a su me donner la force, le courage et la persévérance malgré d’énormes difficultés rencontrées.
La rédaction de ce mémoire n’aurait pas été possible sans l’intervention consciente des personnes ci-
dessous que je tiens à remercier.
Je désire aussi remercier le corps professoral et administratif de l’IAI pour la formation qu’ils nous
ont donnée et l’encadrement dont nous avons bénéficié de leur part ;
Je tiens à remercier la communauté des étudiants tchadienne de l’IAI, mes camarades de classe et les
autres étudiants de l’IAI pour les moments partagés pendant les trois années de formation à l’IAI.
A tous ceux qui ont contribué de près ou de loin à la réalisation de cet ouvrage, soyez-en remerciés.
Sans votre concours, ce travail ne serait arrivé à son terme. Veuillez trouver ici, l’expression de ma
profonde gratitude.
To improve its performance, the company of today aims to automate the internal
management of its activities by using computer technologies, which leads most companies to
optimize their entire management around an information system using integrated management
software known by the acronym ERP.
Indeed, the firm 2BN International is an accounting firm that accompanies daily very
small businesses (VSE) and small and medium enterprises in many areas including: social,
tax, legal. But also in the search for financing, the implementation of information systems and
ensure a good accounting.This while, most of the ERP on the market are of Western origin
from where the tax reality does not integrate the local reality; more functionality that makes
their use complex but also their cost of acquisition is very high.Thus a partnership was born
between ARA LAB'S and the latter for the realization of a project named Factor X. This is a
set of management systems (commercial management, accounting, cash management)
designed for small and medium-sized businesses.
This module will allow the automation of all the processes of purchase management
(Order form, Receipt form, Invoice and payment of invoices), sales management (Quotation,
Order form, Delivery form, Return form, Invoice, Credit note and payment of invoices) and
stock management (Entry form, Exit form, Transfer and inventories). It also allows the
generation of accounting entries.
To carry out our work we proceeded to the analysis, the design and the modelling of
the system by using a method of object design. This method is the combination of UML with
unified processes (UP) and agile methods such as XP and Scrum; by using a WinDev AGL
and MySQL DBMS.
SI Système d’Informaton
TR Treasury,
UML Unified Modeling Language
UP Unified Process
Dans le but de former des cadres en Informatique, l’Institut Africain d’Informatique a été créé
le 29 Janvier 1971 à Fort-Lamy et compte à ce jour 11 états africains. Il forme des Analystes
programmeurs, des ingénieurs et des Maitres en informatique appliquée à la gestion des entreprises sans
oublier le cycle master et licence professionelle.
Afin de préparer les futurs diplômés à l’insertion professionnelle, l’IAI prévoit que chaque futur diplômé
effectue un stage de fin de formation dans une entreprise ou dans un centre de recherche ou de
développement.
Le présent mémoire rentre dans ce cadre en vue de l’obtention du diplôme de fin d’étude du
cycle ingénieur. Il constitue donc l’aboutissement de trois (3) années de formation à l’Institut Africain
d’Informatique de Libreville, incluant cinq (5) mois de stage pratique effectué à ARA LAB’S SARL. Il
tient lieu de mémoire de fin de formation d’ingénieur en Informatique et s’intitule :
CONCEPTION ET REALISATION D’UN ERP MULTIPLATEFORME POUR LES TPE ET PME :
Négoce et Facturation
Les systèmes d’information (SI) sont devenus des outils prépondérants dans la conduite des
activités par les entreprises et la plupart des organisations.
Ils sont présents dans tous les secteurs de l'économie dont l’informatique de gestion représente le
domaine d'application le plus important. Cette dernière se caractérise par la conception, le
développement et la mise en œuvre d'applications informatiques dédiées au management (gestion
administrative, commerciale etc…) des entreprises, au suivi des clients et aux relations avec les
fournisseurs.
En effet, depuis les années 1990, l’ERP ou Enterprise Resource Planning est devenu un outil
standard pour bon nombre de grandes entreprises ou de PME. Pourtant, dans les années 1970, l’idée
d’un seul outil informatique intégré permettant de gérer l’ensemble des activités de l’entreprise ne
semblait être qu’utopie. Les organisations multipliaient les outils afin d’obtenir un système qui
permettait à chaque fonction de gérer son activité (Markus, 2000). Cependant, cette multitude de
système ainsi que la duplicité des informations qui y est associé fut dans de très nombreux cas, source
d’erreurs plus ou moins graves. C’est ainsi que dans les années 1980-90, des développeurs de systèmes
informatiques eurent l’idée de créer un logiciel unique permettant l’intégration de l’ensemble des
fonctions et apportant une solution aux problèmes rencontrés. Un tel système permet à l’information,
une fois qu’elle est entrée dans l’outil, de circuler à travers l’entreprise et d’être accessible à tout instant,
pour tout service.
C’est ainsi que dans le cadre de la mise en œuvre du partenariat entre ARA LAB’S et le cabinet
2BN International, il nous a été confié la tâche consistante à concevoir et mettre en œuvre le module
« Négoce et Facturation » d’un futur ERP ou progiciel de gestion intégré en français.
Ce module qui est une gestion commerciale dont les principaux objectifs sont de réaliser, la gestion des
ventes, d’achats et de stocks qui sont les fonctions associées aux activités commerciales d’une entreprise.
Il est abordé d'une part dans le cadre des traitements classiques de la chaîne commerciale et d'autre part
dans celui des analyses et prévisions de la politique mercatique tout en intégrant tous les aspects liés au
domaine de la comptabilité.
Ce document est composé de trois (3) grandes parties. D’abord, la première partie traite du sujet
et de ses généralités. Dans cette partie nous présenterons le centre d’accueil, le sujet et ses contours.
Ensuite, la deuxième partie se consacre à l’analyse, la conception et la réalisation du système. Enfin, la
troisième partie porte sur la conduite, la planification et l’estimation globale de notre projet.
Dans cette première partie de notre rapport, nous situons le contexte dans lequel s’inscrit le
sujet soumis à notre étude, la problématique qu’il soulève, son intérêt et les objectifs visés. Tout d’abord,
nous présentons la structure qui nous a accueillis pendant la durée de notre stage, ensuite, nous
poursuivons avec les concepts clés nécessaires à la compréhension du sujet.
I. LA STRUCTURE D’ACCUEIL
I.1 Présentation
Nous avons éffectué notre stage à ARA LAB’S Sarl, une Société de Services en Ingénierie
Informatique (SSII) que nous allons présenter l’organigramme et la mission de ce dernier.
ARA LAB’S est une Société à Responsabilité Limitée (SARL) créée le 26 Février 2019 par deux
(2) jeunes ingénieurs Africains, sortis de l’Institut Africain d’Informatique (IAI). Ils ont ainsi décidé de
mettre en commun leurs compétences au service des TPE et PME Africaines.
ARA LAB’S dispose des équipes composées d'ingénieurs : de consultants informaticiens aux profils
différents mais complémentaires et de commerciaux indépendants. On y trouve des développeurs, des
consultants fonctionnels (assistance à maîtrise d'ouvrage), des chefs de projets, des ingénieurs de
systèmes et réseaux, des administrateurs de bases de données, etc.
produits existants et à optimiser les ventes. Elle s’occupe également des négociations commerciales de
haut niveau.
DIRECTION GÉNÉRALE
DIRECTION DIRECTION
DIRECTION
ADMINISTRATIVE ET COMMERCIALE
TECHNIQUE
FINANCIÈRE ET MARKETING
SERVICE
INFORMATIQUE
CONSULTANTS
I.3 Missions
ARA LAB’S est une structure dont l’expérience et la qualité des services ainsi que son
dynamisme témoignent son aspiration : « se positionner parmi les meilleurs éditeurs de logiciels
informatiques en Afrique ».
ARA LAB’S offre une palette de services à ses clients.
Logiciels de gestion
GP Auto : Gestion de parcs automobiles
GuestManager : Logiciel de gestion des hôtels et restaurants
Damla (Gestion de la Caisse)
ara-immo : Système de gestion des agences immobilières
Conception et développement
Interfaçage et intégration à Sage
Applications sur mesures
Applications Web
Sites web
Sécurité systèmes et réseaux
Conception et déploiement
Administration et Maintenance
Windows Server
Microsoft Office
Vente de matériels informatiques
Infogérance
Diverses formations
Pack Microsoft Office
C’est nous avons effectué notre stage dans la direction technique principalement dans le service
informatique
I.4 Localisation
ARA LAB’S exercice au sein de l’entreprise partenaire Cabinet 2BN international situé au
quartier Louis au 2e étage appartement B2 de l’immeuble collé au centre de santé de Louis et en face du
petit marché.
Téléphone +241 77 05 09 01
Email nodjiam@ara-labs.com
Site web www.ara-labs.com
Tableau 1: Contact Ara lab's
homogène afin de gagner en productivité et réduire les travaux redondants. Ainsi, chaque maillon de
l’organisation apportera sa contribution et la mettra à disposition des autres acteurs de la chaine.
Notre projet consiste donc à proposer une solution répondant aux besoins fonctionnels d’entreprise.
Cette solution devra entre autres assurer :
La gestion des tiers à savoir les prospects, clients et les fournisseurs avec une interface
ergonomique qui facilite la navigation entre les fonctionnalités du système.
L’optimisation de la gestion des processus métiers : en occurrence, la gestion des ventes, achats
et stock.
Permettre d’éditer, générer, imprimer ou envoyer par email les documents de vente et d’achats
qui sont : devis, bons de commande, bons de livraison, bons de réception, bons de retour,
facture, avoir.
Gérer les paiement des factures clients ou fournisseurs et envoyer les lettres de relance.
Gérer efficacement le stock, avec la possibilité de faire les inventaires physiques et de consulter
l’état des stocks n’importe quand
Générer des écritures comptables, transferer des données dans la comptabilité et le pilotage, tout
en garantissant un accès mobile aux données.
Avoir des statistiques de vente
La possibilité de développer de nouvelles fonctionnalités
Un client mobile qui permet l’accès aux fonctionnalités système à l’aide des smartphones.
Toutes les informations provenant des transactions - achats-ventes sont présentées sous forme des
rapports, des graphiques, des tableaux de bord et des indicateurs clés, contribuant ainsi à l'optimisation
d'une gestion opérationnelle et à l'amélioration des performances des entreprises
II.4 Problématique
La réussite du projet qui nous a été confié, passe par la compréhension de l’architecture et
fonctionnement du système (ERP) et la gestion commerciale au sein d’une entreprise. Nous devons avoir
les connaissances sur les opérations comptables qui interviennent dans le processus commercial.
La disponibilité du système en web, mobile (systèmes Android et iOS) et desktop est un point important
à ne pas négliger lors de la conception de la solution tout en tenant compte des possibilités d’évolution
de cette dernière. Aussi faudrait-il tenir compte de l’architecture de déploiement du système pour une
parfaite communication entre ces environnements. En résumé nous nous intéresserons principalement :
Aux choix des outils pour assurer la disponibilité de la solution sur le Web, mobile et desktop ;
Aux choix d’une architecture de développement adaptée à l’environnement de déploiement du
système ;
II.1 ERP
II.1.1 Définition
La définition ERP vient de l’anglais « Entreprise Ressource Planning ». ERP a été traduit en français
par l’acronyme PGI (Progiciel de Gestion intégré) et se définit comme un groupe de module relié à une
base de données unique.
II.1.3 Architecture
II.1.3.1 Architecture technique
Tous les utilisateurs utilisent une base de données commune. L'information est au centre, disponible en
temps réel. L'information doit être mise à jour avec justesse et ponctualité.
Figure 1:Architecture technique des ERP (Présentation générale des ERP et leur architecture
modulaire, 2020)
II.1.3.2 Architecture modulaire
Les fonctionnalités offertes par un ERP sont présentées sous formes d’activités regroupées par
homogénéité dans des modules. On parle de cartographie d’un ERP. Deux notions sous-jacentes:
✓ La couverture fonctionnelle : fait référence à l’ensemble des fonctions de l’entreprise couverte
par l’ERP. Exemple : fonction achat, fonction projet, etc…
✓ La profondeur fonctionnelle : fait référence au degré de spécialisation par lequel un ERP permet
la réalisation d’une fonction. Exemple : degré de spécialisation offert pour la gestion de projet.
Figure 2: Architecture modulaire des ERP (Présentation générale des ERP et leur architecture
modulaire, 2020)
II.1.3.3 Le paramétrage
Le paramétrage d’un ERP consiste à l’activation ou la désactivation de la fonctionnalité standard de
l’ERP pour obtenir le flux désiré. Il y’a plusieurs niveaux de paramétrage :
✓ Paramétrage de base : concernent la configuration aux données de base qu’utilise l’entreprise.
Exemple : les unités par défaut (poids, devise, etc…), format des données, fuseaux horaires,
etc…
✓ Paramétrage fonctionnel : concernent la Configuration aux besoins et aux particularités de
l'entreprise. Exemples : type d’article (sur stock, à la commande, etc…), catégorie tarifaire,
etc…
✓ Paramétrage système : concernent la configuration des droits d’utilisation, des comptes, des
mots de passe,
✓ Certaines contraintes n’existent pas en standard (développement spécifique)
✓ L’exploitation directe de l’ERP n’est pas un paramétrage. Exemple : saisi d’un article, d’un
fournisseur.
II.1.3.4 Le workflow
La notion de workflow est dédiée à la collaboration entre les intervenants des processus métiers en
automatisant les échanges d’informations et en exécutant des tâches, afin d’atteindre un objectif
commun.
Il se caractérise généralement dans un ERP :
Par la mise à la disposition d’un message dans la file d’attente du poste de travail de l’utilisateur
qui doit réaliser une tâche (de validation).
Le workflow doit être capable d’aiguiller le processus sur la bonne transaction en fonction du
type d’objet de gestion à traiter.
En général, les moteurs de workflow proposent deux choix de distribution du travail dans l’organisation :
Les intervenants conservent le choix des tâches à exécutées en fonction de leur priorité,
Les tâches affectées aux intervenants sans laisser le choix.
ERP
Figure 4:Processus de la gestion commerciale (Présentation générale des ERP et leur architecture
modulaire, 2020)
Une commande de vente correspond à une vente, donc il y a décrémentation du stock et
inversement lors d'un retour. Entre le processus de vente et achat, il y a contremarque, c'est-à-dire une
fabrication d'un article après la vente. Enfin, entre le processus vente et comptabilité générale et
analytique, il y a les règlements clients ou encore les avoirs.
Ceci correspond donc aux processus de base à connaître afin de paramétrer un ERP.
Remarque : une entreprise peut avoir des filiales ou encore être multisites.
Les tiers impliqués dans une vente sont: les clients, l'utilisateur (personnel/ représentant), le
transporteur,et le comptable (qui gère le règlement des factures).
Pour réaliser l’achat pour le compte de son entreprise voici le processus d’une manière générale. Que
vous ayez besoin d’acheter un bien ou une prestation de conseil par exemple, trois étapes préalables sont
à respecter :
L’identification de votre besoin ;
La recherche de fournisseurs ;
La négociation.
Cette phase préliminaire passée, le vendeur doit préciser toutes les facettes de la prestation de services
ou de la vente : désignation du service ou du produit, quantité, prix unitaire, prix total, modalités de
livraison, pénalités en cas de retard, délais de paiement ou encore droits et devoirs des deux parties.
Cette formalisation de la prestation peut prendre trois formes différentes selon les pratiques des
entreprises :
✓ La signature d’un devis : ce document, fourni par le vendeur, récapitule les termes de l’offre.
Une fois que vous le signez, il a valeur de contrat, engageant juridiquement les deux parties.
✓ L’édition d’un bon de commande : à l’inverse, ce document est émis par l’acheteur. Une fois
signé par le vendeur, il vaut contrat. Il présente généralement les mêmes informations que le
devis, auquel il peut se substituer.
✓ La réalisation d’un contrat : il s’agit d’une convention, qui peut être écrite comme orale, entre
l’acheteur et le vendeur. Le contrat écrit est généralement privilégié par les entreprises pour les
transactions importantes ou périodiques. Il est à l’initiative de l’acheteur et doit, par conséquent,
être signé par le fournisseur.
Le contrat présente l’avantage d’être plus exhaustif que le devis ou le bon de commande. Ainsi,
il peut prévoir des clauses additionnelles (transfert de propriété, limitation de la responsabilité
du vendeur, etc.).
La réception de la marchandise
Une fois la transaction formalisée et encadrée, une nouvelle phase débute : le suivi de la commande.
L’acheteur doit surveiller l’avancement de la prestation et, éventuellement, réaliser des relances de son
fournisseur, en cas de retard. Lorsque l’objet de la transaction est livré, le fournisseur remet un bon de
livraison. Avant de le signer, vous devez réaliser un contrôle qualitatif et quantitatif et, si nécessaire,
émettre des réserves. Dans le cas de fournitures ou de matière première, la marchandise doit être
enregistrée dans la fiche de stock avant stockage.
La facturation
Le paiement
En l’absence de mentions contraires notamment dans le devis, le bon de commande ou le contrat le délai
de paiement est, par principe, de 30 jours à compter de l’exécution de la prestation ou de la livraison de
la marchandise. Vous pouvez néanmoins négocier avec votre fournisseur afin d’allonger ce délai de
règlement. Il ne peut cependant pas être supérieur à 60 jours ou à 45 jours fin de mois, dans les deux cas
à date de facturation. Sachez d’ailleurs que des délais spécifiques s’appliquent pour certains secteurs
d’activité, dont l’alimentation et le transport.
Si vous ne réglez pas la facture en temps et en heure, vous vous exposez à plusieurs sanctions :
Des pénalités de retard : elles sont dues dès le premier jour de retard de paiement. Leur montant
est calculé en fonction d’un taux d’intérêt inscrit sur la facture ;
Une indemnité forfaitaire : pour tout retard de paiement, vous êtes redevable d’une indemnité pour
frais de recouvrement. C’est également valable en cas de paiement partiel de la facture à échéance ;
Amende administrative
L'achat d'un bien/service entrant dans le processus d'exploitation est reporté comme une charge dans le
compte de résultat, car il est destiné à l'activité de production ou à être revendu.
L'achat (ou acquisition) d'immobilisations est en revanche enregistré dans l'actif du bilan.
Lorsque l'on enregistre un achat dans sa comptabilité, il est composé de 3 différents montants :
Le prix hors taxe (HT),
La taxe sur la valeur ajoutée (TVA), qui sera déductible s'il s'agit d'un achat professionnel,
Le prix toutes taxes comprises (TTC), payé au fournisseur, qui reverse la TVA collectée au
Trésor Public.
En conséquence, si une entreprise n'est pas assujettie à la TVA, elle enregistre les prix d'achat TTC
dans les comptes 601 à 607.
A propos des réductions obtenues (Remises, Rabais, Ristournes et escomptes)
Les achats sont comptabilisés déduction faite des rabais et remises déduits du montant des factures.
Autrement dit : les déductions commerciales n'apparaissent pas dans les comptes.
Par contre, les escomptes obtenus (qui sont des réductions financières) doivent être enregistrés
au crédit du compte « 765 - Escomptes obtenus ».
A propos des frais accessoires d'achat (transports, commissions, assurances...)
Les frais accessoires d'achat payés à des tiers sont comptabilisés dans les comptes de charges
correspondant à leur nature ou dans les comptes d’achats concernés (601 à 607) lorsque ces charges
peuvent être affectées de façon certaine à telle ou telle catégorie de marchandises ou
d’approvisionnements.
Ils peuvent aussi être comptabilisés dans une subdivision du compte 608. Par exemple les frais de
transports de marchandises seront enregistrés dans le compte « 608724 - Frais de transport sur achats de
marchandises ».
Figure 8: Processus de vente (Présentation générale des ERP et leur architecture modulaire, 2020)
II.2.2.3 L'enregistrement comptable d'une facture de vente
Lorsqu’une société effectue une vente de produits finis, de marchandises ou même de prestations de
service, elle doit enregistrer au crédit un produit en utilisant un compte de la classe 7. Cet enregistrement
se fait à la date d’émission de la facture adressée au client.
✓ Les ventes de marchandises, sont des biens revendus en l’état, et doivent être enregistrées dans
les comptes ou sous-comptes du 707. Ventes de marchandises
✓ Les ventes de produits finis, sont des biens qui ont été transformés ou fabriqués par l’entreprise
elle-même, et doivent être enregistrées en 701. Ventes de produits finis
✓ Les prestations de services sont à enregistrer en 706. Prestations de services
Figure 9: Processus de stock (Présentation générale des ERP et leur architecture modulaire, 2020)
b. Types de stocks
Dans le jargon de la profession, on distingue différents niveaux de stock :
Stock minimum ou d'alerte (ou point de commande ou de couverture) c'est le niveau de stock
servant à déclencher un réapprovisionnement. C’est le niveau de stockage qui permet de
déterminer le point de commande pour les consommations régulières.
Stock de sécurité ou de protection : le niveau de stock disponible pour répondre à des situations
imprévues telles que retard d'approvisionnement ou commandes exceptionnelles.
Stock maximum : le niveau de stock qui correspond à la capacité physique maximale de
stockage. Au-dessus de ce seuil, le stockage devient onéreux.
Stock tampon ou stock délai : permet une consommation normale pendant le délai de
réapprovisionnement.
Stock mort ou dormant : correspond à des produits stockés sans sortie depuis un certain temps.
S'il s'agit de produits finis, on les appelle particulièrement rossignols, et ils sont soit soldés soit
détruits.
Stock disponible : niveau de stocks qui correspond au stock existant additionné des entrées
prévisionnelles et diminué des sorties prévisionnelles.
SAP
SAP est le leader mondial du monde des ERP. Ce progiciel a remporté rapidement un succès important
auprès des grandes entreprises en proposant un progiciel multilingue et multidevises. SAP s’intéresse
aussi au marché des PME, en pleine croissance en proposant sa suite BusinessOne, pour les entreprises
de 2 à 250 salariés. SAP 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.
Il est doté de plusieurs sortes de modules : des modules orientés logistique (MM, PP, SD, QM, PM),
Finance (FI, CO, TR, IM) et ressources humaines (RH).
Les logiciels de SAGE visent en partculier les entreprises de moins de 500 salariés.
Cependant, en Novembre 2005, Sage rachète l'éditeur Adonix pour s'ouvrir le marché des PME/PMI
de 500 à 2 000 salariés. Les modules de SAGE sont les suivants :
✓ La logistique qui inclut la gestion des nomenclatures, des plans de production, l’analyse des
coûts de fabrication et la gestion des stocks.
✓ La comptabilité qui inclut la comptabilité générale et analytique, la gestion de trésorerie, la
communication bancaire.
✓ Les ressources humaines : gestion de la paie, des carrières, des compétences et de la
formation.
✓ Le marketing/CRM/ventes : campagnes de ventes/marketing, gestion des forces de vente,
module de e-commerce, configurateur de catalogues, gestion des paiements sécurisés
Ci-dessous le prix de la Solutions de gestion commerciale pour les PME - Gamme Sage 100
Odoo est le programme de gestion d’entreprise le plus évolutif et le plus installé au monde grâce à ses
applications répondant à tous les besoins d’une entreprise, de la gestion de la relation client à la création
de sites web et d’e-commerce, en passant par la production, la gestion d’inventaire, la comptabilité etc…
Dolibarr
Dolibarr est un ERP/CRM ou progiciel de gestion intégré et gestion de la relation client.Il fonctionne
avec des utilisateurs multiples, sans licence et gratuitement. Logiciel open-source, il dispose de
fonctionnalités natives que vous pouvez améliorer par l'ajout de modules additionnels ou leur création
si vous en avez les compétences.Dolibarr s'installe sur un serveur internet, chez vous ou hébergé, et son
installation estrelativement simple.Nativement, Dolibarr possède toutes les fonctionnalités nécessaires
à la gestion d'uneentreprise de commerce ou de production de biens et même plus..
III.2.4 Justification
Disposer d’une architecture technique flexible, paramétrable et réutilisable
Pas de dépendance d’un éditeur pour la maintenance de l’outil
Une solution à un coût réduit
La politique du cabinet qui est celle de proposer des logiciels developpés en interne
Dans cette partie, nous présentons les travaux de conception et de réalisation relatifs à la
solution proposée. Cette partie s’articule autour de trois chapitres : la méthodologie et le choix des
méthodes de développement couplée à une étude préliminaire, la modélisation du problème proprement
dite, et on terminera cette partie par le chapitre sur la mise en œuvre de la solution.
La plupart des échecs de développement de logiciels sont dus à la recherche précipitée de la solution
et le non adéquation de solution logiciel et des besoins utilisateur. Tout ceci est dû au manque de suivi
d’une méthode d’analyse et de conception. C’est dans cette logique que nous avons trouvé utile de suivre
une méthode de conception afin d’optimiser la réussite de notre projet
UML depuis la version 2.0 comporte treize types de diagrammes représentant autant de vues distinctes
pour représenter des concepts particuliers du système d’information.
Ces diagrammes, d’une utilité variable selon les cas, ne sont pas nécessairement tous produits à
l’occasion d’une modélisation. Les plus utiles pour la maîtrise d’ouvrage sont les diagrammes de cas
d’utilisation, d’activités, de classes, de séquence et d’états transitions. Les diagrammes de composants,
de déploiement et de communication sont surtout pour la maitrise d’œuvre à qui ils permettent de
formaliser les contraintes de la réalisation et la solution technique
Conduit par les cas d’utilisation : le projet est mené en tenant compte des besoins et des
exigences des utilisateurs. Les cas d’utilisation du futur système sont identifiés, décrits
avec précision et priorisés
Piloté par les risques : les risques majeurs du projet doivent être non seulement identifiés
au plus tôt, mais surtout levés le plus rapidement possible. Les mesures à prendre dans
ce cadre déterminent l’ordre desitérations.
Il existe plusieurs processus unifiés à savoir : 2TUP, RUP, XUP, etc.
programmation. Il s'agit donc de déterminer les objets présents et d'isoler leurs données et les fonctions
qui les utilisent. Pour cela des méthodes ont été mises au point. Entre 1970 et 1990, de nombreux
analystes ont mis au point des approches orientées objets, si bien qu'en 1994 il existait plus de 50
méthodes objets. Toutefois seules trois (3) méthodes ont véritablement émergé :
La méthode OMT de Rumbaugh ;
La méthode BOOCH'93 de Booch ;
La méthode OOSE de Jacobson.
Les promoteurs de ces trois (3) méthodes se sont fixées pour objectif de créer une méthode qui fasse la
synthèse des éléments indispensables pour faire du développement objet. Sur le plan du langage, ils ont
créé le langage UML pour la modélisation orientée objet. Pour les processus, le consensus se fait sur les
processus unifiés qui sont des méta-processus à partir desquels le
chef du projet doit décrire son véritable processus, en prenant en compte les spécificités du
problème posé, les outils et les personnes impliquées. Ce processus réel construit sur le modèle
qu’est le processus unifié, s’exprime en termes d’itérations.
Figure 10: Le cycle de l'Extreme Programming (Le cycle de l'Extreme Programming., 13 novembre
2013)
III.3.4.2 Scrum
Scrum est conçue pour améliorer de manière significative la productivité des équipes de développement.
C’est une méthode qui s’adapte à tout type de contexte et de projet dès lors qu’un groupe de personnes
cherche à atteindre un but commun.
Complexité gérée. L’équipe n’est plus épuisée par l’analyse ou la complexité des tâches.
Possibilité d’exploiter méthodiquement les leçons tirées d’une itération. Cela permet
d’améliorer le processus de développement lui-même, une itération après l’autre.
Besoins Code
utilisateurs
Dans un premier temps, les besoins vont être modélisés au moyen des cas d’utilisation UML.
Ils seront représentés de façon plus concrète par une maquette d’IHM (Interface Homme Machine)
destinée à faire réagir les futurs utilisateurs. Dans cette première phase, nous allons affecter un degré
d’importance et un coefficient de risque à chacun des cas d’utilisation afin de définir l’ordre des
incréments à réaliser. De ce fait, seront développées et livrées en premier lieu, les fonctionnalités des
cas d’utilisation les plus centraux.
Dans un second temps, nous expliciterons, sous forme textuelle puis sous forme graphique au moyen
des diagrammes de séquence système, les interactions entre les acteurs et le système. L’objectif visé
dans cette étape est d’aider les utilisateurs à formuler et formaliser leurs besoins.
Parallèlement, nous réaliserons les diagrammes de classes participantes qui décriront, cas d’utilisation
par cas d’utilisation, les 3 principales classes d’analyse et leurs relations. Les diagrammes de classes
participantes sont particulièrement importants car ils feront la jonction entre les cas d’utilisation, la
maquette et les diagrammes de conception logicielle (diagrammes d’interaction).
Puis il faut détailler l’exploitation de la maquette. Elle va nous permettre de réaliser des diagrammes
dynamiques représentant de manière formelle l’ensemble des chemins possibles entre les principaux
écrans proposés à l’utilisateur. Ces diagrammes, qui mettent en jeu les classes participantes de type «
dialogues » et « contrôles », s’appellent des diagrammes de navigation. Dans notre projet, nous
utiliserons des diagrammes d’activité.
Troisièmement, à partir des diagrammes de séquence système et des diagrammes de classes
participantes, chaque diagramme d’interaction (séquence ou communication) va représenter un
ensemble d’objets de classes différentes collaborant dans le cadre d’un scénario d’exécution du système.
Finalement, viendra l’étape de production du diagramme de classes de conception. Les diagrammes de
classes de conception représentent bien la structure statique du code, par le biais des attributs et des
relations entre classes. Ils contiennent également les opérations (aussi appelées méthodes) qui décrivent
les responsabilités dynamiques des classes logicielles. Nous devons ainsi répartir tout le comportement
du système entre les classes de conception, et décrire les interactions induites.
À l’issue de ce chapitre nous en ressortons plus outiller à pouvoir débuter notre conception car nous
savons dès à présent le processus à suivre pour pouvoir développer notre solution. Le chapitre suivant
sera donc le lieu pour nous de nous appesantir sur l’analyse et la conception de notre système.
Objectif Fonctionnalité
Gestion des structures de base ✓ Gerer les tiers(client, fournisseurs)
✓ Gérer les familles d’articles
✓ Gérer les articles
✓ Gérer le plan comptable
✓ Gérer les taxes
✓ Gérer les journaux
✓ Gérer les Entrepôts
✓ Gérer les contacts
✓ Gérer les unités
En tenant compte des besoins et fonctionnalités précités, la finalité est de concevoir et de mettre en
œuvre un système de gestion commerciale au sein d’une entreprise. Pour cela, l’application doit
répondre aux besoins techniques suivants :
L’application doit être performante, et simple d’utilisation ;
La solution doit inclure une plateforme accessible à travers des smartphones (Application
mobile) ;
Le système doit avoir un temps de réponse relativement court ;
Le respect des principes de la norme Interface Homme Machine (IHM), tels que l’ergonomie,
la convivialité, la performance et la fiabilité doit être prise en compte ;
L’application doit assurer l’intégrité des informations enregistrées ;
Les mots de passe des utilisateurs doivent être cryptés ;
Les langages de programmations sont WinDev (pour la plateforme desktop) et WebDev (pour
le web) et WinDev Mobile (pour le mobile) ;
Le SGBD à utiliser pour le stockage des données est MySQL et Hyper file ;
La solution doit être évolutive et paramétrable.
Acteurs Description
Le commercial Peut créer un client comme il peut le mettre à
jour, il a le droit de visualiser l’ensemble des
clients de la société.et leur situation. D’autre part,
le commercial peut créer un devis, effectué les
commandes pour réaliser une opération de vente,
il peut également vérifier la disponibilité de
l’article en stock
Le responsable de ventes Peut effectuer les mêmes tâches que le
commercial et assure le suivi des ventes
Le responsable commercial Assure le suivi des achats et ventes faites par les
commerciaux. 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.
Magazinier
0,n
0,n
0,n
Administrateur
Commercial
0,n
0,n
FacteurX
Responsable
Comptable
commercial
0,n 0,n
0,n
Responsable de vente
Directeur
Responsable Achat
Envoyer un document
Modifier un document
Supprimer un document
Gérer un échéancier
Gérer un échéancier
Enregistrer un inventaire
Gérer un utilisateur
Gérer un groupe
Nous avons utilisé ces trois types de relations dans la représentation schématique de nos cas d’utilisation.
Ci-dessous le diagramme de cas d’utilisation système :
Gestion d’administration
Gestion d'administration
Ajouter un utilisateur
Gérer un utilisateur
Administrateur
Modifier un utilisateur
<<include>>
S'authentifier
Gérer un groupe <<include>>
Supprimer un
utilisateur
Structure de base
Enregistré un
prospect
Enregistrer un tiers
Enregistré
un client
Enregistré
fournisseur <<include>>
Modifier
Commercial
Consulter tiers <<extend>> Supprimer <<include>>
<<extend>>
Enregistrer une
Enregistrer Modifier une
famille
un article famille
<<extend>>
<<extend>> Supprimer
Supprimer un un article
<<include>>
entrepôt <<include>>
S'authentifier
Modifier un <<include>>
<<include>>
Directeur entrepôt
Gestion de vente
Gestion de vente
Ajouter un client
Enregistrer un
devis
<<extend>>
Enregistrer un
Enregistrer un bon de
Commercial document de vente commande
<<include>>
Enregistrer bon de
retour client
Enregistrer une
Enregistrer un bon de
facture
livraison
Gérer un échéancier
S'authentifier
Responsable
commercial <<include>>
Changer <<extend>>
statut <<extend>> Archiver
Transformer
Gérer un règlement
<<include>>
Modifier
Filtrer
Administrateur
Directeur
Gestion d'achats
Ajouter un
fournisseur
Enregistrer une
demande de prix
<<extend>>
Enregistrer un bon
Responsable d'achat Enregistrer un
de commande
document d'achat
<<include>>
Enregistrer un bon de
retour fournisseur
Enregistrer un bon de
réception
Enregistrer une
facture d'achat
S'authentifier
<<include>>
Lister les documents d' <<include>>
Comptable achat <<extend>>
Envoyer
Consulter les statistiques d'
achat <<include>>
<<extend>> <<extend>>
<<extend>>
Rechercher
Changer
<<extend>>
statut <<extend>> Archiver
Transformer
Administrateur Effectuer un paiement
<<include>>
Modifier
Filtrer
Directeur
Gestion de stock
Gestion de stock
<<extend>>
Enregistrer un documents de Enregistrer un articles
stock
Responsable Achat Enregistrer un bon de
sortie
Transferer un stock
<<include>>
Magasinier <<include>>
Enregistrer un inventaire
<<include>>
S'authentifier
Lister les document stock <<include>>
Modifier
<<extend>>
<<extend>>
Administrateur <<extend>>
<<extend>>
Supprimer <<extend>> Valider
Imprimer Rechercher
Directeur
Résumé : Ce cas permet à tous les utilisateurs du système de s’identifier afin d’avoir accés au
système
Acteurs : Tous les acteurs
Date Création : 30/01/2021
Mise à jour :
Responsable : MOUAMADJE Thiery
Pré conditions Le système est fonctionnel
Scénarios alternatifs
A1. Le système signale les informations obligatoire.
L’enchaînement A1 démarre au point 2 du scénario nominal.
4. Le système signal à l’utilisateur les informations obligatoires
Le scénario nominal reprend au point 1
Acteurs : L’administrateur
Date Création : 30/01/2021
Mise à jour :
Responsable : MOUAMADJE Thiery
Pré conditions Le système est fonctionnel
Acteur authentifier
Description des scénarios
Acteurs : L’administrateur
Date Création : 30/01/2021
Mise à jour :
Responsable : MOUAMADJE Thiery
Pré conditions Le système est fonctionnel
Acteur authentifier
Description des scénarios
1. l’administrateur accède à son espace et clique sur l’item
« sauvegarder la base de données »
2. Le système réalise la sauvegarde complète de la base de
données, qui sera transféré sur son poste de travail.
Résumé : Ce cas d’utilisation permet de gérer les différents comptes du plan comptable
Acteurs : Commercial
Création : 30/01/2021
Date Mise à jour :
Responsable : MOUAMADJE Thiery
Le système est fonctionnel
Pré conditions L’acteur s’est authentifié en tant que commercial
Description des scénarios
1. Le système affiche la liste des articles déjà enregistrée ainsi les familles
2. L’acteur selection la famille à la quelle le nouveau article devra appartenir
et clique sur le bouton nouveau (cas d’un ajout)
3. Le système lui affiche le formulaire d’ajout d’un article
4. L’acteur saisie les informations obligatoires puis valide
5. Le système à son tour vérifie les informations (A1)(A2).
6. Le système enregistre les informations puis ouvre la liste des artcles avec le nouveau
article
Scénarios alternatifs
A1. Le système signale les informations obligatoires.
L’enchaînement A1 démarre au point 4 du scénario nominal.
9. Le système signal à l’utilisateur les informations obligatoires à saisir
Le scénario nominal reprend au point 2
Scénarios d’exceptions
A2. L’article est déjà enregistré
L’enchaînement A2 démarre au point 4 du scénario nominal.
10. Le système notifie à l’utilisateur que l’article est déjà enregistré.
11. Le système ferme le formulaire et affiche la liste des articles
Résumé : Ce cas d’utilisation permet à l’acteur d’ajouter au système l’un des documents : devis,
bon de commande, bon de livraison, bon de retour, facture, facture d’avoir
Acteurs : Commercial
Création : 30/01/2021
Date Mise à jour :
Responsable : MOUAMADJE Thiery
Le système est fonctionnel
Pré conditions L’acteur s’est authentifié en tant que commercial
Description des scénarios
1. Le cas est initié par un lancement utilisateur
2. Le système lui affiche le formulaire de création
3. L’acteur saisie les informations obligatoires de l’entête du document
4. Le système à son tour vérifie les informations (A1).(A2)
5. Le système enregistre les informations de l’entête du document
6. L’ utilisateur choisi un par un l’article à ajouter dans la liste avec la modibilité de
modifier le prix unitaire, la quantité, … puis valide(A3)(A4)
7. L’acteur clique pour tout enregistrer et quitter
Scénarios alternatifs
A1. Le système signale les informations qui sont obligatoire
L’enchaînement A1 démarre au point 5 du scénario nominal.
8. Le système signal à l’utilisateur les champ obligatoire
Le scénario nominal reprend au point 3
A3. Le système signale la rupture de stock pour l’article choisit
L’enchaînement A3 démarre au point 6 du scénario nominal
9. Le système demande si l’utilisateur veut choisir un article en rupture
A4 le système signale que l’article a déjà été ajouté
L’enchaînement A4 démarre au point 6 du scénario nominal
10. Le systeme signale a l’utilisateur que l’article existe déjà dans la liste donc peut modifier
sa quanté s’il veut ajouter
Scénarios d’exceptions
A2. Le document est déjà enregistré
L’enchaînement A2 démarre au point 5 du scénario nominal.
11. Le système notifie à l’utilisateur que le document est déjà enregistré.
Le cas d’utilisation se termine par un échec.
Résumé : Ce cas permet à l’utilisateur du système de consulter les différents documents (les
devis, les bons de commande, les bons de livraison, les factures, les bon de retours, les facture
d’avoir)
Acteurs : L’administrateur
Création : 30/01/2021
Date Mise à jour :
Responsable : MOUAMADJE Thiery
Pré conditions Le système est fonctionnel
L’utilisateur authentifier
Description des scénarios
1. L’utilisateur demande la liste des éléments à lister puis
2. Le système affiche la liste,
3. L’utilisateur peut ensuite choisir le mode de filtrage
Scénarios alternatifs
5. On peut consulter chaque élément et éventuellement effectuer des modifications,
archiver ou imprimer
Résumé : Ce cas permet à l’utilisateur sur système Enregistrer le règlement d’une facture
Acteurs : comptable
Création : 30/01/2021
Date Mise à jour :
Responsable : MOUAMADJE Thiery
Pré conditions Le système est fonctionnel
Acteur authentifier
Description des scénarios
1. Le système affiche la liste des factures client non réglées
2. L’utilisateur sélectionne la facture
3. L’utilisateur sélectionne le mode de payement,l’échéance à régler (pour le cas d’un règlement
specifique)
4. L’utilisateur saisit le montant du règlement et valide (A1)
5. Le système enregistre le règlement , informe l’utilisateur de la situation financière du client
et ferme le formulaire
Scénarios alternatifs
A1.Montant de versement > montant à payer
1. Le système informe l’utilisateur de la situation
2. Retour au point 4 du scénario nominal
Tableau 27: Description textuelle de cas d'utilisation Régler facture
systeme
Tous
demande d'authentification
informations correctes
Autorisation d'accès
Systeme2
Responsable commercial
demande d'enregistrer d'un article
Enregistrement d'information
message de succès
champs manquant
echec champs obligatoires
Systeme
Commercial
Demande d'ajouter un tiers
Tiers existe
Echec d'ajout
Systeme
Commercial
System
Comptable
Demande de règlement
Formulaire de règlement
Enregistrer le règlement
Réçu de règlement
Systeme
Client Commercial,comptable
Demande d'information
Informations fournies
Créer devis
contrôle de stock
Article disponible
Enregistrer devis
Commande
Transformer devis en BC
enregistrer BC
Tranformer BC en BL
enregitrer BL
Envoi de BL
Transformer BL en facture
enregistrer facture
Envoi de facture
Systeme
Fournisseur Commercial,comptable
Envoi de BC
Gestion de vente
Type_Compte
- idTypeCompte : int Famille Article
- libelle : int - idFamilleArticle : int Unité_achat
+ ajouter () : void - reference : String 0..*
- idUnite : int
+ modifier () : void - libelle : String 1..1
- reference : String
+ supprimer () : void - photo : String - libelle : String
... 1..1
- qteMax : int - description : String
1..* - qteMin : int - estActif) : boolean
- estSuiviEn Stock : boolean
+ ajouter () : void
Compte_Comptable 0..1 - modeGestionStock : String
+ modifier () : void
- idTypeCompte : int - flagActif : boolean
+ supprimer () : void
- reference : int - saisiPar : String ...
- libelle : int 0..*
- saisiLe : String 0..*
1..*
- modifieLe : String
+ ajouter () : void - modifiePar : String Type_Taxe
+ modifier () : void
+ supprimer () : void + ajout () : void - idTypeTaxe : int
1..1
+ imprimer () : void 1..1 + modifier () : void - libelle : int
1..1 + supprimer () : void
+ importer () : void + ajouter ()
... ... + modifier ()
+ supprimer ()
0..*
...
0..1
1..1
Ligne_Document_Vente
Taxe
- idLigneDocument : int
- quantite : int - idTaxe : int
Entrepôt - remise : long - reference : String
- tauxRemise : int 0..* - libelle : int
- idEntrepôt : String - idTypeTaxe : int
- reference : String - montantTaxe3 : double
0..*
- libelle : String - totalMontantTaxes : double Article + Ajouter () : void
- montantBrutHT : double + Modifier () : void
+ ajouter () : void - idArticle : int 0..1
- montantNetTTC : double + Supprimer () : void
+ modifier () : void 1..1 - reference : String ...
+ supprimer () : void + ajouter () : void - libelle : String
0..*
... + modifier () : void - Description : String
+ supprimer () : void - prixU : double
... - photo : String
- codeBarre : String
0..*
- refInterne : String
0..* - qteMax : int
Mode_Reglement 0..*
- qteMin : int Article_Unité
- iddModeReglement : String 1..1 Document_Vente - estSuiviStock : boolean - idArticleUnite : int
- reference : String - idDocument : int - saisiPar : String 0..* - prixAchat : double
- libelle : String - reference : String - saisiLe : String - prixVente : double
+ ajouter () : void 0..* - dateEnr : Date - modifiePar : String + ajouter () : void
+ modifier () : void - Observation : String - modifieLe : String + modifier () : void
+ supprimer () : void - refModeReglement : String + Ajout () : void + supprimer () : void
... - remise : double + Modifier () : void 1..1 ...
- tauxRemise : int + Supprimer () : void
- montantBrutHT : double Mode_Gestion_Stock
- montantNetHT : double
- montantTTC : double 0..* - idModeGestionSt : String
Mode_Livraison - estArchiver : boolean - reference : String
- estValider : boolean - libelle : String
- idModeLivraison : String 1..1
- statut : String + ajouter () : void
- reference : String
- refDemandePrix : String Echéance + modifier () : void
- libelle : String 1..*
- refBC : String - idEcheance : int + supprimer () : void
+ ajouter () : void - refBR : String ...
- dateEcheance : Date
+ modiifier () : void - refFacture : String
0..*
- montantNetTTCDocument : double
+ supprimer () : void
... + ajouter () : void 1..1
- montantEcheance : Date
+ modifier () : void - observations : String
+ supprimer () : void - estActif : boolean
+ annuler () : void - saisiPar : String
+ transformer () : void - saisiLe : Date
0..* 1..1 - modifieLe : Date
1..1
- modifiePar : String
0..*
Tiers 1..*
+ ajouter () : void
+ modifier () : void
- IdTiers : int
+ supprimer () : void
- codeTiers : String
...
- Civilite : String 1..1
0..1
- Nom : String
- Prenom : String Type_document_Vente 0..* 0..* 0..*
- Adresse : String
- idTypeDocument : int Article_Categorie
- Ville : String
- Pays : String
- libelle : String Règlement - idArticleCate : int
- Telephone : String + ajouter () : void - idReglement : int - prixVente : double
- Email : String + modifier () : void - dateEnreg : Date + ajouter () : void
- DateNaissance : Date + supprimer () : void - montantNetTTCDocument_ : double + modifier () : void
+ ajout () : void - montantReglement : double + supprimer () : void
+ modifier () : void - resteAPayer : double
0..*
+ supprimer () : void + ajouter () : void
... + modifier () : void
1..1 0..* + supprimer () : void 0..*
0..* ... Categorie
0..1
- idCategorie : int
contact - libelle : int
- idContact : int 1..1
Ville + ajouter () : int
1..1 Type_Tiers Pays
- civilite : String - IdVille : int 1..*
+ modifier () : int
- nom : String - idTypeTiers : int - code : String - idPays : int + supprimer () : int
1..1
- prenom : String - libelle : int - nom : String - code : String ...
0..*
- nomComplet : String + ajouter () : int + ajouter () : void - nom : String
- fonction : String + modifier () : int + modifier () : void - indicatif : String
- bp : String + supprimer () : int + supprimer () : void + ajouter () : void
- telephones : String ... ... + modifier () : void
- email : String + supprimer () : void
- pays : String
- ville : String
- adresse : String
+ ajouter () : void
+ modifier () : void
+ supprimer () : void
...
Structure de base
Document_Vente Echéance
Document_Achat Echéance_Achat
Vente
Achat et Stock
Utilisateur Systeme
Utilisateur Systeme
Contrôle d'informations
Devis
Conforme
Facture
Valider
Non erreur
Règlement
Demande de prix
Conforme
Facture
Valider
Non erreur
Règlement
Poste client
Serveur de base de données
Executable
MySQL
Requête exe
Dans cette partie, nous allons présenter la réalisation de notre projet et la conduite de
projet. Nous y présenterons les outils de modélisation et les outils de développement choisis.
Nous y présenterons également l’architecture de notre système, les langages de programmation
et enfin la conduite de projet.
La conception du système étant achevée, nous allons nous pencher sur l’étape de réalisation de
notre projet. Nous nous proposons donc dans ce chapitre de justifier nos choix techniques et aussi
présenter les différents outils, techniques et le langage que nous avons utilisé pour l’implémentation de
la solution. Nous expliquerons les aspects importants de la réalisation, présenterons les captures d’écran
de notre application avant de terminer par la présentation de l’architecture réseau de notre solution
Malgré ces nombreux avantages les solutions client lourd ont perdu progressivement de leur intérêt
aux yeux des décideurs informatiques dès le début des années 2000 en raison de quelques inconvénients
complexifiant la phase de maintenance. Les principaux inconvénients des solutions client lourd sont :
Le déploiement et la montée de version : étant installée sur chacun des postes clients, le
déploiement d’une solution de type client lourd devient un autre projet. Un tel projet devient
très complexe lorsque le parc informatique est vaste et hétérogène. Par la suite, à chaque montée
de version il est nécessaire de redéployer la nouvelle version sur chacun des postes.
La compatibilité : étant compilé pour une architecture processeur et faisant appel à des
fonctionnalités au niveau OS, une solution de type client lourd offre une compatibilité restreinte à une
configuration matérielle et un système d’exploitation donné. Cette problématique a été résolu
notamment avec Java et C# par la mise en place de la notion de machine virtuelle. Cependant ce nouveau
mode de fonctionnement limite les performances des applications compilées en byte code à cause de la
mise en place d’une couche intermédiaire. De plus il devient très difficile de dialoguer avec des
périphériques extérieurs car la machine virtuelle Java n’a qu’un nombre très limité d’interactions
possible avec l’OS et ses périphériques.
V.1.2.2 Client léger (3 tiers)
Pour faciliter alors le déploiement et la maintenance des applications de gestion, la majorité des
entreprises se sont tournées vers les architectures client léger. Un client léger est une application dont
les écrans sont calculés côté serveur puis transmis au poste client à travers un navigateur. Ce mode de
fonctionnement permet de résoudre les inconvénients vus précédemment sur les clients lourds. En effet,
le passage par un navigateur Web évite la phase de déploiement de l’application sur l’ensemble des
postes clients. Ainsi lors des montées de version seul l’applicatif côté serveur a besoin d’être mise à
jour. Quant à la compatibilité, une application en client léger est compatible avec tous les OS et
processeurs permettant l’exécution d’un navigateur Web supportant l’application.
L’inconvénient majeur d’une telle architecture est la forte dépendance au serveur : en cas de
défaillance du serveur, tous les clients sont hors service. Le serveur peut aussi atteindre ses limites si de
nombreux utilisateurs lancent des applications gourmandes en ressources (montage vidéo, modélisation
3D, feuilles de calculs lourdes). Mais pour remédier à celui-ci il est possible de faire tourner les
applications en local sur le serveur.
V.1.3 Choix de l’architecture
Nous venons de voir que le client léger à certains avantages qui poussent aujourd’hui les développeurs
de solutions informatique à tendre vers celui-ci. Mais le client ne peut pas être supplanter dans des cas
bien précis. Pour le développement de notre solution nous allons utiliseé l’architecture client lourd pour
les Desktop afin de donner la possibilité à l’utilisateur de travailler hors connexion avec une base de
données intégrée au système. L’utilisateur pourra ensuite synchroniser les données de cette base à la
base de donnée centrale en utilisant le réseau.
Enfin pour les solutions web et mobile nous allons opter pour l’architecture client leger
V.1.4 Choix des outils et technologies
V.1.4.1 Windev
WinDev est un atelier de génie logiciel (AGL) édité par la société française PC SOFT et conçu pour
développer des applications, principalement orientées données pour Windows et également pour Linux,
.NET et Java. Il propose son propre langage : le WLangage. La première version de l'AGL est sortie en
1993.Aujourd’hui nous sommes à la version 26.
WinDev inclut en standard un ensemble d'éditeurs qui composent l'Atelier de Génie Logiciel : éditeur
d'analyse (description des données), éditeur de fenêtres, éditeur de requêtes SQL, éditeur d'états, éditeur
de tests automatisés, éditeur d'aide, éditeur d'images, éditeur UML, éditeur de code, éditeur de
télémétrie, robot de surveillance, audit d'application, éditeur de dossier RGPD…
Sous WinDev, les fenêtres et états sont typiquement créés à l'aide d'un éditeur visuel. Les différents
champs sont créés sous l'éditeur, et leurs paramètres sont définis à l'aide d'assistants de paramétrage
visuels nommés « 7 onglets ». Chaque champ dispose en moyenne d'une centaine de paramètres. Cet
éditeur ne génère pas de code mais crée un objet WinDev (fenêtre ou état).
L'éditeur d'interface graphique permet de créer des IHM par glisser-déplacer. Il permet également de
choisir un modèle de charte graphique parmi un ensemble proposé et d'en créer de nouveaux.
WebDev et WinDev Mobile permettent d'utiliser le même langage de programmation (WLangage), et
les mêmes concepts (analyse, fenêtre, états, composants, classes…), pour la génération de sites Web et
d'applications mobiles.
La programmation s'effectue typiquement dans les composants graphiques, en saisissant directement le
code dans les événements proposés.
Pour notre projet nous utilis la version 24
Figure 37:Windev
V.1.4.2 PowerDesigner
PowerDesigner (anciennement PowerAMC) est un logiciel de conception créé par la société SAP, qui
permet de modéliser les traitements informatiques et leurs bases de données associées.
Il a été créé par SDP sous le nom AMC*Designor, racheté par Powersoft qui lui-même a été racheté par
Sybase en 1995. Depuis 2010 Sybase appartient à l'éditeur allemand SAP.
Avant mars 2016, la version française était commercialisée par SAP sous la marque PowerAMC, jusqu'à
la fusion avec la version internationale sous le nom PowerDesigner depuis la version 16.6.
PowerDesigner est disponible sous forme d'application native Microsoft Windows ou comme plugin
eclipse. Par défaut, PowerDesigner stocke ses modèles sous forme de fichiers, dont l’extension dépend
du type de modèle: bpm (pour business process model), cdm (pour conceptual data model)... La structure
interne du fichier peut être du XML ou du binaire compressé. PowerDesigner peut aussi stocker ses
modèles dans un Référentiel.
V.1.4.3 MySQL
MySQL est un système de gestion de bases de données relationnelles (SGBDR). Il est distribué sous
une double licence GPL et propriétaire. Il fait partie des logiciels de gestion de base de données les plus
utilisés au monde, autant par le grand public (applications web principalement) que par des
professionnels, en concurrence avec Oracle, PostgreSQL et Microsoft SQL Server.
Son nom vient du prénom de la fille du cocréateur Michael Widenius, My (sv) (prononcer [my]). SQL
fait référence au Structured Query Language, le langage de requête utilisé.
MySQL AB a été acheté le 16 janvier 2008 par Sun Microsystems pour un milliard de dollars américains.
En 2009, Sun Microsystems a été acquis par Oracle Corporation, mettant entre les mains d'une même
société les deux produits concurrents que sont Oracle Database et MySQL. Ce rachat a été autorisé par
la Commission européenne le 21 janvier 2010.
Depuis mai 2009, son créateur Michael Widenius a créé MariaDB (Maria est le prénom de sa deuxième
fille) pour continuer son développement en tant que projet Open Source.
Figure 39:MySQL
Page d’acceuil
Dans le cadre du projet Facteur X, le département de service informatiques dans laquelle nous étions
intégrés a été le principal acteur de la MOE. Notre devoir principal a été entre autres de
✓ Comprendre le besoin exprimé afin de rédiger un CDCT ;
✓ Concevoir une solution répondant au besoin exprimé ;
✓ Choisir les outils et technologies pour la mise en place de la solution conçue;
✓ Mettre en place la solution.
VI.1.2 Découpage du projet en phase
Dans cette partie nous présenterons comment notre projet a été organisé, notamment son découpage en
sous-projets et en tâches. En effet nous avons effectué un découpage à deux niveaux : l’ensemble du
projet a été découpé en phase et chaque phase est ensuite découpée en tâches.
Le tableau ci-dessous résume le découpage que nous avons effectué.
Phases Tâches
Etude préliminaire Prise de contact et exploration
Etude des concepts liés au sujet
Recueil des besoins
Rédaction du cahier de charge
Validation du cahier de charge
Étude de l’existant
Analyse et conception Choix d’une méthode
Choix des outils de modélisation
Mise en œuvre de la méthode choisie
Réalisation Représentation de l’architecture du système
Choix des outils de développement
Codage et tests
Implémentation
Validation
Documentation Rédaction du mémoire
Rédaction du guide utilisateur
Rédaction de la procédure de dépannage
Tableau 28:Découpage du projet
VI.1.3 Planification du projet
Le diagramme de GANTT est un outil utilisé en ordonnancement et en gestion de projet. Il permet de
visualiser les diverses tâches composant le projet, et les dates de réalisation de ces dernières. Il est mis
en œuvre dans l’optique d’assurer un meilleur déroulement des activités du projet. Il est principalement
question, dans cette section, de présenter les prévisions initiales et de faire une comparaison avec le
déroulement effectif du projet.
Coût
Ressource Type Quantité Total
unitaire
Ordinateur portable
LONOVO core i7 10e Matériel 1 750 000 750 000
Génération 8Go RAM
VI.2.4 Perspectives
Notre travail a permis de réaliser une première version fonctionnelle du module négoce et
facturation pour les clients lourd.
Cette version répond parfaitement aux exigences du cahier des charges. Nous envisageons de
perfectionner au fur et à mesure en intégrant de nouveau module telles que module Paie et RH
et module Production.
Ouvrage
Cours sur ERP de Dr LILIA S Faxi et Dr Amine DRIRA INSAT :Date 15/02/2021
Fréderic Charles – « Cours ERP/PGI » : http://fr.slideshare.net/fcharles/cours-erp-introduction-aux-
erp-v10
P. ROQUES et F. VALLEE, UML2 en action – De l’analyse des besoins à la conception
P. ANDRE, E. DESMONTILS et A. VAILLY, Méthodes systémiques d’analyse et de
conception (A354), décembre 2014, 31 pages.
Valtech, Transition vers l’agilité à l’échelle d’une organisation, 2e éd., 2012, 111 pages.
P. ROQUES, UML 2 -Modéliser une application web, 4e éd., Paris: Eyrolles, Coll. Les
cahiers du programmeur, 246 pages.
P. ROQUES, UML 2 par la pratique, 5e éd., Paris: Eyrolles, Coll. Les cahiers du
programmeur, 364 pages.
S. KOUSSOUBE, Méthodes et processus de développement objet, dans le cadre du
cours d’UML en 2AING à l’IAI, 2019, 133 diapositives.
Mémoires
ALI TASSIOU Abass, Mémoire d'ingénieur IAI 2014-2015