Makina Blog

Le blog Makina-corpus

EasyERP, la saisie de tâches "maison"


Ou comment résoudre vos problèmes par vous-même

Cet article fait partie de notre calendrier de l'Avent 2014 dans lequel on vous a parlé de nos Makina Days, EasyERP a été créé dans le cadre de ces jours spéciaux.

Le problème

Même si chez Makina, nous sommes tous plus ou moins experts en open-source, nous ne pouvons maitriser la totalité des outils open-source existant dans l'ecosystème libre. Or, pour la saisie de tâches et le pointage, nous reposons sur OpenERP, outil libre pour la gestion de ressources en entreprise.

Cet outil est complet, et cela va de pair avec "complexe", voici par exemple la méthode pour aller pointer sur une tâche :

  1. Se connecter
  2. Aller dans les projets
  3. Editer la tâche
  4. Ajouter un enregistrement
  5. Saisir cet enregistrement

5 actions, pour la saisie d'une tâche, en soi, c'est pas si compliqué. Là où ça se corse, c'est lorsque l'on pointe plusieurs fois dans un seule journée sur des tâches différentes, il faut alors répéter depuis l'étape 2 pour autant de tâches que nécessaire.

Pour le pointage de congé, on a recensé à peu près les mêmes étapes, sauf qu'il faut créer une entrée par jour de congé et de même pour les (mauvais) employés qui pointent tout en fin de mois seulement, cette procédure peut donc prendre jusqu'à une demi-heure pour tout le mois, un calvaire donc.

D'autre part, il n'y a aucun moyen simple d'avoir une vue globale de nos pointages sur le mois entier à part celle-ci :

La solution

L'idée ici n'est pas de critiquer OpenERP, je suis sûr que des experts sauraient configurer l'outil pour améliorer l'utilisation au quotidien, via des raccourcis ou autres. Au contraire, OpenERP fournit une très bonne API en XML-RPC afin de le contrôler d'une autre application. Hors, des applications, on sait faire ! Nous avons donc choisi de créer un service pour pointer avec Django, qui faciliterait l'utilisation et la visualisation des pointages, avec en prime une possibilité de pointer sur son mobile.

L'application se base sur la bibliothèque oerplib pour dialoguer avec le back-office/arrière-guichet d'OpenERP, et présenter les données en front via Bootstrap et quelques plugins pour la saisie et l'affichage : daterangepicker, calendar, select2.

La visualisation

La visualisation se fait sous forme de calendrier, avec pour chaque jour, un carré vert si le jour est pointé totalement, rond jaune s'il est incomplet, un résumé de ce qui reste à pointer en bas à gauche, la possibilité de faire défiler les mois.

Le clic sur un jour affiche le détail des tâches pointées ce jour :

La saisie

La saisie peut se faire directement via une popup en cliquant sur un jour vide ou incomplet :

Ou bien via une page dédiée, permettant la saisie sur des périodes, idéal pour les congés, les régies et les formations :

Conclusion

En déportant cette fonctionnalité dans notre propre application, cela nous permet d'avoir le contrôle total de notre expérience utilisateur et coller à nos besoins les plus spécifiques.

Ce projet a donné naissance à de nombreuses idées notamment pour nos administrateurs qui peuvent à présent visualiser des rapports détaillés sur la performance et le statut de l'entreprise.

Les API, c'est la vie.

Actualités en lien

Image
Django PostgreSQL
07/11/2023

Utiliser des fonctions PostgreSQL dans des contraintes Django

Cet article vous présente comment utiliser les fonctions et les check constraints PostgreSQL en tant que contrainte sur vos modèles Django.

Voir l'article
Image
Encart Django
06/11/2023

Comment migrer vers une version récente de Django ?

Que ce soit pour avoir les dernières fonctionnalités ou les correctifs de sécurité, rester sur une version récente de Django est important pour la pérennité de son projet.

Voir l'article
Image
Agrégateur Geotrek
08/06/2023

Le projet Agrégateur : fusionner des bases de données Geotrek

Le partage et la diffusion des données font partie des problématiques historiques au cœur du projet Geotrek.

Voir l'article

Inscription à la newsletter

Nous vous avons convaincus