MedGuru Docsv0.17.0 Voir le changelog
Skip to content

Identification du magazine à l'upload

Depuis la version introduisant #538 (F-DETECT-MAGAZINE-ID), chaque PDF uploadé passe par une étape d'identification avant que le pipeline ne démarre.

Déroulé

1 · Dépôt du PDF

Drag & drop ou « Parcourir » depuis la page Imports.

2 · Identification automatique

Claude Vision analyse la 1ère page de chaque PDF (~3 s par fichier, lancé en parallèle) pour extraire :

  • Titre du magazine
  • ISSN si visible
  • Éditeur si visible
  • Année d'édition

3 · Match dans le catalogue

Le système cherche ensuite des correspondances dans les magazines déjà enregistrés :

Niveau de matchConfidence
Slug normalisé exact0.95
Nom exact (case-insensitive)0.90
Nom proche (Levenshtein ≥ 0.7)0.60 – 0.85

Le badge confidence est color-coded :

  • 🟢 Vert ≥ 85 % : match fiable (pré-sélectionné automatiquement)
  • 🟠 Ambre 60–84 % : match probable (pré-sélectionné, à vérifier)
  • Gris < 60 % : aucun match convaincant (dropdown vide, CTA « Créer »)

4 · Confirmation humaine

Pour chaque fichier :

  • Le dropdown magazine est pré-rempli avec le meilleur candidat si confidence ≥ 60 %.
  • Tu peux toujours corriger — la confirmation humaine est obligatoire avant le lancement.
  • Tu peux désactiver l'association (option « Sans magazine — import générique »).
  • Si aucun match fiable et Claude a détecté un titre, un CTA « Créer ce magazine dans le catalogue » ouvre Backstage avec le titre pré-rempli.

5 · Lancement de l'upload

Clic sur « Lancer l'upload »POST /api/imports avec le champ magazine_id rattaché au fichier. Le pipeline d'extraction utilisera ce magazine pour l'association des formats tarifés (phase suivante : F-DETECT-TARGETED PR 2/3).

Cas gérés

CasComportement
PDF d'un magazine existant et bien référencéMatch 85–100 %, pré-sélection auto, user valide
PDF d'un magazine existant mais titre mal orthographiéMatch fuzzy 60–85 %, user corrige via dropdown
PDF d'un magazine inconnuAucun match, CTA « Créer » vers Backstage
PDF sans titre clairement lisibleDropdown vide, user choisit manuellement
Plusieurs PDFs simultanésIdentification en parallèle, liste par fichier

Limitations (PR 1)

  • L'identification ne consulte que la 1ère page : un titre uniquement présent page 2+ n'est pas détecté.
  • Pas encore de matching par ISSN (l'entité Magazine n'a pas de champ ISSN — à ajouter dans une PR future si besoin).
  • Le pipeline de détection des publicités lui-même ne change pas encore — il utilisera le magazine_id rattaché dans F-DETECT-TARGETED PR 2.

Références

  • Issue épic : #538
  • DDT : docs/superpowers/specs/2026-04-23-f-detect-magazine-id-design.md
  • Plan : docs/superpowers/plans/2026-04-23-f-detect-magazine-id.md
  • Service backend : data-api/src/Service/Ingestion/MagazineIdentifier.php
  • Component frontend : frontend/src/components/imports/MagazineIdentificationStep.tsx

Version v0.17.0 — Changelog