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
Installation de la partie client
Installez d’abord les dépendances : python-egenix-mxdatetime python-egenix-mxtools
Puis téléchargez et installez le paquet Debian de la dernière version stable (tinyerp-client_4.2.3.4).
Installation de la partie serveur
Tinyerp-serveur4.2 sous ubuntu 8.10
Installez d’abord les dépendances : python-psycopg2 python-libxslt1 python-reportlab python-tz libpq5 python-egenix-mxdatetime python-egenix-mxtools python-xml python-lxml python-matplotlib python-pydot python-pychart
Puis téléchargez et installez le paquet Debian de la dernière version stable (tinyerp-server_4.2.3.4).
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
: — 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
: — 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
-
script d’installation automatique (ubuntu 9.04) pour openerp-server et client + webclient. Utilise les paquets officiels + patchs dont quelques passages sont repris dans cette page. En gros, ce script reprend le contenu de HowToforge – openerp – jaunty (mêmes posteurs…).

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