Skip to content


OpenERP (anciennement TinyERP)

OpenERP est un progiciel de gestion intégrée libre, anciennement appelé TinyERP.
Cette article est disponible sur http://doc.ubuntu-fr.org/openerp J’ai trouvé cette article très intéressant comme il est parfois difficile de trouver des informations sur internet je l’ai mis ici .


Les modules fonctionnels sont :

  • CRM & SRM ; gestion de la relation client
  • Comptabilité analytique et financière
  • Gestion des stocks
  • Gestion de production (GPAO)
  • Gestion de projets et des activités de service
  • Norme qualité : ISO 9001 version 2000
  • Gestion des ventes
  • Gestion des achats
  • Marketing
  • Logistique
  • Ressources Humaines

Certains modules sont propres à des besoins spécifiques :

  • Network : Gestion d’un parc informatique
  • Auction : Spécificités pour salles de ventes publiques

Les fonctionnalités techniques :

  • serveur/client, serveur distribué
  • workflows éditables,
  • une base de données orientée objet
  • une interface éditable
  • rapports personnalisables
  • interface XML-RPC.

Installation

A mettre à jour d’après la doc du site officiel d’OpenERP.
La procédure ci-dessous est valide pour Ubuntu 8.10 Intrepid Ibex.

Installation de la partie client

Installation de la partie serveur

Tinyerp-serveur4.2 sous ubuntu 8.10

openerp-serveur5 sous ubuntu 9.04

Commencer par installer depuis synaptic : openerp-server et python2.5 .

Ensuite, lancer openerp-server depuis un terminal :

'openerp-server'

Vous obtenez ça :

ERROR: Import xpath module
ERROR: Try to install the old python-xml package

Openerp5 utilise « python-xml », qui se trouve dans python2.5 (par exemple) et Ubuntu 9.04 utilise Python2.6 qui n’a pas ce fichier « python-xml ».

Depuis un terminal, vous devez :

indiquer à openerp-server d’utiliser « python2.5 » :

sudo gedit /usr/bin/openerp-server

remplacez

exec /usr/bin/python ./openerp-server.py

par

exec /usr/bin/python2.5 ./openerp-server.py

Créer un lien symbolique :

cd /usr/lib/python2.5/site-packages/oldxml/_xmlplus/utils/
sudo ln -s /usr/lib/python2.6/dist-packages/oldxml/_xmlplus//utils/boolean.so boolean.so

Si le dossier _xmplus/utils n’existe pas, essayez de copiez boolean.so au bon endroit :

cp /usr/lib/python2.6/dist-packages/oldxml/_xmlplus/utils/boolean.so /usr/lib/python2.5/site-packages/oldxml/_xmlplus/utils

Normalement, si tout c’est bien passez, en tapant openerp-server dans le terminal, vous obtenez ça :

[2009-05-16 19:31:16,607] INFO:server:version - 5.0.0
[2009-05-16 19:31:16,607] INFO:server:addons_path - /usr/lib/openerp-server/addons
[2009-05-16 19:31:16,608] INFO:server:database hostname - localhost
[2009-05-16 19:31:16,608] INFO:server:database port - 5432
[2009-05-16 19:31:16,609] INFO:server:database user – « votre login »
[2009-05-16 19:31:16,609] INFO:objects:initialising distributed objects services
[2009-05-16 19:31:18,139] INFO:web-services:starting XML-RPC services, port 8069
[2009-05-16 19:31:18,141] INFO:web-services:starting NET-RPC service, port 8070
[2009-05-16 19:31:18,142] INFO:web-services:the server is running, waiting for connections...

Openerp-server fonctionne.

Bases de données PostgreSQL

Création de la base de données
sudo su postgres
createuser -U postgres --createdb --no-adduser -P terp
exit
PROBLEMES

Avec une Ubuntu 9.04 française, il y a quelques problèmes d’installation et il n’est pas possible de créer de base openerp.

Il y a ici un bonne procédure concernant les problèmes de compatibilité python : doc opensourceconsulting

Une petite analyse des logs indique un problème de locale du coté de postgressql.

tail -f /var/log/openerp.log /var/log/postgresql/postgresql-8.3-main.log

Pour résoudre ce problème il faut faire passer postgresql en UTF8: (attention ça efface la base de données existante)

/etc/init.d/postgresql-8.3 restart
rm -rf /var/lib/postgresql/8.3/main/*
su - postgres
/usr/lib/postgresql/8.3/bin/initdb --locale=fr_FR.UTF-8 -D /var/lib/postgresql/8.3/main/
cd /var/lib/postgresql/8.3/main
ln -s  /etc/postgresql-common/root.crt root.crt
ln -s  /etc/ssl/certs/ssl-cert-snakeoil.pem server.crt
ln -s /etc/ssl/private/ssl-cert-snakeoil.key server.key
/etc/init.d/postgresql-8.3 restart
tail -f /var/log/postgresql/postgresql-8.3-main.log

Vérifiez aussi /etc/default/locale→ remplacer « LANG=fr_FR » par « LANG=fr_FR.UTF-8″

dpkg-reconfigure locales

et un petit reboot au cas où.

En cas de problème de connexion lors du lancement d’Open-client, il faut suivre cette methode: Créer un utilisateur PostgreSQL. revenez ensuite sur cette page pour terminer l’installation

FIXME : — apparement la partie ci dessous n’est pas nécessaire lors de l’installation — Éditez ensuite le fichier /etc/default/tinyerp-server pour y mettre le mot de passe de la base de données que vous venez de définir :

# Specify the database password (Default: not set).
DATABASE_PASSWORD="votre_mot_de_passe"

Redémarrage du serveur

sudo /etc/init.d/tinyerp-server restart

FIXME : — FIN DE REFONTE. REVOIR ET TESTER À PARTIR D’ICI (résidu de l’ancienne page de doc.) ! —

Connexion Client/Serveur

Lancez le client depuis Applications → Internet → Open ERP Client

Les paramètres de connexion doivent déjà être ceux que vous avez entré dans le fichier de configuration du serveur.

Si ce n’est pas le cas, par le bouton Changer, modifiez localhost avec le port 8070 et le protocole NET-RPC puis Valider.

Si vous n’avez pas encore créé d’autre compte, utilisez admin/admin pour vous connecter depuis le client.

Si vous obtenez toujours :

Could not connect to server

peut-être que le serveur n’est pas lancé. Dans une autre console, tapez :

sudo su -c tinyerp-server

Et vous devriez avoir le message

waiting for connection…

Puis retentez de vous connecter par le bouton Changer puis Valider.

Si vous obtenez

No database found, you must create one

ou que vous avez un choix de base de données, c’est gagné !

Dans la console du serveur, vous pouvez contempler avec bonheur les réactions du serveur aux sollicitations du client.

Vérifiez que vous pouvez créer une base de données : Avec le client, aller dans Fichier ⇒ Base de données ⇒ Nouvelle base de données et créez une base appelée vide, sans les données de démonstration et en français par défaut.

Si vous voulez que le client se connecte à un serveur sur une autre machine, mettez son adresse IP ou son nom de domaine à la place de localhost.

eTiny, Serveur de client Web

Il existe également un serveur web nommé eTiny, il est possible d’utiliser conjointement le client lourd ou le client web.

Il faut installer un serveur supplémentaire: eTiny.

D’abord téléchargeons et installons le framework « Turbogears » (la dernière étape est un peu longue).

cd ~
mkdir etiny
cd etiny
wget http://www.turbogears.org/download/tgsetup.py
sudo python2.4 tgsetup.py

Installez les paquets nécessaires : python-matplotlib python-imaging

Utilisons « l’installateur facile » pour installer eTiny:

sudo easy_install-2.4 eTiny

Pour tester nous pouvons lancer le serveur:

start-tinyerp

La commande ne vous rend pas la main car le serveur tourne et attend les connections.

Il reste à tester avec votre navigateur internet (sur la même machine) en allant à l’adresse http://localhost:8080 ou d’un autre poste avec l’adresse IP de votre machine, par exemple : http://192.168.10.123:8080

Comme pour le serveur tinyerp, il vaut mieux que ce serveur démarre automatiquement avec la machine.

Copions le script et le fichier de configuration proposés par eTiny aux bons endroits:

sudo cp /usr/lib/python2.4/site-packages/eTiny-1.0.1.1-py2.4.egg/scripts/etiny-server /etc/init.d/
sudo cp /usr/lib/python2.4/site-packages/eTiny-1.0.1.1-py2.4.egg/config/default.cfg /etc/etiny-server.cfg

Modifions le script pour qu’il tourne lors du démarrage de la machine comme si nous l’avions lancé nous même :

éditez le fichier /etc/init.d/etiny-server et remplacez la ligne

USER="terp"

par file>USER= »votre_login »</file>

(une meilleure méthode serait peut-être de créer un utilisateur « terp », mais celle-ci me convient.

Rendons le script exécutable:

sudo chmod 755 /etc/init.d/etiny-server

Il faut modifier le fichier de configuration /etc/etiny-server.cfg

dans la partie

access_out

remplacer

server.log

par

/var/log/etiny-server.log

Il faut enfin initialiser le fichier de log :

sudo touch /var/log/etiny-server.log
sudo chown votre_login /var/log/etiny-server.log

Avec la même technique que pour le serveur OpenErp, arrêtons les éventuels serveurs etiny qui tourneraient encore ( »ps -aux » et « sudo kill -9). Cette fois il est nécessaire d’élargir la console pour voir la commande qui a lancé le processus.

Après avoir vérifié que la connexion du navigateur à « http://localhost:8080 » ne fonctionne plus, lançons le serveur eTiny comme il sera lancé dans le script:

sudo su votre_login -c "/usr/bin/start-tinyerp /etc/etiny-server.cfg"

Vérifions que la connexion du navigateur à « http://localhost:8080 » fonctionne à nouveau.

Arrêtons le serveur, il y faudra deux « kill », un pour la ligne « sudo… » et l’autre pour « etiny ».

Vérifions bien que la connexion du navigateur ne fonctionne plus.

Nous pouvons alors tester que le script de démarrage fonctionne:

sudo /etc/init.d/etiny-server start

D’ailleurs la connexion du navigateur à http://localhost:8080 est à nouveau possible !

Il reste à activer le script de démarrage:

sudo update-rc.d  etiny-server defaults 22

Et redémarrer la machine et pour vérifier avec le navigateur web que le serveur eTiny fonctionne bien ….

C’est l’occasion de souffler un peu.

Retours d’expérience

Voir la discussion « OpenERP – Vos réactions / expériences  » sur le forum ubuntu-fr.

Liens

Posted in Logiciels entreprise.

Tagged with , , .


0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.



Some HTML is OK

or, reply to this post via trackback.