# Les clés de configuration de Total.js 5

> Configurez Total.js 5 via CONF: paramètres d'application, réponses HTTP, défauts de courrier électronique et de temps de fonctionnement.

Framework: total5
Product: Total.js 5 (total5@0.0.19)
Language: fr
Content-SHA256: f0dafe835093c1d42f0e77cf5f6b18c4d75b1559a2ad0f209f50dc4f584fff3a
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: total5-installed@total5@0.0.19
Review: not-recorded

Le fichier `config` possède un paramètre `key : value` par ligne et les valeurs sont disponibles dans l'objet global `CONF` (voir la recette de configuration pour le format de fichier). Les clés ci-dessous sont définis par `total5` 0.0.19 avec ces défauts; une clé qui n'est pas ici et non dans la deuxième table est votre. **Les clés qui commencent avec `$` sont des paramètres du cadre** et les clés `secret_` gardent des secrets.

Définissez les valeurs d'application dans le fichier de configuration et lisez-les via CONF. La table donne les défauts et le but de chaque paramètre.

| Clé | Par défaut | Note |
|---|---|---|
| `name` | `'Total.js'` | Le nom de l'application. Dans une vue, `@{'%name'}` l'affiche. |
| `version` | `'1.0.0'` | La version d'application utilisée dans la sortie de démarrage, les statistiques et le suffix HTTP par défaut (index.js). |
| `author` | `''` | L'auteur de l'application affiché par le start-up imprint quand nonempty (index.js). |
| `secret` | `F.syshash` | Mettez explicitement le secret de l'application dans la configuration. |
| `secret_encryption` | `''` | La lecture clé par des itinéraires cryptés WebSocket; cela se distingue d'une option de métadonnées cryptées d'action (websocket.js). |
| `secret_totalapi` | `''` | Le token Fallback est envoyé par le pilote intégré TotalAPI (api.js); gardez le côté du serveur. |
| `secret_csrf` | `''` | Le secret des jetons CSRF. Vide : la vérification réussit toujours. |
| `secret_tms` | `''` | Le jeton que les clients TMS doivent envoyer dans l'en-tête `x-token`. |
| `$root` | `''` | URL préfixe appliquée à la route et les voies d'actifs; ajuste également le point de fin API par défaut (routing.js, index.js). |
| `$cors` | `''` | Noms d'hôte séparés par des virgules. |
| `$api` | `'/api/'` | Un point d'accès d'API par défaut. |
| `$sourcemap` | `true` | La configuration des métadonnées de chargement; LOAD la définit à partir du mode DEBUG final ou l'interdit pour les charges de ressources sélectives (index.js). |
| `$httpreqlimit` | `0` | Limite de requêtes par IP. |
| `$httpcompress` | `true` | Il permet de négocier des réponses éligibles; la voie de réponse dynamique vérifie un seuil de 256 bits (controller.js). |
| `$httpetag` | `''` | Il suffit pour les ETags générés par le cadre; lorsque la configuration est vide, elle découle de la version d'application (index.js, controller.js). |
| `$httpmaxsize` | `256` | Ko. |
| `$httprangebuffer` | `5120` | 5 Mo. |
| `$httptimeout` | `5` | 5 secondes. |
| `$httpfiles` | `an object` | Les extensions de fichiers qui sont utilisées comme des fichières statiques, comme un objet `{ extension: true }`. |
| `$httpchecktypes` | `true` | Pour les données multipart uniquement. |
| `$httpmaxage` | `60` | En secondes. |
| `$httpmaxkeys` | `33` | Le nombre maximum de clés parsés (utils.js); pas un champ de corps JSON. |
| `$httpmaxkey` | `25` | La longueur maximale de la clé d'enquête utilisée par le parséron (utils.js). |
| `$httpcacheoffset` | `''` | Par ex. 1 minute. |
| `$blacklist` | `''` | HTTP/WebSocket demande de traitement des tests si la valeur configurée contient l'IP client (http.js, websocket.js). |
| `$xpoweredby` | `'Total.js'` | Valeur de l'encadrement de réponse généré X-Powered-By; vide le supprime dans les voies de réponse inspectées (controller.js). |
| `$minifyjs` | `true` | Minifie les fichiers JavaScript servis. |
| `$minifycss` | `true` | Minifie les fichiers CSS servis. |
| `$minifyhtml` | `true` | Minifie le HTML envoyé. |
| `$port` | `'auto'` | Le port d'écoute HTTP; auto est résolu à la démarche, et les options Total.run peuvent le surcharger (index.js). |
| `$ip` | `'0.0.0.0'` | L’adresse d’écoute HTTP ; les options Total.run peuvent l’exclure (index.js). |
| `$unixsocket` | `''` | Poutine d'écoute de socket alternative (index.js).Les permis de sockets et les paramètres de proxy revers sont des problèmes de déploiement. |
| `$timezone` | `'utc'` | Le fuseau horaire du processus (défini dans `process.env.TZ`). |
| `$insecure` | `false` | La configuration définit l'environnement de vérification TLS de ce drapeau (index.js). |
| `$performance` | `false` | Ajuste l'agent HTTP des sockets maximaux et du tuning de socket (index.js); il n'est pas une preuve d'une vitesse d'application. |
| `$filtererrors` | `true` | Supprime les modèles d'erreur de fonctionnement correspondants dans le loger d' erreur du cadre (index.js). |
| `$cleartemp` | `true` | Contrôle la suppression de fichiers générés/temp sélectionnés par la routine claire (index.js). |
| `$customtitles` | `false` | Lorsqu'il est faux, le générateur de métadonnées d'affichage applique le nom de l'application à un titre de page non-home (viewengine.js). |
| `$clearcache` | `10` | Intervalle de service pour réinstaller les cache internes de recherche/view/template/quête-constructeur (index.js). |
| `$imageconverter` | `'gm'` | Le programme qu'appelle `Image` : `gm`, `im` ou `magick`. |
| `$imagememory` | `0` | Désactivé car, par exemple, GM v1.3.32 lève une erreur de mémoire. |
| `$stats` | `true` | Contrôler les statistiques de sortie/actualisation branche; la charge sélective peut être désactivé (index.js). |
| `$npmcache` | `'/var/www/.npm'` | L'emplacement de cache Npm passé par NPMINSTALL pour la branche d'exécution uid-33 (index.js). |
| `$python` | `'python3'` | Commandement d'interprète utilisé par Python exécution et pip assistants (index.js); installer Python séparément. |
| `$wsmaxsize` | `256` | Ko. |
| `$wscompress` | `true` | Il permet la négociation de WebSocket permission-deflate sur les connexions du serveur (websocket.js). |
| `$wsencodedecode` | `false` | Définition de codage/décode du serveur initial WebSocket (websocket.js); vérifier le format de fil requis avant de le modifier. |
| `$wsmaxlatency` | `2000` | Le seuil de l'atténuation en milliseconds utilisé par les contrôles de connexion WebSocket (websocket.js). |
| `$proxytimeout` | `5` | 5 secondes. |
| `$cookiesamesite` | `'Lax'` | Politique de cookie de la page SameSite lorsque un cookie ne spécifie pas un (controller.js). |
| `$cookiesecure` | `false` | Le cookie sécurisé par défaut est attribué lorsque aucun surride de cookie n’est fourni (controller.js). |
| `$csrfexpiration` | `'30 minutes'` | Durée de validité d'un jeton CSRF. |
| `$tapi` | `true` | Permet le pilote de service TotalAPI intégré; l'opération de contrôle spéciale passe par cette porte locale (api.js). |
| `$tapiurl` | `'eu'` | Le prénom d'hébergement régional utilisé par le pilote TotalAPI (api.js). |
| `$tapimail` | `false` | Sélectionnez la voie de messagerie TotalAPI lorsque la fonctionnalité TotalAPI est activée (mail.js). |
| `$tapilogger` | `false` | Permet le chemin de loger TotalAPI lorsque l'accès au service et son secret sont configurés (index.js). |
| `$imprint` | `true` | Il est possible d’utiliser le banner de démarrage (index.js). |
| `$tms` | `false` | Active le point d'accès WebSocket de TMS. |
| `$tmsmaxsize` | `256` | La taille maximale d'un message TMS, en ko. |
| `$tmsurl` | `'/$tms/'` | L'URL du point d'accès TMS. |
| `$tmsclearblocked` | `60` | En minutes. |
| `$total5` | défini au démarrage | Le dossier du paquet `total5` (le framework y lit ses propres fichiers). |
| `$nodemodules` | défini au démarrage | Le dossier où `NPMINSTALL()` installe les paquets. |
| `secret_uid` | Démarrer à | L'entrée secrète utilisée par l'utilité d'identificateur crypté ; initialisée du système hash (index.js, utils.js). |
| `$cryptoiv` | Démarrer à | Initialisation-vecteur buffer utilisé par les assistants de cryptage cadre; initialisé à la startup (index.js, utils.js). |
| `$httpexpire` | Démarrer à | La date d'expiration future de l'UTC HTTP initialisée et régulièrement renouvelée par le cadre (index.js, controller.js). |

Ces clés n'ont pas de valeur par défaut. Elles configurent l'envoi de courriels et sont utilisées par `MAIL()` et `HTMLMAIL()` (voir la recette sur le courriel) :

| Clé | Signification |
|---|---|
| `mail_smtp` | L'adresse du serveur SMTP. |
| `mail_smtp_options` | Un objet avec le reste des réglages de connexion : `port`, `user`, `password`, `secure`... |
| `mail_from` | L'adresse de l'expéditeur. |
| `mail_from_name` | Le nom de l'expéditeur. |
| `mail_reply` | L'adresse qui reçoit les réponses, ajoutée à chaque message. |
| `mail_cc` | Une adresse en copie, ajoutée à chaque message. |
| `mail_bcc` | Une adresse en copie cachée, ajoutée à chaque message. |

```js controllers/config.js
exports.install = function() {
	ROUTE('GET /config/', config);
};

function config($) {
	$.json({ conf: CONF });
}
```
