Agence web et solutions IT, Experts Symfony contact@avanim-prod.com

Synchronisation Dolibarr et Symfony

14 novembre 2010 jravouna Symfony Étiquettes : , , , , , , , , 0 Comments

Depuis maintenant plusieurs années, nous utilisons le CRM Dolibarr en interne pour notre gestion clientèle. Et au fur et à mesure de l’évolution de notre système, nous avons créé plusieurs applications sous symfony permettant la gestion de projets, laccès client à notre Intranet, le monitoring de nos serveurs, …

L’idée de relier notre système de CRM Dolibarr à nos applicatif a donc germée naturelllement.

Nous allons voir aujourd’hui comment intégrer le système Dolibarr dans une application Symfony.

1/ Le choix du modèle

Nous avons deux solutions possibles afin de générer des modèles Symfony capables de communiquer avec Dolibarr. La première consiste à la création d’une nouvelle connexion dans symfony et de générer les modèles. La deuxième consiste à copier puremment et simplements les tables de Dolibarr dans notre base Symfony et d’en générer les modèles.

Nous operons pour la première solution car plus propre et ne necessitant pas de manipulation de la base.

2/ La création des modèles

Nous allons donc configurer symfony afin qu’il se connecte à notre base Dolibarr :
Ouvrez le fichier config/databases.yml et insérer la nouvelle connexion,

all:
dolibarr:
class: sfDoctrineDatabase
param:
dsn: mysql:host=localhost;dbname=dolibarr
username: XXX
password: XXX
doctrine:
class: sfDoctrineDatabase
param:
dsn:      mysql:host=localhost;dbname=gestion
username: XXX
password: XXX

Nous allons demander à symfony de construire comme un grand notre schema.yml afin de pouvoir en générer les modèles, mais attention, si votre fichier yml de schema de base se nomme schema.yml (par default) il sera écrasé par la commande suivante, je vous conseil donc de backuper vos yml, ne sait-on jamais…

php symfony doctrine:build-schema

Ensuite regénérez vos modèles avec un :

php symfony doctrine:build –model

Vous pouvez également générer entièrement votre application symfony avec :

php symfony doctrine:build –all

Les nouveaux modèles utilise la connexion Dolibarr et sont manipulable par notre systèmes.

3/ La création des modules

Nous avons créé notre connexion et généré nos modèles. Attention toutefois au nombre de modèles que necessitera Dolibarr si vous ne triez pas les tables à générer. Pour notre applicatif, nous avons fait le tri dans les nombreuses tables inutiles de Dolibarr pour notre structure. Bien évidemment, cela dépend de votre besoin.

Nous allons maintenant générer facilement nos modules principaux. nous n’avons eu besoin que de la partie propale, facture et client. Doctrine va nous générer ce dont nous avons besoin avec :

php symfony doctrine:generate-module –with-show –non-verbose-templates frontend llxfacture llxFacture

php symfony doctrine:generate-module –with-show –non-verbose-templates frontend llxpropal llxPropal

php symfony doctrine:generate-module –with-show –non-verbose-templates frontend llxsociete llxSociete

Et c’est tout ! Nous avons maintenant dans notre application frontend, deux nouveau modules hérités de Dolibarr, manipulables par symfony grâce aux modèles.

Libre à vous de développer plus avant les fonctionnalités des modèles générer et de customiser vos templates.

4/ Conclusion

Nous avons vus comme il est simple d’utiliser Symfony pour l’interopérabilité avec d’autre applications.

Il est à noter que Dolibarr dispose d’une syncrhonisation avec plusieurs outils tels que Oscommerce, Webcalendar …etc. Je vous laisse le soin d’imaginer les possibilités offertes rapidemment et simplement par le couple Symfony / Dolibarr pour la gestion de toute sorte de système.

0 Comments

  1. private student loan 6 années Répondre

    Nice site, nice and easy on the eyes and great content too.