# Exemples

> Exécutez les exemples du Collaboration SDK par fonction et consultez leurs guides et entrées serveur et Web.

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

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

- Requested language: `fr-FR`

- Content language: `fr-FR`

- Documentation version: `1.2.0`

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

---

Tous les exemples se trouvent dans [univer-collaboration-examples](https://github.com/dream-num/univer-collaboration-examples). Ils partagent la structure minimale `web/main.ts + server/main.ts` et fonctionnent indépendamment. Terminez le démarrage rapide, puis choisissez selon votre intégration.

| Exemple                                            | Concept principal              | Commande                        |
| -------------------------------------------------- | ------------------------------ | ------------------------------- |
| [Démarrage rapide](#quick-start)                   | Circuit collaboratif central   | `pnpm example:quick-start`      |
| [Adaptateur de base de données](#database-adapter) | Adaptateurs de base de données | `pnpm example:database-adapter` |
| [Autorisations](#permissions)                      | Identité et autorisations      | `pnpm example:permissions`      |
| [Historique](#history)                             | Historique dérivé              | `pnpm example:history`          |
| [Commentaires](#comments)                          | Commentaires indépendants      | `pnpm example:comments`         |
| [Worktree](#worktree)                              | Édition isolée et fusion       | `pnpm example:worktree`         |
| [Conversion de fichiers](#exchange)                | Conversion Office              | `pnpm example:exchange`         |
| [Déploiement à plusieurs nœuds](#multi-node)       | Mise à l’échelle horizontale   | `pnpm example:multi-node`       |

## Démarrage rapide

Assemblez Collaboration Client, Transport, Endpoint, Service et Memory Adapter. Vérifiez dans deux navigateurs le chargement HTTP, les Sessions WebSocket, Room, ACK et diffusions pour la même Sheet.

```bash
pnpm example:quick-start
```

Ouvrez `http://127.0.0.1:3010/?unit=quick-start-sheet`.

* [Guide de l’exemple](https://github.com/dream-num/univer-collaboration-examples/blob/main/examples/quick-start/README.md)
* [Entrée serveur](https://github.com/dream-num/univer-collaboration-examples/blob/main/examples/quick-start/server/main.ts)
* [Entrée Web](https://github.com/dream-num/univer-collaboration-examples/blob/main/examples/quick-start/web/main.ts)
* [Guide pas à pas sur ce site](https://docs.univer.ai/fr-FR/server/collaboration/quick-start.md)

## Adaptateur de base de données

Cet exemple montre comment utiliser le SQLite Adapter intégré et implémenter un Database Adapter personnalisé.

```bash
pnpm example:database-adapter
```

Ouvrez `http://127.0.0.1:3010/?unit=persistent-sheet`.

* [Guide de l’exemple](https://github.com/dream-num/univer-collaboration-examples/blob/main/examples/database-adapter/README.md)
* [Entrée serveur](https://github.com/dream-num/univer-collaboration-examples/blob/main/examples/database-adapter/server/main.ts)
* [Entrée Web](https://github.com/dream-num/univer-collaboration-examples/blob/main/examples/database-adapter/web/main.ts)

## Autorisations

Établissez une identité fiable par cookie et protégez séparément lecture HTTP Unit, JOIN temps réel et soumission. La page bascule entre un **Alice · Editor** pédagogique et un **Bob · Viewer** en lecture seule.

```bash
pnpm example:permissions
```

Ouvrez `http://127.0.0.1:3010`.

* [Guide de l’exemple](https://github.com/dream-num/univer-collaboration-examples/blob/main/examples/permissions/README.md)
* [Entrée serveur](https://github.com/dream-num/univer-collaboration-examples/blob/main/examples/permissions/server/main.ts)
* [Entrée Web](https://github.com/dream-num/univer-collaboration-examples/blob/main/examples/permissions/web/main.ts)
* [Guide identité et autorisations](https://docs.univer.ai/fr-FR/server/collaboration/identity-and-authorization.md)

## Historique

Ajoutez hors du cœur History Service, un Adapter distinct, History Endpoint et l’entrée historique du navigateur. Les Events de création Unit et de commit construisent un index dérivé reconstructible.

```bash
pnpm example:history
```

Ouvrez `http://127.0.0.1:3010/?unit=history-sheet`, modifiez la Sheet puis choisissez `History` en haut.

* [Guide de l’exemple](https://github.com/dream-num/univer-collaboration-examples/blob/main/examples/history/README.md)
* [Entrée serveur](https://github.com/dream-num/univer-collaboration-examples/blob/main/examples/history/server/main.ts)
* [Entrée Web](https://github.com/dream-num/univer-collaboration-examples/blob/main/examples/history/web/main.ts)

## Commentaires

Ajoutez Thread Comment Service, un Adapter distinct, Comment Endpoint et l’entrée frontend. Comment Endpoint réutilise les Sessions et Rooms Unit de l’Endpoint principal.

```bash
pnpm example:comments
```

Ouvrez `http://127.0.0.1:3010/?unit=comments-sheet`, sélectionnez une cellule et utilisez les commentaires.

* [Guide de l’exemple](https://github.com/dream-num/univer-collaboration-examples/blob/main/examples/comments/README.md)
* [Entrée serveur](https://github.com/dream-num/univer-collaboration-examples/blob/main/examples/comments/server/main.ts)
* [Entrée Web](https://github.com/dream-num/univer-collaboration-examples/blob/main/examples/comments/web/main.ts)

## Worktree

Explorez le cycle complet : brouillon isolé, Ready, Reopen et Merge par Unit. Basculez entre tronc et brouillon pour voir les changements de l’AI Agent isolés avant fusion.

```bash
pnpm example:worktree
```

Ouvrez `http://127.0.0.1:3010/?unit=worktree-sheet&worktree=demo-worktree`.

* [Guide de l’exemple](https://github.com/dream-num/univer-collaboration-examples/blob/main/examples/worktree/README.md)
* [Entrée serveur](https://github.com/dream-num/univer-collaboration-examples/blob/main/examples/worktree/server/main.ts)
* [Entrée Web](https://github.com/dream-num/univer-collaboration-examples/blob/main/examples/worktree/web/main.ts)
* [CLI et revue humaine](https://docs.univer.ai/fr-FR/ai/worktree.md)

## Conversion de fichiers

Associez `@univerjs-pro/exchange-node` à Collaboration Service pour l’import/export Sheet serveur, le suivi des tâches, l’import d’instantanés et l’export de révisions confirmées.

```bash
pnpm example:exchange
```

Ouvrez `http://127.0.0.1:3010/?unit=exchange-sheet`. Importez via **File → Open (File)** et exportez via **File → Save As**.

* [Guide de l’exemple](https://github.com/dream-num/univer-collaboration-examples/blob/main/examples/exchange/README.md)
* [Entrée serveur](https://github.com/dream-num/univer-collaboration-examples/blob/main/examples/exchange/server/main.ts)
* [Processus de conversion](https://github.com/dream-num/univer-collaboration-examples/blob/main/examples/exchange/server/exchange.ts)
* [Entrée Web](https://github.com/dream-num/univer-collaboration-examples/blob/main/examples/exchange/web/main.ts)

## Déploiement à plusieurs nœuds

Exécutez deux nœuds de collaboration derrière Nginx. Redis relaie les mises à jour en temps réel entre les nœuds et partage les session tickets, de sorte que n’importe quel nœud peut servir n’importe quelle requête. Nécessite Docker Compose.

```bash
pnpm example:multi-node
```

Ouvrez `http://127.0.0.1:3010/` et cliquez sur **New Sheet** pour créer un fichier. Copiez l’URL complète dans un autre onglet pour vérifier l’édition collaborative du même document. Créez ensuite quelques fichiers supplémentaires pour observer leur répartition entre les nœuds.

* [Guide de l’exemple](https://github.com/dream-num/univer-collaboration-examples/blob/main/examples/multi-node/README.md)

> [!NOTE: Les exemples ne sont pas des applications de production]
> Utilisateurs fixes, autorisations pédagogiques, Memory Adapters, secrets locaux et stockage en mémoire des fichiers et tâches sont didactiques. Identité, autorisation, persistance, secrets, fichiers, déploiement et interactions restent à la charge de l’application.
