summaryrefslogtreecommitdiff
path: root/docs/fr/source/annexe-tech-5-formules.rst
blob: 5fc5452b11e6587536e020c4b23b4f4fb48c049d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
.. -*- coding: utf-8 -*-

.. _annexe-tech-5-formules:

=============================
Annexe technique 5 - Formules
=============================

:Auteurs: Étienne Loks
:Date: 2024-06-05
:Copyright: CC-BY 3.0

----------------------------------


.. _formules-syntaxe-simple:

Syntaxe simple
==============

Cette syntaxe permet d'utiliser directement les variables en utilisant la notation accolade simple ``{}``. Par exemple : ::

   OA-{code_patriarche}

Cette notation se traduira ainsi par des rendus comme : `OA-061234` ou `OA-44789`.


.. _formules-syntaxe-jinja:

Syntaxe Jinja
=============

Cette syntaxe permet de faire des substitutions de manière plus fine qu'avec la syntaxe simple. Cette syntaxe est utilisée systématiquement pour les patrons de document, un sous-ensemble de cette syntaxe (variables et structures conditionnelles) peut-être utilisée optionnellement pour les identifiants personnalisés.

Variables
---------

L'accès aux :ref:`annexe technique 3 - variables <annexe-technique-3-variables>`. se fait par la notation double accolade ``{{ }}``.
Ainsi par exemple, pour accéder aux variables `nom_de_ma_clef_1` et `nom_de_ma_clef_2` : ::

        Je, soussigné, {{nom_de_ma_clef_1}}, vous accorde un prêt de {{nom_ma_clef_2}}.


Conditions
----------

Des structures conditionnelles peuvent être mises en place. Cela permet notamment de tester si une valeur a été renseignée et de permettre de contextualiser l'affichage en fonction de cela. Exemple : ::

        Ce traitement sous
        {% if responsable %}la responsabilité de {{responsable}}
        {% else %}une responsabilité à définir
        {% endif %} se tiendra...

Les structures conditionnelles se structurent autour des mots clés ``if``, ``else`` et ``endif``. On utilise ``{%`` et ``%}`` autour de ces mots clés. La section ``else`` est facultative.


Parcours de liste
-----------------

Certaines clés peuvent parfois renvoyer à des listes d'éléments, chacun ayant des attributs. On peut alors parcourir cette liste d'élément de cette manière : ::

        {% for element in liste_elements %}
           {{element.nom}} - {{element.prenom}}
        {% endfor %}

Cela se structure autour des mots clés ``for``, ``in`` et ``endfor``. Au lieu de doubles accolades, ``{%`` et ``%}`` encadrent ces mots clés.