# Le style de code de Total.js : noms, fichiers, CSS, SQL et composants

> Les conventions de la communauté Total.js pour JavaScript, les noms, les schémas, require(), le CSS, les plugins et composants jComponent, les scripts SQL et les dossiers, pour que tous les projets se lisent de la même façon et qu’une équipe ou un assistant IA puisse les poursuivre.

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

Les projets Total.js partagent un même style, et c’est une force : vous en ouvrez un et vous savez où sont les choses et comment elles sont écrites. Cette page réunit au même endroit les conventions des [Total.js guidelines](https://github.com/totaljs-es/guidelines) (la révision consultée est indiquée dans [ai-sources.json](/ai-sources.json)). Suivez d’abord le style du projet sur lequel vous travaillez ; ce sont les règles par défaut pour du code nouveau. Pour le côté framework, lisez les [conventions de Total.js 5 pour les assistants de code](/en/docs/totaljs-agent-conventions/).

## JavaScript

- **Fichiers :** noms en minuscules, avec des tirets au lieu de tirets bas (`user-profile.js`).
- **Mise en forme :** tabulations (largeur 4), pas d’espaces superflus et un point-virgule à la fin de chaque instruction.
- **Chaînes :** guillemets simples pour les chaînes courtes.
- **Variables :** utilisez `var` ou `let` dans les méthodes et gardez `const` pour le haut d’un module.
- **Boucles :** une boucle `for` classique est préférée à `forEach()` quand elle convient.
- **Dépendances :** gardez-les au minimum et suivez le code existant.

## Des noms qui voyagent d’un projet à l’autre

Utilisez partout le même nom pour la même chose, afin que le code puisse passer d’un projet à l’autre et se lire d’un coup d’œil :

| Nom | Usage |
|---|---|
| `id`, `name`, `value`, `email` | l’identifiant, le nom, la valeur et l’e-mail habituels |
| `items` or `arr`, `item` | une liste et l’un de ses éléments |
| `tmp` | une valeur temporaire |
| `dtcreated`, `dtupdated` | dates de création et de mise à jour |

Les **schémas** ont un nom au pluriel qui commence par une majuscule (`Contacts`), et les identifiants se créent avec `UID()`.

## Utiliser require()

En haut d’un module, utilisez `const` et commencez le nom de la variable par une majuscule : `const Fs = require('fs');`.

## CSS

- Noms de fichiers en minuscules avec des tirets.
- Écrivez chaque règle de style sur une seule ligne.
- N’écrivez pas les préfixes de navigateur à la main : ajoutez le commentaire `/*auto*/` et Total.js préfixe les règles pour vous.
- Guillemets simples, et CSS simple plutôt que LESS ou SASS.

## Plugins et composants (jComponent)

- Noms en minuscules pour les plugins, les composants et les entrées de `FUNC.`, `MAIN.` et `REPO.`, ainsi que pour les variables.
- Évitez les tirets bas quand vous le pouvez et limitez l’imbrication à deux ou trois niveaux.
- Un plugin s’écrit avec `exports.` ; un composant utilise `self`, `config` et `cls`.
- Concevez pour la réutilisation.

## Scripts SQL

- Noms de tables et de champs en minuscules, tabulations pour l’indentation et point-virgule à la fin de chaque instruction.
- Supprimez les conversions de type inutiles, formatez le script et gardez les tables, les vues, les procédures ou fonctions et les index dans des scripts séparés.

| Préfixe | Pour |
|---|---|
| `tbl_` | tables, avec le nom au singulier |
| `cl_` | listes de codes |
| `view_` | vues |
| `sp_` | procédures stockées |
| `fn_` | fonctions |

Dans les champs, `dt` commence une date, `is` un booléen, les clés suivent le modèle `id` ou `userid`, et on utilise `text` au lieu de `varchar`. Utilisez `id`, `name` et `dtcreated` là où ils conviennent, et ordonnez les colonnes ainsi : identifiants, champs principaux, nombres, booléens et dates, avec les contraintes de clé étrangère à la fin.

## Dossiers

Placez les images dans `/img/`, les scripts dans `/js/`, les styles dans `/css/`, les polices dans `/fonts/` et les vidéos dans `/videos/`, et nommez les fichiers avec des tirets.

## Pourquoi cela aide

Un style partagé rend un projet facile à transmettre, à relire et à étendre, et donne à un assistant IA un modèle clair à suivre. Donnez cette page à votre assistant avec les [conventions de Total.js 5 pour les assistants de code](/en/docs/totaljs-agent-conventions/) et son code s’accordera avec le reste de votre application.
