# Deux Torrents - WordPress Theme

Thème WordPress pour le site Deruaz-Goutard Thônes avec système de build Gulp.

## Prérequis

- **Node.js v10.24.1** (obligatoire pour la compatibilité avec Gulp 3)
- **nvm** (Node Version Manager) recommandé pour gérer les versions de Node.js
- **npm** v6.14.12 (inclus avec Node.js v10.24.1)

## Installation

### 1. Installer la bonne version de Node.js

```bash
# Installer Node.js v10.24.1 si nécessaire
nvm install 10.24.1

# Utiliser Node.js v10.24.1 (automatique avec .nvmrc)
nvm use
```

### 2. Installer les dépendances

```bash
npm install
```

## Utilisation

### Build complet

Compile les styles SCSS et minifie les scripts JavaScript :

```bash
npm run build
# ou
npx gulp
```

### Mode développement (watch)

Surveille les changements dans les fichiers source et recompile automatiquement :

```bash
npm run watch
# ou
npx gulp serve
```

### Nettoyer le dossier de distribution

```bash
npm run clean
# ou
npx gulp clean
```

## Structure du projet

```
.
├── src/                    # Fichiers sources
│   ├── styles/            # Fichiers SCSS
│   │   └── main.scss
│   └── scripts/           # Fichiers JavaScript
│       └── main.js
├── dist/                  # Fichiers compilés (généré automatiquement)
│   ├── styles/
│   │   └── main.css
│   └── scripts/
│       └── main.min.js
├── assets/                # Assets statiques
├── includes/              # Fichiers PHP inclus
├── templates/             # Templates PHP
├── functions.php          # Fonctions du thème
├── gulpfile.babel.js      # Configuration Gulp
├── package.json           # Dépendances npm
└── .nvmrc                 # Version Node.js requise
```

## Technologies utilisées

- **Gulp 3.9.1** - Task runner
- **Sass (node-sass)** - Préprocesseur CSS
- **Babel** - Transpileur JavaScript (ES2015)
- **ESLint** - Linter JavaScript
- **Autoprefixer** - Préfixes CSS automatiques
- **CSSNano** - Minification CSS
- **Uglify** - Minification JavaScript

## Tâches Gulp disponibles

- `gulp` - Tâche par défaut : nettoie, compile les styles et les scripts
- `gulp styles` - Compile uniquement les fichiers SCSS
- `gulp scripts` - Lint et minifie uniquement les fichiers JavaScript
- `gulp lint` - Vérifie la qualité du code JavaScript
- `gulp clean` - Supprime le dossier `dist/`
- `gulp serve` - Mode watch pour le développement

## Notes importantes

⚠️ **Version de Node.js** : Ce projet nécessite impérativement Node.js v10.24.1 en raison de la compatibilité avec Gulp 3 et node-sass. Les versions plus récentes de Node.js ne fonctionneront pas.

Le fichier `.nvmrc` permet à nvm de sélectionner automatiquement la bonne version :
```bash
nvm use
```

## Dépannage

### Erreur "primordials is not defined"
Vous utilisez une version de Node.js trop récente. Utilisez Node.js v10.24.1 :
```bash
nvm use 10.24.1
```

### Erreur "No ESLint configuration found"
Le fichier `.eslintrc` doit être présent à la racine du projet.

### Problèmes avec node-sass
Supprimez `node_modules` et réinstallez :
```bash
rm -rf node_modules package-lock.json
npm install
```

## Licence

Propriétaire - Tous droits réservés
