Ce chapitre décrit le fonctionnement interne de Calaos, composant par composant. Il s’adresse aux développeurs, aux contributeurs et aux utilisateurs avancés qui veulent comprendre comment les morceaux s’assemblent, écrire un client, ou porter Calaos sur un nouveau matériel.
Rien de ce chapitre n’est nécessaire pour utiliser Calaos. Pour installer et configurer votre installation, voyez Démarrage et Calaos OS.
Toute l’installation gravite autour d’un seul processus, calaos_server. C’est lui qui parle au matériel, applique les règles et expose une API. Tous les autres composants — interfaces graphiques, écrans muraux, applications mobiles — sont des clients de cette API, et n’ont aucun accès direct au matériel.
Cette architecture a une conséquence pratique : écrire un nouveau client ne demande de toucher à rien d’autre. L’API est la même pour tous, documentée par le code de calaos_server, et les clients existants en sont autant d’exemples.
| Composant | Rôle | Technologie | Dépôt |
|---|---|---|---|
| Calaos Server | Cœur du système : matériel, règles, API | C++ / libuv | calaos_base |
| Calaos Home | Interface locale sur écran tactile | Qt / QML | calaos_mobile |
| Calaos Mobile | Applications iOS et Android | Qt / QML | calaos_mobile |
| Remote UI | Écrans muraux autonomes | ESP32-P4 | calaos_remote_ui |
| Calaos WebApp | Interface dans le navigateur | JavaScript | calaos-web-app |
| Calaos DDNS | Accès distant et certificats | Go | calaos_ddns |
| Fichiers de configuration | Format et emplacement de la configuration | XML | calaos_base |
À cela s’ajoutent les composants qui font tourner le système lui-même : calaos-container, le daemon qui gère les services en containers, et calaos-os, l’outil d’administration. Ils sont décrits dans Sous le capot et L’outil calaos-os.
| Port | Protocole | Usage |
|---|---|---|
| 5454 | TCP | API JSON, en HTTP et en WebSocket |
| 4545 | UDP | Découverte du serveur sur le réseau local |
| 4646 | UDP | Écoute des automates Wago |
| 8000 | TCP | API d’administration de calaos-container, sur la boucle locale uniquement |
Le port de l’API est modifiable par le réglage port_api.
L’API du port 8000 est celle qu’utilise Calaos Home pour installer le système, configurer le réseau et confirmer un retour en arrière — voir Calaos Home.
Calaos est un logiciel libre, publié sous GPL v3 pour l’essentiel de ses composants. Les contributions sont les bienvenues : chaque dépôt accepte les pull requests, et les discussions se tiennent sur le forum et les issues GitHub.
Le cœur du système : pilotes matériels, moteur de règles et API JSON.
L’interface locale sur écran tactile, et son pilotage du système.
Les applications iOS et Android, et leur socle commun avec Calaos Home.
Le firmware des écrans muraux, et son portage sur de nouvelles cartes.
L’interface accessible depuis un navigateur.
Le client de DNS dynamique, les certificats et l’aiguillage HAProxy.
Les fichiers de configuration : format, emplacement et cycle de vie.