Commit Graph

9 Commits

Author SHA1 Message Date
Manus
5f7c8c7c7f Checkpoint: Améliorations Factures BAP : suppression colonne Abonnement, mode d'export configurable (navigateur/dossier), génération PDF annoté avec zone blanche (CAPEX/OPEX | BAP | Destinataire + signature du service) lors du clic BAP, historique BAP dans le menu Traçabilité, table bapHistory en DB. 2026-04-12 05:57:02 -04:00
Manus
196bd7103d Checkpoint: Modernisation de l'ergonomie des pages Administration des listes et Paramètres d'import avec icônes colorées, dégradés, badges de statut, et animations 2026-02-13 04:07:35 -05:00
Manus
6e04cbe798 Checkpoint: Ajout du paramètre "Dossier d'export" dans les paramètres de réception
Nouvelle fonctionnalité :
 Champ "Dossier d'export" ajouté dans la page Paramètres de réception
 Permet de configurer le chemin du dossier de destination pour l'export des factures
 Stockage en base de données dans la table importSettings
 Interface utilisateur avec carte dédiée et champ de saisie

Modifications techniques :
- drizzle/schema.ts : Ajout du champ exportFolder (type text, nullable) dans la table importSettings
- server/routers.ts : Ajout de exportFolder dans les routes importSettings.get et importSettings.update
- client/src/pages/ImportSettings.tsx : Ajout du state, initialisation, et carte UI pour le dossier d'export
- Migration de base de données : 0008_orange_prism.sql appliquée avec succès

Utilisation :
1. Accéder à "Paramètres de réception" dans le menu
2. Descendre jusqu'à la section "Dossier d'export"
3. Saisir le chemin absolu du dossier (ex: /chemin/vers/dossier/export)
4. Cliquer sur "Enregistrer les paramètres"
5. Le chemin est sauvegardé et pourra être utilisé pour les exports futurs

Ce paramètre permettra de centraliser la configuration du dossier d'export pour toutes les fonctionnalités d'export de l'application.
2026-02-11 12:26:52 -05:00
Manus
280abba902 Checkpoint: Correction de l'encodage Unicode du bouton "Vérifier maintenant" et ajout du rafraîchissement automatique de l'interface après démarrage/arrêt des services d'import. 2026-02-11 06:02:34 -05:00
Manus
2715c9e0c7 Checkpoint: Ajout du bouton "Vérifier maintenant" pour forcer une vérification immédiate des emails sans attendre le prochain cycle automatique. 2026-02-11 05:52:56 -05:00
Manus
cd61c75c4c Checkpoint: Checkpoint saved: Implémentation complète de l'import automatique depuis dossier et du système de notifications.
Nouvelles fonctionnalités :

**1. Import automatique depuis dossier (folderImportService.ts)**
 Surveillance périodique d'un dossier local configuré
 Détection automatique des nouveaux fichiers PDF
 Traitement identique à l'upload manuel (extraction Mistral AI, détection doublons, stockage)
 Déplacement automatique des fichiers traités vers un sous-dossier "processed"
 Scheduler configurable (fréquence en minutes)
 Routes tRPC pour démarrer/arrêter/vérifier le statut du service
 Boutons de contrôle dans la page Paramètres de réception

**2. Système de notifications (notificationService.ts)**
 Notifications automatiques après chaque import (email ou dossier)
 Résumé détaillé : nombre de factures importées, doublons ignorés, erreurs
 Format adapté selon la source (email avec nom de fichier, dossier avec nombre de fichiers)
 Intégration avec le système de notifications Manus (notifyOwner)
 Notifications envoyées au propriétaire du projet

**Fonctionnement de l'import dossier :**
1. L'utilisateur configure le chemin du dossier source dans "Paramètres de réception"
2. Il active l'import automatique et configure la fréquence de vérification
3. Il clique sur "Démarrer le service" pour lancer la surveillance
4. Le service scanne le dossier selon la fréquence configurée
5. Il détecte les nouveaux fichiers PDF (non encore traités)
6. Il traite chaque PDF avec la même logique que l'upload manuel
7. Les fichiers traités sont déplacés vers un sous-dossier "processed"
8. Une notification est envoyée avec le résumé des résultats

**Fonctionnement des notifications :**
- Après chaque import automatique (email ou dossier), une notification est envoyée
- La notification contient :
  * Source de l'import (📧 email ou 📁 dossier)
  * Nom du fichier (email) ou nombre de fichiers (dossier)
  *  Nombre de factures importées
  * 🔄 Nombre de doublons ignorés
  *  Nombre d'erreurs
  * Total de factures détectées
- Les notifications apparaissent dans l'interface Manus du propriétaire

**Interface utilisateur :**
- Chaque carte (Import dossier, Import email) dispose maintenant de :
  * Indicateur visuel "Service actif" avec point vert animé
  * Bouton "Démarrer le service" (désactivé si l'import n'est pas activé)
  * Bouton "Arrêter le service" (rouge) pour stopper la surveillance
  * Messages toast pour confirmer le démarrage/arrêt

**Dépendances ajoutées :**
- chokidar : Surveillance de fichiers et dossiers pour Node.js

**Architecture :**
- folderImportService.ts : Service d'import automatique depuis dossier
- notificationService.ts : Service de notifications centralisé
- Routes tRPC : folderImportService.{start, stop, status}
- Intégration des notifications dans emailImportService et folderImportService

Les deux services d'import automatique (email et dossier) sont maintenant opérationnels avec notifications intégrées.
2026-02-11 05:16:44 -05:00
Manus
ff916d6a79 Checkpoint: Checkpoint saved: Implémentation complète de l'import automatique par email.
Nouvelles fonctionnalités :
 Service d'import automatique par email (emailImportService.ts)
 Connexion IMAP avec support SSL/TLS
 Détection automatique des nouveaux emails non lus avec pièces jointes PDF
 Téléchargement et traitement des pièces jointes (même logique que l'upload manuel)
 Marquage des emails comme lus après traitement réussi
 Scheduler configurable (fréquence en minutes)
 Routes tRPC pour démarrer/arrêter/vérifier le statut du service
 Boutons de contrôle dans la page Paramètres de réception

Fonctionnement :
1. L'utilisateur configure ses identifiants email dans "Paramètres de réception"
2. Il active l'import par email et configure la fréquence de vérification
3. Il clique sur "Démarrer le service" pour lancer la surveillance
4. Le service se connecte au serveur IMAP selon la fréquence configurée
5. Il détecte les nouveaux emails non lus avec pièces jointes PDF
6. Il télécharge chaque PDF et applique le même traitement que l'upload manuel :
   - Stockage local du fichier
   - Extraction avec Mistral AI
   - Détection de doublons
   - Création des factures en base de données
   - Génération des métadonnées JSON
   - Création du log d'import
7. Les emails traités sont marqués comme lus
8. Le service continue de tourner en arrière-plan selon la fréquence configurée

Interface utilisateur :
- Indicateur visuel "Service actif" avec point vert animé
- Bouton "Démarrer le service" (désactivé si l'import email n'est pas activé)
- Bouton "Arrêter le service" (rouge) pour stopper la surveillance
- Messages toast pour confirmer le démarrage/arrêt

Dépendances ajoutées :
- imap : Client IMAP pour Node.js
- mailparser : Parser d'emails avec support des pièces jointes
- @types/imap et @types/mailparser : Types TypeScript

Le service est maintenant prêt à être testé avec un vrai compte email IMAP.
2026-02-11 05:08:45 -05:00
Manus
1d79959293 Checkpoint: Checkpoint saved: Correction de la page Paramètres de réception - ajout du menu latéral.
Modification apportée :
 La page "Paramètres de réception" utilise maintenant le DashboardLayout
 Le menu latéral de navigation est maintenant visible sur cette page
 L'expérience utilisateur est cohérente avec les autres pages de l'application

La page est maintenant complètement intégrée au reste de l'application avec une navigation fluide.
2026-02-11 05:03:32 -05:00
Manus
35efbf632d Checkpoint: Checkpoint saved: Ajout d'une page "Paramètres de réception" complète pour configurer les différentes méthodes d'import de factures.
Nouvelles fonctionnalités :
 Table importSettings dans la base de données (7 tables au total)
 Routes tRPC pour gérer les paramètres de réception (get, update)
 Page "Paramètres de réception" accessible via le menu de navigation

Configuration disponible :
1. **Import manuel** : Activation/désactivation de l'upload manuel de fichiers PDF via l'interface

2. **Import automatique depuis dossier** :
   - Activation/désactivation
   - Configuration du chemin du dossier source à surveiller
   - Fréquence de lecture du dossier (en minutes)

3. **Import par email** :
   - Activation/désactivation
   - Configuration du compte email (adresse + mot de passe)
   - Serveur IMAP (host + port)
   - Fréquence de lecture des emails (en minutes)

Interface utilisateur :
- 3 cartes distinctes avec icônes (Upload, FolderOpen, Mail)
- Switches pour activer/désactiver chaque méthode
- Champs de configuration qui apparaissent uniquement si la méthode est activée
- Bouton "Enregistrer les paramètres" avec feedback visuel
- Notifications toast pour confirmer la sauvegarde ou signaler les erreurs

Architecture :
- Schéma de base de données : table importSettings avec 14 colonnes
- Backend : Fonctions db.ts (getImportSettingsByUser, upsertImportSettings)
- Routes tRPC : importSettings.get et importSettings.update
- Frontend : Page ImportSettings.tsx avec gestion d'état React
- Navigation : Nouveau lien "Paramètres de réception" dans le menu latéral

La page est maintenant accessible via /import-settings et permet aux utilisateurs de configurer toutes les méthodes d'importation de factures de manière centralisée.
2026-02-10 12:05:23 -05:00