7. Les sources de données

7.1. Qu’est-ce que c’est ?

La source de données est, comme son nom l’indique, l’origine d’une information. L’idée de la source de données est d’indiquer à un endroit une information, comme la liste des codes postaux d’une commune, par exemple, et puis de récupérer cette information pour la réutiliser.

En n’ayant qu’une seule source pour l’information, il est plus facile de maintenir et d’utiliser cette information. Par exemple, dans le cas des code postaux, pas besoin de les recopier chaque fois qu’on en a besoin. Il est également plus facile de modifier, de mettre à jour l’information car il ne faudra effectuer la modification qu’une seule fois à un endroit précis.

Cette source de données, une fois créée, pourra alimenter un champ de type liste dans un formulaire.

Un dernier avantage d’une source de données est qu’elle permettra d’ajouter des informations supplémentaires au champ de type liste. Ces informations pourront dès lors permettre des traitements spécifiques comme le calcul du total d’une commande.

7.2. Types de sources de données

7.2.1. Expression python

L’expression python permet de créer rapidement une petite source de données. Elle s’écrit en suivant une syntaxe très précise, la syntaxe d’une liste de dictionnaires en python.

Créer une source de données de type expression python

Avant d’aller plus loin, vous pouvez ouvrir un éditeur de texte, comme le bloc-note. Surtout ne pas passer par un traitement de texte ; exit donc Microsoft Word et consorts.

Tout d’abord, définir la structure de la liste avec un crochet ouvrant et un crochet fermant :

[
]

Ensuite, définir les éléments dans la liste, avec une accolade ouvrante et une accolade fermante. Bien séparer chaque élément par une virgule.

[
    {},
    {},
]

Pour chaque élément, il faudra définir un identifiant et un texte à afficher selon la logique clef : valeur.

[
    {'id':"braine-l'alleud",'text':"Braine-l'Alleud"},
    {'id':"fontaine-l'evêque",'text':"Fontaine-l'Evêque"},
    {'id':"mont-de-l'enclus",'text':"Mont-de-l'Enclus"}
]

Notez bien la logique des apostrophes (quotes) et guillemets (double quotes) ! Remarquez également que les couples clef-valeur sont séparés, au sein d’un dictionnaire, par une virgule.

Enfin, si vous avez besoin d’informations supplémentaires pour vos traitements, vous pouvez les ajouter comme suit :

[
    {'id':"braine-l'alleud",'text':"Braine-l'Alleud", 'code_postal':'1420'},
    {'id':"fontaine-l'evêque",'text':"Fontaine-l'Evêque", 'code_postal':'6140'},
    {'id':"mont-de-l'enclus",'text':"Mont-de-l'Enclus", 'code_postal':'7750'}
]

Vous n’avez plus qu’à copier-coller ceci dans le champs « Expression python » d’une source de données de votre instance Téléservices comme suit : Dans le backoffice, vous cliquez sur « fabrique de formulaires », puis, en haut à droite sur « source de données », et encore en haut à droite sur « nouvelle source de données ». Vous lui donnez un nom et éventuellement une description. Vous choisissez « expression python » et vous collez votre source de données dans l’enquart puis validez. Vous pouvez revenir sur votre source de données (le bouton modifier) et via « options supplémentaires », changer l’identifiant qui a été généré automatiquement.

Autre exemple de source de données :

[
  {
    'id':'nadar',
    'text':'Barrières Nadar non sécuritaire (2,50m)',
    'unit_price_with_intervention':10,
    'unit_price':5
  },
  {
    'id':'chaises',
    'text':'Chaises',
    'unit_price_with_intervention':5,
    'unit_price':3
  },
  {
    'id':'tables_treteaux',
    'text':'Tables tréteaux',
    'unit_price_with_intervention':8,
    'unit_price':5
  }
]

7.2.2. URL du JSON

Si le mécanisme précédent fonctionne bien pour des petites sources de données (liste des localités d’une commune, liste des écoles, etc), il se montrera néanmoins fastidieux à utiliser dans le cas d’une source de données plus grande, comme la liste des rues.

Un JSON est un format de données que l’outil « Source de données » du Téléservices sait intérpréter si on lui spécifie où il est (comprendre: à quelle url). Il suffit donc de lui spécifier quelle est l’url qu’il doit aller consulter.

Ces urls peuvent être issues des modules Agendas ou Services Web.

Vous rencontrez un problème ?

📣 Signaler un problème dans cette page

❓ Consulter la foire aux questions

📝 Ouvrir un ticket sur support.imio.be