Web Analytics Made Easy - Statcounter
Skip to content

Journal des modifications

Toutes les modifications notables de ce projet seront documentées dans ce fichier.

Le format est basé sur Keep a Changelog, et ce projet adhère au Versionnage Sémantique.

Dernière version : 0.0.11 (2026-03-30)

[Non publié]

Documentation

Prévu

  • Authentification des utilisateurs
  • IntĂ©gration du stockage cloud
  • Modèles de conversion
  • Limitation du dĂ©bit de l'API
  • WebSocket pour les mises Ă  jour en temps rĂ©el
  • Bascule thème sombre/clair
  • Raccourcis clavier
  • AmĂ©liorations d'accessibilitĂ© (WCAG 2.1)

0.0.11 - 2026-03-30

Modifié

  • UX de tĂ©lĂ©versement : zone unique sans interrupteur « lot » dans la barre ; voir CHANGELOG.md Ă  la racine du dĂ©pĂ´t.
  • DĂ©pendances : suppression du fichier requirements-docs.txt Ă  la racine ; backend/requirements.txt seul pour MkDocs et l’API (voir CHANGELOG.md Ă  la racine).

Corrigé

  • Tests frontend : le test de navigation iframe de DocsPanel attend que l’écouteur message soit enregistrĂ© après la fin du fetch mockĂ© et utilise un dĂ©lai waitFor plus long pour garder la CI stable sur des exĂ©cuteurs plus lents.
  • Docs / CI : pymdown-extensions>=10.21.2 Ă©vite un plantage Pygments lors de la construction du site (comme CHANGELOG.md Ă  la racine).
  • Python / CI : markdown>=3.6 et mkdocs>=1.6 dans backend/requirements.txt pour que pip rĂ©solve la pile docs avec pymdown 10.21.2+ (comme CHANGELOG.md Ă  la racine).

0.0.10a - 2026-03-23

Corrigé

  • DĂ©pendances backend : Un seul fichier backend/requirements.txt pour l'API et les builds MkDocs in-app ; suppression du doublon backend/requirements-docs.txt.

Modifié

  • Navigation de la documentation : Passage des onglets horizontaux en haut Ă  une barre latĂ©rale gauche unique avec navigation en arbre repliable ; chaque catĂ©gorie principale (Accueil, DĂ©marrage, etc.) peut ĂŞtre dĂ©veloppĂ©e ou repliĂ©e.
  • Tuiles des fonctionnalitĂ©s clĂ©s : Chaque tuile de fonctionnalitĂ© sur la page d'accueil de la documentation est maintenant un lien cliquable vers sa documentation dĂ©taillĂ©e (page FonctionnalitĂ©s ou Formats).
  • CONTRIBUTING.md : Ajout de l'exigence de signature DCO (Developer Certificate of Origin) pour tous les commits.
  • Documentation de contribution : Traductions complètes pour l'allemand (de), l'espagnol (es) et le français (fr) ; toutes les locales ont maintenant un contenu cohĂ©rent et complet incluant les exigences DCO.

Sécurité

  • CorrigĂ© le path traversal Rollup (GHSA-mw96-cpmx-2vgc) et le ReDoS Minimatch (GHSA-3ppc-4f35-3m26) via les overrides npm dans le frontend : rollup >=4.59.0, minimatch 9.0.6 pour @typescript-eslint/typescript-estree.
  • CorrigĂ© Werkzeug safe_join pour les noms de pĂ©riphĂ©riques Windows dans les chemins multi-segments (CVE-2026-27199, GHSA-29vq-49wr-vm6x) : werkzeug 3.1.4 → 3.1.6.
  • CorrigĂ© l'en-tĂŞte Vary: Cookie de session Flask lors de l'utilisation de l'opĂ©rateur in (CVE-2026-27205) : flask 3.0.0 → 3.1.3.
  • PrĂ©vention SSRF : Validation des URL avant les requĂŞtes sortantes dans download_from_url, download_from_url_with_images et download_image ; bloque loopback, IPs privĂ©es, link-local, metadata et schĂ©mas dangereux.
  • Corrections de sĂ©curitĂ© CodeQL :
  • SSRF : validate_url_safe_for_request retourne maintenant l'URL validĂ©e ; tous les appels requests.get utilisent la valeur retournĂ©e pour satisfaire l'analyse de flux de donnĂ©es.
  • ReDoS : Extraction d'images HTML limitĂ©e Ă  5 Mo avant le traitement regex pour attĂ©nuer les regex polynomiales sur le contenu contrĂ´lĂ© par l'utilisateur.
  • Path traversal : delete_output_folder utilise maintenant validate_job_id et get_validated_output_dir des utilitaires de sĂ©curitĂ© au lieu de vĂ©rifications manuelles.
  • Exposition d'informations : RĂ©ponses d'erreur de l'API des paramètres sanitaires via _sanitize_error_for_client pour Ă©viter les fuites de stack trace ou de donnĂ©es sensibles.

0.0.10a - 2026-02-24

Ajouté

  • Workflow de publication d'images Docker : GitHub Action s'exĂ©cute lorsque les PR sont fusionnĂ©s dans main, construisant des images multi-plateformes et les poussant vers Docker Hub et GitHub Container Registry (nĂ©cessite les secrets DOCKERHUB_USERNAME et DOCKERHUB_TOKEN).
  • GĂ©nĂ©rer les fragments maintenant : Bouton dans l'onglet Fragments RAG pour gĂ©nĂ©rer des fragments Ă  la demande pour les documents terminĂ©s (POST /api/history/{job_id}/generate-chunks)
  • DĂ©duplication par contenu : MĂŞme fichier + mĂŞmes paramètres affectant le document rĂ©utilisent le contenu stockĂ© au lieu de reconvertir
  • Cache hit : crĂ©er symlink, charger mĂ©tadonnĂ©es, terminer immĂ©diatement (pas d'exĂ©cution Docling)
  • Cache miss : exĂ©cuter conversion, dĂ©placer sortie vers le magasin de contenu, crĂ©er symlink
  • Migration base de donnĂ©es scripts/migrate_add_content_hash.py ajoute la colonne content_hash
  • Statistiques et mĂ©triques de conversion : Statistiques d'historique Ă©tendues pour l'analyse d'utilisation Docling et Duckling
  • GET /api/history/stats retourne avg_processing_seconds, ocr_backend_breakdown, output_format_breakdown, performance_device_breakdown, chunking_enabled_count, error_category_breakdown, source_type_breakdown et queue_depth
  • Migration base de donnĂ©es scripts/migrate_add_stats_columns.py ajoute les colonnes de stats Ă  la table conversions
  • Le panneau Historique affiche le temps de traitement moyen et la profondeur de file d'attente lorsqu'ils sont disponibles
  • Panneau de statistiques : Visualiseur dĂ©diĂ© pour les statistiques de conversion (bouton d'en-tĂŞte, « Voir les statistiques complètes » depuis Historique)
  • Statistiques Ă©tendues : MĂ©triques matĂ©rielles et de performance dans le panneau Statistiques
  • Section système : type de matĂ©riel (CPU/CUDA/MPS), nombre de CPU, utilisation CPU actuelle, infos GPU
  • Pages/sec moyenne et pages/sec par CPU
  • Distribution du temps de conversion (mĂ©diane, 95e, 99e percentile)
  • Graphique pages/sec au fil du temps
  • Utilisation CPU moyennĂ©e pendant chaque conversion (stockĂ©e en DB)
  • Migration base de donnĂ©es scripts/migrate_add_cpu_usage_column.py ajoute la colonne cpu_usage_avg_during_conversion
  • L'utilisation CPU est maintenant spĂ©cifique au processus (processus backend Duckling, exĂ©cute Docling), pas système
  • Config par conversion stockĂ©e : performance_device_used (rĂ©solu de « auto » Ă  la fin), images_classify_enabled
  • Migration base de donnĂ©es scripts/migrate_add_config_columns.py ajoute ces colonnes
  • RĂ©partition des stats par matĂ©riel, backend OCR, classificateur d'images (pages/sec, temps de conversion par config)
  • Support des langues de l'interface (Anglais en, Espagnol es, Français fr, Allemand de) avec sĂ©lecteur de langue.
  • Documentation MkDocs multilingue (Anglais, Espagnol, Français, Allemand) servie sous /api/docs/site/<locale>/.
  • LibellĂ©s de catĂ©gories du panneau Dropzone (Documents, Web, Images, DonnĂ©es) maintenant entièrement internationalisĂ©s.
  • Section documentation Docling dans MkDocs (sous-ensemble curĂ© et vendu de la documentation Docling upstream + script de synchronisation).
  • Paramètres utilisateur par session : Paramètres utilisateur stockĂ©s par session dans la base de donnĂ©es au lieu d'un fichier partagĂ©.

Sécurité

  • CorrigĂ© les vulnĂ©rabilitĂ©s de sĂ©curitĂ© frontend (esbuild GHSA-67mh-4wv8-2f99) : Vite 5→7, Vitest 1→4 et dĂ©pendances associĂ©es mises Ă  jour.

Modifié

  • Point d'entrĂ©e du backend renommĂ© de app.py Ă  duckling.py pour plus de clartĂ©.
  • Nom de l'application Flask changĂ© en « duckling » (affiche « Serving Flask app 'duckling' »).

Corrigé

  • La navigation de la documentation affiche maintenant des noms de pages entièrement localisĂ©s dans toutes les langues prises en charge.
  • Les libellĂ©s de catĂ©gories de formats de fichiers du panneau Dropzone se traduisent maintenant correctement selon la langue sĂ©lectionnĂ©e.
  • AmĂ©lioration de l'extraction des titres de pages de documentation avec un meilleur repli vers les noms traduits.
  • Les liens prev/suivant du pied du panneau de documentation intĂ©grĂ©e restent dans la catĂ©gorie actuelle de la barre latĂ©rale, et la navigation dans la documentation intĂ©grĂ©e garde la sĂ©lection de la barre latĂ©rale synchronisĂ©e.
  • CorrigĂ© l'Ă©chec de reconstruction de la documentation intĂ©grĂ©e avec cannot access local variable 'shutil' lors de la construction du site MkDocs.
  • La reconstruction de la documentation du backend prĂ©fère maintenant l'environnement MkDocs ./venv local du dĂ©pĂ´t pour s'assurer que les plugins requis (comme i18n) sont disponibles.
  • CorrigĂ© le clic sur une entrĂ©e d'historique qui ne chargeait pas le document ; utilise maintenant l'endpoint de chargement d'historique (disque) au lieu de l'endpoint de rĂ©sultat en mĂ©moire.
  • Lorsque document_json_path est manquant dans la DB, le chargement d'historique trouve et charge *.document.json depuis le rĂ©pertoire de sortie pour que tous les Ă©lĂ©ments d'historique se chargent, pas seulement le premier.
  • Le panneau de visualisation de documents se rafraĂ®chit maintenant lors du chargement d'un Ă©lĂ©ment d'historique diffĂ©rent (utilise la clĂ© de composant pour remonter avec un Ă©tat frais).
  • Mis Ă  jour vitest.config.ts pour la compatibilitĂ© Vitest 4.
  • Exigence de version Node.js CI/CD mise Ă  jour vers 22 (requis pour Vite 7).

0.0.9 - 2026-01-08

Ajouté

  • Personnalisation : Logo Duckling et affichage de version dans l'en-tĂŞte.
  • Conversion de documents par URL : Conversion depuis des URLs avec extraction automatique d'images pour HTML.
  • Options d'enrichissement de documents : Enrichissement de code, formules, classification d'images, description d'images.
  • TĂ©lĂ©chargement prĂ©alable des modèles d'enrichissement : TĂ©lĂ©charger les modèles IA avant le traitement.
  • Galerie de prĂ©visualisation d'images : Miniatures visuelles avec visionneuse lightbox.
  • Installation automatique des backends OCR : Installation en un clic pour les backends pip.
  • PrĂ©visualisation spĂ©cifique au format : Le panneau de prĂ©visualisation affiche le contenu dans le format d'export sĂ©lectionnĂ©.
  • Mode prĂ©visualisation rendu vs brut : Bascule pour HTML et Markdown.
  • Support Docker amĂ©liorĂ© : Dockerfiles multi-Ă©tapes, variantes docker-compose, builds multi-plateformes.

Corrigé

  • RĂ©cupĂ©ration de contenu multi-worker (images, tableaux, rĂ©sultats).
  • PrĂ©visualisation HTML dans l'interface.
  • Extraction d'images URL pour les attributs src non quotĂ©s.
  • Le panneau de documentation sert maintenant le site MkDocs prĂ©-construit.
  • Variables d'environnement et chargement .env.
  • Extensions de fichiers insensibles Ă  la casse.
  • Score de confiance et sĂ©lection du backend OCR.

0.0.8 - 2026-01-07

Modifié

  • RenommĂ© : Projet renommĂ© de « Docling UI » Ă  « Duckling »
  • Toute la documentation, le code et les fichiers de configuration mis Ă  jour
  • Marque mise Ă  jour dans toute l'application

0.0.7 - 2026-01-07

Ajouté

  • Documentation MkDocs : Migration de la documentation vers MkDocs avec thème Material
  • Site de documentation moderne et recherchable
  • Bascule thème sombre/clair
  • Support des diagrammes Mermaid
  • Navigation et organisation amĂ©liorĂ©es

Modifié

  • Structure de la documentation rĂ©organisĂ©e pour une meilleure navigation
  • Tous les diagrammes convertis au format Mermaid pour un rendu en direct

0.0.6 - 2025-12-11

Sécurité

  • CRITIQUE : CorrigĂ© le mode debug Flask activĂ© par dĂ©faut en production
  • Le mode debug est maintenant contrĂ´lĂ© par la variable d'environnement FLASK_DEBUG (par dĂ©faut : false)
  • Le binding d'hĂ´te par dĂ©faut est 127.0.0.1 au lieu de 0.0.0.0
  • ÉLEVÉ : DĂ©pendances vulnĂ©rables mises Ă  jour
  • flask-cors : 4.0.0 → 6.0.0 (CVE-2024-1681, CVE-2024-6844, CVE-2024-6866, CVE-2024-6839)
  • gunicorn : 21.2.0 → 23.0.0 (CVE-2024-1135, CVE-2024-6827)
  • werkzeug : 3.0.1 → 3.1.4 (CVE-2024-34069, CVE-2024-49766, CVE-2024-49767, CVE-2025-66221)
  • MOYEN : Protection contre le path traversal ajoutĂ©e aux endpoints de service de fichiers
  • Le service d'images valide que les chemins n'Ă©chappent pas aux rĂ©pertoires autorisĂ©s
  • Bloque les sĂ©quences de traversĂ©e de rĂ©pertoires (..)
  • MOYEN : Sanitisation des requĂŞtes SQL amĂ©liorĂ©e
  • Les requĂŞtes de recherche Ă©chappent maintenant les wildcards LIKE
  • Limites de longueur de requĂŞte ajoutĂ©es
  • Ajout de SECURITY.md complet avec :
  • RĂ©sumĂ© d'audit de sĂ©curitĂ©
  • Liste de contrĂ´le de dĂ©ploiement en production
  • Documentation des variables d'environnement
  • Lignes directrices de signalement des vulnĂ©rabilitĂ©s

Modifié

  • Le backend utilise maintenant des variables d'environnement pour toute la configuration sensible Ă  la sĂ©curitĂ©
  • HĂ´te par dĂ©faut changĂ© de 0.0.0.0 Ă  127.0.0.1 pour des valeurs par dĂ©faut plus sĂ»res

0.0.5 - 2025-12-10

Ajouté

  • Traitement par lots : TĂ©lĂ©charger et convertir plusieurs fichiers Ă  la fois
  • Bascule du mode lots dans l'en-tĂŞte
  • Traiter plusieurs documents simultanĂ©ment

  • Extraction d'images et de tableaux :

  • Extraire les images intĂ©grĂ©es des documents
  • TĂ©lĂ©charger les images individuellement
  • Extraire les tableaux avec prĂ©servation complète des donnĂ©es
  • Exporter les tableaux au format CSV
  • Voir les aperçus de tableaux dans l'interface

  • Support RAG/Fragmentation :

  • Fragmentation de documents pour les applications RAG
  • Tokens max configurables par fragment (64-8192)
  • Option de fusion des fragments sous-dimensionnĂ©s
  • TĂ©lĂ©charger les fragments en JSON

  • Formats d'export supplĂ©mentaires :

  • Tokens de document (.tokens.json)
  • Fragments RAG (.chunks.json)
  • Export DocTags amĂ©liorĂ©

  • Options OCR avancĂ©es :

  • Plusieurs backends OCR : EasyOCR, Tesseract, macOS Vision, RapidOCR
  • Support d'accĂ©lĂ©ration GPU (EasyOCR)
  • Seuil de confiance configurable (0-1)
  • ContrĂ´le du seuil de zone bitmap
  • Support de plus de 28 langues

  • Options de structure de tableaux :

  • Modes de dĂ©tection Rapide vs PrĂ©cise
  • Configuration de correspondance des cellules
  • Bascule d'extraction de structure

  • Options de gĂ©nĂ©ration d'images :

  • GĂ©nĂ©rer les images de page
  • Extraire les images de figures
  • Extraire les images de tableaux
  • Échelle d'image configurable (0.1x - 4.0x)

  • Options de performance/accĂ©lĂ©rateur :

  • SĂ©lection de pĂ©riphĂ©rique : Auto, CPU, CUDA, MPS (Apple Silicon)
  • Configuration du nombre de threads (1-32)
  • Paramètre de timeout de document

  • Nouveaux endpoints API :

  • POST /api/convert/batch - Conversion par lots
  • GET /api/convert/<job_id>/images - Lister les images extraites
  • GET /api/convert/<job_id>/images/<id> - TĂ©lĂ©charger l'image
  • GET /api/convert/<job_id>/tables - Lister les tableaux extraits
  • GET /api/convert/<job_id>/tables/<id>/csv - TĂ©lĂ©charger le CSV du tableau
  • GET /api/convert/<job_id>/tables/<id>/image - TĂ©lĂ©charger l'image du tableau
  • GET /api/convert/<job_id>/chunks - Obtenir les fragments du document
  • GET/PUT /api/settings/performance - Paramètres de performance
  • GET/PUT /api/settings/chunking - Paramètres de fragmentation
  • GET /api/settings/formats - Lister tous les formats pris en charge

Modifié

  • Panneau des paramètres : Complètement repensĂ© avec toutes les nouvelles options
  • Options d'export : AmĂ©liorĂ©es avec des onglets pour diffĂ©rents types de contenu
  • DropZone : Mis Ă  jour avec les catĂ©gories de format et le support du mode lots
  • Service de conversion : Refactorisation majeure pour les options de pipeline dynamiques

Corrigé

  • Le calcul du score de confiance utilise maintenant les prĂ©dictions au niveau du cluster
  • Meilleure gestion du succès partiel de conversion

0.0.4 - 2025-12-10

Ajouté

  • Support OCR : IntĂ©gration OCR complète avec EasyOCR
  • Support de plus de 14 langues
  • Option Forcer OCR de page complète
  • Paramètres OCR configurables
  • Calcul de confiance amĂ©liorĂ© : Confiance moyenne des prĂ©dictions de mise en page

Modifié

  • Service de conversion mis Ă  jour pour utiliser les options de pipeline configurables
  • Panneau des paramètres amĂ©liorĂ© avec les options OCR

0.0.3 - 2025-12-10

Ajouté

  • Version initiale de Duckling
  • FonctionnalitĂ©s frontend :
  • TĂ©lĂ©chargement de fichiers par glisser-dĂ©poser
  • Progression de conversion en temps rĂ©el
  • Options d'export multi-format
  • Panneau des paramètres
  • Panneau d'historique des conversions
  • Thème sombre avec accent turquoise
  • Design responsive
  • Transitions animĂ©es

  • FonctionnalitĂ©s backend :

  • API REST Flask avec CORS
  • Conversion de documents asynchrone
  • Historique basĂ© sur SQLite
  • Gestion du tĂ©lĂ©chargement de fichiers
  • Paramètres configurables
  • Endpoint de vĂ©rification de santĂ©

  • Formats d'entrĂ©e pris en charge :

  • PDF, Word, PowerPoint, Excel
  • HTML, Markdown, CSV
  • Images (PNG, JPG, TIFF, etc.)
  • AsciiDoc, XML

  • Formats d'export :

  • Markdown, HTML, JSON
  • DocTags, texte brut

  • ExpĂ©rience dĂ©veloppeur :

  • Suites de tests complètes
  • Support Docker
  • TypeScript
  • Configuration ESLint

Sécurité

  • Validation des entrĂ©es pour le tĂ©lĂ©chargement de fichiers
  • Restrictions de type de fichier
  • Limites de taille maximale des fichiers
  • Gestion sĂ©curisĂ©e des noms de fichiers