# Personnalisation via code interne

Dans enFact il y a quelques modèles standards disponibles. Si vous souhaitez modifier le code interne de l'un de ces modèles, une copie de l'original est réalisée afin que vous puissiez créer votre propre version.&#x20;

Les modèles dans enFact sont programmés dans les langages de programmation HTML, CSS et Smarty. Le code des modèles est éditable dans chaque compte enFact. Vous pouvez le modifier si vous disposez des connaissances nécessaires dans votre entreprise (ou chez un tiers).

Quelques exemples :&#x20;

* Insérer des informations supplémentaires sur l'entreprise dans les documents, par exemple un numéro d'agrément
* Ajouter un pied de page
* Ajouter un logo de marque d'inspection au bas des documents
* Petite repositionnement des éléments

## Construction du modèle&#x20;

Les documents enFact sont créés sont créés en temps réel sur la base des différents paramètres et paramètres applicables. La mise en page est nettement plus performant que celui des prgrammes comme Word, car le contenu est différent pour chaque document et souvent même variable en fonction de la situation.&#x20;

Un modèle se compose d'une "disposition" générale qui contient les informations relatives à l'entreprise, ainsi que des en-têtes et des pieds de page. Cette disposition contient un code spécifique qui est différent pour chaque type de document d'enFact. Le code complet est construit selon un format particulier un format distinctif qui permet de combiner des éléments de différents modèles, par exemple: "code disposition + code facture", "code disposition + code confirmation de commande", "code disposition + ordre d'achat", etc.

Un exemple d'une séquence de code :

![](/files/-Mk7ZGb0VCsG03n_RJR7)

Un exemple d'une séquence de code pour des informations sur un document (dans ce cas la facture) :

![](/files/-Mk7ZOaPXkahDPUsuFpv)

{% hint style="info" %}
Tous les codes HTML et CSS seront convertis en un document PDF. Comme il existe de nombreuses versions de navigateurs, il est possible que le PDF résultant de vos séquences de code soit légèrement différent de ce que votre navigateur affiche, mais la différence sera très minime.&#x20;
{% endhint %}

## Éléments Smarty&#x20;

enFact utilise des éléments Smarty pour inclure des zones-de-substitution dans le code. Ces zones seront remplacés par des données que vous avez saisies dans enFact (par exemple : les coordonnées de votre entreprise).&#x20;

Le morceau de code suivant pourrait ressembler à ceci sur un document :

Portable: 0497 12 34 56\
<support@enfact.be>\
[www.enfact.be](http://www.enfact.be)

```markup
Portable: {$company["gsm"]} 
{$company["email"]}
{$company["website"]}
```

Chaque élément Smarty entre accolades est remplacé par une valeur. Un élément Smarty se compose toujours d'accolades : { et } et d'un signe dollar : $. Si vous placez du texte entre accolades, l'application le reconnaîtra comme du code à remplacer par des données provenant de votre saisie.&#x20;

{% hint style="info" %}
Veuillez noter que Smarty est sensible aux majuscules et aux minuscules. Ainsi, l'élément {$email} ne prendra pas la même valeur que {$EMAIL}.&#x20;
{% endhint %}

Vous pouvez utiliser Smarty de plusieurs façons, par exemple dans une phrase complète comme on en trouve parfois dans un message de confirmation :&#x20;

*"Cher **{$firstname},** merci de vous être inscrit à **{$companyname}**".*&#x20;

Lorsque le document est affiché, le message suivant apparaît :&#x20;

*"Cher **Charles**, merci de vous être inscrit à **enFact.**"*


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://support.enfact.be/modeles/personnalisation-via-lediteur-visuel/personnalisation-via-code-interne.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
