Aller au contenu principal

Réglages → Gouvernance

Trois choses sur lesquelles une mémoire a besoin qu'un humain tranche vivent ici : quels fichiers peuvent être signalés comme doublons les uns des autres, quels dossiers deux coffres indexent tous les deux, et quelles applications ont été autorisées à lire un appareil de votre réseau domestique. L'entrée du rail s'appelle Gouvernance ; la page est titrée Détection de doublons et son sous-titre dit Le signal structurel (même nom de fichier) ne cible que les types documentaires : les projets dev qui partagent index.html, App.tsx ou des configs ne sont plus flaggés. Le signal sémantique continue de repérer un même document en plusieurs langues.

Rien sur cette page ne supprime un fichier. L'encadré en bas de la première section le dit : Rien n'est jamais supprimé — la détection ne fait que révéler les sosies pour que tu choisisses la source de vérité.

Pendant le chargement de la configuration la page dit Chargement… ; un échec de lecture ou d'écriture s'imprime en haut, en anglais ("Failed to load governance config", "Failed to save governance config").

Valeurs par défaut

En haut à droite de l'en-tête, Valeurs par défaut remplit les deux listes ci-dessous avec les valeurs d'usine. Il n'enregistre pas : pressez Enregistrer & rescanner ensuite, sinon la réinitialisation est perdue.

Types de fichiers documentaires

Seules ces extensions participent à la détection de doublons par nom (une par ligne, sans le point). Laisse vide pour considérer tous les types.

Une zone de texte, une extension par ligne. La liste par défaut est celle des formats de document : adoc, asciidoc, markdown, md, mdx, org, rst, tex, text, txt. Deux fichiers du même nom ne sont comparés par nom que si leur extension est dans cette liste ; c'est ainsi qu'index.html dans dix projets cesse d'être dix doublons.

Noms de fichiers ignorés

Noms de fichiers jamais traités comme doublons, même parmi les types documentaires (un par ligne). Boilerplate omniprésent comme readme.md ou package.json.

Une zone de texte, un nom de fichier par ligne. La liste par défaut couvre les fichiers que tout projet transporte : fichiers de paquet et de verrou (package.json, pnpm-lock.yaml, yarn.lock…), modules d'entrée (index.ts, main.ts, app.tsx…), squelette web (index.html, favicon.ico, robots.txt, style.css…), configuration d'outillage (tsconfig.json, .gitignore, vite.config.ts, dockerfile, .env…) et documents de dépôt (readme.md, license, changelog.md, contributing.md…). Tout tsconfig.*.json est ignoré quoi que dise la liste.

Enregistrer & rescanner

Enregistrer & rescanner (il dit Enregistrement… pendant ce temps) écrit les deux listes et lance un nouveau scan des doublons ; en cas de succès la ligne du bouton affiche ✓ Enregistré — rescan en cours.

Avant l'enregistrement, les listes sont normalisées : les entrées sont découpées sur les retours à la ligne, les virgules et les espaces, passées en minuscules et dédoublonnées ; le point initial d'une extension est retiré et les listes sont triées. Les zones de texte sont réécrites avec le résultat, donc ce que vous voyez après l'enregistrement est exactement ce qui est stocké.

Chevauchement de dossiers entre vaults

Quand deux vaults indexent le même dossier (souvent un vault large qui avale un sous-dossier déjà géré par un autre), chaque fichier est stocké en double. Résoudre garde le vault le plus spécifique et fait reculer le plus large — les doublons sont purgés mais journalisés de façon réversible.

Cette analyse ne tourne jamais toute seule à l'ouverture de la page : elle est assez lourde pour figer le panneau, donc elle attend le bouton. D'ici là, la section dit Aucune analyse lancée — lance une analyse pour révéler les chevauchements de dossiers entre vaults.

  • Analyser les vaults lance la première analyse ; ensuite le bouton devient Réanalyser. Il dit Analyse des vaults… pendant qu'il tourne.
  • Sans chevauchement : ✦ Aucun dossier en chevauchement — chaque vault surveille un périmètre distinct.
  • Une carte par chevauchement : le chemin concerné, puis gardé par {winner}, exclu de {loser}, et en couleur d'avertissement {n} chroniques en double. Chaque carte a son propre bouton Résoudre.
  • Tout résoudre n'apparaît que si des chevauchements ont été trouvés et résout chaque carte de la même façon, le vault le plus spécifique gagnant partout. Les deux disent Résolution… pendant ce temps.
  • En cas de succès : ✓ Résolu — {n} chroniques en double purgées, et la liste se réanalyse d'elle-même. Les échecs disent Échec de l'analyse des chevauchements ou Échec de la résolution.
Ce que Résoudre fait vraiment

Résoudre exclut le sous-dossier partagé du vault le plus large (comme une règle d'exclusion sur ce vault) et purge les chroniques en double que ce vault détenait pour lui. Les fichiers sur le disque ne sont pas touchés, et chaque purge est écrite dans le journal de provenance comme une décision réversible, jamais en silence. Le vault qui garde le dossier est le plus spécifique ; vérifiez la ligne gardé par avant de cliquer si ce n'est pas celui que vous vouliez.

Voir Coffres pour la façon dont les dossiers surveillés d'un coffre sont déclarés, et DocWatch pour ce qui arrive à un fichier une fois surveillé.

Appareils de votre réseau local

Les applications autorisées à lire un appareil de chez vous. Chacune a été approuvée séparément, et elles ne peuvent que LIRE : aucune ne peut commander un appareil par ce chemin. Révoquer arrête tout de suite, y compris les relèves en arrière-plan.

Il n'y a rien à ajouter ici. Une cartouche qui veut joindre un appareil de votre réseau vous le demande la première fois, dans une invite native ; cette section est l'endroit où ces autorisations sont listées et fermées.

  • Pendant le chargement de la liste : Lecture de la liste…. Si elle ne peut pas être lue : Impossible de lire la liste : suivi de l'erreur. Une liste illisible n'est jamais montrée comme vide, parce que ça vous dirait que votre réseau est fermé alors qu'il est peut-être ouvert.
  • Vide : Aucune application n'a été autorisée à joindre un appareil de votre réseau. La question vous sera posée la première fois que l'une essaiera.
  • Sinon, une carte par application, listant chaque hôte qu'elle peut lire, avec un bouton Révoquer par hôte (Révocation… pendant qu'il travaille). Tous les boutons Révoquer sont grisés pendant qu'un est en vol.

La révocation prend effet tout de suite pour l'application, et une veille en arrière-plan que l'application fait tourner la prend en compte à son prochain passage.