# [howto] tinyERP

## bouleetbil

Bonjour,

Ma copine avait besoin d'un ERP, elle a donc fait des recherches et un soir me dit : "Tiens j'ai trouvé tinyerp en plus il est libre tu peux me l'installer STP"

Maintenant, c'est elle qui me fait connaitre des logiciels libre   :Laughing: 

Voici donc la synthèse de mon installation.

Tiny ERP

Au moment de l'écriture de cette article, la version en cours est la 3.3.0.

1. Présentation tirée de wikipédia : 

Tiny ERP est un progiciel de gestion intégré libre (open source).

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é: ISO9001 v2000

   * Gestion des ventes

   * Gestion des achats

   * Marketing

   * Logistique

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 objet

   * une interface éditable

   * rapports personalisables

   * interface XML-RPC.

2. Pour qui ?

Tiny ERP peux très bien convenir à de petites structures comme des SSII ou même des associations. Pour des structures plus importantes, je ne sais pas si un support est disponible et si oui, la fiabilité de ce support.

La gestion des traductions est intérressante il suffit de charger un fichier sur le serveur et la traduction sera disponible sur les postes clients. Ce qui est très utile si vous travaillez avec des collaborateurs à l'étranger.

3. Installation du serveur :

Tout d'abord, récuperer l'archive du serveur sur le site de tinyerp : http://www.tinyerp.org/download.php

Décompresser l'archive dans /usr/share/

3.1 Prérequis :

```

>=dev-db/postgresql-7.4 : http://www.gentoo.org/doc/fr/postgres-howto.xml

dev-python/psycopg 

dev-libs/libxml2 

dev-libs/libxslt 

dev-python/pypgsql 

dev-python/reportlab 

dev-python/pyparsing 

dev-python/pydot 

```

3.2 Configuration de la base de données:

Création de l'utilisateur ayant accés à cette base :

```
# createuser --username=postgres --no-createdb --no-adduser terp
```

Création de la base de données terp :

```
# createdb --username=usertiny --owner=terp --encoding=UNICODE terp
```

3.3 Lancement et configuration du serveur :

```
# /usr/share/tinyerp-server-3.3.0/bin/tinyerp-server.py --init=all -r usertiny
```

Au premier lancement cela va renseigner la base de données.

Télécharger la traduction française : http://tinyforge.org/softwaremap/trove_list.php?form_cat=309

Enregistrer la traduction dans /usr/share/tinyerp-server-3.3.0/

Import de la traduction :

```
# /usr/share/tinyerp-server-3.3.0/bin/tinyerp-server.py --init=all --i18n-import=/usr/share/tinyerp-server-3.3.0/traduc_fr_330_rc6_TF7.csv  -lfr -r usertiny
```

Lancement avec la traduction accéssible :

```
# /usr/share/tinyerp-server-3.3.0/bin/tinyerp-server.py --init=all -lfr -r usertiny
```

Pour connaitre les options possible taper :

```
# /usr/share/tinyerp-server-3.3.0/bin/tinyerp-server.py --help
```

Cela affichera les options possibles, comme par exemple -w pour utiliser un mot de passe pour la base de données associé à l'utilisateur : usertiny

3.4 Pour un accés depuis l'exterieur :

Par défaut, c'est le port 8069 qui est utilisé il faut faut donc rerouter ce port sur votre routeur.

4. Installation du client :

Tout d'abord, récuperer l'archive du serveur sur le site de tinyerp : http://www.tinyerp.org/download.php

Décompresser l'archive dans /usr/share/

4.1 Lancement du programme : 

```
# /usr/share/tinyerp-client-3.3.0/bin/tinyerp-client.py 
```

Au premier lancement deux comptes sont disponibles :

Login : demo

password : demo

et

Login : admin

password : admin

Pour l'utilisation allez sur le site de tinyerp  :Wink: 

5. Script rc pour le serveur :

Editer /etc/init.d/tinyserver 

```

#!/sbin/runscript

depend() {

        # le démon a besoin de la fonction  internet

        need net  

}

start() {

        ebegin "Starting tinyerp"  

        # Lance le processus comme un démon et enregistre le pid

        start-stop-daemon --start --quiet --background --pidfile /var/run/tinyserver.pid --make-pidfile --exec /usr/share/tinyerp-server-3.3.0/bin/tinyerp-server.py --init=all -lfr -r usertiny 

        eend $?

}

stop() {

        ebegin "Stopping tinyerp"

        # arrete le démon en se servant du pid enregistré par la fonction start()

        start-stop-daemon --stop --quiet --pidfile /var/run/tinyserver.pid --name tinyserver

        eend $?

}

```

Le rendre executable :

```
# chmod + /etc/init.d/tinyserver
```

Et voilà, vous avez un ERP à disposition.

----------

## boozo

'alute

 :Shocked:   whaou ! Si elle l'utilise en prod elle(tu) peut(x) faire un feedback stp !  çà peut m'intéresser sous peu cette histoire   :Razz: 

Par là même... si elle en a d'autres dans le genre ou autour du thème je prends aussi ^^

Merci pour le HT au fait c'est bien sympa comme info (comme toujours du reste   :Cool:   )

[Edit] au fait ebuild sur b.g.o ici et là mais en 3.0.2 c'est dommage mais bon c'est toujours çà... si j'ai le temps un de ces jours et que je le prends j'm'en fends d'un promis  :Surprised: 

----------

## adjaxio

Bonjour, 

Heu j'ai suivi ton howto arriver a la fin je n'arrive pas a adapter le script de démarage.

Le script de démarage

```
#!/sbin/runscript

depend() {

        # le démon a besoin de la fonction  internet

        need net

}

start() {

        ebegin "Starting tinyerp"

        # Lance le processus comme un démon et enregistre le pid

        start-stop-daemon --start --quiet --background --pidfile /var/run/tinyserver.pid --make-pidfile --exec /usr/share/tinyerp-server-3.4.2/bin/tinyerp-server.py --init=all -r adjaxio

        eend $?

}

stop() {

        ebegin "Stopping tinyerp"

        # arrete le démon en se servant du pid enregistré par la fonction start()

        start-stop-daemon --stop --quiet --pidfile /var/run/tinyserver.pid --name tinyserver

        eend $?

}

```

Et l'erreur que sa me retourne.

```
/etc/init.d/tinyserver start

 * Caching service dependencies ...                                                                                                                                                              [ ok ] 

 * Starting tinyerp ...

/sbin/start-stop-daemon: unrecognized option `--init=all'

Try `/sbin/start-stop-daemon --help' for more information.    
```

Merci.

Adjaxio.

----------

## bouleetbil

Bonjour,

Je ne suis pas devant la machine ou tiny erp est installé, mais d'apres le PDF qui est fourni sur le site ,ils fournissent un script rc qui est un peu différent (il y a peut être des modifications depuis la 3.3.0)  :

```

#!/sbin/runscript

 # Copyright 1999-2006 Gentoo Foundation

 # Distributed under the terms of the GNU General Public License, v2 or later

 # $Header: /var/cvsroot/gentoo-x86/www-apps/trac/files/tracd.initd,v 1.1 2006/02/22 22:11:43 dju Exp $

 BASE=TinyERP

 PID=/var/run/$BASE/$BASE.pid

 PROGRAM=/usr/local/bin/tinyerp-server

 USER=terp

 depend() {

         need net

 }

 start() {

         ebegin "Starting $BASE"

         start-stop-daemon -v --chuid=terp --background --start --exec $PROGRAM -lfr 

         eend $?

 }

 stop() {

         ebegin "Stopping $BASE"

         start-stop-daemon --stop --pidfile $PID

         eend $?

 }

```

Ne pas oublier le -lfr pour utiliser la traduction fancaise.

Par contre, remplacer /usr/local/bin/tinyerp-server par /usr/share/tinyerp-server-3.4.2/bin/tinyerp-server.py (Par l'emplacement ou est installé tiny erp)

----------

## adjaxio

Merci

----------

