En ce jour de sortie de la version stable de Prestashop 1.6, il n’est pas de trop de rappeler que le logiciel open source est un très bon outil pour mettre en place un site de vente en ligne. Puis vous vous rendez compte que vous avez besoin de gérer votre comptabilité, puis la gestion commerciale, ou encore la gestion de stock et la relation constante avec vos fournisseurs.  Donc vous achetez de plus en plus de modules. Les modules intégrés à Prestashop marchent relativement bien. Mais avec le rythme effréné des versions de Prestashop (j’ai compté parfois une version toutes les 6 semaines), vous n’êtes plus certain que vos modules les plus importants et les plus chers sont compatibles avec les versions les plus récentes de l’application de commerce en ligne. Les services web de Prestashop sont une solution.

Les services web sont des bouts de programme internet qui permettent la communication et l’échange de données entre applications hétérogènes. Ils permettent  à des sites (serveurs) d’exposer de manière sécurisée  des données avec ou sans un système de contrôle et de droit d’accès, sans une intervention humaine permanente. Grâce aux services web, un serveur distant peut par exemple mettre à disposition une puissance de calcul ou une capacité de stockage qu’un PC local ne dispose pas. Les applications distantes pourraient être utilisées simultanément par un grand nombre d’utilisateurs (météo, résultats de match, de paris en ligne, les horaires de trains et d’avion, l’état du trafic routier, les informations en continue,…). Il existe plusieurs types de services web comme SOAP, XML-RPC, ou REST. Nous allons nous attarder sur les services web de type REST car Prestashop propose uniquement cette option.

 

Quelques problématiques pour l’e-commerce ?

Si vous disposez déjà d’une boutique physique, vous disposez d’un stock unique que vous partagez avec votre boutique en ligne. Comment mettez-vous à jour les quantités de produits disponibles quand un client achète dans votre point de vente ? Dans cet exemple,  vous aimeriez synchroniser votre logiciel de caisse avec votre boutique en ligne.

Si vous disposez déjà d’une application de mailing et de gestion commerciale, vous n’allez pas acheter un nouveau module de newsletters spécialement pour Prestashop. Dans ce cas, vous aimeriez par exemple accéder automatiquement à la liste des nouveaux clients, aux dernières commandes, ou même, la liste des catégories ou la liste des produits sans les dupliquer. Les services web sont une réponse possible.

Les services web de Prestashop offrent donc un moyen de connecter votre site de vente à tous les autres logiciels qui ne sont pas liés à la vente mais qui font partie de vos processus d’entreprise comme les logiciels de gestion commerciale, de comptabilité, ERP, sites de fournisseurs, de fabricants et autres.

Comment activer les services web avec Prestashop 1.6

Contrairement aux versions précédentes, la réécriture des liens est maintenant activée par défaut. Pour activer les services web, il vous faut naviguer dans votre back office:
Paramètres avancés > Services web (dernière option)

Prestashop 1.6

Prestashop 1.6

Il suffit ensuite de générer une clé et d’y associer des permissions sur les ressources.

Prestashop 1.6 - services web generations de clef

 

Puis cochez les cases qui correspondent aux données que vous voulez rendre disponibles comme les clients, les commandes, les fournisseurs, les produits, des fabricants, etc.

Prestashop 1.6 - liste les services web

Prestashop 1.6 – liste les services web

 Avertissement
Pour des raisons de sécurité évidentes, il ne faudrait pas partager cette clé avec un grand nombre d’intervenants. Toute personne disposant de cette information peut accéder à vos données d’entreprise. De plus, nous vous conseillons de crypter les transferts par services web en activant le protocole HTTPS.

 

Applications

Nous avons développé un client service web pour Microsoft Excel en 2012. Figurez-vous que le fichier reste fonctionnel pour Prestashop 1.6 sans que nous ayons changé la moindre ligne de code. Il restera fonctionnel tant que l’éditeur de logiciel ne changera pas fondamentalement la structure de données, ni le format d’échange! Connaissez-vous beaucoup de modules PHP qui pourraient en dire autant? Si oui, faites-le savoir!
Pour en savoir plus, nous vous conseillons de lire notre article https://www.onasus.com/2012/09/3194/prestashop-web-services-integres-avec-excel/

Améliorations possibles

Quelques experts e-commerce précisent que Prestashop est l’application Open source la plus avancée en termes de service web. Il ne suffit pas d’être le premier, il faudrait être le meilleur. Avec notre expérience dans ce domaine, nous affirmons que les services web sont loin d’être complets et industrialisables avec des gros systèmes. Il serait par exemple bien pratique de disposer de la méthode PATCH (partial Update). Actuellement pour mettre à jour une ressource (un produit par exemple), il faut soumettre une ressource complète. La mise en place de PATCH permettrait de ne changer qu’une propriété et sauverait un peu de bande passante. Imaginez le gain de performance pour des milliers d’enregistrement. De l’autre côté, il manque un véritable système de notification.

Si vous disposez de 100 produits, comment notifier les utilisateurs que 2 ou 3 produits ont été modifiés? A ce jour, je ne vois pas tellement, à moins de les vérifier un à un! Et pour finir, attardons nous un peu sur le format disponible. La représentation des données en XML est plutôt classique. De plus en plus de fournisseurs de services web misent sur le format JSON (javascript Object Notation). D’une part, JSON est plus accessible pour les humains. D’autre part la représentation est plus simple, consomme moins de bande passante et est plus facile à sérialiser/de-sérialiser.  Pour le moment, Prestashop reste rigide en ne publiant que du XML.

Pour finir

Vous utilisez les services web tous les jours auprès des grandes entreprises comme Facebook, Yahoo, twitter, LinkedIn, etc. Si vous n’avez jamais activé ou utilisé les services, vous avez l’opportunité de faire pareil avec votre boutique et de vous inscrire dans la durée. Nos applications services web autour de Prestashop traversent les versions 1.4, 1.5 ou 1.6 sans prendre la moindre ride  et sans maintenance particulière. Elles vous évitent de surcharger votre back office tout en assurant la disponibilité de vos extensions Prestashop .
Si vous avez des besoins d’intégration particuliers, faites comme de nombreux marchands, confiez-nous vos projets. N’hésitez pas à nous laisser un message sur notre page de contact https://www.onasus.com/contact-page/. Dans notre prochain article, nous parlerons de notre dernier projet d’intégration de Prestashop avec Microsoft ACCESS (base de données SQL) sur la base des services web.