Suivi temps de travail avec Google Agenda : Guide complet

Dans un monde où chaque seconde compte, l’optimisation du temps est cruciale pour atteindre une productivité maximale.

Cet article se plonge dans une expérience personnelle : comment, en partant de l’usage de « TimeSheet« , un add-on disponible sur la marketplace, j’ai pu re-créer un outil similaire baptisé « Générateur de Rapport de Temps ».

Ce processus a transformé Google Agenda™ en une plateforme avancée de suivi du temps, allant bien au-delà de la simple organisation de réunions.

Je vous guiderai à travers quelques étapes de développement, expliquant le code qui sous-tend cette réinvention. L’objectif ? Montrer comment Google Agenda™ peut devenir un outil central pour le suivi du temps de travail sur différents projets, se révélant ainsi inestimable pour les freelances et les entreprises en quête d’efficacité.

Explication du produit

Le « Générateur de Rapport de Temps » est une solution innovante conçue pour transformer Google Agenda™ en un système de suivi du temps de travail sophistiqué. En s’inspirant de l’add-on « TimeSheet », cet outil vise à simplifier et à automatiser la manière dont les freelances et les entreprises peuvent suivre le temps passé sur différents projets.

Fonctionnalités clés

  • Intégration avec Google Agenda™ : Toutes les entrées de temps via un chronomètre sont enregistrées directement dans votre agenda, permettant une vue d’ensemble claire de vos projets et de votre emploi du temps.
  • Suivi facilité : Grâce à des tags et des descriptions, chaque tâche est clairement définie, facilitant l’analyse et la répartition du temps par projet.
  • Rapports personnalisables : Avec l’intégration de Google Sheets™, générer des rapports détaillés devient un jeu d’enfant, permettant une analyse profonde de la productivité et de l’allocation du temps.

Avantages

  • Simplicité d’utilisation : L’outil est conçu pour être intuitif, éliminant la nécessité d’une formation complexe.
  • Automatisation : Réduit le risque d’erreurs et d’omissions, assurant que chaque minute travaillée est correctement documentée.
  • Flexibilité : S’adapte à divers besoins et secteurs d’activité, offrant une solution de suivi du temps polyvalente.

Captures d’écran

Présentation du code développé

Pour recréer le « Générateur de Rapport de Temps », j’ai développé une série de scripts Google Apps Script, tirant parti des API de Google Agenda™ et Google Sheets™ pour créer une expérience de suivi du temps fluide et intégrée.

Exemples de codes

Création du menu Add-on

function onOpen(e) {
  const ui = SpreadsheetApp.getUi();
  ui.createAddonMenu()
    .addItem('Créer un rapport', 'afficherBarreCreation')
    .addItem('Lancer le chronomètre', 'afficherTimerSidebar')     
    .addItem('Afficher les instructions', 'afficherInstructionsBarreLaterale') 
    .addSeparator()
    .addItem('A propos', 'afficherInfosDeveloppeur')
    .addToUi();
}

Ce script illustre l’ajout d’un menu personnalisé dans Google Sheets, facilitant l’accès aux fonctionnalités principales de l’outil.

Affichage et gestion des barres latérales

Barre de création de rapport

function afficherBarreCreation() {
  try {
    const html = HtmlService.createHtmlOutputFromFile('BarreCreation')
      .setTitle('Générateur de rapport de temps')
      .setWidth(350);
    SpreadsheetApp.getUi().showSidebar(html);
  } catch (erreur) {
    Logger.log("Erreur lors de l'affichage de la barre latérale : " + erreur.toString());
  }
}

Chronomètre et enregistrement des tâches

function afficherTimerSidebar() {
  const html = HtmlService.createHtmlOutputFromFile('TimerBarreLaterale')
    .setTitle('Enregistrement des tâches')
    .setWidth(300);
  SpreadsheetApp.getUi().showSidebar(html);
}

Création d’événements dans l’agenda

function creerEvenementDansAgenda(agendaId, projectName, taskDescription, startTime, endTime) {
  try {
    const calendar = CalendarApp.getCalendarById(agendaId);
    const eventTitle = `#${projectName}${taskDescription ? " " + taskDescription : ""}`;
    calendar.createEvent(eventTitle, new Date(startTime), new Date(endTime));
  } catch (e) {
    console.error(`Erreur lors de la création de l'événement : ${e.toString()}`);
  }
}

Récupération et sélection des calendriers

function obtenirCalendriers() {
  const calendriers = CalendarApp.getAllOwnedCalendars();
  return calendriers.map(calendrier => ({
    id: calendrier.getId(),
    nom: calendrier.getName()
  }));
}

Cette fonction démontre comment l’outil récupère la liste des calendriers possédés par l’utilisateur, permettant ainsi une personnalisation avancée du suivi du temps.

Téléchargement

Obtenez le « Générateur de Rapport de Temps »

Prêt à améliorer votre gestion du temps avec notre outil ? Le « Générateur de Rapport de Temps » est disponible au téléchargement. Utilisez le lien ci-dessous pour intégrer cette solution directement dans votre environnement Google Sheets et commencez à transformer votre façon de suivre le temps dès aujourd’hui.

📥 Télécharger le Générateur de Rapport de Temps

L’outil vous demandera quelques autorisations pour être utilisé.

L’outil est disponible via le menu Extensions > Générateur de rapport de temps.