GoWeBaKnowledge Center

title: "Addendum 19 — WebaScan & WebaDrive : Correctifs & Améliorations" date: "2026-09-01" author: "Équipe Plateforme GoWeBa" tags: ["webascan", "webadrive", "extraction", "webaform", "pdf", "correctifs"]

Addendum 19 — WebaScan & WebaDrive : Correctifs & Améliorations

Vue d'ensemble

Suite à un audit approfondi de WebaScan et WebaDrive, 8 anomalies ont été identifiées et corrigées à travers 8 Work Packages regroupés en 5 livraisons. Ces correctifs améliorent la fiabilité de l'extraction batch, l'assignation de rôles dans les formulaires, l'affichage des statistiques de dossiers, et la gestion des données consolidées.


WP-1 — Extraction Batch Progressive ⚡

Problème : L'extraction de documents en lot échouait systématiquement par timeout HTTP (>60s pour des projets volumineux).

Solution : Architecture « fire-and-forget » avec suivi asynchrone :

  • Le POST /api/storage/projects/aggregated-data/extract retourne immédiatement un jobId
  • Le client interroge périodiquement GET /api/storage/projects/aggregated-data/extract-status?jobId=...
  • Barre de progression en temps réel avec % et compteur de fichiers
  • Résumé final : fichiers traités vs erreurs

Fichiers : extract/route.ts, extract-status/route.ts, extraction-jobs.ts, aggregated-data-export.tsx


WP-2 — Assistant de remplissage avec rôles 👥

Problème : Le dialogue « Remplir un formulaire » ne permettait pas d'indiquer qui joue quel rôle (acheteur, vendeur, notaire, etc.), forçant l'utilisateur à corriger manuellement chaque champ.

Solution : Dialogue en 2 étapes :

  1. Étape 1 — Sélection du modèle de formulaire (bibliothèque privée + publique)
  2. Étape 2 — Assignation des rôles (10 rôles courants : acheteur, vendeur, notaire, prêteur, caution, témoins 1-2, fiduciaire, bénéficiaire, représentant)
  • Labels trilingues (fr/en/es) avec icônes emoji
  • L'IA reçoit le contexte des rôles et place automatiquement les bonnes personnes dans les bons champs
  • Option « Ignorer les rôles » pour un remplissage sans contexte de parties

Fichiers : fill-project-form-dialog.tsx, app/api/forms/fills/route.ts


WP-3 — Compteurs de dossiers 📊

Problème : Le panneau de complétion affichait le nombre d'éléments dans la checklist au lieu du vrai nombre de fichiers.

Solution : Double affichage distinct :

  • Fichiers : nombre réel de fichiers dans le dossier
  • Sous-dossiers : nombre réel de sous-dossiers
  • Icônes visuelles différenciées (File vs FolderOpen)

Fichiers : folder-completion-panel.tsx, webadrive-client.tsx


WP-4 — Données consolidées repliables 📋

Problème : Le tableau inline des données consolidées occupait tout l'écran, rendant la navigation difficile.

Solution : Tableau repliable avec toggle :

  • Bouton « Afficher/Masquer les données » avec compteur de champs
  • ChevronDown/ChevronUp animé
  • Tableau masqué par défaut pour un affichage plus propre

Fichiers : aggregated-data-export.tsx


WP-5 — Master PDF amélioré 📄

Problème : Le PDF maître affichait « (No consolidated field) » quand un champ n'avait pas de valeur.

Solution : Message utilisateur convivial :

  • Texte explicatif en italique indiquant que la valeur sera disponible après la prochaine extraction
  • Adapté à la langue du projet (fr/en/es)

Fichiers : pdf-master/route.ts


WP-6 — Kit « Autre / Custom » 🧰

Problème : Aucun kit générique n'était disponible pour les projets qui ne correspondent pas aux kits spécialisés.

Solution : Ajout du kit custom-generic au catalogue :

  • Nom trilingue : « Autre / Custom / Otro »
  • Catégorie « Universel » avec champs génériques (parties, montant, dates, adresse, description, notes)
  • Disponible pour toutes les organisations

Fichiers : webaject-templates.ts


WP-7 — Bouton Re-Analyze unitaire 🔄

Problème : Impossible de relancer l'extraction d'un seul fichier ayant échoué (statut « EXtrc ❌ »).

Solution :

  • Bouton « Re-Extract » affiché à côté de chaque fichier en erreur
  • Appel POST /api/storage/projects/aggregated-data/extract-single
  • Spinner de chargement pendant le traitement
  • Toast de confirmation ou d'erreur

Fichiers : extract-single/route.ts, webadrive-client.tsx


WP-8 — Résolution de conflits côte-à-côte ⚖️

Problème : Quand plusieurs documents contenaient des valeurs différentes pour le même champ, aucun mécanisme de résolution n'était proposé.

Solution complète :

  • Bannière de synthèse en haut du tableau : nombre de conflits détectés ou confirmation « tous résolus »
  • Badge ⚠ N variantes sur chaque champ en conflit — clic pour déplier
  • Panneau côte-à-côte (grille responsive 2-3 colonnes) affichant chaque valeur variante avec :
    • Le document source (nom + numéro)
    • La valeur elle-même
    • Un bouton « Choisir » ou « Confirmer » (si c'est la valeur actuelle)
  • Sauvegarde immédiate : la valeur choisie remplace la valeur consensus dans projectData.aggregatedData
  • Badge ✓ Résolu avec icône verte après résolution
  • Responsabilité utilisateur : l'IA extrait et croise, l'humain tranche en cas de doute

Endpoint : POST /api/storage/projects/aggregated-data/resolve-conflict

  • Body : { folderId, fieldKey, chosenValue }
  • Valide que la valeur choisie fait partie des variantes connues
  • Enregistre resolvedBy (userId) et resolvedAt pour traçabilité

Fichiers : consolidated-data-viewer.tsx, resolve-conflict/route.ts


Résumé technique

WPDescriptionStatut
WP-1Extraction batch progressive
WP-2Wizard Fill Form + rôles
WP-3Compteurs de dossiers
WP-4Données repliables
WP-5Master PDF amélioré
WP-6Kit Custom générique
WP-7Re-Analyze unitaire
WP-8Résolution de conflits côte-à-côte

Commits : d6b672d (WP-1/3/4/5/6/7), 28a21d0 (WP-2), c70412e (WP-8)

© 2024–2026 GOWEBA INC. — Make it Simple, Make it Possible, Make it Real.