Aller au contenu
Strata
Se connecter

Présentations

Créez, modifiez et présentez des diaporamas dans Strata. Partez d’un diaporama vide, demandez à Strata Agent un brouillon à partir de vos documents sources ou importez du Markdown.

Créez des présentations avec votre agent IA.

Créer une présentation

Ouvrez Présentations dans votre espace de travail. Choisissez Nouveau diaporama et saisissez un titre, ou demandez un diaporama à Strata Agent. Pour un brouillon par IA, décrivez le sujet, le public et l’objectif ; choisissez la longueur, le thème et les documents sources. Vérifiez l’estimation et le plafond de crédits avant de démarrer.

Alternez entre Diaporama et Document pour organiser les diapositives ou modifier leur source et leurs notes. Ajoutez, dupliquez, réorganisez ou excluez des diapositives et choisissez un thème. Sélectionnez Présenter ; la vue présentateur comprend les notes, la diapositive suivante et un chronomètre.

Commencez le document par du YAML entre des lignes ---. Utilisez presentation: true pour les valeurs par défaut, ou une structure presentation comme ci-dessous. aspect accepte "16:9", "16:10" et "4:3".

---
presentation:
  aspect: "16:9"
---
# Rapport au conseil

## Résultats
```slide layout="bullets"
- Hausse du chiffre d’affaires
- Amélioration de la fidélisation
```

Expliquez les chiffres au public.

Le premier titre # constitue la couverture ; chaque titre ## commence une diapositive. Un titre seul crée une diapositive avec un intitulé. Ajoutez un bloc slide avec layout="bullets" pour afficher des puces, ou un bloc html pour un visuel personnalisé. Ne combinez pas les deux dans une même diapositive. Le texte hors du visuel constitue les notes du présentateur et ne figure pas sur la diapositive.

Seul le premier titre # forme la couverture. Les titres ### restent dans la diapositive actuelle. Un titre ## commençant par Appendix, sans distinction de casse, termine les diapositives ; le contenu suivant appartient à l’annexe.

De la conversation aux diapositives

Utilisez strata-presentation pour dégager de la conversation un public, un objectif et une suite d’affirmations étayées. Lisez les sources et le système de design de l’entreprise avant de définir les styles. Prévoyez un titre par diapositive, des preuves dans le visuel et la narration dans le texte ordinaire de la section. Enregistrez avec edit_document puis relisez le résultat ; vérifiez les aperçus HTML disponibles et signalez les limites de rendu.

Ancrez chaque modification HTML sur un id descriptif et unique dans la présentation. Incluez cet id dans oldString et newString, avec un seul fragment correspondant et replaceAll=false. Il s’agit d’une convention de remplacement de texte, pas d’une API de sélection par ID. Relisez en cas de correspondance absente ou ambiguë ; ne forcez pas une réécriture complète. Remplacez documentId dans l’exemple par la valeur réellement renvoyée. Privilégiez de petites modifications ancrées : avec replaceAll=false, une correspondance absente ou ambiguë est rejetée dans la réplique Yjs en mémoire de la tâche ECS qui traite la requête, selon les règles de correspondance de l’API, qui peuvent normaliser guillemets, marqueurs de notes de bas de page et espaces. Ce n’est ni une comparaison exacte des octets ni un compare-and-swap distribué. Une modification déjà enregistrée par une autre tâche peut ne pas avoir atteint cette réplique ; une ancre périmée peut correspondre avant l’intégration des enregistrements WAL concurrents pendant la persistance. Les modifications de caractères touchent la zone correspondante ; celles qui traversent des nœuds ou modifient des blocs peuvent recourir à un aller-retour Markdown et à une réécriture structurelle. Aucune voie MCP d’écriture du contenu n’accepte de documentVersion attendue ni ne garantit la sécurité face à une édition concurrente. Si la présentation semble en cours de modification, prévenez l’utilisateur et convenez d’une pause ou préparez une copie distincte. La relecture confirme un résultat observé, pas l’absence de risque lié à la concurrence.

grammarVersion: 1

Grammaire du document

Un bloc YAML initial contenant presentation: true active les valeurs par défaut. Un objet presentation accepte uniquement aspect (16:9, 16:10, 4:3), transition (fade, none, slide), form (slides, whole-deck) et notes (presenter, none). Les valeurs par défaut sont 16:9, fade, slides, presenter. Le YAML est limité à 16 KiB. Le thème ne se configure pas dans le frontmatter.

Avec slides, le premier H1 de premier niveau est la couverture ; chaque H2 ouvre une diapositive. Les H3–H6 et les blocs ordinaires sont des notes. Un H1 ultérieur et son contenu deviennent les notes de la section précédente jusqu’au prochain H2, avec un signalement duplicate-cover. Le préambule est rattaché à la couverture si elle existe. Le premier H2 dont le texte, sans espaces périphériques et sans distinction de casse, commence par appendix arrête le traitement des diapositives, y compris les titres suivants.

Le premier bloc html d’une section est son visuel ; tout HTML supplémentaire est signalé et non sélectionné. Mélanger des blocs html et slide exclut la section. Sans HTML, le premier bloc slide sélectionne layout=title, statement, bullets, big-number, two-column ou image ; une valeur absente ou invalide signale unknown-layout et utilise statement dans la structure. Les blocs slide suivants sont des notes. Sans ces blocs, la diapositive ne contient que son titre. Layout appartient uniquement aux blocs slide, qui ignorent name mais conservent uses : une diapositive layout=image nomme son image avec uses, et celle qui n’en déclare aucune signale image-slide-without-source. Name déclare une source de données ; uses énumère les dépendances du visuel HTML, séparées par des virgules.

Liez les nombres dessinés à des blocs json/csv/tsv/yaml ou à des tableaux nommés, de préférence dans l’annexe. Le HTML déclare uses, lit les sources étiquetées via strata.data.get et se redessine sur strata:data. Décodez selon kind et format, y compris les données indisponibles ; consultez interactive-html. Agrégez les sources pour respecter 128 KiB chacune et 256 KiB au total. Attribuez des IDs aux éléments modifiables et un commentaire de diapositive dans le bloc HTML ; data-deck-headline reçoit le titre dans un shell actif. Gardez un texte de repli lisible pour les aperçus ordinaires.

Créez, modifiez et présentez des diaporamas dans Strata. Partez d’un diaporama vide, demandez à Strata Agent un brouillon à partir de vos documents sources ou importez du Markdown.

---
presentation:
  aspect: '16:9'
  transition: fade
  form: slides
  notes: presenter
---
# Launch

```slide layout=title
A smaller first release

Priya Raman, March
```

## Focus

```slide layout=bullets
What ships first:

- One workspace
- One integration
- Nothing else
```

Say the internal negotiation out loud; this paragraph stays a presenter note.

## The room

```slide layout=image uses=launchPhoto
Launch day, Oslo
```

## Adoption

```html
<!-- slide: adoption -->
<main id="s03-adoption" style="padding:var(--deck-padding)">
  <h1 class="deck-title" data-deck-headline>Adoption</h1>
  <p id="s03-rationale">A smaller release gives us a clear learning signal.</p>
</main>
```

## Appendix

<!-- strata:name=launchPhoto -->

![The team on launch day](launch-day.png)

```css name=deckTheme extends=strata-light
:root { --deck-accent: #1d4ed8; }
```
layoutfence
titleslide layout=title
statementslide layout=statement
bulletsslide layout=bullets
big-numberslide layout=big-number
two-columnslide layout=two-column
imageslide layout=image uses="hero"

Systèmes de design et thèmes d’entreprise

Recherchez et lisez le système de design de l’entreprise, puis copiez son CSS dans un seul bloc css name=theme. Renseignez source et sourceVersion ensemble avec l’ULID réel du document et sa version décimale lorsqu’ils sont connus ; les deux sont nécessaires à la provenance. Conservez un éventuel locked=true. La copie est locale : la résolution ne récupère ni n’actualise la source. Sans thème d’entreprise disponible, commencez avec strata-light.

Pour des fichiers Claude Design, des variables Figma, Tailwind ou une charte, associez fond, texte, accent, texte secondaire, deux piles de polices, marge intérieure et rayon aux huit jetons. Placez les adaptations propres au diaporama dans deckTheme. Intégrez uniquement des polices autorisées via des URL data:, avec des polices système de repli ; conservez les glyphes nécessaires et vérifiez la limite de 256 KiB après encodage du CSS. Signalez les couleurs approximatives et les substitutions de polices.

Les cinq couches, par priorité croissante, sont deck-base, deck-strata, deck-company, deck-deck et deck-slide ; preview-base les précède. Utilisez css name=deckTheme pour les adaptations locales. Son extends prime sur celui du thème d’entreprise, puis strata-light sert de valeur par défaut. Les thèmes fournis sont strata-light, strata-dark, strata-editorial et strata-mono. Un nom inconnu déclenche un signalement et un repli. Les styles en ligne suivent toujours la cascade CSS habituelle.

Définissez les huit tokens d’entreprise ci-dessous dans une règle :root simple, au premier niveau. Les tokens dans html, body, des sélecteurs mixtes ou des règles @media/@layer imbriquées ne sont pas lus et déclenchent theme-token-outside-root. Utilisez var(--deck-...) dans les diapositives. Gardez un CSS équilibré de 256 KiB maximum, sans !important ni importations/URL externes ; les ressources data: sont permises. Le contraste texte/fond doit atteindre 4.5:1 ; les expressions de couleur non prises en charge signalent un contraste inconnu. Des noms de thème dupliqués désactivent la couche concernée. Un verrou d’entreprise signale les remplacements de tokens mais ne les empêche pas de prévaloir.

```css name=theme extends=strata-light
:root {
  --deck-bg: #ffffff;
  --deck-fg: #111318;
  --deck-accent: #1d4ed8;
  --deck-muted: #586174;
  --deck-font-heading: system-ui, sans-serif;
  --deck-font-body: system-ui, sans-serif;
  --deck-padding: 6cqw;
  --deck-radius: 12px;
}
```
tokenstrata-light
--deck-bg#ffffff
--deck-fg#111318
--deck-accent#2563eb
--deck-muted#6b7280
--deck-font-headingsystem-ui, sans-serif
--deck-font-bodysystem-ui, sans-serif
--deck-padding6cqw
--deck-radius12px
extends--deck-bg--deck-fg--deck-accent--deck-muted--deck-font-heading
strata-light#ffffff#111318#2563eb#6b7280system-ui, sans-serif
strata-dark#0b1020#f4f6fb#5cc8ff#8b93a7system-ui, sans-serif
strata-editorial#faf7f2#1f1b16#b4532a#756c61Georgia, serif
strata-mono#111111#e8e8e8#c8ff00#8a8a8aui-monospace, monospace

Partager et exporter

Les propriétaires et éditeurs lisent le document complet. Les lecteurs, commentateurs et personnes autorisées uniquement à suggérer reçoivent une édition contenant les titres et visuels acceptés, sans les notes ordinaires. Placez la narration privée hors des blocs visuels. notes: none décrit la visibilité du panneau, pas la confidentialité. Retirer ou désactiver presentation rend le document ordinaire : les lecteurs peuvent alors recevoir tout son contenu.

L’édition conserve aussi le CSS des thèmes, les blocs JSON/CSV/TSV/YAML ou tableaux nommés déclarés par uses des visuels acceptés, ainsi que les paramètres presentation. Les ressources sont conservées même dans l’annexe ; avec slides, son titre est également conservé. Ces blocs sont copiés intégralement : HTML masqué, commentaires, scripts et champs inutilisés peuvent révéler du contenu privé. Le texte ordinaire de l’annexe et les autres clés du frontmatter sont omis.

Avec form: whole-deck, le premier bloc HTML de premier niveau avant l’annexe constitue toute la présentation ; les titres ne créent pas de diapositives. Le cadre partagé peut la parcourir grâce à un strata.deck.registerAdapter écrit par l’auteur avec count(), current() et goTo(index). Les notes internes à ce HTML ne peuvent pas être retirées : notesPrivacy vaut notStripped et la publication exige une acceptation explicite. Gardez les notes confidentielles hors du HTML.

Utilisez Exporter pour obtenir un PDF ou un HTML autonome, ou demandez à votre assistant connecté d’utiliser export_presentation. Les liens de téléchargement durent quinze minutes. Le PDF utilise le quota de captures du propriétaire ; le HTML n’est pas décompté. Les notes du présentateur sont retirées des diaporamas. L’export du HTML whole-deck est refusé, car les notes privées ne peuvent pas être supprimées de manière fiable. L’export PPTX n’est pas pris en charge.

Importer une présentation existante

Conservez les fichiers existants et examinez leur format. Pour du Markdown UTF-8, mesurez les octets, appelez edit_document avec action=presignUpload et contentLength plus documentId ou title/folderId, envoyez les octets exacts par PUT avec tous les requiredHeaders renvoyés, puis finalizeUpload avec uploadId. Relisez après finalisation. Adaptez les présentations HTML dans une copie Markdown whole-deck et vérifiez les dépendances du bac à sable et les notes internes. L’import bureautique convertit PPTX/PDF/DOCX en documents ordinaires ; il ne garantit pas la fidélité des diapositives. N’envoyez pas ces fichiers binaires via le flux Markdown. Utiliser un documentId existant demande le remplacement intégral lors de finalizeUpload ; le PUT ne fait que stocker temporairement les octets. Ni finalizeUpload ni action=write n’accepte de version attendue : le remplacement peut écraser les modifications de collaborateurs sans erreur de conflit de version. Privilégiez de petits appels edit avec des ancres uniques et replaceAll=false ; ils ne vérifient que la réplique de la tâche qui traite la requête, et les modifications de blocs peuvent recourir à une réécriture structurelle. Aucune voie MCP d’écriture du contenu ne garantit la sécurité face à une édition concurrente. Si la présentation semble en cours de modification, prévenez l’utilisateur et convenez d’une pause ou préparez une copie distincte. Si le remplacement est inévitable, relisez juste avant la finalisation, comparez documentVersion à la version utilisée pour préparer le fichier et abandonnez si elle a changé. Une version inchangée réduit la fenêtre de concurrence sans la fermer.

Le découpage d’un diaporama HTML est une transformation réalisée par l’agent, pas un outil d’importation. Cinq vérifications sont requises : une section par diapositive ; des styles locaux sans feuilles liées ; des scripts dont l’accès au DOM reste dans la section, sauf navigation identifiée ; des ressources autonomes ; et un titre par section. Si l’isolation d’un script ne peut être établie, conservez whole-deck et nommez ce script. Pour un découpage demandé et admissible, créez un document distinct, faites de la première section la couverture H1, préservez les IDs et les sections, et signalez la fidélité visuelle non vérifiée.

Validation et correction

Lancez la validation avant de présenter ou d’exporter. validate_presentation vérifie la mise en page, le contraste, les liaisons de données, la structure et les thèmes, et enregistre des captures. Chaque appel vérifie au plus deux diapositives dans une taille d’affichage ; poursuivez avec next tant que status vaut more, sans modifier la sélection. Une capture est décomptée par diapositive et taille, sans nouveau débit pour la même clé de rendu pendant le cycle de facturation. Examinez les résultats, corrigez la source et vérifiez à nouveau.

{
  "action": "edit",
  "documentId": "<documentId>",
  "oldString": "<strong id=\"s02-target\">84%</strong>",
  "newString": "<strong id=\"s02-target\">87%</strong>",
  "replaceAll": false
}
codeCause et correctionstrataDocumentation
duplicate-coverUn H1 supplémentaire ouvre des notes au lieu d’une autre couverture. Gardez un seul H1 ; utilisez H2 pour une autre diapositive.presentation-grammar
extra-visualUn visuel HTML supplémentaire est omis. Placez-le sur sa propre diapositive ou regroupez le visuel prévu.presentation-grammar
slide-and-visualDes blocs HTML et slide partagent une section, qui est donc exclue. Choisissez un seul type de visuel.presentation-grammar
unknown-layoutLe premier bloc slide n’a pas de layout valide. Utilisez l’un des cinq noms indiqués.presentation-grammar
image-slide-without-sourceUn bloc slide avec layout=image ne déclare aucune source. Ajoutez uses avec le nom d’une image de ce document, ou choisissez-en une dans l’éditeur de présentation.presentation-grammar
unknown-themeLe nom extends choisi est inconnu. Choisissez un thème fourni ; le repli actuel est strata-light.presentation-themes
duplicate-themePlusieurs blocs theme ou deckTheme désactivent la couche correspondante. Regroupez-les en un seul de chaque type.presentation-themes
theme-missing-tokenIl manque un jeton obligatoire au thème d’entreprise. Définissez les huit dans une règle :root simple au premier niveau.presentation-themes
theme-contrastLe contraste résolu entre texte et fond est inférieur à 4,5:1. Ajustez les deux couleurs pour atteindre ce rapport.presentation-themes
theme-contrast-unknownUne couleur de texte ou de fond ne peut pas être évaluée. Utilisez un hexadécimal littéral à trois ou six chiffres, ou rgb() avec des entiers.presentation-themes
theme-importantLe CSS du thème contient !important, qui est supprimé. Retirez-le et utilisez la cascade documentée.presentation-themes
theme-oversizeLe CSS du thème dépasse 256 KiB et est omis. Réduisez sa taille en octets UTF-8, ressources intégrées comprises.presentation-themes
theme-external-urlUn @import ou une URL autre que data: a été trouvé. Supprimez-le ou intégrez une ressource autorisée en data:.presentation-themes
theme-unbalancedLes délimiteurs du thème sont déséquilibrés avant ou après normalisation ; la couche est omise. Corrigez la syntaxe CSS.presentation-themes
theme-token-outside-rootUn jeton de présentation est déclaré hors d’une règle :root simple au premier niveau. Déplacez la déclaration dans :root.presentation-themes
locked-overrideUn jeton de présentation remplace un thème d’entreprise verrouillé. Retirez la substitution ou convenez d’une modification du thème source ; le verrouillage ne fait que la signaler.presentation-themes

Maintenir une présentation à jour

L’actualisation automatique des présentations n’est pas disponible. list_company_themes, get_company_theme et le contrat target/sourceRef/baseVersion des routines de présentation ne sont pas implémentés. Copiez les thèmes avec find et read_document, consignez leur provenance vérifiée et précisez que thèmes et données copiés sont des instantanés. L’existence de cette section n’active aucune routine. Actualisez une copie uniquement par une modification explicitement demandée et examinée.