Line 1:
Line 1:
+
<!-- BEGIN interlang links -->
+
<!-- Do NOT edit this section
+
Links below are automatically managed by PolyglotBot
+
You can edit links on the English source page : Module_OSCommerceWS_(developer) -->
+
[[en:Module_OSCommerceWS_(developer)]]
+
[[es:Módulo_OSCommerceWS_(desarrollador)]]
+
<!-- END interlang links -->
+
[[Category:OSCommerceWS]]
[[Category:OSCommerceWS]]
−
[[Category:Liste des Modules]]
+
[[Category:Liste des Modules (développeur)]]
{{TemplateDocDev}}
{{TemplateDocDev}}
+
{{TemplateModFR_Développeur}}
{{BasculeDevUser|
{{BasculeDevUser|
−
nom=OSCommerceWS|
+
nom=OSCommerceWS|
+
num=900|
devdoc=Cette page|
devdoc=Cette page|
userdoc=[[Module OSCommerceWS]]|}}
userdoc=[[Module OSCommerceWS]]|}}
−
= Fonction =
+
{{ModuleDeprecatedFr}}
−
−
Le module OSCommerceWS permet de synchroniser une partie des informations d'une installation OSCommerce 2 avec une installation de Dolibarr '''via des Web services'''.
−
−
De cette manière, il est possible de
−
* publier dans OSCommerce des produits introduits dans Dolibarr
−
* importer des commandes (et leurs détails) dans Dolibarr depuis OSCommerce
−
* importer des clients OSCommerce dans Dolibarr
−
−
Ce module fonctionne au travers de l'utilisation d'une librairie facilitant l'utilisation des services web: ''NuSOAP''
−
−
= Code =
−
−
Comme indiqué dans une ébauche de documentation très succinte au sein du code, c'est dans le répertoire '''htdocs/oscommerce_ws''' que l'on trouve le code de l'application. Il existe également pas mal de code dans un répertoire '''htdocs/boutique''' mais il est difficile de déterminer à quoi il sert (probablement au module OSCommerce1).
−
−
Le répertoire '''ws_server/''' doit être copié sur le serveur OSCommerce, dans le répertoire '''catalog/'''. Il doit également être configuré, en modifiant le fichier '''ws_server/includes/configuration.php''' pour y placer la configuration de OSCommerce.
−
−
= Permissions =
−
−
= Tables SQL =
−
Aucune
+
Ce module a été re développé et considérablement enrichi. Il est maintenant disponible comme un module externe à Dolibarr. Il permet d'intégrer l'activité e-commerce générée par des sites Oscomemrce ou Prestashop dans Dolibarr.
+
Pour toute information contacter [[Jean Heimburger]] .
= Informations de l'auteur [[Jean Heimburger]] sur le projet =
= Informations de l'auteur [[Jean Heimburger]] sur le projet =
Line 46:
Line 38:
* gérer le catalogue ( suivi des commandes fournisseurs) depuis Dolibarr et le mettre à jour sur le site.
* gérer le catalogue ( suivi des commandes fournisseurs) depuis Dolibarr et le mettre à jour sur le site.
−
−
Je propose de décrire ici les fonctions utiles pour réaliser cette interface. Sentez-vous libre d'y apporter vos contributions.
−
−
== Les fonctions prévues ==
−
−
; Import des articles OSC => Dolibarr : Cette fonction sert à importer un catalogue d'un site web dans dolibarr (mon cas par ex où le site tourne, mais pas encore Dolibarr) '''à tester'''
−
−
; Export d'articles Dolibarr => OSC : pour la gestion du catalogue OSC depuis Dolibarr
−
−
; Import des clients et prospects OSC => Dolibarr : pour le suivi des clients et la gestion des commandes '''à tester''' (pour les clients)
−
−
; Import des commandes OSC => Dolibarr : en vue de leur suivi dans Dolibarr '''à tester'''
−
−
; Traitement des commandes dans Dolibarr et leur mise à jour sur OSC : Il faut mettre à jour le suivi de la commande sur le site, car le client peut suivre l'état de sa commande.
−
−
== L'utilisation de ces fonctions ==
−
−
Décrire comment elles seront implémentées et comment les intégrer dans Dolibarr.
−
−
Dans l'état actuel de ma réflexion (n'hésitez pas à me donner vos avis sur la question), je considère que le site e-commerce reste autonome par rapport à Dolibarr. Dolibarr est utilisé pour récupérer des infos du site et pour alimenter le site (intervention directe de l'utilisateur). On pourrait penser aussi un système où c'est le site e-commerce qui transmet les infos (commandes, clients...) à Dolibarr qui peut les iontégrer automatiquement dans ses traitements. Peut être à étudier par la suite.
−
−
Dans la release du cvs (et dans la 2.0.1), vous avez noté la présence d'un module ''expérimental'' d'un interface avec OSC. Elle permet de récupérer des données dans une base OSC, base qui doit tourner sur le même serveur que Dolibarr, ce qui est le cas pour une installation locale mais pas forcément pour un site en production hébergé. J'ai donc pensé implémenter cette interface sous forme de web-services développés à partir de nusoap (projet libre et GPL). Les web-services seront les fournisseurs de données (format OSC), et dans Dolibarr les clients se chargeront de la transformation des données OSC en objets Dolibarr (commandes, clients..), qui seront donc gérables par Dolibarr.
−
−
== Description des webservices ==
−
−
=== Gestion des articles <code>ws_articles</code> ===
−
−
# <code>get_article($id="",$ref="")</code> : renvoie les données de l'article identifié par son id (OSC) ou sa référence
−
# <code>get_listearticles()</code> : renvoie la liste de tous les articles (sera optimisée car il peut y avoir beaucoup d'articles. Je réfléchis à un accès par catégories, fournisseurs, disponibilité.
−
−
=== gestion des clients <code>ws_customers</code> ===
−
−
# <code>get_Client($id="0")</code> : permet d'obtenir les infos pour tous les clients ($id=0) ou pour le client spécifié ($id est l'identifiant dans la base OSC)
−
−
=== gestion des commandes <code>ws_orders</code> ===
−
−
# <code>get_CAmensuel()</code> : renvoie le tableau du CA réalisé par mois pour l'année en cours.
−
# <code>get_orders($nbmax, $statut)</code> : renvoie le tableau composé de nbmax commandes du statut donné (livré, en attente, en traitement...)
−
# <code>get_lasOrderClients($id="", $name="", $limit="")</code> : renvoie les clients correspondant aux <code>$limit</code> dernières commandes (les autres paramètres ne sont pas encore utilisés).
−
# <code>get_Order($id="0")</code> renvoie les informations pour la commande d'identifiant $id (si <code>$id >0</code>), On récupère aussi bien la commande que les lignes de la commande.
−
::Si <code>$id == 0</code> : la liste de toutes les commandes est renvoyée (mais sans les lignes de commandes).
−
−
== Implémentation dans Dolibarr ==
−
−
La gestion d'une boutique osCommerce est implémentée dans le module '''osCommerce''' qui arrive avec la version cvs. Un fichier <code>ReadMe</code> pour la configuration des webservices est contenu dans le répertoire du module. La configuration par défaut pointe vers le site de test mentionné dans cette doc. Le cvs de Dolibarr fournira toutes les sources, y compris des sources des webservices à installer sur la boutique avec un petit outil de tests.
−
Avant de pouvoir la tester, il faut créer le paramétrage au moyen de l'utilitaire de paramétrage habituel de Dolibarr.
−
−
L'ancienne implémentation (module boutique) est toujours disponible (attention il y a eu des modifications !! consulter la liste de developpement du cvs).
−
−
Dans les modules externes choisissez le module osCommerce et activez-le, et vous verrez apparaître un menu '''osCommerce''' dans le menu supérieur de Dolibarr (implémenté pour le menu Eldy pour le moment seulement, faites-le dans les menus que vous utilisez).
−
−
== Fonctions dans Dolibarr ==
−
−
=== Le menu Boutique ===
−
−
[[Image:dolibarrosc_bureau.jpg|thumb|300px|right|Menu boutique]]
−
−
Il est ajouté dans le menu supérieur et vous positionne sur une page de synthèse :
−
Le menu latéral donne accès aux fonctions de gestion du site OSC : gestion des articles, des clients et des commandes. On utilise les web-services de gestion des commandes.
−
−
Y figurent :
−
−
* Le CA mensuel réalisé sur le site pendant l'année en cours : <code>get_CAmensuel()</code>
−
* Les 5 dernières commandes, leur mode de paiement leur statut : <code>get_orders()</code>
−
* Les 5 dernières commandes en attente (il faut vérifier ce qui se passe) : <code>get_orders()</code>
−
* Les 5 dernières commandes à traiter (prêtes à être expédiées donc à inclure dans Dolibarr) : <code>get_orders()</code>
−
* Les clients liés aux 5 dernières commandes : <code>get_ClientOrders()</code>
−
−
Les valeurs des paramètres utilisés dans les appels des web-services sont définis dans un fichier de configuration. Les codes de statut sont ceux utilisés sur le site OSC.
−
−
=== Le menu Produits ===
−
−
[[Image:dolibarrosc_produits.jpg|thumb|300px|right|Menu Produits]]
−
−
On arrive sur une page listant les articles du site (à affiner, car s'il y a beaucoup d'articles ...)
−
−
Possibilité d'ouvrir les détails d'un article et accès à un bouton importer qui créé un nouvel article dans la base de Dolibarr. Si l'article existe déjà (contrôle sur la référence) on met à jour l'article dans Dolibarr (pas encore fonctionnel).
−
−
Il n'y pas encore de fonction permettant l'import de tous les articles depuis OSC dans Dolibarr, il faut donc les importer un par un.
−
−
Cette fonction ne devriat servir que pour initialiser un système Dolibarr avec un site OSC. Au quotidien, il s'agira plutôt d'alimenter le site OSC avec les articles gérés dans Dolibarr (fonction pas encore réalisée).
−
−
=== Le menu clients ===
−
−
Il est construit sur le même modèle que la gestion des produits : on affiche la liste des clients du site OSC et on peut ouvrir les détails pour un client et l'importer dans la base Dolibarr (création de la fiche société)
−
−
Il n'y a pas encore de fonction d'import de tous les clients.
−
−
NB : Lors de l'import d'une commande (voir plus loin), le client est automatiquement créé s'il n'existe pas encore.
−
−
=== Le menu commandes ===
−
−
Le schéma est le même : en cliquant le menu on affiche la liste des commandes du site OSC. On peut ensuite visualiser les détails de la commande et avoir accès à l'import dans Dolibarr. Si le client de la commande n'existe pas, il est créé. Par contre, mes articles commandés doivent exister (ou avoir été importés auparavant)
−
−
'''Frais de port :'''
−
Il faut créer un service pour gèrer les frais de port (gestion des services) et renseigner la variable dans le fichier de configuration de l'interface.
−
−
Dans l'état actuel, une commande est importée et reçoit le statut "brouillon", il faut ensuite suivre les fonctions habituelles de Dolibarr pour la valider, gèrer l'expédition, le paiement...
−
−
; TODO : Ici interviendront des règles de gestion pour automatiser encore plus cette gestion dans dolibarr : contrôler la validité des commandes OSC selon le type de livraison, le moyen de paiement (ex : si payée par CB, la commande est déjà payée, si c'est en contre remboursement, elle doit être envoyée et on est payé plus tard, si elle est payée par virement, elle est en attente jusqu'à réception du paiement) et probablement d'autres auxquelles je n'ai pas encore pensé... Vos avis sont les bienvenus.
−
Pour le moment, on va tester comme cela.
−
−
== Les tests à effectuer ==
−
−
=== Installation ===
−
−
Le module est regroupé dans le répertoire osCommerce_ws de la version cvs. Il n'y a en principe rien d'autre à télécharger (merci Laurent -Eldy- de l'avoir intégré). Les mises à jour du CVS mettront aussi à jour ce module. Pour y avoir accès, activer le module '''osCommerce MS2''' ('''attention''' : en activant ce module, l'ancien module '''OS Commerce MS1''' est automatiquement désactivé, '''les 2 modules n'étant pas compatibles''').
−
−
On y trouve les diverses fonctions pour accéder au site web osCommerce. Par défaut, vous accédez au [http://www.tiaris.info/catalog site web de test] que j'ai installé. Vous pouvez utiliser une autre plateforme aussi.
−
−
Les WebServices à installer sur un site OSC chez vous sont dans un sous-répertoire de <code>osCommerce_ws/</code>. Un fichier <code>README</code> décrit leur installation et leur configuration.
−
−
; NB : A utiliser en mode test uniquement pour le moment. Tous les testeurs sont les bienvenus ! Merci de me renvoyer vos remarques et commentaires.
−
−
=== Plan de tests suggéré ===
−
−
On se retrouve donc avec deux couches à réaliser : les webservices coté OSC (le côté serveur donc) et les clients de ces webservices côté Dolibarr.
−
−
Le site où sont installés les webservices : http://www.tiaris.info/catalog
−
−
un dolibarr CVS avec accès au site ci-dessus http://www.tiaris.info/dolidemo/htdocs
−
−
Il s'agit d'un site de test, que vous pouvez utiliser sans problème (tout est fictif).
−
Pas de paiement en ligne par carte bleue, et pas d'envoi de commandes à attendre !
−
Vous pouvez créer des commandes, vous enregistrer comme client, ça fera plus réaliste pour les tests
−
Les services web : ils sont installés et les tests peuvent commencer dès que vous avez mis votre cvs à jour et activé le module osCommerce2.
−
−
Il y aura beaucoup de tests à prévoir pour valider le bon fonctionnement (en voici une première liste à affiner et à préciser au fur et à mesure).
−
−
==== Site Dolibarr (côté client) ====
−
−
Ce qui peut être testé est écrit ''en italique'' :
−
−
# La gestion des articles :
−
#* ''leur récupération depuis OSC (et leur gestion ensuite comme tout article Dolibarr)''
−
#* la création d'un article sur OSC depuis Dolibarr (suite à commande et livraison fournisseur)
−
#* ''la gestion du stock''
−
# La gestion des clients - prospects :
−
#* OSC ne distingue pas les clients (qui ont commandé) des prospects (inscrits mais sans commande)
−
#* ''récupération des clients''
−
#* récupération des prospects
−
#* ''la gestion de ces clients / prospects dans Dolibarr''
−
#* la gestion des mises à jour client
−
# La récupération des commandes
−
#*''leur intégration dans les commandes Dolibarr''
−
#*''le suivi du paiement'' (maj de la commande sur OSC à prévoir)
−
#*''le suivi de l'expédition'' (maj de la commande sur OSC à prévoir)
−
#*''l'intégration dans la gestion comptable de Dolibarr (compte bancaire, CA, frais, TVA...)''
−
−
==== Site osCommerce (côté serveur) ====
−
−
Ce qui peut être testé est écrit ''en italique'' :
−
−
# la gestion de l'accès
−
# les performances
−
# l'administration