Projet : Automatisation Feuille d'heure

Retour à l'accueil

Technologies :

linux python django n8n server postgre

Catégorie :

optimisation gestion IA

📅 Créé le : 23/09/2025

🔄 Dernière mise à jour : 23/09/2025 22:56

Automatisation Feuille d'heure
Fini à reoptimiser

Automatisation Feuille d'heure

Description complète

Dans ce projet, j’ai cherché à automatiser la gestion des feuilles d’heures dans mon entreprise de charpente. Grâce à n8n, les mails contenant les pointages sont triés, les PDF analysés, et les données insérées dans une base structurée par chantier et par salarié. L’IA intervient comme filtre intelligent : elle reformate les informations malgré les erreurs ou incohérences fréquentes dans les saisies. Cela permet d’éviter les doublons et d’obtenir un jeu de données propre, prêt pour l’analyse. La suite prévue est la création d’un chatbot Telegram connecté à PostgreSQL, pour interroger les heures de façon souple et rapide sans passer par Excel.

Difficultés rencontrées

Un des plus gros défis de ce projet a été la qualité des données. Sur le chantier, les feuilles d’heures ne sont pas toujours bien remplies : certains champs manquent, d’autres sont mal écrits, ce qui bloquait le traitement automatique. Pour contourner ça, j’ai intégré une couche d’IA capable de reformater les informations et de compléter les structures attendues avant l’envoi en base SQL.

Autre difficulté : il arrivait que les feuilles soient corrigées et renvoyées, ce qui faisait que nous recevions plusieurs versions du même pointage. Sans filtre, cela créait des doublons et faussait les résultats. La solution a été d’utiliser l’identifiant du chantier associé au timestamp du mail pour ne conserver que la version la plus récente.

Ces ajustements ont demandé pas mal d’essais, mais ils rendent aujourd’hui le système beaucoup plus robuste et fiable, même avec des données imparfaites en entrée.

⏱ Temps passé : 120 heures

Avancement : fini à reoptimiser

Étapes principales du workflow n8n

Automatisation Feuille d'heure
  1. Réception des mails
    Le workflow surveille la boîte de réception et repère uniquement les mails contenant une feuille d’heures en PDF.
    Les autres messages sont automatiquement réorientés vers différentes boîtes de stockage selon leur sujet (administratif, suivi, etc.).
    En fin de traitement, les mails pris en charge par le workflow sont marqués comme lus.
    → Objectif : ne traiter que les messages utiles et garder une boîte mail organisée.

  2. Extraction des pièces jointes
    Les fichiers PDF sont récupérés et convertis en texte structuré pour être analysés.
    Les données extraites sont enregistrées sous forme d’objets JSON, avec un formatage pensé pour refléter directement la structure de la base de données.
    → Objectif : transformer un document brut en données exploitables.

  3. Passage par l’IA
    Avant de passer par l’IA, un premier nettoyage est effectué grâce à un fragment de code en JavaScript.
    L’IA intervient ensuite pour transformer la sortie OCR souvent mal structurée en un fichier JSON propre et cohérent : correction des saisies, homogénéisation des noms, organisation claire des champs.
    → Objectif : fiabiliser les informations malgré les incohérences et obtenir un format stable.

Automatisation Feuille d'heure
  1. Insertion en base PostgreSQL
    Les données nettoyées sont stockées dans des tables relationnelles (chantier, salarié, pointage).
    → Objectif : centraliser toutes les heures de travail dans une base solide.

  2. Gestion des doublons
    Si plusieurs versions d’une feuille existent, le système compare l’ID chantier et le timestamp du mail pour conserver uniquement la plus récente.
    → Objectif : éviter les doublons et garantir la cohérence.

  3. Validation et exploitation
    Les données sont prêtes à être utilisées : rapports automatisés, visualisations, ou encore consultation via un futur chatbot Telegram.
    → Objectif : rendre l’information accessible et utile au quotidien.