Comment créer une app de suivi du temps : minuteurs, feuilles de temps et rapports
Une app de suivi du temps enregistre qui a travaillé sur quoi, pendant combien de temps, et si ce temps peut être facturé. Pour en construire une, il vous faut des clients et des projets auxquels rattacher le temps, un minuteur qui survit à la fermeture d'un onglet, un moyen d'ajouter et de corriger des saisies à la main, une feuille de temps hebdomadaire et des rapports qui transforment les saisies brutes en totaux. Un générateur d'apps IA peut produire une première version fonctionnelle à partir d'un prompt clair. Les décisions qui comptent concernent les règles : l'arrondi, qui peut modifier quoi, quand une semaine est verrouillée et ce qui est facturable.
Décidez à quoi servent les heures suivies
La même app ne ressemble pas à la même selon la raison qui la motive :
- Facturer des clients. Heures par client, tarif par personne ou par projet, et un export propre pour les factures. La précision et une piste d'audit comptent le plus.
- La paie de salariés horaires. Pointage d'arrivée et de départ, pauses, règles d'heures supplémentaires, validation par un manager. Les règles du travail locales s'appliquent, donc vérifiez quels documents vous êtes tenu de conserver.
- Comprendre où passe le temps. Vision personnelle ou d'équipe, estimations face au réel. La rapidité de saisie compte plus que les circuits de validation.
Choisissez-en un comme mission principale pour la première version. Le minuteur d'un indépendant qui facture ses clients et une pointeuse pour un entrepôt partagent un minuteur et très peu d'autres choses.
Ce dont l'app a besoin
Données
| Table | Champs clés |
|---|---|
| Clients | Nom, tarif horaire par défaut, actif oui/non |
| Projets | Client, nom, budget en heures (facultatif), facturable par défaut oui/non |
| Tâches ou catégories | Projet, nom (conception, réunions, support) — facultatif au départ |
| Saisies de temps | Personne, projet, tâche, heure de début, heure de fin, durée, note, facturable oui/non, statut (brouillon, soumis, validé), facturé oui/non |
| Personnes | Nom, e-mail, rôle, coût horaire ou tarif de facturation |
Enregistrez l'heure de début et l'heure de fin pour chaque saisie, et calculez la durée à partir d'elles. Les saisies tapées sous forme « 2h 15 » sans heures peuvent n'enregistrer que la durée, mais gardez une date.
Pages
- Minuteur et aujourd'hui : un gros bouton démarrer/arrêter, un sélecteur de projet, et les saisies du jour en dessous.
- Vue hebdomadaire : une grille avec les projets en lignes et les jours du lundi au dimanche en colonnes, où les gens saisissent directement leurs heures. Beaucoup de personnes préfèrent cela aux minuteurs.
- Rapports : heures par client, projet et personne sur une période, avec répartition facturable et non facturable, et export CSV.
- Administration : gestion des clients, des projets, des personnes et des tarifs.
Droits d'accès
Écrivez avant de construire qui peut faire quoi :
- Les personnes voient et modifient leurs propres saisies.
- Les managers voient les saisies de leur équipe et valident les semaines.
- Seuls les administrateurs modifient les tarifs, et idéalement seuls les administrateurs peuvent les voir.
- Personne ne modifie une saisie une fois validée ou facturée, sauf si un administrateur rouvre la période.
C'est cette dernière règle qui rend les rapports fiables. Notre guide sur l'ajout d'une connexion à votre app couvre la partie connexion, et le contrôle d'accès basé sur les rôles couvre les rôles.
Décisions et compromis
Minuteur, saisie manuelle ou les deux
Les minuteurs sont précis quand les gens pensent à les lancer, ce qui n'arrive pas toujours. La saisie manuelle est rapide pour ceux qui remplissent leur semaine le vendredi. La plupart des équipes ont besoin des deux, ainsi que d'un moyen de modifier une saisie de minuteur après coup. Si vous n'en construisez qu'un, construisez la grille hebdomadaire : c'est plus simple et cela couvre le cas de l'oubli de démarrage.
Où vit le minuteur en cours
Un minuteur qui compte dans le navigateur perd tout quand l'onglet se ferme. Enregistrez l'heure de début dans la base de données au moment où la personne appuie sur démarrer, et affichez le temps écoulé en la soustrayant de l'heure actuelle. Le minuteur continue alors de tourner à travers les rechargements, les ordinateurs portables et les téléphones. Décidez si une personne peut lancer deux minuteurs à la fois. En général, la réponse est non : en démarrer un nouveau arrête l'ancien.
Arrondi
Les règles courantes consistent à arrondir chaque saisie à la tranche supérieure de 6, 15 ou 30 minutes. Gardez les heures exactes dans la base de données, et n'appliquez l'arrondi que dans les rapports et les factures. Affichez les deux valeurs dans les rapports pour que personne ne soit surpris.
Verrouillage et validations
Sans verrouillage, les heures facturées du mois dernier peuvent changer après l'envoi de la facture. Un modèle simple : les personnes soumettent une semaine, un manager la valide, et les saisies validées deviennent en lecture seule. Si vous facturez depuis l'app, marquez les saisies comme facturées pour qu'elles ne puissent pas être facturées deux fois.
Fuseaux horaires et minuit
Stockez les heures en UTC et affichez-les dans le fuseau horaire de la personne. Décidez à quel jour appartient une saisie qui court de 23 h à 1 h. La réponse habituelle est le jour de son début.
Un premier prompt qui fonctionne
Crée une app de suivi du temps pour un studio de design de six personnes. Données : clients (nom, tarif horaire), projets (client, nom, heures budgétées) et saisies de temps (personne, projet, début, fin, note, facturable oui/non, statut brouillon/soumis/validé). Pages : une page Aujourd'hui avec un minuteur démarrer/arrêter et un sélecteur de projet qui enregistre l'heure de début dans la base de données pour que le minuteur survive à un rechargement ; une page Semaine avec les projets en lignes, du lundi au dimanche en colonnes, où les personnes peuvent saisir directement les heures ; une page Rapports affichant les heures par client, projet et personne sur une période, réparties entre facturable et non facturable, avec export CSV ; et une page Administration pour les clients, les projets et les personnes. Un seul minuteur peut tourner par personne. Les saisies validées ne peuvent pas être modifiées. Stocke les heures en UTC et affiche-les dans le fuseau horaire de l'utilisateur. Design propre, rapide, utilisable au clavier.
Il nomme les tables, les pages, le comportement du minuteur et la règle de verrouillage, c'est-à-dire ce qu'une IA devinerait sinon.
Étapes de création
- Projets et saisies manuelles d'abord. Clients, projets, un formulaire pour ajouter une saisie, et une liste. Vérifiez que les totaux sont justes.
- Minuteur. Démarrer, arrêter, un seul minuteur en cours par personne, heure de début enregistrée. Testez en lançant un minuteur, en fermant l'onglet, puis en le rouvrant.
- Grille hebdomadaire. Saisir des heures dans une cellule crée ou met à jour une saisie.
- Connexion et rôles. Ajoutez-les avant que de vraies personnes utilisent l'app, pour que personne ne voie les tarifs ou les saisies des autres par accident.
- Soumission et validation. Soumission hebdomadaire, validation par le manager, lecture seule après validation.
- Rapports et export. Période, regroupement, répartition facturable, CSV.
- Tarifs et liens vers la facturation si vous facturez des clients. Gardez la création des factures dans une étape ou une app séparée ; voir comment créer une app de facturation.
- Testez les cas limites. Une saisie qui traverse minuit, une semaine de passage à l'heure d'été, deux minuteurs lancés depuis deux appareils, la modification d'une saisie validée.
Erreurs courantes
- Compter le temps uniquement dans le navigateur. Cela marche dans la démo et fait perdre des heures en usage réel.
- Arrondir les valeurs enregistrées. Vous ne pourrez jamais retrouver l'heure exacte.
- Aucun verrouillage des semaines validées. Les rapports ne correspondent plus aux factures.
- Tout le monde voit les tarifs de tous. Masquez les tarifs selon le rôle dès le premier jour.
- Trop de champs obligatoires. Si saisir son temps prend plus de quelques secondes, les gens arrêtent, et les données deviennent de la fiction. Rendez la tâche et la note facultatives au départ.
- Construire un gestionnaire de projet complet dans l'outil de suivi. Gardez les projets comme de simples étiquettes. Si vous avez besoin de tâches, de tableaux et d'échéances, c'est un outil de gestion de projet, un projet distinct.
Quand un outil de suivi tout fait est le meilleur choix
Si votre équipe a besoin d'un minuteur, d'une vue hebdomadaire et de rapports, les produits de suivi du temps dédiés font déjà cela très bien. Ils incluent aussi des éléments qui demandent un vrai travail à construire : applications de bureau et mobiles, détection d'inactivité, intégrations avec les agendas et les outils, et rappels pour remplir les feuilles de temps. Pour la paie horaire, un outil conçu pour cela gérera les pauses, les heures supplémentaires et la conservation des documents de manière plus sûre qu'une app sur mesure en première version.
Construisez le vôtre quand vos règles ne correspondent pas à ces outils, quand vous voulez relier les heures aux données que vous conservez déjà (missions, ordres de travail, forfaits, factures), quand la tarification par siège pour une grande équipe revient cher, ou quand le suivi du temps n'est qu'une partie d'un outil interne plus large. Notre guide sur acheter ou construire un logiciel présente l'arbitrage, et si vos heures vivent aujourd'hui dans une feuille de calcul partagée, voir comment transformer un tableur en app.
La créer avec Mythex
Dans Mythex, vous décrivez le suivi dans le chat et l'agent le construit dans un aperçu en direct. Il ajoute une base de données Postgres dédiée quand les saisies doivent être enregistrées, et vous pouvez le demander directement ou taper /database. Le cas d'usage d'outil interne dans la documentation suggère de choisir une étape pénible pour la première version, ce qui convient ici : commencez par les saisies et la grille hebdomadaire, puis ajoutez les minuteurs et les validations.
La connexion pour votre équipe est quelque chose que vous ajoutez avec votre propre approche d'authentification (recette d'ajout de connexion). Les comptes Mythex sont pour les personnes qui construisent, pas pour celles qui utilisent votre app. Une fois la boucle principale fonctionnelle, /test demande à l'agent de parcourir l'aperçu (lancer un minuteur, ajouter une saisie, générer un rapport) et de signaler ce qui casse. Pour un point de départ visuel, parcourez les modèles d'apps.
Questions
Quelles fonctionnalités une app de suivi du temps doit-elle avoir ?
Une liste de clients et de projets, un minuteur démarrer/arrêter, un moyen d'ajouter ou de corriger des saisies à la main, une vue de feuille de temps hebdomadaire et un rapport des heures par projet et par personne. Les validations, les tarifs facturables et les exports viennent ensuite.
Comment empêcher un minuteur de perdre du temps quand le navigateur se ferme ?
Enregistrez l'heure de début dans la base de données dès que le minuteur démarre, et calculez la durée écoulée à partir de cette heure enregistrée. Ainsi, fermer l'onglet, recharger la page ou changer d'appareil ne fait rien perdre.
Faut-il arrondir le temps ?
Enregistrez les heures de début et de fin exactes, et n'appliquez l'arrondi que dans les rapports et les factures. Vous pourrez ainsi changer la règle d'arrondi plus tard sans réécrire l'historique.
Vaut-il la peine de créer son propre outil de suivi du temps ?
En général seulement si vos règles sont inhabituelles ou si vous voulez relier les heures à d'autres données que vous conservez déjà, comme des missions, des clients ou des factures. Pour des minuteurs et des rapports simples, un outil existant est moins cher et plus rapide.