Bienvenue sur : Code Against the Clock :!" – la série de blogs dans laquelle je transforme les tâches banales en merveilles rationalisées et permettant de gagner du temps. Aujourd'hui, je suis ravi de partager un projet dans lequel j'ai transformé une tâche manuelle répétitive en une centrale automatisée. Prêt à découvrir comment vous pouvez gagner du temps et ajouter une touche d’enthousiasme à votre flux de travail ? Allons-y !
Comme beaucoup d'entre vous le savent, je travaille en tant que développeur full-stack dans une startup. Nous utilisons Keka pour gérer la présence des employés, ce qui nécessite de pointer manuellement l'entrée et la sortie chaque jour à l'entrée et à la sortie du bureau. Le problème ? Parfois, j'oublie de pointer à l'arrivée ou au départ, ce qui fait que ma présence est marquée comme non présente. Cela signifie que je dois créer un ticket dans Keka pour le corriger – une tâche fastidieuse que je souhaitais automatiser.
Au départ, je cherchais une API fournie par Keka à cet effet, mais malheureusement, ils n'en proposent pas. Aucun problème! En tant que développeur, j'ai relevé le défi de résoudre ce problème moi-même. J’ai commencé par analyser le site de Keka pour comprendre son fonctionnement. À l’aide de l’onglet réseau dans les outils de développement de mon navigateur, j’ai identifié le point de terminaison déclenché lors du pointage d’entrée et de sortie.
J'ai écrit un simple script Node.js utilisant fetch pour faire des requêtes avec un jeton Bearer dans l'en-tête, et cela a fonctionné. Cependant, il y avait un hic : le jeton Bearer expirait quotidiennement. J'ai découvert que le site Web conservait le jeton d'actualisation dans le stockage local, qui était utilisé pour obtenir un nouveau jeton Bearer lorsque l'ancien expirait.
Après avoir adapté mon script pour gérer cela, j'ai été confronté à quelques défis supplémentaires :
Pour résoudre ces problèmes, j'ai imaginé les solutions suivantes :
[CRON Job (Every 15 minutes)] ---> [Node.js Script] \-------> [Check Time] ---> [Clock In/Out] \-------> [Notify (Slack)]
Une fois que tout était en place, j'ai programmé une tâche cron pour exécuter mon script toutes les 15 minutes. Cette configuration a fonctionné parfaitement pendant un an, automatisant efficacement ma gestion des présences.
Après un an, j'ai décidé d'améliorer la solution en convertissant le script en extension Chrome. Cela a facilité le partage avec les collègues. Voici comment fonctionne l'extension :
[CRON Job (Every 15 minutes)] ---> [Node.js Script] \-------> [Check Time] ---> [Clock In/Out] \-------> [Notify (Slack)]
Cette approche simplifiée a rendu la gestion de ma présence encore plus facile !
Remarque : Si le code source vous intéresse, n'hésitez pas à me contacter !
Avez-vous déjà automatisé une tâche à l’aide de code ? Partagez vos expériences et conseils dans les commentaires ci-dessous ! Quelles tâches souhaiteriez-vous pouvoir automatiser ? Discutons-en !
Merci de m'avoir rejoint dans ce voyage d'automatisation. N'oubliez pas de vous abonner à mon blog pour plus de conseils et de mises à jour. Bon codage !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!