Édition de texte collaborative efficace : une implémentation CRDT
Cet article présente un algorithme d’édition de texte collaboratif basé sur les CRDT, similaire aux approches utilisées dans les bibliothèques populaires telles que Yjs et Automerge. Chaque caractère se voit attribuer un identifiant unique (ID du site et horloge), et un index basé sur un arbre avec des compteurs ordonne les caractères. La suppression consiste à ajouter l’identifiant du caractère à un ensemble supprimé (tombstones). L’efficacité est accrue grâce à des optimisations telles que la fusion des insertions successives, le stockage contigu des blocs et l’utilisation d’une représentation basée sur les plages pour l’ensemble supprimé. Cela garantit une gestion efficace des grands collages de texte et des éditions simultanées.
Lire plus