-
Notifications
You must be signed in to change notification settings - Fork 0
1.6 Tropy Integration Guide
Version: 1.0.0-rc.3 (re-verified) Dernière mise à jour: 2026-07-20
ClioDeck intègre Tropy, le logiciel de gestion de sources primaires développé par le Roy Rosenzweig Center for History and New Media. Cette intégration permet d'inclure vos archives photographiées et transcrites dans le système RAG, aux côtés de vos sources secondaires (PDFs bibliographiques).
-
Import de projets Tropy : Lecture des fichiers
.tropy(packages) et.tpy(bases SQLite) - Synchronisation des métadonnées : Titre, date, créateur, archive, collection, tags
- Import des transcriptions : Notes Tropy, Transkribus, OCR Tesseract (par ordre de priorité)
- Recherche unifiée : Les sources primaires sont interrogeables via le chat RAG
- Surveillance automatique : Détection des modifications du fichier Tropy
- Tropy installé sur votre machine (téléchargement)
- Un projet Tropy existant avec des items
| Format | Extension | Description |
|---|---|---|
| Tropy Package | .tropy |
Dossier contenant project.tpy et assets/
|
| Base SQLite | .tpy |
Fichier de base de données direct |
- Dans ClioDeck, ouvrez votre projet
- Accédez au panneau Sources Primaires (icône archive dans la barre latérale)
- Cliquez sur Ouvrir un projet Tropy
- Sélectionnez votre fichier
.tropyou.tpy
Une fois le projet ouvert, cliquez sur Synchroniser pour importer :
- Les métadonnées de chaque item (titre, date, créateur, etc.)
- Les tags associés
- Les notes (transcriptions) de l'item, des photos et des sélections
- Les chemins vers les photos
| Option | Description | Défaut |
|---|---|---|
| Effectuer l'OCR | Lancer Tesseract sur les images sans transcription | Désactivé |
| Langue OCR | Langue pour la reconnaissance de caractères | Français |
Item (source primaire)
├── Métadonnées (titre, date, créateur, archive, collection)
├── Tags
├── Notes (transcriptions au niveau item)
└── Photos
├── Notes (transcriptions au niveau photo)
└── Sélections
└── Notes (transcriptions au niveau sélection)
ClioDeck extrait automatiquement les propriétés Dublin Core et Tropy :
| Propriété | Utilisation |
|---|---|
title |
Titre affiché et indexé |
date |
Date du document |
creator |
Auteur/créateur |
archive |
Institution de conservation |
collection |
Collection ou fonds |
type |
Type de document |
ClioDeck supporte plusieurs sources de transcription, par ordre de priorité :
- Notes Tropy : Transcriptions saisies directement dans Tropy
- Transkribus : Import de fichiers PAGE XML ou ALTO (cherché avant l'OCR)
- OCR Tesseract : Reconnaissance optique via Tesseract.js, seulement si rien d'autre n'a produit de transcription
- Manuel : Transcription saisie dans ClioDeck
Les notes de Tropy sont automatiquement importées comme transcriptions :
- Notes de l'item → Transcription principale
- Notes des photos → Concaténées à la transcription
- Notes des sélections → Concaténées avec contexte
Pour les images sans transcription, ClioDeck peut effectuer l'OCR :
- Activez Effectuer l'OCR dans les options de synchronisation
- Sélectionnez la Langue OCR appropriée
- Lancez la synchronisation
Langues supportées (15 au total) : Français, Anglais, Allemand, Espagnol, Italien, Latin, Portugais, Néerlandais, Polonais, Russe, Grec ancien, Hébreu, Arabe, Moyen français, Allemand Fraktur
ClioDeck supporte plusieurs formats d'import de transcriptions :
| Format | Extension | Description |
|---|---|---|
| PAGE XML | .xml |
Format Transkribus standard |
| ALTO XML | .xml |
Format d'OCR structuré |
| Plain Text | .txt |
Texte brut simple |
Procédure d'import :
- Exportez depuis Transkribus au format PAGE XML ou ALTO
- Dans ClioDeck, utilisez Importer une transcription
- Sélectionnez le fichier exporté
- Associez-le à la source primaire correspondante
Le système détecte automatiquement le format et extrait le texte avec les métadonnées de confiance si disponibles.
Les sources primaires sont indexées dans brain.db (le store partagé avec les PDF et l'historique de recherche) avec :
- Chunking optimisé : Découpage intelligent du texte (300 mots, overlap 50)
- Filtrage qualité : Suppression des chunks de faible qualité (entropie, mots uniques)
- Dédoublonnage : Élimination des chunks similaires
- Embeddings : via le provider d'embeddings configuré (Ollama, embarqué, ou un provider cloud) — pas un choix figé sur nomic-embed-text
La recherche dans les sources primaires utilise le même système hybride que les PDFs :
- HNSW : Recherche sémantique rapide
- BM25 : Recherche par mots-clés
- RRF : Fusion des résultats (Reciprocal Rank Fusion)
Les sources primaires sont automatiquement incluses dans les recherches RAG :
Question : "Que dit la correspondance de 1914 sur la mobilisation ?"
→ ClioDeck recherche dans :
- PDFs indexés (sources secondaires)
- Sources Tropy (sources primaires)
→ Les résultats pertinents des deux sources alimentent la réponse
Le nom de la collection s'affiche sur chaque source (carte primaire) et
dans les statistiques agrégées, mais il n'existe aucun filtre de
recherche par collection accessible depuis l'interface. Une action
setCollectionFilter existe bien côté store (primarySourcesStore.ts),
mais elle est orpheline — aucun composant sous PrimarySources/ ne
l'appelle, et RAGConfigSection.tsx n'y fait aucune référence.
ClioDeck peut surveiller votre fichier .tpy pour détecter les modifications :
- Activez Auto-sync dans les paramètres du projet Tropy
- ClioDeck détectera les changements lorsque vous sauvegardez dans Tropy
- La resynchronisation se déclenche automatiquement et silencieusement — il n'y a pas de notification ni de choix à faire, contrairement à ce qu'une version antérieure de cette page laissait entendre (vérifié dans
tropy-service.tsetprimarySourcesStore.ts: le gestionnaire de changement de fichier relance directementsyncTPY(), sans aucune alerte affichée).
Une erreur du watcher est journalisée côté processus principal (tropy-service.ts), mais n'a aujourd'hui aucun affichage côté interface — pas d'alerte visible si le watcher échoue silencieusement.
- Utilisez des tags cohérents : Ils sont importés et permettent le filtrage
- Renseignez les métadonnées : Titre, date, archive facilitent la citation
- Transcrivez dans les notes : Les notes Tropy sont la source privilégiée
- Photographiez et organisez vos archives dans Tropy
- Transcrivez les documents importants (notes Tropy ou Transkribus)
- Synchronisez avec ClioDeck
- Utilisez le chat RAG pour interroger vos sources primaires
- Gros projets : La première synchronisation peut être longue (génération des embeddings)
- Re-synchronisation : Seuls les items modifiés sont traités
- OCR : Désactivez-le si vous avez déjà des transcriptions
Causes possibles :
- Chemin incorrect vers le fichier
.tropyou.tpy - Fichier corrompu ou incompatible
Solutions :
- Vérifiez que le fichier existe et est accessible
- Essayez d'ouvrir le projet dans Tropy pour valider son intégrité
Causes possibles :
- Notes non enregistrées dans Tropy
- Synchronisation incomplète
Solutions :
- Sauvegardez votre projet dans Tropy
- Relancez la synchronisation dans ClioDeck
Causes possibles :
- Embeddings non générés
- Transcription vide ou trop courte
Solutions :
- Vérifiez que la source a une transcription (> 50 caractères)
- Consultez les logs pour les erreurs d'embedding
Causes possibles :
- Le provider d'embeddings configuré n'est pas disponible (Ollama non démarré, modèle embarqué non téléchargé, ou clé cloud manquante — selon ce que vous utilisez)
- Trop d'items à synchroniser
Solutions :
- Vérifiez que votre provider d'embeddings configuré (Settings → LLM) est bien disponible avant de synchroniser
- Synchronisez par lots si vous avez beaucoup d'items
Aucun raccourci clavier dédié n'existe pour la synchronisation Tropy — utilisez le bouton Sync du panneau.
Le service Tropy (tropy-service.ts) expose les méthodes suivantes :
| Méthode | Description |
|---|---|
openProject(path) |
Ouvre un projet Tropy |
sync(options) |
Synchronise les données |
search(query, options) |
Recherche dans les sources |
getAllSources() |
Récupère toutes les sources |
getStatistics() |
Statistiques du corpus |
Les sources primaires utilisent PrimarySourcesVectorStore :
- Base de données :
{projet}/.cliodeck/brain.db(store partagé, pas un fichier dédié) - Index HNSW :
{projet}/.cliodeck/primary-hnsw.index - Index BM25 : En mémoire, reconstruit au chargement