- Présentation de Jelina
- JelinaOS
- Gestion des applications
Applications natives et ProgramSet
De nombreux programmes industriels s’exécutent de manière traditionnelle : scripts d’acquisition, démons de conversion de protocoles et binaires tiers. Leur lancement manuel et leur fonctionnement isolé pouvaient laisser les défaillances inaperçues. JelinaOS les intègre dans une gestion déclarative unifiée, le ProgramSet, pour leur apporter une administration par configuration, une récupération automatique et un démarrage avec le système.
Qu’est-ce qu’un ProgramSet ?
Section intitulée « Qu’est-ce qu’un ProgramSet ? »Un ProgramSet est un ensemble d’applications non conteneurisées. Chaque application est décrite par une configuration déclarative :
- Démarrage : commande, répertoire de travail et identité d’exécution ;
- Source : paquet téléchargé depuis l’adresse déclarée dans la Release ;
- Exécution : stratégie de redémarrage, variables d’environnement et signal d’arrêt ;
- Dépendances : ordre de démarrage, exclusions mutuelles et dépendances fortes ou faibles ;
- Surveillance : limites de redémarrage, maintien après sortie et commandes avant ou après exécution.
Une fois configurées, les applications sont gérées par le système sans scripts de démarrage manuels.
Points de configuration
Section intitulée « Points de configuration »Le ProgramSet se configure dans le cloud ou par l’interface locale ; l’agent en assure l’exécution :
| Point d’entrée | Contexte | Description |
|---|---|---|
| Release cloud, recommandée | Connexion à JelinaCloud | Déclarer le ProgramSet à la création d’une Release et le distribuer en masse |
| Interface de gestion locale | Environnement local ou isolé | Transmettre la configuration cible par l’interface de l’équipement |
Démarrage rapide
Section intitulée « Démarrage rapide »Exemple de déclaration d’un ProgramSet dans une Release cloud, avec distribution du paquet par une adresse de téléchargement :
programs: collector: uri: http://files.example.com/collector/collector.tar.gz # Adresse de téléchargement du paquet command: collector --config /data/collector.conf running: true restart: always environment: SITE_ID: plant-01 working_directory: /opt/collector user: rootcommand: commande de démarrage, obligatoire ;running: activation de l’exécution,truepar défaut ;restart: stratégie de redémarrage ;alwayspermet une reprise automatique après sortie anormale ;environment: variables d’environnement ;working_directory: répertoire de travail.
Paramètres courants
Section intitulée « Paramètres courants »| Paramètre | Description |
|---|---|
uri |
Adresse de téléchargement du paquet |
command |
Commande de démarrage obligatoire |
running |
Exécution activée, true par défaut |
restart |
Stratégie de redémarrage : no, on-failure, always, etc. |
environment |
Variables d’environnement |
working_directory |
Répertoire de travail |
user / group |
Identité d’exécution |
after / before, wants / requires, conflicts |
Dépendances et ordre |
start_limit_*, remain_after_exit, exec_start_*, etc. |
Surveillance et récupération |
Voir Compatibilité et extensions docker-compose pour tous les champs.
Configuration avancée : démarrage automatique et conditions
Section intitulée « Configuration avancée : démarrage automatique et conditions »programs: myapp: command: run.sh restart: always Install: WantedBy: multi-user.target # Démarrage automatique Unit: ConditionPathExists: /data/app/config.json # Condition : démarrer uniquement si le fichier de configuration existeOpérations de gestion
Section intitulée « Opérations de gestion »L’agent gère les applications du ProgramSet en tant que services système. Leurs noms suivent les conventions du système ; consultez les noms réels avec la commande d’état avant d’agir :
systemctl status <nom-service-programme> # Afficher l’état ; utiliser le nom de service indiqué par l’équipementsystemctl restart <nom-service-programme> # Redémarrersystemctl stop <nom-service-programme> # ArrêterCas d’utilisation
Section intitulée « Cas d’utilisation »- Programmes industriels traditionnels : moderniser la gestion des démons d’acquisition, de contrôle et de communication ;
- Scripts et outils : intégrer les scripts temporaires dans une gestion formelle avec récupération automatique ;
- Architecture mixte : faire coopérer applications natives et conteneurs dans une même orchestration.
Choisir entre natif et conteneur
Section intitulée « Choisir entre natif et conteneur »| Besoin | Recommandation |
|---|---|
| Accès direct au matériel, fortes exigences temps réel | Application native, ProgramSet |
| Patrimoine de programmes existants, coût de migration sensible | Application native, ProgramSet |
| Plusieurs langages et dépendances, isolation de l’environnement | Application conteneurisée |
| Microservices modernes et itérations rapides | Application conteneurisée |