> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/powershell-universal/fr/config/repository.md).

# Dépôt

Configurez le stockage du dépôt PowerShell Universal, la configuration basée sur les fichiers, les ressources de base de données, les modèles et l'encodage des fichiers.

PowerShell Universal stocke principalement la configuration dans son dépôt. Le dossier de dépôt par défaut est `%ProgramData%\UniversalAutomation\Repository`; modifiez l'emplacement dans `appsettings.json`.

Le dépôt contient les scripts de configuration PowerShell et les fichiers XML créés par la console d'administration. PowerShell Universal surveille le dossier afin de détecter les changements et recharge la configuration touchée. Lorsque la synchronisation Git est activée, il s'agit du dossier synchronisé avec le dépôt distant.

Toutes les applets de commande de configuration font partie du [module Universal](https://www.powershellgallery.com/packages/Universal).

## Ce qui est stocké dans le dépôt

La configuration est stockée en texte en clair afin de produire des différences compatibles avec le contrôle de code source. Les ressources sauvegardées dans le dépôt comprennent l'authentification, les agents et outils d'IA, les applis, les terminaux, les environnements, les licences, les pages de connexion, les pages, les dossiers publiés, les limites de débit, les rôles, les planifications, les scripts, les paramètres, les étiquettes, les déclencheurs, les variables et les coffres.

Les jetons d'applis, les identités et l'historique des tâches sont stockés dans la base de données PowerShell Universal.

## Modification du dépôt

Modifiez les fichiers du dépôt dans la console d'administration sous **Contrôle de code source > Fichiers / Dépôt > Fichiers**, où vous pouvez créer des dossiers et modifier des fichiers dans le répertoire du dépôt. Vous pouvez aussi modifier les fichiers sur le disque avec un éditeur tel que Visual Studio Code.

Lorsque vous modifiez les fichiers sur le disque, activez le rechargement automatique ou résolvez les changements manuellement. Consultez les changements en attente sous **Contrôle de code source > Fichiers / Dépôt > Changements de configuration**.

## Scripts de configuration

Les scripts de configuration se trouvent dans le répertoire `.universal`. La console d'administration maintient les portions générées de ces fichiers, tandis que les régions `PSUHeader` et `PSUFooter` demeurent en lecture seule. Utilisez ces régions pour de la logique personnalisée, des ressources générées ou des classes requises par les schémas OpenAPI.

```powershell
#region PSUHeader

1..100 | ForEach-Object {
    New-PSUEndpoint -Url "/endpoint/$_" -Endpoint { }
}

#endregion

New-PSUEndpoint -Url '/user' -Endpoint { }

#region PSUFooter
#endregion
```

| Fichier                         | Objectif                                                                                       |
| ------------------------------- | ---------------------------------------------------------------------------------------------- |
| `authentication.ps1`            | Configuration de l'authentification par formulaires.                                           |
| `aiAgents.ps1` et `aiTools.ps1` | Agents et outils d'IA.                                                                         |
| `branding.ps1`                  | Paramètres d'image de marque.                                                                  |
| `dashboards.ps1`                | Enregistrement et métadonnées des applis.                                                      |
| `endpoints.ps1`                 | Définitions des terminaux d'API.                                                               |
| `environments.ps1`              | Environnements d'exécution.                                                                    |
| `healthChecks.ps1`              | Vérifications d'intégrité.                                                                     |
| `initialize.ps1`                | S'exécute avant le démarrage de la détection de la configuration.                              |
| `licenses.ps1`                  | Configuration des licences du produit.                                                         |
| `middleware.ps1`                | Personnalisation des requêtes HTTP.                                                            |
| `publishedFolders.ps1`          | Dossiers publiés.                                                                              |
| `rateLimits.ps1`                | Limites de débit.                                                                              |
| `roles.ps1`                     | Rôles.                                                                                         |
| `schedules.ps1`                 | Planifications.                                                                                |
| `scripts.ps1`                   | Métadonnées des scripts; les chemins de script peuvent être relatifs au dépôt ou absolus.      |
| `settings.ps1`                  | Paramètres de la plateforme.                                                                   |
| `tags.ps1`                      | Étiquettes.                                                                                    |
| `triggers.ps1`                  | Déclencheurs.                                                                                  |
| `variables.ps1`                 | Variables.                                                                                     |
| `vaults.ps1`                    | Coffres.                                                                                       |
| `workflows.ps1`                 | Définitions de flux de travail lorsque les flux de travail utilisent la persistance par dépôt. |

## Modèles

Utilisez le dossier `Templates` pour fournir des modèles pour les ressources couramment créées dans la console d'administration. Les scripts PowerShell dans les dossiers suivants apparaissent comme des modèles :

* `Templates\App`
* `Templates\AppPage`
* `Templates\Endpoint`
* `Templates\Script`

## .psuignore

Utilisez `.psuignore` pour exclure des fichiers et des chemins de l'observateur du système de fichiers de la configuration. C'est utile pour les journaux ou d'autres fichiers stockés à côté de la configuration. Ajoutez une expression régulière par ligne; les chemins correspondants sont ignorés.

```
logs.*
.git.*
```

## Encodage des fichiers

Configurez l'encodage des fichiers sous **engrenage Paramètres > Général**. La valeur par défaut est UTF-8 avec une marque d'ordre des octets (`utf-8-bom`). Sélectionnez `utf-8` pour omettre la marque d'ordre des octets.

PowerShell Universal prend en charge les encodages retournés par [Encoding.GetEncodings](https://learn.microsoft.com/en-us/dotnet/api/system.text.encoding.getencodings?view=net-10.0), notamment `utf-32`, `utf-32-bom`, `utf-8`, `utf-8-bom` et `windows-1250`. Ajoutez `-bom` au nom d'un encodage pour inclure une marque d'ordre des octets.

## Ressources de base de données

Vous pouvez stocker certaines ressources dans la base de données au lieu du dépôt de configuration. Les ressources sauvegardées en base de données sont disponibles immédiatement sur les ordinateurs connectés d'un cluster PowerShell Universal.

> \[!WARNING] Lorsqu'une ressource est configurée pour la persistance en base de données, PowerShell Universal ignore son fichier de configuration du dépôt.

Les applis, les terminaux avec chemins, les scripts et les modules ne peuvent pas utiliser la persistance en base de données.

Configurez une ressource en définissant `Data:Persistence:<ResourceType>` à `Database` dans `appsettings.json`, puis redémarrez PowerShell Universal. Par exemple, ceci stocke les flux de travail dans la base de données au lieu de `.universal\workflows.ps1` :

```json
{
  "Data": {
    "Persistence": {
      "Workflow": "Database"
    }
  }
}
```

Définissez la variable d'environnement équivalente avant de démarrer PowerShell Universal :

```
Data__Persistence__Workflow=Database
```

Après le redémarrage, les flux de travail nouveaux et modifiés sont enregistrés dans la base de données et conservés d'un redémarrage à l'autre. Les paramètres de flux de travail suivent le paramètre de persistance du flux de travail parent, donc ils sont aussi stockés dans la base de données. Le même modèle de paramètre s'applique à chaque ressource de base de données prise en charge.

Par exemple, ce qui suit stocke les planifications et les paramètres de planification dans la base de données :

```json
{
  "Data": {
    "Persistence": {
      "Schedule": "Database",
      "ScheduleParameter": "Database"
    }
  }
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.devolutions.net/powershell-universal/fr/config/repository.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
