L'expression du besoin
La gestion des appels d'offres passait jusque là par mail, plutôt que d'opter pour une solution propriétaire onéreuse et complexe, RCI Bank and Services a choisi de faire développer une plateforme simple et sur mesure.
Page d'accueil du profil acheteur
La plateforme devait être en mesure de :
- Gérer 4 profils d'utilisateurs différents (acheteur, client interne, fournisseur, administrateur)
- Permettre la création d'appels d'offres, d'offres et une gestion des documents relatifs
- Gérer les questions-réponses et les différents statuts d'une offre
- D'offrir un système de notification pour suivre l'évolution des appels d'offres
- Proposer un aspect monitorage des données sur les appels d'offres
- Générer des comptes rendus et résumés des appels d'offres
- Fournir un forum d'échange pour les différents pays
- Accepter une authentification via le SSO de Renault
L'hébergement
La plateforme est hébergée sur des serveurs DigitalOcean, les fichiers sont stockés sur Amazon AWS S3, et la base de données est une instance Amazon AWS RDS.
Le stockage des fichiers sur S3 permet d'optimiser les coûts et d'éviter tout problème de stockage en cas d'utilisation intensive de l'outil. La base de données étant sur son propre serveur, cela permettra de la faire évoluer sans avoir à toucher à l'espace applicatif.
Schéma des serveurs
L'administration
Django permet de proposer facilement un espace d'administration pour les différents aspects de l'application. L'administrateur n'est plus obligé d'accéder manuellement à la base de données pour changer les objets.
Interface d'administration
Adaptation de la maquette
J'ai dû parfois adapter la maquette fournie pour répondre aux réalités du besoin exprimé. Certains aspects n'avaient aussi pas été pensés et j'ai dû suivre la trame esthétique fournie pour proposer de nouveaux éléments.
Maquette de la page détail d'un appel d'offres
Version finale et adaptée de la même page
Les choix techniques
J'ai dû réaliser une web-app, accessible depuis internet. Il devait en effet être possible pour les fournisseurs des différentes entreprises de se connecter à la plateforme pour poser leurs offres.
Côté client, j'ai choisi d'utiliser le framework Vue.js avec lequel j'ai une bonne expérience ainsi que les technologies classiques, HTML, CSS.
Côté serveur, j'ai utilisé le framework Django en Python 3. Que ce soit pour l'administration ou le développement pour l'API. Python est sans aucun doute mon langage de programmation favori et je ne manque jamais l'occasion de travailler avec quand j'ai le choix. La base de données est une instance Postgres.
Utilisation
Le logiciel a été développé en anglais et doit être utilisé dans différents pays. Chaque acheteur a ainsi un pays et peut uniquement voir les appels d'offres postés dans son pays. Il est utilisé en production depuis novembre 2019 et les retours se feront au fur et à mesure sur l'année 2020.
Page de login