L'édition multijoueur de Figma : une approche CRDT simplifiée

2025-08-19
L'édition multijoueur de Figma : une approche CRDT simplifiée

Il y a quatre ans, Figma a commencé à développer la fonctionnalité multijoueur, optant pour un système personnalisé au lieu de l'algorithme Operational Transform (OT) populaire. Poussés par le besoin d'une itération rapide et par des préoccupations concernant la complexité de l'OT, ils ont créé une solution plus simple. Cet article détaille l'architecture du système multijoueur de Figma, y compris son architecture client/serveur, la communication WebSocket, les capacités d'édition hors ligne et la synchronisation des données. Bien qu'inspirée par les CRDT (Conflict-free Replicated Data Types), l'implémentation de Figma s'écarte de l'adhésion stricte aux CRDT, en tirant parti de ses principes tout en bénéficiant d'un serveur centralisé pour l'efficacité et la simplicité. L'article compare les OT et les CRDT, et approfondit la conception de la structure de données de Figma et la manière dont elle gère les cas limites.

Développement Collaboration multijoueur