Web-Wave Posted July 9, 2014 Share Posted July 9, 2014 Bonjour tout le monde, Je viens vers vous concernant le WebService de Prestashop. Le contexte On me demande de créer une passerelle prestashop, non sous XML mais en programmation orientée objet. J'ai commencé à rechercher des informations mais je ne tombe que sur des tutos sur du REST ou CRUD. Si je comprends bien c'est fais avec du XML ? (Pouvez vous me le confirmer ?) Sources : http://doc.prestashop.com/display/PS14/Tutoriel+Webservice+REST Je recherche donc un tuto ou une documentation pour utiliser les classes de prestashop. Si quelqu'un à des infos ou des brides de tuto, n'hésitez pas, je prends tout. Cordialement, Dark-Serum Link to comment Share on other sites More sharing options...
J. Danse Posted July 9, 2014 Share Posted July 9, 2014 Bonjour, Je vous confirme que la réception des données (d'ailleurs, l'envoi également) se fait via XML seulement. Des éléments de réponses se trouvent dans les classes du WebService quant à la sortie en JSON, par exemple, mais ce n'est pas implémenté. Tout dépend du contexte global et comme se déroule le processus, mais il est possible pour votre application de concevoir un interpréteur entre votre XML et l'objet. Ceci permettant par exemple de récupérer les données souhaitées en XML et puis de traiter cela via un objet. Ou bien, finalement, d'avoir une classe de type Product et que, au moment de la soumission au WebSevice, vous utilisez un "build" XML. Tout dépend donc un peu votre point de départ, votre point d'arrivée et l'outil de liaison utilisé entre les deux, je dirais. Link to comment Share on other sites More sharing options...
Web-Wave Posted July 9, 2014 Author Share Posted July 9, 2014 (edited) C'est bien ce que je pensais ... Alors pourquoi me direz vous je recherche cela ? Eh bien la personne qui gère le prestashop avec une passerelle en XML trouve que cela est trop long et gourmand et pense que l'on gagnerait en vitesse et performance en utilisant la programmation orienté objet. Donc ce que je pourrais faire si je vous suis : - Récupérer en XML les infos. - Les placer dans des objets.- Les uploader avec du xml. Du coup je rallonge ma chaine originale si je place l'objet entre les deux nan ??? Pardon pour les questions idiotes mais ça serait plus idiot de ne pas les poser. Merci encore de vos réponses. Edited July 9, 2014 by DarkSerum (see edit history) Link to comment Share on other sites More sharing options...
J. Danse Posted July 9, 2014 Share Posted July 9, 2014 Aucunes questions idiotes, au contraire. Oui. D'autant que si on utilise un script PHP externe, on peut tout à fait récupérer le flux XML de l'entité souhaité (par exemple Product, Category, ...) et le convertir assez simplement en objet (XMLQuelqueChose). En C#, par exemple, j'ai pris soin de faire un cache pour chaque objet récupéré (attention, je ne fais que de la lecture et c'est donc tout naturel et sans problèmes pour autant, actuellement). Après, selon la nature du script et l'idée souhaitée, il est possible également d'avoir un module maison qui réalise le traitement. Mais c'est au cas par cas, je pense. Link to comment Share on other sites More sharing options...
Web-Wave Posted July 9, 2014 Author Share Posted July 9, 2014 D'accord, je peux récupérer le xml avec du webservice et le rapatrier sur un module perso qui le converti en objet pour l'insérer en base.Le principe de la passerelle est de récupérer des informations d'un fichier txt ou csv (envoyé sur le ftp tous les deux jours) pour les insérer dans le prestashop (insertion de produits catégories ou mises à jour de celles ci). Link to comment Share on other sites More sharing options...
J. Danse Posted July 9, 2014 Share Posted July 9, 2014 Dans ce cas, et si c'est particulier à la boutique en place (ou utilisé couramment ainsi), je propose de pencher sur l'idée d'un module propre à la boutique. Un contrôleur en Front Office (sécurisé via un éventuel paramètre) serait appelé par tâche cron tout les x temps. C'est finalement ce dernier qui récupérerait le fichier et qui le traiterait. Cette manière d'agir permet notamment un traitement en objet via les classes directes de PrestaShop. Je ne sais pas si ça collerait à votre besoin, mais c'est une piste. Link to comment Share on other sites More sharing options...
Web-Wave Posted July 9, 2014 Author Share Posted July 9, 2014 Oui c'est même peut être plus intéressant un module, car on risque de reproduire ce développement pour d'autre site.Mais une passerelle reste une passerelle, on aura un bout de code à ajuster. Et je viens de penser : une passerelle (en override de classes), c'est possible de la rendre plus général pour d'autre site ? Link to comment Share on other sites More sharing options...
J. Danse Posted July 9, 2014 Share Posted July 9, 2014 Il est tout à fait possible de faire des surcharges et de les embarquer dans un module pour qu'elles soient installées lors de l'installation du module, oui, Link to comment Share on other sites More sharing options...
Vinum Posted July 10, 2014 Share Posted July 10, 2014 Bonjour, Vu que vous n'utilisez apparemment le web service que pour insérer les données en base, pourquoi vouloir utiliser le web service ? A partir du moment ou vous avez récupéré les données depuis votre csv, vous créez votre objet à partir des classes natives de prestashop pour l'insertion ou la modification en base. Link to comment Share on other sites More sharing options...
Web-Wave Posted July 10, 2014 Author Share Posted July 10, 2014 Bonjour, Pourquoi vouloir utiliser le webservice ? Eh bien je pensais que l'objet était possible avec le webservice, ensuite c'est une passerelle qui tournera chaque nuit ... Donc il y aura un import automatique toutes les nuits. Si un fichier personnalisé permet de faire ce qu'un webservice (xml) mais en objet alors pourquoi pas Je viens de regarder de plus près cette solution, il faut seulement inclure le fichier config/config.inc.php pour réutiliser les classes de prestashop ? Avez vous une doc sur les différentes classes de prestashop 1.6 ? Merci encore de vos réponses et de votre aide. Link to comment Share on other sites More sharing options...
Vinum Posted July 10, 2014 Share Posted July 10, 2014 Je ne sais pas si une doc spécifique aux classes existe. Les classes d'objet sont dans le répertoire classes/ Le guide du développeur est ici: http://doc.prestashop.com/pages/viewpage.action?pageId=15171588 Link to comment Share on other sites More sharing options...
Web-Wave Posted July 11, 2014 Author Share Posted July 11, 2014 Merci j'avais recherché déjà dans cette doc. Mais il n'y a pas réellement de doc qui décrit les classes, je vais fouiner dans les fichiers du dossier classes.Merci à tous. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now