> 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/prerequisites.md).

# Prérequis

Prérequis de KiloCenter — Docker, Docker Compose, Git, et chaînes d’outils optionnelles (Go, Bun) pour l’installation ou la compilation.

### Obligatoire

* Docker et Docker Compose v2
* Git

### Exigences supplémentaires pour la compilation à partir des sources

Si vous compilez KC-Core, KC-Gateway ou KC-Web à partir des sources (développement ou contribution) :

* Go 1.24.4+
* Runtime Bun (pour la compilation de KC-Web et le serveur de développement)

### Outils facultatifs

Utiles pour la validation et le dépannage :

* `grpcurl` pour les vérifications de l'API gRPC
* `mosquitto_sub` et `mosquitto_pub` pour les tests MQTT (nécessaire uniquement si vous activez l'intégration MQTT)
* `psql` pour l'inspection directe de la base de données

### Dépendances d’infrastructure

KiloCenter nécessite ces services à l'exécution :

* **PostgreSQL 18+** -- stockage principal des données
* **Redis 7+** -- mise en cache
* **Mosquitto 2.0+** -- courtier MQTT (facultatif pour la configuration initiale ; MQTT est désactivé par défaut dans `KC-Core/config.yaml`)

Dans la configuration recommandée, les trois s'exécutent via Docker Compose. Mosquitto est inclus dans la pile Docker Compose, mais KC-Core ne s'y connectera pas à moins que MQTT ne soit explicitement activé. Consultez les Premiers pas MQTT pour les instructions de configuration.

### Ports requis

Assurez-vous que ces ports sont disponibles avant de démarrer :

| Port  | Service                     | Notes                                          |
| ----- | --------------------------- | ---------------------------------------------- |
| 80    | KC-Web (conteneur)          | nginx — SPA + proxy gRPC-web                   |
| 9090  | KC-Gateway                  | API gRPC-web externe                           |
| 8086  | État de santé de KC-Core    | Santé et Prometheus                            |
| 8087  | État de santé de KC-Gateway | Point de terminaison de santé de la passerelle |
| 5000  | BSSCI                       | Protocole de station de base (TLS)             |
| 5001  | SCACI                       | Protocole du centre applicatif                 |
| 50051 | gRPC de KC-Core             | Interne, boucle locale uniquement              |
| 5433  | PostgreSQL                  | Mappage des ports de l'hôte Docker             |
| 6379  | Redis                       | Cache                                          |
| 1883  | MQTT                        | Courtier Mosquitto                             |

Le port 5173 n'est utilisé qu'en mode développement à partir des sources (serveur de développement Vite).

### Certificats TLS

KiloCenter nécessite des certificats TLS pour la communication avec la station de base (BSSCI) et avec le centre applicatif (SCACI). Générez-les à l'aide du `certgen` service compose avant de démarrer KC-Core pour la première fois :

```bash
docker compose run --rm certgen
```

> **Propriété des fichiers (Linux) :** Si les fichiers générés appartiennent à root, relancez avec `UID=$(id -u) GID=$(id -g)` préfixé.

Consultez les étapes d'amorçage des certificats dans l'installation Docker Compose.

### Structure du dépôt

Clonez le dépôt et travaillez depuis le `kilocenter-modules/` répertoire :

```bash
git clone <repository-url>
cd kilocenter-modules
```


---

# 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/prerequisites.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.
