Skip to content

Installation

Choisissez votre parcours

ScénarioCommande
Démarrage rapide (recommandé)pnpm add @tsparticles/engine @tsparticles/slim
Minimum indispensablepnpm add @tsparticles/engine @tsparticles/basic
Ensemble complet de fonctionnalitéspnpm add @tsparticles/engine tsparticles
Tout l'écosystèmepnpm add @tsparticles/engine @tsparticles/all
Confettis uniquementpnpm add @tsparticles/confetti
Feux d'artifice uniquementpnpm add @tsparticles/fireworks
Fond de particulespnpm add @tsparticles/particles
Effet rubanspnpm add @tsparticles/ribbons

Important : @tsparticles/engine seul ne dessine rien. Vous devez toujours ajouter un bundle (pour charger les formes et animations) ou des plugins individuels. Voir le guide des bundles.

Avec npm

bash
# engine + slim (recommandé pour la plupart des projets)
npm install @tsparticles/engine @tsparticles/slim

# engine + basic (minimum)
npm install @tsparticles/engine @tsparticles/basic

# engine + full (tsparticles)
npm install @tsparticles/engine tsparticles

# engine + all (tout)
npm install @tsparticles/engine @tsparticles/all

# Bundle à API dédiée (pas besoin d'engine explicite)
npm install @tsparticles/confetti
npm install @tsparticles/fireworks
npm install @tsparticles/particles
npm install @tsparticles/ribbons

Avec yarn

bash
yarn add @tsparticles/engine @tsparticles/slim
# ... même schéma pour les autres bundles

Avec pnpm

bash
pnpm add @tsparticles/engine @tsparticles/slim
# ... même schéma pour les autres bundles

Avec CDN (balise <script>)

Tous les packages sont disponibles sur jsDelivr, unpkg et cdnjs.

jsDelivr

BundleURL
Enginehttps://cdn.jsdelivr.net/npm/@tsparticles/engine@4/tsparticles.engine.min.js
Basichttps://cdn.jsdelivr.net/npm/@tsparticles/basic@4/tsparticles.basic.bundle.min.js
Slimhttps://cdn.jsdelivr.net/npm/@tsparticles/slim@4/tsparticles.slim.bundle.min.js
Full (tsparticles)https://cdn.jsdelivr.net/npm/tsparticles@4/tsparticles.bundle.min.js
Allhttps://cdn.jsdelivr.net/npm/@tsparticles/all@4/tsparticles.all.bundle.min.js
Confettihttps://cdn.jsdelivr.net/npm/@tsparticles/confetti@4/tsparticles.confetti.bundle.min.js
Fireworkshttps://cdn.jsdelivr.net/npm/@tsparticles/fireworks@4/tsparticles.fireworks.bundle.min.js
Particleshttps://cdn.jsdelivr.net/npm/@tsparticles/particles@4/tsparticles.particles.bundle.min.js
Ribbonshttps://cdn.jsdelivr.net/npm/@tsparticles/ribbons@4/tsparticles.ribbons.bundle.min.js
Compatibilité particles.jshttps://cdn.jsdelivr.net/npm/@tsparticles/pjs@4/tsparticles.pjs.min.js

unpkg

Même structure : https://unpkg.com/{package-name}@{version}/{filename}

Exemple : https://unpkg.com/@tsparticles/slim@4/tsparticles.slim.bundle.min.js

cdnjs

https://cdnjs.com/libraries/tsparticles

Exemples d'import

Avec bundler (import ES module)

ts
// Engine + bundle loader
import { tsParticles } from "@tsparticles/engine";
import { loadSlim } from "@tsparticles/slim";

await loadSlim(tsParticles);
await tsParticles.load({ id: "tsparticles", options: { ... } });

Avec CommonJS (require)

ts
const { tsParticles } = require("@tsparticles/engine");
const { loadSlim } = require("@tsparticles/slim");

(async () => {
  await loadSlim(tsParticles);
  await tsParticles.load({ id: "tsparticles", options: { ... } });
})();

Avec CDN (balise script)

html
<!-- 1. Engine -->
<script src="https://cdn.jsdelivr.net/npm/@tsparticles/engine@4/tsparticles.engine.min.js"></script>
<!-- 2. Bundle (expose loadBasic/loadSlim/loadFull/loadAll globalement) -->
<script src="https://cdn.jsdelivr.net/npm/@tsparticles/slim@4/tsparticles.slim.bundle.min.js"></script>
<!-- 3. Votre script -->
<script>
  (async () => {
    await loadSlim(tsParticles); // enregistre les fonctionnalités
    await tsParticles.load({
      id: "tsparticles",
      options: {
        particles: {
          number: { value: 60 },
          move: { enable: true },
        },
      },
    });
  })();
</script>

Avec les bundles à API dédiée :

html
<script src="https://cdn.jsdelivr.net/npm/@tsparticles/confetti@4/tsparticles.confetti.bundle.min.js"></script>
<script>
  confetti({ particleCount: 100, spread: 70 });
</script>

Pages associées