Un CRM, ou GRC (gestion de la relation client), est un outil qui permet de traiter, d’analyser les informations relatives aux clients sous forme d’application ou de logiciel.
C’est lors de mon stage de troisième année ainsi que mes deux ans d’alternances en école d’ingénierie informatique (IN’TECH Sud), à l’entreprise Natura Plus Ultra Pet Food (entreprise de vente de croquettes pour chien/chat sur internet), où j’ai pu arriver en cours de développement d’un CRM sous forme d’application Web, environ 6 mois après son commencement.
C’est avec le responsable technique de la boîte, Nicolas VERLHIAC, que j’ai pu rejoindre ce projet au mois de février 2018. Nous étions deux sur ce projet jusqu’au mois de novembre 2019 où j’ai dû reprendre le développement intégral ainsi que le suivi complet du projet au sein de l’entreprise.
Nous fonctionnons en méthode agile avec ce projet avec l’aide d’outils comme Trello qui nous permettait d’avoir une vision sur les tâches à faire, en cours ou terminées. Cela permettait également aux différents services de l’entreprise, notamment le service client ou marketing d’avoir eux aussi un suivi de leurs demandes sur le CRM. Ils pouvaient également créer de nouvelle demande depuis ce tableau de projet afin que l’on puisse les traiter.
Le CRM m'a permis de travailler avec pratiquement tous les services de l'entreprise, puisque chaque service avait des besoins spécifiques, et ainsi améliorer mes compétences transverses, que ce soit dans le relationnel, la rigueur ou encore apprendre à écouter les demandes de "client".
De plus, un GIT était à disposition afin d’effectuer des mises en production sur le serveur mais également d’avoir la possibilité de revenir à des versions antérieures, si besoin. Au niveau de la mise en production, nous avions mis en place un script de déploiement Capistrano afin de déployer nos mises à jour.
Le projet était développé avec du PHP et notamment du JavaScript afin d’effectuer des requêtes AJAX mais également de gérer certaines fonctionnalités clientes.
J’ai rédigé une documentation technique grâce à Docsify, regroupant toutes les fonctionnalités du CRM mais également la description de la structure de la BDD et un tutoriel de déploiement pour installer l’outil sur un serveur (hébergement, git, mise en prod, …).
Grâce à ce projet j’ai pu grandement améliorer mes compétences du langage SQL. J’avais beaucoup de demandes d’extraction de données sur les différentes bases de données et nous avions donc décidé de développer une fonctionnalité permettant aux utilisateurs d’exporter des données depuis une page du CRM selon certains critères.
Comment fonctionne cette page ? Un administrateur avait la possibilité d’ajouter un « Export SQL », comme on les appelait, avec comme informations :
Une fois cet « Export SQL » ajouté, tous les utilisateurs (selon leur rôle définit sur le CRM), pouvait exporter les données, qui étaient donc mis à jour à chaque export.
Je porte une attention à cette fonctionnalité car j’ai pu avoir certaines demandes d’extraction avec des critères plutôt complexes ce qui m’a amené à explorer tous les secrets de ce langage !
Finalement, le projet a été abandonné au fur et à mesure, à la suite d’une décision de la direction puisqu’ils voulaient se tourner vers une solution plus « industrielle » à savoir Salesforce.
C’est mon premier « grand » projet puisque j’ai pu travailler dessus pendant plus de 2 ans et c’est ce projet qui m’a permis de mettre en application mes connaissances techniques mais également de les améliorer grandement.
Voici une liste raccourcie des fonctionnalités que j’ai pu traiter lors du développement du CRM :
Certaines fonctionnalités du CRM étaient directement liées à la base de données de Prestashop, une application web permettant la création de site e-commerce (application utilisée par l'entreprise pour sa boutique en ligne). Cela m'a permis de découvrir cet outil qui est, une grande usine à gaz. Cela pourra m'être utile si jamais je rencontre cette application dans mes futurs projets.
Au total, j’ai dû travailler sur plus de 70 fonctionnalités différentes sur ce projet.