Aller au contenu principal

Conseils et astuces

Voici une liste de quelques astuces que nous avons rassemblés pour améliorer vos compétences en matière de configuration des variables.

Utiliser NOW et les timestamps pour gérer le temps

NOW est une variable pré-construite dans l'application, et vous permet de gérer le temps. Elle retourne le nombre de millisecondes entre le 1er janvier 1970 et la date actuelle, sous forme d'un timestamp.

Timestamp quand vous êtes arrivé sur cette page : 1665750260018 (rafraîchissez pour le voir changer)

Voici le temps que vous avez passé sur cette page en secondes comme variable :

  • Expression de la variable : ($NOW - $time_of_arrival) / 1000
  • Résultat : 0

Les variables booléennes

Un booléen, en informatique, est un type de données avec deux valeurs possibles : true (pour "vrai") ou false (pour "faux").

Les booléens sont généralement deux expressions (gauche / droite) évaluées par un comparateur logique :

  • 1 > 2 signifie "Est-ce que 1 est supérieur à 2?" ==> FALSE
  • 1 == 2 signifie "Est-ce que 1 est égal à 2?" ==> FALSE
  • 1 < 2 signifie "Est-ce que 1 est inférieur à 2?" ==> TRUE

Essentiels en programmation, ils le sont aussi en configuration avancée, dans le calcul de l'état-machine, par exemple. En effet, la variable qui définit l'état de la machine est un booléen : TRUE lorsque la machine est en marche et FALSE lorsque la machine est en arrêt.

Nous utilisons souvent des booléens avec Time pour créer des délais dans l'application afin de mettre en œuvre des cas comme : "La machine n'a pas créé de pièce pendant 5 minutes".
Nous allons traduire cet exemple par un exemple simple et créer une variable qui est TRUE lorsque cela fait moins de 10 secondes que vous êtes arrivé sur la page, FALSE sinon. Rafraîchissez pour voir le changement.

Voici l'expression de la variable et le résultat :

  • Expression de la variable : ($NOW - $time_of_arrival) < 10000
  • Temps de présence sur la page (en secondes) : 0
  • Résultat : TRUE

Le modulo et comment l'utiliser

Définition

L'opération modulo, représentée par le % dans une expression variable, est le reste d'une division, après qu'un nombre soit divisé par l'autre.
Par exemple, l'expression "5 % 2" évalue à 1 parce que 5 divisé par 2 a un quotient de 2 et un reste de 1.
"9 % 3" s'évaluerait à 0, car la division de 9 par 3 a un quotient de 3 et un reste de 0.

Cette opération peut être utile si vous voulez "boucler" un nombre dans le temps. Voici un exemple où notre variable ne dépasse jamais 5000 (ms).

  • Expression de la variable : $NOW % 5000
  • Résultat : 3

Exemple

L'exemple le plus concret est celui où vous voulez faire clignoter une tuile avec une règle de couleur. Lorsque nous voulons faire clignoter une tuile toutes les secondes par exemple, nous utilisons le modulo pour créer la variable, et un comparateur booléen pour faire clignoter la tuile.

  • Expression de la variable : ($NOW % 2000)/1000

  • Évaluation de la variable : 0

  • Règles de couleur des tuiles

  • Résultat : BLINK

Les expressions ternaires

Un ternaire est l'expression logique de la formule SI / ALORS / SINON ("if/then/else"). Il vous permet de donner une valeur différente à votre variable en fonction de l'évaluation d'un booléen. Voici la syntaxe d'un ternaire :

SI_CONDITION ? ALORS : SINON

L'exemple le plus simple que l'on puisse donner est de transformer un booléen en un nombre. Reprenons l'exemple que nous avons présenté avec l'opérateur modulo.
SI le modulo est supérieur à 1 ALORS result = 1 SINON result = 0

  • Expression de la variable : ($NOW % 2000)/1000 > 1 ? 1 : 0
  • Temps : 0
  • Résultat de l'évaluation de la variable : 0