Passer au contenu principal

Principes fondamentaux de Jinja

Structure de base

Jinja fonctionne en combinant du texte statique avec des éléments dynamiques délimités par des syntaxes spécifiques :
DélimiteurFonctionExemple
{{ ... }}Insertion de variablesBonjour {{ client.nom }}
{% ... %}Instructions logiques{% if heure > 18 %}Bonsoir{% else %}Bonjour{% endif %}
{# ... #}Commentaires (non rendus){# Ce texte n'apparaît pas dans le prompt final #}

Types de variables

Les variables peuvent contenir différents types de données :
{# Variables simples #}
{{ nom_client }}         {# Chaîne de caractères #}
{{ age_client }}         {# Nombre #}
{{ est_premium }}        {# Booléen #}

{# Variables structurées #}
{{ client.adresse.ville }}        {# Accès à des propriétés imbriquées #}
{{ client['adresse']['ville'] }}  {# Accès à des propriétés imbriquées #}
{{ produits[0].nom }}             {# Accès à des éléments de liste #}

Conditions (if/elif/else)

Les conditions permettent d’adapter le prompt selon différents contextes :
{% if system.phone is defined %}
   Vous me confirmer que votre numéro est bien le {{ system.phone }} ?
{% else %}
   Pouvez vous me donner votre numéro ?
{% endif %}
Utilisez des conditions imbriquées pour gérer des scénarios complexes, mais maintenez une structure lisible pour faciliter la maintenance.

Ressources complémentaires

Documentation Jinja

Pour une documentation complète sur la syntaxe Jinja, référez-vous à la documentation.