Il existe une catégorie de bugs dont les utilisateurs se croient responsables. Vous appuyez sur la mauvaise touche, une note disparaît, et votre première pensée n’est pas « cette application aurait dû gérer ça », mais « j’aurais dû faire plus attention ».
Vous ne devriez pas avoir à faire plus attention. Une application de prise de notes sert justement à déposer les choses quelque part pour ne plus les garder en tête, et une application qui en perd une de temps en temps a rompu la seule promesse qu’elle faisait.
Notez a quatre mécanismes de récupération distincts. Ils ne font pas doublon : chacun rattrape une défaillance que les autres ne couvrent pas, sur une autre échelle de temps.
Premier niveau : l’annulation, pour les dernières secondes
⌘Z est le niveau que vous utilisez sans y penser. Il couvre cinq actions précises :
Suppressions — vous avez mis une note à la corbeille
Déplacements de cartes — vous avez fait glisser une carte vers une autre colonne du tableau
Modifications de propriétés — vous avez défini ou effacé la valeur d’une propriété personnalisée
Captures rapides — vous avez capturé quelque chose et l’avez regretté aussitôt
Déplacements de rappels — vous avez fait glisser un rappel vers un autre jour du calendrier
La pile garde vingt actions. Chaque entrée stocke exactement ce qu’il faut pour inverser l’opération. Pour un déplacement de carte, c’est la colonne et la position d’origine, y compris quand la carte venait de « Sans colonne ».
Trois détails de son comportement sont voulus :
Les suppressions et les captures affichent une notification, les déplacements de cartes non. Une notification à chaque glisser-déposer rendrait inutilisable une séance de travail sur un tableau. Les déplacements restent annulables ; ils ne s’annoncent simplement pas.
Une modification de propriété qui ne change rien n’est pas enregistrée. Ouvrir une liste de sélection et choisir la valeur qu’elle avait déjà ne consomme pas de place dans la pile. Gaspiller une place pour un non-événement ferait sortir discrètement du bas de la pile l’action que vous vouliez vraiment annuler.
Les notifications de capture proposent deux actions, Annuler et Ouvrir. Après une capture, on veut le plus souvent non pas l’annuler, mais aller la voir.
La limite importante : la pile d’annulation vit dans la session de votre navigateur. Rechargez la page, et elle est vide. C’est un raccourci pour l’erreur que vous venez de faire, pas un historique durable. L’historique durable, ce sont les deux niveaux suivants.
Deuxième niveau : l’historique des versions, pour les trente derniers jours
Chaque note garde son propre historique de révisions, conservé trente jours.
Un instantané est pris à l’enregistrement, mais pas à chaque enregistrement : au plus un toutes les cinq minutes. Une modification faite par le chat IA ou par un assistant connecté fait exception : elle enregistre toujours un instantané de la note telle qu’elle était avant. La raison est arithmétique. Un éditeur qui enregistre automatiquement pendant la frappe produirait sinon des centaines de versions presque identiques pour un seul après-midi d’écriture, et une liste de quatre cents versions n’est pas un historique exploitable. Avec un instantané toutes les cinq minutes au plus, la liste se lit.
Chaque instantané contient les étiquettes de la note en plus de son contenu. C’est important au moment de restaurer : revenir à la version de mardi dernier ramène aussi les étiquettes de mardi dernier, au lieu de remettre un ancien texte dans une note dont le classement a changé entre-temps sans que personne le remarque.
L’historique des versions couvre la défaillance que l’annulation n’atteint pas. Non pas « je viens de faire une erreur », mais « à un moment ces deux dernières semaines, cette note s’est dégradée, et je ne sais pas quand ». Vous prévisualisez les versions et restaurez celle que vous voulez.
Troisième niveau : la corbeille, pour les suppressions des trente derniers jours
Supprimer une note ne la supprime pas. Notez la marque comme supprimée, enregistre l’heure de la suppression, et la note reste dans cet état trente jours, consultable et restaurable.
Le plus intéressant, c’est ce qui arrive aux sous-notes.
Supprimer une note supprime toute son arborescence. Supprimez la note d’un projet, et toutes les notes imbriquées dessous partent avec elle. C’est le seul comportement raisonnable : une note enfant laissée sans parent est une fuite, pas un sauvetage.
La restauration est plus prudente que la suppression. Quand vous restaurez une note, ses descendantes reviennent aussi, mais seulement celles dont l’horodatage de suppression correspond exactement au sien. C’est l’empreinte de « supprimée dans cette même cascade ».
Voyez ce que ferait une version naïve. En mars, vous supprimez une note de réunion devenue inutile. En août, vous supprimez tout le projet, puis vous changez d’avis et le restaurez. Une restauration naïve ramène toute l’arborescence, y compris la note de mars que vous aviez jetée exprès cinq mois plus tôt. Il faudrait la retrouver et la supprimer de nouveau, à condition de l’avoir remarquée.
Avec la comparaison des horodatages, une restauration annule exactement une suppression et ne touche à aucune décision antérieure.
Quatrième niveau : l’enregistrement refusé
Les trois premiers niveaux rattrapent vos erreurs. Le quatrième existe parce qu’un espace de travail peut réunir plusieurs personnes, et que la défaillance y est d’une autre nature : personne ne se trompe, et du travail disparaît quand même.
Deux personnes ouvrent la même note. Toutes deux la modifient. Toutes deux enregistrent. La seconde à enregistrer écrase la première, sans erreur, sans avertissement et sans la moindre trace de l’autre version. La première personne s’en aperçoit des jours plus tard, si elle s’en aperçoit.
Notez refuse cet enregistrement.
Chaque note porte un compteur de version du contenu, incrémenté à chaque enregistrement du contenu. Quand votre éditeur enregistre, il envoie la version dont il est parti. Si la note a changé depuis, l’enregistrement est rejeté pour conflit au lieu d’être appliqué, et un message vous indique que la note a été modifiée ailleurs et qu’il faut la recharger pour continuer.
La vérification a lieu deux fois : une fois sur la note telle qu’elle a été lue, puis comme condition de la mise à jour elle-même. Ce n’est pas un excès de prudence. Entre la lecture d’une ligne et son écriture, il existe une vraie fenêtre où l’enregistrement de quelqu’un d’autre peut arriver, et seule la condition posée sur l’écriture elle-même la referme.
Vous perdez les quelques secondes écoulées depuis votre dernier enregistrement. Vous ne perdez pas l’après-midi de l’autre personne.
C’est ce que j’ai choisi à la place de la coédition en temps réel. Fusionner automatiquement deux modifications simultanées d’un texte enrichi est possible, et c’est aussi comme ça qu’on obtient un paragraphe qu’aucun des deux auteurs n’a écrit. Refuser le second enregistrement est brutal, mais toujours compréhensible : l’un de vous recharge la page, et les deux versions existent encore.
Comment les niveaux se partagent le travail
Échelle de temps | Mécanisme | Survit à un rechargement ? |
|---|---|---|
Secondes | Pile d’annulation | Non |
De quelques minutes à 30 jours | Historique des versions, un instantané toutes les 5 minutes au plus | Oui |
Jusqu’à 30 jours | La corbeille, avec une restauration qui respecte la cascade | Oui |
Immédiatement | Protection contre les conflits d’enregistrement | Oui |
Les limites, pour que vous sachiez où s’arrête chaque niveau :
L’annulation vaut pour une session. Fermez l’onglet, et elle disparaît.
L’historique des versions et la corbeille s’arrêtent tous deux à trente jours. Aucun des deux n’est une archive de sauvegarde.
L’annulation ne couvre pas les modifications du contenu des notes : c’est le rôle de l’historique des versions.
Il n’y a pas d’édition hors ligne, donc pas de conflit hors ligne à résoudre.
Ce qui compte vraiment
Aucune de ces quatre fonctions n’est difficile à construire. Piles d’annulation, suppressions logiques, tables d’instantanés et compteurs de version relèvent d’une ingénierie bien connue.
Elles passent pourtant à la trappe, parce que chacune ne sert que le jour où quelque chose tourne mal et reste invisible tous les autres jours. D’où toute une catégorie d’applications de notes qui brillent en démo et font perdre à quelqu’un un après-midi de travail au quatrième mois.
On note une chose pour ne plus avoir à la porter. Cela ne marche que si l’on peut aussi cesser de s’en inquiéter.
À lire aussi
Partager un espace de travail sans conflit de fusion — pourquoi un espace de travail partagé refuse le second de deux enregistrements en conflit au lieu de les fusionner.
La tâche de nettoyage qui aurait supprimé votre avatar — comment une tâche quotidienne qui supprime les fichiers non rattachés a failli effacer des avatars d’espaces de travail encore utilisés.
Notez, une application de prise de notes pour les développeurs — ce qu’est Notez, les façons d’y faire entrer une note et ce que comprend chaque forfait.