summaryrefslogtreecommitdiff
path: root/docs/fr/annexe-tech-4-jinja-filters.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/fr/annexe-tech-4-jinja-filters.md')
-rw-r--r--docs/fr/annexe-tech-4-jinja-filters.md126
1 files changed, 126 insertions, 0 deletions
diff --git a/docs/fr/annexe-tech-4-jinja-filters.md b/docs/fr/annexe-tech-4-jinja-filters.md
new file mode 100644
index 000000000..ff1fee616
--- /dev/null
+++ b/docs/fr/annexe-tech-4-jinja-filters.md
@@ -0,0 +1,126 @@
+Annexe technique 4 - Filtres pour les patrons de documents {#annexe-technique-4-jinja-filters}
+==========================================================
+
+Auteurs
+
+: Étienne Loks, Valérie-Emma Leroux
+
+Date
+
+: 2022-03-08
+
+Copyright
+
+: CC-BY 3.0
+
+Ishtar Version
+
+: v3.1.0
+
+------------------------------------------------------------------------
+
+Les patrons de documents permettent d\'utiliser des filtres sur les
+données de la base de données. Cela permet essentiellement de mettre en
+forme les champs. Certains de ces filtres sont directement disponibles
+via la bibliothèque Jinja utilisée dans Ishtar, d\'autres ont été
+développés au sein d\'Ishtar.
+
+Pour utiliser un filtre, à la suite de la variable, il faut utiliser le
+caractère [\|]{.title-ref}, par exemple :
+[{{variable\|capfirst}}]{.title-ref}.
+
+::: {.note}
+::: {.title}
+Note
+:::
+
+Les filtres peuvent se chaîner. On peut donc écrire :
+[{{variable\|human\_date\|capitalize}}.]{.title-ref}
+:::
+
+Pour les différents exemples nous utilisons directement une chaîne de
+caractères pour illustrer, en utilisation réelle on utilise un nom de
+variable.
+
+La bibliothèque logicielle Jinja utilisée pour la génération des patrons
+met à disposition nativement un certain nombre de filtres :
+[documentation des filtres de base
+(anglais)](https://jinja.palletsprojects.com/en/2.11.x/templates/#list-of-builtin-filters).
+
+Ishtar met a disposition des filtres supplémentaires :
+
+Formatage des chaînes de caractères
+-----------------------------------
+
+- **capfirt**
+
+Ce filtre met la première lettre en majuscule et ne touche pas au reste
+de la chaîne.
+
+> - [{{\"saint georges d\'oléron\"\|capfisrt}}]{.title-ref} -\> [Saint
+> georges d\'oléron]{.title-ref}
+
+- **lowerfirst**
+
+Ce filtre met la première lettre en minuscule et ne touche pas au reste
+de la chaîne
+
+> - [{{\"SAINT-GEORGES-D\'OLÉRON\"\|lowerfirst}}]{.title-ref} -\>
+> [sAINT-GEORGES-D\'OLÉRON]{.title-ref}
+
+- **capitalize**
+
+Ce filtre met la première lettre de chaque mot en majuscule et le reste
+de la chaîne en minuscule.
+
+> - [{{\"SAINT-GEORGES-D\'OLÉRON\"\|capitalize}}]{.title-ref} -\>
+> [Saint-Georges-d\'Oléron]{.title-ref}
+
+- **human\_date**
+
+Ce filtre permet d\'afficher une date en toutes lettres.
+
+> - [{{\"2020-03-03\"\|human\_date}}]{.title-ref} -\> [3 mars
+> 2020]{.title-ref}
+
+- **int**
+
+Pour afficher un nombre sans décimales.
+
+> - [{{\"600.0\"\|int}}]{.title-ref} -\> [600]{.title-ref}
+
+Manipulation des chaînes de caractères
+--------------------------------------
+
+- **splitpart**
+
+Ce filtre permet d\'extraire un élément depuis une chaîne de caractères
+en prenant en compte un séparateur. Par exemple depuis la chaîne
+[\"2,3,10\"]{.title-ref}, accéder au troisième élément :
+[\"10\"]{.title-ref}.
+
+Ce filtre nécessite au minimum un argument, le numéro de l\'élément
+souhaité (en commençant le compte à 0) : pour avoir le second élément,
+il faut indiquer en argument [\"1\"]{.title-ref}.
+
+Le second argument correspond à la borne de fin non incluse (en
+commençant le compte à 0) : ainsi pour avoir jusqu\'au deuxième élément
+il faut indiquer en argument [\"2\"]{.title-ref}. Si l\'on ne souhaite
+avoir qu\'un seul élément, on indique [\"0\"]{.title-ref}.
+
+Par défaut le séparateur [\",\"]{.title-ref} est utilisé si l\'on
+souhaite un autre séparateur, on spécifie celui-ci en troisème argument.
+
+On peut associer un dernier argument qui permet de spécifier le(s)
+caractère(s) de concaténation que l\'on souhaite utiliser pour la chaîne
+en retour.
+
+> - [{{\"9,2,10\"\|splitpart(1)}}]{.title-ref} -\> [2]{.title-ref}
+> - [{{\"chaise;bureau;papier;paragraphe\"\|splitpart(0,0,\";\")}}]{.title-ref}
+> -\> [chaise]{.title-ref}
+> - [{{\"182025\_C001\"\|splitpart(1,0,\"\_\")}}]{.title-ref} -\>
+> [C001]{.title-ref}
+> - [{{\"chaise;bureau;papier;paragraphe\"\|splitpart(1,3,\";\")}}]{.title-ref}
+> -\> [bureau;papier]{.title-ref}
+> - [{{\"chaise;bureau;papier;paragraphe\"\|splitpart(1,4,\";\",\"\|\")}}]{.title-ref}
+> -\> [bureau\|papier\|paragraphe]{.title-ref}