> ## Documentation Index
> Fetch the complete documentation index at: https://docs.syntheo.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Correspondance doc ↔ code

> Pour chaque page utilisateur, les sources du code qui en déterminent le contenu.

Cette page relie chaque page de la documentation aux sources qui en déterminent le contenu. Quand vous modifiez une de ces sources, relisez les pages correspondantes et mettez-les à jour dans la même pull request.

> [!NOTE]
>
> Les tests de `apps/cli/src/cli.rs` et `apps/cli/src/mcp/tests.rs` comparent le contrat de la CLI et du serveur MCP à `docs/fr/reference/cli.mdx`, `docs/fr/reference/mcp.mdx` et `skills/syntheo/references/`. Une modification de ce contrat sans mise à jour de la documentation fait échouer la CI.

> [!NOTE]
>
> Les reproductions interactives de l'app (`docs/snippets/*.gen.jsx` en français, `docs/snippets/en/*.gen.jsx` en anglais, générées par `scripts/sync-docs-ui.mjs` depuis `scripts/docs-ui/*.jsx.tpl` et, pour le texte anglais propre aux modèles, `scripts/docs-ui/en.json`) reprennent les couleurs de `packages/design-system/src/tokens.css`, les libellés de `apps/desktop/src/i18n/locales/fr/messages.po` et `en/messages.po`, et les icônes de `packages/ui/src/components/icons-*.tsx`. Un changement de couleur, de libellé ou d'icône est repris en relançant le script ; un libellé supprimé fait échouer `apps/desktop/src/docs-ui.test.ts`. Quand la structure d'un écran change, mettez à jour le modèle indiqué dans [Reproductions interactives](#reproductions-interactives).

## Prise en main

| Page | Sources |
| - | - |
| [Syntheo](https://docs.syntheo.studio/fr.md) | Contenu éditorial, sans source dans le code. |
| [Installer l'application](https://docs.syntheo.studio/fr/desktop-installation.md) | `apps/desktop/src-tauri/src/lib.rs` |
| [Désinstaller Syntheo](https://docs.syntheo.studio/fr/uninstall.md) | `plugins/store2` `crates/storage` `crates/brand` |
| [Configurer la transcription et l'IA](https://docs.syntheo.studio/fr/ai-setup.md) | `packages/provider-validation` `packages/store` `crates/owhisper-client` `crates/owhisper-interface` `crates/openai-transcription` `crates/ws-client` `plugins/transcription` `plugins/store2` `apps/desktop/src/ai` `apps/desktop/src/onboarding` `apps/desktop/src/settings/ai/stt` `apps/desktop/src/settings/ai/llm` |
| [Votre première réunion](https://docs.syntheo.studio/fr/quickstart.md) | `plugins/permissions` `apps/desktop/src/home` `apps/desktop/src/onboarding` |
| [L'esprit Syntheo](https://docs.syntheo.studio/fr/philosophy.md) | Contenu éditorial, sans source dans le code. |

## Utiliser Syntheo

| Page | Sources |
| - | - |
| [Enregistrer une réunion](https://docs.syntheo.studio/fr/meetings.md) | `packages/editor` `packages/utils` `packages/utils/src/summary-eligibility.ts` `crates/audio` `crates/audio-actual` `crates/audio-device` `crates/device-monitor` `crates/audio-sync` `crates/aec` `crates/vad-masking` `crates/listener-core` `crates/transcription-core` `crates/supervisor` `crates/owhisper-client` `crates/owhisper-interface` `crates/transcript` `plugins/transcription` `plugins/windows` `plugins/db` `plugins/session` `crates/db-app (session_ops, session_lifecycle_ops, session_content_ops, session_move_ops, session_participant_ops)` `crates/db-app (session_transcript_ops, transcript_batch_ops, transcript_live_ops)` `crates/fs-sync-core` `apps/desktop/src/stt` `apps/desktop/src/store/zustand/listener` `apps/desktop/src/store/zustand/ai-task` `apps/desktop/src/services/enhancer` `apps/desktop/src/session` `apps/desktop/src/meeting-float` `apps/desktop/src/settings/general` `apps/desktop/src/session/components/capsule/channel-toggles.tsx` `apps/desktop/src/store/zustand/listener/muted-channels.ts` `apps/desktop/src/settings/general/audio-settings.tsx` `apps/desktop/src/settings/general/speaker-device.ts` `apps/desktop/src/stt/system-audio-change-notice.tsx` `crates/audio-device/src/speaker_output.rs` `plugins/windows/src/window/layer_shell.rs` |
| [Dicter dans d'autres applications](https://docs.syntheo.studio/fr/dictation.md) | `crates/audio` `crates/owhisper-client` `plugins/dictation` `plugins/shortcut` `apps/desktop/src/dictation` `apps/desktop/src/settings/dictation.tsx` `apps/desktop/src/settings/dictionary` |
| [Automatiser la capture](https://docs.syntheo.studio/fr/automatic-capture.md) | `crates/listener-core` `crates/detect` `plugins/detect` `plugins/notification` `plugins/windows` `crates/notification` `crates/notification-interface` `crates/notification-linux` `crates/notification-windows` `apps/desktop/src/stt` `apps/desktop/src/meeting-float` `apps/desktop/src/settings/general` |
| [Importer un enregistrement](https://docs.syntheo.studio/fr/import-recordings.md) | `crates/audio-utils` `crates/mp3` `crates/listener2-core` `crates/transcription-core` `crates/owhisper-client` `crates/owhisper-interface` `plugins/transcription` `plugins/fs-sync` `crates/db-app (session_transcript_ops, transcript_batch_ops, transcript_live_ops)` `crates/fs-sync-core` `apps/cli/src/commands/recording_import.rs` `crates/agent-access/src/recording_import.rs` `apps/desktop/src/stt` `apps/desktop/src/stt/transcription-route.ts` `apps/desktop/src/stt/batch-eta.ts` `crates/listener-core/src/actors/file_stream` |
| [Notes, comptes rendus et transcriptions](https://docs.syntheo.studio/fr/notes.md) | `packages/editor` `packages/utils` `packages/utils/src/folders.ts` `crates/transcript` `plugins/db` `plugins/session` `plugins/fs-sync` `plugins/tantivy` `plugins/export` `crates/db-app (session_ops, session_lifecycle_ops, session_content_ops, session_move_ops, session_participant_ops)` `crates/db-app/src/session_review_ops.rs` `crates/db-app/src/summary_ops.rs` `crates/db-app (folder_catalog_ops, attachment_ops)` `crates/fs-sync-core` `crates/export-core` `crates/template-app` `crates/summary` `crates/agent-access/src/export_markdown.rs` `apps/desktop/src-tauri/src/search_index.rs` `apps/desktop/src/session` `apps/desktop/src/folders` `apps/desktop/src/home` `apps/desktop/src/search` |
| [Dossiers et projets](https://docs.syntheo.studio/fr/folders.md) | `apps/desktop/src/folders` `apps/desktop/src/folders/project` `apps/desktop/src/folders/suggestion` `apps/desktop/src/session/components/folder-picker.tsx` `apps/desktop/src/session/components/living-document/fiche-folder.tsx` `apps/desktop/src/session/late-filing.ts` `apps/desktop/src/home` `apps/desktop/src/search/unified` `apps/desktop/src/shared/open-note-dialog.tsx` `apps/desktop/src/shared/palette-search-groups.tsx` `apps/desktop/src/templates/resolution.ts` `crates/db-app (folder_catalog_ops, attachment_ops)` |
| [Personnaliser les comptes rendus](https://docs.syntheo.studio/fr/customize-summaries.md) | `packages/store` `plugins/template` `crates/db-app/src/summary_ops.rs` `crates/db-app (template_ops, template_types)` `crates/template-app` `crates/template-app/assets` `crates/summary` `apps/desktop/src/templates/auto-form.tsx` `apps/desktop/src/templates/resolution.ts` `apps/desktop/src/folders/folder-template.ts` `apps/desktop/src/store/zustand/ai-task` `apps/desktop/src/services/enhancer` `apps/desktop/src/templates` |
| [Discuter avec vos réunions](https://docs.syntheo.studio/fr/chat.md) | `packages/editor` `packages/store` `plugins/session` `plugins/template` `crates/template-app` `crates/template-app/assets` `apps/desktop/src/chat` `apps/desktop/src/composer` `apps/desktop/src/chat/ask-folder.ts` `apps/desktop/src/shared/palette-search-groups.tsx` |
| [Contacts](https://docs.syntheo.studio/fr/contacts.md) | `crates/transcript` `plugins/contacts` `crates/db-app (session_ops, session_lifecycle_ops, session_content_ops, session_move_ops, session_participant_ops)` `crates/db-app/src/contact_ops.rs` `apps/desktop/src/contacts` |
| [Automatisations](https://docs.syntheo.studio/fr/automations.md) | `plugins/local-api` `apps/desktop/src/automations` `apps/desktop/src/settings/automations` `plugins/local-api/src/automation_command.rs` `apps/desktop/src/session/components/capsule/automation-menu.tsx` `apps/desktop/src/session/components/outer-header/overflow` `apps/desktop/src/chat/components/body/empty.tsx` |
| [Utiliser plusieurs langues](https://docs.syntheo.studio/fr/languages.md) | `crates/listener2-core` `crates/language` `plugins/transcription` `plugins/template` `crates/template-app` `crates/template-app/assets` `crates/askama-utils` `apps/desktop/src/stt` `apps/desktop/src/i18n` `apps/desktop/src/settings/general` `apps/desktop/src/settings/dictionary` |

## Confidentialité et sécurité

| Page | Sources |
| - | - |
| [Données et confidentialité](https://docs.syntheo.studio/fr/data-and-privacy.md) | `packages/db` `crates/audio-actual` `crates/listener-core` `plugins/transcription` `plugins/db` `plugins/fs-sync` `plugins/settings` `plugins/store2` `plugins/tracing` `crates/db-core` `crates/db-app/src/managed_settings.rs` `crates/db-app (session_audio_ops, capture_lifecycle_ops, session_hold, session_purge)` `crates/storage` `crates/brand` `apps/desktop/src-tauri/src/db.rs` `apps/desktop/src/services/audio-retention.ts` `apps/desktop/src/lock` `apps/desktop/src/settings/privacy` |
| [Utiliser Syntheo sans réseau](https://docs.syntheo.studio/fr/offline.md) | `packages/provider-validation` `crates/listener-core` `crates/owhisper-client` `plugins/transcription` `apps/desktop/src/ai` `apps/desktop/src/settings/ai/stt` `apps/desktop/src/settings/ai/llm` |
| [Sécurité](https://docs.syntheo.studio/fr/security.md) | `packages/provider-validation` `plugins/store2` `crates/db-app/src/managed_settings.rs` `apps/desktop/src/lock` `apps/desktop/src/settings/privacy` |
| [Syntheo Desktop et le RGPD](https://docs.syntheo.studio/fr/conformite/rgpd.md) | `crates/owhisper-client` `apps/desktop/src/services/audio-retention.ts` `apps/desktop/src/docs-rgpd.test.ts` |

## CLI et agents

| Page | Sources |
| - | - |
| [Installer la CLI](https://docs.syntheo.studio/fr/installation.md) | `skills/syntheo` `agent-plugins/syntheo` `crates/xtask` `apps/cli/src/db.rs` `apps/cli/src/commands/doctor.rs` `apps/desktop/src-tauri/src/embedded_cli.rs` `apps/desktop/src/settings/developers/cli.tsx` |
| [Agents : vue d'ensemble](https://docs.syntheo.studio/fr/agents/overview.md) | `skills/syntheo` `agent-plugins/syntheo` `apps/cli/src/commands/proposals.rs` `crates/agent-access/src/proposals.rs` `apps/desktop/src-tauri/src/agents-content.md` `apps/desktop/src/session` |
| [CLI pour les agents](https://docs.syntheo.studio/fr/agents/cli.md) | `skills/syntheo` `crates/db-core` `crates/db-app/src/session_review_ops.rs` `crates/tiptap` `apps/cli/src/db.rs` `apps/cli/src/cli.rs` `apps/cli/src/commands/meetings.rs` `crates/agent-access/src/lib.rs` `apps/desktop/src-tauri/src/embedded_cli.rs` |
| [MCP pour les agents](https://docs.syntheo.studio/fr/agents/mcp.md) | `skills/syntheo` `agent-plugins/syntheo` `crates/db-app/src/session_review_ops.rs` `crates/tiptap` `apps/cli/src/mcp/` `crates/agent-access/src/lib.rs` |
| [Compétence Syntheo](https://docs.syntheo.studio/fr/agents/skills.md) | `skills/syntheo` `agent-plugins/syntheo` `docs/skill.md` `scripts/publish-syntheo-skill.mjs` `apps/desktop/src-tauri/src/agent_skills.rs` `apps/desktop/src/settings/developers/skills.tsx` |

## Recettes

| Page | Sources |
| - | - |
| [Préparer une réunion récurrente](https://docs.syntheo.studio/fr/recipes/meeting-prep.md) | Contenu éditorial, sans source dans le code. |

## Référence

| Page | Sources |
| - | - |
| [Référence de la CLI](https://docs.syntheo.studio/fr/reference/cli.md) | `skills/syntheo` `crates/transcript` `crates/tiptap` `apps/cli/src/cli.rs` `apps/cli/src/output.rs` `apps/cli/src/commands/recording_import.rs` `apps/cli/src/commands/proposals.rs` `apps/cli/src/commands/meetings.rs` `apps/cli/src/commands/doctor.rs` `crates/agent-access/src/lib.rs` `crates/agent-access/src/export_markdown.rs` `crates/cli-docs` |
| [Référence MCP](https://docs.syntheo.studio/fr/reference/mcp.md) | `skills/syntheo` `crates/transcript` `apps/cli/src/mcp/` `crates/agent-access/src/lib.rs` `crates/agent-access/src/recording_import.rs` `crates/agent-access/src/proposals.rs` |
| [Référence des webhooks](https://docs.syntheo.studio/fr/reference/webhooks.md) | `plugins/local-api` `crates/db-app (webhook_ops, webhook_types)` `apps/desktop/src/settings/developers/webhooks.tsx` |
| [Erreurs et codes de sortie](https://docs.syntheo.studio/fr/reference/errors.md) | `skills/syntheo` `apps/cli/src/error.rs` |

## Projet

| Page | Sources |
| - | - |
| [Architecture](https://docs.syntheo.studio/fr/architecture.md) | `packages/db` `crates/listener-core` `crates/owhisper-client` `plugins/tantivy` |
| [Feuille de route](https://docs.syntheo.studio/fr/roadmap.md) | Contenu éditorial, sans source dans le code. |

## Aide

| Page | Sources |
| - | - |
| [Questions fréquentes](https://docs.syntheo.studio/fr/help.md) | Contenu éditorial, sans source dans le code. |
| [Dépannage](https://docs.syntheo.studio/fr/troubleshooting.md) | `crates/audio-actual` `crates/audio-device` `crates/device-monitor` `crates/listener-core` `crates/owhisper-client` `crates/ws-client` `plugins/transcription` `plugins/permissions` `plugins/tracing` `apps/cli/src/db.rs` `apps/cli/src/commands/doctor.rs` `apps/desktop/src-tauri/src/lib.rs` `apps/desktop/src-tauri/src/startup.rs` `apps/desktop/src-tauri/src/db.rs` `apps/desktop/src/stt` `apps/desktop/src/settings/ai/stt` |

## Reproductions interactives

Chaque composant de `docs/snippets/*.gen.jsx` reproduit un écran de l'app. Quand la structure d'une de ces sources change (ordre, sections, états), mettez à jour le modèle correspondant dans `scripts/docs-ui/`, puis lancez `node scripts/sync-docs-ui.mjs`.

| Composant | Pages | Modèle | Sources reproduites |
| - | - | - | - |
| `<AppSettings>` (menu) | [Enregistrer une réunion](https://docs.syntheo.studio/fr/meetings.md), [Configurer la transcription et l'IA](https://docs.syntheo.studio/fr/ai-setup.md), [Utiliser plusieurs langues](https://docs.syntheo.studio/fr/languages.md), [Dicter dans d'autres applications](https://docs.syntheo.studio/fr/dictation.md), [Automatiser la capture](https://docs.syntheo.studio/fr/automatic-capture.md), [Données et confidentialité](https://docs.syntheo.studio/fr/data-and-privacy.md), [Dépannage](https://docs.syntheo.studio/fr/troubleshooting.md) | `settings.jsx.tpl` | `apps/desktop/src/sidebar/settings-nav-groups.ts` `apps/desktop/src/sidebar/settings.tsx` `apps/desktop/src/sidebar/settings-server-status.tsx` |
| `<AppSettings section="meetings">` | [Enregistrer une réunion](https://docs.syntheo.studio/fr/meetings.md), [Automatiser la capture](https://docs.syntheo.studio/fr/automatic-capture.md), [Dépannage](https://docs.syntheo.studio/fr/troubleshooting.md) | `settings-meetings.jsx.tpl` | `apps/desktop/src/settings/general/index.tsx` `apps/desktop/src/settings/general/meeting-settings.tsx` `apps/desktop/src/settings/general/audio-settings.tsx` |
| `<AppSettings section="transcription">`, `section="intelligence"` | [Configurer la transcription et l'IA](https://docs.syntheo.studio/fr/ai-setup.md), [Dépannage](https://docs.syntheo.studio/fr/troubleshooting.md) | `settings-servers.jsx.tpl` | `apps/desktop/src/settings/ai/stt` `apps/desktop/src/settings/ai/llm` `apps/desktop/src/settings/ai/shared` `packages/provider-validation/src/index.ts` |
| `<AppSettings section="app">` | [Utiliser plusieurs langues](https://docs.syntheo.studio/fr/languages.md) | `settings-profile.jsx.tpl` | `apps/desktop/src/settings/general/index.tsx` `apps/desktop/src/settings/general/account-profile.tsx` `apps/desktop/src/settings/general/app-settings.tsx` `apps/desktop/src/settings/general/main-language.tsx` `apps/desktop/src/settings/general/spoken-languages.tsx` `apps/desktop/src/settings/general/single-language-model-hint.tsx` `apps/desktop/src/settings/general/timezone.tsx` `apps/desktop/src/settings/general/storage` |
| `<AppSettings section="dictation">` | [Dicter dans d'autres applications](https://docs.syntheo.studio/fr/dictation.md) | `settings-dictation.jsx.tpl` | `apps/desktop/src/settings/dictation.tsx` `apps/desktop/src/settings/dictation-shortcut.tsx` `apps/desktop/src/dictation/state.ts` |
| `<AppSettings section="privacy">`, `section="permissions"` | [Données et confidentialité](https://docs.syntheo.studio/fr/data-and-privacy.md), [Dépannage](https://docs.syntheo.studio/fr/troubleshooting.md) | `settings-privacy.jsx.tpl` | `apps/desktop/src/settings/privacy/index.tsx` `apps/desktop/src/settings/general/permissions.tsx` |
| `<AppPalette>` | [Votre première réunion](https://docs.syntheo.studio/fr/quickstart.md), [Notes, comptes rendus et transcriptions](https://docs.syntheo.studio/fr/notes.md), [Dossiers et projets](https://docs.syntheo.studio/fr/folders.md) | `palette.jsx.tpl` | `apps/desktop/src/shared/open-note-dialog.tsx` `apps/desktop/src/shared/palette-search-groups.tsx` `apps/desktop/src/search/unified/labels.ts` |
| `<AppScreen>`, `<Capsule>` et capsule commune | [Enregistrer une réunion](https://docs.syntheo.studio/fr/meetings.md) | `meeting.jsx.tpl`, `note.jsx.tpl` | `apps/desktop/src/session/components/capsule/index.tsx` |
| `<AppHome>` | [Votre première réunion](https://docs.syntheo.studio/fr/quickstart.md) | `quickstart.jsx.tpl` | `apps/desktop/src/home` |
| `<DictationScreen>` | [Dicter dans d'autres applications](https://docs.syntheo.studio/fr/dictation.md) | `dictation.jsx.tpl` | `apps/desktop/src/meeting-float/overlay/bar.tsx` `apps/desktop/src/meeting-float/overlay/dictation.tsx` `apps/desktop/src/dictation/panel.ts` |
| `<AutoCaptureScreen>` | [Automatiser la capture](https://docs.syntheo.studio/fr/automatic-capture.md) | `automatic-capture.jsx.tpl` | `apps/desktop/src/stt/detect-events.ts` `apps/desktop/src/stt/meeting-apps.ts` `crates/notification-linux/src/impl.rs` `apps/desktop/src/meeting-float/overlay/bar.tsx` |
| `<ImportScreen>` | [Importer un enregistrement](https://docs.syntheo.studio/fr/import-recordings.md) | `import.jsx.tpl` | `apps/desktop/src/session/components/outer-header` `apps/desktop/src/session/components/capsule/import-progress.tsx` `apps/desktop/src/session/components/capsule/session-import-progress.tsx` `apps/desktop/src/stt/batch-eta.ts` |
| `<NoteActions>` | [Notes, comptes rendus et transcriptions](https://docs.syntheo.studio/fr/notes.md) | `notes.jsx.tpl` | `apps/desktop/src/session/components/outer-header/overflow` `apps/desktop/src/session/components/living-document` `apps/desktop/src/session/components/capsule/automation-menu.tsx` |
| `<FolderPage>` | [Dossiers et projets](https://docs.syntheo.studio/fr/folders.md) | `folders.jsx.tpl` | `apps/desktop/src/folders` `apps/desktop/src/sidebar/folders.tsx` `apps/desktop/src/session/folder-instructions.tsx` |
| `<TemplatesEditor>` | [Personnaliser les comptes rendus](https://docs.syntheo.studio/fr/customize-summaries.md) | `templates.jsx.tpl` | `apps/desktop/src/templates` |
| `<ContactsScreen>` | [Contacts](https://docs.syntheo.studio/fr/contacts.md) | `contacts.jsx.tpl` | `apps/desktop/src/sidebar/contacts.tsx` `apps/desktop/src/contacts` |
| `<AskNote>` | [Discuter avec vos réunions](https://docs.syntheo.studio/fr/chat.md) | `chat.jsx.tpl` | `apps/desktop/src/chat/components` `apps/desktop/src/editor-bridge/mention-config.ts` `apps/desktop/src/session/components/living-document/summary-review.tsx` `apps/desktop/src/automations/launch.tsx` |
| `<AutomationEditor>` | [Automatisations](https://docs.syntheo.studio/fr/automations.md) | `automations.jsx.tpl` | `apps/desktop/src/sidebar/automations.tsx` `apps/desktop/src/settings/automations` `apps/desktop/src/automations` |
| `<Troubleshooter>`, `<DataFlows>` | [Dépannage](https://docs.syntheo.studio/fr/troubleshooting.md), [Données et confidentialité](https://docs.syntheo.studio/fr/data-and-privacy.md) | `troubleshooting.jsx.tpl` | `apps/desktop/src/stt/live-transcript-interrupted.ts` ; le reste réutilise les écrans ci-dessus. `<DataFlows>` est une illustration de la doc, pas un écran de l'app. |

## Sources sans page utilisateur

Le code interne, les outils de test et les restes hérités d'Anarlog n'ont pas de page utilisateur. Ils sont signalés sur la page de leur zone : [Plugins Tauri](https://docs.syntheo.studio/fr/code/plugins.md), [Audio et transcription](https://docs.syntheo.studio/fr/code/crates-audio.md), [Données, export et plateforme](https://docs.syntheo.studio/fr/code/crates-data.md), [Paquets TypeScript](https://docs.syntheo.studio/fr/code/packages.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.