mirror of
https://github.com/core-hn/pseudobsidian-ization.git
synced 2026-07-22 06:57:06 +00:00
- Format DictionaryFile v1.1 : roles, configSchema, config, author, doi - DictionaryLoader : index de détection, résolution de classes, scanText (n-grammes), nextReplacement - Repo dédié pseudobsidian-dictionaries + fr-communes.dict.json (34 957 communes GeoAPI INSEE) - Wizard : catalogue de dictionnaires téléchargeables depuis le repo dédié (icônes cloud-download/check) - scripts/build-cities.mjs : génération du dictionnaire communes - DictScanReviewModal : modale de révision en cards (contexte, préfixe éditable, index calculé) - MappingScanReviewModal : modale de révision pour le scan par règles existantes - Onglet Dictionnaires : mini cards avec checkbox, scan individuel, scan groupé - Suppression onglet Candidats : scan règles → Mappings, scan NER → NER - RuleModal : suggestions dictionnaire séparées de Coulmont - docs : README, CHANGELOG, ROADMAP, SPECS §6 mis à jour
7.1 KiB
7.1 KiB
Changelog
[dev] v0.1.3 — 14 mai 2026
Branche : main | Tag : à venir
Nouvelles fonctionnalités
- Système de dictionnaires structurés — format
DictionaryFilev1.1 : champsroles(détection / remplacement / classes),configSchema(variables configurables avec valeurs possibles),config(valeurs actives),author,doi DictionaryLoader— service de chargement, index de détection normalisé, résolution de classes par conditions/regex/word-to-word, calcul d'index incrémental par portée- Repo dédié
pseudobsidian-dictionaries— catalogue de dictionnaires téléchargeables, premier dictionnaire : communes françaises GeoAPI INSEE (34 957 entrées, classes Village → Métropole) - Wizard — catalogue de dictionnaires : tableau scrollable avec bouton icône
cloud-download→refresh-cw(spin) →cloud-check; installation depuis le repo dédié sans quitter Obsidian scripts/build-cities.mjs— script one-shot de génération du dictionnaire communes depuis GeoAPI INSEE- Scan par dictionnaire (
Onglet Dictionnaires → Scanner) : fenêtre glissante de n-grammes, filtre par dictionnaires cochés, commande Ctrl+P disponible DictScanReviewModal— modale de révision en cards : terme source, catégorie (tiny), extrait de contexte avec terme surligné, préfixe éditable + index calculé en lecture seule (recalcul dynamique si décoché), checkbox par cardMappingScanReviewModal— modale de révision pour le scan par règles : tableau source → remplacement · occurrences, application directe dans le fichier source- Onglet Mappings — bouton "Scanner le fichier" ouvre
MappingScanReviewModal - Onglet NER — bouton "Identifier des candidats" en haut de l'onglet
RuleModal— suggestions de remplacement par classe (dictionnaire) séparées des suggestions Coulmont ; modal Coulmont n'affiche plus les suggestions dictionnaire (prénoms ≠ lieux)
Suppressions
- Onglet "Candidats" supprimé — le scan par règles est maintenant dans Mappings, le scan NER dans NER
Corrections
DictScanReviewModal: l'index n'est plus modifiable manuellement — seul le préfixe l'est, l'index se recalcule quand on coche/décoche des items- CSS : animation spin sur l'icône de téléchargement en cours, mini cards dictionnaires dans le panneau
[prod] v0.1.2 — 13 mai 2026
Branche : main | Tag : 0.1.2
Corrections
setInterval/clearIntervalremplacés par partage de Promise dansOnnxNerScanner— plus de polling, appels concurrents correctement gérés
[prod] v0.1.1 — 13 mai 2026
Branche : main | Tag : 0.1.1
Nouvelles fonctionnalités
- Onglet Dictionnaires — liste les
.dict.jsondu vault avec nombre d'entrées, import et suppression
Corrections portail communautaire Obsidian
onunload: suppression dedetachLeavesOfTypeeslint-disableetany: typeTransformersModuleexplicite dansOnnxNerScannerwindow.setInterval/clearInterval,window.setTimeout,activeDocumentFileManager.trashFile()à la place deVault.delete()activeLeafdéprécié →getActiveViewOfType(ItemView)- Imports inutilisés supprimés (
Setting,RuleLocation,fs) - Promises dans les event listeners wrappées avec
void (async () => {})() - CSS
text-decoration-color→border-bottom(support partiel) - Workflow
.github/workflows/release.yml— attestations GitHub Actions - Régénération
package-lock.json(erreur CIconcat-map404)
[prod] v0.1.0 — 13 mai 2026
Branche : main | Tag : 0.1.0
[dev] v0.1.0 — en cours
Branche : dev | Publié : non
Nouvelles fonctionnalités
- Panneau latéral (
PseudonymizationView) — 5 onglets : Candidats, Mappings, Dictionnaires, Exports, NER - Détection NER (
OnnxNerScanner) — modèle BERT-NER multilingue viatransformers.js(WASM, 100 % local)- Surlignage bleu des candidats dans l'éditeur
- Filtrage des sous-termes de règles composées (Saint-Jean-de-Luz filtre Jean/Luz)
- Paramètres ajustables : seuil de confiance, mots fonctionnels exclus (onglet NER)
- Wizard onboarding — 3 étapes : bienvenue, setup NER (téléchargement WASM ~19 Mo), import dictionnaires
- Marqueurs
{{...}}activés par défaut dans les remplacements en direct et les exports - Clic droit → Annuler la pseudonymisation — restaure le terme original (sur termes verts)
- Surlignage : vert + souligné pour les remplacements en direct ; fichiers
*.pseudonymized.*surlignés avec les règles du fichier source - Import de dictionnaires
.dict.jsondepuis le wizard - Paramètres NER :
nerBackend,nerMinScore,nerFunctionWordsdans les settings - eslint_violations.md — référence du lint Obsidian et commande de test local
Corrections
style.marginLeft→ classe CSS (no-static-styles-assignment)- Icônes UI (✓ ✗ ← → +) déplacées en CSS
::before/::after getActiveFile()polyfill pour le panneau latéral (garde le dernier fichier connu)import.meta.urlpolyfill dans esbuild pour@xenova/transformers/src/env.js- Alias
onnxruntime-node → ort-web.node.jspour éviter les binaires natifs non bundlables env.cacheDirfixé avantpipeline()(évitepath.join(null, ...))- Références institutionnelles incorrectes supprimées (ICAR, CNRS)
Technique
@xenova/transformersv2.17.2 ajouté comme dépendance- esbuild :
target: es2020,platform: browserretiré, banner polyfillimport.meta.url tsconfig.json: target ES2020, lib ES2020
[prod] v0.0.4 — 12 mai 2026
Branche : main | Tag : 0.0.4 | Publié : GitLab + GitHub (core-hn/pseudobsidian-ization)
Corrections bot Obsidian
- Suppression du heading "Pseudonymizer tool" en tête des settings (
settings-tab/no-manual-html-headings)
[prod] v0.0.3 — mai 2026
Branche : main | Tag : 0.0.3
Corrections bot Obsidian (Required)
style.cssTextetsetAttribute('style')→ classes CSS (no-static-styles-assignment)- Headings
<h2>/<h3>dans les settings →new Setting().setHeading()(settings-tab/no-manual-html-headings) - Promesses flottantes → opérateur
void(no-floating-promises) - Sentence case sur les labels UI
[prod] v0.0.2 — mai 2026
Branche : main | Tag : 0.0.2
Changements
- Rename du plugin :
pseudobsidianization→pseudonymizer-tool(exigence répertoire communautaire) - Description
manifest.jsonen anglais
[prod] v0.0.1 — mai 2026
Branche : main | Tag : 0.0.1
Première release
- Parsers SRT et CHAT/CHA avec round-trip garanti
- Moteur de pseudonymisation (spans, priorité z-index, protection chevauchements)
- Portées fichier / dossier / vault
- Surlignage CM6 (orange = sources, vert = remplacements)
- Validation sélective par occurrence (OccurrencesModal)
- Import de transcriptions avec conversion automatique
- Intégration Coulmont (suggestions de prénoms sociologiquement équivalents)
- Soumission PR #12766 au répertoire communautaire Obsidian