F3 · Annuler, refaire, et changer de branche
L'historique arborescent
Un moteur d'historique où l'on ne remonte pas une pile mais un arbre. On peut sauter vers n'importe quelle branche abandonnée.
01Ce que c'est
Dans un logiciel ordinaire, annuler puis agir efface le futur : la branche que vous veniez de quitter est perdue. Ici chaque lien entre un état et son suivant porte la transformation qui les sépare, et rien n'est effacé.
Annuler remonte au parent, refaire descend vers un enfant, et l'on peut aussi sauter latéralement vers une branche laissée de côté il y a une heure. Le journal n'est écrit qu'en fin ; il ne se réécrit jamais.
02Les points clés
- Chaque lien porte sa transformation
- L'histoire n'est pas une suite d'états, mais de passages.
- Aucune branche perdue
- Agir après avoir annulé crée une bifurcation, n'efface rien.
- Journal en ajout seul
- Ce qui est écrit n'est jamais modifié.
03Quatre points de vue
◐ Ce que ça change à l'écran
Qu'est-ce que je vois, et qu'est-ce que je fais autrement ?
Vous essayez une piste, elle ne vous plaît pas, vous revenez en arrière et vous en essayez une autre. Une heure plus tard, la première piste est toujours là, et vous pouvez y retourner.
⌥ Brancher ça chez soi
Par où ça entre dans mon logiciel, et qu'est-ce que ça me coûte ?
Vous déclarez vos transformations et leur inverse. L'arbre, les sauts et le journal viennent avec. Vous ne tenez plus de pile d'annulation dans votre code.
◆ Ce que ça vous fait gagner
Quel risque ça lève, et qu'est-ce qui est vérifiable ?
Le travail exploratoire de vos utilisateurs cesse d'être jetable. C'est un gain de temps qui ne se voit pas dans une démonstration de trente secondes, mais qui se mesure sur une journée de travail réelle.
✻ Pourquoi ça marche
Quel est le principe, et en quoi il diffère de l'existant ?
La pile d'annulation est un choix par défaut si ancien qu'on l'a cessé de le voir comme un choix. Remplacer la pile par un arbre ne coûte presque rien en mémoire — puisque ce sont les passages, et non les états, qui sont conservés.
04À quoi ça sert
- Outils de conception et de dessin
- Conception assistée, où l'on explore plusieurs pistes en parallèle
- Prise de notes et travail à plusieurs sur un même document
05Où une autre solution vous servira mieux
- L'annulation linéaire est un problème résolu partout, et gratuitement. Ceci ne se justifie que si vos utilisateurs explorent des variantes et reviennent dessus.
- Segment étroit — mais nous ne connaissons pas d'alternative propre à qui en a réellement besoin.
06Démonstration exécutable
Historique arborescent, de bout en bout
Elle tourne sur votre propre fichier, devant vous. Nous n'apportons pas le document.
07Lectures disciplinaires
- ◍ Sociologie & anthropologie
- Un historique qui n'efface rien change le statut de l'erreur : essayer cesse d'être risqué. Dans une équipe, c'est la différence entre une culture où l'on explore et une culture où l'on s'assure d'avoir raison avant d'agir.
- ⚖ Droit
- Un journal d'états qui ne se réécrit jamais et dont chaque passage porte sa transformation constitue une trace de qui a fait quoi, quand, et à partir de quel état. La réversibilité et la traçabilité sont ici la même propriété.
- ☉ Psychologie
- Le travail exploratoire cesse d'être jetable. La pile d'annulation apprend à l'utilisateur que revenir en arrière a un prix — alors il hésite, il duplique « au cas où », il crée des fichiers « version finale 3 ». L'arbre supprime la cause de ces gestes plutôt que de les outiller.
- ✦ Philosophie
- La pile d'annulation est un choix par défaut si ancien qu'on a cessé de le voir comme un choix. Elle porte une thèse implicite : que le chemin abandonné n'a pas de valeur.