Skip to Content
Développement d'applications IoTStructure d'une application

Structure d’une application

Chaque application IronFlock est un dossier versionné par Git contenant votre code applicatif et un répertoire de configuration .ironflock optionnel.

Structure du répertoire

my-app/ ├── Dockerfile # Requis : définit l'image du conteneur ├── docker-compose.yml # Optionnel : configuration multi-conteneurs ├── main.py # Votre code applicatif (n'importe quel langage) ├── requirements.txt # Dépendances └── .ironflock/ ├── board-template.yml # Mise en page du tableau de bord ├── data-template.yml # Schéma de base de données pour la télémétrie ├── env-template.yml # Paramètres configurables par l'utilisateur ├── port-template.yml # Définitions des ports d'accès à distance └── ai-template.yml # Définitions des agents IA

Les six parties d’une application

1. Code edge

La logique applicative principale. Ce code s’exécute dans un conteneur Docker sur l’appareil et gère la communication avec les capteurs, automates, caméras ou tout matériel connecté.

Le code edge peut être écrit dans n’importe quel langage de programmation — Python, JavaScript, Go, Rust, C++, ou tout ce qui s’exécute dans un conteneur Docker.

2. Board (Interface utilisateur)

Un tableau de bord en temps réel construit avec l’éditeur de board sans code. Les boards affichent les données de tous les appareils exécutant l’application dans un projet et se mettent à jour automatiquement.

La configuration du board est stockée dans board-template.yml.

3. Stockage de données

Chaque projet dispose de sa propre base de données physique (propulsée par TimescaleDB). Lorsqu’une application définit des tables dans data-template.yml, ces tables sont provisionnées automatiquement. Les données sont privées par projet — les développeurs n’ont pas accès aux données utilisateur.

4. Realm de messagerie

Lorsqu’elle est installée, l’application obtient un realm de messagerie privé connectant :

  • Toutes les instances edge sur les appareils
  • La base de données du projet
  • L’interface board

La communication utilise WAMP via les SDK IronFlock.

5. Accès à distance

Définissez des ports et protocoles dans port-template.yml pour activer le tunneling sécurisé vers les services de l’appareil.

6. Agents IA

Exposez des agents IA spécifiques au domaine via ai-template.yml.

Stockage persistant sur les appareils

Par défaut, les données dans le conteneur sont perdues au redémarrage. Deux répertoires persistent :

CheminPortée
/dataPrivé à cette application
/sharedPartagé entre toutes les applications sur l’appareil
Last updated on