Etude de Cas : Création de 2 outils sur-mesure pour un client.

Si vous voulez entrevoir la complexité de ce qui se peut se cacher derrière à la fois de l'automatisation et du développement sur-mesure, voici une étude de cas basée sur la création de 2 outils sur-mesure que j'ai développés de A à Z pour le site rrcstore.fr.

Le besoin & la difficulté majeure :

Le besoin tient en une phrase : Créer un site e-commerce pour vendre la totalité des pièces détachées Lotus d'origine, synchronisé sur la base de données Lotus qui évolue chaque mois.

La difficulté majeure est simple : Il n'existe pas de base de données digitale de ces pièces détachées. Seule une quinzaine de PDF de 200-400 pages contenant la liste des plus de 46000 pièces détachées est fournie par Lotus. Envisager une mise à jour mensuelle à la main est impossible ! 

Le projet était fait de 2 phases : Recréer la base de données en version digitale, et créer un site web facile à mettre à jour et avec un module de recherche efficace parmi les milliers de pièces détachées.

Phase I : Créer et gérer la base de données.

Le besoin du client était très spécifique, et le développement qui en découle est donc unique sur le marché. Il a été réalisé en partant de zéro et en utilisant au maximum le savoir du client.

→ Lire des PDF... pas toujours aussi lisibles que prévu !

La base de travail est donc faite d'une quinzaine de PDF se ressemblant beaucoup mais pas parfaitement identiques, dont la majorité des pages contient du texte directement lisible mais dont certaines, pourtant visuellement identiques, sont en réalité des images (desquelles il faudra tirer le texte). Quand on chercher à automatiser un processus, c'est exactement ce genre d'exceptions qui rend les choses plus complexes.

En regardant de loin, c'est simple :

 Il « suffit » de lire les pdf et de ranger les infos ! En fait, le problème est plus complexe :

  • Il fallait recréer la table des matières de chaque PDF car celle contenue dans le PDF était souvent erronée,
  • Il fallait détecter le type de chaque page : était-ce un diagramme qu'il faut sortir en tant qu'image, ou une liste de pièces détachées classiques (car il y en a des spéciales), ou l'historique des modèles, ou...
  • Il fallait faire de l'OCR (Reconnaissance Optique des Caractères) sur les pages qui n'étaient pas directement lisibles pour en déduire les informations textuelles,
  • Il fallait mettre en place tout un tas de tests pour relever les possibles erreurs de logique ou de doublons dans les PDF

Et les prix dans tout ça ?

Les prix étaient eux dans un fichier Excel, plus simple à lire, et pour créer la base de données, il a fallu faire le lien entre les données des PDFs et celles des prix.

Même si je vous passe la plupart des « détails », il faut comprendre que c'est sur ces « détails » que l'on passe le plus de temps !

Au final, j'ai donc réussi à obtenir une base de données de plus de 46000 pièces détachées Lotus avec toutes les infos qui vont bien pour chacune d'entre elles.

→ Limiter les interactions manuelles au maximum.

La question de savoir comment gérer les cas particuliers, ou les exceptions, se pose toujours. Ma philosophie est de chercher à les régler automatiquement le plus souvent possible. Mais il reste toujours des choses que seul un humain avec un savoir peut régler.

Dans ce cas précis, j'ai réussi à limiter l'interaction à une étape de vérification des avertissements relevés à la lecture des PDFs. Je les ai réunis dans un fichier Excel et j'ai donné la possibilité au client de corriger ces potentiels problèmes.

S'il voit que c'est juste une coquille, il remplace par la bonne valeur qui sera utilisée sur le moment et à l'avenir (car on ne veut pas refaire les mêmes corrections tous les mois) !

→ Mettre à jour intelligemment.

Ensuite il fallait gérer la mise à jour, et ce n'est jamais vraiment simple. Est-ce qu'une donnée du produit a évolué ? Est-ce qu'un produit est apparu ou a disparu ? Est-ce que la différence est une coquille ou une vraie différence ?

Bref, la mise à jour de la base de données se fait automatiquement à partir des nouveaux documents fournis mensuellement par Lotus par comparaison à la base de données existante.

Et au final, on a obtenu la seule base de données digitale à jour au monde de l'ensemble des pièces détachées de la marque Lotus ! Et ça, ça fait plaisir.

Phase II : Créer le site e-commerce et le module de recherche spécifique.

Tout ça c'est bien, mais sans site internet bien pensé pour les vendre, ça ne sert pas à grand chose. Voici donc la deuxième partie du travail :

→ Créer un site e-commerce simple, moderne et rapide.

Pour éviter de payer un forfait tous les mois (et parce que c'est totalement possible !) nous sommes partis sur le combo WordPress + WooCommerce en utilisant le thème de référence Astra (tout est gratuit ici). Comme vous pouvez le voir ici c'est sobre et rapide.

Il a fallu travailler un peu pour importer les quelques 46000 produits mais j'ai tenu à le faire via l'importateur de WooCommerce pour fiabiliser au maximum les mises à jour. Tout a donc été pensé pour cela, et au final cela rend les mises à jour bien plus simples.

→ Le module de recherche ? Du sur-mesure bien sûr !

Quand un client recherche des pièces détachées, il sait ce qu'il veut et il a une façon bien précise de les chercher... Et ce n'était pas une recherche classique au sens des sites e-commerce.

J'ai donc développé un module de recherche entièrement sur-mesure pour simplifier la vie des clients de mon client ! Ca donne ça (cliquez)

Ce module de recherche a été développé spécifiquement pour WordPress et en me basant entièrement sur le savoir de mon client, de manière à satisfaire au plus près les besoins des siens. Là encore, la simplicité et l'efficacité ont été mises en avant.

→ Pour les besoins spécifiques ? Du sur-mesure aussi !

Il n'y avait pas que la recherche de pièces qui faisait partie des besoins spécifiques. Il y avait entre autres :

  • Les prix affichés devaient dépendre du type de client qu'il fallait eux-mêmes rajouter à WordPress,
  • Le système de paiement de WooCommerce devait être court-circuité pour être remplacé par un système de devis,
  • Il a fallu rajouter des modes de paiements, créer des assistants de boutique avec des droits spécifiques...

Bref, pour tout cela on pouvait soit utiliser des dizaines d'extensions externes bourrées de fonctionnalités inutiles, soit développer des outils sur-mesureOn a bien entendu choisi la deuxième option car c'est de loin la plus robuste et efficace !

Sécurité, maintenance et évolution :

Tout cela a été mis en place en assurant sécurité (protection contre les attaques, sauvegardes,…) et robustesse (minimisation du nombre d’extensions) pour limiter au maximum les problèmes futurs.

Et tout le développement a été fait en pensant long-terme, ce qui implique que le code est prêt à évoluer facilement et rapidement pour s'adapter à l'évolution des outils de base (WordPress, WooCommerce) et à celle des fichiers Lotus.

Au final, c'est le seul site internet au monde à proposer l’ensemble des pièces détachées Lotus avec une base de données entièrement à jour. Et ça, c'est parfait =D !

Au plaisir de vous aider à réaliser votre projet unique,

Steven Diot - Développeur de Logiciels Sur-Mesure et Spécialiste de l'Automatisation

Vous aussi avez besoin d'Outils Sur-Mesure ?

« Envier le bonheur d'autrui, c'est folie. On ne saurait pas s'en servir. Le bonheur ne se veut pas tout fait, mais sur mesure. »
- André Gide -

>