Files
2026-06-09 18:40:21 +02:00

96 lines
3.3 KiB
Markdown

---
title: SurveyJS
created: 2026-06-08
updated: 2026-06-08
type: app
tags: [catalogue, surveys-and-forms, app-marathon-batch-b]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Surveys+and+Forms&app=surveyjs, https://surveyjs.io/]
---
# 📋 SurveyJS
> **Suite de composants JavaScript** pour intégrer des sondages et formulaires professionnels dans vos apps web (form builder drag & drop + runtime).
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [surveyjs.io](https://surveyjs.io/) |
| **GitHub** | [surveyjs/survey-library](https://github.com/surveyjs/survey-library) |
| **License** | MIT (lib) / Commercial (no-logo) |
| **Langage** | TypeScript |
| **Étoiles GitHub** | 4.1k ⭐ |
| **Catégorie** | [[cat-surveys-and-forms|Surveys and Forms]] |
## 📝 Description
**SurveyJS** est une **librairie modulaire** composée de plusieurs paquets (Survey Creator, Survey Library, Form Renderer, PDF Export) qui s'intègrent en front-end ou back-end (Node.js, .NET, PHP). Le builder drag & drop permet aux utilisateurs finaux de concevoir leurs formulaires via une UI visuelle.
Différence vs Formbricks : SurveyJS n'est pas un SaaS clé-en-main mais une **lib technique** que vous intégrez dans votre app. Formbricks = produit complet prêt à l'emploi.
Pour qui : développeurs SaaS, équipes produit qui veulent un form builder enterprise sans réinventer la roue.
## 🚀 Installation
### Docker Compose (form service server)
```yaml
version: '3.8'
services:
surveyjs-server:
image: surveyjsformservice/server:latest
container_name: surveyjs-server
restart: unless-stopped
environment:
- SURVEYJS_LICENSE=*** ports:
- "8080:8080"
labels:
- "traefik.enable=true"
- "traefik.http.routers.surveyjs.rule=Host(`forms.example.com`)"
- "traefik.http.routers.surveyjs.entrypoints=websecure"
- "traefik.http.routers.surveyjs.tls.certresolver=letsencrypt"
```
### Intégration NPM (cas typique)
```bash
npm install survey-core survey-creator-core
```
```typescript
import { Model } from "survey-core";
import "survey-core/survey-core.min.css";
const surveyJson = { /* ... */ };
const survey = new Model(surveyJson);
```
## 🔄 Alternatives
### Open Source
- [[app-formbricks]] — Plateforme complète clé-en-main
- [[app-formio]] — Alternative mature avec back-office intégré
- [[app-surveyjs]] — Voir aussi alternatives JS pures (react-hook-form, jsonforms)
### Propriétaires
- **Typeform** — UX imbattable mais propriétaire
- **Jotform** — Plateforme no-code concurrente
- **Fillout** — Forms modern SaaS
## 🔐 Sécurité
- **License commerciale** requise pour retirer le logo SurveyJS (watermark en version MIT)
- **CSRF/XSS** : sanitizer intégré côté client, configurable en server-side
- **Stockage** : aucune donnée hébergée par SurveyJS par défaut — vous gardez le contrôle
- **Compliance** : auto-hébergeable, compatible RGPD si vous servez depuis l'UE
## 📚 Ressources
- [Documentation officielle](https://surveyjs.io/documentation)
- [GitHub](https://github.com/surveyjs/survey-library)
- [Demos interactifs](https://surveyjs.io/form-library/examples)
## Pages Liées
- [[cat-surveys-and-forms]] — Catégorie Surveys and Forms
- [[app-formbricks]] — Concurrent (full app)
- [[recettes-docker-compose]] — Templates Docker