OCX

25 janvier

Présentation

OCX est un outil interne à l’entreprise In Extenso (experts comptables). Il leur permet de gérer des affaires clients à la manière d’un grand tableur partagé. Ce projet initialement destiné à la région Centre-Ouest de la France a rapidement évolué pour gérer la totalité du pays en s’interfaçant avec une API fournie par In Extenso et une système de connexion par jeton interne.

Environnement de travail

Comme à notre habitude, nous travaillons avec :

  • Un serveur Git pour gérer notre code source ;
  • Un Redmine pour gérer les tickets avec le client.

Nous avons choisi d’utiliser Laravel et Bootstrap pour réaliser ce projet.

Points techniques

Intégration des API

In Extenso dispose de plusieurs web services permettant de récupérer la liste des collaborateurs, des clients, des agences, etc. Le volume des données est très important et il n’est pas imaginable de faire des imports complets tous les jours. Nous avons profité de la flexibilité de Laravel (et notamment de ses queues) pour planifier deux types de mises à jour : des partielles quotidiennement et des complètes hebdomadairement, le week-end.

Les web services permettent de récupérer au format JSON les données, qui sont tout simplement décodées de notre côté avant d’être insérées dans la base de données.

Connexion utilisateur

In Extenso est habitué à travailler avec des tiers et offre le moyen d’identifier ses utilisateurs sans transmettre de données personnelles comme les mots de passes. Tout se passe via un jeton de connexion temporaire, comme le montre le schéma suivant :

Schéma OCX
Schéma OCX

Chez KERNL, nous avons donc simplement un serveur web qui reçoit des jetons de connexion. Grâce à une clé qui nous a été fourni, nous sommes capables de décoder le jeton, de vérifier sa validité et d’identifier l’utilisateur qui veut utiliser la plate-forme. Ensuite, les grades de l’utilisateur sont chargés et les diverses fonctionnalités de notre applications sont ajustées en fonction.