# Noms mondiaux de Total.js 5

> Les fonctions et les objets mondiaux de Total.js 5, avec leur but et leurs recettes d'utilisation.

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

Total.js 5 expose des fonctions et des objets mondiaux pour les outils de route, actions, stockage, messagerie et application.

| Nom | Genre | Ce que ça fait | Recette |
|---|---|---|---|
| `ON` | function | Enregistre un écouteur pour un événement de l'application. | [events](/en/total5/events/) |
| `ONCE` | function | Comme `ON`, mais l'écouteur ne s'exécute que pour le premier événement. | [events](/en/total5/events/) |
| `OFF` | function | Supprime un écouteur enregistré avec `ON`. | [events](/en/total5/events/) |
| `EMIT` | function | Émet un événement avec jusqu'à sept arguments. | [events](/en/total5/events/) |
| `LOAD` | function | Charge les fichiers du projet (contrôleurs, définitions...) ; le framework l'appelle pour vous au démarrage. | [load-and-npminstall](/en/total5/load-and-npminstall/) |
| `LOADCONFIG` | function | Analyse un texte au format `config` et l'applique à `CONF`. | [configuration-file](/en/total5/configuration-file/) |
| `LOADRESOURCE` | function | Charge une ressource (un fichier de traduction) depuis un texte ou une URL. | [localization](/en/total5/localization/) |
| `PAUSESERVER` | function | Met en pause ou reprend le serveur par nom : pendant la pause, les requêtes reçoivent une page 503. | [pause-server](/en/total5/pause-server/) |
| `DEBUG` | boolean | `true` en mode debug, `false` en mode release. | [release-mode-and-debugging](/en/total5/release-mode-and-debugging/) |
| `CONF` | object | La configuration de l'application (le fichier `config` et ses valeurs par défaut). | [configuration-file](/en/total5/configuration-file/) |
| `DEF` | object | Gestionnaires et réglages par défaut du framework (`DEF.onMail`, `DEF.helpers`, `DEF.onCSRFcheck`...). | [view-helpers-and-config](/en/total5/view-helpers-and-config/) |
| `F` | object | L'objet du framework. `Total` est le même objet. | [utility-globals](/en/total5/utility-globals/) |
| `Total` | object | L'objet du framework (identique à `F`). `Total.run()` démarre l'application. | [release-mode-and-debugging](/en/total5/release-mode-and-debugging/) |
| `MAIN` | object | Un objet vide que le framework crée pour les données de votre application. | [utility-globals](/en/total5/utility-globals/) |
| `REPO` | object | Un objet vide que le framework crée pour vos propres données. | [utility-globals](/en/total5/utility-globals/) |
| `FUNC` | object | Un objet vide que le framework crée pour vos propres fonctions. | [utility-globals](/en/total5/utility-globals/) |
| `TEMP` | object | Un objet pour les données temporaires ; le framework le remplace de temps en temps par un nouvel objet vide. | [utility-globals](/en/total5/utility-globals/) |
| `NOW` | object | La date actuelle, rafraîchie par le framework une fois par minute et par certains appels comme `CACHE`. | [utility-globals](/en/total5/utility-globals/) |
| `EMPTYARRAY` | object | Un tableau vide figé, pour éviter d'en créer de nouveaux. | [utility-globals](/en/total5/utility-globals/) |
| `EMPTYOBJECT` | object | Un objet vide figé, pour éviter d'en créer de nouveaux. | [utility-globals](/en/total5/utility-globals/) |
| `MODS` | object | Les modules chargés du dossier `modules/`, par identifiant. | [utility-globals](/en/total5/utility-globals/) |
| `PLUGINS` | object | Les plugins chargés du dossier `plugins/`, par identifiant. | [utility-globals](/en/total5/utility-globals/) |
| `NOOP` | function | Une fonction qui ne fait rien. | [utility-globals](/en/total5/utility-globals/) |
| `print` | function | Identique à `console.log`. | [utility-globals](/en/total5/utility-globals/) |
| `REQUIRE` | function | Comme `require`, mais cherche aussi dans le dossier `node_modules` de l'application et accepte les noms `node:`. | [utility-globals](/en/total5/utility-globals/) |

## Routage, actions et middleware

| Nom | Genre | Ce que ça fait | Recette |
|---|---|---|---|
| `ROUTE` | function | Déclare une route (HTTP, `SOCKET`, `FILE`, `API` ou une route de repli comme `#404`). | [http-methods](/en/total5/http-methods/) |
| `NEWACTION` | function | Déclare une action avec son entrée, params, query, sortie et permissions. | [actions-crud](/en/total5/actions-crud/) |
| `NEWSCHEMA` | function | Regroupe les actions d'une entité sous un nom. | [schemas](/en/total5/schemas/) |
| `ACTION` | function | Exécute une action depuis votre propre code. | [calling-actions-from-code](/en/total5/calling-actions-from-code/) |
| `EXEC` | function | La même fonction que `ACTION`. | [calling-actions-from-code](/en/total5/calling-actions-from-code/) |
| `NEWTRANSFORM` | function | Ajoute une étape à une chaîne de transformations nommée. | [transforms](/en/total5/transforms/) |
| `TRANSFORM` | function | Fait passer une valeur par une chaîne de transformations. | [transforms](/en/total5/transforms/) |
| `MIDDLEWARE` | function | Enregistre un middleware à utiliser dans les routes avec `#name`. | [middleware](/en/total5/middleware/) |
| `NEWMIDDLEWARE` | function | La même fonction que `MIDDLEWARE`. | [middleware](/en/total5/middleware/) |
| `PROXY` | function | Redirige les requêtes sous un préfixe d'URL vers un autre serveur. | [proxy](/en/total5/proxy/) |
| `CORS` | function | Définit les origines autorisées à appeler l'application depuis un navigateur. | [cors](/en/total5/cors/) |
| `ErrorBuilder` | function | La classe qui collecte les erreurs de validation. | [errors-and-audit](/en/total5/errors-and-audit/) |
| `SUCCESS` | function | Renvoie l'objet que le framework envoie pour une opération réussie (`{ success: true, value: value }`). | [errors-and-audit](/en/total5/errors-and-audit/) |
| `ERROR` | function | `ERROR(name)` renvoie un callback qui journalise l'erreur reçue sous ce nom ; `ERROR()` renvoie le callback d'erreur par défaut. | [errors-and-audit](/en/total5/errors-and-audit/) |
| `UNAUTHORIZED` | function | `UNAUTHORIZED($, ...permissions)` répond 401 et renvoie `true` quand l'utilisateur n'a aucune des permissions ; il renvoie `false` quand l'utilisateur en a une ou est super administrateur. | [action-user-and-permissions](/en/total5/action-user-and-permissions/) |
| `AUTH` | function | Authentifie chaque requête : une fonction, ou les options des sessions intégrées. | [sessions-with-built-in-auth](/en/total5/sessions-with-built-in-auth/) |
| `BLOCKED` | function | Compte les appels d'une adresse IP et indique quand elle a atteint la limite. | [rate-limiting](/en/total5/rate-limiting/) |
| `AUDIT` | function | Ajoute une entrée d'audit (utilisateur, message et type) à un fichier journal dans `logs/`. | [errors-and-audit](/en/total5/errors-and-audit/) |

## Données et cache

| Nom | Genre | Ce que ça fait | Recette |
|---|---|---|---|
| `NOSQL` | function | Ouvre une table de la base NoSQL intégrée. | [nosql-crud](/en/total5/nosql-crud/) |
| `DATA` | object | Point d'entrée indépendant de la base de données vers le query builder. | [data-api](/en/total5/data-api/) |
| `DB` | function | Démarre une requête avec le query builder (`DB().find('table').where(...).callback($)`) ; la requête est exécutée par le pilote enregistré avec `NEWDB`. | [query-builder-db](/en/total5/query-builder-db/) |
| `NEWDB` | function | Enregistre un pilote de base de données `function(options, callback)` pour le query builder : celui par défaut, ou un pilote nommé avec `NEWDB('name', fn)`. | [query-builder-db](/en/total5/query-builder-db/) |
| `CACHE` | object | Un stockage en mémoire avec expiration. | [cache](/en/total5/cache/) |
| `FILECACHE` | function | Calcule un résultat une fois et le garde dans un fichier un certain temps. | [filecache](/en/total5/filecache/) |
| `MEMORIZE` | function | Un objet JSON enregistré sur disque. | [memorize](/en/total5/memorize/) |
| `FILESTORAGE` | function | Un stockage pour les fichiers téléversés. | [filestorage](/en/total5/filestorage/) |

## Clients HTTP, WebSocket et messagerie

| Nom | Genre | Ce que ça fait | Recette |
|---|---|---|---|
| `REQUEST` | function | Client HTTP de bas niveau. | [request-and-download](/en/total5/request-and-download/) |
| `DOWNLOAD` | function | Enregistre la réponse d'une URL dans un fichier. | [request-and-download](/en/total5/request-and-download/) |
| `RESTBuilder` | function | Constructeur d'appels vers d'autres API HTTP. | [restbuilder](/en/total5/restbuilder/) |
| `AJAX` | function | `AJAX('METHOD /url/', data, callback)` envoie une requête avec l'en-tête `x-requested-with` et renvoie le corps analysé ; renvoie une promesse quand il n'y a pas de callback. | [ajax-requests](/en/total5/ajax-requests/) |
| `API` | function | Appelle une opération d'un service externe via son pilote : `API('service', 'operation', data).callback($)`. | [api-drivers](/en/total5/api-drivers/) |
| `NEWAPI` | function | Enregistre le pilote `function(options, next)` d'un service pour `API`, avec une configuration optionnelle. | [api-drivers](/en/total5/api-drivers/) |
| `TotalAPI` | function | Appelle un service de la plateforme Total.js avec `API('TAPI', name, model)`. | [remote-service-boundaries](/en/total5/remote-service-boundaries/) |
| `WEBSOCKETCLIENT` | function | Un client WebSocket pour votre application. | [websocket-client](/en/total5/websocket-client/) |
| `TMSCLIENT` | function | Un client du Total Messaging Service. | [tms](/en/total5/tms/) |
| `PUBLISH` | function | Envoie un message aux clients TMS qui y sont abonnés. | [tms](/en/total5/tms/) |
| `NEWPUBLISH` | function | Déclare un message que l'application publie. | [tms](/en/total5/tms/) |
| `SUBSCRIBE` | function | Ajoute un écouteur pour un message que les clients envoient à l'application. | [tms](/en/total5/tms/) |
| `UNSUBSCRIBE` | function | Supprime les écouteurs d'un message TMS. | [tms](/en/total5/tms/) |
| `NEWSUBSCRIBE` | function | Déclare un message que l'application reçoit. | [tms](/en/total5/tms/) |
| `NEWCALL` | function | Déclare une fonction que les clients TMS peuvent appeler. | [tms](/en/total5/tms/) |
| `OPENCLIENT` | function | Se connecte à OpenPlatform par WebSocket pour les appels distants, les événements et les connexions partagées. | [openclient-protocol](/en/total5/openclient-protocol/) |
| `PROXYCLIENT` | function | Se connecte à un `PROXYSERVER` par WebSocket et répond à ses requêtes avec un serveur local (un port ou `ip:port`). | [proxy-tunnel](/en/total5/proxy-tunnel/) |
| `PROXYSERVER` | function | Transforme l'application en serveur de tunnel : les requêtes HTTP d'un endpoint sont envoyées par une route WebSocket à un `PROXYCLIENT`. | [proxy-tunnel](/en/total5/proxy-tunnel/) |
| `LDAP` | function | Se connecte à un serveur LDAP (port 389 sauf si `ldap.port` indique autre chose) et rappelle avec le résultat. | [ldap-openldap](/en/total5/ldap-openldap/) |
| `MAIL` | function | Envoie un courriel dont le corps est une vue. | [send-email](/en/total5/send-email/) |
| `HTMLMAIL` | function | Envoie un courriel dont le corps est une chaîne HTML. | [send-email](/en/total5/send-email/) |
| `LOGMAIL` | function | Envoie un e-mail dont le corps est un texte imprimé dans un bloc `<pre>` (passez le corps sous forme de texte). | [logmail](/en/total5/logmail/) |
| `Mail` | object | La classe derrière l'envoi de courriels (SMTP). | [send-email](/en/total5/send-email/) |
| `AIMODEL` | function | Démarre une requête vers un modèle de langage enregistré avec `NEWAIMODEL` : `AIMODEL('name').user('text').callback($.callback())`. | [ai-models](/en/total5/ai-models/) |
| `AIPARSER` | function | Crée un analyseur pour la réponse en flux d'un fournisseur d'IA (`openai`, `claude`...) : `write()` reçoit des morceaux et `end()` renvoie le contenu, la réflexion et les appels d'outils. | [ai-models](/en/total5/ai-models/) |
| `NEWAIMODEL` | function | Enregistre le pilote `function(ai, done)` d'un ou plusieurs modèles d'IA pour `AIMODEL`, avec une configuration optionnelle. | [ai-models](/en/total5/ai-models/) |
| `PYPELINE` | function | Exécute depuis l'application un fichier Python du dossier `pypelines/` (ou du code Python en ligne) et dialogue avec lui par des trames JSON sur un socket. | [pypeline](/en/total5/pypeline/) |

## Fichiers, système et workers

| Nom | Genre | Ce que ça fait | Recette |
|---|---|---|---|
| `PATH` | object | Utilitaires qui construisent des chemins dans les dossiers du projet (`PATH.root()`, `PATH.public()`, `PATH.tmp()`...). | [file-download](/en/total5/file-download/) |
| `MERGE` | function | Enregistre un fichier virtuel composé de plusieurs fichiers, minifié. | [minification](/en/total5/minification/) |
| `TOUCH` | function | Efface les entrées en cache minifiées, temporaires et introuvables d'une URL, ou de toutes. | [touch-static-cache](/en/total5/touch-static-cache/) |
| `CLEANUP` | function | Détruit un flux quand il est terminé. | [cleanup-streams](/en/total5/cleanup-streams/) |
| `BACKUP` | function | Compresse un répertoire en un seul fichier. | [backup-restore-shell](/en/total5/backup-restore-shell/) |
| `RESTORE` | function | Décompresse un fichier créé avec `BACKUP`. | [backup-restore-shell](/en/total5/backup-restore-shell/) |
| `SHELL` | function | Exécute une commande shell dans le dossier du projet. | [backup-restore-shell](/en/total5/backup-restore-shell/) |
| `NPMINSTALL` | function | Installe un paquet npm dans le dossier des modules de l'application. | [load-and-npminstall](/en/total5/load-and-npminstall/) |
| `IMPORT` | function | Télécharge un fichier JavaScript depuis une URL et le charge. | [import-remote-module](/en/total5/import-remote-module/) |
| `Image` | object | Traitement d'images avec GraphicsMagick ou ImageMagick. | [images](/en/total5/images/) |
| `NEWTHREAD` | function | Démarre un worker thread. | [workers-and-threads](/en/total5/workers-and-threads/) |
| `NEWFORK` | function | Démarre un processus enfant. | [workers-and-threads](/en/total5/workers-and-threads/) |
| `NEWTHREADPOOL` | function | Crée un groupe de workers que les tâches empruntent une à une. | [thread-pool](/en/total5/thread-pool/) |
| `CRON` | function | Exécute une fonction selon un planning. | [cron-jobs](/en/total5/cron-jobs/) |
| `setTimeout2` | function | `setTimeout` avec un identifiant : l'appeler de nouveau avec le même identifiant remplace le minuteur précédent. | [debounce-timers](/en/total5/debounce-timers/) |
| `clearTimeout2` | function | Annule un minuteur créé avec `setTimeout2`. | [debounce-timers](/en/total5/debounce-timers/) |
| `Flow` | object | Le gestionnaire des FlowStreams de l'application : `Flow.load(schema)`, `Flow.remove(id)`, `Flow.instances` et `Flow.test()` pour un composant. | [flowstream](/en/total5/flowstream/), [flowstream-component-test](/en/total5/flowstream-component-test/) |
| `FlowStream` | object | Le même objet que `Flow`. | [flowstream](/en/total5/flowstream/) |
| `NEWMACRO` | function | Compile une macro à partir d'une chaîne. | [macros](/en/total5/macros/) |
| `NEWCOMPONENT` | function | Compile le HTML d'un composant. | [native-components](/en/total5/native-components/) |
| `COMPONENTATOR` | function | Télécharge un bundle Componentator dans `public/` sous le nom `ui-<name>-<hash>.min.js` et enregistre son adresse dans `F.repo[name]`. | [remote-service-boundaries](/en/total5/remote-service-boundaries/) |

## Utilitaires, modèles et localisation

| Nom | Genre | Ce que ça fait | Recette |
|---|---|---|---|
| `U` | object | L'objet utilitaire du framework (`U.extend()`, `U.clone()`...). | [utilities](/en/total5/utilities/) |
| `Utils` | object | Le même objet que `U`. | [utilities](/en/total5/utilities/) |
| `UID` | function | Crée un identifiant unique court trié par date. | [unique-ids-and-hashes](/en/total5/unique-ids-and-hashes/) |
| `GUID` | function | Crée une chaîne aléatoire de la longueur donnée. | [unique-ids-and-hashes](/en/total5/unique-ids-and-hashes/) |
| `HASH` | function | Renvoie un hachage numérique rapide (pas pour les mots de passe). | [unique-ids-and-hashes](/en/total5/unique-ids-and-hashes/) |
| `CLONE` | function | Fait une copie profonde d'un objet. | [utility-globals](/en/total5/utility-globals/) |
| `COPY` | function | Copie les propriétés du premier objet dans le second et renvoie le second. | [utility-globals](/en/total5/utility-globals/) |
| `DIFFARR` | function | Compare deux tableaux d'objets selon une propriété et renvoie les objets à ajouter, les paires à mettre à jour et les valeurs à supprimer. | [diffarr-sync-lists](/en/total5/diffarr-sync-lists/) |
| `QUERIFY` | function | Construit une URL avec chaîne de requête à partir d'un objet. | [utility-globals](/en/total5/utility-globals/) |
| `PROMISIFY` | function | `PROMISIFY(fn, a, b, c)` appelle une fonction qui prend un callback en dernier argument et renvoie une promesse. | [utility-globals](/en/total5/utility-globals/) |
| `ENCRYPT` | function | Transforme une valeur en jeton opaque. | [encrypt-and-decrypt](/en/total5/encrypt-and-decrypt/) |
| `DECRYPT` | function | Lit une valeur d'un jeton créé avec `ENCRYPT`. | [encrypt-and-decrypt](/en/total5/encrypt-and-decrypt/) |
| `ENCRYPTREQ` | function | Chiffre une valeur avec l'user agent d'une requête (et son adresse IP en mode strict). | [request-bound-tokens](/en/total5/request-bound-tokens/) |
| `DECRYPTREQ` | function | Lit une valeur créée avec `ENCRYPTREQ` ; ne renvoie rien quand la requête ne correspond pas. | [request-bound-tokens](/en/total5/request-bound-tokens/) |
| `LOCALIZE` | function | Choisit la langue de chaque requête. | [localization](/en/total5/localization/) |
| `TRANSLATE` | function | Traduit les textes `@(...)` d'une chaîne dans une langue. | [localization](/en/total5/localization/) |
| `Tangular` | object | Le moteur de modèles (`Tangular.render()`). | [tangular-templates](/en/total5/tangular-templates/) |
| `Ta` | object | Un autre nom de `Tangular`, le moteur de modèles. | [template-files](/en/total5/template-files/) |
| `Thelpers` | object | Les fonctions utilitaires disponibles dans les modèles Tangular. | [tangular-templates](/en/total5/tangular-templates/) |
| `TEMPLATE` | function | Rend un modèle Tangular qui est un texte, un fichier du dossier `templates` ou une URL, et renvoie une promesse avec le texte. | [template-files](/en/total5/template-files/) |

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

function globals($) {
	var output = {};
	for (var name of Object.getOwnPropertyNames(globalThis)) {
		var value;
		try {
			value = globalThis[name];
		} catch (e) {
			value = undefined;
		}
		output[name] = typeof(value) === 'function' ? 'function' : value === null ? 'null' : typeof(value);
	}
	$.json(output);
}
```
