Découvrir Vite
Notions théoriques
Qu'est-ce que Vite ?
Vite est un outil de build pour le développement Web. Ce n'est pas un framework comme Svelte ou React : c'est l'outil qui vous permet de :
- démarrer un serveur de développement local en quelques secondes
- recharger automatiquement la page quand vous modifiez votre code
- préparer votre projet pour la mise en ligne (build de production)
Vite (prononcé "vite" comme en français) a été créé par Evan You, le créateur de Vue.js. Son nom reflète sa principale qualité : la rapidité.
Pourquoi Vite est-il rapide ?
Les outils traditionnels comme Webpack recompilent tout le projet à chaque modification. Vite utilise une approche différente :
- En développement, il sert les fichiers directement comme des ES Modules natifs du navigateur — pas de compilation globale.
- Seul le module modifié est rechargé grâce au HMR (Hot Module Replacement).
| Fonctionnalité | Vite | Webpack |
|---|---|---|
| Démarrage du serveur | Instantané | Lent (compilation initiale) |
| Rechargement à chaud | Instantané (HMR) | Peut être lent |
| Configuration | Minimale | Souvent complexe |
| ES Modules natifs | Oui | Non (transformé) |
Structure d'un projet Vite
Après avoir créé un projet Vite (vanilla JavaScript), voici les fichiers générés :
mon-projet/
├── index.html ← Point d'entrée du projet
├── package.json ← Dépendances et scripts npm
├── vite.config.js ← Configuration Vite (optionnel)
├── public/ ← Fichiers statiques (images, icônes)
└── src/
├── main.js ← Code JavaScript principal
├── style.css ← Styles CSS
└── counter.js ← Exemple de module JS
index.htmlContrairement à d'autres outils, index.html est le point d'entrée principal dans Vite. C'est lui qui charge votre script via <script type="module" src="/src/main.js">.
Créer un projet Vite
La commande pour créer un projet Vite est :
npm create vite@latest mon-projet
Vite vous pose deux questions :
- Quel framework ? → choisir
Vanilla(sans framework) - Quel langage ? → choisir
JavaScript
Ensuite :
cd mon-projet
npm install
npm run dev
Le serveur de développement démarre sur http://localhost:5173.
Les commandes npm essentielles
| Commande | Rôle |
|---|---|
npm run dev | Démarrer le serveur de développement |
npm run build | Générer les fichiers de production dans dist/ |
npm run preview | Prévisualiser le build de production localement |
Exemple pratique
Après avoir créé un projet Vite vanilla, ouvrez src/main.js. Par défaut, ce fichier ressemble à :
import './style.css'
import javascriptLogo from './javascript.svg'
import { setupCounter } from './counter.js'
document.querySelector('#app').innerHTML = `
<div>
<h1>Hello Vite!</h1>
<p>Modifiez <code>src/main.js</code> et enregistrez pour tester le HMR.</p>
</div>
`
setupCounter(document.querySelector('#counter'))
Modifiez le message affiché :
import './style.css'
document.querySelector('#app').innerHTML = `
<div>
<h1>Bienvenue sur mon premier projet Vite !</h1>
<p>Le rechargement à chaud fonctionne automatiquement.</p>
</div>
`
Dès que vous enregistrez le fichier, la page se met à jour sans recharger — c'est le HMR en action.
Observez la console du navigateur (F12) : Vite affiche le temps de rechargement en millisecondes.
Test de mémorisation/compréhension
TP pour réfléchir et résoudre des problèmes
Dans ce TP, vous allez créer votre premier projet Vite en JavaScript pur et y ajouter une interaction simple.
Étape 1 — Créer le projet Vite
Dans votre terminal, exécutez :
npm create vite@latest tp-vitejs
Choisissez :
- Framework :
Vanilla - Variant :
JavaScript
Puis lancez le projet :
cd tp-vitejs
npm install
npm run dev
Ouvrez http://localhost:5173 dans votre navigateur et observez le projet par défaut.
npm install après la créationLa commande npm create vite@latest génère les fichiers du projet mais ne télécharge pas les dépendances. Sans npm install, le dossier node_modules n'existe pas et npm run dev échoue avec une erreur.
Étape 2 — Modifier la page d'accueil
Ouvrez src/main.js et remplacez tout son contenu par le code suivant, en complétant la ligne manquante :
Les backticks ` permettent d'écrire du HTML sur plusieurs lignes sans concaténation de chaînes. C'est la syntaxe recommandée pour injecter du HTML dynamiquement depuis JavaScript.
Étape 3 — Ajouter un bouton interactif
Ajoutez un bouton qui change le titre au clic. Complétez src/main.js avec la ligne d'écouteur d'événement :
Donnez des id explicites à vos éléments HTML interactifs (#titre, #btn). querySelector('#monId') cible un élément unique et rend le code lisible. Évitez de sélectionner par balise (querySelector('button')) quand plusieurs boutons peuvent exister sur la page.
Étape 4 — Générer le build de production
Utilisez npm run preview pour tester localement la version de production avant de la mettre en ligne. Cela révèle parfois des différences entre le mode développement et le mode production (chemins d'assets, variables d'environnement).