Seatmap Canvas
// est. 2016 · mit licensed · retired in honor
seatmap-canvas, notre vétéran
Sorti en 2016 et figé en l'état, mais toujours discretement en service en production partout dans le monde. Qu'il continue longtemps.
- Licence MIT
- @alisaitteke/seatmap-canvas
- D3.js · SVG
- TypeScript

Figé, pas oublié
La v1 est terminée, volontairement. Voici ce que cela signifie pour vous.
Figé en fonctionnalités
Pas de nouvelles fonctionnalités, pas de nouvelles versions : ce qui est sur npm est définitif. Ce que vous intégrez aujourd'hui se comporte de la même façon demain.
MIT, pour toujours
La licence ne change jamais. Auto-hébergez-le, intégrez-le dans tout ce que vous construisez, sans rien nous devoir : pas de frais par place, jamais.
Les mêmes adresses
Documentation, exemples et démo conservent leurs URL historiques sur seatmap.io, donc les liens cités et les favoris continuent de fonctionner.
Opérationnel en quelques minutes
Apportez votre propre JSON de salle et votre backend : la v1 est le moteur de rendu et le widget de sélection, pas une stack de billetterie.
Installer
npm install @alisaitteke/seatmap-canvas ajoute le moteur de rendu et les types TypeScript.
Alimentez-le avec votre salle
Passez blocs et places en JSON brut via replaceData(). Inventaire, tarification et blocages temporaires restent dans votre backend.
Intercepter les clics
SEAT.CLICK se déclenche à chaque tap ; basculez la sélection, puis lisez getSelectedSeats() au paiement.
Wrappers officiels
- Vanilla JS
- React
- Vue 3
- Next.js
- Angular
import { SeatmapCanvas } from "@alisaitteke/seatmap-canvas/react";import "@alisaitteke/seatmap-canvas/dist/seatmap.canvas.css";export function VenuePicker({ blocks }) {return (<SeatmapCanvasoptions={{legend: true,style: { seat: { hover: "#8fe100", selected: "#8fe100" } },}}data={blocks}onSeatClick={(seat) =>seat.isSelected() ? seat.unSelect() : seat.select()}/>);}
Vous ne voulez pas écrire le JSON de salle à la main ? Seatmap Studio est l'éditeur visuel de plans de la plateforme maintenue.
La démo originale, toujours en ligne
Le même terrain de jeu que la communauté utilise depuis des années : zoomez de la salle jusqu'à la place, testez formes et sélections.

Documentation et code source
Documentation
Introduction à la bibliothèque et concepts clés.
Premiers pas
Installer le package et afficher un premier plan.
Référence API
Configuration, événements et méthodes publiques.
Exemples
Utilisation de base et exemples de salles.
Démo en direct
La démo interactive v1 originale.
GitHub
Code source sur github.com/alisaitteke/seatmap-canvas.
npm
Installer @alisaitteke/seatmap-canvas depuis le registre public.
Comparer
| seatmap-canvas v1 | Seatmap Canvas Next | |
|---|---|---|
| Jusqu'où ça va | Une salle de quelques milliers de places | Un stade qui se déplace et zoome encore |
| Au-dessus et en dessous | Un seul niveau | Neuf étages — balcon sur parterre, cabine sur cabine |
| Ce que la soirée peut tenir | Des places en blocs | Places, debout, stands, tables de banquet |
| Le sol où ça peut vivre | Un plan indoor | Un théâtre, un champ de festival, un circuit sur une carte |
| Le chemin jusqu'à la place | La salle, puis le bloc, puis la place | De la carte, à travers les étages, jusqu'à la place |
| Comment naît la salle | Vous l'écrivez en JSON | Vous la dessinez dans Studio. La carte la rejoue. |
| Ce qu'une place peut dire | Un titre et une note | Le prix, la catégorie, une image — l'offre sur la place |
| Quand la salle se remplit | Vous renvoyez un JSON | Vendu et optionné arrivent sur la carte au fil de l'eau |
| Sans pointeur | — | Parcourir la carte au clavier |
Technique
| seatmap-canvas v1 | Seatmap Canvas Next | |
|---|---|---|
| Moteur de rendu | D3.js · SVG | WebGL2 |
| Format du plan | blocks[] + seats[] | Studio ChartDocument (blocks, objects, floors, geo) |
| API de sélection | SEAT.CLICK, select / unselect | Mêmes événements host-toggle |
| État des places | L'hôte réécrit le JSON | setSeatStatus, applyObjectAvailability |
| Infobulle | Titre / note | resolveTooltipOffer |
| Paquets framework | React, Vue 3, Next.js, Angular | Vanilla JS |
| Parseur Pretix | Intégré | Non livré |
| Licence | MIT | Commerciale |
| Installation | npm i @alisaitteke/seatmap-canvas | Bundle sous licence, pas sur npm |