SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
Odoo / O.C.A.
[ERP / Python]
1 / 17
About me
@LeGalSylvain
GRAP
Site Web / Facebook
Odoo
Site Web / @Odoo
O.C.A.
Site Web / @OdooCommunity
2 / 17
L'ERP
Technos
Briques techniques
Language : Python 2.7
Base de données : PostgreSQL
Front End : Backbone JS
L'ORM
"Maison" avec syntaxe proche de Django
classMyClass(Model):
_name='my.class'
my_column=Fields.Char(
string='ColumnName',help="Sometips...",
required=True)
3 / 17
L'ERP
Technos
Architecture
Architecture
Conception
Modèles 2,5 tiers
Models / Controllers : Python
Views : XML
Déploiement standard
4 / 17
L'ERP
Technos
Architecture
Modules &
Héritage
Développement modulaire
Arbres de modules
Héritage de classe
classMyHeritedClass(Model):
_inherit='my.class'
my_new_column=Fields.Integer(
string='ExtraField')
5 / 17
L'ERP
Technos
Architecture
Modules &
Héritage
Structure
d'un module
Structure d'un module
module_name/
/i18n/
/fr.po
/de.po
/...
/models/
/model_1.py
/...
/static/
/views/
/view_model_1.xml
/action.xml
/menu.xml
/...
/__openerp__.py
6 / 17
L'ERP
Technos
Architecture
Modules &
Héritage
Structure
d'un module
Exemple
Exemple
Code Source
Live
7 / 17
Avancées
Gestion de
la sécurité
Gestion de la sécurité
Sécurité intégrée à l'ORM
Double restriction
1. restriction par groupe d'utilisateurs
les "vendeurs" peuvent créer une écriture
comptable
les "comptables" peuvent créer ET supprimer une
écriture comptable
2. restriction contextuelle
Les "vendeurs" peuvent voir toutes les ventes
les "vendeurs" peuvent éditer LEUR vente
8 / 17
Avancées
Gestion de
la sécurité
MaJ &
Migrations
Mise à jour et migrations
Petites évolutions
Possibilité d'ajouter / de supprimer des champs
Possibilité de renommer des champs
my_renamed_field=Fields.Integer(
string='MyRenamedField',old_name='my_old_name')
Grosses migrations
module_name/
/migrations/
/8.0.2.0.0/
/pre-migration_script.py
/post-migration_script.py
/8.0.X.0.0/
/...
9 / 17
Avancées
Gestion de
la sécurité
MaJ &
Migrations
Autres
outils
Autres outils
Intégration d'un système de jeu de démo
module_name/
/demo/
/product.xml
/partner.xml
Intégration d'unittest pour les tests
Internationalisation de l'outils
#.module:afpy_sample
#:model:ir.model.fields,field_description:afpy_sample.field_res_partner_my_tex
msgid"MyText"
msgstr"MonTexte"
Personnalisation
<fieldname="company_id"groups="base.group_multicompany"/>
10 / 17
Outils
Developpeurs
Source
github
github.com/OCA/OCB.git
Intégration continue
Travis + Coveralls
Serveur de tests
Runbot : Module OCA Point de Vente
11 / 17
Outils
Developpeurs
Fonctionnels
Découvrir les modules
Via la liste des modules dans une instance
L'Appstore de l'éditeur
très limité (pas de recherche à facettes)
très "commercial"
contient les modules payants
Odoo Code Search
très complet (scan tout github)
moteur de recherche à facettes
ne contient pas les modules payants
12 / 17
Les
acteurs
Editeur
Odoo S.A. (1/2)
09/2004 (v1.0) "TinyERP" première version stable du
logiciel avec client GTK
05/2008 (v5.0)
"TinyERP" devient "OpenERP"
Les scripts de migration deviennent propriétaires
10/2009 (v6.0)
Abandon du client GTK et passage au client web
1ère version "grand publique"
02/2010 1ère levée de 3 M€. (Xavier Niels & Sofinnova)
12/2012 (V7.0)
Refonte majeur de l'interface web
13 / 17
Les
acteurs
l'éditeur
Odoo S.A. (2/2)
05/2014 2ème levée de 10 M€. (XAnge / Sofinnova /
SRIW)
06/2014 "OpenERP" devient "Odoo"
09/2014 (V8.0)
Intégration eCommerce (réussite ?) / CMS (échec)
Passage en LGPL
forte adhésion de la communauté
09/2015 (V9.0)
"Community Edition" (Plutôt une version 8.1)
"Enterprise" (payante & propriétaire)
10/2016 (v10.0)
Refonte de la partie MRP
14 / 17
Les
acteurs
l'éditeur
La
communauté
Tryton - Un Fork conflictuel
2008
Fork de la version 4.2
maintenu par une fondation (Site Web)
Très peu d'acteurs (Log du Code Source)
L'OCA - L'association
06/2014
création de l'asso (Site Web)
aujourd'hui 300 Membres
100 projets / 1000 Modules communautaires
maintenance d'un fork amical "O.C.B."
Fork amical (non divergent)
= Odoo + correctif de bugs
maintenance d'outils conflictuels (OpenUpgrade)
15 / 17
Etat des
lieux
Produit
(+) Mature avec plus de 300 modules officiels
(+) Complété par plus de 1000 modules
communautaires et des milliers de modules custom
(+) De bonnes briques techniques (python,
postgreSQL, appli web, ...)
(-) Des dettes techniques (python 2.7, double API, ...)
L'éditeur
(+) Une politique audacieuce
(+) Des choix stratégiques
(-) Parfois non respectueux du travail communautaire
(- - -) abandonne l'esprit OpenSource dans un modèle
dual Licensing (Modèle "Compiere")
16 / 17
Questions ?
17 / 17

Contenu connexe

En vedette

Analytics Trends 2016: The next evolution
Analytics Trends 2016: The next evolutionAnalytics Trends 2016: The next evolution
Analytics Trends 2016: The next evolutionDeloitte United States
 
Temporality of the Future
Temporality of the Future Temporality of the Future
Temporality of the Future Melanie Swan
 
LAGOS BUSINESS SCHOOL experiencing BP2W on MBA programmes
LAGOS BUSINESS SCHOOL experiencing BP2W on MBA programmesLAGOS BUSINESS SCHOOL experiencing BP2W on MBA programmes
LAGOS BUSINESS SCHOOL experiencing BP2W on MBA programmesMcConnon International Ltd
 
Highbank Appoints Ivan Scott, P. Eng. to the Board of Directors
Highbank Appoints Ivan Scott, P. Eng. to the Board of DirectorsHighbank Appoints Ivan Scott, P. Eng. to the Board of Directors
Highbank Appoints Ivan Scott, P. Eng. to the Board of DirectorsFollow me on Twitter @Stockshaman
 
Media Rating : Les Français jugent les médias d'information
Media Rating : Les Français jugent les médias d'informationMedia Rating : Les Français jugent les médias d'information
Media Rating : Les Français jugent les médias d'informationKantar
 
Webinar 2014 GRESB Survey Release (April 2014)
Webinar 2014 GRESB Survey Release (April 2014)Webinar 2014 GRESB Survey Release (April 2014)
Webinar 2014 GRESB Survey Release (April 2014)nilskok
 
WCPT in 2016: European Region conference, Limassol April 2016
WCPT in 2016:  European Region conference, Limassol April 2016WCPT in 2016:  European Region conference, Limassol April 2016
WCPT in 2016: European Region conference, Limassol April 2016WCPT1951
 
Blockchain Cloudminds: Human-Machine Pooled-Mind DACs
Blockchain Cloudminds: Human-Machine Pooled-Mind DACsBlockchain Cloudminds: Human-Machine Pooled-Mind DACs
Blockchain Cloudminds: Human-Machine Pooled-Mind DACsMelanie Swan
 
BCIs and DNA Nanotechnology
BCIs and DNA NanotechnologyBCIs and DNA Nanotechnology
BCIs and DNA NanotechnologyMelanie Swan
 
Listen, Learn, Earn: We Are Social's Guide to Social Listening
Listen, Learn, Earn: We Are Social's Guide to Social ListeningListen, Learn, Earn: We Are Social's Guide to Social Listening
Listen, Learn, Earn: We Are Social's Guide to Social ListeningWe Are Social Singapore
 
Collaborative Economy Revenue Models
Collaborative Economy Revenue ModelsCollaborative Economy Revenue Models
Collaborative Economy Revenue ModelsCollaborative Lab
 
5 things that will delay your package, guaranteed (Infographic)
5 things that will delay your package, guaranteed (Infographic) 5 things that will delay your package, guaranteed (Infographic)
5 things that will delay your package, guaranteed (Infographic) Pitney Bowes
 
Nonprofit idea grant r2 2015 final
Nonprofit idea grant r2 2015 finalNonprofit idea grant r2 2015 final
Nonprofit idea grant r2 2015 finalLinkedIn for Good
 
Have you got mustard? A Bible Study Guide for Growing Faith Slides
Have you got mustard?  A Bible Study Guide for Growing Faith SlidesHave you got mustard?  A Bible Study Guide for Growing Faith Slides
Have you got mustard? A Bible Study Guide for Growing Faith SlidesShirley Lee
 
140 Years of Innovating Ahead
140 Years of Innovating Ahead140 Years of Innovating Ahead
140 Years of Innovating AheadEricsson
 
In Fighting Crime, Certainty is More Important than Severity
In Fighting Crime, Certainty is More Important than SeverityIn Fighting Crime, Certainty is More Important than Severity
In Fighting Crime, Certainty is More Important than SeverityPeter Orszag
 

En vedette (17)

Analytics Trends 2016: The next evolution
Analytics Trends 2016: The next evolutionAnalytics Trends 2016: The next evolution
Analytics Trends 2016: The next evolution
 
Temporality of the Future
Temporality of the Future Temporality of the Future
Temporality of the Future
 
Etäkuntoutus-kirjan esittely
Etäkuntoutus-kirjan esittelyEtäkuntoutus-kirjan esittely
Etäkuntoutus-kirjan esittely
 
LAGOS BUSINESS SCHOOL experiencing BP2W on MBA programmes
LAGOS BUSINESS SCHOOL experiencing BP2W on MBA programmesLAGOS BUSINESS SCHOOL experiencing BP2W on MBA programmes
LAGOS BUSINESS SCHOOL experiencing BP2W on MBA programmes
 
Highbank Appoints Ivan Scott, P. Eng. to the Board of Directors
Highbank Appoints Ivan Scott, P. Eng. to the Board of DirectorsHighbank Appoints Ivan Scott, P. Eng. to the Board of Directors
Highbank Appoints Ivan Scott, P. Eng. to the Board of Directors
 
Media Rating : Les Français jugent les médias d'information
Media Rating : Les Français jugent les médias d'informationMedia Rating : Les Français jugent les médias d'information
Media Rating : Les Français jugent les médias d'information
 
Webinar 2014 GRESB Survey Release (April 2014)
Webinar 2014 GRESB Survey Release (April 2014)Webinar 2014 GRESB Survey Release (April 2014)
Webinar 2014 GRESB Survey Release (April 2014)
 
WCPT in 2016: European Region conference, Limassol April 2016
WCPT in 2016:  European Region conference, Limassol April 2016WCPT in 2016:  European Region conference, Limassol April 2016
WCPT in 2016: European Region conference, Limassol April 2016
 
Blockchain Cloudminds: Human-Machine Pooled-Mind DACs
Blockchain Cloudminds: Human-Machine Pooled-Mind DACsBlockchain Cloudminds: Human-Machine Pooled-Mind DACs
Blockchain Cloudminds: Human-Machine Pooled-Mind DACs
 
BCIs and DNA Nanotechnology
BCIs and DNA NanotechnologyBCIs and DNA Nanotechnology
BCIs and DNA Nanotechnology
 
Listen, Learn, Earn: We Are Social's Guide to Social Listening
Listen, Learn, Earn: We Are Social's Guide to Social ListeningListen, Learn, Earn: We Are Social's Guide to Social Listening
Listen, Learn, Earn: We Are Social's Guide to Social Listening
 
Collaborative Economy Revenue Models
Collaborative Economy Revenue ModelsCollaborative Economy Revenue Models
Collaborative Economy Revenue Models
 
5 things that will delay your package, guaranteed (Infographic)
5 things that will delay your package, guaranteed (Infographic) 5 things that will delay your package, guaranteed (Infographic)
5 things that will delay your package, guaranteed (Infographic)
 
Nonprofit idea grant r2 2015 final
Nonprofit idea grant r2 2015 finalNonprofit idea grant r2 2015 final
Nonprofit idea grant r2 2015 final
 
Have you got mustard? A Bible Study Guide for Growing Faith Slides
Have you got mustard?  A Bible Study Guide for Growing Faith SlidesHave you got mustard?  A Bible Study Guide for Growing Faith Slides
Have you got mustard? A Bible Study Guide for Growing Faith Slides
 
140 Years of Innovating Ahead
140 Years of Innovating Ahead140 Years of Innovating Ahead
140 Years of Innovating Ahead
 
In Fighting Crime, Certainty is More Important than Severity
In Fighting Crime, Certainty is More Important than SeverityIn Fighting Crime, Certainty is More Important than Severity
In Fighting Crime, Certainty is More Important than Severity
 

Similaire à Odoo / OCA

2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanneDidier Durand
 
BreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureBreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureNicolas Georgeault
 
Cohabitation Logiciels Libres et propriétaires
Cohabitation Logiciels Libres et propriétairesCohabitation Logiciels Libres et propriétaires
Cohabitation Logiciels Libres et propriétairesMichel-Marie Maudet
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'artTugdual Grall
 
Environnements & Développements
Environnements & DéveloppementsEnvironnements & Développements
Environnements & DéveloppementsPaulin CHOUDJA
 
Gestion multi-pays & multilingue avec Drupal
Gestion multi-pays & multilingue avec DrupalGestion multi-pays & multilingue avec Drupal
Gestion multi-pays & multilingue avec DrupalAdyax
 
ACube : De la solution à l'industrialisation
ACube : De la solution à l'industrialisationACube : De la solution à l'industrialisation
ACube : De la solution à l'industrialisationpeguet
 
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatialesLes apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatialesGaëtan LAVENU
 
JUS 2011 - Manipulation de champs avec SALOME
JUS 2011 - Manipulation de champs avec SALOMEJUS 2011 - Manipulation de champs avec SALOME
JUS 2011 - Manipulation de champs avec SALOMEOpenCascade
 
Réussir son projet Drupal
Réussir son projet DrupalRéussir son projet Drupal
Réussir son projet DrupalAdyax
 
Présentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'OfflinePrésentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'OfflineDNG Consulting
 
Les vrais enjeux de l'IA.pdf
Les vrais enjeux de l'IA.pdfLes vrais enjeux de l'IA.pdf
Les vrais enjeux de l'IA.pdfBabacarDIOP48
 
Lutece, CMS star du J2EE
Lutece, CMS star du J2EELutece, CMS star du J2EE
Lutece, CMS star du J2EELINAGORA
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!CARA_Lyon
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!CARA_Lyon
 

Similaire à Odoo / OCA (20)

2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne
 
Compte rendu Blend Web Mix 2015
Compte rendu Blend Web Mix 2015Compte rendu Blend Web Mix 2015
Compte rendu Blend Web Mix 2015
 
BreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureBreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec Azure
 
Introduction webextensions
Introduction webextensionsIntroduction webextensions
Introduction webextensions
 
Comparatif CMS
Comparatif CMSComparatif CMS
Comparatif CMS
 
Cohabitation Logiciels Libres et propriétaires
Cohabitation Logiciels Libres et propriétairesCohabitation Logiciels Libres et propriétaires
Cohabitation Logiciels Libres et propriétaires
 
10 ans de l'Adullact
10 ans de l'Adullact10 ans de l'Adullact
10 ans de l'Adullact
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'art
 
Environnements & Développements
Environnements & DéveloppementsEnvironnements & Développements
Environnements & Développements
 
Gestion multi-pays & multilingue avec Drupal
Gestion multi-pays & multilingue avec DrupalGestion multi-pays & multilingue avec Drupal
Gestion multi-pays & multilingue avec Drupal
 
ACube : De la solution à l'industrialisation
ACube : De la solution à l'industrialisationACube : De la solution à l'industrialisation
ACube : De la solution à l'industrialisation
 
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatialesLes apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
 
JUS 2011 - Manipulation de champs avec SALOME
JUS 2011 - Manipulation de champs avec SALOMEJUS 2011 - Manipulation de champs avec SALOME
JUS 2011 - Manipulation de champs avec SALOME
 
Cours architecture
Cours architectureCours architecture
Cours architecture
 
Réussir son projet Drupal
Réussir son projet DrupalRéussir son projet Drupal
Réussir son projet Drupal
 
Présentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'OfflinePrésentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'Offline
 
Les vrais enjeux de l'IA.pdf
Les vrais enjeux de l'IA.pdfLes vrais enjeux de l'IA.pdf
Les vrais enjeux de l'IA.pdf
 
Lutece, CMS star du J2EE
Lutece, CMS star du J2EELutece, CMS star du J2EE
Lutece, CMS star du J2EE
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!
 

Odoo / OCA

  • 1. Odoo / O.C.A. [ERP / Python] 1 / 17
  • 2. About me @LeGalSylvain GRAP Site Web / Facebook Odoo Site Web / @Odoo O.C.A. Site Web / @OdooCommunity 2 / 17
  • 3. L'ERP Technos Briques techniques Language : Python 2.7 Base de données : PostgreSQL Front End : Backbone JS L'ORM "Maison" avec syntaxe proche de Django classMyClass(Model): _name='my.class' my_column=Fields.Char( string='ColumnName',help="Sometips...", required=True) 3 / 17
  • 4. L'ERP Technos Architecture Architecture Conception Modèles 2,5 tiers Models / Controllers : Python Views : XML Déploiement standard 4 / 17
  • 5. L'ERP Technos Architecture Modules & Héritage Développement modulaire Arbres de modules Héritage de classe classMyHeritedClass(Model): _inherit='my.class' my_new_column=Fields.Integer( string='ExtraField') 5 / 17
  • 6. L'ERP Technos Architecture Modules & Héritage Structure d'un module Structure d'un module module_name/ /i18n/ /fr.po /de.po /... /models/ /model_1.py /... /static/ /views/ /view_model_1.xml /action.xml /menu.xml /... /__openerp__.py 6 / 17
  • 8. Avancées Gestion de la sécurité Gestion de la sécurité Sécurité intégrée à l'ORM Double restriction 1. restriction par groupe d'utilisateurs les "vendeurs" peuvent créer une écriture comptable les "comptables" peuvent créer ET supprimer une écriture comptable 2. restriction contextuelle Les "vendeurs" peuvent voir toutes les ventes les "vendeurs" peuvent éditer LEUR vente 8 / 17
  • 9. Avancées Gestion de la sécurité MaJ & Migrations Mise à jour et migrations Petites évolutions Possibilité d'ajouter / de supprimer des champs Possibilité de renommer des champs my_renamed_field=Fields.Integer( string='MyRenamedField',old_name='my_old_name') Grosses migrations module_name/ /migrations/ /8.0.2.0.0/ /pre-migration_script.py /post-migration_script.py /8.0.X.0.0/ /... 9 / 17
  • 10. Avancées Gestion de la sécurité MaJ & Migrations Autres outils Autres outils Intégration d'un système de jeu de démo module_name/ /demo/ /product.xml /partner.xml Intégration d'unittest pour les tests Internationalisation de l'outils #.module:afpy_sample #:model:ir.model.fields,field_description:afpy_sample.field_res_partner_my_tex msgid"MyText" msgstr"MonTexte" Personnalisation <fieldname="company_id"groups="base.group_multicompany"/> 10 / 17
  • 11. Outils Developpeurs Source github github.com/OCA/OCB.git Intégration continue Travis + Coveralls Serveur de tests Runbot : Module OCA Point de Vente 11 / 17
  • 12. Outils Developpeurs Fonctionnels Découvrir les modules Via la liste des modules dans une instance L'Appstore de l'éditeur très limité (pas de recherche à facettes) très "commercial" contient les modules payants Odoo Code Search très complet (scan tout github) moteur de recherche à facettes ne contient pas les modules payants 12 / 17
  • 13. Les acteurs Editeur Odoo S.A. (1/2) 09/2004 (v1.0) "TinyERP" première version stable du logiciel avec client GTK 05/2008 (v5.0) "TinyERP" devient "OpenERP" Les scripts de migration deviennent propriétaires 10/2009 (v6.0) Abandon du client GTK et passage au client web 1ère version "grand publique" 02/2010 1ère levée de 3 M€. (Xavier Niels & Sofinnova) 12/2012 (V7.0) Refonte majeur de l'interface web 13 / 17
  • 14. Les acteurs l'éditeur Odoo S.A. (2/2) 05/2014 2ème levée de 10 M€. (XAnge / Sofinnova / SRIW) 06/2014 "OpenERP" devient "Odoo" 09/2014 (V8.0) Intégration eCommerce (réussite ?) / CMS (échec) Passage en LGPL forte adhésion de la communauté 09/2015 (V9.0) "Community Edition" (Plutôt une version 8.1) "Enterprise" (payante & propriétaire) 10/2016 (v10.0) Refonte de la partie MRP 14 / 17
  • 15. Les acteurs l'éditeur La communauté Tryton - Un Fork conflictuel 2008 Fork de la version 4.2 maintenu par une fondation (Site Web) Très peu d'acteurs (Log du Code Source) L'OCA - L'association 06/2014 création de l'asso (Site Web) aujourd'hui 300 Membres 100 projets / 1000 Modules communautaires maintenance d'un fork amical "O.C.B." Fork amical (non divergent) = Odoo + correctif de bugs maintenance d'outils conflictuels (OpenUpgrade) 15 / 17
  • 16. Etat des lieux Produit (+) Mature avec plus de 300 modules officiels (+) Complété par plus de 1000 modules communautaires et des milliers de modules custom (+) De bonnes briques techniques (python, postgreSQL, appli web, ...) (-) Des dettes techniques (python 2.7, double API, ...) L'éditeur (+) Une politique audacieuce (+) Des choix stratégiques (-) Parfois non respectueux du travail communautaire (- - -) abandonne l'esprit OpenSource dans un modèle dual Licensing (Modèle "Compiere") 16 / 17