---
sidebar_position: 5
---

# Configuration du projet

La configuration du projet se trouve dans le fichier `wails.json` du répertoire du projet. La structure de la configuration est :

```json
{
    "name": "[Le nom du projet]",
    "assetdir": "[Chemin relatif vers le répertoire contenant les ressources compilées, ceci est normalement déduit et pourrait être laissé vide]",
    "reloaddirs": "[Répertoires supplémentaires pour déclencher des recharges automatiques (séparés par des virgules), ceci n'est utilisé que pour certaines configurations d'actifs avancées]",
    "build:dir": "[Le répertoire où se trouvent les fichiers de compilation. Par défaut, 'build']",
    "frontend:dir": "[Chemin relatif vers le répertoire du frontend. Par défaut, 'frontend']',
    "frontend:install": "[La commande pour installer les dépendances de node, exécuté dans le répertoire du frontend - souvent `npm install`]",
    "frontend:build": "[La commande pour construire l'application, exécuté dans le répertoire frontend - souvent `npm run build`]",
    "frontend:dev": "[Cette commande a été remplacée par frontend:dev:build. Si frontend:dev:build n'est pas spécifié, cela retombera dans cette commande. \nSi cette commande n'est pas non plus spécifiée va revenir sur frontend:build]",
    "frontend:dev:build": "[Cette commande est l'équivalent en dev de frontend:build. Si non spécifié, revient à frontend:dev]",
    "frontend:dev:install": "[Cette commande est l'équivalent en dev de frontend:install. Si non spécifié, revient à frontend:install]",
    "frontend:dev:watcher": "[Cette commande est exécutée dans un processus séparé sur `wails dev`. Utile pour les observateurs tiers ou les serveurs de développement de parties tierces]",
    "frontend:dev:serverUrl": "[URL vers un serveur de développement tiers pour exposer l'application, EG Vite. \nSi cette valeur est définie à 'auto', alors le devServerUrl sera déduit de la sortie Vite]",
    "wailsjsdir": "[Chemin relatif au répertoire qui vont contenir les modules JS automatiquement créés]",
    "version": "[Version de configuration du projet]",
    "outputfilename": "[Le nom du binaire]",
    "debounceMS": 100, // Nombre de millisecondes durant lesquelles le serveur de dev attend de se recharger quand il détecte un changement dans les ressourcces
    "devServer": "[Adresse pour se connecter au serveur de dev de wails. Par défaut: localhost:34115]",
    "appargs": "[Arguments passés à l'application en mode shell lors du mode dev]",
    "runNonNativeBuildHooks": false, // Définit si les évènements de compilation doivent être exécutés même s'ils sont définis pour un système d'exploitation autre que le système d'exploitation hôte.
    "preBuildHooks": {
        "GOOS/GOARCH": "[La commande qui sera exécutée avant une compilation du GOOS/GOARCH: ${platform} est remplacée par le "GOOS/GOARCH". The "GOOS/GOARCH" hook is executed before the "GOOS/*" and "*/*" hook.]",
        "GOOS/*": "[The command that will be executed before a build of the specified GOOS: ${platform} is replaced with the "GOOS/GOARCH". The "GOOS/*" hook is executed before the "*/*" hook.]",
        "*/*": "[The command that will be executed before every build: ${platform} is replaced with the "GOOS/GOARCH".]"
    },
    "postBuildHooks": {
        "GOOS/GOARCH": "[The command that will be executed after a build of the specified GOOS/GOARCH: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary. The "GOOS/GOARCH" hook is executed before the "GOOS/*" and "*/*" hook.]",
        "GOOS/*": "[The command that will be executed after a build of the specified GOOS: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary. The "GOOS/*" hook is executed before the "*/*" hook.]",
        "*/*": "[The command that will be executed after every build: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary.]"
    },
    "info": { // Data used to populate manifests and version info.
        "companyName": "[The company name. Default: [The project name]]",
        "productName": "[The product name. Default: [The project name]]",
        "productVersion": "[The version of the product. Default: '1.0.0']",
        "copyright": "[The copyright of the product. Default: 'Copyright.........']",
        "comments": "[A short comment of the app. Default: 'Built using Wails (https://wails.app)']"
    },
    "nsisType": "['multiple': One installer per architecture. 'single': Single universal installer for all architectures being built. Default: 'multiple']",
    "obfuscated": "[Whether the app should be obfuscated. Default: false]",
    "garbleargs": "[The arguments to pass to the garble command when using the obfuscated flag]"
}
```

This file is read by the Wails CLI when running `wails build` or `wails dev`.

The `assetdir`, `reloaddirs`, `wailsjsdir`, `debounceMS`, `devserver` and `frontenddevserverurl` flags in `wails build/dev` will update the project config and thus become defaults for subsequent runs.

The JSON Schema for this file is located [here](https://wails.io/schemas/config.v2.json).
