# Vue d’ensemble des paquets

> Comprendre les paquets publics de Core, History, Thread Comment, Worktree et Office Exchange.

- Human documentation: [https://docs.univer.ai/fr-FR/server/collaboration/packages](https://docs.univer.ai/fr-FR/server/collaboration/packages)

- Agent Markdown: [https://docs.univer.ai/fr-FR/server/collaboration/packages.md](https://docs.univer.ai/fr-FR/server/collaboration/packages.md)

- Requested language: `fr-FR`

- Content language: `fr-FR`

- Documentation version: `1.2.0`

- Source: [collaboration/packages.fr-FR.mdx](https://github.com/dream-num/documentation/blob/dev/content/server/collaboration/packages.fr-FR.mdx)

---

Cette page guide le choix des paquets. Composez d’abord Core Collaboration, puis ajoutez les extensions nécessaires. Il n’est pas nécessaire de tout installer.

## Core Collaboration

Core Collaboration fournit le circuit principal : collaboration navigateur, protocole serveur, OT, révisions et persistance.

| Environnement   | Paquet                                                                                                                       | Responsabilité principale                                                                            |
| --------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| Navigateur      | [**@univerjs-pro/collaboration**](https://www.npmjs.com/package/@univerjs-pro/collaboration)                                 | Enregistre les capacités collaboratives de base du navigateur                                        |
| Navigateur      | [**@univerjs-pro/collaboration-client**](https://www.npmjs.com/package/@univerjs-pro/collaboration-client)                   | Charge les Units, envoie les changements et maintient la synchronisation                             |
| Navigateur      | [**@univerjs-pro/collaboration-client-ui**](https://www.npmjs.com/package/@univerjs-pro/collaboration-client-ui)             | Fournit l’UI et les styles d’état collaboratif                                                       |
| Server          | [**@univerjs-pro/collaboration-transport-node**](https://www.npmjs.com/package/@univerjs-pro/collaboration-transport-node)   | Reçoit le trafic HTTP et WebSocket Node.js                                                           |
| Server          | [**@univerjs-pro/collaboration-endpoint**](https://www.npmjs.com/package/@univerjs-pro/collaboration-endpoint)               | Implémente protocole Client, Sessions, Rooms et Presence                                             |
| Server          | [**@univerjs-pro/collaboration-service**](https://www.npmjs.com/package/@univerjs-pro/collaboration-service)                 | Gère Units, OT, révisions et API du Service central                                                  |
| Base de données | [**@univerjs-pro/collaboration-database-memory**](https://www.npmjs.com/package/@univerjs-pro/collaboration-database-memory) | Stockage en processus pour tests, exemples et développement temporaire                               |
| Base de données | [**@univerjs-pro/collaboration-database-sqlite**](https://www.npmjs.com/package/@univerjs-pro/collaboration-database-sqlite) | Persistance SQLite pour développement, tests, usage local et petite échelle                          |
| Multi-node      | [**@univerjs-pro/collaboration-cluster-redis**](https://www.npmjs.com/package/@univerjs-pro/collaboration-cluster-redis)     | Adaptateur pub/sub et stockage des session tickets sur Redis pour le déploiement sur plusieurs nœuds |

Un Core Server nécessite Transport, Endpoint, Service et un Database Adapter. Memory et SQLite implémentent le même contrat ; choisissez normalement l’un des deux. Un déploiement sur plusieurs nœuds nécessite aussi un adaptateur pub/sub et un stockage de session tickets partagé. L’Endpoint définit les deux contrats (`IPubSubAdapter`, `ISessionTicketStore`) ; le SDK fournit une implémentation sur Redis.

## History

History construit un index de versions depuis les événements de création d’Unit et de commit du Core.

| Environnement   | Paquet                                                                                                                                       | Responsabilité principale                   |
| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- |
| Navigateur      | Réutilise Core Client/UI                                                                                                                     | Affiche et lit les entrées d’historique     |
| Server          | [**@univerjs-pro/collaboration-history-service**](https://www.npmjs.com/package/@univerjs-pro/collaboration-history-service)                 | Construit et interroge l’index d’historique |
| Server          | [**@univerjs-pro/collaboration-history-endpoint**](https://www.npmjs.com/package/@univerjs-pro/collaboration-history-endpoint)               | Expose le protocole History au Client       |
| Base de données | [**@univerjs-pro/collaboration-history-database-sqlite**](https://www.npmjs.com/package/@univerjs-pro/collaboration-history-database-sqlite) | Stocke l’index History dérivé               |

L’historique est un index dérivé reconstructible. Les changements Core restent la référence du contenu.

## Thread Comment

Thread Comment gère les textes, réponses et états résolus des commentaires Sheets et Docs.

| Environnement   | Paquet                                                                                                                                       | Responsabilité principale                                          |
| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
| Navigateur      | Réutilise les paquets Core Collaboration                                                                                                     | Utilise Comment Client et l’UI                                     |
| Server          | [**@univerjs-pro/collaboration-comment-service**](https://www.npmjs.com/package/@univerjs-pro/collaboration-comment-service)                 | Gère les commentaires et l’événement `commentCommitted`            |
| Server          | [**@univerjs-pro/collaboration-comment-endpoint**](https://www.npmjs.com/package/@univerjs-pro/collaboration-comment-endpoint)               | Fournit le protocole et publie les mises à jour via les Unit Rooms |
| Base de données | [**@univerjs-pro/collaboration-comment-database-memory**](https://www.npmjs.com/package/@univerjs-pro/collaboration-comment-database-memory) | Stockage des commentaires en processus                             |
| Base de données | [**@univerjs-pro/collaboration-comment-database-sqlite**](https://www.npmjs.com/package/@univerjs-pro/collaboration-comment-database-sqlite) | Persistance SQLite des commentaires                                |

Comment Adapter stocke les commentaires. Les ancres mobiles avec le contenu restent dans les instantanés et changements Core.

## Worktree

Worktree fournit brouillons isolés, transitions d’état et fusion par Unit.

| Environnement   | Paquet                                                                                                                                         | Responsabilité principale                      |
| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------- |
| Navigateur      | [**@univerjs-pro/collaboration-worktree-client**](https://www.npmjs.com/package/@univerjs-pro/collaboration-worktree-client)                   | Connecte brouillons, états et fusion Worktree  |
| Server          | [**@univerjs-pro/collaboration-worktree-service**](https://www.npmjs.com/package/@univerjs-pro/collaboration-worktree-service)                 | Gère changements du brouillon, états et fusion |
| Server          | [**@univerjs-pro/collaboration-worktree-endpoint**](https://www.npmjs.com/package/@univerjs-pro/collaboration-worktree-endpoint)               | Fournit le protocole au Worktree Client        |
| Base de données | [**@univerjs-pro/collaboration-worktree-database-memory**](https://www.npmjs.com/package/@univerjs-pro/collaboration-worktree-database-memory) | Stockage Worktree en processus                 |
| Base de données | [**@univerjs-pro/collaboration-worktree-database-sqlite**](https://www.npmjs.com/package/@univerjs-pro/collaboration-worktree-database-sqlite) | Persistance SQLite de Worktree                 |

Worktree Service fusionne via Core Service dans le trunk ; configurez donc les Middleware aux deux frontières.

## Office Exchange

Office Exchange combine conversion de fichiers et Collaboration Service dans un parcours applicatif, sans Database Adapter collaboratif indépendant.

| Environnement | Paquet                                                                                                         | Responsabilité principale                           |
| ------------- | -------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- |
| Navigateur    | [**@univerjs-pro/exchange-client**](https://www.npmjs.com/package/@univerjs-pro/exchange-client)               | Fournit l’échange de fichiers de base du navigateur |
| Navigateur    | [**@univerjs-pro/sheets-exchange-client**](https://www.npmjs.com/package/@univerjs-pro/sheets-exchange-client) | Fournit l’import-export Sheet                       |
| Server        | [**@univerjs-pro/exchange-node**](https://www.npmjs.com/package/@univerjs-pro/exchange-node)                   | Convertit Office et données Univer dans Node.js     |

À l’import, les données converties vont à `createUnitFromSnapshot()`. À l’export, une révision confirmée est lue via Core Service. Fichiers, tâches et API métier restent applicatifs.

## Règles de sélection

1. Commencez par les paquets Core du [démarrage rapide](https://docs.univer.ai/fr-FR/server/collaboration/quick-start.md).
2. Choisissez un Core Database Adapter : Memory, SQLite ou personnalisé.
3. Pour un déploiement sur plusieurs nœuds, ajoutez l’adaptateur pub/sub et le stockage de session tickets sur Redis.
4. Installez seulement les extensions utilisées.
5. Créez un Adapter distinct par module, même avec un fichier SQLite partagé.

Consultez les [extensions collaboratives](https://docs.univer.ai/fr-FR/server/collaboration/extensions.md) pour les relations et les [exemples](https://docs.univer.ai/fr-FR/server/collaboration/examples.md) pour les assemblages exécutables.
