Annualiser les heures sans reconstruire les calculs chaque mois
Une application métier reprend la logique connue de l’équipe, automatise les soldes et les exports, et conserve une validation humaine sur les imports, les régularisations et les périodes verrouillées.
Résumé éditorial
Ce projet illustre une utilisation concrète de l'intelligence artificielle au service d'une équipe administrative : transformer un suivi complexe réalisé dans un tableur en une application web claire, fiable et exploitable au quotidien.
L'objectif n'est pas de remplacer les personnes qui connaissent le métier, mais de leur faire gagner du temps sur les tâches répétitives, les ressaisies, les contrôles fastidieux et la production de documents. L'humain reste décisionnaire : il choisit les salariés, vérifie les imports, verrouille les mois, renseigne les régularisations et exploite les rapports.
L'IA intervient ici comme accélérateur de conception, d'automatisation et de structuration technique. Elle aide à passer d'un besoin métier exprimé simplement à une application utilisable, documentée, connectée à une base de données et capable de produire des exports.
Le problème métier
Le suivi de l'annualisation des heures demande de consolider, mois après mois, plusieurs informations sensibles :
- heures travaillées ;
- heures rémunérées ;
- congés payés ;
- jours fériés ;
- maladie, intempéries et carence intempéries ;
- régularisations positives ou négatives ;
- solde mensuel et cumul annuel ;
- rapports individuels par salarié ;
- synthèse annuelle pour l'ensemble de l'équipe.
Dans un tableur, ce travail devient rapidement fragile : formules modifiées par erreur, onglets difficiles à maintenir, ressaisies depuis le logiciel métier, exports PDF hétérogènes, risque d'écraser une période déjà validée.
L'application développée répond à ce besoin en conservant la logique métier connue de l'équipe, tout en sécurisant et automatisant ce qui peut l'être.
Le rôle de l'IA : assister, pas remplacer
Ce cas concret montre une approche utile de l'IA en entreprise : l'IA ne prend pas les décisions RH ou administratives. Elle aide à fabriquer un outil qui rend ces décisions plus faciles à appliquer, contrôler et documenter.
Ce que l'équipe conserve :
- la maîtrise des salariés actifs et archivés ;
- le choix de l'année de travail ;
- la validation des données importées ;
- le rattachement manuel entre les salariés détectés dans un export et les comptes de l'application ;
- la possibilité de verrouiller ou déverrouiller chaque mois ;
- la saisie des régularisations et de leurs motifs ;
- l'analyse finale des rapports.
Ce que l'application automatise :
- les calculs de soldes hebdomadaires, mensuels et annuels ;
- la consolidation des absences utiles au calcul ;
- l'import des exports du logiciel métier ;
- la génération de PDF individuels ou de synthèse ;
- la génération de PDF noir et blanc pour impression ;
- l'export XLSX ;
- la conservation structurée des données en SQLite.
Le gain de temps vient donc de la suppression des gestes répétitifs, pas de la suppression du rôle de l'équipe.
Fonctionnalités principales
Saisie annuelle par salarié
Chaque salarié dispose d'une vue annuelle découpée par mois, puis par semaines du mois. Les champs principaux sont modifiables directement :
- heures travaillées ;
- heures rémunérées ;
- congés payés ;
- jours fériés ;
- maladie / intempéries ;
- régularisation mensuelle ;
- motif de régularisation.
Les totaux sont recalculés automatiquement à chaque modification.
Sauvegarde automatique
L'application ne repose plus sur un bouton manuel d'enregistrement. Dès qu'une valeur est modifiée, elle est automatiquement sauvegardée et intégrée aux calculs.
Ce fonctionnement réduit les oublis et rapproche l'outil d'un usage métier naturel : on corrige une valeur, le solde suit.
Verrouillage mensuel
Chaque mois peut être verrouillé par l'administrateur. Une fois verrouillé :
- les données existantes sont conservées ;
- les champs deviennent grisés ;
- les modifications accidentelles sont évitées ;
- le mois peut être déverrouillé si une correction est nécessaire.
Ce verrouillage répond à un besoin important : protéger les périodes déjà contrôlées.
Régularisation tous les mois
Une ligne de régularisation est disponible sur chaque mois. Elle peut être positive ou négative.
Si la régularisation n'est pas renseignée, elle ne s'affiche pas sur les PDF. Si elle est renseignée, elle apparaît avec son motif éventuel et modifie le total du mois ainsi que le cumul annuel.
Import depuis le logiciel métier
L'application sait analyser un export texte du logiciel métier. Elle détecte les salariés présents dans le fichier, puis l'administrateur choisit à quel compte salarié de l'application chacun doit être rattaché.
Les données importantes sont importées :
- heures travaillées ;
- congés ;
- maladie ;
- intempéries ;
- carence intempéries ;
- jours fériés.
Les semaines du logiciel métier pouvant être différentes de celles de l'application, l'import se concentre sur l'ordre chronologique des semaines du mois plutôt que sur une stricte correspondance de numéro.
PDF individuels et synthèse
L'application propose une section PDF avec deux modes :
- affichage couleur, avec logo et mise en page soignée ;
- affichage noir et blanc, optimisé pour l'impression et la lisibilité.
Les rapports peuvent être produits pour un salarié ou pour plusieurs salariés fusionnés dans un seul PDF. La synthèse annuelle dispose également de ses exports PDF.
Export XLSX
Un export tableur permet de récupérer les données dans un format proche du fichier d'origine. C'est utile pour l'archivage, le partage ou la continuité avec des habitudes de travail existantes.
Architecture technique
Le projet repose volontairement sur une architecture simple, lisible et maintenable.
.
├── server.js # Serveur Node.js, API, calculs, PDF, XLSX, SQLite
├── package.json # Script de lancement et version Node attendue
├── README.md # Notes de lancement et de déploiement
├── public/
│ ├── index.html # Interface HTML
│ ├── app.js # Logique front-end
│ ├── styles.css # Charte graphique responsive
│ └── logo.png # Logo intégré à l'application
├── data/
│ └── annualisation.sqlite # Base SQLite locale
└── seed/
└── initial-data.json # Données initiales issues du classeur historique
Choix techniques
- Node.js pour le serveur applicatif.
- SQLite pour une base légère, locale et facile à sauvegarder.
- HTML / CSS / JavaScript natif pour une interface rapide sans complexité inutile.
- PDF générés côté serveur pour garantir un rendu stable.
- XLSX généré côté serveur pour conserver une compatibilité avec les usages tableur.
- Base path configurable pour publier l'application sous un chemin comme
/annualisation.
Cette sobriété technique est un avantage : l'application reste compréhensible, déployable facilement et adaptée à une structure qui veut un outil métier fiable sans infrastructure lourde.
Modèle de données
La base SQLite stocke les éléments essentiels :
| Table | Rôle |
|---|---|
metadata | paramètres applicatifs, notamment authentification |
employees | salariés actifs ou archivés |
entries | lignes hebdomadaires de saisie |
adjustments | régularisations mensuelles et motifs |
month_locks | verrouillage des mois par salarié et année |
Cette structure sépare bien les données métier : les salariés, les heures saisies, les régularisations et les verrous ne sont pas mélangés.
API de l'application
L'application expose une API HTTP utilisée par l'interface web. Elle permet de gérer l'authentification, les salariés, les feuilles de temps, les imports et les exports.
Authentification
| Méthode | Route | Description |
|---|---|---|
GET | /api/auth/session | Vérifie si une session est active |
POST | /api/auth/login | Connecte l'administrateur |
POST | /api/auth/logout | Déconnecte la session |
POST | /api/auth/password | Change le mot de passe |
Initialisation et salariés
| Méthode | Route | Description |
|---|---|---|
GET | /api/bootstrap?year=2026 | Charge l'année, les salariés et les archives |
GET | /api/employees | Liste les salariés actifs et archivés |
POST | /api/employees | Ajoute un salarié |
PATCH | /api/employees/:id | Renomme un salarié |
DELETE | /api/employees/:id | Archive un salarié |
POST | /api/employees/:id/restore | Restaure un salarié archivé |
DELETE | /api/employees/:id/permanent | Supprime définitivement une archive |
Saisie et verrouillage
| Méthode | Route | Description |
|---|---|---|
GET | /api/timesheet?employeeId=1&year=2026 | Récupère la feuille annuelle d'un salarié |
PUT | /api/timesheet | Sauvegarde les heures, absences et régularisations |
PUT | /api/month-lock | Verrouille ou déverrouille un mois |
GET | /api/summary?year=2026 | Récupère la synthèse annuelle |
Import
| Méthode | Route | Description |
|---|---|---|
POST | /api/import/analyze | Analyse un export texte du logiciel métier |
POST | /api/import/apply | Applique l'import après rattachement des salariés |
L'import fonctionne en deux temps pour garder le contrôle humain :
- l'application analyse le fichier et détecte les salariés ;
- l'administrateur rattache chaque salarié détecté au bon compte ;
- l'application applique les données et relance les calculs.
Exports
| Méthode | Route | Description |
|---|---|---|
GET | /api/timesheet/pdf | PDF individuel couleur |
GET | /api/timesheet/pdf-print | PDF individuel noir et blanc |
GET | /api/summary/pdf | PDF synthèse couleur |
GET | /api/summary/pdf-print | PDF synthèse noir et blanc |
GET | /api/export/xlsx | Export XLSX annuel |
Exemple de flux métier
- L'administrateur se connecte.
- Il choisit l'année de travail.
- Il sélectionne un salarié ou consulte la synthèse.
- Il saisit ou importe les données du mois.
- L'application recalcule les soldes automatiquement.
- Une fois le mois contrôlé, il le verrouille.
- En fin de période, il génère les PDF ou l'export XLSX.
Ce flux illustre bien le rôle de l'automatisation : alléger la manipulation, pas retirer la responsabilité.
Gains pour les équipes
Gain de temps
Les équipes n'ont plus à reconstruire manuellement les totaux, les cumuls ou les rapports. Les imports réduisent les ressaisies depuis le logiciel métier.
Moins d'erreurs
Les calculs sont centralisés. Les mois verrouillés évitent les modifications accidentelles sur une période validée.
Meilleure lisibilité
Chaque salarié dispose d'une fiche annuelle homogène. Les indicateurs clés sont visibles immédiatement : solde annualisé, heures travaillées, heures rémunérées, absences, régularisations, CP et fériés.
Continuité avec les usages existants
L'application ne force pas une rupture brutale : elle conserve l'export XLSX, les PDF imprimables et la logique annuelle déjà connue.
Décision humaine préservée
L'outil ne décide pas à la place de l'administrateur. Il prépare, calcule, structure et sécurise. La validation reste humaine.
Pourquoi ce projet est un bon exemple pour parler d'IA
Ce cas est parlant parce qu'il ne vend pas une IA abstraite. Il montre une situation réelle : une équipe possède déjà un savoir-faire et des fichiers existants, mais perd du temps dans la manipulation.
L'IA devient alors un levier pour :
- formaliser le besoin ;
- transformer un tableur en application ;
- structurer une API ;
- automatiser les calculs ;
- produire des exports propres ;
- intégrer progressivement des règles métier ;
- adapter l'outil au fil des retours utilisateurs.
C'est une vision réaliste de l'IA en entreprise : une technologie qui augmente la capacité des équipes à produire un travail fiable, sans effacer leur expertise.
Message clé pour une page de site
L'intelligence artificielle ne remplace pas les équipes : elle transforme leurs outils pour leur redonner du temps.
Dans ce projet, l'IA a permis de passer d'un suivi Excel sensible à une application métier structurée, avec base de données, imports, exports, PDF, verrouillage et calculs automatisés.
Le résultat n'est pas une décision automatique. C'est un meilleur poste de pilotage pour les personnes qui connaissent réellement le métier.
Angle de communication recommandé
Pour un site internet dédié à l'IA, ce cas peut être présenté comme une preuve concrète que l'IA apporte de la valeur dans les fonctions support :
- administration ;
- ressources humaines ;
- gestion des temps ;
- consolidation de données ;
- automatisation documentaire ;
- sécurisation de processus internes.
Le ton à privilégier : rassurant, concret, orienté métier.
À éviter : promettre un remplacement complet des équipes ou une automatisation sans contrôle humain.
À mettre en avant : le temps gagné, la fiabilité, la traçabilité, la simplicité d'usage et le respect du métier.