15/5/2014 Memento Technique OpenERP en français http://thierry-godin.developpez

15/5/2014 Memento Technique OpenERP en français http://thierry-godin.developpez.com/openerp/memento-technique-openerp-fr/#LII-A 1/20 Forums Tutoriels Magazine FAQs Blogs Projets Chat Newsletter Études Emploi Club Contacts Solutions d'entreprise Business Intelligence ERP / PGI CRM SAS Cloud Computing SAP Microsoft BizTalk Server Talend Forums ERP Tutoriels ERP Livres FAQ OpenERP Mémento technique OpenERP en français Open Source RAD avec OpenERP 7,0 Table des matières I. Préambule II. Installer OpenERP II­A. Packages d'installation II­B. Installer depuis les sources II­C. Création de la base de données III. Construire un module OpenERP : Idea (Idée) III­A. Contexte III­B. Composition d'un module III­C. Structure typique d'un module III­D. Service de mappage objet­ relationnel III­E. Types de champs de l'ORM III­E­1. Noms de champs spéciaux/réservés III­F. Travailler avec l'ORM IV. Construire l'interface du module IV­A. Structure XML commune IV­B. Syntaxe CSV commune IV­C. Menus et actions IV­C­1. Déclaration d'une action IV­C­2. Déclaration d'un menu V. Vues et héritage V­A. Vues formulaires (pour voir/modifier les enregistrements) V­A­1. Les éléments de formulaire V­B. Vues dynamiques V­C. Vues listes et listes d'arborescence hiérarchique V­D. Vues fiches Kanban V­E. Vues calendrier V­F. Diagrammes de Gantt V­G. Vues diagrammes (graphes) V­H. Vues de recherche V­I. Héritage des vues VI. Rapports VI­A. Différents formats de rapports VI­B. Les expressions utilisées dans les modèles de rapport OpenERP VII. Les Flux de travail (Workflows) VII­A. Déclaration d'un flux de travail VII­B. Activités du flux de travail (nœuds) VII­C. Transitions du flux de travail (bords) VIII. Sécurité VIII­A. Mécanismes de contrôle d'accès basés sur le groupe VIII­B. Roles IX. Les assistants (Wizards) IX­A. Les modèles d'assistant (TransientModel) IX­B. Vues assistant IX­C. Exécution de l'assistant X. WebServices ­ XML­RPC XI. Optimisation des performances XII. Communauté/contribution XIII. Licence XIV. Remerciements Cet article est une traduction française du Memento Technique d'OpenERP v7.0 Version du fichier original : 08/11/2013. Avec l'aimable autorisation de la société OpenERP SA. 8 commentaires Article lu 11064 fois. L'auteur Thierry Godin L'article Publié le 19 novembre 2013 ­ Mis à jour le 10 décembre 2013 Version PDF Version hors­ligne ePub, Azw et Mobi Liens sociaux I. Préambule▲ OpenERP est une suite moderne de d'Applications Métiers, publiée sous la licence AGPL qui comprend les modules CRM, RH, ventes, comptabilité, fabrication, gestion d'entrepôts, gestion de projets, et plus encore. Il est basé sur un système modulaire, une plate­forme Rapid Application Development (RAD) évolutive et intuitive écrite en Python. OpenERPdispose d'une boîte à outils complète et modulaire pour construire rapidement des applications : Object­Relationship Mapping (ORM) intégré, un patron Modèle­Vue­Contrôleur (MVC), un système de génération de rapport, l'internationalisation automatisée, et bien plus encore. Python est un langage de programmation dynamique de haut niveau, idéal pour RAD, alliant la puissance avec une syntaxe claire, et un noyau maintenu petit par sa conception. Astuce : Liens utiles Le site Web principal OpenERP et téléchargements : www.openerp.com Documentation fonctionnelle et technique : doc.openerp.comDocumentation OpenERP Ressources communautaires : www.openerp.com/community Le serveur d'intégration permanent : runbot.openerp.comServeur d'integration OpenERP Apprendre Python : doc.python.orgDocumentation Python Accueil ALM Java .NET Dév. Web EDI Programmation SGBD Office Solutions d'entreprise Applications Mobiles Systèmes 15/5/2014 Memento Technique OpenERP en français http://thierry-godin.developpez.com/openerp/memento-technique-openerp-fr/#LII-A 2/20 II. Installer OpenERP▲ OpenERP est distribué sous forme de paquets/installeurs pour la plupart des plates­formes, mais peut également être installé à partir des sources sur n'importe quelle plate­forme. L'architecture d'OpenERP OpenERP utilise le paradigme client­serveur bien connu : le client s'exécute comme une application JavaScript dans votre navigateur, se connectant au serveur en utilisant le protocole JSON­RPC sur HTTP(S). Des clients peuvent être facilement écrits selon vos besoins et se connecter au serveur en utilisant XML­RPC ou JSON­RPC. Astuce : Procédure d'installation La procédure d'installation OpenERP est susceptible d'évoluer (dépendances et ainsi de suite), alors assurez­vous de toujours consulter la documentation spécifique (fournie avec les packages et sur le site Internet) pour les dernières procédures. Voir : http://doc.openerp.com/v7.0/installInstallation d'OpenERP II­A. Packages d'installation▲ Windows : installeur tout­en­un. Linux : packages tout­en­un pour les systèmes basés sur Debian (*.deb), et Red­Hat (*.rpm). Mac : pas d'installeur tout­en­un, il faut installer depuis les sources. II­B. Installer depuis les sources▲ Il y a deux possibilités : utiliser une archive fournie sur le site, ou obtenir directement les sources à l'aide de BazaarBazaar (système de contrôle de version). Vous devez également installer les dépendances nécessaires (PostgreSQL et quelques bibliothèques Python ­ voir la documentation sur doc.openerp.comDocumentation OpenERP). Astuce : Compilation OpenERP étant basé sur Python, aucune compilation n'est nécessaire. Procédure de commandes Bazaar typique (sur base Debian Linux) Sélectionnez 1. $ sudo apt-get install bzr # Installer Bazaar (version 2. $ bzr cat -d lp:~openerp-dev/openerp-tools/trunk setup.sh | sh # Récupérer l'Installeur 3. $ make init-v70 # Installer OpenERP 7.0 4. $ make server # Démarrer OpenERP Server II­C. Création de la base de données▲ Après le démarrage du serveur, ouvrez http://localhost:8069 dans votre navigateur préféré. Vous verrez l'écran du gestionnaire de bases de données où vous pouvez créer une nouvelle base de données. Chaque base de données possède ses propres modules et sa propre configuration, et peut être créée en mode démo pour tester une base de données préremplie (ne pas utiliser le mode de démonstration pour une véritable base de données !). III. Construire un module OpenERP : Idea (Idée)▲ III­A. Contexte▲ Les exemples de code utilisés dans ce mémento sont pris à partir d'un module hypothétique d'idées. Le but de ce module serait d'aider les esprits créatifs, qui viennent souvent avec des idées qui ne peuvent pas être réalisées immédiatement, et sont trop facilement oubliées si elles ne sont pas notées quelque part. Ce module pourrait être utilisé pour enregistrer ces idées, les trier et les évaluer. Note : développement modulaire OpenERP utilise des modules comme des conteneurs de fonctionnalités, afin de favoriser un robuste développement et leur maintenance. Les modules offrent une isolation des fonctions, un niveau approprié d'abstraction et des modèles évidents MVC. III­B. Composition d'un module▲ Un module peut contenir n'importe lequel des éléments suivants : objets métier : déclarés comme des classes Python qui étendent la classe osv.Model. La persistance de ces ressources est entièrement gérée par OpenERP ; données : les fichiers XML/CSV avec des métadonnées (vues et déclarations des flux de travail), les données de configuration (paramétrage des modules) et des données de démonstration (facultatives, mais recommandées pour tester, par exemple, des échantillons d'idées) ; assistants : formulaires interactifs utilisés pour aider les utilisateurs, souvent disponibles en actions contextuelles sur les ressources ; rapports : RML (format XML), MAKO ou OpenOffice modèles de rapports, qui seront fusionnés avec n'importe quel type de données de l'entreprise et généreront du HTML, ODT ou des rapports PDF. III­C. Structure typique d'un module▲ Chaque module est contenu dans son propre répertoire, dans le répertoire d'installation du serveur server/bin/addons. 15/5/2014 Memento Technique OpenERP en français http://thierry-godin.developpez.com/openerp/memento-technique-openerp-fr/#LII-A 3/20 Note : Vous pouvez déclarer votre propre répertoire addons dans le fichier de configuration d'OpenERP en utilisant l'option addons_path (transmis au serveur avec l'option ­c). Sélectionnez 5. addons/ 6. |- idea/ # Le répertoire du module 7. |- demo/ # Données de démonstration et tests unitaires 8. |- i18n/ # Fichiers de traduction 9. |- report/ # Rapports 10. |- security/ # Déclaration des groupes et droits d'accès 11. |- view/ # Vues (formulaires,listes), menus et actions 12. |- wizard/ # Assistants 13. |- workflow/ # Flux de travail 14. |- __init__.py # Fichier d'initialisation Python (requis) 15. |- __openerp__.py # Déclaration du module (requis) 16. |- idea.py # Classes Python, les objets du module Le fichier __ init__.py est le descripteur de module Python, car un module OpenERP est aussi un module Python régulier. __init__.py Sélectionnez 17. # Importe tous les fichiers et dossiers qui contiennent du code Python 18. import idea, wizard, report Le fichier __openerp__.py est le manifeste du module OpenERP et contient un dictionnaire unique Python avec la déclaration du module : son nom, les dépendances, la description et la composition. __openerp__.py Sélectionnez 19. { 20. 'name' : 'Idea', 21. 'version' : '1.0', 22. 'author' : 'OpenERP', 23. 'description' : 'Ideas management module', 24. 'category': 'Enterprise Innovation', 25. 'website': 'http://www.openerp.com', 26. 'depends' : ['base'], # liste des dépendances conditionnant l'ordre de démarrage 27. 'data' : [ # les fichiers de données à charger lors de l'installation du module 28. 'security/groups.xml', # toujours charger les groupes en premier! 29. 'security/ir.model.access.csv', # charger les droits d'accès après les groupes 30. 'workflow/workflow.xml', 31. 'view/views.xml', 32. 'wizard/wizard.xml', 33. 'report/report.xml', 34. ], 35. 'demo': ['demo/demo.xml'], # données de démo (pour les tests unitaires) 36. } III­D. Service de mappage objet­relationnel▲ Élément­clé d'OpenERP, l'ORM est une couche de mappage objet­relationnel complet, qui permet aux développeurs de ne pas avoir à écrire la plomberie SQL de base. Les objets métiers sont déclarés comme les classes Python qui héritent de la classe osv.Model, ce qui les rend magiquement persistants par la couche ORM. Des attributs prédéfinis sont utilisés dans la classe Python pour spécifier les caractéristiques d'un objet métier pour l'ORM : idea.py Sélectionnez 37. from osv import osv, fields 38. class idea(osv.Model): 39. _name = 'idea.idea' 40. _columns = { 41. 'name': fields.char('Title', size=64, required=True, translate=True), 42. 'state': fields.selection([('draft','Draft'), 43. uploads/s3/ memento-technique-openerp-en-francais-pdf.pdf

  • 31
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager