Initial commit

**Motivations:**
- Initialisation du versionning git pour le projet

**Root causes:**
- N/A (Nouveau projet)

**Correctifs:**
- N/A

**Evolutions:**
- Structure initiale du projet
- Ajout du .gitignore

**Pages affectées:**
- Tous les fichiers
This commit is contained in:
2026-03-03 22:24:17 +01:00
commit e031c9a1d2
155 changed files with 22334 additions and 0 deletions

33
docs/lint.md Normal file
View File

@@ -0,0 +1,33 @@
# Lint Configuration ESLint
Configuration initialisée selon les règles du projet (Rappel des grandes règles / qualité du code).
## Fichiers
- **package.json** (racine) : scripts `lint`, `lint:web`, `lint:server` ; devDependencies `eslint`, `@eslint/js`, `eslint-plugin-jsdoc`.
- **eslint.config.js** : config plate (ESLint 9) pour `web/js/**/*.js` et `server/**/*.js` (hors `node_modules`).
## Règles activées (résumé)
- **Longueur / complexité** : max 250 lignes/fichier, 40 lignes/fonction, 4 paramètres, profondeur 4, complexité cyclomatique 10 (warn).
- **Non utilisés** : `no-unused-vars` (args/vars/erreurs commençant par `_` ignorés).
- **Égalité** : `eqeqeq` (=== / !==).
- **Variables** : `no-var`, `prefer-const`.
- **Contrôle** : `no-else-return`, `no-continue`, `no-labels`.
- **Console / debug** : `no-console` (warn, allow warn/error), `no-debugger`, `no-alert`.
- **Sécurité** : `no-eval`, `no-implied-eval`, `no-new-func`.
- **JSDoc** : `jsdoc/require-returns`, `jsdoc/check-param-names` (warn).
Règles non disponibles en core ESLint (à appliquer manuellement ou via plugin dédié) : `prefer-nullish-coalescing`, `prefer-optional-chain` (préférer `??` et `?.` selon les règles projet).
## Utilisation
```bash
npm run lint # web/js + server (hors node_modules)
npm run lint:web # web/js uniquement
npm run lint:server # server uniquement
```
## Conformité progressive
Le premier passage sur le dépôt signale des violations existantes (eqeqeq, no-continue, max-lines-per-function, complexity, etc.). Les corriger au fil de leau ou par lot ; ne pas désactiver les règles pour contourner.