Second Brain documentation

ADR 0101 – Fil d'Ariane avec frères

Accepté (2026-10-17, vague 3 du document d'idées)

← Toutes les décisions

ADR 0101 – Fil d’Ariane avec frères

Statut : Accepté (2026-10-17, vague 3 du document d’idées)

Passer d’un nœud à un nœud voisin obligeait à remonter dans l’arbre ou à ouvrir la palette.

Décision

  • Un clic sur un élément du fil d’Ariane (ancêtre ou nœud courant) ouvre un menu qui liste ses frères : les nœuds de même parent, hors corbeille, triés par titre à la française, le nœud lui-même marqué (coche, aria-current). Choisir un frère l’ouvre.
  • Aucun endpoint nouveau : les frères de l’élément de rang i sont les enfants de l’ancêtre de rang i − 1 (GET /api/nodes/tree?parent=…, déjà utilisé par l’arbre et le panneau « Sous-nœuds »), ou les racines pour le premier élément (parent absent). Liste relue à chaque ouverture (elle change avec les créations et déplacements), limitée à 50 avec la mention « 50 premiers par titre affichés ». L’élément lui-même est toujours listé, dès l’ouverture, même au-delà de cette limite (racines nombreuses), pendant le chargement ou après une erreur : c’est le chemin du fil vers un ancêtre.
  • Clavier : les éléments sont des boutons (Tab, Entrée ou Espace) ; le menu Material gère les flèches, Début/Fin et Échap. Un ancêtre en corbeille reste du texte ; un nœud en création n’a pas de menu.
  • Les éléments du fil deviennent des boutons : aller à un ancêtre se fait en deux gestes (ouvrir le menu, choisir l’élément marqué), en échange de l’accès aux frères. L’arbre et le panneau de contexte restent les chemins directs vers un parent.
  • Logique pure dans features/nodes/breadcrumb-siblings.ts (parent des frères, tri, limite) ; le front ne connaît aucun type.

Alternatives écartées

  • Séparateur « › » cliquable : la cible est petite et l’on s’attend à ce que le clic sur le nom agisse.
  • Endpoint « frères » : le parent suffit ; un endpoint de plus n’apporte rien.