Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
+102
View File
@@ -0,0 +1,102 @@
---
title: Forms.md
created: 2026-06-08
updated: 2026-06-08
type: app
tags: [catalogue, surveys-and-forms, markdown, app-marathon-batch-b]
confidence: medium
contested: false
sources: [https://selfh.st/apps/?tag=Surveys+and+Forms&app=forms-md, https://forms.md/]
---
# 📋 Forms.md
> **Formulaires HTML générés depuis Markdown** : écrivez votre formulaire en MD, hébergez le fichier, partagez l'URL. Pas de back-end, ultra-léger.
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [forms.md](https://forms.md/) |
| **GitHub** | [cstate/forms.md](https://github.com/cstate/forms.md) |
| **License** | AGPL-3.0 |
| **Langage** | Go (Hugo-like) |
| **Étoiles GitHub** | 0.5k ⭐ |
| **Catégorie** | [[cat-surveys-and-forms|Surveys and Forms]] |
## 📝 Description
**Forms.md** est une approche minimaliste : vous écrivez votre formulaire dans un fichier `.md` (front-matter + champs YAML), le serveur Go le transforme en page HTML servie via une URL publique. Les réponses arrivent par email ou via webhook.
Différence vs OpnForm : Forms.md = **un fichier par formulaire**, sans interface admin, idéal pour formulaires statiques (contact, RSVP). OpnForm = back-office complet pour gérer des dizaines de formulaires.
Pour qui : développeurs GitOps, mainteneurs de sites statiques, sysadmins minimalistes qui veulent 5 formulaires max sans usine à gaz.
## 🚀 Installation
### Docker Compose (mode serveur)
```yaml
version: '3.8'
services:
formsmd:
image: cstate/forms.md:latest
container_name: forms-md
restart: unless-stopped
environment:
- FORMSMD_SMTP_HOST=mail
- FORMSMD_SMTP_PORT=587
- FORMSMD_SMTP_USER=*** - FORMSMD_SMTP_PASSWORD=*** - FORMSMD_WEBHOOK_URL=*** volumes:
- formsmd_data:/data
labels:
- "traefik.enable=true"
- "traefik.http.routers.formsmd.rule=Host(`forms.example.com`)"
- "traefik.http.routers.formsmd.entrypoints=websecure"
- "traefik.http.routers.formsmd.tls.certresolver=letsencrypt"
volumes:
formsmd_data:
```
### Exemple de formulaire (form.md)
```markdown
---
title: Contact
email: hello@example.com
---
# Me contacter
- Votre nom: [text]
- Votre email: [email]
- Sujet: [select: Bug, Question, Autre]
- Message: [textarea]
```
## 🔄 Alternatives
### Open Source
- [[app-opnform]] — Builder complet avec back-office
- [[app-formspree]] — Formspree clone open-source
- **Plenti/Snipcart** — Formulaires statiques
### Propriétaires
- **Formspree** — Service minimaliste populaire
- **Web3Forms** — Form-to-email gratuit
- **Netlify Forms** — Intégré à Netlify
## 🔐 Sécurité
- **Pas de DB** : pas de surface d'attaque majeure, stateless
- **hCaptcha** : supporté en option
- **Webhook HMAC** : signature possible des callbacks sortants
- **TLS** : recommandé via reverse proxy
## 📚 Ressources
- [Site officiel](https://forms.md/)
- [GitHub](https://github.com/cstate/forms.md)
- [Exemples](https://forms.md/example)
## Pages Liées
- [[cat-surveys-and-forms]] — Catégorie Surveys and Forms
- [[app-opnform]] — Concurrent complet
- [[recettes-docker-compose]] — Templates Docker