> 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).

# Référentiel

Les données de configuration de PowerShell Universal sont principalement stockées dans le référentiel. Par défaut, le dossier du référentiel se trouve dans `%ProgramData%\UniversalAutomation\Repository`. Vous pouvez modifier l'emplacement du référentiel en modifiant le fichier `appsettings.json`.

Le référentiel contient des scripts PowerShell et des fichiers XML produits lors de l'utilisation de la console d'administration de PowerShell Universal. Le dossier du référentiel est également surveillé pour détecter les modifications, de sorte que toute modification effectuée sur le disque entraîne le rechargement du fichier et la reconfiguration de la plateforme par le système. Lors de l'utilisation de l'intégration Git, le dossier du référentiel est celui qui est synchronisé avec le dépôt distant Git.

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

## Ce qui est stocké dans le référentiel

Les fichiers stockés dans le référentiel sont enregistrés en texte brut pour faciliter la comparaison avec les outils de contrôle de source.

* Authentification
* Agents et outils AI
* Applications
* Points de terminaison
* Environnements
* Licences
* Pages de connexion
* Pages
* Dossiers publiés
* Limites de débit
* Rôles
* Planifications
* Scripts
* Paramètres
* Étiquettes
* Déclencheurs
* Coffres

## Ce qui n'est pas stocké dans le référentiel

Ces entités sont stockées dans la base de données de PowerShell Universal.

* Jetons d'application
* Identités
* Historique des tâches

## Modification du référentiel

Vous pouvez modifier les fichiers du référentiel directement dans la console d'administration en accédant à Paramètres \ Fichiers. L'éditeur vous permet de créer des fichiers et des dossiers, et de modifier tout fichier dans le répertoire du référentiel.

<figure><img src="/files/RU3VZHedDokGRw8D9XcV" alt=""><figcaption></figcaption></figure>

Vous pouvez également modifier le référentiel directement sur le disque à l'aide d'éditeurs tels que Visual Studio Code. Par défaut, les fichiers sont stockés dans `%ProgramData%\UniversalAutomation\Repository`. Vous devrez soit activer le rechargement automatique, soit résoudre les modifications manuellement. Vous pouvez afficher les fichiers modifiés en accédant à Paramètres \ Fichiers \ Suivi de configuration.

## Scripts de configuration

### Authentication.ps1

{% hint style="info" %}
Stocké dans `.universal\authentication.ps1`
{% endhint %}

Ce script est responsable de la configuration de l'[authentification par formulaire](/powershell-universal/fr/securite/security.md#forms-authentication). Si l'authentification par formulaire n'est pas utilisée, ce fichier est ignoré.

Vous pouvez utiliser l'applet de commande [`Set-PSUAuthentication`](https://github.com/Devolutions/doc-gitbook/blob/master/translations/fr/powershell-universal/cmdlets/Set-PSUAuthenticationMethod.txt) dans ce fichier.

### AiAgents.ps1

{% hint style="info" %}
Stocké dans `.universal\aiAgents.ps1`
{% endhint %}

Ce script est responsable de la configuration des agents AI. Utilisez l'applet de commande `New-PSUAIAgents` dans ce fichier.

### AiTools.ps1

{% hint style="info" %}
Stocké dans `.universal\aiTools.ps1`
{% endhint %}

Ce script est responsable de la configuration des outils AI. Utilisez l'applet de commande `New-PSUAITool` dans ce fichier.

### Branding.ps1

{% hint style="info" %}
Stocké dans `.universal\branding.ps1`
{% endhint %}

Ce script est responsable de la configuration des paramètres d'image de marque.

Vous pouvez utiliser l'applet de commande New-PSUBranding dans ce fichier.

### Dashboards.ps1

{% hint style="info" %}
Stocké dans `.universal\dashboards.ps1`
{% endhint %}

Ce script est responsable de l'enregistrement des fichiers PS1 en tant qu'applications dans le système. Chaque commande contient les métadonnées de l'application, notamment le nom, l'URL de base et l'environnement.

Vous pouvez utiliser l'applet de commande [`New-PSUApp`](https://github.com/Devolutions/doc-gitbook/blob/master/translations/fr/powershell-universal/cmdlets/New-PSUDashboard.txt) dans ce fichier.

### Endpoints.ps1

{% hint style="info" %}
Stocké dans `.universal\endpoints.ps1`
{% endhint %}

Ce script est responsable de la définition de tous les [points de terminaison API](https://github.com/Devolutions/doc-gitbook/blob/master/translations/fr/powershell-universal/config/broken-reference/README.md) dans l'instance PowerShell Universal.

Vous pouvez utiliser l'applet de commande [`New-PSUEndpoint`](https://github.com/Devolutions/doc-gitbook/blob/master/translations/fr/powershell-universal/cmdlets/New-PSUEndpoint.txt) dans ce fichier.

### Environments.ps1

{% hint style="info" %}
Stocké dans `.universal\environments.ps1`
{% endhint %}

Ce script est responsable de la définition de tous les environnements dans PowerShell Universal.

Vous pouvez utiliser l'applet de commande [`New-PSUEnvironment`](https://github.com/Devolutions/doc-gitbook/blob/master/translations/fr/powershell-universal/cmdlets/New-PSUEnvironment.txt) dans ce fichier.

### healthChecks.ps1

{% hint style="info" %}
Stocké dans `.universal\healthChecks.ps1`
{% endhint %}

Ce script est responsable de la définition des vérifications d'intégrité dans PowerShell Universal.

Vous pouvez utiliser l'applet de commande [`New-PSUHealthCheck`](https://github.com/Devolutions/doc-gitbook/blob/master/translations/fr/powershell-universal/cmdlets/New-PSUHealthCheck.txt) dans ce fichier.

### Licenses.ps1

{% hint style="info" %}
Stocké dans `.universal\licenses.ps1`
{% endhint %}

Ce script est responsable de la définition de la licence utilisée dans PowerShell Universal.

Vous pouvez utiliser l'applet de commande [`Set-PSULicense`](https://github.com/Devolutions/doc-gitbook/blob/master/translations/fr/powershell-universal/cmdlets/Set-PSULicense.txt) dans ce fichier.

```
Set-PSULicense -Key "<License></License>"
```

### Initialize.ps1

{% hint style="info" %}
Stocké dans `.universal\initialize.ps1`
{% endhint %}

Ce script s'exécute avant toute configuration dans PowerShell Universal. Le serveur est en cours d'exécution, mais aucun des services n'a démarré. Cela est utile pour installer des modules ou configurer des coffres de secrets avant que la découverte de ces ressources ne soit démarrée.

### Middleware.ps1

{% hint style="info" %}
Stocké dans `.universal\middleware.ps1`
{% endhint %}

Permet la personnalisation des requêtes HTTP dans PowerShell Universal.

### PublishedFolders.ps1

{% hint style="info" %}
Stocké dans `.universal\publishedFolders.ps1`
{% endhint %}

Ce script est responsable de la configuration des [dossiers publiés](/powershell-universal/fr/plateforme/published-folders.md).

Vous pouvez utiliser l'applet de commande [`New-PSUPublishedFolder`](https://github.com/Devolutions/doc-gitbook/blob/master/translations/fr/powershell-universal/cmdlets/New-PSUPublishedFolder.txt) dans ce fichier.

### RateLimits.ps1

{% hint style="info" %}
Stocké dans `.universal\rateLimits.ps1`
{% endhint %}

Ce script est responsable de la configuration des [limites de débit](/powershell-universal/fr/api/rate-limiting.md).

Vous pouvez utiliser l'applet de commande [`New-PSURateLimit`](https://github.com/Devolutions/doc-gitbook/blob/master/translations/fr/powershell-universal/cmdlets/New-PSURateLimit.txt) dans ce fichier.

### Roles.ps1

{% hint style="info" %}
Stocké dans `.universal\roles.ps1`
{% endhint %}

Ce script est responsable de la configuration des [rôles](/powershell-universal/fr/apps/role-based-access.md).

Vous pouvez utiliser l'applet de commande [`New-PSURole`](https://github.com/Devolutions/doc-gitbook/blob/master/translations/fr/powershell-universal/cmdlets/New-PSURole.txt) dans ce fichier.

### Schedules.ps1

{% hint style="info" %}
Stocké dans `.universal\schedules.ps1`
{% endhint %}

Ce script est responsable de la configuration des [planifications](/powershell-universal/fr/automation/schedules.md).

Vous pouvez utiliser l'applet de commande [`New-PSUSchedule`](https://github.com/Devolutions/doc-gitbook/blob/master/translations/fr/powershell-universal/cmdlets/New-PSUSchedule.txt) dans ce fichier.

### Scripts.ps1

{% hint style="info" %}
Stocké dans `.universal\scripts.ps1`
{% endhint %}

Ce script contient les métadonnées des [scripts](/powershell-universal/fr/automation/scripts.md). Les scripts réels peuvent être stockés n'importe où. Le chemin inclus est relatif au référentiel. Les chemins complets sont également autorisés.

Vous pouvez utiliser l'applet de commande [`New-PSUScript`](https://github.com/Devolutions/doc-gitbook/blob/master/translations/fr/powershell-universal/cmdlets/New-PSUScript.txt) dans ce fichier.

### Settings.ps1

{% hint style="info" %}
Stocké dans `.universal\settings.ps1`
{% endhint %}

Ce script est responsable de la configuration des [paramètres](/powershell-universal/fr/config/settings.md) système.

Vous pouvez utiliser l'applet de commande [`Set-PSUSetting`](https://github.com/Devolutions/doc-gitbook/blob/master/translations/fr/powershell-universal/cmdlets/Set-PSUSetting.txt) dans ce fichier.

### Tags.ps1

{% hint style="info" %}
Stocké dans `.universal\tags.ps1`
{% endhint %}

Ce script est responsable de la configuration des étiquettes.

Vous pouvez utiliser l'applet de commande [`New-PSUTag`](https://github.com/Devolutions/doc-gitbook/blob/master/translations/fr/powershell-universal/cmdlets/New-PSUTag.txt) dans ce fichier.

### Triggers.ps1

{% hint style="info" %}
Stocké dans `.universal\triggers.ps1`
{% endhint %}

Ce script est responsable de la configuration des [déclencheurs](/powershell-universal/fr/automation/triggers.md).

Vous pouvez utiliser l'applet de commande [`New-PSUTrigger`](https://github.com/Devolutions/doc-gitbook/blob/master/translations/fr/powershell-universal/cmdlets/New-PSUTrigger.txt) dans ce fichier.

### Variables.ps1

{% hint style="info" %}
Stocké dans `.universal\variables.ps1`
{% endhint %}

Ce script est responsable de la configuration des [variables](https://github.com/Devolutions/doc-gitbook/blob/master/translations/fr/powershell-universal/config/broken-reference/README.md).

Vous pouvez utiliser l'applet de commande [`New-PSUVariable`](https://github.com/Devolutions/doc-gitbook/blob/master/translations/fr/powershell-universal/cmdlets/New-PSUVariable.txt) dans ce fichier.

### Vaults.ps1

{% hint style="info" %}
Stocké dans `.universal\vaults.ps1`
{% endhint %}

Ce script est responsable de la configuration des [coffres](/powershell-universal/fr/plateforme/variables.md#vaults).

## Modèles

En utilisant le dossier Templates dans le référentiel, vous pouvez créer une sélection de modèles d'éléments pour les fonctionnalités couramment utilisées dans PowerShell Universal. Cela inclut les applications, les pages d'application, les scripts et les points de terminaison.

<figure><img src="/files/fZUa2RTbE0BIQiseHzh6" alt=""><figcaption><p>Modèle de script</p></figcaption></figure>

Les fichiers PS1 dans les dossiers suivants seront fournis comme modèles dans la console d'administration.

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

## .psuignore

Le fichier `.psuignore` peut être utilisé pour exclure certains fichiers ou motifs du surveillant de système de fichiers dans PowerShell Universal. Cela est utile lors de l'enregistrement de fichiers tels que des journaux dans le répertoire du référentiel. Le format du fichier doit être une seule expression régulière par ligne. Si l'expression régulière correspond à un chemin, le système de configuration l'ignorera.

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

## Encodage des fichiers

Vous pouvez configurer l'encodage des fichiers dans la page Paramètres \ Général. Par défaut, PowerShell Universal utilise UTF-8 avec une marque d'ordre d'octet (`utf-8-bom`) au début du fichier. Si vous souhaitez désactiver la marque d'ordre d'octet, vous pouvez changer l'encodage en `utf-8`.

Les encodages pris en charge sont ceux retournés par [Encoding.GetEncodings](https://learn.microsoft.com/en-us/dotnet/api/system.text.encoding.getencodings?view=net-10.0#system-text-encoding-getencodings). Par exemple :

* `utf-32`
* `utf-32-bom`
* `utf-8`
* `utf-8-bom`
* `windows-1250`

Vous pouvez ajouter `-bom` à la fin de l'encodage pour ajouter la marque d'ordre d'octet.

## Sections de configuration en lecture seule

Les sections en lecture seule vous permettent d'inclure des scripts dans vos fichiers de configuration qui ne seront pas modifiés par les changements effectués dans la console d'administration. Cela vous permet d'exécuter une logique supplémentaire, de générer des ressources dynamiquement et de créer des classes à utiliser dans les schémas OpenAPI.

La région `PSUHeader` est placée en haut de votre script. `PSUFooter` est placé en bas.

```powershell
#region PSUHeader 

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

    }
}

#endregion

New-PSUEndpoint -Url "/user" -Endpoint {

}

#region PSUFooter
#endregion
```

## Ressources de base de données

Vous pouvez éventuellement configurer des ressources pour qu'elles soient stockées dans la base de données plutôt que dans le référentiel de configuration. Ces ressources ne seront plus stockées sur le disque et seront stockées directement dans la base de données. Cela les rend immédiatement disponibles pour tous les ordinateurs connectés dans le cluster PSU.

{% hint style="warning" %}
Lorsque cette option est configurée, les fichiers de configuration des ressources sont ignorés.
{% endhint %}

Certaines ressources ne sont pas prises en charge. Il s'agit notamment de :

* Applications
* Points de terminaison avec des chemins
* Scripts
* Modules

Pour configurer une ressource pour la persistance en base de données, vous devez configurer les [paramètres de l'application](/powershell-universal/fr/config/settings.md) pour chaque type de classe. Voici un exemple de stockage des planifications 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:

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

The question should be specific, self-contained, and written in natural language.
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.
