Mises à jour côté serveur

Module d’exemple : hellotypes, propriété live.

Toutes les pages précédentes réagissaient à une écriture venant du client. Un module peut aussi faire évoluer ses propres valeurs tout seul, typiquement depuis un QTimer :

QTimer *timer = new QTimer(this);
connect(timer, &QTimer::timeout, this, [this]()
{
    mValue += 2.0;
    getEltPrg("live", "progress")->setPrgValue(mValue, true);
});
timer->start(500);

Aucune règle de permission/directedit ne s’applique ici : ce chemin ne passe jamais par une écriture client, le module modifie directement son propre datastore.

Organiser l’affichage : devcat et group

devcat crée un onglet dans l’interface ; group, un sous-onglet à l’intérieur d’un devcat. Deux propriétés qui partagent le même devcat apparaissent dans le même onglet, l’une sous l’autre.

Un onglet par propriété, pour une lecture simple

Donner un devcat distinct à chaque propriété évite d’empiler plusieurs blocs peu lisibles dans un même onglet — surtout utile dès qu’une page présente plusieurs familles de données différentes (comme ce module).

Isoler les propriétés à mise à jour fréquente

Une propriété est redumpée en bloc au client dès qu’un seul de ses éléments change. Mélanger, dans une même propriété, des éléments animés (toutes les 500ms, par exemple) avec des éléments rarement modifiés — une image, un flux vidéo — fait recharger/sauter ces derniers à chaque tick, sans raison.

Bonne pratique : séparer le fréquent du rare

Isoler les éléments à mise à jour fréquente dans leur propre propriété, même au sein d’une même famille conceptuelle (ici, “les types d’affichage”). Le module d’exemple sépare ainsi display (statique : lumière, image, vidéo) de live (animé : barre, spinner).