> For the complete documentation index, see [llms.txt](https://docs.kiloiot.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kiloiot.io/kilo-docs-fr/kilo-center/kilo-mioty-service-center/getting-started/configuration-basics.md).

# Notions de base de configuration

Fichiers de configuration et paramètres de base de KiloCenter — config.docker.yaml, KC-Core, KC-Gateway, mappages de ports.

### Objectif

Comprendre et vérifier la configuration d’exécution de base pour un déploiement local.

### Fichiers de configuration

* `kilocenter-modules/config/config.docker.yaml` -- configuration de KC-Core (mode conteneur)
* `kilocenter-modules/KC-Core/config.yaml` -- configuration de KC-Core (mode de développement source)
* `kilocenter-modules/KC-Gateway/config.yaml` -- configuration de KC-Gateway (mode de développement source)
* `kilocenter-modules/docker-compose.yml` -- définitions des services et mappages de ports

### Valeurs par défaut du mode conteneur

En mode conteneur, KC-Core lit `config/config.docker.yaml`. Toutes les adresses des services utilisent des noms DNS de service Docker (p. ex., `postgres`, `redis`, `mosquitto`). Les variables d’environnement dans `.env` remplacent les valeurs par défaut de Compose.

### Valeurs par défaut du mode de développement source

`kilocenter-modules/start-dev.sh` exporte les variables d’environnement et détecte automatiquement le port PostgreSQL :

* Si le conteneur Docker `kilocenter-postgres` est en cours d’exécution, il utilise le port `5433`.
* Sinon, il se rabat sur `5432` pour un PostgreSQL local sur l’hôte.

### Paramètres à vérifier avant les tests

* **Base de données**: hôte, port, identifiants (par défaut : `localhost:5433`, utilisateur `kilocenter`, mot de passe `changeme`)
* **Santé de KC-Core**: port `8086`
* **KC-Gateway gRPC-web**: port `9090`
* **Santé de KC-Gateway**: port `8087`
* **BSSCI**: port `5000`, chemins des certificats TLS
* **SCACI**: port `5001`, chemins des certificats TLS
* **MQTT**: hôte du courtier, port et identifiants

### Chemins des certificats TLS

Les chemins des certificats TLS BSSCI et SCACI sont configurés dans la `protocole` section dans `KC-Core/config.yaml` (mode dev source) ou `config/config.docker.yaml` (conteneur) :

```yaml
protocol:
  bsci_tls:
    enabled: true
    cert_file: "certificates/server.crt"
    key_file: "certificates/server.key"
    ca_file: "certificates/ca.crt"
    min_version: "1.2"
  scaci_tls:
    enabled: true
    cert_file: "certificates/server.crt"
    key_file: "certificates/server.key"
    ca_file: "certificates/ca.crt"
    min_version: "1.3"
```

Les chemins dans la configuration du mode dev source sont relatifs au répertoire de travail de KC-Core. La configuration conteneur utilise des chemins absolus (`/app/certificates/`). Générez les certificats avant le premier démarrage — voir l’installation de Docker Compose.

### Identifiants par défaut

Ces valeurs par défaut existent pour faciliter le développement local. Modifiez-les pour tout déploiement non local :

* PostgreSQL : utilisateur `kilocenter`, mot de passe `changeme`
* Courtier MQTT : utilisateur `admin`, mot de passe `KiloCenter`
* Connexion d’usine de la station de base AVA : `ubuntu` / `123456`

### Intégration MQTT

MQTT est **désactivé par défaut** dans `KC-Core/config.yaml`:

```yaml
mqtt:
  enabled: false
  host: "localhost"
  port: 1883
  username: "admin"
  password: "KiloCenter"
```

Pour activer MQTT, définissez `enabled: true` et redémarrez KC-Core. Le courtier Mosquitto doit être en cours d’exécution (il est inclus dans la pile Docker Compose). Voir Premiers pas MQTT pour les détails d’intégration.

### Liste de vérification de validation

* KC-Core démarre sans erreur et `/health` répond sur le port `8086`
* KC-Gateway démarre et `/health` répond sur le port `8087`
* **Mode conteneur**: KC-Web se charge à `http://localhost/`
* **Mode de développement à partir des sources**: KC-Web se charge à `http://localhost:5173`
* KC-Web peut joindre KC-Gateway sur le port `9090` (les requêtes gRPC-web réussissent dans la console du navigateur)


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.kiloiot.io/kilo-docs-fr/kilo-center/kilo-mioty-service-center/getting-started/configuration-basics.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
