Syntaxe de base
Avant de créer des formules complexes, commençons par les briques fondamentales : les différents types de valeurs que vous pouvez utiliser.
Les nombres
Les nombres sont le type de valeur le plus courant dans les formules. Vous pouvez utiliser des entiers ou des décimaux, positifs ou négatifs.
42 // Un entier
3.14 // Un nombre décimal
-5.99 // Un nombre négatif
0 // ZéroBon à savoir
Miel utilise des nombres à précision arbitraire (Decimal). Cela signifie que vous n'aurez jamais de problèmes d'arrondi comme en JavaScript où 0.1 + 0.2 donne 0.30000000000000004. Avec Miel, 0.1 + 0.2 donne bien 0.3.
Exemples d'utilisation
Les nombres sont souvent utilisés pour des calculs de prix, quantités, ou pourcentages :
// Calculer un prix TTC
100 * 1.20 // 120
// Calculer une remise de 15%
250 * 0.85 // 212.5
// Additionner des quantités
5 + 10 + 3 // 18Les chaînes de caractères
Les chaînes de caractères (ou "texte") permettent de manipuler du texte. Elles sont délimitées par des guillemets doubles.
"Bonjour" // Un mot simple
"Hello World" // Avec des espaces
"123" // Des chiffres en texte (pas un nombre !)
"" // Une chaîne videAttention
"123" (avec guillemets) est du texte, tandis que 123 (sans guillemets) est un nombre. Ce n'est pas la même chose ! Vous ne pouvez pas faire de calculs mathématiques avec du texte.
Concaténation
Pour assembler plusieurs textes, utilisez la fonction CONCAT :
CONCAT("Bonjour ", "Constance") // "Bonjour Constance"
CONCAT("Total : ", 150, " €") // "Total : 150 €"
CONCAT("Facture n°", 42) // "Facture n°42"Vous pouvez mélanger du texte et des nombres dans CONCAT. Les nombres seront automatiquement convertis en texte.
Les booléens
Les booléens représentent une valeur de vérité : soit true (vrai), soit false (faux). Ils sont essentiels pour les conditions.
true // Vrai
false // FauxComment obtenir un booléen ?
En général, vous n'écrivez pas true ou false directement. Les booléens sont le résultat de comparaisons :
5 > 3 // true (5 est supérieur à 3)
10 == 10 // true (10 égale 10)
"a" == "b" // false ("a" n'est pas égal à "b")
100 < 50 // false (100 n'est pas inférieur à 50)Nous verrons les comparaisons en détail dans la section Opérateurs.
Les tableaux
Les tableaux permettent de regrouper plusieurs valeurs dans une liste ordonnée. Ils sont délimités par des crochets et les éléments sont séparés par des virgules.
[1, 2, 3] // Tableau de nombres
["a", "b", "c"] // Tableau de textes
[1, "mixte", 3.14] // Types mixtes (possible mais rare)
[] // Tableau videÀ quoi servent les tableaux ?
Les tableaux sont très utiles pour :
- Stocker une liste de produits d'une commande
- Calculer une somme ou une moyenne
- Filtrer des éléments selon un critère
- Transformer chaque élément d'une liste
Par exemple, pour calculer la somme d'un tableau :
SOMME([10, 20, 30]) // 60
MOYENNE([10, 20, 30]) // 20Bon à savoir
En pratique, vous travaillerez souvent avec des tableaux provenant de vos données, comme {{commande.produits}} plutôt qu'avec des tableaux écrits manuellement.
Accès par index
Vous pouvez accéder à un élément spécifique d'un tableau ou d'une chaîne en utilisant son index entre crochets. Les index commencent à 0.
// Accès dans un tableau
[10, 20, 30][0] // 10 (premier élément)
[10, 20, 30][1] // 20 (deuxième élément)
[10, 20, 30][2] // 30 (troisième élément)
// Accès dans une chaîne
"Bonjour"[0] // "B" (premier caractère)
"Bonjour"[3] // "j" (quatrième caractère)Attention aux index
Le premier élément a l'index 0, pas 1. C'est une convention courante en programmation. Dans un tableau de 3 éléments, les index valides sont 0, 1 et 2.
Prochaine étape
Vous connaissez maintenant les types de base. L'étape suivante est d'apprendre à accéder aux données de vos objets Miel avec l'interpolation.