> 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 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.kiloiot.io/kilo-docs-fr/kilo-center/kilo-mioty-service-center/getting-started/configuration-basics.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.
