docs(wiki): commandes d'installation reparees — les noms d'assets ont change en rc.4
Les guides donnaient des commandes `wget` avec les URL de rc.3. Bumper le
seul numero de version ne suffisait pas : les fichiers publies portent
desormais un prefixe de plateforme (`Linux.AppImage.-.`, `Mac.Silicon.-.`),
si bien qu'une URL construite a l'ancienne rend un 404. C'est exactement ce
sur quoi un nouvel utilisateur bute, et rien dans la page ne le lui dirait.
Les trois URL de telechargement du wiki sont verifiees : elles repondent en
200. Un commentaire dans chaque bloc explique le prefixe, pour que la
prochaine mise a jour ne refasse pas l'erreur.
Tailles d'installeurs mesurees sur les fichiers reellement publies, plutot
que reconduites : 262 Mo (AppImage), 158 Mo (deb), 263 et 268 Mo (DMG
Silicon et Intel).
En-tetes `**Version**` des neuf pages concernees passes en 1.0.0-rc.4.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
docs(wiki): RC4 — notes de version, et 23 defauts documentes qui n'existent plus
Le wiki citait 23 issues comme ouvertes. Toutes sont fermees : chaque
« voir issue #N » decrivait donc un defaut corrige, et le wiki decrivait
une application qui n'existe plus.
Nouvelles notes de version (3.4), sur le modele des RC3 : orientees
utilisateur, ordonnees par ce qu'on perdait ou voyait de faux plutot que
par famille technique. La section 1 s'ouvre sur les deux defauts qui
retiraient du texte d'un livre exporte, parce que c'est ce qu'un auteur
doit lire en premier.
Dix-huit pages corrigees. Le plus souvent, un long paragraphe decrivant un
bug verifie dans le code est remplace par sa resolution — d'ou un diff qui
retire plus de lignes qu'il n'en ajoute. Les affirmations les plus
trompeuses etaient :
- les reglages d'ouvrage « n'ont aucune UI » (ils en ont une depuis la RC4)
- l'export Word d'un livre cite « sort vide » (corrige)
- le corpus manuscrit sans interface (elle existe)
- le compresseur de contexte « jamais appele » (cable, et ses trois
distorsions corrigees)
- `embeddingProvider` sans controle (section Embeddings)
- le filtre par collection absent, le bouton OCR manuel injoignable, le
toggle des noeuds auteurs desactive en dur
Home annonce la RC4 ; Features passe en 1.0.0-rc.4 et gagne deux sections
— corpus manuscrit et accessibilite — qui n'avaient nulle part ou vivre.
Les limitations connues des notes RC4 sont argumentees, pas subies :
pdfjs-dist renvoie a #77, et le mode de detection seule de l'inspecteur
explique pourquoi une source primaire contenant des imperatifs ne doit pas
etre tronquee.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
docs(wiki): dix-septième passe — les deux journaux peuvent être attribués au mauvais projet après un changement
Un nouveau bug applicatif réel trouvé et filé cette passe, dans la même
famille que les issues #33/#34/#35/#38/#39 (relire un état de singleton
en direct après un await asynchrone) :
- issue #40 : les deux journaux (journal de recherche brain.db, journal
d'usage IA journal.db) peuvent recevoir un événement attribué au
mauvais projet après un changement — HistoryService.init() implique
une vraie fenêtre d'I/O asynchrone, et chaque site d'écriture relit
le gestionnaire courant plutôt que de garder une référence figée.
Contrairement au cas de l'indexation PDF (#38), cela ne plante pas :
l'écriture réussit toujours, juste dans le mauvais journal.
Trois vérifications ciblées sont revenues négatives (comportement déjà
sûr, pas un bug) : le cache de undo/historique d'état de l'éditeur est
entièrement vidé à chaque changement de projet (commentaire du code
nommant explicitement ce risque de collision) ; les caches
d'embeddings de requête et de chunk sont des fonctions pures
texte→vecteur sans donnée spécifique au projet, donc sans risque de
fuite ; la synchronisation Tropy reçoit son vectorStore en paramètre
explicite capturé une fois, contrairement à Zotero.
Autres corrections :
- Features.md : quatre lacunes de complétude comblées — quatre bugs
déjà filés (#19, #17/minTopicSize, #37, #38) n'étaient pas encore
répercutés dans les puces correspondantes de la page.
- RC3 Release Notes : #37 et #38 ajoutés à la liste des bugs trouvés
depuis la sortie, en réappliquant le même critère de sévérité que la
passe précédente.
- Logging System : cinquième passe consécutive trouvant encore une
petite incohérence interne (la section Environment Detection et
l'exemple Checking Filter Status ne portaient pas la réserve
« uniquement dans le process principal » déjà présente ailleurs sur
la page).
- Tropy Integration Guide : précision sur une connexion vectorStore non
fermée à chaque changement de projet dans TropyService.init() — pas
un nouveau bug en soi, déjà substantiellement couvert par les issues
#29 et #34 existantes.
- Archive Connectors Guide : confirmation que la clé API Europeana est
globale à l'application, jamais scopée par projet — aucun risque de
fuite inter-projets à ce niveau.
Cluster install & build : troisième passe consécutive entièrement
propre, convergence confirmée (matrice OS/architecture et intégrité
des liens vers les 39 issues re-vérifiées, tout tient).
docs(wiki): venv Python répète l'erreur manuelle/automatique, diagramme de session clarifié
- Corpus Analysis Guide : « Installation automatique au premier usage »
pour l'environnement Python — même erreur déjà corrigée sur le guide
macOS (topic-modeling-handlers.ts:3 : gestion manuelle explicite),
jamais propagée ici.
- Journal and History : le diagramme « Structure » ne montre que des
échanges question/réponse, en tension avec la ligne « Total events »
juste en dessous qui précise (depuis la passe 4) que les opérations
de document, PDF et les décisions de proposition comptent aussi.
Légende ajoutée pour éviter la contradiction de lecture.
docs(wiki): deux sections entières fabriquées — reprise de conversation et timeline calendaire
- « Resuming a conversation » décrivait une fonctionnalité qui n'existe
pas : ChatHistoryView.tsx est un rendu en lecture seule pur, sans
gestionnaire de clic ni mutation d'état. Recherche exhaustive de
resumeConversation/resumeSession/continueConversation/etc. dans tout
le renderer et le main : aucun résultat. Toute la sous-section
« Limits » décrivait les limites d'une fonctionnalité qui n'a pas
lieu d'en avoir, puisqu'elle n'existe pas.
- « Session timeline » décrivait une vue calendaire/heatmap avec survol,
clic pour filtrer par jour et zoom semaine/mois/année. Le vrai
composant (SessionTimeline.tsx, lu intégralement) est une simple
liste verticale d'événements au sein d'UNE session — aucun
agrégat par jour, aucun survol, aucun filtre, aucun zoom.
- Bullet « Context recovery: pick up an earlier conversation » en tête
de page retiré — contredisait directement la correction ci-dessus.
docs(wiki): quatre champs fabriqués dans Journal and History
- « Exchanges: nombre de questions/réponses » — le vrai champ affiché
est un compteur générique (eventCount), incrémenté aussi par les
opérations IA, les éditions de document et les décisions de
proposition (HistoryManager.ts).
- « Sources consulted » comme champ de session : n'existe pas à ce
niveau — les sources restent affichées par échange, pas agrégées
(JournalPanel.tsx ne contient aucune occurrence de "sources").
- « Model: quel LLM a répondu » par échange : ChatMessage
(journalStore.ts:41-48) n'a aucun champ model. Jamais stocké,
jamais affiché.
- « Exportable depuis sa propre fenêtre (Ctrl/Cmd+J) » : faux pour la
moitié UI — la fenêtre n'a aucun bouton d'export, seule la commande
cliodeck-journal export fonctionne réellement.
docs(wiki): deuxième passe — corriger une erreur dans ma propre réécriture, et un vrai manque d'UI
**Erreur dans ma propre correction précédente** :
- Guide des LLM embarqués : j'avais écrit que embeddingProvider se
règle « dans Paramètres → LLM » au même titre que generationProvider.
Faux — vérifié frais : grep sur tout src/renderer/ pour
"embeddingProvider" ne retourne aucun fichier ; RAGSettingsPanel.tsx
n'écrit jamais que generationProvider ; EmbeddedLLMSection.tsx ne
contient aucune occurrence du mot "embedding". Le moteur sait faire
des embeddings embarqués, mais rien dans l'interface ne permet de
les sélectionner ou de télécharger le modèle — seule l'édition
manuelle du fichier de configuration le permet aujourd'hui. Corrigé
à quatre endroits de la page, et signalé comme un vrai manque produit
en issue #18 (https://github.com/cliodeck/cliodeck-app/issues/18),
pas seulement un défaut de documentation.
**Erreur dans ma réécriture du guide Word Templates** : le découpage en
trois routes d'export était faux. Vérifié frais dans word-export.ts —
mergeWithTemplate() (fusion par {placeholders}) ne dépend que de
templatePath, pas du tout de useEnginePipeline. Il n'y a que deux
mécanismes réels : pandoc+reference-doc (styles, uniquement si
bibliographie + pandoc + moteur de citation non demandé), et
native+docxtemplater (placeholders, dans tous les autres cas — y
compris bibliographie + moteur de citation demandé, que ma première
version traitait à tort comme une troisième route « à base de styles »).
**Erreurs ratées par la première passe** :
- Corpus Analysis Guide : langue par défaut du topic modeling annoncée
« Français », en réalité « multilingual » (main.py:54-56,
useCorpusData.ts:145).
- Journal and History : une « icône History dans le panneau de chat »
fabriquée — AssistantChat.tsx n'a aucune référence à l'historique ;
le vrai composant de navigation (ChatHistoryView.tsx) ne vit que dans
le panneau Journal. Reformulé pour dire que c'est la même donnée,
pas une fonctionnalité séparée.
- Technical Architecture : la section Primary Sources (Tropy) décrivait
encore un vector store autonome (sources.db/sources.hnsw) alors que
PrimarySourcesVectorStore utilise le brain.db partagé depuis la
fusion — contradiction interne avec la section Key Architecture Files
déjà corrigée sur cette même page. L'étape « Dense Search » appelait
encore ollamaClient.generateEmbedding(), contredisant l'étape
Embedding Generation juste au-dessus, déjà corrigée elle aussi.
- Obsidian Vault Guide : « alongside the other workspace databases
(vectors.db, primary-sources.db) » — ces deux noms sont pré-fusion,
le vrai voisin est brain.db.
docs(wiki): retirer une suppression fabriquée et un renvoi de purge dangereux
Deux fonctionnalités décrites n'existent pas :
- « Delete » (icône corbeille) sur une session : aucune fonction de
suppression n'existe dans history-service.ts ni les composants Journal.
- « Purge history » via Settings → Database : le seul bouton de purge
réel (Settings → Actions) purge l'index vectoriel des PDF — pas
l'historique. Un lecteur suivant cette page pour alléger son journal
effacerait en fait tout son index PDF et devrait tout réindexer.
Signalé séparément en tant que bug produit :
https://github.com/cliodeck/cliodeck-app/issues/16
Filtrage également corrigé : seul « masquer les sessions vides » est
câblé. Le filtre par date n'existe pas ; le filtre par mot-clé existe
dans le store mais n'est relié à aucun composant.
Les deux autres mentions de purge (bonnes pratiques, dépannage) ajustées
en conséquence, sans quoi elles restaient une invitation à cliquer sur
un bouton qui ne fait pas ce que la page promettait.
docs: seconde passe du wiki — vérifications, traductions, parcours débutant
La relecture adverse a rattrapé, entre autres, une erreur introduite par
la première passe : le guide des LLM embarqués affirmait désormais que
ClioDeck pouvait produire ses embeddings sans Ollama, au motif que le
catalogue propose un modèle embarqué et que le réglage existe. En traçant
l'appel jusqu'au registre de providers, il n'y a aucune branche
embarquée : le réglage ne change rien. La page dit maintenant la vérité,
écart entre catalogue et câblage compris.
Autres rattrapages :
- vingt liens vers l'ancien dépôt inactinique/cliodeck, dans sept pages
dont les deux guides d'installation ;
- la page journal décrivait .cliodeck/history.db et un dossier
conversations/, vestiges d'avant la fusion : tout vit dans brain.db ;
- six pages en français dans un wiki anglophone, et non deux comme la
première passe l'avait cru — les deux nommées sont traduites, quatre
restent ;
- quatre imprécisions dans les pages créées à la première passe (plan
derrière un dépliant, libellés réels des boutons, troncature de la
recherche, message d'un fichier manquant).
Créé : 1.0-Getting-Started, qui comblait le trou entre « installer » et
« écrire » — rien n'expliquait comment créer un projet ni ce que le choix
du type implique.
Les cinq pages laissées sous bandeau à la première passe ont été reprises
ligne à ligne : une était fausse, quatre exactes. Plus aucun bandeau.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
docs: wiki à jour pour la 1.0.0-rc.3
Les 33 pages ont été confrontées au code, pas réécrites de mémoire.
Créées : « Writing a Book — Chapters Guide » (la nouveauté majeure de
cette version : manifeste, navigateur, plan, recherche d'ouvrage,
renumérotation, réglages, exports), « The Editor » (CodeMirror 6 en rendu
live, notes et citations pandoc, fidélité octet pour octet, propositions
adjudicables) et les notes de version RC3.
Corrigées, entre autres :
- Features et Technical Architecture annonçaient encore l'éditeur
Milkdown, retiré depuis ;
- trois raccourcis documentés n'existent pas (Ctrl+Shift+S, Ctrl+Shift+L,
Alt+4) et Ctrl+J n'était pas documenté — vérifié dans menu.ts ;
- « Export Presentations » ne parlait pas des présentations malgré son
titre : ni reveal.js, ni modes en ligne/hors ligne/PDF, ni Beamer ;
- Electron 28 dans deux pages, alors que le projet est en 40.9.2 ;
- le journal d'usage IA distingue désormais ses deux couches et
enregistre les adjudications de propositions.
Cinq pages anciennes (Tropy, LLM embarqués, analyse de corpus,
similarité, stratégie d'embeddings) portent un bandeau signalant qu'elles
n'ont pas été revérifiées ligne à ligne : elles ne contiennent rien de
manifestement faux, mais leur horodatage est ancien.
Aucune page supprimée. Le wiki ne contient aucune capture d'écran : rien
à refaire de ce côté.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
first commit after move from inactinique