‫

رة ا‬
105 

‫ا‬

Master Spécialisé : Qualité du Logiciel

1

Rapport de Stage 2008/2009

Dédicaces
Pour les grands sacrifices que tu as faits pour nous,
Pour les nuits où tu es resté sans dormir pour veiller sur nous,
Pour la formidable mère que tu es
Toi qui es toujours fier de moi,
Pour le symbole respectueux que tu es pour moi,
Pour le père que tu es
Nul mot ne reflète ma reconnaissance vers vous
Pour votre temps et encouragement
Pour le frère et sœur que vous êtes
Pour votre soutien
Vous membres de ma famille
Je dédie ce travail

Master Spécialisé : Qualité du Logiciel

2

Rapport de Stage 2008/2009

Remerciement
Avant d’entamer ce rapport, je tiens à témoigner ma profonde gratitude à toutes les
personnes qui ont participé de loin ou de près à l’élaboration de ce projet de fin d’études.
Mes sincères remerciements sont à adresser à Mr. Abderrahman ELKAFIL, directeur de
la société NEXTMA et mon encadrant professionnel, pour l’intérêt et le professionnalisme
avec lesquels il a suivi la progression de mon travail, et pour ces aides et ces conseils
fructueux qu’il n’a cessé de me prodiguer durant toute la durée de mon Projet de Fin
d’Études.
Je tiens à exprimer ma profonde gratitude à Mr. Kamal Eddine EL KADIRI, mon
encadrant universitaire et responsable du Master Spécialisé : Qualité du Logiciel à la Faculté
des Sciences de Tétouan, pour son excellent suivi, ses remarques pertinentes et ses
recommandations fortes enrichissantes dont j’ai bénéficié tout au long de ce stage,
qu’il trouve, ainsi, mes vifs remerciements et mes sentiments les plus respectueux.
Je remercie tout particulièrement Mr. Mohamed KHALDI, professeur à la Faculté des
Sciences de Tétouan pour sa disponibilité, ses nombreux conseils et ses indications
précieuses qui m’ont permis de mener mon travail à bien.
Mes vis remerciements vont également à tout le cadre professoral de la faculté des
sciences de Tétouan, pour la formation prodigieuse qu’il nous a prodiguée.
Que messieurs les membres de jury trouvent ici l’expression de ma reconnaissance
pour avoir accepté de juger mon travail.
Que tous ceux et celles qui ont contribué de près ou de loin à l’accomplissement
de ce travail, trouvent

l’expression de mes remerciements les plus chaleureux.

Hatim EL BOUANANI

Master Spécialisé : Qualité du Logiciel

3

Rapport de Stage 2008/2009

Elle propose à ses clients un PGI basé sur le logiciel libre « OpenERP » pour lequel elle peut développer des besoins spécifique pour chacun d’entre eux. le serveur web Apache et le système d’exploitation Linux. Il requiert un très haut niveau de technicité et de compétences que ces dernières ne sont pas prêtes à laisser aux mains de développeurs éparpillés aux quatre coins du monde. comme pour les logiciels propriétaires. SAP. Au cours de ce stage.  Framework OpenObject . en particulier Les ERP (en anglais Enterprise Resource Planning). En conséquence. ce type d’application joue un rôle stratégique au sein des entreprises qui les utilisent.  XML. de nombreuses entreprises et gouvernements ont commencé la migration de leurs systèmes d’information vers des solutions libres. mon travail a consisté à comprendre le fonctionnement de l’OpenERP. est apparue la nécessité d’avoir des entreprises prestataires de services spécialisées en logiciels libres. Master Spécialisé : Qualité du Logiciel 4 Rapport de Stage 2008/2009 . Compiere et autres viennent empiéter sur les terres de BAAN. etc. société dans laquelle j’ai effectué mon stage de fin d’études du 16 mars au 01 juillet 2009. les GNU Entreprise. Ce stage m’a aussi permis de mieux comprendre comment fonctionne une société de services et comment une SSLL peut vivre du logiciel libre. C’est pourquoi. Cependant.  Python . OpenERP. et à concevoir et développer un module de gestion de transit à l’aide de l'ERP open source OpenERP. Ce besoin s’est renforcé avec la rationalisation des coûts liés aux systèmes d’information depuis l’éclatement de la «Bulle Internet». aujourd’hui reconnus pour leur qualité et leur ouverture. notamment Internet. on commence à trouver ces logiciels dans des secteurs traditionnellement réservés aux logiciels propriétaires. Aussi. aussi appelés Progiciels de Gestion Intégrés (PGI).Résumé On ne présente plus les logiciels libres. NEXTMA. Ils ont démontré leur efficacité dans plusieurs domaines. ORACLE. Ainsi. est une de ces nouvelles SSLL (Société de Services en Logiciels Libres). avec par exemple. Mots clés :  ERP open source OpenERP .

 Python . also called Integrated Management Software (IMS).. GNU Enterprise. Therefore. especially ERP (Enterprise Resource Planning).. Master Spécialisé : Qualité du Logiciel 5 Rapport de Stage 2008/2009 . has emerged the need for service providers specializing in open source software. today recognized for their quality and openness. This internship also allowed me to better understand how a service company and how a SSLL can live free software. Keywords :  ERP open source OpenERP . is one of these new SSLL (in french Société de Services en Logiciels Libres). this application plays a strategic role within companies that use them.  Framework OpenObject . It offers its customers an ERP system based on free software "OpenERP" for which it can develop specific needs for each of them. in which I conducted my internship graduation from 16 March to 30 June 2009. including the Internet. my job was to understand the functioning of the OpenERP and realize the design and dévloppement the Module transit Management using the open source ERP OpenERP. Oracle. They have demonstrated their effectiveness in several areas. However. etc. This need has increased with the rationalization of costs associated with information systems since the bursting of the "Internet bubble". for example. many companies and governments have begun migrating their information systems to open source solutions.Abstract It is no longer open source software. Thus. NEXTMA. Compiere and others from encroaching on the lands of BAAN. the Apache Web server and the Linux operating system. Accordingly. OpenERP.  XML. SAP. we begin to find these programs in areas traditionally reserved for proprietary software. During this stage. as with proprietary software. It requires a very high level of technology and skills that they are not ready to leave in the hands of developers scattered around the world. Also.

Liste des abréviations Sigle ERP PGI GNU SAP SSLL PME CRM BI UML 2TUP RUP XP FOB DHS DUM SADOC ODEP SI MVC XML RPC LDAP OLAP SGBD IDE SWT SQL SGML HTML DTD Définition Enterprise Resource Planning Progiciels de Gestion Intégrés General Public License Systeme Anwendungen Produkte in der Datenverarbeitung(en anglais Systems. Applications and Products in Data Processing) Société de Services en Logiciels Libres Petites et Moyennes Entreprises Customer Relationship Management Business Intelligence Unified Modeling Language Two Track Unified Process Rational Unified Process eXtreme Programming Free On Board Dirhams Déclaration Unique de la Marchandise Système de l'Administration des Douanes et de l'Office des Changes Office d'Exploitation des Ports Système d’Information Model View Controller eXtensible Markup Language Remote Procedure Call Lightweight Directory Access Protocol Online Analytical Processing Système de Gestion de Base de Données Itegrated Development Environment Standard Widget Toolkit Structured Query Language Standard Generalized Markup Language Hypertext Transfer Protocol Document Type Definition Master Spécialisé : Qualité du Logiciel 6 Rapport de Stage 2008/2009 .

Liste des figures
Figure 1 :
Figure 2 :
Figure 3 :
Figure 4 :
Figure 5 :
Figure 6 :
Figure 7 :
Figure 8 :
Figure 9 :
Figure 10 :
Figure 11 :
Figure 12 :
Figure 13 :
Figure 14 :
Figure 15 :
Figure 16 :
Figure 17 :
Figure 18 :
Figure 19 :
Figure 20 :
Figure 21 :
Figure 22 :
Figure 23 :
Figure 24 :
Figure 25 :
Figure 26 :
Figure 27 :
Figure 28 :
Figure 29 :
Figure 30 :
Figure 31 :
Figure 32 :
Figure 33 :
Figure 34 :
Figure 35 :
Figure 36 :
Figure 37 :
Figure 38 :
Figure 39 :
Figure 40 :
Figure 41 :
Figure 42 :
Figure 43 :
Figure 44 :

Cycle de développement en Y………………………………………
Diagramme de Gantt…………………………………………….......
Circuit d’un dossier………………………………………………….
Les acteurs principaux du système
Diagramme des cas d’utilisation Cycle de vie d’un dossier client…..
Architecture technique d’un ERP……………………………...........
Architecture modulaire d’un ERP……………………………….......
Fonctionnalités de base d’un ERP…………………………………..
les relations structurelles entre les trois objets………………………
Environnement d’exploitation de l’ERP open source OpenERP……
Diagramme de séquences du scénario Authentification…………….
Diagramme de séquences du scénario Paramétrage…………………
Diagramme de séquences du scénario Gestion des dossiers………...
Diagramme de séquences du scénario Ventilation…………………..
Diagramme de séquences du scénario Déclaration………………….
Diagramme de séquences du scénario Gestion de la facturation……
Diagramme de classes………………………………………………
Diagramme d’activité Cycle de vie d’un dossier……………………
Diagramme d’état Cycle de vie d’un dossier
Page d’authentification………………………………………….......
Page de module………………………………………………….......
Page de dossier………………………………………………………
Détails de dossier……………………………………………………
Détails de ventilation de dossier…………………………………….
Détails de déclaration de dossier…………………………………….
Facture des ventes……………………………………………….......
Interface de configuration de la base de données……………………
Interface de la connexion avec la base de données………………….
Interface de configuration du profil de l’entreprise…………………
Interface d’authentification des utilisateurs…………………………
Représentation d’une classe…………………………………………
Représentation d’un objet……………………………………….......
Association entre deux classes………………………………………
Agrégation entre deux classes………………………..………….......
Héritage entre deux classes………………………………………….
Diagramme de séquence…………………………………………….
Diagramme de collaboration…………………………………….......
Diagramme d’états transition………………………………………..
Diagramme d’activité organisé par acteur…………………………..
Diagramme de cas d’utilisation………………………………….......
Diagramme d’objets……………………………………………........
Diagramme de classe………………………………………………..
Diagramme de composant……………………………………….......
Diagramme de déploiement……………………………………........

Master Spécialisé : Qualité du Logiciel

7

20
21
26
34
35
43
44
44
45
46
51
51
52
53
54
55
56
57
58
63
64
64
65
65
66
67
75
75
76
76
78
78
78
78
79
79
80
80
80
81
81
82
82
82

Rapport de Stage 2008/2009

Liste des tableaux
Tableau 1 :
Tableau 2 :
Tableau 3 :
Tableau 4 :
Tableau 5 :
Tableau 6 :
Tableau 7 :
Tableau 8 :

Synthèse des méthodologies utilisées dans le cadre de
développement Objet et Nouvelles technologies…………………….
Planning du projet……………………………………………………
Scénario d’authentification…………………………………………..
Scénario de gérer dossier……………………………………………..
Scénario de gérer ventilation…………………………………………
Scénario de gérer déclaration………………………………………...
Scénario de gérer facturation…………………………………………
Scénario de paramétrage……………………………………………..

Master Spécialisé : Qualité du Logiciel

8

18
21
36
37
38
39
40
41

Rapport de Stage 2008/2009

Tables des matières
Introduction générale…………………………………………….....................................

11

Partie I : Contexte général du projet…………………………………………………………..
Chapitre 1 : Présentation de NEXTMA………………………………………………..
1. Présentation générale de NEXTMA………………………………………………
1.1. NEXTMA en Bref……………………………………….................................
1.2. Prestations et services…………………………………………………………
2. Secteurs d’activités ……………………………………………………………...
Chapitre 2 : Présentation du projet…………………………………………………….
1. Présentation du projet……….……………………………….................................
1.1. Thème du projet……………………………………………………………….
1.2. La démarche à suivre………………………………………………………….
2. Planning du projet…………………………………………………………………

13
14
14
14
14
16
17
17
17
17
20

Partie II : Etude fonctionnelle et technique……………………………………………………
Chapitre 1 : Etude préliminaire………………………………………………………...
1. Projet de la gestion de transit……………………………………………………...
2. Procédures et circuit d’un dossier de transit……………………………………...
2.1 Circuit simplifié d’un dossier import/export…………………………………..
2.2 Le circuit d’un dossier…………………………………………………………
3. Problématique……………………………………………………………………..
4. Synthèse…………………………………………………………………………...
Chapitre 2 : Etude fonctionnelle……………………………………………………….
1. Objectifs du projet………………………………………………………………...
2. Capture des besoins fonctionnels………………………………………………….
2.1 Définition des acteurs du système……………………………………………..
2.2 Cas d’utilisation du système…………………………………………………..
2.3 Description des cas d’utilisation……………………………………………….
Chapitre 3 : Etude technique…………………………………………………………...
1. Les ERP : Entreprise Resource Planning………………………………………….
1.1 Architecture technique…………………………………………………………
1.2 Architecture modulaire………………………………………………………...
1.3 Les fonctionnalités de base…………………………………………………….
2. Solution de gestion intégrée OpenERP……………………………………………
2.1 Environnement de développement…………………………………………….
2.2 Environnement d'exécution……………………………………………………
2.3 Environnement d'exploitation………………………………………………….
2.4 Framework OpenObject………………………………………………………..

23
24
24
25
26
27
30
31
32
32
33
33
34
36
42
42
43
43
44
45
45
46
46
47

Partie III : Mise en Œuvre du projet…………………………………………………………...
Chapitre 1 : Conception de la solution………………………………………………...
1. Conception des classes métiers……………………………………………………
1.1 Diagrammes de séquences…………………………………………………….
1.2 Digramme de classes……………………………………………………..........
Chapitre 2 : Réalisation de la solution…………………………………………………
1. Outils utilisés……………………………………………………………………...
1.1 IDE Eclipse…………………………………………………………………….
1.2 SGBD PostgreSQL.……………………………………………………………
1.3 Langage Python.....…………………………………………………………….

49
50
50
50
56
59
59
59
60
60

Master Spécialisé : Qualité du Logiciel

9

Rapport de Stage 2008/2009

1.4 Langage XML…………………………………………………………………. 61
2. Réalisation du système…………………………………………………………… 63
2.1 Exemples d’illustration………………………………………………………... 63
Conclusion et Perspectives………………………………………………………………
Glossaire……………………………………………………………………………........
Bibliographie…………………………………………………………………………….
Webographie……………………………………………………………………………..
Annexes………………………………………………………………………………….

Master Spécialisé : Qualité du Logiciel

10

68
70
71
71
72

Rapport de Stage 2008/2009

à forte agressivité commerciale et en pleine évolution. afin d'améliorer la qualité de la gestion des dossiers. qui sera incorporé et déployé sur un progiciel de gestion intégré open source. les cas d’utilisations UML et leurs descriptions textuelles. le partage de l'information dans le cadre des réseaux de gestion. elle est composée de deux chapitres: le premier est consacré à la présentation de l’organisme d’accueil. Mon projet de fin d’études vise à concevoir et développer un module de gestion de transit. la communication interne. Alors mon projet de fin d’études s’articule à concevoir et développer un module de gestion de transit pour SECORATRANS. elle est constituée de trois chapitres: le premier expose une étude préliminaire visant à donner une vue sur l’existant. ils remontent l'échelle.Introduction générale Les ERP open source permettent à des petites PME de disposer d'outils de gestion complets au meilleur coût. pour un meilleur suivi du circuit global des dossiers. Société générale de transit. qui porte le nom « OpenERP ». La deuxième partie est consacrée à l’étude fonctionnelle et technique. SECORATRANS s’est donné dés fin 2006. Mon rapport s’axe principalement sur trois parties: La première partie présente une vue générale sur mon projet de fin d’études. comme objectif prioritaire l’acquisition d’un Progiciel de Gestion Intégrée open source. et s'adressent à des PME de plus de 1000 salariés. à travers la capture des besoins fonctionnels. et le troisième définit l’architecture logicielle et le Framework utilisé. le deuxième présente l’étude fonctionnelle. SECORA-TRANS. Master Spécialisé : Qualité du Logiciel 11 Rapport de Stage 2008/2009 . quant au deuxième il présente les objectifs de mon projet de fin d’études et la démarche suivie pour assurer son bon déroulement. leur apportant rapidement un vrai bénéfice en termes de compétitivité. opère au sein d’un secteur concurrentiel. La mise en place donc des procédures et d’une organisation de système d’information sort à l’évidence pour mieux répondre aux exigences d’un tel environnement. Pour cela. que ce soit dans les secteurs industriel. et d'assurer la traçabilité des documents et une rapidité dans leur traitement. Mais déjà. afin de suivre et contrôler les dossiers. distribution ou services.

Master Spécialisé : Qualité du Logiciel 12 Rapport de Stage 2008/2009 . quant au deuxième il est consacré à la réalisation de la solution en présentant les différents outils utilisés et quelques prises d’écran du système que j’ai réalisé. le diagramme de classes.La troisième partie est consacrée à la mise en œuvre du projet. elle s’articule autour de deux chapitres: le premier est consacré à la conception des classes métiers en présentant les différents diagrammes de séquences. le diagramme d’activité et le diagramme d’état.

Elle se compose de deux chapitres :  Le premier chapitre est consacré à la présentation de l’organisme d’accueil. Master Spécialisé : Qualité du Logiciel 13 Rapport de Stage 2008/2009 .  Le deuxième chapitre présente les objectifs de mon projet de fin d’études ainsi que la démarche suivie pour assurer son bon déroulement dans les délais fixés.Partie 1 Contexte général du projet Cette première partie présente une vue générale sur mon projet de fin d’études intitulé « Conception et Développement d’un module de gestion de transit à l’aide de l'ERP open source OpenERP ».

moyennant des outils libres.Chapitre Présentation de NEXTMA Dans ce chapitre. je présente de manière générale la société NEXTMA en tant qu’organisme d’accueil où s’est déroulé mon projet. car chaque entreprise à sa spécificité.2 Prestations et services NEXTMA offre une large palette de prestations et de services basés sur des composants libres adaptés aux systèmes et aux réseaux des clients. Master Spécialisé : Qualité du Logiciel 14 Rapport de Stage 2008/2009 . 1. en exposant ses domaines d’activités d’une façon générale. l'adaptation aux besoins spécifiques. la maintenance et le support. concernant les problématiques relevant des systèmes d’informations. La principale tâche de cette société est d’offrir des solutions sur mesure. Afin de bénéficier des meilleures solutions libres dans la gestion des systèmes d'information.1 NEXTMA en Bref NEXTMA est une Société de Services en Logiciels Libres (SSLL) qui accompagne les entreprises et institutions dans le choix de solutions open source ainsi que dans l'intégration. en matière de formation et d’assistance. C'est-à-dire en offrant une gamme étendue des services complémentaires sur mesure. le développement. 1. afin qu'elles puissent faire face aux échéances du libre échange et soient à niveau par rapport aux normes de qualité et de performance internationalement reconnues. Présentation générale de NEXTMA 1. NEXTMA offre aux PME marocaines des services qui sont orientés sur le modèle « ONE STOP SHOPPING ».

avec des composantes de publication web. de portails collaboratifs Internet ou Intranet. permet d'accompagner les organisations qui disposent d’équipes opérationnelles capables de mener à bien des projets. migration vers le libre. Ces formations peuvent être établies sous forme de transferts de compétences. architecture et dimensionnement d'applications basées sur open ERP…etc. de travail collaboratif.  Support En plus des offres de formations. en phases avals des projets Master Spécialisé : Qualité du Logiciel 15 Rapport de Stage 2008/2009 .La gamme de services de NEXTMA est articulée autour de quatre axes majeurs qui permettent d'accompagner les clients durant toutes les phases d'un projet afin d'en assurer sa réussite.  Conseil NEXTMA possède une équipe formée de consultants techniques et fonctionnels qui assure soit dans le cadre de projets. travail collaboratif. des prestations de support d’aide à la maintenance. techniques et fonctionnelles. dématérialisation des procédures. afin de réduire le temps de résolution des interrogations ou des difficultés que les entreprises pourraient rencontrer lors de la mise en œuvre de certains logiciels. La société propose aux équipes dédiées au développement.  Formation L’offre des formations. soit en amont. des missions de conseil dans les domaines suivants: gestion de contenu.  Développement Il constitue le cœur métier de NEXTMA et comprend le développement sur la base de logiciels libres. de gestion électronique de documents et de workflow.

NEXTMA est le partenaire officiel de l’ERP open source Open ERP au Maghreb depuis 2006. Secteurs d’activités De part les multiples projets que NEXTMA a mené. Elle adapte celui-ci à la législation marocaine et aux besoins spécifiques des entreprises.  Customer Relationship Management (CRM) NEXTMA propose l’offre SUGARCRM qui permet la gestion de la relation client.  Intranet des entreprises et gestion des contenus  Création d’identités visuelles et sites Internet institutionnels et e-Commerce La solution proposée est SMARTSHOP qui une solution libre de e-commerce (commerce électronique) qui s'appuie sur le gestionnaire contenu Joomla!  Gestion électronique des documents Il s’agit d’un système informatisé d’acquisition.  Business Intelligence (BI) ou informatique décisionnelle. classement.2.  Enterprise Ressource Planning (ERP) En français Progiciels de Gestion Intégré (PGI). elle a acquis un savoir faire susceptible de lui permettre l’implantation de logiciels libres dans les différents secteurs. stockage. archivage des documents. Master Spécialisé : Qualité du Logiciel 16 Rapport de Stage 2008/2009 .

Le module permettra alors de gérer le cycle de vie d’un dossier. je commence par une brève présentation du langage de modélisation UML en justifiant ce choix. afin de mettre en place des indicateurs pour suivre et contrôler les dossiers des clients.Chapitre Présentation du projet Dans ce deuxième chapitre je présente mon projet de fin d’études. et ensuite. depuis l’ouverture jusqu’à la facturation de vente.1. Thème du projet Mon projet de fin d’études vise à concevoir et développer un module de gestion de transit pour les transitaires. Dans cette section. (Pour plus de détails sur le formalisme UML voir l’annexe 2) Master Spécialisé : Qualité du Logiciel 17 Rapport de Stage 2008/2009 . je passe en revue les différentes étapes de la démarche 2TUP en expliquant les raisons qui j’ai poussé à l’adopter.2. Présentation du projet 1. 1. et 2TUP (Two Track Unified Process) comme démarche. La démarche à suivre Afin d’élaborer mon projet. ses objectifs ainsi que la démarche suivie pour son déroulement dans les meilleures conditions. 1. j’ai choisi d’utiliser UML (Unified Modeling Language) comme formalisme.

Itératif .Coûteux à personnaliser .Très axé processus. . . Points Forts .Cible des projets de plus de 10 personnes. .Définit les profils des intervenants. .2 Processus de développement Le succès d’un projet dépend de l’adéquation du projet au processus de développement. il est plus approprié de concevoir avec des formalismes Orientés Objet. les livrables. . .Assez flou dans sa mise en œuvre. les plannings.Ne propose pas de documents types. et des canevas pour des projets types. . Points Faibles . Il s'en suit qu'il définit un ensemble d’éléments de modélisation et une notation graphique pour modéliser les systèmes et ne décrit pas les étapes à suivre pour le faire.2.Cible des projets de moins de 10 personnes.Méthodologie centrée sur l’architecture et couplée aux diagrammes UML .Fait une large place aux aspects techniques. les plannings. .2.Ne couvre pas les phases en amont et en aval au développement .Spécifie le dialogue entre les différents intervenants du projet : les livrables. -S'articule autour de l'architecture . .Fait une large place à la technologie et à la gestion du risque . .Simple à mettre en œuvre .  Si on développe avec des langages Orientés Objet. Les raisons qui m’ont poussé à adopter UML dans mon projet se résument en :  UML offre un outil prêt à l'emploi basé sur une modélisation visuelle qui permet d'échanger des modèles compréhensibles . les prototypes.Plutôt superficiel sur les phases situées en amont et en aval du développement .Itératif . il est un formalisme et pas une méthode.Itératif . . -Propose un cycle de développement en Y . au détriment du développement. Le tableau suivant (Tableau 1) présente une synthèse des processus les plus en vogue dans la communauté Objet et Nouvelles Technologies.Cible des projets de toutes tailles.1. 1. . Description RUP Rational Unified Process XP eXtreme Programming 2TUP Two Track Unified Process . . Tableau 1 : Synthèse des méthodologies utilisées dans le cadre de développement Objet et Nouvelles technologies Master Spécialisé : Qualité du Logiciel 18 Rapport de Stage 2008/2009 . . les prototypes… .1 Le formalisme UML UML est considéré comme le langage standard de conception orienté objet. .Propose des modèles de documents.

 une phase de réalisation. et en prenant compte des modalités de mon projet. Ainsi. ou du développement. XP se concentre sur la phase de développement. qui dissocie les aspects techniques des aspects fonctionnels. le 2TUP semble le plus adapté pour mener mon projet.  une phase d’étude fonctionnelle. Le processus en Y s'articule autour de 3 phases :  une phase d’étude technique.On constate que toutes ces méthodologies proposent de travailler de façon itérative. tandis que 2TUP fait une large place à l'analyse et à l'architecture. Le 2TUP propose un cycle de développement en Y. Si l'itératif s'est imposé. Il est alors possible de présenter rapidement aux utilisateurs des éléments de validation. des spécifications. De plus. en abordant dès les premières itérations. l'itératif permet une gestion efficace des risques. Master Spécialisé : Qualité du Logiciel 19 Rapport de Stage 2008/2009 . Le RUP couvre l'ensemble du processus en spécifiant les interactions entre chacune des phases. en travaillant par approches successives et incrémentales. que ce soit au niveau des plannings. les points difficiles. c'est parce qu'il réduit la complexité de la réalisation des phases.

La figure ci-dessous (Figure 1) illustre les différentes branches du cycle de développement en Y : Figure 1 : Cycle de développement en Y L'objectif de la branche technique est de rassembler les besoins techniques (sécurité. intégration à l'existant. élaborer une architecture logicielle et applicative qui répond aux contraintes présentées dans le dossier technique et identifier les besoins en frameworks techniques afin de palier aux manques de la technologie (formulaires de saisie interactifs. Master Spécialisé : Qualité du Logiciel 20 Rapport de Stage 2008/2009 . elle a pour objectif de juger de la capacité des développeurs à intégrer l'architecture applicative à monter en compétences sur les frameworks techniques. Quant à la branche fonctionnelle. outils de mapping Objet / Relationnel. …). à comprendre la conception et à suivre les règles de développement.…) dans un dossier.

2 Etude de l’existant 06/04/2009 20/04/2009 11j 3 Etude fonctionnelle 21/04/2009 28/04/2009 6j 4 Etude technique 29/04/2009 05/05/2009 5j 5 Conception de la solution 06/05/2009 18/05/2009 9j 6 Réalisation 19/05/2009 26/06/2009 28j 7 Validation et tests 29/06/2009 30/06/2009 2j 8 Finalisation du rapport 01/07/2009 02/07/2009 2j 83j Total Tableau 2 : Planning du projet Figure 2 : Diagramme de Gantt Master Spécialisé : Qualité du Logiciel 21 Rapport de Stage 2008/2009 . Id Tâche Date de début Date de fin Durée 1 Autoformation / Formation : 16/03/2009 04/04/2009 20j  Langage de programmation Python . il m’a proposé un planning prévisionnel (Table 2) que j’ai ajusté par la suite et au fur et à mesure de l’avancement du projet. Les tâches inscrites dans ce planning correspondent parfaitement aux phases du cycle du développement Y. Planning du projet Dés mon première réunion avec mon encadrant.2.  Framework d’OpenERP OpenObject .  Fonctionnement d’OpenERP.

afin de découvrir les différentes parties qui suivent avec une vision plus claire. La partie suivante sera consacrée à l’étude fonctionnelle et technique en plus d’une étude préliminaire. Dans cette partie. Master Spécialisé : Qualité du Logiciel 22 Rapport de Stage 2008/2009 .Dans sa globalité. il était question de présenter le contexte général du projet permettant d’avoir une idée plus claire sur le cadre entourant mon projet. le processus adopté est le processus 2TUP vu qu’il offre l’avantage d’effectuer en parallèle deux études technique et fonctionnelle avant d’attaquer la conception de la solution. Pour la bonne conduite du projet. le sujet consiste à concevoir et développer un module de gestion de transit à l’aide de l’ERP open source OpenERP pour les transitaires.

les cas d’utilisation UML et leurs descriptions textuelles.  Le troisième chapitre définit l’architecture logicielle du système et le Framework utilisé. Master Spécialisé : Qualité du Logiciel 23 Rapport de Stage 2008/2009 . Elle s’articule autour de trois chapitres :  Le premier chapitre présente une étude préliminaire visant à donner une vue sur l’existant à SECORATRANS où j’ai fait l’étude de l’existant.Partie 2 Etude fonctionnelle fonctionnelle et technique La deuxième partie de ce rapport est consacrée à l’étude fonctionnelle et technique. à travers la capture des besoins fonctionnels.  Le deuxième chapitre présente l’étude fonctionnelle.

d’où la standardisation et la formalisation de toutes les procédures de travail . à forte agressivité commerciale et en pleine évolution. En outre toute cette organisation ne peut donner ces meilleurs fruits que si elle est accompagnée d’un système d’information bien rodé. sont de trois sortes :  Le contrôle de performance. opère au sein d’un secteur concurrentiel. Master Spécialisé : Qualité du Logiciel 24 Rapport de Stage 2008/2009 . Les qualifications professionnelles requises et la formation continue y contribuent pour beaucoup. est une société générale de transit où j’ai fait l’étude de l’existant. 1. Cela ne peut se faire qu’à l’aide d’un Progiciel de Gestion Intégré open source qui permettra :  D’assurer une coordination entre tous les intervenants de l’équipe .Chapitre Etude préliminaire Dans ce chapitre je présente une étude préliminaire sur le projet en commençant par l’étude de l’existant. la mise en place donc des procédures et d’une organisation de système d’information sort à l’évidence pour mieux répondre aux exigences d’un tel environnement. Ces moyens réduisent la surface de contrôle du sommet stratégique. Les moyens mis en place pour exercer les formes de coordination au niveau de la direction tout en laissant au personnel leur autonomie.  La supervision directe.  Le travail de groupe pour une polyvalence des collaborateurs et un système de résultat. la problématique et enfin une synthèse. Projet de la gestion de transit SECORA-TRANS. d’où une gestion par objectif .

Pour faire face à l’évolution des structures et des technologies du commerce international.  D’avoir des tableaux de pilotage retraçant toute l’activité . ainsi que des applications métiers ne communiquant pas entre elles en plus des états et des tableaux réalisés sur Excel ou word. De suivre toutes les opérations effectuées par les intervenants en temps réel . SECORA-TRANS a lancé d’une manière successive depuis 5 ans une série de logiciels afin de mieux répondre à ces problèmes de gestion interne.  D’avoir un archivage et accès aux documents et aux informations sécurisé et rapide.  le logiciel « Gestion de Ventilation » : c’est un logiciel utilisé par le déclarant afin de répartir la valeur totale déclarée entre plusieurs articles d’une même facture soumis à un même régime douanier . Le processus du métier est décrit dans les lignes qui suivent : Master Spécialisé : Qualité du Logiciel 25 Rapport de Stage 2008/2009 .  le logiciel « Gestion de la facturation » : c’est un logiciel utilisé par l’employé afin de l’aider à Facturer et suivre le paiement des clients. Procédures et circuit d’un dossier de transit Le système actuel est basé sur les registres manuels. 2. je peux citer à titre d’exemple :  le logiciel « Gestion des dossiers » : qui sert seulement à l’archivage des dossiers validés non encore facturés.

2.1 Circuit simplifié d’un dossier import/export Secrétaire I Réception des documents Secrétaire II Ouverture et suivi des dossiers import/export Déclarant Déclaration de la marchandise Opératrice de saisie Saisie de la déclaration en détail Commis Dédouanement des produits Agent de facturation Etablissement de la facture clients : Comptable Contrôle et suivi des dépenses et factures clients Figure 3 : Circuit d’un dossier Master Spécialisé : Qualité du Logiciel 26 Rapport de Stage 2008/2009 .

casa extérieur..2 Le circuit d’un dossier 2. titre de transport. Parfois le client se présente directement au bureau de la société muni des documents nécessaires (factures fournisseur.2 Ouverture d’un dossier «la secrétaire II» Tout d’abord. Dans ce cas. «la secrétaire I» lui délivre un accusé de réception sur lequel est mentionné le jour de réception. Elle ouvre enfin un dossier sous un numéro et le remplit en fonction des documents reçus. …).  le bureau de dédouanement (ex casa port. le poids de la marchandise ainsi que la nature des colis.  la valeur de la marchandise en dirham et en devise .1.1. relève les documents manquants au dossier. elle vérifie les documents reçus et s’assure de leur caractère original. Master Spécialisé : Qualité du Logiciel 27 Rapport de Stage 2008/2009 . Elle procède par la suite à leur enregistrement sur un registre contenant les indications suivantes :  le numéro de dossier (numéro de classement+l’année) .  la désignation de la marchandise . par courrier de l’ordre de transit et des documents qui l’accompagnent (avis d’arrivée + factures fournisseur. ainsi que les documents reçus.  le fournisseur. Le régime douanier attribué à la marchandise ainsi que le numéro de la DUM doivent également être enregistrés sur ce registre (après la validation du dossier). Sur ce registre sont mentionnés par la suite. qui peuvent être source de blocage. 2. Elle doit mentionner (sur le dossier) les indications suivantes :  la date de réception des documents .  le nom de l’importateur . titre d’importation. certificat d’origine.…) afin de permettre au transitaire de prendre les dispositions nécessaires à la déclaration (la date de réception ainsi que les documents reçus).) . liste de colisage.2..1 Réception des documents «la secrétaire I » Réception par fax.  le nom et l’adresse du destinataire des marchandises . et garde une copie.

 Calcul du poids net total et poids brut total .  Désignation des nomenclatures : recherche de la nomenclature (numéro et libellé) correspondante à chaque produit figurant sur la facture .  Le numéro du titre de transport .  Calcul du montant à imputer sur le titre d’importation. en fonction de l’usage que l'opérateur économique souhaite réserver à sa marchandise .  Le dernier port ou aéroport (la provenance).1. Après la réception du bon à délivrer.  Les marques.3% du montant coût et frêt en dirhams + Frais d’aconage (23. numéros.4 dhs la tonne du poids brut sauf si le montant de l’aconage est indiqué sur la facture de la compagnie de transport) Master Spécialisé : Qualité du Logiciel 28 Rapport de Stage 2008/2009 .  Identification de tous les éléments lui permettant d’établir la déclaration en détail et de choisir le régime douanier.  Calcul de la contre valeur en monnaie nationale : par l’application du cours de change du jour de la déclaration .  la désignation de la marchandise . La valeur totale à déclarer Prix FOB en devise * cours de change en DHS + montant du fret en devise * cours de change + Frais d’assurance (0.  les documents manquants. espèces et nombre des colis . le nom et l’adresse de l’expéditeur des marchandises .  La nature et le poids brut des marchandises .3 Déclaration de la marchandise « le déclarant » Il s’agit pour le déclarant de procéder à :  Exploitation de dossier par «les secrétaires» . 2. Le numéro du titre d’importation doit également figurer sur le dossier après sa domiciliation. elle complète les énonciations manquantes à savoir :  Date d’arrivée .

2. la modification et la consultation des éléments de la déclaration. il permet également la consultation des déclarations sommaires.  manipulation .  aconage ODEP . Une fois établie une copie est adressée au client avec toutes les pièces justificatives (facture d’échange. La facture reprend tous les frais engagés qui sont à la charge de client.  frais de magasinage (en cas de dépotage) .4 La déclaration en détail (DUM) «L’OPÉRATRICE DE SAISIE» Le logiciel SADOC permet la saisie.  frais de transport local ou national . Une fois les énonciations de la DUM saisies. La facture client comprend plusieurs frais dont on peut citer à titre d’exemple :  frais d’ouverture de dossier .…) en plus d’une copie de l’exemplaire redevable de la DUM et l’engagement d’importation imputé. Soit mettre la déclaration en «ATTENTE» dans ce cas le système procède à son enregistrement provisoire et les données saisies sont gardées en mémoire pour une durée limité avant qu’elles soient automatiquement effacées.  honoraires. le dossier est transmis à l’agent chargé de la facturation. Mais elle peut être consultée. Master Spécialisé : Qualité du Logiciel 29 Rapport de Stage 2008/2009 . elle lui donne un numéro de répertoire.  frais d’échange . Une déclaration signée et enregistrée définitivement ne peut être ni supprimée ni modifiée par l’opératrice. récépissé d’envoi des lettres de réserve.1. Avant de commencer la saisie du dossier. Et l’autre copie est transmise au service comptabilité.  droit de douane . Soit de valider définitivement la déclaration ce qui vaut signature et enregistrement définitif par le système.2.  les lettres de réserves .5 La facturation : « Agent de facturation » Une fois le processus de dédouanement achevé. facture magasinage.1. l’opératrice a deux possibilités.  frais de surestarie .

les premiers diagnostics qui ont été effectués ont fait ressortir que les applications informatiques actuelles. chèque.  l’absence de procédure automatisée de recoupement d'information utilisant un identifiant unique. fiches de dépense.3. l’entreprise avait plus que jamais besoin d’un nouveau système qui correspond le plus à ses exigences. Dans un tel contexte. Master Spécialisé : Qualité du Logiciel 30 Rapport de Stage 2008/2009 . qui malgré leur contribution effective à la gestion de l’entreprise.  un recours à l’informatique insuffisamment développé (exemple : opération du contrôle et du suivi des dossiers non informatisée…) . Problématique Le système actuel de la société SECORATRANS est basé sur les registres manuels ainsi que des applications métiers ne communiquant pas entre elles en plus des états et des tableaux réalisés sur Excel ou word.  Coexistence de procédures manuelles avec les applications informatiques. en terme de pilotage. Les outils existant aujourd’hui sur le marché proposent des fonctionnalités nettement plus avancées et mieux adaptées aux besoins de SECORATRANS. bulletin de réception…) . restent marqués par des insuffisances techniques.. Ils permettent également de répondre aux exigences des clients et partenaires de l’entreprise.  Les systèmes informatiques n’intègrent pas toutes les demandes fonctionnelles exprimées par l’entreprise . d’intégration de données. stratégiques et organisationnelles. Car. Les principales faiblesses diagnostiquées sont :  L’existence de diverses applications informatiques isolées .. de partage d’information en temps réel.  Insuffisance du contrôle et du suivi des dossiers .  Une large utilisation de documents non informatisés (les chemises import/export (vert et jaune).  Manque de traçabilité .

Master Spécialisé : Qualité du Logiciel 31 Rapport de Stage 2008/2009 . suivi et contrôle des dossiers. Cette étude préliminaire m’a permis de bien cerner le sujet et de dégager les principales fonctionnalités utiles pour la mise en place de mon projet. Synthèse Pour remédier aux problèmes cités ci-dessus. J’entamerai dans le chapitre suivant l’étude fonctionnelle.4. et pour améliorer le système de suivi des dossiers pour les transitaires. SECORATRANS cherche à mettre en place un ERP open source OpenERP qui assure la gestion de l'ensemble des services de l’entreprise depuis la réception des documents jusqu’au recouvrement : réception des documents.

la ventilation de la valeur déclarée. choisi par lui-même. ce projet doit aussi avoir pour objectif :  la réalisation d'une application informatique unique pour la gestion de l'ensemble des services de l’entreprise depuis la réception des documents jusqu’au recouvrement : réception des documents.  mettre en place un système commun et partagé répondant aux attentes de l’ensemble des utilisateurs de l’entreprise  l’introduction d’un mot de passe pour chaque utilisateur. Et qui une fois attribué. 1. Objectifs du projet La solution recherchée va couvrir l’ensemble des activités de l’entreprise : suivi des dossiers.Chapitre Etude fonctionnelle Ce chapitre présente l’étude fonctionnelle du projet qui comprend la capture des besoins fonctionnels et la formalisation de ces besoins en cas d’utilisation UML. suivi et contrôle des dossiers. Master Spécialisé : Qualité du Logiciel 32 Rapport de Stage 2008/2009 . il n’engage que la personne titulaire de dit mot de passe. la déclaration de la marchandise et l’archivage des dossiers facturés. suivi et contrôle des dossiers.  mettre en place une solution complète de serveur d'entreprise comprenant des fonctions de messagerie et de collaboration  un stockage de données protégé et centralisé. En effet. et devra permettre la dématérialisation de l’ensemble des opérations de l’entreprise.

 Administrateur Cet acteur attribue les droits d'accès aux utilisateurs. et c’est celui qui fait la déclaration des marchandises. et c’est celui qui valide ou pas les dossiers des clients. ventile les dossiers.1 Définition des acteurs du système À ce stade je vais déterminer les six acteurs principaux interagissant avec le système  Utilisateur Cet acteur accède de manière sécurisée au système. Master Spécialisé : Qualité du Logiciel 33 Rapport de Stage 2008/2009 .2.M de la marchandise. obtient le numéro de la D.  Agent de facturation Cet acteur accède d’une manière sécurisée.U. ainsi que le contenu et l’arborescence de l’OpenERP. Capture des besoins fonctionnels Après avoir cerner les besoins de la société dans le chapitre précédent (étude préliminaire). établit la facture des ventes des dossiers clients. recevoir les contenus. 2. gère les utilisateurs (ajout. suppression d'un utilisateur). et consulte les contenus.  Opérateur de saisie Cet acteur accède d’une manière sécurisée.  Secrétaire de réception des dossiers Cet acteur accède de manière sécurisée au système. je vais formaliser ces besoins en cas d’utilisation en définissant les acteurs interagissant avec le système.  Déclarant Cet acteur accède de manière sécurisée au système. modification.

il identifie les acteurs et leurs interactions avec le système. Par la suite. je l’ai décomposé en huit cas d’utilisations.Remarque : L’opérateur de saisie n’est pas un acteur système car il n’interagie qu’avec le système SADOC de la douane. La figure ci-dessous (Figure 5) représente le diagramme des cas d’utilisation : Master Spécialisé : Qualité du Logiciel 34 Rapport de Stage 2008/2009 . En effet. je vais détailler les principaux cas d’utilisation.2 Cas d’utilisation du système Le diagramme des cas d’utilisation permet de structurer les besoins des utilisateurs et les objectifs d’un système. Afin de mieux comprendre tous les volets du système. Figure 4 : Les acteurs principaux du système 2.

Figure 5 : Diagramme de cas d’utilisation Cycle de vie d’un dossier client Master Spécialisé : Qualité du Logiciel 35 Rapport de Stage 2008/2009 .

Exceptions 1 Se connecter au système 2 1 Le système ne répond pas Se connecter au système 2 Vérifier les informations de l’utilisateur.3 Description des cas d’utilisation 2. Existence à dans la base de données du système Pré condition Scénario Action de l’acteur authentification 1 Action du système Se connecter au système.2. modifier et supprimer un dossier. représente la description de ce cas d’utilisation: Code CU_Authentification Nom Authentification Acteurs système Tous les acteurs Objectif/Résultat Accès aux fonctionnalités attribuées. Le tableau ci-dessous (Tableau 4).2 Cas d’utilisation Gérer Dossier Ce cas d’utilisation concerne la gestion des dossiers. Tableau 3 : Scénario d’authentification 2. ainsi que la validation d’un dossier.3. valider et autoriser l’accès selon les droits. représente la description de ce cas d’utilisation: Master Spécialisé : Qualité du Logiciel 36 Rapport de Stage 2008/2009 .3. 2 Vérifier login et mot de passe. opération effectuée par l’Administrateur qui peut ajouter. Retour à 1 (login ou password incorrect) Fréquence A la demande. Description Ce scénario permet à tout acteur de s’identifier auprès du système et d’accéder aux fonctionnalités qui lui sont attribuées.1 Cas d’utilisation Authentification Le tableau ci-dessous (Tableau 3).

A la demande. Pré condition Authentification au système avec le compte Administrateur. Rechercher le numéro de dossier à modifier. Description Ce scénario permet de faire les opérations d’ajout.Code CU_Gerer_Dossier Nom Gérer Dossier Acteurs système Administrateur Objectif/Résultat Suivre et contrôler les dossiers clients. 5 Valider dossier 6 Etat dossier ouvert Exceptions 1 Saisir les informations de dossier à ajouter. 4 Enregistrer les informations dans la base de données du système. Tableau 4 : Scénario de gérer dossier Master Spécialisé : Qualité du Logiciel 37 Rapport de Stage 2008/2009 . à supprimer et valider. Saisir les informations de dossier à ajouter. à supprimer et à valider. 2 Fréquence Erreur. Scénario Gérer_Dossier Action de l’acteur 1 Action du système Saisir les informations de dossier à ajouter. 3 Rechercher le numéro de dossier à supprimer. 2 1 Le système ne répond pas. 2 1 Données insuffisantes. ansi que la validation et la clôture d’un dossier client. Rechercher le numéro de dossier à modifier. 2 Rechercher le numéro de dossier à modifier. 2 1 Le système ne répond pas. de modification et de suppression d’un dossier client dans la base de données du système.

Scénario Gerer_Ventilation Action de l’acteur 1 Action du système Lister dossiers ouverts 2 Afficher liste dossiers ouverts. Le tableau ci-dessous (Tableau 5). Objectif/Résultat Saisie des détails des différents articles de la marchandise. Description Ce scénario permet de faire la saisie des articles qui seront utiles pour la déclaration de la marchandise. valeur). Acteurs système Déclarant. 3 Choisir numéro dossier 4 5 Afficher dossier choisi Ajouter ventilation 6 Enregistrer les informations dans la base de données du système Exceptions 1 Lister dossiers ouverts 2 Choisir numéro dossier 3 Ajouter ventilation 4 Le système ne répond pas 5 Données insuffisantes pour la ventilation Fréquence A la demande Tableau 5 : Scénario de gérer ventilation Master Spécialisé : Qualité du Logiciel 38 Rapport de Stage 2008/2009 .2.3. quantité.3 Cas d’utilisation Gérer Ventilation Ce cas d’utilisation consiste à saisir les détails des différents articles de la marchandise (nomenclature. poids. Pré condition Authentification au système avec le compte Déclarant. représente la description de ce cas d’utilisation: Code CU_Gerer_Ventilation Nom Ventilation de la marchandise.

Pré condition Authentification au système avec le compte Déclarant Scénario Gerer_Declaration Action de l’acteur 1 Action du système Lister dossiers à déclarer 2 Afficher liste dossier à déclarer 3 Choisir numéro dossier 4 5 Afficher dossier choisi Déclarer dossier 6 Calculer paramètres 7 Etat dossier déclaré Exceptions 1 Choisir numéro dossier 2 Déclarer dossier 3 Le système ne répond pas 4 Données insuffisantes pour le calcul Calcul impossible dossier (déjà déclaré) Fréquence A la demande Tableau 6 : Scénario de gérer déclaration Master Spécialisé : Qualité du Logiciel 39 Rapport de Stage 2008/2009 .2.4 Cas d’utilisation Gérer Déclaration Ce cas d’utilisation consiste à calculer la contre valeur. Le tableau ci-dessous (Tableau 6). poids brut total et le montant à imputer sur le titre d’importation brut. poids brut total et le montant à imputer sur le titre d’importation brut.3. qui seront utiles pour la déclaration chez le système de la douane (SADOC). le poids net total. représente la description de ce cas d’utilisation: Code CU_Gerer_Declaration Nom Déclaration de la marchandise Acteurs système Déclarant Objectif/Résultat Calcul des différents indicateurs de la marchandise Description Ce scénario permet de faire le calcul de la contre valeur. le poids net total.

Une fois établie une copie est adressée au client avec toutes les pièces justificatives. Le tableau ci-dessous (Tableau 7).5 Cas d’utilisation Gérer Facturation Ce cas d’utilisation reprend tous les frais engagés qui sont à la charge de client.2.3. représente la description de ce cas d’utilisation: Code CU_Gerer_Facturation Nom Facture des ventes Acteurs système Agent Facturation Objectif/Résultat Calcul des frais de dossier Description Ce scénario permet de faire le calcul tous les frais engagés qui sont à la charge de client Pré condition Authentification au système avec le compte Agent Facturation Action de l’acteur Scénario Gerer_Facturation 1 Action du système Lister dossiers déclarés 2 Afficher liste dossiers déclarés 3 Choisir numéro dossier 4 5 Afficher dossier choisi Facturer dossier 6 Calculer montant total 7 Etat dossier facturé Exceptions 1 Choisir numéro dossier 2 Facturer dossier 3 Le système ne répond pas 4 Données insuffisantes pour la facturation Fréquence A la demande Tableau 7 : Scénario de gérer facturation Master Spécialisé : Qualité du Logiciel 40 Rapport de Stage 2008/2009 .

.2. la gestion de contenus. 4 Valider 5 Sauvegarder Exceptions 1 Définir les paramètres 2 1 Le système ne répond pas Définir les paramètres 2 Fréquence Paramètres désactivés A la demande.3. Master Spécialisé : Qualité du Logiciel 41 Rapport de Stage 2008/2009 . Pré condition Connexion avec le compte Administrateur Scénario Paramétrage du Action de l’acteur 1 système Action du système Choisir l’option Paramétrage du Système. Le tableau ci-dessous (Tableau 8). représente la description de ce cas d’utilisation: Code CU_PARAM_APPLICATION Nom Définition des paramètres de l’application Acteurs système Administrateur.6 Cas d’utilisation Paramétrage Ce cas d’utilisation concerne le paramétrage de l’application (la gestion des accès et la gestion de contenu). 3 Définir les paramètres. Objectif/Résultat Paramétrer l’application Description Ce scénario permet de paramétrer l’application.. j’ai achevé les différentes phases de la branche fonctionnelle du processus Y. 2 Afficher la liste des paramètres. L’objet du chapitre suivant est l’étude technique du projet qui a pour but de faire apparaître le choix de l’architecture du système et les frameworks techniques qui seront utilisés. la gestion des accès. Tableau 8 : Scénario de paramétrage Au terme de ce chapitre.

Ainsi on considère que le coût de l'outil logiciel représente moins de 20% du coût total de mise en place d'un tel système. Master Spécialisé : Qualité du Logiciel 42 Rapport de Stage 2008/2009 . sont des applications dont le but est de coordonner l'ensemble des activités d'une entreprise autour d'un même système d'information. puis l’architecure logicielle du système pour enfin le Framework et techniques utilisés 1. D'autre part sa mise en place dans l'entreprise entraîne des modifications importantes des habitudes de travail d'une grande partie des employés. et donc des coûts importants d'ingénierie. la technologie utilisée. Je présente d’abord.Chapitre Etude technique Ce chaplitre détaille la branche technique du processus Y. un ERP est un véritable projet demandant une intégration totale d'un outil logiciel au sein d'une organisation et d'une structure spécifique. Plus qu'un simple logiciel. Les ERP : Entreprise Resource Planning Les ERPs (Enterprise Resource Planning). Les Progiciels de Gestion Intégrés proposent généralement des outils de Groupware et de Workflow afin d'assurer la transversalité et la circulation de l'information entre les différents services de l'entreprise. aussi appelés Progiciels de Gestion Intégrés (PGI).

Les applications modulaires telles que les ERP permettent d'être sûr de la compatibilité des modules entre eux. les ERP sont compatibles packs Office. En effet. en particulier pour PowerPoint et Excel. ils s'imbriquent comme des Master Spécialisé : Qualité du Logiciel 43 Rapport de Stage 2008/2009 . La majorité des ERP sont couplés à une base de données ORACLE. ou peu à peu. Le reporting étant utilisé en particulier pour le module de gestion relation client. Un ERP est modulaire dans le sens où il est possible de n'avoir qu'une ou plusieurs applications en même temps. De plus. que nous verrons par la suite. 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. les ERP sont aussi compatibles avec des outils de reporting (CrystalReport en général). 1.2 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.1 Architecture technique Figure 6 : Architecture technique d’un ERP L'ERP est donc sur serveur.1. Enfin.

Voici un exemple d'architecture modulaire qui tend à représenter tous les ERP: Figure 7 : 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.3 Les fonctionnalités de base La figure ci-dessous (Figure x) représente les fonctionnalités de base d’un ERP : Figure 8 : Fonctionnalités de base d’un ERP Master Spécialisé : Qualité du Logiciel 44 Rapport de Stage 2008/2009 .blocs de Lego et fonctionnent ensemble (pas de vérification de compatibilité à effectuer). logistique et e-commerce… 1.

 Controller : le contrôleur est Python qui contrôle OPENERP. prestations de services. etc. en introduisant un composant intermédiaire : « le contrôleur ».2. Il couvre pratiquement tous les secteurs d’activité : industrie. l'accessibilité. Solution de gestion intégrée OpenERP Open ERP est un progiciel de gestion intégré en licence libre. de sorte que les changements à l'interface utilisateur n'affectent pas le traitement des données. Dans des applications complexes qui présentent des lots de données aux utilisateurs. Dans open ERP. la flexibilité et la simplicité sont les maîtres mots du développement. Figure 9 : les relations structurelles entre les trois objets Master Spécialisé : Qualité du Logiciel 45 Rapport de Stage 2008/2009 . 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. dont la grande souplesse est idéale aussi bien pour les indépendants que pour les PME. négoce. e-Commerce.  View : les vues sont définies en fichiers XML dans OPENERP . on peut appliquer cette sémantique de Model-View-Controller avec :  Model : les modèles sont les objets déclarés dans OpenERP. 2.1 Environnement de développement Un MVC est une architecture de modèle utilisée en génie logiciel. Ils sont également des tables PostgreSQL . et que les données peuvent être réorganisées sans changer l'interface utilisateur. commerce. Comme la plupart des logiciels libres. on souhaite souvent séparer les données (modèle) et l'interface utilisateur (vue).

2. l'OpenERP serveur doit être installée dans un serveur exécutant MVC Framework Foundation et un groupe d'applications de tierce-partie que nous appelons l'environnement d'exploitation. et toutes ces applications peuvent être installées aussi bien sur Linux ou Windows. Les utilisateurs n'ont besoin de rien de plus qu'un OpenERP web client ou OpenERP GTK client pour accéder aux différents modules de l’ERP.2 Environnement d'exécution Pour exécuter le code. et quelques autres utilitaires. Le modèle est basé sur le standard SQL.3 Environnement d'exploitation OpenERP a besoin d'un groupe bien connu d'applications tierces telles web services. Base de données PostgreSQL est également nécessaire. Figure 10 : Environnement d’exploitation de l’ERP open source OpenERP Master Spécialisé : Qualité du Logiciel 46 Rapport de Stage 2008/2009 .2. OpenERP web client ou OpenERP GTK client.

langage très riche. OpenObject permet la création de Wizards (sousprogrammes). Figure 11 : Framework OpenObject d’OpenERP 2.1 Rapidité de développement Développer des applications de gestion avec OpenObject. Master Spécialisé : Qualité du Logiciel 47 Rapport de Stage 2008/2009 . On crée un fichier Python contenant la description des champs et les règles de gestion. Il est très souple et complet. ou programme permettant la génération d'OpenERP. quelles qu'elles soient. Si on a besoin d'aller plus loin. l'automatisation des tâches et leur planification. il n'y a aucune limitation aux codes. un fichier XML décrivant les écrans. Bien sûr. bien plus qu'avec n'importe quel autre outil de ce type. et le tour est joué.2. et permet la création des applications de gestion. ceci étant écrit en Python.4 Framework OpenObject OpenObject est le Framework d'OpenERP. l'intégration de données.4.

l’architecture logicielle et le Framework utilisé.4. On a besoin d'intégrer les applications OpenObject à un portail ou à une autre application. Ce chapitre a permis de détailler les différents choix techniques.. Les rapports sont donc le vrai reflet des activités. 2. les données sont transmises par ce protocole. non de simples statistiques internes. dans sa version 5. des listes. Les types d'objets. 2. entièrement doté des fonctionnalités pour effectuer simplement le stockage des données dans des bases de données tierces (OLAP).3 Gestion des workflows Toutes les règles de gestion peuvent être définies..5 Business Intelligence OpenObject est. qui peuvent être ensuite modifiées par le biais de l'application elle-même. à savoir la technologie adoptée. Le moteur de Workflows d'OpenObject est très puissant.2. 2.).4. puis importés rapidement.2 Génération de rapports Les rapports sont très simplement définis et intégrés. et permet des imbrications de règles complexes (ou simples). contenu des données. Master Spécialisé : Qualité du Logiciel 48 Rapport de Stage 2008/2009 .4. les écrans. .4. La partie suivante détaillera la branche réalisation du processus Y. ce sous 2 formes :  Rapports imprimables Ils sont générés par le biais de reportlab.4 Communication avec des applications tierces Toutes les communications entre OpenObject et les interfaces (même vers le client GTK officiel) sont effectuées en XMLRPC. Les fichiers de génération de ces rapports peuvent être transformés dans OpenOffice. Des connecteurs existent entre OpenObject et LDAP. Asterisk.  Ecrans On peut définir tout type de tableau de bord. des graphiques. ainsi qu'avec de nombreuses autres applications Open Source (ezPublish.

d’activité et d’état. Master Spécialisé : Qualité du Logiciel 49 Rapport de Stage 2008/2009 .Partie 3 Mise en Œuvre du projet Le contenu de cette partie s’articule sur deux chapitres :  Le premier est consacré à l’analyse et la conception du module métier du système. en présentant le diagramme de classes. quelques diagrammes de séquences et la à la structure du système. en présentant quelques prises d’écran.  Le deuxième est consacré réalisation du système.

Le système vérifie ces informations qui sont stockées dans la base de données et affiche la page d’accueil suivant les privilèges et le rôle de l’utilisateur.1 Diagrammes de séquences Le diagramme de séquences permet de mettre en relief les différents messages échangés entre les objets et acteurs du système. "de haut en bas" de l’axe vertical. l'ordre d'envoi d'un message est déterminé par sa position sur l'axe vertical (axe temporel) du diagramme .1 Scénario Authentification Ce scénario permet à l’utilisateur de se connecter au système en saisissant son login et mot de passe. 1. Je présente d’abord la conception des classes métiers puis la structure du système. Conception des classes métiers 1. En effet.Chapitre Conception de la solution Ce chaplitre détaille la phase conception de la branche réalisation du processus Y. La figure ci-dessous (Figure 12) représente le diagramme de séquences du scénario d’authentification Master Spécialisé : Qualité du Logiciel 50 Rapport de Stage 2008/2009 . le temps s'écoule indépendamment des événements. 1. Je vais dans la suite présenter quelques diagrammes de séquences. et ce selon un point de vue temporelle.1.

présente le diagramme de séquences du cas Paramétrage.Figure 12 : Diagramme de séquences du scénario Authentification 1. Figure 13 : Diagramme de séquences du scénario Paramétrage Master Spécialisé : Qualité du Logiciel 51 Rapport de Stage 2008/2009 .1. et la gestion des comptes utilisateurs et les droits d’accès attribués à ces derniers. La figure suivante (Figure 13). il consiste à faire la gestion du contenu.2 Scénario Paramétrage Ce scénario est déclenché par l’administrateur du système.

Figure 14 : Diagramme de séquences du scénario Gestion des dossiers 1. et le suivi et le contrôle de ces dossiers (Figure 14). quantité.1. il consiste à faire la gestion des dossiers. poids.4 Scénario Ventilation : La ventilation consiste à saisir les détails des différents articles (nomenclature.3 Scénario Gestion des Dossiers : Ce scénario est déclenché par l’administrateur du système.1.1. valeur) Master Spécialisé : Qualité du Logiciel 52 Rapport de Stage 2008/2009 .

 Calcul du montant à imputer sur le titre d’importation.  Calcul du poids net total et poids brut total . Master Spécialisé : Qualité du Logiciel 53 Rapport de Stage 2008/2009 .Figure 15 : Diagramme de séquences du scénario Ventilation 1.5 Scénario Déclaration La déclaration de la marchandise consiste à effectuer les opérations suivantes :  Calcul de la contre valeur en monnaie nationale : par l’application du cours de change du jour de la déclaration .1.

Figure 16 : Diagramme de séquences du scénario Déclaration Master Spécialisé : Qualité du Logiciel 54 Rapport de Stage 2008/2009 .

1. agent de facturation utilise le numéro de la facture correspondant à la commande client. Pour créer un avoir. Une fois établie une copie est adressée au client avec toutes les pièces justificatives (facture d’échange. récépissé d’envoi des lettres de réserve. Figure 17 : Diagramme de séquences du scénario Gestion de la facturation Master Spécialisé : Qualité du Logiciel 55 Rapport de Stage 2008/2009 .6 Scénario Gestion de la facturation La facture reprend tous les frais engagés qui sont à la charge de client. facture magasinage.…).1.

Une classe permet de décrire un ensemble d’objets (attributs et comportements). de manière générale.1. en termes de classes et de relations entre elles. tandis qu’une relation ou association permet de faire apparaître des liens entre ces objets.2 Digramme de classes Le diagramme de classes exprime. la structure statique d’un système. Le schéma ci-dessous (Figure 18) représente le diagramme de classe que j’ai établi pour la conception du système: Figure 18 : Diagramme de classes Le schéma ci-dessous (Figure 19) représente le diagramme d’activité que j’ai établi pour la conception du système: Master Spécialisé : Qualité du Logiciel 56 Rapport de Stage 2008/2009 .

Figure 19 : Diagramme d’activité Cycle de vie d’un dossier Master Spécialisé : Qualité du Logiciel 57 Rapport de Stage 2008/2009 .

Dans le chapitre suivant je exposerai les outils utilisés. et quelques diagrammes de séquences. Master Spécialisé : Qualité du Logiciel 58 Rapport de Stage 2008/2009 .Le schéma ci-dessous (Figure 20) représente le diagramme d’état que j’ai établi pour la conception du système: Figure 20 : Diagramme de classes Ce chapitre avait pour objectif la présentation de la conception détaillée de la solution à travers le diagramme de classes. d’état. d’activité. et quelques exemples d’illustration.

pour ajouter le système comme module au sein de cet ERP j’ai eu recours à plusieurs outils comme l’IDE Eclipse et le SGBD PostgreSQL. ainsi que la langage de programmation Python et la langage à balises extensible XML. Eclipse possède de nombreux points forts qui sont à l'origine de son énorme succès dont les principaux sont :  L’extensibilité de plate-forme grâce au mécanisme de plug-ins .1 IDE Eclipse Eclipse est un environnement de développement intégré dont le but est de fournir une plate-forme modulaire pour permettre la réalisation des développements informatiques. 1. les outils utilisés et quelques prises d’écran du système.Chapitre Réalisation de la solution Ce chaplitre détaille la phase réalisation de mon projet. Outils utilisés Pour le développement du système je me suis basés sur l’ERP OpenERP et les différentes technologies et Framework qu’il utilise. Master Spécialisé : Qualité du Logiciel 59 Rapport de Stage 2008/2009 . hormis le noyau de la plate-forme nommé "Runtime". Eclipse utilise énormément le concept de modules nommés "plug-ins" dans son architecture. Ce concept permet de fournir un mécanisme pour l'extension de la plate-forme et fournir ainsi la possibilité à des tiers de développer des fonctionnalités qui ne sont pas fournies en standard par Eclipse. tout le reste de la plate-forme est développé sous la forme de plug-in. dont la présentation est détaillée dans les paragraphes suivants. Je présente d’abord. D'ailleurs. 1.

extensible. Il consiste en un serveur de base de données SQL Multi-Utilisateur et multi-thread. Python est développé depuis 1989 par Guido van Rossum et de nombreux contributeurs bénévoles.  Il est orienté objet et supporte l’héritage multiple et la surcharge des opérateurs .  Le support de plusieurs plates-formes d'exécution : Linux. dynamique. Java.Postgres.  Le support de plusieurs langages grâce à des plug-ins dédiés : Python.  Absence des pointeurs . PHP.3 Langage Python Python est un langage portable. Cobol. qui permet (sans l'imposer) une approche modulaire et orientée objet de la programmation. Détaillons un peu les principales caractéristiques du langage Python:  Portable : Il est supporté par les différents systèmes d’exploitation . et nous avons utilisé l’utilitaire pgAdmin pour l’utiliser à distance à partir d’un client Windows. Nous avons utilisé PostgreSQL sous Linux. . C.  Gratuit . Windows. dictionnaires…) . 1... . gratuit.  Simple : Il possède une syntaxe très simple tout en combinant des types de données évolués (listes.com].…  La rapidité d'exécution grâce à l'utilisation de la bibliothèque SWT . C#. notamment par sa gratuité et son exploitation sur Internet [www. La cohabitation entre plusieurs versions d'un même plug-in sur une même plateforme .  La construction incrémentale des projets grâce à un compilateur interne qui permet de compiler un code même avec des erreurs.2 SGBD PostgreSQL PostgreSQL est un serveur de bases de données SQL (Structured Query Language) qui a acquis une popularité croissante au fil des années. de générer des messages d'erreurs personnalisés… 1. Master Spécialisé : Qualité du Logiciel 60 Rapport de Stage 2008/2009 .

 Il garantit à ses utilisateurs l’indépendance de leurs documents de toute technologie propriétaire .  Python : gère ses ressources (mémoire.) sans intervention du programmeur.. dans laquelle les programmes Python sont compilés en instructions portables.  Soutenu par la communauté d’utilisateurs qui tentent à l’évoluer.  Dynamiquement typé . 1. il décrit cette structure à l’aide d’un système de balises. programme il est beaucoup plus Java que d'un facile programme Python)..  Python : possède actuellement deux implémentations. par un mécanisme de comptage de références . Dynamique : cette fonctionnalité est probablement la plus intéressante de Python . Master Spécialisé : Qualité du Logiciel 61 Rapport de Stage 2008/2009 .  Il a la possibilité de créer des nouvelles balises contrairement à HTML qui définit un nombre limité . avec une différence importante: d'accélérer Java étant statiquement l'exécution d'un typé.  Extensible : on peut facilement l’interfacer avec des bibliothèques C existantes . L'une.4 Langage XML XML (eXtensible Markup Language et en Français Langage à balises étendu. puis exécutés par une machine virtuelle (comme pour Java. Quelques points remarquables d’XML :  Il apparaît comme un format d’échange de données universel . interprétée. ou Langage à balises extensible) était lancé en 1997 par la communauté SGML (Standard Generalized Markup Language). XML est un langage simple et puissant de description et d’échange de documents structurés de n’importe quel domaine de données grâce à son extensibilité. descripteurs de fichiers.L'autre génère directement du bytecode Java .  Il unifie le monde du traitement de document et celui du Web.

dont la présence est facultative.  des déclarations d'entités paramètres . des instructions de traitement et une déclaration de type de document.  De commentaires et d’instructions de traitement. Il contiendra un certain nombre de déclarations . on parle d’élément père et d’élément fils. dont la présence est facultative mais conseillée.  des déclarations d'éléments .  D’un arbre d’éléments. Un document XML valide est forcément un document bien formé mais il obéit en plus à une structure type définie dans une DTD (Document Type Definition). moyennant certaines restrictions.  des déclarations de notations .  des déclarations de listes d'attributs . Ils pourront. apparaître aussi bien dans le prologue que dans l’arbre d’éléments. Master Spécialisé : Qualité du Logiciel 62 Rapport de Stage 2008/2009 . En fait la partie essentielle d’un document XML sera toujours formée d’une hiérarchie d’éléments qui dénote la sémantique de son contenu .Tout document XML se compose :  D’un prologue qui peut contenir une déclaration XML.Une DTD peut contenir  des déclarations d'entités générales .  des commentaires.

la ventilation et la déclaration… Master Spécialisé : Qualité du Logiciel 63 Rapport de Stage 2008/2009 . Fournisseur. 2. Bureaux de douane. ensuite j’ai formalisé ces fonctionnalités par des diagrammes UML et j’ai spécifié les différents choix techniques. Dans la suite je présente le travail réalisé à travers quelques exemples d’illustration. Figure 21 : Page d’authentification Le module de gestion de transit est représenté comme la figure ci dessous (Figure 22):  Configuration : contient les tables de base (Régime.1. je présente dans la suite quelques unes de ses fonctionnalités.  Gestion des dossiers : comporte les dossiers. …) .2.1 Exemples d’illustration Pour illustrer quelques cas de figures du système.1 La page d’authentification Afin de donner la notion de sécurité au système la première page qui s’affiche (Figure 21) est la page d’authentification. 2. Réalisation du système Dans les chapitres précédents j’ai pu dégager les différentes fonctionnalités auxquelles doit répondre le système.

Figure 23 : Page de dossier Master Spécialisé : Qualité du Logiciel 64 Rapport de Stage 2008/2009 .1.Figure 22 : Page de module 2.2 Le dossier Le système offre la possibilité de créer un dossier en état ouvert afin de le suivre et de le contrôler jusqu'à l’état de clôture (Figure 23).

Figure 25 : Détails de ventilation de dossier Master Spécialisé : Qualité du Logiciel 65 Rapport de Stage 2008/2009 . valeur) et le calcul du montant de chaque article ainsi que le montant total de la marchandise.1. poids.3 La ventilation Le système nous permet de saisir les détails des différents articles de la marchandise (nomenclature.Figure 24 : Détails de dossier 2. quantité.

2.4 La déclaration Le calcul des différents indicateurs de dossier se base sur la ventilation cité précédemment. Figure26 : Détails de déclaration de dossier Master Spécialisé : Qualité du Logiciel 66 Rapport de Stage 2008/2009 . le calcul de ses indicateurs se fait d’une manière automatique en offrant au Déclarant un Process qui fait un calcul fiable et sûr des indicateurs (Figure 26).1.

Master Spécialisé : Qualité du Logiciel 67 Rapport de Stage 2008/2009 . Durant lequel j’ai présenté l’IDE Eclipse. le langage Python.5 La facturation La facture reprend tous les frais engagés qui sont à la charge de client (ouverture de dossier. transport local. le langage XML ainsi que le Framework OpenObject utilisé. j’ai également illustré le travail élaboré par quelques prises d’écran. Une fois établie une copie est adressée au client avec toutes les pièces justificatives (facture d’échange.…). facture magasinage. le SGBD PostgreSQL.1.…). Figure27 : Facture des ventes Dans ce chapitre j’ai présenté la phase de réalisation du processus Y.2.

En effet. convivialité et conformité aux transitaires marocaine. l’adaptabilité à l’environnement de l’entreprise et le sens d’analyse. Parmi les perspectives futures.Conclusion et Perspectives Persuadés et convaincus de l’importance de l’open source dans le monde de l’informatique.  Le côté commercial : il faut introduire convenablement le produit qui doit être modulable et adaptable au besoin du client et lui accompagner d’un commode marketing pour le commercialiser. Aussi. signalons l’intérêt d’étendre le module de transit par l’intégration des fonctionnalités suivantes : Master Spécialisé : Qualité du Logiciel 68 Rapport de Stage 2008/2009 . Or. le travail d’équipe.  Le côté technique : il consiste à adapter les besoins fonctionnels du client en une application hautement conviviale et facilement paramétrable . j’ai opté dans mon stage de fin d’études pour la réalisation d’un module de la gestion de transit à l’aide de l’ERP open source OpenERP. parmi lesquels on cite :  Le côté fonctionnel: les rencontres continues avec le client pour spécifier les besoins de métier permettent l’apprentissage de nouveaux concepts économiques . Ces valeurs sont sans aucun doute les bases de réussite dans le milieu professionnel. le fait de plonger dans les méandres d’OpenERP et lui-même une motivante aventure où on est amené à intercepter tous les côtés d’un projet. Ce stage a été pour moi un grand pas vers le milieu professionnel. ce projet m’a permis d’acquérir des valeurs indispensables pour le métier d’un analyste développeur telles que la responsabilité. où j’ai bénéficié d’une excellente expérience qui m’a permis de concrétiser mes connaissances informatiques acquises au cours des années d’études lors de la période de ma formation à la Faculté des Sciences de Tétouan. je juges très utile cette expérience de 4 mois que j’ai passé dans ce stage de fin d’études. pour la tenue du contrôle et du suivi des dossiers de l’entreprise en alliant souplesse d’utilisation. A propos du projet. j’ai établi la base d’un module de gestion de transit.

 La gestion de transport. Finalement. Master Spécialisé : Qualité du Logiciel 69 Rapport de Stage 2008/2009 .  Le paramétrage des comptes comptables pour le transfert direct vers la comptabilité. je souhaite que le projet de fin d’études soit la base d’une implémentation du module d’OpenERP qui traite la gestion de transit sachant qu’aucune expérience n’a été établie jusqu’à présent.

Data Manipulation Language). Data Control Language). un modèle de nommage. une spécification simple et un ensemble de codes qui permettent à des processus s'exécutant dans des environnements différents de faire des appels de méthodes à travers un réseau. Online Analytical Processing (OLAP) désignait à l'origine les bases de données multidimensionnelles (aussi appelées cubes ou hypercubes) destinées à des analyses complexes sur des données. sans intervention humaine. par et pour des applications ou machines. Il s'agit donc d'un ensemble de fonctionnalités exposées sur Internet ou sur un intranet. Lightweight Directory Access Protocol (LDAP) est à l'origine un protocole permettant l'interrogation et la modification des services d'annuaire. un modèle de sécurité et un modèle de réplication. un modèle fonctionnel basé sur le protocole LDAP. traduisez Langage de requêtes structuré) est un langage de définition de données (LDD.La Bulle Internet est liée à ce que l'on appelle l'immatériel dans l'économie moderne.Glossaire Bulle Internet : Web Services : Le standard SQL : XMLRPC : LDAP : OLAP : GNU : La Bulle Internet (dot-com bubble en anglais) ou bulle technologique est une bulle spéculative. ou en anglais DCL. Master Spécialisé : Qualité du Logiciel 70 Rapport de Stage 2008/2009 . ou en anglais DDL Data Definition Language). qui a affecté les « valeurs technologiques ». Il a cependant évolué pour représenter une norme pour les systèmes d'annuaires. ou en anglais DML. pour les bases de données relationnelles. sur les marchés d'actions à la fin des années 1990. XML-RPC est un protocole RPC (Remote procedure call). et un langage de contrôle de données (LCD. Un service web est un programme informatique permettant la communication et l'échange de données entre applications et systèmes hétérogènes dans des environnements distribués. SQL (Structured Query Language. GNU est un projet de système d'exploitation composé exclusivement de logiciels libres. Son apogée a eu lieu en mars 2000. Ce protocole repose sur TCP/IP. incluant un modèle de données. c'est-àdire celles des secteurs liés à l'informatique et aux télécommunications. et en temps réel. un langage de manipulation de données (LMD.

5 The PostgreSQL Global Development Group Cet ouvrage contient l'adaptation française de la documentation officielle de PostgreSQL XML : Introduction à XML Par Victor Stinner Édition : 16/09/2003 UML : UML 2 Par Laurent AUDIBERT Édition : 2007-2008 Webographie Le site officiel de l’ERP open source Open ERP : http://openerp.com (Mars-juin 2009) : http://www.com www.com/ (Mars-juin 2009) www.tv (Mars-juin 2009) Solution de gestion intégrée OpenERP : www.3 Par Guido van Rossum Édition : 19 juillet 2006 Traduction française dirigée par Olivier Berger PostgreSQL : Documentation PostgreSQL 8.supinfo-projects.developpez.2.com Master Spécialisé : Qualité du Logiciel 71 Rapport de Stage 2008/2009 .supinfo-projects.ch (Mars-juin 2009) : http://www.com http://openerp.developpez.open-net.4.Bibliographie OpenERP5 : OpenERP pour une gestion d’entreprise : efficace et intégré Par Fabien PINCKAERS et Geoff GARDINER Édition : 2 Publié en 2008 Python : Tutoriel Python Release 2.

Annexes Ce présent rapport comprend deux annexes portant sur :  Installation d’OpenERP sous Ubuntu  Le formalisme UML Master Spécialisé : Qualité du Logiciel 72 Rapport de Stage 2008/2009 .

Installation de l’environnement 1.0.0.0. L’OpenERP Server peut être installé très facilement à l'aide du fichier setup. car OpenERP Web utilise des composants Flash.0 sudo python setup.0.no-createrole .pwprompt openuser 1. Sudo apt-get install flashplugin-nonfree 2.Annexe 1 : Installation d’OpenERP sous ubuntu 1. OpenERP utilisera cet utilisateur pour se connecter à PostgreSQL.0.py install Master Spécialisé : Qualité du Logiciel 73 Rapport de Stage 2008/2009 . installer le package PostgreSQL: sudo apt-get install postgresql Vous devez créer un utilisateur PostgreSQL.0.1 Installation d’OpenERP Server OpenERP Server peut être téléchargé sur le site Web officiel de l’OpenERP : ww.openerp.1 Installation des paquets nécessaires Pour installer les bibliothèques nécessaires.py install sudo python setup.tar.createdb .gz tar-xzf openerp-server-5. vous pouvez effectuer les opérations suivantes dans votre Shell: sudo apt-get install python python-psycopg2 python-reportlab \ python-egenix-mxdatetime python-xml python-tz python-pychart \ python-pydot python-lxml python-libxslt1 python-vobject 1. createuser .py: tar -xzf openerp-server-5.com. Installation d’OpenERP 1.3 Flash plugin Votre navigateur doit avoir le plugin Flash installé.tar.2 Installation de PostgreSQL Sur Ubuntu.gz cd openerp-server-5.0 cd openerp-server-5.

py: tar -xzf openerp-client-5.1.openerp.tar.0.8 Puis. Pour installer l’OpenERP Web.0. Nouvelle base de données.2 Installation d’OpenERP Client GTK Pour installer les bibliothèques nécessaires.0 cd openerp-client-5.0.com.tar.py install sudo python setup. vous pouvez effectuer les opérations suivantes dans votre Shell: sudo apt-get install python python-gtk2 python-glade2 \ python-matplotlib python-egenix-mxdatetime python-xml python-hippocanvas python-matplotlib python-egenix-mxdatetime python-xml python-hippocanvas L’OpenERP Client peut être téléchargé sur le site Web officiel de l’OpenERP ww.4 Création de la base de données Si vous utilisez le client GTK.gz cd openerp-client-5. Entrez le mot de passe de super-administrateur et le nom de la nouvelle base de données que vous créez.8 $ Sudo easy_install TurboGears == 1. Master Spécialisé : Qualité du Logiciel 74 Rapport de Stage 2008/2009 .0. choisissez Fichier.0. L’OpenERP Client peut être installé très facilement à l'aide du fichier setup. pour cela on se connecte en effectuant les opérations suivantes dans votre Shell: openerp-server openerp-cilent 1. Bases de données.0.0 sudo python setup. vous pouvez effectuer l’opération suivante dans votre Shell: Sudo easy_install-U openerp-web Si tout marche bien vous pouvez maintenant accéder à OpenERP.3 Installation d’OpenERP Web Tout d’abord vous devez installer TurboGears ne effectuant les opérations suivantes dans votre Shell: Sudo apt-get install python-setuptools sudo easy_install TurboGears == 1.py install 1.gz tar-xzf openerp-client-5.0.0.

(Voir figure x) Master Spécialisé : Qualité du Logiciel 75 Rapport de Stage 2008/2009 . Il est important de s'y connecter avec le compte administrateur afin de configurer les fonctionnalités dont on a besoin. Pour notre exemple.Figure 27 : Interface de configuration de la base de données La base de données est créée. open ERP se connecte avec le compte administrateur en proposant une aide à la configuration par un système d'étapes. nous avons choisi le profil « service » car la plupart des entreprises en ont besoin pour paramétrer les modules de comptabilité et de finance. mais sans aucun module installé. Figure 28 : Interface de la connexion avec la base de données Suite à la création de la base.

com http://www.Figure 29 : Interface de configuration du profil de l’entreprise Une fois toutes les étapes effectuées pour paramétrer le profile des entreprises. il ne reste qu'à se connecter via l’interface d’authentification suivante : Figure 30: Interface d’authentification des utilisateurs 3.openerp.axelor.com Master Spécialisé : Qualité du Logiciel 76 Rapport de Stage 2008/2009 . Support   http://www.

 Construction : les différents diagrammes et modèles établis durant la phase de spécification et de conception servent de base pour la réalisation .  Visualisation : les différents diagrammes donnent aux concepteurs une vue précise sur le système avant sa réalisation . Le langage UML UML est le fruit d’une fusion de plusieurs méthodes orientées objet. Cette annexe présente une vue globale sur la notation UML ainsi que ces différents diagrammes.Annexe 2 : Le formalisme UML Unified Modeling Language (UML) est considéré comme le langage standard de conception orienté objet.  Documentation : les diagrammes utilisés durant les différentes phases pour communiquer les connaissances entre les membres du projet. présentent un document détaillé sur les diverses phases et modules du projet.  UML permet aussi de suivre un projet dans ces différentes étapes :  Spécification : il s’adresse à la spécification du système. ce qui lui permet d’être adapté aux différents types de systèmes. de la spécification des besoins jusqu’à la réalisation. concevoir et documenter les composants statiques et dynamiques d’un système.  Une bonne compréhension du problème : le système à étudier sera traité suivant différents angles et suivant les différents cas d’utilisation de ce système . Master Spécialisé : Qualité du Logiciel 77 Rapport de Stage 2008/2009 . il peut être utilisé pour modéliser les besoins (le quoi) et l’architecture (le comment) . 1. C’est un langage de modélisation unifié favorisant :  Une meilleure communication entre les intervenants dans un projet : il offre des moyens de capture des connaissances sur un sujet à travers divers points de vues (ces points de vues sont fournis par ses différents diagrammes) .  Une incorporation des meilleures pratiques d’ingénierie dans les différents domaines. Il permet de visualiser.

Nom de l'objet Figure 32 : Représentation d’un objet  Association entre deux classes : exprime une relation équilibrée entre deux classes. Nom de la classe Attributs de la classe Opérations de la classe() Figure 31 : Représentation d’une classe  Objet : une instance d’une classe.2. Nom de la classe Attributs de la classe Nom de la classe Attributs de la classe Opérations de la classe() Opérations de la classe() Figure 33 : Association entre deux classes  Agrégation entre deux classes : forme d’association non symétrique qui exprime un couplage fort et une relation de subordination. Nom de la classe1 Nom de la classe2 Figure 34 : Agrégation entre deux classes Héritage : relation entre deux classes qui permet le partage de propriétés définies dans une classe Master Spécialisé : Qualité du Logiciel 78 Rapport de Stage 2008/2009 . Les diagrammes UML Avant de présenter les neufs diagrammes de UML. • Notation  Classe : description abstraite d’une entité ou une réalisation d’un type. nous allons commencer par présenter les notations utilisées par ce langage.

Il est constitué de deux axes. m3.  Les diagrammes de séquences : ils représentent les interactions entre les objets dans un contexte temporel.  Les diagrammes de collaborations : comme les diagrammes de séquences. m4 et m5 représentent les différents messages échangés entre les trois objets au cours du temps (le processus commence par l’envoi du message m1 par l’objet1 et se termine par la réception de m4 ou m5 toujours par l’objet1). mais ils font apparaître plus d’objets qui collaborent entre eux afin de répondre à une activité du Master Spécialisé : Qualité du Logiciel 79 Rapport de Stage 2008/2009 . les diagrammes de collaborations visualisent les échanges de messages. Objet1 Objet2 1: M1 Objet3 2: M2 3: Traitement 4: M3 5: M4 6: M5 OK ----OK Figure 36 : Diagramme de séquence m1. m2. un axe vertical représentant l’évolution temporelle et l’autre horizontal représentant les objets considérés. C’est donc le temps qui détermine l’ordre des envois des messages entre ces objets.Nom de la classe1 Nom de la classe2 Figure 35 : Héritage entre deux classes • Les diagrammes de comportement (dynamique) Ces diagrammes offrent un moyen de modéliser les interactions entre les acteurs et le système et entre les différents modules du système.

Ces transitions sont déclenchées par les événements qui surviennent dans le domaine du problème. il permet de modéliser les flux de données entre les différents acteurs du système. Un diagramme d’activité ressemble au modèle organisationnel des traitements (MOT) défini dans Merise. 1: M1 Objet1 Objet2 3: M3 2: M2 4: M4 Objet3 Objet4 Figure 37 : Diagramme de collaboration  Les diagrammes d’états transition : ils permettent de visualiser l’ensemble des états d’un objet durant sa période de vie. L’axe du temps n’est pas représenté explicitement sur ces diagrammes. Figure 38 : Diagramme d’états transition  Les diagrammes d’activités : ils sont des cas particuliers des diagrammes d’états transitions. système. mais ici les événements sont internes qui correspondent aux différents opérations et processus. l’ordonnancement des messages entre les objets est matérialisé par leur numérotation. Ils sont des graphes dirigés constitués d’un ensemble d’états reliés par des connexions appelées transitions. Figure 39 : Diagramme d’activité organisé par acteur Master Spécialisé : Qualité du Logiciel 80 Rapport de Stage 2008/2009 .

Objet1 Objet2 Objet3 Objet4 Figure 41 : Diagramme d’objets  Les diagrammes de classes : comme les diagrammes d’objets. UseCase1 UseCase2 Acteur1 Acteur2 UseCase3 Figure 40 : Diagramme de cas d’utilisation  Les diagrammes d’objets : ou d’instances expriment l’état statique du système.  Les diagrammes de cas d’utilisations : ils représentent les différentes utilisations potentielles du système.• Les diagrammes statiques Ces diagrammes mettent l’accent sur la partie statique et spatiale du système ainsi que sur les relations entre les différents objets. Un diagramme de cas d’utilisation rassemble les différents acteurs et les activités attendues du système. Ils sont utilisés principalement pour faciliter la compréhension d’un contexte. ils montrent l’aspect statique du système Master Spécialisé : Qualité du Logiciel 81 Rapport de Stage 2008/2009 . Celles-ci correspondent à des vues des acteurs externes sur le système. Ils mettent en relation un ensemble d’objets du système pour répondre à un cas d’utilisation ou une activité du système.

qu’elles soient logiques ou physiques. Composant1 Composant2 Figure 43 : Diagramme de composant  Les diagrammes de déploiement : ils évoquent la partie matérielle et physique du système ainsi que la répartition des programmes suivant les différents composants matériels. Les différents nœuds sont reliés par des lignes modélisant les connexions entre les composants physiques du système. …etc. les paquetages. Les dépendances sont représentées par des traits discontinus pour indiquer qu’un composant fait références aux services offerts par l’autre composant. Chaque composant est représenté par un nœud sous forme d’un cube.Classe1 Classe2 Classe3 Figure 42 : Diagramme de classe • Les diagrammes d’implémentation Les diagrammes d’implémentation mettent en évidence les différentes dépendances. Serveur TCP/IP Serveur 2 HTTP Client FTP Figure 44 : Diagramme de déploiement Master Spécialisé : Qualité du Logiciel 82 Rapport de Stage 2008/2009 .) ainsi que les relations entre ces différents éléments. entre les différents modules d’un logiciel à savoir :  Les diagrammes de composants : ils décrivent les éléments physiques (les fichiers.