form0form0

Écosystème de formulaires open-source,indépendant et prêt pour l'IA

Logique de formulaires et de collecte de données pilotée par schéma : validation, visibilité et calculs pour le web, le CLI, le mobile et les agents IA.

npm install -g form0-cli
Essayer!Voir la doc

Playground en direct

Un véritable espace form0 dans votre navigateur

Utilisez le CLI interactif, modifiez les fichiers, lancez des projets web et Expo, et testez SQLite ou PostgreSQL dans un environnement jetable.

{

"name": "Site Inspection",

"elements": [

{ "type": "TextField", "data_name": "site", "required": true },

{ "type": "NumericField", "data_name": "units" },

{ "type": "NumericField", "data_name": "unit_cost" },

{ "type": "CalculatedField", "data_name": "total",

"calculate": "SETRESULT(ROUND($units * $unit_cost, 2));" },

{ "type": "TextField", "data_name": "sign_off",

"visible_conditions": { "field_id": "total", "operator": "greater_than", "value": 5000 } }

]

}

Terminal

form0@playground:~/quickstart$ form0 test

✓ schema valid · 5 fields · 1 calculated · 1 conditional

form0@playground:~/quickstart$ ▌

Aperçu de l'éditeur et du terminal du playground form0

Aperçu du playground

L'environnement interactif n'est pas encore activé. Vous pouvez installer form0 localement ci-dessus.

Points forts

Zoom sur l'édition assistée par IA et les formulaires hors ligne sur mobile.

Édition de schéma assistée par IA dans la CLI

Préversion

Décrivez un changement en langage courant et la CLI propose des modifications de votre schéma. form0-core valide chaque proposition avant que vous ne la voyiez, et rien n'est écrit sur le disque tant que vous ne l'appliquez pas. Utilisez votre propre clé d'API ou abonnement, ou un modèle local via Ollama.

Documentation de l'édition assistée par IA

Formulaires hors ligne sur mobile

Le même schéma fonctionne dans React Native. Calculs, visibilité et validation sont évalués sur l'appareil, les formulaires fonctionnent donc sans connexion. Votre application stocke les enregistrements et décide quand les synchroniser.

Documentation de l'intégration mobile React Native

Découvrez

À qui form0 s'adresse, ce qu'il fait, comment on construit avec, et pourquoi il est fait ainsi.

Qui ?

form0 est conçu pour les développeurs et toute personne à l'aise avec un CLI et un éditeur de code. Vous avez un contrôle total sur la logique, le schéma et l'intégration de vos formulaires.

Quoi ?

Un moteur piloté par schéma pour les formulaires et la collecte de données, qui gère les calculs, la visibilité, la validation et les événements. Noyau agnostique avec des composants UI pour React et React Native.

  • Définition de schéma basée sur JSON
  • Fonctionne partout : Node.js, navigateurs, mobile
  • Composants UI via une bibliothèque dédiée
  • Pas d'authentification, pas de persistance : vous contrôlez tout

Comment ?

Plusieurs façons de créer et modifier votre schéma de formulaire :

  • Modifier le schéma JSON manuellement
  • Importer depuis un fichier CSV
  • CLI : ajouter/modifier/supprimer des champs manuellement
  • CLI : édition assistée par IAPréversion
  • Interface drag-and-drop dans reform

Pourquoi ?

Arrêtez de reconstruire la même logique de formulaires dans chaque application. Les calculs, la visibilité et la validation résident dans un seul schéma JSON au lieu d'être éparpillés dans les composants, ce qui les rend plus faciles à tester et à faire évoluer. Le même schéma alimente les applications web et mobiles sans duplication de code, et form0 s'intègre dans n'importe quel projet existant sans dépendance framework.

Pour les Équipes et Organisations

  • Inspections d'infrastructures (bâtiments, services publics, équipements)
  • Enquêtes environnementales et audits
  • Applications de terrain avec support hors ligne
  • Formulaires de conformité avec logique conditionnelle complexe
  • Enquêtes et questionnaires en ligne
  • Et plus encore...

Pour les Projets Personnels

  • Gestion de collections (livres, disques, objets de collection)
  • Applications de données terrain (observation nature, carnets de voyage)
  • Suivi d'inventaire et d'actifs
  • Capture de données structurées en déplacement
  • Enquêtes et questionnaires en ligne
  • Et plus encore...

FAQ

Ce qu'on demande avant d'installer.

Ils traitent des couches différentes du même problème, la réponse dépend donc de l'outil auquel vous comparez.

React Hook Form et Formik gèrent l'état du formulaire à l'intérieur d'une seule application React. La logique conditionnelle, la validation et les calculs, vous les écrivez toujours à la main, dans des composants. form0-core déplace cette logique dans un schéma JSON et l'exécute partout : Node, navigateur, React Native, CLI. Ce n'est pas un concurrent, c'est la couche du dessous, et les deux peuvent coexister.

form.io est le parent le plus proche, un moteur piloté par JSON avec son propre builder et son propre moteur de rendu. La différence tient à ce que vous gardez sous votre contrôle. form0-core n'est que le moteur, sans rendu et sans modèle de données imposé. form0-react et form0-react-native vous donnent des composants prêts à l'emploi quand vous en voulez, et chacun d'eux peut être remplacé ou ignoré, de sorte que la logique du formulaire s'adapte au design system que vous avez déjà, et non l'inverse.

Soutenir le projet

form0 est gratuit et sous licence MIT. Il s'améliore quand des gens l'utilisent, signalent ce qui casse et mettent la main à la pâte.

Contribuer

Ouvrez un ticket lorsque quelque chose ne fonctionne pas, ou envoyez une pull request. Un rapport de bug qui explique comment reproduire le problème vaut autant que du code.

Devenir sponsor

Le parrainage couvre les frais de fonctionnement d'un projet open source : infrastructure, documentation et tests. GitHub Sponsors et Open Collective Europe conviennent aussi bien aux particuliers qu'aux entreprises : utilisez celui qui vous arrange.

Faire connaître

Ajoutez une étoile aux dépôts, écrivez sur ce que vous avez construit, ou parlez-en à quelqu'un qui se bat avec la logique de ses formulaires. C'est la visibilité qui amène le prochain contributeur.