Skip to content

History / 1.1 ClioDeck Installation ‐ Linux

Revisions

  • docs: Linux x86_64 est publie, la documentation le disait encore impossible Les binaires x86_64 sont desormais attaches a la rc.4. Toute la documentation affirmait « arm64 only — build from source on x86_64 », ce qui envoyait un utilisateur de PC compiler l'application pour rien. Les guides donnent la substitution (`-x86_64` -> `-arm64`) plutot qu'une seconde serie d'URLs : deux jeux de commandes a maintenir, c'est un jeu qui finira perime. Ils commencent par `uname -m`, parce que le mauvais fichier se telecharge parfaitement avant de refuser de demarrer — panne d'autant plus deroutante que rien n'a echoue. Le guide de construction gagne la raison du piege, qui n'etait ecrite nulle part : electron-builder n'inscrit l'architecture dans le nom que lorsqu'elle n'est pas x64, et la cible `linux` de package.json n'en declare aucune, donc elle herite de la machine de build. C'est ainsi qu'un Mac a produit des binaires arm64 dont le nom ne disait rien. D'ou la consigne : lire l'en-tete ELF, jamais le nom du fichier. Les tailles sont remesurees sur les six assets publies, avec l'ecart x86_64 explique — `node-llama-cpp` embarque CUDA et Vulkan sur cette architecture seulement. C'est un arbitrage, pas un defaut : ces binaires servent a qui a une carte NVIDIA, et pesent pour les autres. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

    @inactinique inactinique committed Jul 26, 2026
  • 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>

    @inactinique inactinique committed Jul 26, 2026
  • docs(wiki): treizième passe — embeddingProvider toujours sans UI (contradiction avec #18), variable d'environnement Wayland inexistante Aucun nouveau bug applicatif filé — uniquement des corrections de documentation, dont deux contradictions inter-pages qui avaient survécu 12 passes précédentes : - Technical Architecture : affirmait que embeddingProvider est sélectionnable depuis Settings → LLM au même titre que generationProvider — faux, aucune UI n'existe pour ce réglage (contredit directement l'issue #18 et le propre texte du guide LLM embarqué). Corrigé, et documentation du garde-fou réel découvert au passage : le repli automatique Ollama→embarqué pour les embeddings ne s'active que si les deux modèles partagent la même dimension de vecteur, sinon échec volontaire plutôt que corruption silencieuse de la recherche par similarité. - Export Presentations : les réglages de style de notes/bibliographie du livre étaient présentés sans réserve alors qu'ils sont entièrement figés (issue #24, documentée ailleurs mais pas liée ici) — lien ajouté. Autres corrections : - Installation Linux : `ELECTRON_NO_SANDBOX` n'est pas une variable d'environnement Electron réelle — le vrai nom est `ELECTRON_DISABLE_SANDBOX` ; commande de suppression de ~/.local/share/cliodeck retirée (l'app n'y écrit jamais, chemin Electron par défaut confirmé). - MCP Integration Guide : la nouvelle bannière de retry MCP a été qualifiée à tort de « silencieuse » — la transition par l'état `degraded` est en fait visible en temps réel dans l'UI (même code couleur que `failed`) ; seule la tentative elle-même est automatique, pas son affichage. - Zotero Integration Guide : documentation d'un comportement réel non documenté jusqu'ici — le mode local copie zotero.sqlite (+ le WAL) dans un fichier temporaire en lecture seule, donc sûr même avec Zotero ouvert en parallèle. Deux clusters entièrement propres cette passe (aucune correction) : meta & notes de version (méthode de vérification contre les tags git appliquée à un nouvel échantillon, tout confirmé), feature pages & home (balayage complet contre les issues #16-#28, rien trouvé).

    @inactinique inactinique committed Jul 24, 2026
  • docs(wiki): onzième passe — Unlink Obsidian écrase brain.db, compression de contexte jamais câblée Deux bugs applicatifs sérieux trouvés et filés cette passe, en changeant de méthode sur le cluster brainstorm/intégrations (deux passes propres consécutives, donc recherche de contradictions inter-pages et de collisions sur des ressources partagées plutôt que répéter les mêmes vérifications) : - issue #27 : le bouton « Unlink » d'un carnet Obsidian supprime le fichier .cliodeck/brain.db tout entier via fs.unlink, pas seulement l'index du carnet — obsidianStorePath() pointe vers le même fichier partagé que les vecteurs PDF, l'index Tropy et le journal de recherche depuis la consolidation. Documenté dans 1.14-Obsidian-Vault-Guide.md. - issue #28 : le système de compression de contexte RAG (ContextCompressor.ts) n'est appelé nulle part dans le vrai chemin de requête — retrieval-service.ts ne renseigne jamais le champ `compression` que chat-engine.ts vérifie en aval. Tout contexte récupéré part vers le LLM sans compression, quelle que soit sa taille. Documenté dans 2.-Technical-Architecture.md (section renommée « declared but dead »). Autres corrections : - Brainstorm Mode Guide + MCP Integration Guide : une vraie UI de bascule par outil existe désormais (bannière MCP, classification lecture/écriture avec opt-in explicite pour les outils d'écriture) — la note « UI minimale » était périmée, remplacée par une section complète. - Keyboard Shortcuts : nuances plateforme sur F11 (plein écran) et F12 (DevTools) sur macOS, même classe de lacune que Cmd+W (passe 10). - Logging System : dernière formulation trop large sur les DevTools et les variables d'environnement corrigée (seul CLIODESK_DEBUG/DEBUG ouvre les DevTools, pas CLIODESK_LOG_LEVEL ; les logs renderer révélés n'existent de toute façon plus dans le bundle de production). - RC2 Release Notes : le « problème connu » sur l'étape export des recipes était factuellement faux (document_id était déjà honoré à ce tag) — remplacé par la vraie limitation de l'époque (projectType 'article' figé), corrigée avant RC3. - Features.md : tableau de bord statistiques a 5 onglets, pas 4 (onglet Tags manquant). - Installation Linux : bibliothèques système manquantes dans le résumé (libsecret-1, libgbm) alors que présentes dans la commande d'installation réelle. - Build and Deployment Guide : build:all ne construit que pour la plateforme hôte, pas toutes les plateformes ; stockage des clés API documenté avec son repli en clair non signalé ailleurs quand le chiffrement OS n'est pas disponible.

    @inactinique inactinique committed Jul 24, 2026
  • docs(wiki): dixième passe — Cmd+W non lié sur macOS, filtre console inerte en renderer, chunking mal attribué - Keyboard Shortcuts : Cmd+W n'est pas réellement lié sur macOS (le sous-menu Window n'inclut le rôle 'close' que sur Windows/Linux) — corrigé et lié à l'issue #26 nouvellement créée. - Build and Deployment Guide + Logging System : CLIODESK_DEBUG et CLIODESK_LOG_LEVEL ne peuvent avoir d'effet observable que dans le process principal — la fenêtre renderer est créée avec contextIsolation/sandbox (sans condition dev/prod), donc son `typeof process` est toujours undefined et les branches basées sur ces variables d'environnement ne peuvent jamais s'exécuter côté renderer, indépendamment de esbuild qui supprime déjà les appels console.* en production. - Technical Architecture : le chunking "emergency" par découpage de phrases était attribué à Ollama, mais appartient en réalité au provider LLM embarqué (EmbeddedLLMClient.ts, seuil de 2000 caractères) — Ollama gère les dépassements par troncature côté serveur (`truncate: true`), l'inverse de ce qui était décrit. - Installation Linux : alignée sur macOS pour la note sur le venv Python (pas de création automatique, étape manuelle). - FEATURE_SIMILARITY_FINDER : contrôle manquant dans la liste ("Type de source" / sourceType) — les 6 contrôles réels sont maintenant tous listés. Deux nouveaux bugs applicatifs réels trouvés et filés : issue #25 (liens du menu Aide pointant vers le dépôt archivé inactinique/cliodeck au lieu de cliodeck/cliodeck-app) et issue #26 (Cmd+W non lié sur macOS, ci-dessus). Quatre clusters entièrement propres cette passe (aucune correction) : brainstorm & intégrations (deuxième passe consécutive sans trouvaille), meta & notes de version, feature pages & home (hors le contrôle manquant), LLM & analyse (hors l'attribution du chunking).

    @inactinique inactinique committed Jul 24, 2026
  • docs(wiki): neuvième passe — les réglages livre n'ont aucune UI, un bouton Test Connection qui n'existe pas pour Ollama - Books-and-Chapters : les quatre réglages livre (style de notes, numérotation, bibliographie, numérotation des chapitres) sont présentés comme configurables alors qu'aucun n'a de chemin d'interface — grep exhaustif : noteStyle n'apparaît que dans un fichier de test, bookSettings. n'est lu nulle part côté renderer sauf en lecture seule dans EditorPanel.tsx:169, ProjectPanel.tsx n'expose que le sélecteur de type de projet. Seul un projet.json modifié à la main permettrait de changer ces réglages — jamais mentionné comme possible. Plus large et plus impactant que les précédentes lacunes « capacité sans UI » vu le rôle central de la fonctionnalité livre. Filé en issue #24. - Guides Linux et macOS : « Click Test Connection to validate » dans la configuration LLM/Ollama — ce bouton n'existe que pour Zotero (ZoteroConfigSection.tsx). Le seul contrôle réel du panneau LLM est le bouton de rafraîchissement des modèles (icône 🔄). - Coût environnemental : preuve supplémentaire trouvée (recherche + vérification directe d'une source citée) que la littérature publiée sur le coût carbone de l'inférence LLM s'exprime généralement en grammes voire en milligrammes, pas en kilogrammes — une requête ChatGPT complète est couramment citée autour de 4 g CO2. Cela va à l'encontre de l'indice directionnel précédent (qui supposait que les chiffres à l'échelle du kg étaient probablement voulus). Aucune source précise n'a pu être retrouvée pour le taux exact de cette page dans un sens ou l'autre — l'encart reformulé pour présenter les deux indices contradictoires honnêtement, sans trancher.

    @inactinique inactinique committed Jul 24, 2026
  • docs(wiki): la vérification Ollama se déclenche à l'ouverture des Paramètres, pas au lancement Les quatre pages d'installation/build répétaient la même inexactitude, copiée telle quelle d'une page à l'autre : « au premier lancement, ClioDeck vérifie la connexion Ollama ». Vérifié dans ConfigPanel.tsx — le déclencheur réel est un useEffect qui se déclenche au montage du panneau Paramètres (handleRefreshModels), pas au démarrage de l'application. Un utilisateur qui n'ouvre jamais les Paramètres ne déclenche jamais cette vérification. Confirmé qu'aucune vérification équivalente n'existe au niveau du démarrage (App.tsx, main/index.ts).

    @inactinique inactinique committed Jul 24, 2026
  • docs(wiki): deuxième passe — corriger vectors.db, une régression de numérotation, et deux erreurs de sécurité factuelle Cette repasse adversariale a trouvé des erreurs que la première n'avait pas vues, y compris deux que j'ai moi-même introduites en corrigeant autre chose. **Régression introduite par mes propres corrections précédentes** : - Les arborescences de projet réécrites dans les guides Linux/macOS citaient `vectors.db` comme fichier d'index PDF. Vérifié frais contre backend/core/workspace/layout.ts:67 — le nom réel est `brain.db`, store partagé (PDF + Tropy + historique) depuis la fusion. `vectors.db` n'est qu'un nom pré-fusion, uniquement pertinent pour la migration d'anciens projets. Corrigé dans 1.-ClioDeck-Installation.md, 1.1-Linux, 1.2-macOS, et 2.1-Build-and-Deployment-Guide.md (cette dernière portait la même erreur, présente avant mes modifications). - Numérotation cassée dans « Option B: Installation from Source » (Linux et macOS) : la suppression d'une étape lors de ma correction precedente avait laissé un saut 3 → 5 sans renuméroter. Corrigé dans les deux fichiers. **Erreurs à impact utilisateur réel, ratées par la première passe** : - Obsidian Vault Guide : la page affirmait qu'« Unlink » laisse l'index en place et qu'un re-lien le réutilise. Vérifié contre fusion-handlers.ts:619-631 — le handler fait `fs.unlink(dbPath)`, l'index est bien supprimé ; se relier déclenche une reconstruction complète. Un utilisateur suivant l'ancienne description perdrait du temps à croire son index intact. Champ TITLE → TITRE corrigé au passage (vérifié fusion-chat-service.ts:838). - Tropy Integration Guide : un raccourci clavier Ctrl+Shift+S pour la synchronisation n'existe nulle part (grep sur menu.ts et les composants PrimarySources, aucune occurrence) — retiré. La page décrivait aussi les embeddings comme figés sur nomic-embed-text ; tropy-service.ts:98 utilise le provider configuré, comme partout ailleurs dans l'app. Chemins de stockage corrigés vers brain.db + primary-hnsw.index (vérifiés dans PrimarySourcesVectorStore.ts:125-126). - MCP Integration Guide : la troncature des réponses (4000 caractères, 2000 pour Gallica/HAL) n'était pas documentée alors qu'elle est visible dans les réglages de l'app elle-même ; ajoutée. Libellés des onglets alignés sur l'UI réelle (« Claude Code CLI », « Generic MCP (stdio) »). Build-and-Deployment-Guide.md : la section « User Installation » citait encore des noms de fichiers 1.0.0 sans suffixe arm64, alors que les guides Linux/macOS avaient déjà été corrigés dans le même sens la première fois — incohérence entre pages, maintenant alignée.

    @inactinique inactinique committed Jul 23, 2026
  • docs(wiki): réécrire le guide d'installation Linux, périmé depuis le prototype pré-1.0 Chaque correction vérifiée contre le code, pas contre une intuition : - Architecture : la page prétendait x86_64, mais la release rc.3 réelle ne publie que de l'arm64 (AppImage + .deb). x86_64 doit compiler depuis les sources. - Section .rpm entière supprimée : electron-builder ne construit ce format nulle part (cible Linux = AppImage + deb uniquement). - Structure de projet fabriquée (article.md, bibliography.bib, src/pdfs/, src/images/) remplacée par la vraie : project.json, document.md (article) ou chapters/ (livre), context.md, .cliodeck/. - `npx electron-rebuild -f` remplacé par `npm run rebuild:native` — le vrai flux du dépôt ; electron-rebuild n'est même pas une dépendance déclarée. - Version 0.1.0 codée en dur partout (noms de fichiers) remplacée par des instructions pointant vers la release courante. - gemma2:2b recommandé sans préciser qu'il ne peut pas utiliser d'outils (liste blanche Ollama) — ajouté, avec une alternative tool-capable. - « mxbai-embed-large (fallback) » corrigé : ce n'est pas un repli automatique, juste un modèle alternatif sélectionnable. - Section « Check Logs » corrigée : aucun fichier de log n'existe dans l'app, seulement la sortie console. - Liens morts (README.md, DEPLOYMENT.md, examples/) remplacés par des liens réels du wiki. - Licence MIT → GPLv3.

    @inactinique inactinique committed Jul 23, 2026
  • 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>

    @inactinique inactinique committed Jul 20, 2026
  • first commit after move from inactinique

    @inactinique inactinique committed Feb 9, 2026