Manus
6b83361056
Checkpoint: mysqldump n'est pas disponible dans le container Node.js. Remplacement par un dump SQL généré directement via mysql2 : SHOW CREATE TABLE + SELECT * pour chaque table, avec échappement correct des valeurs.
2026-08-08 10:52:58 +00:00
Manus
d3426c1663
Checkpoint: Correction de l'erreur "non authentifié" sur /api/db-backup : utilisation de parseCookies(req.headers.cookie) au lieu de req.cookies (qui nécessitait cookie-parser non installé).
2026-08-08 10:41:01 +00:00
Manus
4ce2d2877a
Checkpoint: Ajout onglet Sauvegarde DB dans ImportSettings : endpoint POST /api/db-backup (mysqldump), GET /api/db-backup/:filename, procédures tRPC backup.list et backup.delete, composant BackupSection avec liste des sauvegardes et téléchargement.
2026-08-08 10:04:57 +00:00
Manus
711ce6b83a
Checkpoint: Ajout du système de connecteurs web : table webImportSources, CRUD tRPC, page WebImportSources.tsx, endpoint /api/web-import/push-invoice, script cron SFR (scripts/web-import/sfr-connector.mjs)
2026-07-30 13:53:07 +00:00
Manus
827c9ec41e
Checkpoint: Ajout de Google Gemini (gemini-2.0-flash) comme 3ème moteur IA : schéma DB mis à jour (enum aiProvider + colonne geminiApiKey dans userSettings et importSettings), llm.ts mis à jour avec routing vers l'API Google AI Studio (compatible OpenAI), fenêtre de configuration IA mise à jour avec 3 cartes (Mistral / Gemini / Manus) et champ clé API Gemini.
2026-07-27 15:55:07 +00:00
Manus
8ee10602d3
Checkpoint: Ajout de la connexion OAuth2 Microsoft 365 (Azure AD) : route callback /api/auth/azure/callback, bouton Microsoft sur la page de login, variables d'environnement Azure AD configurées
2026-07-07 05:54:46 -04:00
Manus
f49eadda2b
feat: warningMessage quota IA dans rapports d'import + redémarrage auto services
2026-06-09 12:15:26 -04:00
Manus
8536c9a8aa
fix: corriger URL Manus Forge de forge.manus.im vers forge.manus.ai
2026-05-05 09:31:54 -04:00
Manus
62b7a61bf5
Checkpoint: Ajout de la section "Moteur IA" dans les paramètres : sélecteur Mistral/Manus, champs clé API avec affichage masqué, persistance en DB, migration VPS appliquée
2026-04-15 08:04:54 -04:00
Manus
412da0e68f
Checkpoint: Ajout du téléchargement groupé ZIP dans Factures BAP, bouton Re-générer dans Historique BAP, filtres Validées BAP / En attente BAP dans Factures BAP
2026-04-12 17:53:38 -04:00
Manus
ba3392b1e4
Checkpoint: La route /api/download-bap accepte maintenant un param filename et le met dans Content-Disposition (RFC 5987). Les fonctions downloadBapPdf dans InvoicesBAP.tsx et BapHistory.tsx passent le filename formaté dans l'URL.
2026-04-12 17:42:15 -04:00
Manus
d4fe15c23d
Checkpoint: Correction du bouton téléchargement BAP : la route /api/download-bap utilise maintenant un query param pdfPath pour accepter les chemins complets avec sous-dossiers (ex: /storage/2026-04/BAP_xxx.pdf). Ajout d'une route de compatibilité qui cherche dans tous les sous-dossiers. Sécurité anti-path-traversal maintenue.
2026-04-12 10:31:18 -04:00
Manus
9d71f1e34a
Checkpoint: Ajout du bouton de téléchargement direct du PDF annoté BAP : route Express /api/download-bap/:filename avec Content-Disposition attachment, bouton Télécharger dans InvoicesBAP (apparaît après validation), boutons Voir + Télécharger dans l'Historique BAP. Correction du layout PDF (2 colonnes) également incluse.
2026-04-12 10:05:02 -04:00
Manus
d32359fc10
Checkpoint: Ajout de la configuration des champs obligatoires pour le score LLM
...
Nouvelle fonctionnalité permettant de configurer quels champs sont obligatoires ou optionnels pour atteindre un score de reconnaissance de 100%.
Modifications:
- Nouvelle table llmFieldsConfig dans la base de données
- Routes tRPC pour gérer la configuration (getAll, updateField)
- Interface utilisateur dans la page Paramètres avec tableau et cases à cocher
- Modification du code d'extraction pour générer dynamiquement l'instruction de score
- Initialisation automatique des champs par défaut (supplierName, invoiceNumber, invoiceDate, totalAmount obligatoires)
- Tests unitaires pour valider la fonctionnalité
L'utilisateur peut maintenant personnaliser quels champs doivent être détectés pour qu'une facture atteigne 100% de score.
2026-02-13 03:39:41 -05:00
Manus
a56e6c58f4
Checkpoint: Correction du système d'authentification locale pour supporter le cookie auth_token.
...
Modifications apportées :
- Ajout du support du cookie auth_token dans authenticateRequest (sdk.ts)
- L'authentification locale fonctionne maintenant correctement en parallèle de Manus OAuth
- L'utilisateur peut se connecter avec o.pareige@itinova.org et le mot de passe Itinova69!
Le système vérifie d'abord le cookie auth_token (authentification locale), puis le cookie de session Manus OAuth si le premier n'est pas présent.
2026-01-08 08:43:05 -05:00
Manus
5a01860aba
Checkpoint: Application complète de dématérialisation de facturation avec extraction IA (Mistral), authentification locale + Azure AD, stockage local, et export SFTP.
...
Fonctionnalités implémentées :
✅ Authentification locale (email/password) + Azure AD + Manus OAuth
✅ Upload drag-and-drop de fichiers PDF avec suivi en temps réel
✅ Extraction automatique avec Mistral AI (OCR + LLM)
✅ Détection de doublons (fournisseur, numéro, date)
✅ Score de qualité d'extraction (0-100)
✅ Tableau de bord avec statistiques
✅ Liste des factures avec recherche et filtres
✅ Paramètres utilisateur (LLM, keywords, SFTP)
✅ Historique des imports avec logs détaillés
✅ Gestion des utilisateurs (admin)
✅ Export SFTP manuel/automatique
✅ Stockage local avec organisation YYYY-MM
✅ Tests unitaires d'authentification
Architecture :
- Frontend : React 19 + Vite + TailwindCSS + Radix UI
- Backend : Express + tRPC + Drizzle ORM
- Base de données : MySQL (6 tables)
- IA : Mistral AI pour extraction
- Stockage : Local filesystem
- Export : SFTP
Pages :
- Login (choix local/Azure/Manus)
- Dashboard (statistiques)
- Upload (drag-and-drop)
- Invoices (liste avec recherche)
- Settings (LLM, keywords, SFTP)
- History (logs d'import)
- Users (gestion admin)
2026-01-08 06:02:07 -05:00
Manus
205b6061ef
Initial project bootstrap
2026-01-08 05:47:56 -05:00