This commit is contained in:
Daniel Allaire 2026-03-13 16:13:37 -04:00
parent f9f8d61234
commit 7705e03421
42 changed files with 1000 additions and 48 deletions

View file

@ -1,5 +1,22 @@
# CHANGELOG # CHANGELOG
## v0.2
POC mock-first fonctionnelle.
Ajouts et corrections :
- ajout d'un plugin mock `check_life_noc_mock.sh`
- ajout d'une commande Icinga `check_life_noc_mock`
- complétion du template `service_echeance`
- enrichissement de la génération des services avec `mock_state` et `mock_message`
- comportement par défaut fixé à `OK`
- conservation des métadonnées d'échéance dans les services générés
- ajout d'un vrai rôle Ansible `life_noc`
- génération automatique des artefacts sur l'hôte cible
- validation Icinga avant reload
- documentation conceptuelle et architecturale complétée
## v0.1 ## v0.1
Initialisation du projet Life-NOC Initialisation du projet Life-NOC

100
Makefile Normal file
View file

@ -0,0 +1,100 @@
SHELL := /bin/bash
.DEFAULT_GOAL := help
PYTHON ?= python3
ANSIBLE_PLAYBOOK ?= ansible-playbook
INVENTORY ?= ansible/inventory
PLAYBOOK ?= ansible/deploy_life_noc.yml
ARCHIVE ?= life-noc-poc-mock-first.zip
PROJECT_NAME ?= life-noc
GENERATORS := scripts/generate_services.py scripts/generate_bpm.py
CHECKS := checks/check_life_noc_mock.sh checks/check_echeance_vie.sh
ICINGA_FILES := $(wildcard icinga/commands/*.conf) $(wildcard icinga/hosts/*.conf) $(wildcard icinga/templates/*.conf) $(wildcard icinga/services/*.conf)
.PHONY: help all generate regen services bpm validate validate-yaml validate-python validate-shell validate-generated check mock-ok mock-warning mock-critical clean deploy deploy-no-bpm deploy-with-bpm package inventory-example info
help:
@echo "Life-NOC - cibles disponibles"
@echo
@echo " make generate Génère services Icinga + BPM"
@echo " make regen Alias de generate"
@echo " make validate Valide YAML, Python, shell et artefacts générés"
@echo " make check Génère puis valide"
@echo " make mock-ok Teste la sonde mock en état OK"
@echo " make mock-warning Teste la sonde mock en état WARNING"
@echo " make mock-critical Teste la sonde mock en état CRITICAL"
@echo " make deploy Déploie via Ansible (BPM désactivé)"
@echo " make deploy-with-bpm Déploie via Ansible avec BPM activé"
@echo " make package Crée une archive zip du dépôt"
@echo " make clean Supprime l'archive générée"
@echo " make info Affiche les variables utiles"
@echo
@echo "Variables surchargables : INVENTORY=..., PLAYBOOK=..., ARCHIVE=..."
all: check
regen: generate
generate: services bpm
services: domains.yaml scripts/generate_services.py
$(PYTHON) scripts/generate_services.py
bpm: domains.yaml scripts/generate_bpm.py
$(PYTHON) scripts/generate_bpm.py
validate: validate-yaml validate-python validate-shell validate-generated
validate-yaml: domains.yaml
@$(PYTHON) -c 'import yaml, pathlib; p = pathlib.Path("domains.yaml"); data = yaml.safe_load(p.read_text(encoding="utf-8")); assert isinstance(data, dict) and isinstance(data.get("domains"), dict), "domains.yaml invalide: clé racine domains requise"; print("YAML valide: domains.yaml")'
validate-python: $(GENERATORS)
@$(PYTHON) -m py_compile $(GENERATORS)
@echo "Python OK"
validate-shell: $(CHECKS)
@bash -n $(CHECKS)
@echo "Shell OK"
validate-generated: $(ICINGA_FILES) bpm/life-noc.json
@grep -R 'check_life_noc_mock' icinga/templates icinga/commands icinga/services >/dev/null
@$(PYTHON) -c 'import json, pathlib; p = pathlib.Path("bpm/life-noc.json"); data = json.loads(p.read_text(encoding="utf-8")); assert isinstance(data.get("processes"), list) and data["processes"], "bpm/life-noc.json invalide: processes absent ou vide"; print("Artefacts générés valides")'
check: generate validate
mock-ok:
@bash checks/check_life_noc_mock.sh --state OK --message "Sous contrôle" --item-name "demo" --date "2026-03-13"
mock-warning:
@bash checks/check_life_noc_mock.sh --state WARNING --message "Attention requise" --item-name "demo" --date "2026-03-13"; test $$? -eq 1
mock-critical:
@bash checks/check_life_noc_mock.sh --state CRITICAL --message "Action requise" --item-name "demo" --date "2026-03-13"; test $$? -eq 2
deploy: check
$(ANSIBLE_PLAYBOOK) -i $(INVENTORY) $(PLAYBOOK) -e life_noc_bpm_deploy_enabled=false
deploy-no-bpm: deploy
deploy-with-bpm: check
$(ANSIBLE_PLAYBOOK) -i $(INVENTORY) $(PLAYBOOK) -e life_noc_bpm_deploy_enabled=true
package: check
@rm -f $(ARCHIVE)
@zip -qr $(ARCHIVE) . -x '*.git*' -x '__pycache__/*' -x '*.pyc' -x '$(ARCHIVE)'
@echo "Archive créée: $(ARCHIVE)"
clean:
rm -f $(ARCHIVE)
inventory-example:
@echo "Copier ansible/inventory.example vers ansible/inventory puis ajuster les hôtes."
info:
@echo "PROJECT_NAME=$(PROJECT_NAME)"
@echo "PYTHON=$(PYTHON)"
@echo "ANSIBLE_PLAYBOOK=$(ANSIBLE_PLAYBOOK)"
@echo "INVENTORY=$(INVENTORY)"
@echo "PLAYBOOK=$(PLAYBOOK)"
@echo "ARCHIVE=$(ARCHIVE)"

136
README.md
View file

@ -1,9 +1,135 @@
## Origine du projet # Life-NOC
Le concept Life-NOC est né dune réflexion sur la surcharge mentale produite par la complexité du monde moderne. Life-NOC applique la logique d'un centre d'opérations (NOC) à la vie quotidienne.
Lidée centrale est dappliquer les principes de supervision des centres dopérations (NOC) à la gestion du quotidien : Le but du projet est de transformer la charge mentale invisible en état observable, afin de savoir rapidement ce qui est sous contrôle, ce qui approche d'une échéance et ce qui mérite de l'attention.
- transformer la charge mentale invisible en état observable. ## État actuel du dépôt
Le projet est développé et partagé par Chezlepro Inc. afin daider les personnes qui souhaitent retrouver de la clarté et de la sérénité dans leur organisation personnelle. Cette version est une **POC fonctionnelle mock-first**.
Cela signifie que :
- la structure métier est réelle ;
- les domaines et éléments de vie sont décrits dans `domains.yaml` ;
- les services Icinga sont générés automatiquement ;
- le BPM est généré automatiquement ;
- les sondes sont **mockées** par défaut et retournent **OK** tant qu'aucun état simulé n'est forcé.
Autrement dit, la POC valide :
- le modèle déclaratif ;
- la génération des artefacts ;
- le déploiement automatisé par Ansible ;
- la visualisation Icinga/BPM ;
- le remplacement futur des mocks par de vraies sondes.
## Structure du dépôt
```text
life-noc/
├── ansible/
│ ├── deploy_life_noc.yml
│ └── roles/life_noc/
├── bpm/
├── checks/
├── docs/
├── icinga/
│ ├── commands/
│ ├── hosts/
│ ├── services/
│ └── templates/
├── scripts/
└── domains.yaml
```
## Source of truth
Le fichier central est :
- `domains.yaml`
Chaque entrée décrit un élément Life-NOC avec :
- `name` : identifiant lisible
- `date` : métadonnée d'échéance ou de repère
- `notes` : contexte humain
- `mock_state` : état simulé (`OK`, `WARNING`, `CRITICAL`) — optionnel
- `mock_message` : message simulé — optionnel
Par défaut :
- `mock_state = OK`
- `mock_message = Sous contrôle`
## Génération
### Générer les services Icinga
```bash
python3 scripts/generate_services.py
```
### Générer le BPM
```bash
python3 scripts/generate_bpm.py
```
## Makefile
Le dépôt fournit un `Makefile` pour les gestes courants.
Exemples :
```bash
make generate
make validate
make check
make deploy
make deploy-with-bpm
make package
```
```bash
make help
```
affiche la liste complète des cibles disponibles.
## Déploiement Ansible
Le déploiement repose sur le rôle `life_noc`.
Exemple :
```bash
cd ansible
ansible-playbook -i inventory deploy_life_noc.yml
```
Variables importantes :
- `life_noc_project_root` : chemin de déploiement du projet sur l'hôte cible
- `life_noc_icinga_conf_root` : racine de configuration Icinga pour Life-NOC
- `life_noc_plugin_dir` : répertoire des plugins Icinga
- `life_noc_validate_icinga` : valide la configuration avant reload
- `life_noc_reload_icinga` : recharge Icinga après déploiement
- `life_noc_bpm_deploy_enabled` : active le déploiement BPM vers le module Icinga Web 2
- `life_noc_bpm_target_file` : destination du fichier BPM généré
## Philosophie de cette POC
Cette POC ne prétend pas encore mesurer le réel.
Elle sert à construire proprement :
- l'ossature du système ;
- la hiérarchie des domaines ;
- les conventions de nommage ;
- la chaîne de génération ;
- le déploiement ;
- l'intégration visuelle Icinga/BPM.
Les vraies sondes viendront plus tard, en remplacement progressif des mocks.

View file

@ -1,5 +1,5 @@
- hosts: icinga - hosts: icinga
become: yes become: true
roles: roles:
- life_noc - life_noc

View file

@ -0,0 +1,2 @@
[icinga]
localhost ansible_connection=local

View file

@ -0,0 +1,9 @@
life_noc_project_root: /opt/life-noc
life_noc_icinga_conf_root: /etc/icinga2/conf.d/life-noc
life_noc_plugin_dir: /usr/lib/nagios/plugins
life_noc_validate_icinga: true
life_noc_reload_icinga: true
life_noc_bpm_deploy_enabled: false
life_noc_bpm_target_file: /var/lib/icingaweb2/modules/bpm/config/life-noc.json
life_noc_owner: root
life_noc_group: root

View file

@ -0,0 +1,11 @@
- name: validate icinga
ansible.builtin.command: icinga2 daemon -C
when: life_noc_validate_icinga | bool
listen: validate and reload icinga
- name: reload icinga
ansible.builtin.service:
name: icinga2
state: reloaded
when: life_noc_reload_icinga | bool
listen: validate and reload icinga

View file

@ -1,15 +1,124 @@
- name: installer script check - name: install minimal dependencies
copy: ansible.builtin.package:
src: check_echeance_vie.sh name:
dest: /usr/lib/nagios/plugins/check_echeance_vie.sh - python3
mode: '0755' - python3-yaml
state: present
- name: déployer configuration icinga - name: create project root
copy: ansible.builtin.file:
src: ../../icinga/ path: "{{ life_noc_project_root }}"
dest: /etc/icinga2/conf.d/life-noc/ state: directory
owner: "{{ life_noc_owner }}"
group: "{{ life_noc_group }}"
mode: "0755"
- name: recharger icinga - name: copy project files
service: ansible.builtin.copy:
name: icinga2 src: "{{ playbook_dir }}/../"
state: reloaded dest: "{{ life_noc_project_root }}/"
owner: "{{ life_noc_owner }}"
group: "{{ life_noc_group }}"
- name: ensure icinga config tree exists
ansible.builtin.file:
path: "{{ item }}"
state: directory
owner: root
group: root
mode: "0755"
loop:
- "{{ life_noc_icinga_conf_root }}"
- "{{ life_noc_icinga_conf_root }}/commands"
- "{{ life_noc_icinga_conf_root }}/hosts"
- "{{ life_noc_icinga_conf_root }}/services"
- "{{ life_noc_icinga_conf_root }}/templates"
- name: generate icinga services from domains
ansible.builtin.command: python3 scripts/generate_services.py
args:
chdir: "{{ life_noc_project_root }}"
- name: generate bpm from domains
ansible.builtin.command: python3 scripts/generate_bpm.py
args:
chdir: "{{ life_noc_project_root }}"
- name: deploy icinga commands
ansible.builtin.copy:
src: "{{ life_noc_project_root }}/icinga/commands/"
dest: "{{ life_noc_icinga_conf_root }}/commands/"
remote_src: true
owner: root
group: root
mode: "0644"
notify: validate and reload icinga
- name: deploy icinga hosts
ansible.builtin.copy:
src: "{{ life_noc_project_root }}/icinga/hosts/"
dest: "{{ life_noc_icinga_conf_root }}/hosts/"
remote_src: true
owner: root
group: root
mode: "0644"
notify: validate and reload icinga
- name: deploy icinga templates
ansible.builtin.copy:
src: "{{ life_noc_project_root }}/icinga/templates/"
dest: "{{ life_noc_icinga_conf_root }}/templates/"
remote_src: true
owner: root
group: root
mode: "0644"
notify: validate and reload icinga
- name: deploy icinga services
ansible.builtin.copy:
src: "{{ life_noc_project_root }}/icinga/services/"
dest: "{{ life_noc_icinga_conf_root }}/services/"
remote_src: true
owner: root
group: root
mode: "0644"
notify: validate and reload icinga
- name: install mock plugin
ansible.builtin.copy:
src: "{{ life_noc_project_root }}/checks/check_life_noc_mock.sh"
dest: "{{ life_noc_plugin_dir }}/check_life_noc_mock.sh"
remote_src: true
owner: root
group: root
mode: "0755"
notify: validate and reload icinga
- name: install compatibility wrapper plugin
ansible.builtin.copy:
src: "{{ life_noc_project_root }}/checks/check_echeance_vie.sh"
dest: "{{ life_noc_plugin_dir }}/check_echeance_vie.sh"
remote_src: true
owner: root
group: root
mode: "0755"
notify: validate and reload icinga
- name: ensure bpm destination directory exists
ansible.builtin.file:
path: "{{ life_noc_bpm_target_file | dirname }}"
state: directory
owner: root
group: root
mode: "0755"
when: life_noc_bpm_deploy_enabled | bool
- name: deploy bpm json
ansible.builtin.copy:
src: "{{ life_noc_project_root }}/bpm/life-noc.json"
dest: "{{ life_noc_bpm_target_file }}"
remote_src: true
owner: root
group: root
mode: "0644"
when: life_noc_bpm_deploy_enabled | bool

27
checks/check_echeance_vie.sh Normal file → Executable file
View file

@ -1,24 +1,5 @@
#!/bin/bash #!/bin/bash
# Compatibilité transitoire.
DATE=$1 # Cette ancienne sonde d'échéance est conservée comme wrapper vers la sonde mock.
WARN=$2 SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
CRIT=$3 exec "$SCRIPT_DIR/check_life_noc_mock.sh" "$@"
NOW=$(date +%s)
DUE=$(date -d "$DATE" +%s)
DELTA=$((DUE - NOW))
DAYS=$((DELTA / 86400))
if [ "$DAYS" -le "$CRIT" ]; then
echo "CRITICAL - échéance imminente"
exit 2
fi
if [ "$DAYS" -le "$WARN" ]; then
echo "WARNING - échéance proche"
exit 1
fi
echo "OK - sous contrôle"
exit 0

57
checks/check_life_noc_mock.sh Executable file
View file

@ -0,0 +1,57 @@
#!/bin/bash
set -u
STATE="OK"
MESSAGE="Sous contrôle"
ITEM_NAME=""
DATE_ECHEANCE=""
while [ "$#" -gt 0 ]; do
case "$1" in
--state)
STATE="$2"
shift 2
;;
--message)
MESSAGE="$2"
shift 2
;;
--item-name)
ITEM_NAME="$2"
shift 2
;;
--date)
DATE_ECHEANCE="$2"
shift 2
;;
*)
echo "UNKNOWN - argument non reconnu: $1"
exit 3
;;
esac
done
STATE_UPPER=$(printf '%s' "$STATE" | tr '[:lower:]' '[:upper:]')
OUTPUT_SUFFIX=""
[ -n "$ITEM_NAME" ] && OUTPUT_SUFFIX="$OUTPUT_SUFFIX | item=$ITEM_NAME"
[ -n "$DATE_ECHEANCE" ] && OUTPUT_SUFFIX="$OUTPUT_SUFFIX date=$DATE_ECHEANCE"
case "$STATE_UPPER" in
OK)
echo "OK - $MESSAGE$OUTPUT_SUFFIX"
exit 0
;;
WARNING)
echo "WARNING - $MESSAGE$OUTPUT_SUFFIX"
exit 1
;;
CRITICAL)
echo "CRITICAL - $MESSAGE$OUTPUT_SUFFIX"
exit 2
;;
*)
echo "UNKNOWN - état mock invalide: $STATE"
exit 3
;;
esac

View file

@ -0,0 +1,85 @@
# Architecture
## Vue d'ensemble
Le dépôt repose sur une architecture déclarative simple :
```text
domains.yaml
├── scripts/generate_services.py -> icinga/services/*.conf
└── scripts/generate_bpm.py -> bpm/life-noc.json
```
Le déploiement Ansible transfère le projet sur l'hôte Icinga, régénère les artefacts, installe le plugin mock, valide la configuration puis recharge Icinga.
## Composants
### 1. `domains.yaml`
Source de vérité métier.
Chaque domaine contient une liste d'éléments. Chaque élément peut inclure :
- `name`
- `date`
- `notes`
- `notes_url`
- `action_url`
- `mock_state`
- `mock_message`
### 2. `scripts/generate_services.py`
Produit un fichier `.conf` par domaine pour Icinga.
Les services générés :
- importent le template `service_echeance` ;
- conservent les métadonnées utiles ;
- définissent un comportement mock par défaut.
### 3. `checks/check_life_noc_mock.sh`
Plugin de sonde mockée.
Il accepte un état simulé et un message simulé.
Mappage :
- `OK` -> code 0
- `WARNING` -> code 1
- `CRITICAL` -> code 2
- autre valeur -> `UNKNOWN`
### 4. `icinga/templates/service_echeance.conf`
Template de service par défaut pour les éléments Life-NOC.
Il référence le check mock et fournit des valeurs par défaut cohérentes.
### 5. `scripts/generate_bpm.py`
Construit le BPM à partir du même modèle YAML afin de conserver la cohérence de la hiérarchie.
### 6. `ansible/roles/life_noc`
Rôle de déploiement automatisé.
Responsabilités :
- copier le projet ;
- installer les dépendances Python minimales ;
- générer les services Icinga ;
- générer le BPM ;
- déployer la configuration Icinga ;
- installer le plugin mock ;
- valider Icinga ;
- recharger Icinga.
## Principes de conception
- une seule source de vérité ;
- génération automatique plutôt que duplication ;
- mocks explicites plutôt que fausse logique réelle ;
- déploiement reproductible ;
- remplacement futur progressif des mocks.

View file

@ -0,0 +1,52 @@
# Concept Life-NOC
Life-NOC transpose la logique d'un NOC à la vie réelle.
## Intention
Le projet vise à réduire la charge mentale en rendant visibles des éléments qui, autrement, encombrent la mémoire, l'attention et la motivation.
L'idée n'est pas de transformer la vie en machine bureaucratique.
L'idée est de disposer d'un tableau de bord qui permet de répondre rapidement à trois questions :
- Qu'est-ce qui est sous contrôle ?
- Qu'est-ce qui approche d'une limite ?
- Qu'est-ce qui exige une action ?
## Principe
Chaque élément de vie important devient un service observable.
Exemples :
- renouvellement d'un document ;
- entretien d'un équipement ;
- revue périodique ;
- vérification financière ;
- rituel d'organisation ;
- tâche de résilience.
Ces éléments sont regroupés en domaines, puis agrégés dans un BPM de type "worst" afin de faire remonter les points de tension.
## Statuts
Dans la POC actuelle, les états sont simulés :
- `OK`
- `WARNING`
- `CRITICAL`
Par défaut, tout est `OK`.
Cela permet de construire et tester tout le système sans dépendre immédiatement de vraies sondes.
## Évolution prévue
Le chemin prévu est le suivant :
1. modèle stable dans `domains.yaml` ;
2. génération Icinga et BPM ;
3. déploiement automatisé ;
4. validation ergonomique et structurelle ;
5. remplacement progressif des mocks par des sondes réelles.

View file

@ -3,11 +3,10 @@ object CheckCommand "check_echeance_vie" {
command = [ PluginDir + "/check_echeance_vie.sh" ] command = [ PluginDir + "/check_echeance_vie.sh" ]
arguments = { arguments = {
"--state" = "$mock_state$"
"--message" = "$mock_message$"
"--item-name" = "$service.name$"
"--date" = "$date_echeance$" "--date" = "$date_echeance$"
"--warn" = "$warning_days$"
"--crit" = "$critical_days$"
} }
} }

View file

@ -0,0 +1,12 @@
object CheckCommand "check_life_noc_mock" {
command = [ PluginDir + "/check_life_noc_mock.sh" ]
arguments = {
"--state" = "$mock_state$"
"--message" = "$mock_message$"
"--item-name" = "$service.name$"
"--date" = "$date_echeance$"
}
}

View file

@ -7,6 +7,8 @@
apply Service "actifs-chezlepro-revision-inventaire-materiel" { apply Service "actifs-chezlepro-revision-inventaire-materiel" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Revoir l'inventaire du matériel de Chezlepro" notes = "Revoir l'inventaire du matériel de Chezlepro"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -14,6 +16,8 @@ apply Service "actifs-chezlepro-revision-inventaire-materiel" {
apply Service "actifs-chezlepro-verification-amortissables" { apply Service "actifs-chezlepro-verification-amortissables" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-01" vars.date_echeance = "2026-06-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier le registre des biens amortissables" notes = "Vérifier le registre des biens amortissables"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -21,6 +25,8 @@ apply Service "actifs-chezlepro-verification-amortissables" {
apply Service "actifs-chezlepro-verification-serveurs-et-composants" { apply Service "actifs-chezlepro-verification-serveurs-et-composants" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier l'état des serveurs et composants matériels" notes = "Vérifier l'état des serveurs et composants matériels"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -28,6 +34,8 @@ apply Service "actifs-chezlepro-verification-serveurs-et-composants" {
apply Service "actifs-chezlepro-verification-reserve-pieces" { apply Service "actifs-chezlepro-verification-reserve-pieces" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-01" vars.date_echeance = "2026-06-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier les pièces de rechange critiques" notes = "Vérifier les pièces de rechange critiques"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -35,6 +43,8 @@ apply Service "actifs-chezlepro-verification-reserve-pieces" {
apply Service "actifs-chezlepro-revision-actifs-transferts" { apply Service "actifs-chezlepro-revision-actifs-transferts" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-15" vars.date_echeance = "2026-06-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Réviser les actifs transférés ou à transférer à l'entreprise" notes = "Réviser les actifs transférés ou à transférer à l'entreprise"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }

View file

@ -7,6 +7,8 @@
apply Service "animaux-verification-stock-nourriture-chats" { apply Service "animaux-verification-stock-nourriture-chats" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-15" vars.date_echeance = "2026-04-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification du stock de nourriture pour chats" notes = "Vérification du stock de nourriture pour chats"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -14,6 +16,8 @@ apply Service "animaux-verification-stock-nourriture-chats" {
apply Service "animaux-verification-friandises-et-litiere" { apply Service "animaux-verification-friandises-et-litiere" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-15" vars.date_echeance = "2026-04-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des stocks de friandises et de litière" notes = "Vérification des stocks de friandises et de litière"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -21,6 +25,8 @@ apply Service "animaux-verification-friandises-et-litiere" {
apply Service "animaux-revision-routine-soins-animaux" { apply Service "animaux-revision-routine-soins-animaux" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Revue de la routine de soins et des besoins matériels des chats" notes = "Revue de la routine de soins et des besoins matériels des chats"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }

View file

@ -7,6 +7,8 @@
apply Service "communaute-verification-outils-aa" { apply Service "communaute-verification-outils-aa" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier les outils numériques liés aux activités communautaires" notes = "Vérifier les outils numériques liés aux activités communautaires"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -14,6 +16,8 @@ apply Service "communaute-verification-outils-aa" {
apply Service "communaute-verification-espace-87-16" { apply Service "communaute-verification-espace-87-16" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier l'espace Nextcloud du district" notes = "Vérifier l'espace Nextcloud du district"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -21,6 +25,8 @@ apply Service "communaute-verification-espace-87-16" {
apply Service "communaute-verification-salles-visio-groupes" { apply Service "communaute-verification-salles-visio-groupes" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier les salles de visioconférence des groupes" notes = "Vérifier les salles de visioconférence des groupes"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -28,6 +34,8 @@ apply Service "communaute-verification-salles-visio-groupes" {
apply Service "communaute-verification-depots-rapports-rsg" { apply Service "communaute-verification-depots-rapports-rsg" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier les dépôts de rapports RSG" notes = "Vérifier les dépôts de rapports RSG"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -35,6 +43,8 @@ apply Service "communaute-verification-depots-rapports-rsg" {
apply Service "communaute-revision-outils-communication-communaute" { apply Service "communaute-revision-outils-communication-communaute" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-01" vars.date_echeance = "2026-06-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Réviser les moyens de communication communautaires" notes = "Réviser les moyens de communication communautaires"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }

View file

@ -7,6 +7,8 @@
apply Service "documentation-revue-docs-personnelles-importantes" { apply Service "documentation-revue-docs-personnelles-importantes" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Revoir l'organisation des documents personnels importants" notes = "Revoir l'organisation des documents personnels importants"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -14,6 +16,8 @@ apply Service "documentation-revue-docs-personnelles-importantes" {
apply Service "documentation-revue-wiki-technique" { apply Service "documentation-revue-wiki-technique" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Revoir le wiki technique et sa cohérence" notes = "Revoir le wiki technique et sa cohérence"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -21,6 +25,8 @@ apply Service "documentation-revue-wiki-technique" {
apply Service "documentation-revue-base-connaissances" { apply Service "documentation-revue-base-connaissances" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-01" vars.date_echeance = "2026-06-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Revoir la base de connaissances globale" notes = "Revoir la base de connaissances globale"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -28,6 +34,8 @@ apply Service "documentation-revue-base-connaissances" {
apply Service "documentation-verification-sauvegarde-docs-cles" { apply Service "documentation-verification-sauvegarde-docs-cles" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier la sauvegarde des documents clés" notes = "Vérifier la sauvegarde des documents clés"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }

View file

@ -7,6 +7,8 @@
apply Service "energie-inspection-batteries-lifepo4" { apply Service "energie-inspection-batteries-lifepo4" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-01" vars.date_echeance = "2026-04-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Inspection physique et logique des batteries LiFePO4" notes = "Inspection physique et logique des batteries LiFePO4"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -14,6 +16,8 @@ apply Service "energie-inspection-batteries-lifepo4" {
apply Service "energie-verification-tension-batteries" { apply Service "energie-verification-tension-batteries" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-03-15" vars.date_echeance = "2026-03-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des tensions et cohérence des batteries" notes = "Vérification des tensions et cohérence des batteries"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -21,6 +25,8 @@ apply Service "energie-verification-tension-batteries" {
apply Service "energie-verification-smartshunt" { apply Service "energie-verification-smartshunt" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-03-15" vars.date_echeance = "2026-03-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification SmartShunt et cohérence du monitoring" notes = "Vérification SmartShunt et cohérence du monitoring"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -28,6 +34,8 @@ apply Service "energie-verification-smartshunt" {
apply Service "energie-verification-cerbo-gx" { apply Service "energie-verification-cerbo-gx" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-03-15" vars.date_echeance = "2026-03-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification Cerbo GX et remontée des données" notes = "Vérification Cerbo GX et remontée des données"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -35,6 +43,8 @@ apply Service "energie-verification-cerbo-gx" {
apply Service "energie-verification-can-rs485" { apply Service "energie-verification-can-rs485" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-15" vars.date_echeance = "2026-04-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des communications CAN ou RS485" notes = "Vérification des communications CAN ou RS485"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -42,6 +52,8 @@ apply Service "energie-verification-can-rs485" {
apply Service "energie-inspection-cablage-energie" { apply Service "energie-inspection-cablage-energie" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Inspection du câblage et des connexions énergétiques" notes = "Inspection du câblage et des connexions énergétiques"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -49,6 +61,8 @@ apply Service "energie-inspection-cablage-energie" {
apply Service "energie-verification-busbars" { apply Service "energie-verification-busbars" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification du serrage, corrosion et échauffement des busbars" notes = "Vérification du serrage, corrosion et échauffement des busbars"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -56,6 +70,8 @@ apply Service "energie-verification-busbars" {
apply Service "energie-verification-parametres-charge" { apply Service "energie-verification-parametres-charge" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-01" vars.date_echeance = "2026-04-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des paramètres de charge et float" notes = "Vérification des paramètres de charge et float"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -63,6 +79,8 @@ apply Service "energie-verification-parametres-charge" {
apply Service "energie-test-charge-batteries" { apply Service "energie-test-charge-batteries" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-15" vars.date_echeance = "2026-04-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Test de comportement en charge des batteries" notes = "Test de comportement en charge des batteries"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -70,6 +88,8 @@ apply Service "energie-test-charge-batteries" {
apply Service "energie-test-comportement-onduleur" { apply Service "energie-test-comportement-onduleur" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier le comportement du Multiplus sous charge légère" notes = "Vérifier le comportement du Multiplus sous charge légère"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -77,6 +97,8 @@ apply Service "energie-test-comportement-onduleur" {
apply Service "energie-verification-journal-evenements-victron" { apply Service "energie-verification-journal-evenements-victron" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-15" vars.date_echeance = "2026-04-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des événements et anomalies Victron" notes = "Vérification des événements et anomalies Victron"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }

View file

@ -7,6 +7,8 @@
apply Service "exploitation-chezlepro-revision-playbooks-ansible" { apply Service "exploitation-chezlepro-revision-playbooks-ansible" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Revue des playbooks Ansible" notes = "Revue des playbooks Ansible"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -14,6 +16,8 @@ apply Service "exploitation-chezlepro-revision-playbooks-ansible" {
apply Service "exploitation-chezlepro-verification-inventaires-ansible" { apply Service "exploitation-chezlepro-verification-inventaires-ansible" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des inventaires Ansible" notes = "Vérification des inventaires Ansible"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -21,6 +25,8 @@ apply Service "exploitation-chezlepro-verification-inventaires-ansible" {
apply Service "exploitation-chezlepro-revision-documentation-technique" { apply Service "exploitation-chezlepro-revision-documentation-technique" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Revue de la documentation technique Chezlepro" notes = "Revue de la documentation technique Chezlepro"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -28,6 +34,8 @@ apply Service "exploitation-chezlepro-revision-documentation-technique" {
apply Service "exploitation-chezlepro-verification-procedures-reprise" { apply Service "exploitation-chezlepro-verification-procedures-reprise" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-01" vars.date_echeance = "2026-06-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier les procédures de reprise et restauration" notes = "Vérifier les procédures de reprise et restauration"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -35,6 +43,8 @@ apply Service "exploitation-chezlepro-verification-procedures-reprise" {
apply Service "exploitation-chezlepro-revue-capacite-ressources" { apply Service "exploitation-chezlepro-revue-capacite-ressources" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-15" vars.date_echeance = "2026-06-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Revue CPU RAM stockage et charge de l'infrastructure" notes = "Revue CPU RAM stockage et charge de l'infrastructure"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -42,6 +52,8 @@ apply Service "exploitation-chezlepro-revue-capacite-ressources" {
apply Service "exploitation-chezlepro-verification-jobs-automatises" { apply Service "exploitation-chezlepro-verification-jobs-automatises" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des jobs automatisés et scripts périodiques" notes = "Vérification des jobs automatisés et scripts périodiques"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }

View file

@ -7,6 +7,8 @@
apply Service "finances-personnelles-revision-comptes-bancaires" { apply Service "finances-personnelles-revision-comptes-bancaires" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-01" vars.date_echeance = "2026-04-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Révision mensuelle des comptes bancaires personnels" notes = "Révision mensuelle des comptes bancaires personnels"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -14,6 +16,8 @@ apply Service "finances-personnelles-revision-comptes-bancaires" {
apply Service "finances-personnelles-verification-cartes-credit" { apply Service "finances-personnelles-verification-cartes-credit" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-01" vars.date_echeance = "2026-04-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des soldes et transactions des cartes de crédit" notes = "Vérification des soldes et transactions des cartes de crédit"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -21,6 +25,8 @@ apply Service "finances-personnelles-verification-cartes-credit" {
apply Service "finances-personnelles-paiement-cartes-credit" { apply Service "finances-personnelles-paiement-cartes-credit" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-15" vars.date_echeance = "2026-04-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Paiement des cartes de crédit personnelles" notes = "Paiement des cartes de crédit personnelles"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -28,6 +34,8 @@ apply Service "finances-personnelles-paiement-cartes-credit" {
apply Service "finances-personnelles-revision-budget-personnel" { apply Service "finances-personnelles-revision-budget-personnel" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-05" vars.date_echeance = "2026-04-05"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Révision mensuelle du budget personnel" notes = "Révision mensuelle du budget personnel"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -35,6 +43,8 @@ apply Service "finances-personnelles-revision-budget-personnel" {
apply Service "finances-personnelles-verification-prelevements-automatiques" { apply Service "finances-personnelles-verification-prelevements-automatiques" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-03" vars.date_echeance = "2026-04-03"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des prélèvements automatiques personnels" notes = "Vérification des prélèvements automatiques personnels"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -42,6 +52,8 @@ apply Service "finances-personnelles-verification-prelevements-automatiques" {
apply Service "finances-personnelles-verification-placements" { apply Service "finances-personnelles-verification-placements" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-30" vars.date_echeance = "2026-06-30"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification périodique des placements et comptes enregistrés" notes = "Vérification périodique des placements et comptes enregistrés"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -49,6 +61,8 @@ apply Service "finances-personnelles-verification-placements" {
apply Service "finances-personnelles-verification-cotisations-reer" { apply Service "finances-personnelles-verification-cotisations-reer" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-02-28" vars.date_echeance = "2026-02-28"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des cotisations REER" notes = "Vérification des cotisations REER"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -56,6 +70,8 @@ apply Service "finances-personnelles-verification-cotisations-reer" {
apply Service "finances-personnelles-verification-celi" { apply Service "finances-personnelles-verification-celi" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification de l'espace CELI et de son utilisation" notes = "Vérification de l'espace CELI et de son utilisation"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -63,6 +79,8 @@ apply Service "finances-personnelles-verification-celi" {
apply Service "finances-personnelles-preparation-dossier-financier-annuel" { apply Service "finances-personnelles-preparation-dossier-financier-annuel" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-01-31" vars.date_echeance = "2026-01-31"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Préparer le dossier financier annuel personnel" notes = "Préparer le dossier financier annuel personnel"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }

View file

@ -7,6 +7,8 @@
apply Service "fiscalite-personnelle-preparation-documents-impots" { apply Service "fiscalite-personnelle-preparation-documents-impots" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-03-15" vars.date_echeance = "2026-03-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Rassembler tous les documents fiscaux personnels" notes = "Rassembler tous les documents fiscaux personnels"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -14,6 +16,8 @@ apply Service "fiscalite-personnelle-preparation-documents-impots" {
apply Service "fiscalite-personnelle-production-impots-federal" { apply Service "fiscalite-personnelle-production-impots-federal" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-30" vars.date_echeance = "2026-04-30"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Produire la déclaration de revenus fédérale" notes = "Produire la déclaration de revenus fédérale"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -21,6 +25,8 @@ apply Service "fiscalite-personnelle-production-impots-federal" {
apply Service "fiscalite-personnelle-production-impots-quebec" { apply Service "fiscalite-personnelle-production-impots-quebec" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-30" vars.date_echeance = "2026-04-30"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Produire la déclaration de revenus Québec" notes = "Produire la déclaration de revenus Québec"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -28,6 +34,8 @@ apply Service "fiscalite-personnelle-production-impots-quebec" {
apply Service "fiscalite-personnelle-paiement-solde-impots" { apply Service "fiscalite-personnelle-paiement-solde-impots" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-30" vars.date_echeance = "2026-04-30"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Payer tout solde d'impôt exigible" notes = "Payer tout solde d'impôt exigible"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -35,6 +43,8 @@ apply Service "fiscalite-personnelle-paiement-solde-impots" {
apply Service "fiscalite-personnelle-verification-avis-cotisation" { apply Service "fiscalite-personnelle-verification-avis-cotisation" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-31" vars.date_echeance = "2026-05-31"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier les avis de cotisation ARC et Revenu Québec" notes = "Vérifier les avis de cotisation ARC et Revenu Québec"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -42,6 +52,8 @@ apply Service "fiscalite-personnelle-verification-avis-cotisation" {
apply Service "fiscalite-personnelle-archivage-documents-fiscaux" { apply Service "fiscalite-personnelle-archivage-documents-fiscaux" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-15" vars.date_echeance = "2026-06-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Archiver les documents fiscaux personnels" notes = "Archiver les documents fiscaux personnels"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -49,6 +61,8 @@ apply Service "fiscalite-personnelle-archivage-documents-fiscaux" {
apply Service "fiscalite-personnelle-verification-acomptes-provisionnels" { apply Service "fiscalite-personnelle-verification-acomptes-provisionnels" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-03-15" vars.date_echeance = "2026-03-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier si des acomptes provisionnels sont requis" notes = "Vérifier si des acomptes provisionnels sont requis"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }

View file

@ -7,6 +7,8 @@
apply Service "focus-entretien-processus-focus" { apply Service "focus-entretien-processus-focus" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-03-09" vars.date_echeance = "2026-03-09"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier que les cartouches FOCUS sont à jour" notes = "Vérifier que les cartouches FOCUS sont à jour"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -14,6 +16,8 @@ apply Service "focus-entretien-processus-focus" {
apply Service "focus-nettoyage-inbox-mentale" { apply Service "focus-nettoyage-inbox-mentale" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-03-09" vars.date_echeance = "2026-03-09"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vider et clarifier les éléments capturés hors système" notes = "Vider et clarifier les éléments capturés hors système"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -21,6 +25,8 @@ apply Service "focus-nettoyage-inbox-mentale" {
apply Service "focus-revue-limitation-engagements" { apply Service "focus-revue-limitation-engagements" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-03-31" vars.date_echeance = "2026-03-31"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier que les engagements actifs demeurent réalistes" notes = "Vérifier que les engagements actifs demeurent réalistes"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }

View file

@ -7,6 +7,8 @@
apply Service "garage-et-rangement-inspection-rangement-plafond" { apply Service "garage-et-rangement-inspection-rangement-plafond" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des supports suspendus au plafond du garage" notes = "Vérification des supports suspendus au plafond du garage"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -14,6 +16,8 @@ apply Service "garage-et-rangement-inspection-rangement-plafond" {
apply Service "garage-et-rangement-revue-inventaire-garage" { apply Service "garage-et-rangement-revue-inventaire-garage" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-15" vars.date_echeance = "2026-04-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Revue de l'inventaire et de l'ordre du garage" notes = "Revue de l'inventaire et de l'ordre du garage"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -21,6 +25,8 @@ apply Service "garage-et-rangement-revue-inventaire-garage" {
apply Service "garage-et-rangement-verification-rouille-outillage" { apply Service "garage-et-rangement-verification-rouille-outillage" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification de la corrosion sur les outils et équipements" notes = "Vérification de la corrosion sur les outils et équipements"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -28,6 +34,8 @@ apply Service "garage-et-rangement-verification-rouille-outillage" {
apply Service "garage-et-rangement-inspection-securite-garage" { apply Service "garage-et-rangement-inspection-securite-garage" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-01" vars.date_echeance = "2026-06-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des conditions de sécurité du garage" notes = "Vérification des conditions de sécurité du garage"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -35,6 +43,8 @@ apply Service "garage-et-rangement-inspection-securite-garage" {
apply Service "garage-et-rangement-rotation-stockage-bacs" { apply Service "garage-et-rangement-rotation-stockage-bacs" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Revue des contenus de bacs de rangement" notes = "Revue des contenus de bacs de rangement"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }

View file

@ -7,6 +7,8 @@
apply Service "informatique-personnelle-verification-sauvegardes-personnelles" { apply Service "informatique-personnelle-verification-sauvegardes-personnelles" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-01" vars.date_echeance = "2026-04-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des sauvegardes personnelles" notes = "Vérification des sauvegardes personnelles"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -14,6 +16,8 @@ apply Service "informatique-personnelle-verification-sauvegardes-personnelles" {
apply Service "informatique-personnelle-nettoyage-stockage-personnel" { apply Service "informatique-personnelle-nettoyage-stockage-personnel" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-15" vars.date_echeance = "2026-04-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Nettoyage du stockage numérique personnel" notes = "Nettoyage du stockage numérique personnel"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -21,6 +25,8 @@ apply Service "informatique-personnelle-nettoyage-stockage-personnel" {
apply Service "informatique-personnelle-verification-comptes-importants" { apply Service "informatique-personnelle-verification-comptes-importants" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des comptes numériques personnels importants" notes = "Vérification des comptes numériques personnels importants"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -28,6 +34,8 @@ apply Service "informatique-personnelle-verification-comptes-importants" {
apply Service "informatique-personnelle-revue-mots-de-passe-personnels" { apply Service "informatique-personnelle-revue-mots-de-passe-personnels" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-01" vars.date_echeance = "2026-06-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Revue des mots de passe personnels critiques" notes = "Revue des mots de passe personnels critiques"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -35,6 +43,8 @@ apply Service "informatique-personnelle-revue-mots-de-passe-personnels" {
apply Service "informatique-personnelle-verification-documents-cloud-personnels" { apply Service "informatique-personnelle-verification-documents-cloud-personnels" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier la cohérence des documents personnels sauvegardés" notes = "Vérifier la cohérence des documents personnels sauvegardés"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }

View file

@ -7,6 +7,8 @@
apply Service "infrastructure-chezlepro-verification-proxmox" { apply Service "infrastructure-chezlepro-verification-proxmox" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-01" vars.date_echeance = "2026-04-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification générale de l'environnement Proxmox" notes = "Vérification générale de l'environnement Proxmox"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -14,6 +16,8 @@ apply Service "infrastructure-chezlepro-verification-proxmox" {
apply Service "infrastructure-chezlepro-verification-ceph" { apply Service "infrastructure-chezlepro-verification-ceph" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-01" vars.date_echeance = "2026-04-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification générale de l'état Ceph" notes = "Vérification générale de l'état Ceph"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -21,6 +25,8 @@ apply Service "infrastructure-chezlepro-verification-ceph" {
apply Service "infrastructure-chezlepro-test-restauration-backups" { apply Service "infrastructure-chezlepro-test-restauration-backups" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-15" vars.date_echeance = "2026-04-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Test de restauration des sauvegardes" notes = "Test de restauration des sauvegardes"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -28,6 +34,8 @@ apply Service "infrastructure-chezlepro-test-restauration-backups" {
apply Service "infrastructure-chezlepro-verification-pbs-truenas" { apply Service "infrastructure-chezlepro-verification-pbs-truenas" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des solutions de sauvegarde et synchronisation" notes = "Vérification des solutions de sauvegarde et synchronisation"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -35,6 +43,8 @@ apply Service "infrastructure-chezlepro-verification-pbs-truenas" {
apply Service "infrastructure-chezlepro-verification-ups-infrastructure" { apply Service "infrastructure-chezlepro-verification-ups-infrastructure" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-15" vars.date_echeance = "2026-04-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des UPS de l'infrastructure" notes = "Vérification des UPS de l'infrastructure"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -42,6 +52,8 @@ apply Service "infrastructure-chezlepro-verification-ups-infrastructure" {
apply Service "infrastructure-chezlepro-verification-capacite-stockage" { apply Service "infrastructure-chezlepro-verification-capacite-stockage" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-15" vars.date_echeance = "2026-04-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier capacité et croissance du stockage" notes = "Vérifier capacité et croissance du stockage"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -49,6 +61,8 @@ apply Service "infrastructure-chezlepro-verification-capacite-stockage" {
apply Service "infrastructure-chezlepro-verification-apt-cacher-ng" { apply Service "infrastructure-chezlepro-verification-apt-cacher-ng" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification du bon fonctionnement d'apt-cacher-ng" notes = "Vérification du bon fonctionnement d'apt-cacher-ng"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -56,6 +70,8 @@ apply Service "infrastructure-chezlepro-verification-apt-cacher-ng" {
apply Service "infrastructure-chezlepro-verification-icinga2" { apply Service "infrastructure-chezlepro-verification-icinga2" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-01" vars.date_echeance = "2026-04-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification de la supervision Icinga2" notes = "Vérification de la supervision Icinga2"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -63,6 +79,8 @@ apply Service "infrastructure-chezlepro-verification-icinga2" {
apply Service "infrastructure-chezlepro-verification-keycloak-openldap" { apply Service "infrastructure-chezlepro-verification-keycloak-openldap" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification de l'identité et de l'authentification centralisées" notes = "Vérification de l'identité et de l'authentification centralisées"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -70,6 +88,8 @@ apply Service "infrastructure-chezlepro-verification-keycloak-openldap" {
apply Service "infrastructure-chezlepro-verification-nextcloud" { apply Service "infrastructure-chezlepro-verification-nextcloud" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-15" vars.date_echeance = "2026-04-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification de l'état Nextcloud" notes = "Vérification de l'état Nextcloud"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -77,6 +97,8 @@ apply Service "infrastructure-chezlepro-verification-nextcloud" {
apply Service "infrastructure-chezlepro-verification-mailcow" { apply Service "infrastructure-chezlepro-verification-mailcow" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification de l'infrastructure Mailcow" notes = "Vérification de l'infrastructure Mailcow"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -84,6 +106,8 @@ apply Service "infrastructure-chezlepro-verification-mailcow" {
apply Service "infrastructure-chezlepro-verification-openvas" { apply Service "infrastructure-chezlepro-verification-openvas" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification de la plateforme OpenVAS" notes = "Vérification de la plateforme OpenVAS"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -91,6 +115,8 @@ apply Service "infrastructure-chezlepro-verification-openvas" {
apply Service "infrastructure-chezlepro-verification-journaux-systemes" { apply Service "infrastructure-chezlepro-verification-journaux-systemes" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-15" vars.date_echeance = "2026-04-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Revue des journaux systèmes critiques" notes = "Revue des journaux systèmes critiques"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }

View file

@ -7,6 +7,8 @@
apply Service "jardin-inspection-vignes" { apply Service "jardin-inspection-vignes" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-15" vars.date_echeance = "2026-04-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Inspection et entretien des vignes" notes = "Inspection et entretien des vignes"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -14,6 +16,8 @@ apply Service "jardin-inspection-vignes" {
apply Service "jardin-entretien-bleuetiers" { apply Service "jardin-entretien-bleuetiers" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Entretien des bleuetiers" notes = "Entretien des bleuetiers"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -21,6 +25,8 @@ apply Service "jardin-entretien-bleuetiers" {
apply Service "jardin-entretien-framboisiers" { apply Service "jardin-entretien-framboisiers" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-01" vars.date_echeance = "2026-06-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Entretien des framboisiers" notes = "Entretien des framboisiers"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -28,6 +34,8 @@ apply Service "jardin-entretien-framboisiers" {
apply Service "jardin-inspection-kiwis-nordiques" { apply Service "jardin-inspection-kiwis-nordiques" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des kiwis nordiques" notes = "Vérification des kiwis nordiques"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -35,6 +43,8 @@ apply Service "jardin-inspection-kiwis-nordiques" {
apply Service "jardin-entretien-rhubarbe" { apply Service "jardin-entretien-rhubarbe" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Entretien de la rhubarbe" notes = "Entretien de la rhubarbe"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -42,6 +52,8 @@ apply Service "jardin-entretien-rhubarbe" {
apply Service "jardin-inspection-groseillier" { apply Service "jardin-inspection-groseillier" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Inspection du groseillier" notes = "Inspection du groseillier"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -49,6 +61,8 @@ apply Service "jardin-inspection-groseillier" {
apply Service "jardin-inspection-muriers" { apply Service "jardin-inspection-muriers" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Inspection des mûriers" notes = "Inspection des mûriers"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -56,6 +70,8 @@ apply Service "jardin-inspection-muriers" {
apply Service "jardin-entretien-houblon" { apply Service "jardin-entretien-houblon" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-01" vars.date_echeance = "2026-06-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification et entretien du houblon" notes = "Vérification et entretien du houblon"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -63,6 +79,8 @@ apply Service "jardin-entretien-houblon" {
apply Service "jardin-revision-pharmacopée-jardin" { apply Service "jardin-revision-pharmacopée-jardin" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification du stock de soins pour végétaux" notes = "Vérification du stock de soins pour végétaux"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -70,6 +88,8 @@ apply Service "jardin-revision-pharmacopée-jardin" {
apply Service "jardin-revision-armoire-produits-jardin" { apply Service "jardin-revision-armoire-produits-jardin" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification et ordre de l'armoire des produits pour végétaux" notes = "Vérification et ordre de l'armoire des produits pour végétaux"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }

View file

@ -7,6 +7,8 @@
apply Service "maison-remplacement-filtre-fournaise" { apply Service "maison-remplacement-filtre-fournaise" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-01" vars.date_echeance = "2026-04-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Remplacer le filtre de la fournaise" notes = "Remplacer le filtre de la fournaise"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -14,6 +16,8 @@ apply Service "maison-remplacement-filtre-fournaise" {
apply Service "maison-inspection-fournaise" { apply Service "maison-inspection-fournaise" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-09-15" vars.date_echeance = "2026-09-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Inspection générale de la fournaise avant saison froide" notes = "Inspection générale de la fournaise avant saison froide"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -21,6 +25,8 @@ apply Service "maison-inspection-fournaise" {
apply Service "maison-inspection-thermopompe" { apply Service "maison-inspection-thermopompe" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Inspection et entretien de la thermopompe" notes = "Inspection et entretien de la thermopompe"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -28,6 +34,8 @@ apply Service "maison-inspection-thermopompe" {
apply Service "maison-nettoyage-unites-exterieures" { apply Service "maison-nettoyage-unites-exterieures" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Nettoyer les unités extérieures et vérifier le dégagement" notes = "Nettoyer les unités extérieures et vérifier le dégagement"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -35,6 +43,8 @@ apply Service "maison-nettoyage-unites-exterieures" {
apply Service "maison-inspection-toiture" { apply Service "maison-inspection-toiture" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-10-01" vars.date_echeance = "2026-10-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Inspection annuelle de la toiture" notes = "Inspection annuelle de la toiture"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -42,6 +52,8 @@ apply Service "maison-inspection-toiture" {
apply Service "maison-inspection-gouttieres" { apply Service "maison-inspection-gouttieres" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-11-01" vars.date_echeance = "2026-11-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Inspection et nettoyage des gouttières" notes = "Inspection et nettoyage des gouttières"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -49,6 +61,8 @@ apply Service "maison-inspection-gouttieres" {
apply Service "maison-inspection-fondation" { apply Service "maison-inspection-fondation" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-01" vars.date_echeance = "2026-06-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Inspection de la fondation et des fissures" notes = "Inspection de la fondation et des fissures"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -56,6 +70,8 @@ apply Service "maison-inspection-fondation" {
apply Service "maison-verification-drainage-terrain" { apply Service "maison-verification-drainage-terrain" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification du drainage autour de la maison" notes = "Vérification du drainage autour de la maison"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -63,6 +79,8 @@ apply Service "maison-verification-drainage-terrain" {
apply Service "maison-test-detecteurs-fumee" { apply Service "maison-test-detecteurs-fumee" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-01" vars.date_echeance = "2026-04-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Test des détecteurs de fumée" notes = "Test des détecteurs de fumée"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -70,6 +88,8 @@ apply Service "maison-test-detecteurs-fumee" {
apply Service "maison-test-detecteurs-co" { apply Service "maison-test-detecteurs-co" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-01" vars.date_echeance = "2026-04-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Test des détecteurs de monoxyde de carbone" notes = "Test des détecteurs de monoxyde de carbone"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -77,6 +97,8 @@ apply Service "maison-test-detecteurs-co" {
apply Service "maison-remplacement-piles-detecteurs" { apply Service "maison-remplacement-piles-detecteurs" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-10-01" vars.date_echeance = "2026-10-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Remplacement préventif des piles des détecteurs" notes = "Remplacement préventif des piles des détecteurs"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -84,6 +106,8 @@ apply Service "maison-remplacement-piles-detecteurs" {
apply Service "maison-verification-plomberie-visible" { apply Service "maison-verification-plomberie-visible" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification visuelle de la plomberie accessible" notes = "Vérification visuelle de la plomberie accessible"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -91,6 +115,8 @@ apply Service "maison-verification-plomberie-visible" {
apply Service "maison-inspection-sump-pump" { apply Service "maison-inspection-sump-pump" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-15" vars.date_echeance = "2026-04-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification de la pompe de puisard si applicable" notes = "Vérification de la pompe de puisard si applicable"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -98,6 +124,8 @@ apply Service "maison-inspection-sump-pump" {
apply Service "maison-verification-calfetrage" { apply Service "maison-verification-calfetrage" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-10-15" vars.date_echeance = "2026-10-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification du calfeutrage portes et fenêtres" notes = "Vérification du calfeutrage portes et fenêtres"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -105,6 +133,8 @@ apply Service "maison-verification-calfetrage" {
apply Service "maison-inspection-portes-garage" { apply Service "maison-inspection-portes-garage" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification mécanique et sécurité des portes de garage" notes = "Vérification mécanique et sécurité des portes de garage"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -112,6 +142,8 @@ apply Service "maison-inspection-portes-garage" {
apply Service "maison-verification-extincteurs" { apply Service "maison-verification-extincteurs" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-01" vars.date_echeance = "2026-06-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des extincteurs" notes = "Vérification des extincteurs"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }

View file

@ -7,6 +7,8 @@
apply Service "obligations-chezlepro-verification-registraire-entreprise" { apply Service "obligations-chezlepro-verification-registraire-entreprise" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-15" vars.date_echeance = "2026-06-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier les obligations au Registraire des entreprises" notes = "Vérifier les obligations au Registraire des entreprises"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -14,6 +16,8 @@ apply Service "obligations-chezlepro-verification-registraire-entreprise" {
apply Service "obligations-chezlepro-verification-declarations-taxes" { apply Service "obligations-chezlepro-verification-declarations-taxes" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-30" vars.date_echeance = "2026-04-30"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier les obligations de taxes de l'entreprise si applicables" notes = "Vérifier les obligations de taxes de l'entreprise si applicables"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -21,6 +25,8 @@ apply Service "obligations-chezlepro-verification-declarations-taxes" {
apply Service "obligations-chezlepro-verification-dossier-comptable-entreprise" { apply Service "obligations-chezlepro-verification-dossier-comptable-entreprise" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-15" vars.date_echeance = "2026-04-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier l'ordre du dossier comptable Chezlepro" notes = "Vérifier l'ordre du dossier comptable Chezlepro"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -28,6 +34,8 @@ apply Service "obligations-chezlepro-verification-dossier-comptable-entreprise"
apply Service "obligations-chezlepro-verification-facturation-clients" { apply Service "obligations-chezlepro-verification-facturation-clients" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-10" vars.date_echeance = "2026-04-10"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier la facturation et son suivi" notes = "Vérifier la facturation et son suivi"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -35,6 +43,8 @@ apply Service "obligations-chezlepro-verification-facturation-clients" {
apply Service "obligations-chezlepro-verification-paiements-fournisseurs" { apply Service "obligations-chezlepro-verification-paiements-fournisseurs" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-10" vars.date_echeance = "2026-04-10"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier les paiements fournisseurs" notes = "Vérifier les paiements fournisseurs"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -42,6 +52,8 @@ apply Service "obligations-chezlepro-verification-paiements-fournisseurs" {
apply Service "obligations-chezlepro-verification-contrats-ententes" { apply Service "obligations-chezlepro-verification-contrats-ententes" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier contrats, ententes et obligations associées" notes = "Vérifier contrats, ententes et obligations associées"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -49,6 +61,8 @@ apply Service "obligations-chezlepro-verification-contrats-ententes" {
apply Service "obligations-chezlepro-verification-assurances-entreprise" { apply Service "obligations-chezlepro-verification-assurances-entreprise" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-01" vars.date_echeance = "2026-06-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier les assurances de l'entreprise" notes = "Vérifier les assurances de l'entreprise"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -56,6 +70,8 @@ apply Service "obligations-chezlepro-verification-assurances-entreprise" {
apply Service "obligations-chezlepro-archivage-documents-entreprise" { apply Service "obligations-chezlepro-archivage-documents-entreprise" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-31" vars.date_echeance = "2026-05-31"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Archiver les documents administratifs et financiers de l'entreprise" notes = "Archiver les documents administratifs et financiers de l'entreprise"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }

View file

@ -7,6 +7,8 @@
apply Service "obligations-legales-personnelles-verification-testament" { apply Service "obligations-legales-personnelles-verification-testament" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-07-01" vars.date_echeance = "2026-07-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier la pertinence et l'actualité du testament" notes = "Vérifier la pertinence et l'actualité du testament"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -14,6 +16,8 @@ apply Service "obligations-legales-personnelles-verification-testament" {
apply Service "obligations-legales-personnelles-verification-mandat-inaptitude" { apply Service "obligations-legales-personnelles-verification-mandat-inaptitude" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-07-01" vars.date_echeance = "2026-07-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier le mandat de protection et documents connexes" notes = "Vérifier le mandat de protection et documents connexes"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -21,6 +25,8 @@ apply Service "obligations-legales-personnelles-verification-mandat-inaptitude"
apply Service "obligations-legales-personnelles-verification-directives-medicales" { apply Service "obligations-legales-personnelles-verification-directives-medicales" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-07-15" vars.date_echeance = "2026-07-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier les directives médicales anticipées" notes = "Vérifier les directives médicales anticipées"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -28,6 +34,8 @@ apply Service "obligations-legales-personnelles-verification-directives-medicale
apply Service "obligations-legales-personnelles-verification-papiers-identite" { apply Service "obligations-legales-personnelles-verification-papiers-identite" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-01" vars.date_echeance = "2026-06-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier l'expiration des papiers d'identité" notes = "Vérifier l'expiration des papiers d'identité"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -35,6 +43,8 @@ apply Service "obligations-legales-personnelles-verification-papiers-identite" {
apply Service "obligations-legales-personnelles-renouvellement-permis-conduire" { apply Service "obligations-legales-personnelles-renouvellement-permis-conduire" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2027-01-01" vars.date_echeance = "2027-01-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier le renouvellement du permis de conduire" notes = "Vérifier le renouvellement du permis de conduire"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -42,6 +52,8 @@ apply Service "obligations-legales-personnelles-renouvellement-permis-conduire"
apply Service "obligations-legales-personnelles-verification-carte-assurance-maladie" { apply Service "obligations-legales-personnelles-verification-carte-assurance-maladie" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-10-01" vars.date_echeance = "2026-10-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier l'expiration de la carte d'assurance maladie" notes = "Vérifier l'expiration de la carte d'assurance maladie"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -49,6 +61,8 @@ apply Service "obligations-legales-personnelles-verification-carte-assurance-mal
apply Service "obligations-legales-personnelles-verification-passeport" { apply Service "obligations-legales-personnelles-verification-passeport" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-01" vars.date_echeance = "2026-06-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier l'expiration du passeport" notes = "Vérifier l'expiration du passeport"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }

View file

@ -7,6 +7,8 @@
apply Service "outils-et-equipements-entretien-outils-jardin" { apply Service "outils-et-equipements-entretien-outils-jardin" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-15" vars.date_echeance = "2026-04-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Nettoyage et entretien des outils de jardin" notes = "Nettoyage et entretien des outils de jardin"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -14,6 +16,8 @@ apply Service "outils-et-equipements-entretien-outils-jardin" {
apply Service "outils-et-equipements-inspection-outils-electriques" { apply Service "outils-et-equipements-inspection-outils-electriques" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des outils électriques" notes = "Vérification des outils électriques"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -21,6 +25,8 @@ apply Service "outils-et-equipements-inspection-outils-electriques" {
apply Service "outils-et-equipements-verification-rallonges-et-connecteurs" { apply Service "outils-et-equipements-verification-rallonges-et-connecteurs" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des rallonges et connecteurs" notes = "Vérification des rallonges et connecteurs"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -28,6 +34,8 @@ apply Service "outils-et-equipements-verification-rallonges-et-connecteurs" {
apply Service "outils-et-equipements-verification-compresseur-et-accessoires" { apply Service "outils-et-equipements-verification-compresseur-et-accessoires" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification du compresseur et accessoires" notes = "Vérification du compresseur et accessoires"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -35,6 +43,8 @@ apply Service "outils-et-equipements-verification-compresseur-et-accessoires" {
apply Service "outils-et-equipements-revision-inventaire-outillage" { apply Service "outils-et-equipements-revision-inventaire-outillage" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-01" vars.date_echeance = "2026-06-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Revue de l'inventaire d'outillage" notes = "Revue de l'inventaire d'outillage"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }

View file

@ -7,6 +7,8 @@
apply Service "projets-revision-life-noc" { apply Service "projets-revision-life-noc" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-01" vars.date_echeance = "2026-04-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Révision du projet Life-NOC" notes = "Révision du projet Life-NOC"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -14,6 +16,8 @@ apply Service "projets-revision-life-noc" {
apply Service "projets-revision-alliance-boreale" { apply Service "projets-revision-alliance-boreale" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-15" vars.date_echeance = "2026-04-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Révision du projet Alliance Boréale" notes = "Révision du projet Alliance Boréale"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -21,6 +25,8 @@ apply Service "projets-revision-alliance-boreale" {
apply Service "projets-revision-erplibre" { apply Service "projets-revision-erplibre" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Révision du projet ERPLibre" notes = "Révision du projet ERPLibre"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -28,6 +34,8 @@ apply Service "projets-revision-erplibre" {
apply Service "projets-revision-semence-numerique" { apply Service "projets-revision-semence-numerique" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Révision du projet semence numérique" notes = "Révision du projet semence numérique"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -35,6 +43,8 @@ apply Service "projets-revision-semence-numerique" {
apply Service "projets-revision-ortrux-1" { apply Service "projets-revision-ortrux-1" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Révision du système Ortrux-1" notes = "Révision du système Ortrux-1"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -42,6 +52,8 @@ apply Service "projets-revision-ortrux-1" {
apply Service "projets-revision-district16" { apply Service "projets-revision-district16" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Révision du projet DISTRICT16" notes = "Révision du projet DISTRICT16"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }

View file

@ -7,6 +7,8 @@
apply Service "reseau-chezlepro-verification-firewalls" { apply Service "reseau-chezlepro-verification-firewalls" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-01" vars.date_echeance = "2026-04-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des firewalls" notes = "Vérification des firewalls"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -14,6 +16,8 @@ apply Service "reseau-chezlepro-verification-firewalls" {
apply Service "reseau-chezlepro-verification-vpn-openvpn" { apply Service "reseau-chezlepro-verification-vpn-openvpn" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-15" vars.date_echeance = "2026-04-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des tunnels OpenVPN" notes = "Vérification des tunnels OpenVPN"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -21,6 +25,8 @@ apply Service "reseau-chezlepro-verification-vpn-openvpn" {
apply Service "reseau-chezlepro-verification-crl-certificats" { apply Service "reseau-chezlepro-verification-crl-certificats" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-15" vars.date_echeance = "2026-04-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification de la CRL et des certificats" notes = "Vérification de la CRL et des certificats"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -28,6 +34,8 @@ apply Service "reseau-chezlepro-verification-crl-certificats" {
apply Service "reseau-chezlepro-verification-switches" { apply Service "reseau-chezlepro-verification-switches" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des switches et uplinks" notes = "Vérification des switches et uplinks"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -35,6 +43,8 @@ apply Service "reseau-chezlepro-verification-switches" {
apply Service "reseau-chezlepro-verification-vlans-segmentation" { apply Service "reseau-chezlepro-verification-vlans-segmentation" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification de la segmentation réseau" notes = "Vérification de la segmentation réseau"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -42,6 +52,8 @@ apply Service "reseau-chezlepro-verification-vlans-segmentation" {
apply Service "reseau-chezlepro-verification-dns" { apply Service "reseau-chezlepro-verification-dns" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification DNS interne et externe" notes = "Vérification DNS interne et externe"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -49,6 +61,8 @@ apply Service "reseau-chezlepro-verification-dns" {
apply Service "reseau-chezlepro-verification-dynamic-dns" { apply Service "reseau-chezlepro-verification-dynamic-dns" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification du DNS dynamique si utilisé" notes = "Vérification du DNS dynamique si utilisé"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -56,6 +70,8 @@ apply Service "reseau-chezlepro-verification-dynamic-dns" {
apply Service "reseau-chezlepro-audit-regles-firewall" { apply Service "reseau-chezlepro-audit-regles-firewall" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-01" vars.date_echeance = "2026-06-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Audit périodique des règles de firewall" notes = "Audit périodique des règles de firewall"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -63,6 +79,8 @@ apply Service "reseau-chezlepro-audit-regles-firewall" {
apply Service "reseau-chezlepro-verification-geoblocking" { apply Service "reseau-chezlepro-verification-geoblocking" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier le geoblocking et son effet attendu" notes = "Vérifier le geoblocking et son effet attendu"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -70,6 +88,8 @@ apply Service "reseau-chezlepro-verification-geoblocking" {
apply Service "reseau-chezlepro-verification-certificats-publics" { apply Service "reseau-chezlepro-verification-certificats-publics" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-01" vars.date_echeance = "2026-06-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier les expirations de certificats publics" notes = "Vérifier les expirations de certificats publics"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }

View file

@ -7,6 +7,8 @@
apply Service "resilience-test-generatrice-propane" { apply Service "resilience-test-generatrice-propane" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-01" vars.date_echeance = "2026-04-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Test mensuel de la génératrice au propane" notes = "Test mensuel de la génératrice au propane"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -14,6 +16,8 @@ apply Service "resilience-test-generatrice-propane" {
apply Service "resilience-verification-carburant-generatrice" { apply Service "resilience-verification-carburant-generatrice" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-01" vars.date_echeance = "2026-04-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification de l'approvisionnement propane lié à la génératrice" notes = "Vérification de l'approvisionnement propane lié à la génératrice"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -21,6 +25,8 @@ apply Service "resilience-verification-carburant-generatrice" {
apply Service "resilience-verification-procedure-bascule" { apply Service "resilience-verification-procedure-bascule" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-15" vars.date_echeance = "2026-04-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Réviser la procédure de bascule en mode secours" notes = "Réviser la procédure de bascule en mode secours"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -28,6 +34,8 @@ apply Service "resilience-verification-procedure-bascule" {
apply Service "resilience-verification-stock-lampes-piles" { apply Service "resilience-verification-stock-lampes-piles" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des lampes, piles et éclairage d'urgence" notes = "Vérification des lampes, piles et éclairage d'urgence"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -35,6 +43,8 @@ apply Service "resilience-verification-stock-lampes-piles" {
apply Service "resilience-verification-trousses-urgence" { apply Service "resilience-verification-trousses-urgence" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des trousses d'urgence" notes = "Vérification des trousses d'urgence"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -42,6 +52,8 @@ apply Service "resilience-verification-trousses-urgence" {
apply Service "resilience-revision-plan-urgence" { apply Service "resilience-revision-plan-urgence" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-01" vars.date_echeance = "2026-06-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Réviser le plan d'urgence domestique" notes = "Réviser le plan d'urgence domestique"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -49,6 +61,8 @@ apply Service "resilience-revision-plan-urgence" {
apply Service "resilience-test-autonomie-base" { apply Service "resilience-test-autonomie-base" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-15" vars.date_echeance = "2026-06-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier l'autonomie énergétique minimale attendue" notes = "Vérifier l'autonomie énergétique minimale attendue"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -56,6 +70,8 @@ apply Service "resilience-test-autonomie-base" {
apply Service "resilience-verification-moyens-cuisson-secours" { apply Service "resilience-verification-moyens-cuisson-secours" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des moyens de cuisson de secours" notes = "Vérification des moyens de cuisson de secours"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }

View file

@ -7,6 +7,8 @@
apply Service "revue-revue-quotidienne-life-noc" { apply Service "revue-revue-quotidienne-life-noc" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-03-07" vars.date_echeance = "2026-03-07"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Revue quotidienne du tableau Life-NOC" notes = "Revue quotidienne du tableau Life-NOC"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -14,6 +16,8 @@ apply Service "revue-revue-quotidienne-life-noc" {
apply Service "revue-revue-hebdomadaire-priorites" { apply Service "revue-revue-hebdomadaire-priorites" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-03-08" vars.date_echeance = "2026-03-08"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Revue hebdomadaire des priorités personnelles et professionnelles" notes = "Revue hebdomadaire des priorités personnelles et professionnelles"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -21,6 +25,8 @@ apply Service "revue-revue-hebdomadaire-priorites" {
apply Service "revue-revue-mensuelle-systeme-vie" { apply Service "revue-revue-mensuelle-systeme-vie" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-01" vars.date_echeance = "2026-04-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Revue mensuelle de l'ensemble du système Life-NOC" notes = "Revue mensuelle de l'ensemble du système Life-NOC"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -28,6 +34,8 @@ apply Service "revue-revue-mensuelle-systeme-vie" {
apply Service "revue-revue-trimestrielle-orientation" { apply Service "revue-revue-trimestrielle-orientation" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-30" vars.date_echeance = "2026-06-30"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Revue trimestrielle des orientations de vie et de Chezlepro" notes = "Revue trimestrielle des orientations de vie et de Chezlepro"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }

View file

@ -7,6 +7,8 @@
apply Service "sante-verification-trousse-premiers-soins" { apply Service "sante-verification-trousse-premiers-soins" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-01" vars.date_echeance = "2026-04-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification de la trousse de premiers soins" notes = "Vérification de la trousse de premiers soins"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -14,6 +16,8 @@ apply Service "sante-verification-trousse-premiers-soins" {
apply Service "sante-verification-expiration-medicaments" { apply Service "sante-verification-expiration-medicaments" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des dates d'expiration des médicaments" notes = "Vérification des dates d'expiration des médicaments"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -21,6 +25,8 @@ apply Service "sante-verification-expiration-medicaments" {
apply Service "sante-revision-rendez-vous-medicaux" { apply Service "sante-revision-rendez-vous-medicaux" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-15" vars.date_echeance = "2026-04-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Revoir les rendez-vous médicaux requis" notes = "Revoir les rendez-vous médicaux requis"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -28,6 +34,8 @@ apply Service "sante-revision-rendez-vous-medicaux" {
apply Service "sante-verification-lunettes-prescriptions" { apply Service "sante-verification-lunettes-prescriptions" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-01" vars.date_echeance = "2026-06-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier les prescriptions et besoins de renouvellement" notes = "Vérifier les prescriptions et besoins de renouvellement"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -35,6 +43,8 @@ apply Service "sante-verification-lunettes-prescriptions" {
apply Service "sante-verification-dossier-sante" { apply Service "sante-verification-dossier-sante" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-15" vars.date_echeance = "2026-06-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier l'ordre et l'accessibilité des documents de santé" notes = "Vérifier l'ordre et l'accessibilité des documents de santé"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }

View file

@ -7,6 +7,8 @@
apply Service "securite-chezlepro-verification-mises-a-jour-securite" { apply Service "securite-chezlepro-verification-mises-a-jour-securite" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-01" vars.date_echeance = "2026-04-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des mises à jour de sécurité" notes = "Vérification des mises à jour de sécurité"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -14,6 +16,8 @@ apply Service "securite-chezlepro-verification-mises-a-jour-securite" {
apply Service "securite-chezlepro-audit-comptes-acces" { apply Service "securite-chezlepro-audit-comptes-acces" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Audit des comptes et accès privilégiés" notes = "Audit des comptes et accès privilégiés"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -21,6 +25,8 @@ apply Service "securite-chezlepro-audit-comptes-acces" {
apply Service "securite-chezlepro-verification-ids-snort" { apply Service "securite-chezlepro-verification-ids-snort" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des IDS et de leur état" notes = "Vérification des IDS et de leur état"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -28,6 +34,8 @@ apply Service "securite-chezlepro-verification-ids-snort" {
apply Service "securite-chezlepro-revue-pki-privee" { apply Service "securite-chezlepro-revue-pki-privee" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-15" vars.date_echeance = "2026-05-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Revue de la PKI privée et des autorités intermédiaires" notes = "Revue de la PKI privée et des autorités intermédiaires"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -35,6 +43,8 @@ apply Service "securite-chezlepro-revue-pki-privee" {
apply Service "securite-chezlepro-revue-politiques-securite" { apply Service "securite-chezlepro-revue-politiques-securite" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-01" vars.date_echeance = "2026-06-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Revue des politiques et pratiques de sécurité numérique" notes = "Revue des politiques et pratiques de sécurité numérique"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -42,6 +52,8 @@ apply Service "securite-chezlepro-revue-politiques-securite" {
apply Service "securite-chezlepro-verification-sauvegardes-configuration" { apply Service "securite-chezlepro-verification-sauvegardes-configuration" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-15" vars.date_echeance = "2026-04-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier les sauvegardes des configurations critiques" notes = "Vérifier les sauvegardes des configurations critiques"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }

View file

@ -7,6 +7,8 @@
apply Service "stock-alimentaire-rotation-nourriture-seche" { apply Service "stock-alimentaire-rotation-nourriture-seche" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-01" vars.date_echeance = "2026-04-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Rotation des stocks de nourriture sèche" notes = "Rotation des stocks de nourriture sèche"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -14,6 +16,8 @@ apply Service "stock-alimentaire-rotation-nourriture-seche" {
apply Service "stock-alimentaire-verification-reserve-eau" { apply Service "stock-alimentaire-verification-reserve-eau" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-15" vars.date_echeance = "2026-04-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification de la réserve d'eau potable" notes = "Vérification de la réserve d'eau potable"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -21,6 +25,8 @@ apply Service "stock-alimentaire-verification-reserve-eau" {
apply Service "stock-alimentaire-verification-mylar-absorbeurs" { apply Service "stock-alimentaire-verification-mylar-absorbeurs" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérifier l'intégrité des emballages Mylar et absorbeurs" notes = "Vérifier l'intégrité des emballages Mylar et absorbeurs"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -28,6 +34,8 @@ apply Service "stock-alimentaire-verification-mylar-absorbeurs" {
apply Service "stock-alimentaire-revue-inventaire-conserves" { apply Service "stock-alimentaire-revue-inventaire-conserves" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-15" vars.date_echeance = "2026-04-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Revue des conserves et dates de rotation" notes = "Revue des conserves et dates de rotation"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -35,6 +43,8 @@ apply Service "stock-alimentaire-revue-inventaire-conserves" {
apply Service "stock-alimentaire-revue-inventaire-farine-riz-pates" { apply Service "stock-alimentaire-revue-inventaire-farine-riz-pates" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-01" vars.date_echeance = "2026-04-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des gros stocks alimentaires de base" notes = "Vérification des gros stocks alimentaires de base"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -42,6 +52,8 @@ apply Service "stock-alimentaire-revue-inventaire-farine-riz-pates" {
apply Service "stock-alimentaire-verification-bacs-legumes-racines" { apply Service "stock-alimentaire-verification-bacs-legumes-racines" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-10-01" vars.date_echeance = "2026-10-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des bacs de stockage de légumes racines" notes = "Vérification des bacs de stockage de légumes racines"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -49,6 +61,8 @@ apply Service "stock-alimentaire-verification-bacs-legumes-racines" {
apply Service "stock-alimentaire-revue-supplements-vitamines" { apply Service "stock-alimentaire-revue-supplements-vitamines" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification du stock de suppléments et dates utiles" notes = "Vérification du stock de suppléments et dates utiles"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }

View file

@ -7,6 +7,8 @@
apply Service "voiture-verification-huile-moteur" { apply Service "voiture-verification-huile-moteur" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-01" vars.date_echeance = "2026-04-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification de l'huile moteur" notes = "Vérification de l'huile moteur"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -14,6 +16,8 @@ apply Service "voiture-verification-huile-moteur" {
apply Service "voiture-inspection-freins" { apply Service "voiture-inspection-freins" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Inspection des freins" notes = "Inspection des freins"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -21,6 +25,8 @@ apply Service "voiture-inspection-freins" {
apply Service "voiture-verification-pneus" { apply Service "voiture-verification-pneus" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-15" vars.date_echeance = "2026-04-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification usure, pression et permutation des pneus" notes = "Vérification usure, pression et permutation des pneus"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -28,6 +34,8 @@ apply Service "voiture-verification-pneus" {
apply Service "voiture-ajustement-valves" { apply Service "voiture-ajustement-valves" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-08-01" vars.date_echeance = "2026-08-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification et ajustement des valves Honda Accord" notes = "Vérification et ajustement des valves Honda Accord"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -35,6 +43,8 @@ apply Service "voiture-ajustement-valves" {
apply Service "voiture-verification-timing-belt" { apply Service "voiture-verification-timing-belt" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2027-01-01" vars.date_echeance = "2027-01-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification de la courroie de distribution et pompe à eau" notes = "Vérification de la courroie de distribution et pompe à eau"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -42,6 +52,8 @@ apply Service "voiture-verification-timing-belt" {
apply Service "voiture-verification-batterie-voiture" { apply Service "voiture-verification-batterie-voiture" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-10-01" vars.date_echeance = "2026-10-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification de l'état de la batterie automobile" notes = "Vérification de l'état de la batterie automobile"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -49,6 +61,8 @@ apply Service "voiture-verification-batterie-voiture" {
apply Service "voiture-verification-balais-essuie-glace" { apply Service "voiture-verification-balais-essuie-glace" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des essuie-glaces" notes = "Vérification des essuie-glaces"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -56,6 +70,8 @@ apply Service "voiture-verification-balais-essuie-glace" {
apply Service "voiture-verification-liquides" { apply Service "voiture-verification-liquides" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-04-15" vars.date_echeance = "2026-04-15"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification des liquides de la voiture" notes = "Vérification des liquides de la voiture"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -63,6 +79,8 @@ apply Service "voiture-verification-liquides" {
apply Service "voiture-verification-eclairage" { apply Service "voiture-verification-eclairage" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-05-01" vars.date_echeance = "2026-05-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification de l'éclairage et des phares" notes = "Vérification de l'éclairage et des phares"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }
@ -70,6 +88,8 @@ apply Service "voiture-verification-eclairage" {
apply Service "voiture-verification-immatriculation-assurance" { apply Service "voiture-verification-immatriculation-assurance" {
import "service_echeance" import "service_echeance"
vars.date_echeance = "2026-06-01" vars.date_echeance = "2026-06-01"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
notes = "Vérification papiers d'assurance et immatriculation" notes = "Vérification papiers d'assurance et immatriculation"
assign where host.name == "life-noc" assign where host.name == "life-noc"
} }

View file

@ -0,0 +1,17 @@
template Service "service_echeance" {
import "generic-service"
check_command = "check_life_noc_mock"
vars.mock_state = "OK"
vars.mock_message = "Sous contrôle"
vars.warning_days = 14
vars.critical_days = 3
max_check_attempts = 1
check_interval = 1m
retry_interval = 30s
enable_notifications = false
}

0
scripts/generate_bpm.py Executable file → Normal file
View file

23
scripts/generate_services.py Executable file → Normal file
View file

@ -5,11 +5,12 @@ import re
import sys import sys
import yaml import yaml
INPUT_FILE = Path("domains.yaml") INPUT_FILE = Path("domains.yaml")
OUTPUT_DIR = Path("icinga/services") OUTPUT_DIR = Path("icinga/services")
HOST_NAME = "life-noc" HOST_NAME = "life-noc"
SERVICE_TEMPLATE = "service_echeance" SERVICE_TEMPLATE = "service_echeance"
DEFAULT_MOCK_STATE = "OK"
DEFAULT_MOCK_MESSAGE = "Sous contrôle"
def slugify(value: str) -> str: def slugify(value: str) -> str:
@ -38,12 +39,24 @@ def icinga_escape(value: str) -> str:
return value.replace("\\", "\\\\").replace('"', '\\"') return value.replace("\\", "\\\\").replace('"', '\\"')
def normalize_mock_state(value: str) -> str:
state = str(value).strip().upper()
allowed = {"OK", "WARNING", "CRITICAL"}
if state not in allowed:
raise ValueError(
f"mock_state invalide: {value}. Valeurs permises: {', '.join(sorted(allowed))}"
)
return state
def render_service(domain: str, item: dict) -> str: def render_service(domain: str, item: dict) -> str:
name = item["name"].strip() name = item["name"].strip()
date = str(item["date"]).strip() date = str(item["date"]).strip()
notes = item.get("notes", "").strip() notes = item.get("notes", "").strip()
notes_url = item.get("notes_url", "").strip() notes_url = item.get("notes_url", "").strip()
action_url = item.get("action_url", "").strip() action_url = item.get("action_url", "").strip()
mock_state = normalize_mock_state(item.get("mock_state", DEFAULT_MOCK_STATE))
mock_message = item.get("mock_message", DEFAULT_MOCK_MESSAGE).strip() or DEFAULT_MOCK_MESSAGE
service_name = f"{domain}-{name}" service_name = f"{domain}-{name}"
@ -51,6 +64,8 @@ def render_service(domain: str, item: dict) -> str:
f'apply Service "{icinga_escape(service_name)}" {{', f'apply Service "{icinga_escape(service_name)}" {{',
f' import "{SERVICE_TEMPLATE}"', f' import "{SERVICE_TEMPLATE}"',
f' vars.date_echeance = "{icinga_escape(date)}"', f' vars.date_echeance = "{icinga_escape(date)}"',
f' vars.mock_state = "{icinga_escape(mock_state)}"',
f' vars.mock_message = "{icinga_escape(mock_message)}"',
] ]
if notes: if notes:
@ -117,7 +132,11 @@ def main() -> int:
) )
return 1 return 1
content.append(render_service(domain, item)) try:
content.append(render_service(domain, item))
except ValueError as exc:
print(f"Erreur dans '{raw_domain}', entrée {idx}: {exc}", file=sys.stderr)
return 1
output_file.write_text("\n".join(content).rstrip() + "\n", encoding="utf-8") output_file.write_text("\n".join(content).rstrip() + "\n", encoding="utf-8")
generated_files.append(str(output_file)) generated_files.append(str(output_file))