Printable version XML version
Login
Nom

Mot de passe


Join
Mot de passe oublié?
erp5.org => wiki.erp5.org !

erp5.org has permanently moved to wiki.erp5.org !

Current status of ERP5 community websites:

  • www.erp5.org should redirect to wiki.erp5.org automaticcaly.
  • wiki.erp5.org is the place where fresh news and documentation are published.
  • cps.erp5.org is the old erp5 community website.

Note: if you created content in this ancient portal, please migrate it to the wiki. The old website will stay online as long as all contents are not mograted to the wiki.

Générale description d'ERP5
Document présentant tous les aspects spécifiques d'ERP5

Introduction

ERP5 est un progiciel de gestion documentaire de données, de ressources et de planning d'entreprise : Entreprise Ressource Planning.

Contrairement aux ERP classiques, il est basé sur une théorie abstraite qui refond complètement le mode de pensée du système informationnel des entreprises.

Elle catégorise les données des entreprises selon 5 axes.

Complètement novateur, ERP5 logiciel libre, open-source (Linux).

Quelques pré-requis sont nécessaires à la lecture de ce document :

  • connaître un minimum la philosophie de la programmation objet (classe, héritage, objet)
  • avoir déjà vu démarrer une fois un PC sous Linux
  • connaître un minimum la notion d'ERP

Table des matières :

I ERP5 logiciel libre

une nouvelle conception de l'ERP

II ERP5 point de vue technique

  1. Description de l'intégration : Zope, MySQL, Apache
  2. Description d'ERP5 dans Zope
  3. Mise en place d'outil Linux performant pour ERP5

III ERP5 point de vue fonctionnel

  1. Modèle théorique à 5 classes
  2. Mise en place de la méhodologie ERP5

    a Analyse fonctionnelle ERP Classique

    b Analyse fonctionnelle sous le formalisme ERP5 à 5 axes

    c Intégration de la problématique de l'entreprise dans ERP5

I ERP5 logiciel libre :

ERP5 est un logiciel libre, dit aussi open-source.

L'accès au code source du progromme est libre. L'utilisation du programme se fait sans restriction.

Il est donc librement modifiable, copiable, diffusable, utilisable sans restriction et sans droit pécuniaire de licence à s'affranchir.

Il est régit par la philosophie open-source (Linux) et la copyleft : tout développement ERP5 doit être placé sous la philosophie open-source. Les données de l'entreprise ainsi que la mise en oeuvre de l'ERP reste néanmoins, la propriété intégrale de l'entreprise qui utilise le logiciel. Ainsi tout développement ERP5 reste libre d'accès à tous dans le but de partager les progrès techniques du logiciel.

Une description complète de la licence open-source d'ERP5 (General Public Licence Version 2) est disponible sur le site de la Free Software Foundation

Étant open-source, l'accès au code source du programme ERP5 est libre, sans restriction. Cela permet à l'entreprise de posséder le code du programme afin de faire ses propres modifications. L'entreprise peut adapter à ses besoins le logiciel. Elle pourra ainsi faire évoluer facilement sa solution ERP. Ceci assure la pérénité de l'investissement ERP5 : il n'y a ni licence à payer, ni frein à la créativité.

Encré dans la philosophie Linux, ERP5 dispose de la communauté open-source (des milliers de programmeurs à travers le monde) pour son développement et son expansion. Il s'inscrit donc dans une philosophie progressiste du partage du travail et des améliorations.

La solution ERP5 est pérenne car la philosophie open-source lui permet d'évoluer à tout moment. Grâce à son libre accès au code source, de nombreux programmeurs ou entreprises peuvent s'investir dans l'écriture de nouvelles fonctionnalités sans avoir à payer de licence ou de droit d'auteur.

Basé sur une plate-forme Linux, cette solution ERP5 dispose de la fiabilité du monde Linux et de son support.

ERP5 utilise les programmes du monde Linux sans imposer au logiciel client qui s'appuie sur l'ERP de fonctionner sous Linux. Ceci permet d'avoir un ERP muti-plateforme indépendant de la technologie employé par l'entreprise cliente d'ERP5.

La solution serveur Linux ERP5 permet de bénéficier de la fiabilité, de la performance et de la sécurité des outils du monde libre par ailleurs déjà bien éprouvé.

Par ailleurs, de plus en plus de sociétés proposent leur support dans le monde Linux. Ceci permet de disposer d'un bon support commercial et technique dans les champs d'application d'ERP5. Ainsi les offres de support dans le monde Linux sont devenu de très bonnes qualités avec l'implication des grands groupes.

Linux est donc passé d'une expérimentation universitaire à une solution d'une fiabilité incomparable. Il est maintenant en train de devenir une solution industriellement rentable grâce au support des grands groupes comme IBM et Oracle. C'est dans cet optique qu'ERP5 s'inscrit.

II ERP5 point de vue technique :

ERP5 est basé principalement sur Zope, un moteur d'application, un serveur web d'objets et de contenu. Complètement orienté programmation objet avec Python, ERP5 s'adapte particulièrement facilement aux objets réels de la vie courante des entreprises...

ERP5 intègre aussi une solution base de données relationnelle de type MySQL pour stocker les informations et le serveur web apache pour les délivrer.

1) Description de l'intégration : Zope, MySQL, Apache

ERP5 s'intègre dans les outils performants du monde Linux.

ERP5 est composé de :

Zope est le moteur d'application et le gestionnaire de contenu : il décompose principalement d'un serveur web, d'un serveur ftp, d'un serveur webdav, d'une base de données objets, d'une interface d'administration, d'un moteur transactionnel et de workflow.

MySQL est une base de données relationnelle et transactionnelle (dans la version MySql-Max). Elle permet de cataloguer les objets contenu dans la base de données objets de Zope ERP5. Ainsi on peut exécuter des requêtes SQL classiques pour rechercher les objets de la base objet comme si on utilisait la base de données relationnelles.

Apache est un serveur web qui permet de soutenir Zope. Il lui apporte les fonctionnalités de cache (livraison des images) et de sécurité (via SSL ou TSL). Il délivre et saisie ainsi les informations gérées par l'ERP au client web (browser).

Des clients web de type browser Internet. La solution ERP5 utilise les clients web classiques : MS Internet Explorer, Netscape, Safari, Opera, Mozilla, Galéon, Konqueror...

Ainsi ERP5 peut s'intégrer à toutes les architectures d'entreprises.

La base de données objets contenue dans Zope permet de s'adapter au mieux aux éléments concrets gérés par les ERP. Toutes les actions, les articles, les fonctions gérés par l'ERP sont à considérer comme des objets au sens de la programmation. Tout objet ERP5 a des propriétés, des méthodes de base définis par le logiciel. La sécurité est gérée par des permissions sur chaque objet.

Tous les objets dans ERP5 sont des instances de classes dérivées des 5 classes de base du modèle ERP5. L'administration de Zope et d'ERP5 se fait par un accès client web. Les accès ftp et webdav permettent d'accélérer administration lors de grands travaux.

Descrition Technique ERP5

.

2 versions d'ERP5 nexedi dans le même Zope

.

2) Description d'ERP5 dans Zope :

Comme toute solution Zope, ERP5 utilise et adapte une série de produits du monde Zope. Avec ces produits Zope, ERP5 est architecturé en module de gestion de contenu. Les données de l'ERP sont ensuite classifiées en répertoire conteneur afin de les ordonnées par module métiers comme dans les ERP classiques.

Voici donc une liste non-exhaustive des produits utilisés par ERP5 :
Les outils de gestion de contenu d'information :
  • CMF : Content Management System, gestionnaire de contenu pour Zope
  • CMFReportTool : un produit CMF pour créer du PDF (reporting)
  • CMFMailIn : un produit pour importer les couriels dans Zope
  • CMFCategory : CMF outil permettant de gérer les catégories
  • ERP5Catalog : outil ERP5 permettant d'indexer les objets.
Les outils de gestion de données :
  • ExtFile : produit gérant le stockage de gros fichiers en dehors de la base de données objets.
  • ZSQLCatalog : produits permettant de chercher des objets dans la base de données objets avec des requêtes SQL.
  • ZmySQLDA : connecteur Zope à la base de données relationnelle gérée par MySQL.
  • BtreeFolder2 : produit gérant des répertoires de grandes capacités
Les outils multimédia :
  • Photo, CMF Photo : produit conçu pour gérer facilement des photographies dans Zope.
Outils de création de formulaire :
  • Formulator : outils permettant de créer rapidement des formulaires.
  • ERP5Form : formulaire de type ERP5
Outils de traduction :
  • Localizer : produit permettant d'adapter la traduction à la page ou au contenu
  • Base18 : outil de traduction multi-langue
  • TranslationService : traduction multilingue
Librairie Python :
  • PyXML : gestion du format XML pour python
  • python-reportlab : librairie de gestion des PDF pour python

Dans l'interface de management de Zope, ERP5 se décompose principalement de la manière suivante

Les modules de gestion des objets de l'ERP sont :
  • Le portal type décrit tous les types documentaires circulant dans l'entreprise.
  • Le portal catalog gère l'interrogation de la base de données objets avec des requêtes SQL.
  • Le portal skin gère les écrans de saisie et de visualisation de données.
  • Le poratl workflow permet d'implémenter rapidement des workflows d'étapes et de validation des documents gérés par l'ERP.
  • Le portal category permet de créer des catégories. Ces catégories permettent de classifier les documents gérés par l'ERP.
  • Le portal report permet de générer le reporting.

Les données de l'entreprise sont gérées en terme d'objets. Ces données sont classées dans des conteneurs appelés modules ERP5.

On retrouve ainsi, le répertoire des employés, des projets, des produits...

L'architecture ERP5 / Zope est ancrée dans le monde du logiciel libre. Ce choix permet de disposer d'une architecture à haute disponibilité. Voici donc une présentation des outils sur lesquels ERP5 s'appuie.

3) Mise en place d'outil Linux performant pour ERP5 :

ERP5 s'appuie sur architecture Linux très performante.

Pour la sécurité, il utilise les technologies Firewall et SSL via iptables (kernel linux 2.4) et apache (serveur web).

Les sauvegardes utilisent les outils classiques Linux de réplication et de synchronisation (tar, gzip2, rsync).

La redondance des services est assurée directement par le serveur Zope en infrastructure ZEO. Chaque élément de l'infrastructure ERP5 peut être délocalisé ce qui permet de faire des redondances mutiples des services gravitant autour d'ERP5.

Ceci permet de la même façon de disposer de moyen aisé de load-balancing (2 000 utilisateurs).

Pour accélérer la livraison des requêtes du serveur vers les clients, ERP5 peut être soutenu par un serveur de proxy cache comme Squid. L'intérêt majeur est de pouvoir diminuer la charge réseau au delà du réseau interne de l'entreprise. On peut ainsi envisager le travaille simultané sur plusieurs centres éloignés avec un serveur squid local qui accélère les requêtes.

Dans des grosses infrastructures (2 000 utilisateurs), ERP5 peut être installé en load balancing sur plusieurs serveur Zope indépendant avec l'utilitaire Zeo.

III ERP5 point de vue fonctionnel :

ERP5 est basée sur une analyse théorique et poussée des entreprises et de leur fonctionnement.

Contrairement à tous les ERP classiques, ERP5 n'est pas découpé en module métiers. Il permet donc une meilleure circulation des flux de données.

1) Modèle théorique à 5 classes

Le modèle théorique à 5 classes d'ERP5 est né d'une observation concrète des entreprises et d'une théorisation abstraite permettant d'analyser toutes les entreprises, dans tous les secteurs, pour toutes les activités.

ERP5 se différencie ainsi des ERP classiques construits historiquement d'abord sur la gestion administrative (fournisseur, comptabilité, client) puis sur la gestion de production.

Le méthodologie ERP5 décompose les entreprises en 5 classes d'objets :
  • Les ressources
  • Les noeuds
  • Les mouvements
  • Les chemins
  • Les objets

Les ressources sont les capacités de l'entreprise considérée : capacité humaine, compétence, trésorie, finance...

Les noeuds sont des espaces réels ou immatériels qui peuvent accueillir des ressources : chaîne de production, stocks, compte bancaire...

Les mouvements décrivent les transactions entre 2 noeuds pour une certaine durée.

Les chemins décrivent les contraintes associées aux mouvements.

Les objets sont les objets gérés par ERP5 : flux de données, flux irréel ou matériel (produit)

2) Mise en place de la méhodologie ERP5 :

Pour pouvoir implémenter une solution ERP5, une analyse fonctionnelle poussée des flux de données dans l'entreprise est nécessaire. Cette analyse doit à la fois comporter une analyse fonctionnelle ERP classique suivi à la fois d'une analyse fonctionnelle sous le formalisme à 5 axes ERP5. Cette seconde analyse permettra ensuite de pouvoir intégrer les problématiques de l'entreprise dans ERP5 de manière simple.

a) Analyse fonctionnelle ERP Classique

L'analyse fonctionnelle de l'entreprise est nécessaire avant de commencer les travaux d'implémentation. Cette phase permet de cerner les besoins et le coeur de métier de l'entreprise cliente d'ERP5.

Pour pouvoir mener à bien le projet, la direction générale doit montrer son engagement dans le projet. Ceci est d'autant plus important pour ERP5 car cet ERP est destiné aux PME. C'est un outil puissant à disposition des chefs d'entreprise. Il gère non seulement les données, les planning mais aussi il permet de savoir rapidement l'avancement du travail dans la société.

La direction informatique doit aussi s'impliquer dans la démarche ERP5 et ne pas se soustraire à ces obligations de services sous prétexte d'un fournisseur.

La démarche d'implémentation d'ERP5 reste assez classique. Elle fait intervenir un consultant extérieur. Celui-ci sera entouré des représentants futurs grands utilisateurs d'ERP5 de l'entreprise.

La démarche d'implémentation sera ensuite guidée par des réunions individuelles et collectives entre les intervenants et les consultants extérieurs.

b) Analyse fonctionnelle sous le formalisme ERP5 à 5 axes

Pour débuter l'analyse d'une entreprise selon le modèle théorique ERP5, le consultant extérieur doit d'abord cerner la problématique et le coeur de métier de l'entreprise.

Ensuite, une phase de repérage des documents et des données circulant dans l'entreprise est nécessaire.

Les documents sont à prendre au sens large du terme. Ces documents peuvent être des documents officiels, tableau de gestion, facture, note, brouillon, produits fabriqués, personnel, client, fournisseurs...

Une fois ces documents identifiés, on complète l'analyse en déterminant les flux.

Par la suite, chaque futur utilisateur d'ERP5 se propose de re-dessiner ces documents sans prendre en compte les documents existants et les problèmes techniques et de formes. Chaque futur utilisateur d'ERP5 dessine alors son propre document préalablement identifié avec les informations qui lui sont nécessaires pour travailler.

Le consultant effectue ensuite une synthèse de la série du même document édité par les utilisateurs. Il crée alors la première version du document ERP5 qui dirigera le flux d'information.

Cette première phase permet d'analyser complètement le besoin de l'entreprise. Une phase d'interprétation ERP5 des documents est ensuite nécessaire pour continuer.

c) Intégration de la problématique de l'entreprise dans ERP5

Chaque document ERP5 décrit des mouvements physiques élémentaires d'une source vers une destination. Ce modèle théorique conceptualise les flux d'information des entreprises. A partir de cette analyse, on peut intégrer techniquement les documents dans ERP5.

Chaque document et flux physique doit être traduit de la forme suivante :

Ainsi chaque évènement dans la vie de l'entreprise se traduit par un mouvement physique d'une source vers une destination. Le coeur de réflexion d'ERP5 impose une identification propre du mouvement physique élementaire. Ceci afin de pouvoir renseigner toutes les informations du mouvement selon le modèle à 5 axes ERP5.

Le mouvement physique d'un document d'une entreprise entraine donc un mouvement d'une source vers une destination selon les axes de :

  • propriété : à qui appartient la chose en mouvement ? au début ? puis à la fin du mouvement ?
  • décision : qui a pris la décision du côté de la source ? du côté de la destination ? qui ont donné leur accord pour le mouvement ?
  • paiement (finance) : quels sont les comptes mise en jeu lors du mouvement ?
  • administratif : qui doit gérer les documents administratifs du côté de la source ? qui du côté de la destination ?

De cette façon, on est capable avec ERP5 de tracer tous les évènements de la société.

Conclusion

ERP5 est donc un ERP complètement révolutionnaire tant par son aspect technique sous Linux que son aspect fonctionnel avec sa philosophie.

Cet article a été l'occasion de détailler les rouages techniques d'ERP5. Quelles sont les techniques Zope, Linux qui se cachent derrière ce progiciel.

Nous avons aussi essayer de présenter la philosophie fonctionnelle qui fait la force d'ERP5 au delà de son prix par rapport aux ERP classiques.

Article réalisé par Nicolas Lhoir, Ingénieur Arts & Métiers

Consultant OpenSource chez nSight France

nicolas.lhoir@nsight.fr

Tel +33 663 849 195

Licence du document :

GNU Free Documentation License

http://www.gnu.org/copyleft/fdl.html

Référence :

Introduction sur ERP5

Article IEEE sur ERP5


(c) 2001-2004 ERP5 Foundation
www.erp5.org
All Content Published Under Free Licenses
Powered by ERP5 Open Source ERP, Zope, CPS and Nexedi