# Le dossier .ondaclip

> Tout ce qu'Ondaclip lit dans votre dépôt, fichier par fichier, les versions des formats, et ce que fait votre agent IA avant de les changer.

Ondaclip lit un seul dossier de votre dépôt : `.ondaclip/`, à sa racine, comme
`.github/`. Vous ou votre agent IA l'écrivez ; Ondaclip ne devine rien.
Commitez-le, changez-le par pull request.

## Le dossier

Un produit (une application dans le dépôt) :

```
.ondaclip/
  config.yaml            les réglages : langues, application, connexion, voix, cloud
  publication.yaml       les tutoriels publiés, en chapitres
  tutorials/
    invite-a-colleague.yaml   un fichier par tutoriel
  fixtures/              fichiers joints par un tutoriel (facultatif)
  tutorial.config.cjs    du code pour ce que le YAML ne dit pas (facultatif)
  README.md              une note courte pour votre équipe (facultatif)
  .gitignore             output/
  output/                ce que fait Ondaclip : vidéos, captures, rapports. Jamais commité
```

Plusieurs produits (un monorepo) : toujours un seul `.ondaclip/`. Son
`config.yaml` liste les produits sous `products:` ; chacun a ses tutoriels et
sa liste de publication, par défaut dans un dossier à son nom.

```
.ondaclip/
  config.yaml            clés communes, puis products: { dashboard: …, staff: … }
  tutorials/             les tutoriels de dashboard (tutorials: tutorials)
  publication.yaml
  staff/
    tutorials/
    publication.yaml
  output/dashboard/  output/staff/
```

| Fichier | Ce qu'il contient | Page |
|---|---|---|
| `config.yaml` | Tous les réglages du produit, ou de chaque produit | [config.yaml](/docs/configuration/) |
| `tutorials/<id>.yaml` | Un tutoriel : son compte, ses étapes, ses plans, son quiz | [Le fichier d'un tutoriel](/docs/tutorial-format/), [Actions et cibles](/docs/actions/) |
| `publication.yaml` | Quels tutoriels sont publiés, dans quels chapitres et sections | [La liste de publication](/docs/publication-list/) |
| `fixtures/` | Fichiers pour `attach` (une image, un PDF) : données fictives seulement | [Actions et cibles](/docs/actions/) |
| `tutorial.config.cjs` | Du JavaScript pour une connexion ou un démarrage local que le YAML ne décrit pas. Ondaclip ne l'exécute jamais sur Ondaclip Cloud | [config.yaml](/docs/configuration/) |

Jamais de secret dans le dossier : les comptes de démonstration sont réglés
depuis le studio et gardés chiffrés, par Ondaclip sur Ondaclip Cloud,
dans votre Secret Manager dans votre infrastructure.

## Versions

Deux numéros, deux sens :

- **Le format des fichiers** : `version: 1` en tête de `config.yaml`. Le
  format 1 ne fait que grandir : Ondaclip ajoute des clés, il n'en retire ni
  n'en change aucune. Un fichier valide aujourd'hui le reste. Une rupture
  serait le format 2, lu à côté du format 1 pendant un temps, avec une page de
  migration et `validate_config` qui dit quoi changer.
- **Ondaclip** : v0.47.0, v0.48.0… Chaque version peut ajouter des clés au
  format 1. Une clé ajoutée après le dossier `.ondaclip` (v0.22.0) porte
  **depuis vX** dans la doc. Un produit qui tourne sur un Ondaclip plus ancien
  qu'une clé de ses fichiers s'arrête avant un tournage, dans Prêt à filmer,
  avec la clé et la version à prendre : mettez-le à jour dans le studio
  (Réglages, Où ça tourne). Voir [les versions d'Ondaclip](/docs/fr/versions/).

| Clé | Depuis |
|---|---|
| `testIdAttribute`, `platform`, `android` | v0.42.0 |
| `pullRequests` | v0.43.4 |
| `appUrl`, `products` | v0.47.0 |
| `demoData` | v0.48.0 |

## Vérifier un fichier avant de le commiter

- **Les schémas JSON**, pour votre éditeur et votre agent :
  [config.schema.json](/docs/config.schema.json),
  [tutorial.schema.json](/docs/tutorial.schema.json),
  [publication.schema.json](/docs/publication.schema.json). Ajoutez la ligne
  `# yaml-language-server: $schema=https://ondaclip.com/docs/config.schema.json`
  en tête d'un fichier (VS Code, Cursor et d'autres le vérifient pendant la frappe).
- **Le serveur MCP** d'Ondaclip : `validate_config`, `validate_tutorial`,
  `validate_publication` (voir [votre agent IA](/docs/fr/for-ai-agents/)).
- **Mettez entre guillemets un texte qui contient une virgule dans `{ }`** :
  `{ fr-CA: "Une vidéo, plusieurs langues." }`. Sans guillemets, YAML coupe le
  texte à la virgule et la suite devient une clé.

## Ce que fait votre agent IA

Avant de changer quoi que ce soit dans `.ondaclip/` :

1. Lire cette page, puis la page du fichier qu'il change.
2. Écrire le changement : seulement les produits, tutoriels et clés demandés.
   Ondaclip filme ce que disent les fichiers, rien de plus.
3. Le vérifier : le schéma du fichier, ou `validate_config`,
   `validate_tutorial`, `validate_publication` par MCP.
4. Ouvrir une pull request. Ondaclip la vérifie comme le reste de votre code,
   et une personne relit les vidéos dans le studio avant toute publication.

Source: https://ondaclip.com/docs/fr/ondaclip-folder/
