Openerp à la poste maroc

2 201 vues

Publié le

Conception et mise en œuvre d’une application de gestion de
collectes et de distributions( avec openerp à la poste maroc)
par JOUDAR Youssef et TAZARNI Abderrazak

Publié dans : Ingénierie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
2 201
Sur SlideShare
0
Issues des intégrations
0
Intégrations
74
Actions
Partages
0
Téléchargements
163
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Openerp à la poste maroc

  1. 1. Organisme d’accueil : Brid Al Maghrib RAPPORT DE STAGE D’APPLICATION Préparé par : JOUDAR Youssef TAZARNI Abderrazak Sous la direction de : M. OURADI Najib Année Universitaire 2013 /2014 Conception et mise en œuvre d’une application de gestion de collectes et de distributions
  2. 2. 3 Remerciements Au terme de ce travail, nous tenons à exprimer nos profonds remerciements à toutes les personnes qui ont contribué de près ou de loin au bon déroulement de notre stage. Nous remercions notre encadrant, Monsieur NAJIB OURADI, chef de la Division “Solutions et Amélioration Continue”, d’abord pour nous avoir accordé l’opportunité d’effectuer ce stage d’application au sein de Barid Al Maghrib, pour l’aide qu’il nous a apporté tout au long de la période de réalisation de notre stage d’application, et ensuite pour ses remarques pertinentes, ses renseignements précieux, ses conseils et son encouragement. Son soutien et sa souplesse au travail nous a permis de mener à bien notre application. Nous sommes très reconnaissants à toutes les personnes qui ont participé à l’élaboration de ce travail. Cependant, nous ne pouvons citer tous les noms. Que tous ceux qui ont contribué au bon déroulement de ce travail trouvent ici l’expression de notre profonde gratitude et reconnaissance.
  3. 3. 4 RESUME Ce rapport est la synthèse de notre travail dans le cadre de notre stage d’application au sein de Barid Al Maghrib. L’objectif de ce projet est la création et la mise en place des modules sous OpenERP qui permettent la gestion des tournées et des collectes effectuées par les facteurs de la société. Notre rôle consistait en l’intervention à toutes les phases du projet. En commençant par la rédaction du cahier des spécifications détaillées, puis en procédant à l’analyse, la conception et la réalisation de ces modules. Notre projet, qui s’est basé sur la démarche de conduite de projet Scrum, a été réalisé en trois phases: Une étude fonctionnelle et technique de l’application. Une étape traitant l’étude conceptuelle en langage de modélisation objet UML. Une dernière étape comprend la mise en œuvre de notre module à l’aide d’un ERP open source : OpenERP. Mots clé : OpenERP, 2TUP, Python, XML, Postgresql, Gestion patrimoine immobilier
  4. 4. 5 Liste des abréviations Abréviation Désignation BAM Barid Al Maghrib EA Enterprise Architect ERP Enterprise Resource Planning PAQ SQL Structured Query Language UML Unified Modeling Language XML Extensible Markup Language PAQ Plan d’Assurance Qualité
  5. 5. 6 Liste des figures : Figure 01 : la méthode SCRUM........................................................................................................20 Figure 02 : Modèle des sprints...........................................................................................................20 Figure 03 : Diagramme de Gant........................................................................................................21 Figure 04 : Diagramme de cas d’utilisation : Traitement des mesures............................................26 Figure 05 : Diagramme de cas d’utilisation : Gestion des tournées.................................................27 Figure 06 : Diagramme de cas d’utilisation : Gestion des Collectes................................................28 Figure 07 : Diagramme de classe......................................................................................................29 Figure 08 : logo OpenErp....................................................................................................................31 Figure 09 : Architecture d’OpenErp.................................................................................................32 Figure 10: L’architecture modulaire d’OpenErp..........................................................................33 Figure 11: Architecture MVC (Modèle-Vue-Controller) .........................................................34 Figure 12: Architecture 3-tiers d’OpenERP..................................................................................35 Figure 13: le logo du Python..............................................................................................................36 Figure 14: logo PostgreSQL...............................................................................................................37 Figure 15: XML .....................................................................................................................................37 Figure 16 : DIA.......................................................................................................................................38 Figure 17 : Besoins métiers..................................................................................................................40 Figure 18 : Modules existants..............................................................................................................41 Figure 19 : Module Ressources Humaines.......................................................................................42 Figure 20 : Module Parc automobile.................................................................................................42 Figure 21 : Matrice de convergence..................................................................................................43 Figure 22 : Création d’une base de données .................................................................................45 Figure 23 : Authentification ................................................................................................................45 Figure 24 : Figure 24 : Module Ressources Humaines ...............................................................46 Figure 25 : Ajout d’un employé..........................................................................................................47 Figure 26 : Liste des employées..........................................................................................................48 Figure 27 : Création d’une entité.........................................................................................................48 Figure 28 : Forme d’un client crée.....................................................................................................48 Figure 29 : Module Parc automobile..................................................................................................49 Figure 30 : Ajout d’un véhicule..........................................................................................................49 Figure 31 : Partie Tournées et collectes.............................................................................................50 Figure 32 : Ajout d’une tournée..........................................................................................................50
  6. 6. 7 Table des matières Introduction générale ....................................................................................................... 10 Chapitre 1 : Contexte Général du Projet ............................................................................ 11 I. Présentation de l’organisme d’accueil : Barid Al Maghrib (Poste Maroc) ...................... 12 I.1. Historique de BAM .........................................................................................................................................12 I.2. Missions, visions et buts de l’entreprise ........................................................................................................13 I.2.1. Missions de BAM.....................................................................................................................................13 I.2.2. Visions de BAM .......................................................................................................................................13 I.2.3. Objectifs de BAM ...................................................................................................................................13 I.3. Prestations de services ...................................................................................................................................14 I.3.1 L’activité courrier ....................................................................................................................................14 I.3.2 L’activité messagerie ...............................................................................................................................14 * Sur le plan national .....................................................................................................................14 * Sur le plan international .............................................................................................................14 II. Présentation du projet ...........................................................................................................................16 II.1. La Distribution et la Collecte .........................................................................................................................16 II.2. Problématique et objectifs du projet ............................................................................................................17 II.2.1 Problématique ........................................................................................................................................17 II.2.2 Objectifs...................................................................................................................................................18 III. L’organisation du projet .......................................................................................................................19 III.1. Choix de la méthodologie...................................................................................................................19 III.1.1-Introduction du contexte ................................................................................................................19 III.1.2-Le choix de la méthode : .................................................................................................................19 * Le schéma de la méthode SCRUM ..................................................................................................20 * Planification d’un Sprint .................................................................................................................20 III.2. Le déroulement du projet ..................................................................................................................21 * Diagramme de Gant : .....................................................................................................................21 Chapitre 2 : Etude fonctionnelle et conception.................................................................. 22 I. Définitions de quelques concepts clés ....................................................................................................23 * Organisation .................................................................................................................................................23 * Ordre de service (liées aux collectes)............................................................................................................23 * Moyens de transport.....................................................................................................................................24 II. Etude fonctionnelle...............................................................................................................................................24 * Gestion des ressources humaines ................................................................................................................24 * Gestion du parc automobile..........................................................................................................................25 * Création des Tournées et des Collectes .....................................................................................................25
  7. 7. 8 III. Analyse fonctionnelle et conceptuelle ....................................................................................................................25 III.1. Les règles de gestion ...............................................................................................................................25 III.2. Diagrammes des Cas d’utilisations...........................................................................................................26 III.2.1. Traitement des mesures ..........................................................................................................26 III.2.2. La Distribution .........................................................................................................................27 III.2.3. La Collecte ................................................................................................................................28 III.2.4. Diagramme de Classes.............................................................................................................29 Chapitre 3 : Etude Technique............................................................................................. 30 Préambule ..................................................................................................................................................31 I. OpenERP ................................................................................................................................................31 I.1. Présentation d’OpenERP 7.0 ..........................................................................................................................32 I.2. Architecture modulaire ..................................................................................................................................33 I.3. Architecture technique .................................................................................................................................34 I.3. Architecture MVC (modèle-vue-Contrôleur) .............................................................................................34 I.3.2 Architecture trois tiers d’OpenERP .........................................................................................................35 II. Le langage Python ..................................................................................................................................36 III. PostgreSQL ............................................................................................................................................37 IV. Le langage XML .....................................................................................................................................37 V. Le logiciel DIA ........................................................................................................................................38 Chapitre 4 : Etude de convergence .................................................................................... 39 Préambule ..................................................................................................................................................40 I. Besoins métiers de l’application ...........................................................................................................40 II. Modules existants ............................................................................................................................................41 II.1. Module de ressources humaines « hr » ...................................................................................................42 II.2. Module de parc automobile « fleet »........................................................................................................42 II.3. Matrice de convergence............................................................................................................................43 Chapitre 5 : Réalisation et mise en œuvre.......................................................................... 44 I. Configuration de la base de données : ...................................................................................................45 II. Configuration du Module : Ressources Humaines « hr » .....................................................................................46 II.1. Ajout d’un employé: .................................................................................................................................48 * liste des employés ................................................................................................................................48 II.2. Gestion de sites: .......................................................................................................................................48
  8. 8. 9 III. Module de Parc Automobile « fleet »: .................................................................................................49 IV. Développement de la Partie Tournées/Collectes : ..............................................................................50 IV.1. Partie « Tournées »: ................................................................................................................................51 Conclusion général: .......................................................................................................................................52 Webographie : ..............................................................................................................................................................53 Annexes ........................................................................................................................................................................54 Annexe 01 : Bulletin d’itinéraire.......................................................................................................................54 Annexe 02 : Base de données des tournées ....................................................................................................56
  9. 9. 10 Introduction générale Le service courrier consiste au premier chef à la collecte et la distribution des courriers en provenance des particuliers ou des entreprises. Au Maroc aussi bien qu’à l’échelle international, cette activité a connu une chute drastique en termes de volume et de chiffre d’affaires, due à la prédilection des usagers pour les échanges électroniques. Pour remédier à la situation, Barid Al Maghrib a opté pour une démarche rationnelle basée sur la réduction de charges, notamment au celles inhérentes au service Collecte et Distribution qui entraînaient des difficultés en terme de gestion, en faisant le recours aux « moyens traditionnels ». C’est dans ce cadre que s’inscrit le sujet de notre stage d’application, effectué au sein de la division Distribution et Collecte. Notre mission était de faire la « conception et mise en œuvre d’une application de gestion de collectes et distributions». Pour mener à bien ce projet, nous l’avons subdivisé en plusieurs chapitres. Dans le premier, on définira le contexte général du projet, à savoir la présentation de l’organisme d’accueil, ainsi qu’une présentation générale du projet. L’analyse des besoins fonctionnels et conception fera le sujet du deuxième chapitre. Ensuite, le troisième chapitre sera consacré à l’étude technique, le quatrième et dernier chapitre abordera la partie réalisation et mise en œuvre de notre application. Ce rapport sera clôturé par une conclusion résumant notre travail. Des documents supplémentaires apportant des compléments aux différentes parties de ce rapport seront présentés dans la section des annexes.
  10. 10. Chapitre 1 : Ce chapitre est une présentation du contexte de notre projet du stage d’application. On commence par présenter l’organisme d’accueil « Poste Maroc », en exposant son historique, ses missions, son organisation. Ensuite, on définit le cadre général dans lequel s’inscrivent le projet et ses objectifs.
  11. 11. Chapitre 1 : Contexte Général du Projet 12 I. Présentation de l’organisme d’accueil : Barid Al Maghrib (Poste Maroc) I.1. Historique de BAM : Poste Maroc a été créée le 22 novembre 1892 par Dahir du Sultan Moulay Hassan 1er réglementant la pratique postale au Maroc. En 1956, après l’indépendance, Sa Majesté le Roi Mohammed V a instauré le ministère des postes, télégraphes et téléphones pour une extension des télécommunications et la généralisation des services postaux à tout le royaume. Pour rattraper le retard en matière des postes et télécommunications et doter le pays d’une infrastructure moderne en rapport avec les exigences de son développement économique, le Maroc a créé en 1984 l’Office National des Postes et Télécommunications (ONPT). C’est un établissement public doté de l’autonomie financière. Depuis, l’évolution technologique a donné lieu à une multiplicité de services (radiomessagerie, Internet, etc.). En dix ans l’ONPT a réussi à quintupler les capacités existantes initialement. La réforme se présente donc comme une réponse à la diversité de la demande en produits spécifiques. Mais elle est également le prolongement d’une ouverture récente du secteur, qui a vu l’émergence d’entreprises commerciales qui se sont vues confier, dans les années 1990, des tâches d’opérateurs privés dans le domaine des sous-traitances et du partenariat, relative aux services à valeur ajoutée. La place des télécommunications dans l’économie nationale s’élargit de plus en plus. Pour faire face à la mondialisation, l’ONPT est dissout en vertu de la loi 24/96 et trois entités en sont issues : Ittissalat Al-Maghrib (IAM), Barid Al Maghrib (BAM) et l’Agence Nationale de Réglementation des Télécoms (ANRT). Après la séparation du secteur de la Poste et celui des télécommunications, on a assisté à la création de la société Barid Al Maghrib (BAM) en février 1998 par la loi 24/96, dotée de la personnalité morale et l’autonomie financière et soumise à la tutelle de l’Etat. Depuis cette date, Barid Al Maghrib a concilié ses efforts pour assurer ses missions en tant qu’entreprise publique et celle de la performance d’une entreprise commerciale. Aujourd’hui, Poste Maroc s’est dotée d’un nouveau statut comme société anonyme marocaine de droit public et est rentrée dans une nouvelle ère, de réorganisation (organisation par pôle) et d’innovation de ses services.
  12. 12. Chapitre 1 : Contexte Général du Projet 13 I.2. Missions, visions et buts de l’entreprise : I.2.1. Missions de BAM : Barid Al Maghrib est une entreprise publique multiservices à dimension internationale. Elle a pour mission principale de fournir un service de qualité et de proximité pour tous, notamment dans les domaines du courrier, de la messagerie et des services financiers. Elle a également pour mission, en tant qu’entreprise opérant dans un environnement concurrentiel, de développer de nouveaux services à valeur ajoutée pour mieux satisfaire sa clientèle. I.2.2. Visions de BAM : Etre une entreprise compétitive, innovante, flexible et communicante, ouverte sur son environnement national et international et orientée vers la satisfaction du client. Autrement dit, tendre vers l’Excellence. I.2.3. Objectifs de BAM : C’est un ensemble d’objectifs qui résultent souvent de contraintes inhérentes à l’entreprise : • Développer le chiffre d’affaires. • Améliorer ses parts de marché. • Réaliser des gains de productivité et accroître la rentabilité.
  13. 13. Chapitre 1 : Contexte Général du Projet 14 I.3. Prestations de services Les services offerts sont nombreux. Selon le domaine d’activité, un ensemble de services sont proposés aux clients. I.3.1 L’activité courrier L’activité courrier cible une large clientèle : institutions, administrations, particuliers, entreprises ainsi que la presse. La chaîne de valeur courrier comprend le dépôt, la collecte, le traitement, l’acheminement et la distribution des lettres et autres objets au niveau national et international. L’activité courrier est devenue, ainsi, un fournisseur de solutions adaptées aux besoins complexes des entreprises. Aux particuliers, elle propose des services de distribution de courriers à des délais raisonnables avec des niveaux de qualité et de sécurité en phase avec leurs besoins. I.3.2 L’activité messagerie Poste Maroc est l’opérateur historique de messagerie et du transport de documents et de colis au niveau national et international. Son offre répond à des besoins multiples et diversifiés de ses clients Entreprises et Particuliers à travers une large gamme de services se déclinant sur le plan national et international. Sur le plan national o Amana Messagerie nationale : Service de Messagerie nationale permettant la livraison des colis et des documents dans des délais express et rapides garantis couvrant tout le territoire national. o Amana Transport et Logistiques : Service de Transport de marchandises en lots groupés ou en camion complet à travers l’offre, partout au Maroc ;
  14. 14. Chapitre 1 : Contexte Général du Projet 15 Sur le plan international Poste Maroc offre une large gamme de services de messagerie internationale, rapide et économique vers plus de 200 pays à travers : o Amana International Express : Service de messagerie Express internationale assurant la livraison dans des délais Express garantis allant de 2 à 4 jours. o Amana International : Service de messagerie rapide internationale assurant la livraison dans des délais allant de 5 à 7 jours o Colis Postaux : Service de messagerie économique internationale assurant la livraison dans des délais allant de 5 à 15 jours.
  15. 15. Chapitre 1 : Contexte Général du Projet 16 II. Présentation du projet : II.1. La Distribution et la Collecte : L’une des activités principales de BAM est le transport et la distribution des courriers ainsi que sa collecte. Le service Distribution et Collecte de Barid Al-Maghrib est chargé de la distribution et la collecte des courriers et des lettres. Ces taches sont effectuées par des facteurs qui disposent des véhicules (motocycle ou voiture) généralement propre à Barid Al-Maghrib ou louées pour des longues durées. Ces facteurs ont aussi une dotation de vestimentaire distribuée deux fois par an et sur mesure pour chaque facteur.  la distribution : La distribution se fait suivant des tournées matérialisées par : - un bulletin d’itinéraire qui est un ensemble de points réunis sous des pavés et des boites aux lettres, un itinéraire peut être modifié et mis à jour. - une fréquence quotidienne ou hebdomadaire. - type (courrier / mixte ). Un facteur durant sa tournée de distribution collecte les lettres des boite-à-lettre et enregistre l’opération dans son carnet. Ces carnets sont à vérifier par agent responsable de collecte.
  16. 16. Chapitre 1 : Contexte Général du Projet 17  la collecte : Le responsable du service établit avant chaque collecte un ordre de service comportant les points concernés par cette collecte et les date précises en désignant un facteur pour l’opération. Les points sont des agences de Barid Al-Maghrib ou des clients que BAM se charge de se déplacer chez eux vu le type de service qu’ils demandent (grandes quantité de courriers à envoyer, fréquence de demande du service de BAM élevé…) II.2. Problématique et objectifs du projet : II.2.1 Problématique : La distribution et la collecte des courriers, ainsi que la gestion des référentiels à savoir : les facteurs, les véhicules et le vestimentaire, sont gérés et suivis au niveau des entités régionales. Cette gestion est assurée à travers des outils classiques (Excel, Word, les e-mails…) Les tournées sont créées localement dans les sites régionaux :  non information du siège et par conséquence non prévision des moyens au niveau du budget.  insuffisance des ressources budgétaires pour l’année en cours au niveau des régions concernées. Les problèmes rencontrés dans ce système sont les suivants :  la non maitrise de référentiel.  La non maitrise des tournées
  17. 17. Chapitre 1 : Contexte Général du Projet 18 Dans un tel contexte, le service de Distribution et de Collecte avait besoin d’un nouveau système qui correspond le plus à ses exigences et qui vise à remédier à ses problèmes. II.2.2 Objectifs : Notre projet vient en réponse à la problématique présentée ci-dessus. En effet, notre sujet de stage d’application a pour objectif de mettre en place une application intranet, en utilisant l’ERP open source : OpenERP, qui servira d’outil de gestion des collectes et distributions … Les objectifs de notre application gravitent autour de la mise en place d’une solution pour :  Centraliser les référentiels et faciliter leur mise à jour.  Réduire les délais de validation des tournées de collecte/distribution.  Responsabiliser les intervenants à travers une politique d’accès sécurisé à l’application.  Mise en place d’un système de Workflow entre Siège/Région/Site pour la validation ou mise à jour des tournées.
  18. 18. Chapitre 1 : Contexte Général du Projet 19 III. L’organisation du projet : Pour mener à bien un projet informatique, il est demandé à bien penser et choisir la méthode du travail la plus adaptée et la plus adéquate, parmi celles existent et connues. Ce choix était l’une des étapes déterminantes dans le déroulement du projet. Il doit correspondre au contexte de celui-ci. Autrement dit, il doit être en phase avec les particularités et les différentes exigences, afin d’obtenir un produit de qualité qui répond aux attentes du client. III.1. Choix de la méthodologie 1- Introduction du contexte Il existe plusieurs méthodes qui peuvent être appliquées au développement de n'importe quel projet. A l’heure actuelle, dans le domaine des projets de développement informatique, les méthodes “Agiles” sont de plus en plus utilisées. Comme leur qualificatif l’indique, ces méthodes se caractérisent par un certain niveau d’agilité, de flexibilité et de dynamisme. Les deux méthodes Agiles les plus populaires sont : o la méthode Scrum o la méthode eXtreme Programming (XP) 2- Le choix de la méthode : Pour nos besoins, vu que la durée du projet est limitée à 2 mois, que la taille de l’équipe est réduite. Il a été jugé pertinent que la méthode Scrum est la plus adéquate, car elle est destinée aux équipes de petite taille.
  19. 19. Chapitre 1 : Contexte Général du Projet 20 La méthode s'appuie sur :  Le découpage du projet en « sprints ».  Chaque sprint se termine par une démonstration de ce qui a été achevé.  Avant de démarrer un nouveau sprint, l'équipe réalise une rétrospective. Le schéma de la méthode SCRUM : Figure 01 : la méthode SCRUM *Le backlog du produit est la liste des fonctionnalités attendues du produit Planification d’un Sprint : Figure 02 : Modèle des sprints
  20. 20. Chapitre 1 : Contexte Général du Projet 21 III.2. Le déroulement du projet Diagramme de Gant : Figure 3 : Diagramme de Gant
  21. 21. Chapitre 2 : Etude fonctionnelle et conception 22 Chapitre 2 : Dans ce chapitre, il est question d’effectuer une étude approfondie du système à mettre en place. Cela passe par une étude préalable qui consiste à décrire et citer tous les concepts clés sur les quelles travail l’application. Ensuite, nous représenterons les besoins fonctionnels à satisfaire, et cela, par une conception détaillée à l’aide des diagrammes UML.
  22. 22. Chapitre 2 : Etude fonctionnelle et conception 23 I. Définitions de quelques concepts clés Organisation La gestion des activités liées à la Distribution et la Collecte de BAM est assurée par trois principales couches : le siège, les régions et les sites. En effet, suivant un découpage propre à Barid Al Maghrib et non suivant le découpage administratif, le Maroc a été divisé en plusieurs régions. Ces régions ont sous leurs responsabilités les différents sites qui leur sont affectés. Ces sites peuvent être des centres de traitement et de distribution (CTD), des agences, un centre de courrier international(CCI), etc. Le siège, quant à lui, a le dernier mot dans les différentes activités effectuées. Il coordonne les opérations des différentes régions, qui, à leur tour assurent une meilleure cohésion des tâches au niveau des sites. Ordre de service (liées aux collectes ) Un ordre de service est une décision qui précise les modalités d’exécution de tout, ou d’une partie des prestations qui déterminent le fonctionnement de Barid Al Maghrib. Il est traduit sous forme de documents qui comportent toutes les informations nécessaires à son exécution. Ces informations sont entre autres :  La fréquence d’envoi des dépêches dans la semaine ;  les horaires de départs et d’arrivées théoriques des dépêches ;  la date d’effet : la date à partir de laquelle, l’ordre de service doit être mis en exploitation ;  les axes de transport ;  le véhicule qui sera utilisé pour le transport et le convoyeur qui est associé. Un ordre de service n’a pas de date d’expiration. Cependant, son arrêt peut être explicitement demandé par un autre, et c’est à partir de l’instant précisé dans le nouvel ordre que l’ancien n’est plus valable. Sa création peut être faite par le siège, mais aussi par les régions. Dans le cas d’une région, une validation par le siège est obligatoire avant que celui-ci devienne actif. Elle doit être faite avant sa mise en exploitation.
  23. 23. Chapitre 2 : Etude fonctionnelle et conception 24 Moyens de transport Un moyen de transport désigne, dans son sens le plus général, un outil utilisé par l’Homme afin de se déplacer d’un point A à un point B. Barid Al Maghrib possède plusieurs types de moyens de transport. Nous pouvons citer :   Les Véhicules de service Ce sont des véhicules confiés par Barid Al Maghrib au facteurs. Ces véhicules peuvent être des voitures, des fourgonnettes, des camions, ou même des motos. Chaque véhicule de service appartient à un site spécifique.   Les transporteurs agréés Ils représentent les transporteurs nationaux tels que : CTM, STCR, ou ONCF, mais aussi les compagnies aériennes. Barid Al Maghrib adopte l’utilisation de ses transporteurs agréés dans le cas où leur coût de transport des dépêches sur une distance est inférieur à celui des véhicules de service. II. Etude fonctionnelle L’étude fonctionnelle consistera à présenter l’application en termes de fonctionnalités offertes. Il présentera le système qui répond aux besoins exprimés par le client. Gestion des ressources humaines Les ressources humaines sont ce qu’il y’a de fondamental dans une entreprise. Toutes les activités de l’entreprise en dépendent. Une bonne organisation des ressources humaines (affection optimale des postes, affectation au site) assure la prospérité de l’entreprise. Il est donc plus que crucial de fournir à l’entreprise, un outil de gestion des employés. Cet outil permettra entre autres :  l’ajout des facteurs (employés).  l’affectant et la gestion des sites.  la distribution des dotations vestimentaires.  L’attribution des moyens du transport.
  24. 24. Chapitre 2 : Etude fonctionnelle et conception 25 Gestion du parc automobile Le parc automobile est constitué d’un ensemble de véhicules faisant objet de contrat avec les fournisseurs. Cette fonctionnalité a pour but de fournir un moyen efficace pour assurer le bon déroulement travail. Création des Tournées et des Collectes Le service Distribution et Collecte, crée un ordre de service, suivant lequel un facteur effectue la collecte et un bulletin d’éternitaire constituant le chemin à suivre lors d’une tournée. III - Analyse fonctionnelle et conceptuelle III.1. Les règles de gestion RG 1 : l’achat et la gestion des véhicules est centralisé. RG 2 : la livraison des véhicules est décentralisée. RG 3 : L’affectation des tenus aux facteurs est fait par le siège à travers les régions. RG 4 : Les mesures sont remontées par les sites vers les régions ensuite vers le siège. RG 5 : La définition des tournées est fait au niveau des sites (entité) concernés. Elles peuvent être également définies au niveau de la direction régionale. RG 6 : L’affectation des tournées aux facteurs est effectuée par le responsable au site. Au cas d’un nouvel recru il faut le signaler à la direction régionale. RG 7 : Les tournées sont validées par la direction régionale et ensuite par le siège. RG 8 : La définition des ordres de service est fait au niveau des sites (entité) concernés. Elles peuvent être également définies au niveau de la direction régionale. RG 9 : L’affectation des ordres de service aux facteurs est effectuée par le responsable au site. Au cas d’un nouvel recru il faut le signaler à la direction régionale.
  25. 25. Chapitre 2 : Etude fonctionnelle et conception 26 III.2. Diagrammes des Cas d’utilisations : III.2.1. Traitement des mesures Figure 04 : Diagramme de cas d’utilisation : Traitement des mesures
  26. 26. Chapitre 2 : Etude fonctionnelle et conception 27 III.2.2. La Distribution : Figure 05 : Diagramme de cas d’utilisation : Gestion des tournées
  27. 27. Chapitre 2 : Etude fonctionnelle et conception 28 III.2.3. La Collecte : Figure 06 : Diagramme de cas d’utilisation : Gestion des Collectes
  28. 28. Chapitre 2 : Etude fonctionnelle et conception 29 III.2.4. Diagramme de Classes : Figure 07 : Diagramme de classe
  29. 29. Chapitre 3 : Etude Technique 31 Chapitre 3 : Dans ce chapitre, on expose en détail l’architecture d’OpenERP, qui est nécessaire pour la mise en place de notre application. Ensuite, on présente les outils techniques que nous avons adopté pour la réalisation de l’application notamment le langage Python, le langage XML et le SGBD PostgreSQL.
  30. 30. Chapitre 3 : Etude Technique 32 Préambule : Notre stage avait comme objectif principal la réalisation d’une application qui permet la gestion des tournées et des collectes faites par les facteurs du Poste Maroc, et ceci sous une philosophie open-source, c’est-à-dire l’usage, du progiciel, OpenErp. Les technologies mises en œuvre: Nous nous intéressons à la catégorie des ERP open-source et plus particulièrement à OpenERP, un ERP utilisant PostgreSql comme SGBD, les langages : Python et XML pour le développement de l’application Figure 08: logo OpenErp I - OpenERP : L’acronyme ERP signifie « Enterprise Ressource Planning » traduit en français par Progiciel de Gestion Intégré ou PGI. C’est un progiciel qui permet de gérer l’ensemble des processus d’une entreprise intégrant l’ensemble de ses fonctions comme la gestion des ressources humaines, la gestion financière et comptable, l’aide à la décision, la vente, la distribution, l’approvisionnement, la production ou encore le e-Commerce. On distingue deux types d’ERP : les ERP propriétaires, édités par des sociétés, ce qui implique l’achat d’une licence, et les ERP open source qui sont « gratuits ».
  31. 31. Chapitre 3 : Etude Technique 33 I.1. Présentation d’OpenERP 7.0 : Open ERP est un progiciel de gestion intégré souple. Il couvre pratiquement tous les secteurs d’activité : industrie, commerce, prestations de services, e-Commerce, négoce. Comme la plupart des logiciels libres, l'accessibilité, la flexibilité et la simplicité sont les maîtres mots du développement. OpenERP est caractérisé par son architecture modulaire et technique. Un module contient les éléments suivants : Business object : est déclarée comme étant des classes en python qui étendent la classe OSV. La persistance de ces ressources est entièrement gérée par l’ORM de l’OpenERP. Données : Des fichiers XML / CSV peuvent représenter : des métas-data (vues et la déclaration des workflow), des données de configuration, des données de démonstration (facultative mais recommandé pour les tests). Rapports : RML (XML format) permet de générer des rapports sous OpenERP. Figure 09: Architecture d’OpenErp Pour créer un nouveau module, les étapes suivantes sont nécessaires :  Créer un sous-répertoire, portant le nom de votre module, à l’intérieur du répertoire « addons ».  Créer le fichier d’importation du module « __init__.py ».  Créer le fichier « __openerp__.py »  Créer des fichiers « … .py » contenant des objets python.  Créer des fichiers .XML contenant des données du module telles que les vues, les données de démo…etc.
  32. 32. Chapitre 3 : Etude Technique 34 I.2. Architecture modulaire : Cette architecture n’est pas propre à OpenERP. Elle est en fait partagée par tous les ERP. Il s’agit de la faculté de construire des applications informatiques de manière modulaire (modules indépendants entre eux) tout en partageant une base de données unique. Ceci apporte une importance significative puisque les données sont maintenant standardisées et partagées. Ce qui élimine les saisies multiples et évite l'ambiguïté des données de même nature. L’architecture modulaire d’open ERP lui permet de couvrir plusieurs domaines illustrés dans la figure suivante. Figure 10 : L’architecture modulaire d’OpenErp
  33. 33. Chapitre 3 : Etude Technique 35 I.3. Architecture technique : I.3.1. Architecture MVC (modèle-vue-Contrôleur) : Un MVC est une architecture de modèles utilisée en génie logiciel. Dans des applications complexes qui présentent des lots de données aux utilisateurs, on souhaite souvent séparer les données (modèle) et l'interface utilisateur (vue), de sorte que les changements à l'interface utilisateur n'affectent pas le traitement des données, et que les données peuvent être réorganisées sans changer l'interface utilisateur. Le MVC résout ce genre de problème en découplant l'accès des données et la logique des applications de la présentation des données et de l'interaction utilisateur, en introduisant un composant intermédiaire : « le contrôleur ». Dans open ERP, on peut appliquer cette sémantique de MVC avec :  Model : les modèles sont les objets déclarés dans OPENERP. Ils sont également des tables PostgreSQL.  View : les vues sont définies en fichiers XML dans OPENERP.  Controller : le contrôleur est Python qui contrôle OPENERP. Figure 11 : Architecture MVC (Modèle-Vue-Controller)
  34. 34. Chapitre 3 : Etude Technique 36 I.3.2. Architecture trois tiers d’OpenERP : Un système OpenERP est basé sur une architecture 3 tiers : 1. Un serveur de base de données PostgreSQL (qui peut contenir plusieurs bases de données) 2. Un serveur d'applications (contenant les objets de gestion, le moteur de Workflow,, etc.) 3. Un serveur de présentation (appelé OpenERP Web) qui permet à l'utilisateur de se connecter à OpenERP avec n'importe quel navigateur internet (avec le lecteur Flash installé pour l'affichage des graphiques). Ce serveur n'est pas nécessaire si l'utilisateur utilise le client lourd mais qui nécessitera une installation physique sur le poste de l'utilisateur (cette application se nomme Client GTK). La partie serveur est écrite en langage Python. Les différentes briques sont organisées en «modules». Un module est un dossier avec une structure prédéfinie contenant du code Python et des fichiers XML. Un module définit la structure de données, formulaires, rapports, menus, procédures, flux de travail, etc. Le client est léger car il ne contient pas de logique d'entreprise (l'ensemble est embarqué dans le serveur d'application). Ainsi, l'ajout de nouveaux objets, comme les menus ou formulaires, le rend accessible à tout type de client graphique. Figure 12: Architecture 3-tiers d’OpenERP
  35. 35. Chapitre 3 : Etude Technique 37 II – Le langage Python : Figure 13 : le logo du Python OpenERP a été développé en Python et utilise son propre Framework : le Framework Open Object. Il a été développé de façon modulaire. Autrement dit, il est possible d’ajouter ou de retirer des modules pour changer le fonctionnement du programme : ajout, modification et suppression des fonctionnalités. La personnalisation d’une instance d’OpenERP peut se faire de deux manières :  Avec l’interface d’OpenERP, qui est plus de la configuration que du développement. Les modifications resteront sur la base de données, et le déploiement du module sur une autre instance nécessitera l’exportation dudit base de données.  En créant des modules pythons dédiés, qui est de la programmation pure, basée sur l’héritage d’objets. Le module ainsi crée sera un dossier contenant plusieurs fichiers pythons et XML. Pour le déploiement du module sur une autre instance, il suffirait de copier ce dossier dans le répertoire correspondant. Le second point est la méthode de développement que nous avons opté car cela offrait beaucoup d’avantages, que ça soit sur la qualité de notre formation, mais aussi au cas où l’on voudrait exporter le module dans une autre instance. D’où l’utilisation du langage de programmation python. C’est un langage multi-paradigme qui favorise la programmation impérative structurée, et orientée objet. C’est un langage beaucoup apprécié par les pédagogues car il propose une syntaxe simple à utiliser, qui permet une initiation aisée des concepts de base de la programmation.
  36. 36. Chapitre 3 : Etude Technique 38 III – PostgreSQL Figure 14: logo PostgreSQL PostgreSQL est le Système de Gestion de Base de Données qui stocke aussi bien les données transactionnelles que les données de paramétrage d’OpenERP. Avant la création d’une instance, OpenERP vous demande au préalable de créer une base de données sur PostgreSQL, le tout à travers son interface web. Son utilisation, pendant les phases de développement, peut s’effectuer directement par lignes de commandes, ou par interface graphique « pgadmin ». IV – Le langage XML : XML (eXtensible Markup Language), aussi appelé langage à balisage étendu, est un langage simple et puissant de description et d’échange de documents structurés. Il est souvent surnommé « Langage HTML amélioré » puisque celui-ci permet de définir de nouvelles balises, contrairement à HTML, qui a des balises figés. Sa plus grande force réside dans le fait qu’il soit capable de décrire n’importe quel domaine de données grâce à son extensibilité. Figure 15 : XML Comme python, XML fait partie des indispensables dans la réalisation d’un module OpenERP. En effet, les vues par lesquelles sont représentés les différents objets sont écrites en XML. Nous y trouvons la description détaillée de l’affichage des arbres, des formulaires, des graphes, du calendrier, etc. Toutefois, son utilisation ne s’arrête pas là. Nous avons recours à XML lors de la création des menus, des actions, des profils utilisateur, des workflows, des séquences, etc.
  37. 37. Chapitre 3 : Etude Technique 39 V – Le logiciel DIA Figure 16 : DIA DIA est un logiciel qui permet de créer un module OpenERP à partir d’un diagramme de classe. Son importance réside dans le fait qu’il génère toute l’architecture correspondant au module. Nous parlons notamment des fichiers d’initialisation, le fichier python de description des objets, les différentes vues, les menus, etc. Néanmoins, son utilisation n’est pas recommandée pour le développement des modules en OpenERP v.7. En effet, DIA n’a pas pu suivre l’ascension rapide d’OpenERP au fil du temps. Il reste cependant très utile aux utilisateurs d’OpenERP v.6 et antérieure, mais aussi aux développeurs débutants en OpenERP. Au début du développement du module, DIA fut le premier logiciel qu’on a utilisé. Il nous a permis de familiariser sur la syntaxe python sur OpenERP, les déclarations des différentes vues et menus. En d’autres termes, il a participé grandement à notre formation. Comme susmentionné, DIA n’est pas trop compatible avec la version 7 d’OpenERP. On a d’ailleurs remarqué quelques-unes de ces carences au cours de son utilisation. Nous lui sommes reconnaissants puisqu’il nous a permis, de pouvoir maintenant, voler de nos propres ailes.
  38. 38. Chapitre 4 : Etude de convergence 39 Chapitre 4 : Après avoir cité les outils de développement et élucider l’architecture d’OpenERP. Dans ce chapitre, on effectuera l’étude de convergence afin d’illustrer la confrontation entre les besoins métiers de l’application et les fonctionnalités proposées par OpenERP.
  39. 39. Chapitre 4 : Etude de convergence 40 Préambule : Avant de commencer tout développement en OpenERP, il est nécessaire d’effectuer au préalable une étude de convergence. Cette étude permettra de faire une confrontation entre les besoins métiers de l’application et les fonctionnalités proposées par OpenERP et d’en faire une analyse. Cela nous dispensera de développer une application déjà présente, et ainsi éviter une redondance dans le système. Dans la suite de ce chapitre, nous évoquerons d’abord les besoins métiers que requiert notre application. Ensuite, nous présenterons les modules d’OpenERP qui possèdent déjà quelques-unes des fonctionnalités requises ; puis nous terminerons par un croisement de ces deux parties dans une seule matrice, pour en déduire ce qui sera réellement développé. I - Besoins métiers de l’application Figure 17 : Besoins métiers Gestion de ressources humaines Gestion du parc automobile Gestion des Tournées et des Collectes
  40. 40. Chapitre 4 : Etude de convergence 41 Comme le montre la figure 18, notre mission au cours de ce stage était de mettre en place une application capable de gérer les tournées et les collectes dans un environnement OpenERP. Les principaux besoins métiers que nous avons eu à réaliser sont :  Gestion des ressources humaines l’ajout des facteurs (employés).  l’affectant et la gestion des sites.  la distribution des dotations vestimentaires.    L’attribution des moyens du transport.  Gestion du parc automobile  Création des Tournées et des Collectes II – Modules existants Parmi les fonctionnalités que requiert notre application, certaines sont déjà prises en charge par OpenERP. Dans notre cas, nous avons eu recours aux deux modules suivants : Figure 18 : Modules existants
  41. 41. Chapitre 4 : Etude de convergence 42 II.1. Module de Ressources Humaines « hr » Figure 19 : Module Ressources Humaines Ce module permet de gérer les aspects importants du personnel de l’entreprise ainsi que d’autres détails tels les compétences, les contacts, les temps de travail, etc. Ces aspects sont entre autres les employés et leur hiérarchie, les départements, etc. Dans notre application, nous utiliserons principalement ce module pour la gestion des employés, mais aussi pour la gestion des sites. Les « départements » présents dans ce module pourront être contextualisés pour la gestion des « sites ». II.2. Module de Parc Automobile « fleet » Figure 20 : Module de Parc Automobile Avec ce module, OpenERP permet de gérer tous les véhicules d’une entreprise, les contrats qui y associés, ainsi que l’utilisation du carburant et les diverses réparations. C’est un outil assez complet, puisqu’il traite presque tous les aspects d’une gestion de parc automobile. Ce dernier sera utilisé au cours de notre projet afin de gérer l’expédition des courriers à travers les villes et les régions.
  42. 42. Chapitre 4 : Etude de convergence 43 II.3. Matrice de convergence : Figure 21 : Matrice de convergence Le croisement entre les besoins métiers de notre application et les modules existants donne lieu à une réduction considérable des fonctionnalités à réaliser. Nous n’aurons plus besoin de développer les fonctionnalités liées à la gestion des employés ainsi que du parc automobile. Par ailleurs, on doit paramétrer le module RH afin qu’il réponde exactement à nos besoins. Quant aux autres fonctionnalités restantes, colorées en rouge, leurs réalisations passeront par développement en entier.
  43. 43. Chapitre 5 : Dans ce dernier chapitre, on va expliquer la démarche adoptée pour pouvoir travailler dans l’environnent OpenERP. Ensuite, on va détailler les fonctionnalités des vues qui composent notre application avec des captures d’écran des différents menus et formulaires.
  44. 44. Chapitre 5 : Réalisation et mise en œuvre 44 I. Configuration de la base de données : Pour accéder à l’interface web d’OpenERP, on doit créer une base de données dans laquelle toutes les informations concernant une entreprise seront stockées. Figure Figure 22 : Création d’une base de données Par mesure de sécurité, les utilisateurs possèdent des comptes. De ce fait, chaque utilisateur se trouve dans l’obligation de s’authentifier avant de pouvoir accéder à sa propre session et de consulter un ensemble d’informations. Figure 23 : Authentification
  45. 45. Chapitre 5 : Réalisation et mise en œuvre 45 II. Configuration du Module : Ressources Humaines « hr » Figure 24 : Module Ressources Humaines Le module Ressources Humaines permet de gérer les aspects importants du personnel de l’entreprise ainsi que d’autres détails tels les compétences, les contacts, les temps de travail, etc. Ces aspects sont entre autres les employés et leur hiérarchie, les départements, etc. Dans la partie gestion des ressources humaines de notre application se fait la gestion des employées principalement les facteurs, et nous avons ajouté aussi la gestion des sites qui peuvent être soit des entités ou des clients de BAM. II.1. Ajout d’un employé: Afin de simplifier l’ajout des facteurs on a divisé l’interface d’ajout en trois anglets qui regroupent toutes les informations liées à un facteur.  Anglet des informations générales dans laquelle on saisit des informations tel que le nom et matricule etc.  Anglet de dotation pour toute l’information de dotation vestimentaire.  Anglet des informations complémentaires : dans cette étape on détermine l’entité à laquelle le facteur sera affecté, véhicule de travail, la tournée et la collecte qu’un facteur va effectuer.
  46. 46. Chapitre 5 : Réalisation et mise en œuvre 46 Figure 25 : Ajout d’un employé
  47. 47. Chapitre 5 : Réalisation et mise en œuvre 47 Vue liste des employées: Figure 26 : Liste des employées II.2 Gestion des sites : Les sites dans notre application sont soit des clients de BAM soit des entités, on peut ajouter, modifier ou supprimer un client, de même pour les entités auxquelles on attribue le type soit CTD (centre de traitement et de distribution), CD (centre de distribution). On spécifie le cas échéant, l’entité régionale. Figure 27 : Création d’une entité Figure 28 : Forme d’un client crée
  48. 48. Chapitre 5 : Réalisation et mise en œuvre 48 III. Module de Parc Automobile « fleet » Figure 29 : Module Parc automobile Pour la gestion des véhicules, OpenERP nous offre un module déjà complet qui permet d’enregistrer, de traiter toute les informations liées au véhicule utilisé dans les tournées ou les collectes. On ajoute des petites modifications à ce module concernant : le type de véhicule qui est soit motocycle soit voiture, affectation des conducteurs et la détermination de la nature des véhicules (propre au BAM ou louées). Figure 30 : Ajout d’un véhicule
  49. 49. Chapitre 5 : Réalisation et mise en œuvre 49 IV. Développement de la Partie Tournées/Collectes : L’objectif de notre application se focalise en premier lieu sur la gestion des tournées et collecte, c’est pour cela on est opté a développé cette partie. Tout d’abord on créant les classes de cette partie ainsi que les fonctions et vues nécessaire. Figure 31 : Partie Tournées et collectes
  50. 50. Chapitre 5 : Réalisation et mise en œuvre 50 IV.1. Partie « Tournées » : La gestion des tournées commence par la création d’un bulletin d’itinéraire comportant les différentes informations de la tournée, la première étape consiste en la proposition de la tournée par le site qui attend l’approbation du siège ou le rejet. Grace à l’outil Workflow offert par OpenERP qui est une représentation sous forme de flux, des opérations à réaliser pour accomplir l’ensemble des tâches ou activités regroupées en un même processus métier. En d’autres termes, c’est la modélisation et la gestion informatique de l’ensemble des tâches à accomplir et des différents acteurs impliqués dans la réalisation d’un processus métier. Figure 32 : Ajout d’une tournée On saisit les données relatives à la tournée, ensuite on les enregistre, afin de passer à l’état « proposition site », et en cliquant sur le bouton « valider » on arrivera à l’état « Approuvée site ». Dans cette dernière, soit en approuve la tournée soit on la rejette.
  51. 51. Chapitre 5 : Réalisation et mise en œuvre 51 Conclusion générale Notre mission du stage d’application consiste en développement des parties d’un module sous OpenERP qui permet la gestion des tournées et des collectes de Barid Al Maghreb, sous tous ces aspects, à savoir :  La gestion des employés et les procédures y afférentes, à l’instar de ses dotations vestimentaires et les véhicules qui leurs sont affecté.  L’organisation et la gestion des tournées et des collectes en développant un Workflow où on peut suivre toutes les étapes de sa création passant par la proposition élu par le site, arrivant à la décision prise par le siège. Cette expérience de deux mois de stage au sein de la poste fut une expérience incontournable et très utile. En effet, le fait de manipuler l’OpenERP est en lui-même une motivante aventure vue la grandeur que préoccupe ce progiciel dans le domaine. Ce projet nous a permis d’acquérir des valeurs indispensables pour le métier d’un développeur telles que la responsabilité, le travail d’équipe, l’adaptabilité à l’environnement de l’entreprise et le sens d’analyse. Ces valeurs sont sans aucun doute les bases de réussite dans le milieu professionnel. Toutefois des améliorations de notre travail sont bel et bien possibles. Nous proposons, après le développement des éléments restants, de rassembler toutes ces fonctionnalités dans un seul module et nous proposons aussi l’intégration d’un outil de générations des rapports.
  52. 52. 53 Webographie [WEB01]: http://www.poste.ma/wps/portal/courrier/ [WEB04]: http://www.poste.ma/wps/portal/GPM/EMedia/RapportActivite [WEB02] :http://fr.openclassrooms.com/informatique/exportPdf/apprenez-a-programmer-en-python-1 [WEB03] : Tutoriel Python : http://www.youtube.com/watch?v=gLte-k5Mebc [WEB03]: http://thierry-godin.developpez.com/openerp/memento-technique-openerp-fr/ [WEB05]: https://doc.openerp.com/6.0/developer/3_9_Workflow_Business_Process/ [WEB06]: http://thierry-godin.developpez.com/openerp/tutoriel-openerp-realisation-module-web-pour- point-vente/ [WEB07]:https://plus.google.com/communities/103144161052599446040/stream/e58b506b-0c40- 4a87-900e-7a9bcceb3e97
  53. 53. 54 Annexes Annex 01 : Bulletin d’itinéraire
  54. 54. 55
  55. 55. 56 Annex 02: Base de données des Tournées

×