Pourquoi un constructeur de données de test à base de schéma ?
Le générateur de données fictives livre des profils tout faits (nom, adresse, numéro fiscal). Mais parfois, il vous faut votre propre schéma : un produit avec SKU, prix (10 à 500), catégorie (énumération à 5 valeurs), tableau de tags. Ou une commande avec un objet imbriqué pour le client.
Ici, vous concevez la structure champ par champ : type, plage, motif, options. Générez N enregistrements qui correspondent exactement. Exportez en JSON, CSV, SQL INSERT ou NDJSON pour le déposer dans votre app ou votre base.
Types disponibles : string, number, integer, boolean, date, email, UUID, enum (liste de choix), array, objet imbriqué, et « faker » (puise dans nos pools : prénom, ville, entreprise).
Mode d'emploi
- Cliquez sur « Add field » : crée un nouveau champ dans le schéma. Tapez un nom (par exemple « price »).
- Choisissez un type : string, number, date, enum, faker, etc. Les options propres au type apparaissent (plage, longueur).
- Pour les objets, vous pouvez ajouter des champs dans des champs (récursif). Pour les tableaux, choisissez le type d'item et min/max count.
- Réglez le nombre d'enregistrements à générer : 1 à 10 000.
- Choisissez le format de sortie : JSON (le plus courant), CSV (Excel), SQL INSERT (base de données), NDJSON (une ligne par enregistrement, pour le streaming).
- Tapez une seed (optionnel) pour une sortie déterministe. Cliquez sur « Copier » ou « Télécharger ».
Quand c'est utile
Projets réels qui nécessitent un schéma personnalisé :
- App e-commerce : générez 100 produits : SKU (UUID), nom (faker), prix (number 10-500 à 2 décimales), catégorie (enum : « Electronics », « Clothing », « Home »), tags (tableau de 1 à 3 chaînes). Remplissez une page produit démo en 5 secondes.
- Système de réservation : enregistrement de réservation : id (UUID), client (objet avec nom et email), plage de dates (2024-2025), statut (enum : « confirmed », « cancelled », « pending »), invités (tableau de 1 à 6 noms).
- API GraphQL : design schema-first. Définissez les types dans l'outil, générez des données mockées, déposez dans des mocked resolvers Apollo Server. Le frontend marche avant que le backend n'écrive une ligne.
- Migration de base de données : tester un nouveau schéma de table. Générez 1000 enregistrements correspondant à la structure, chargez avec SQL INSERT, vérifiez la performance d'un `WHERE` sur un nouvel index.
- Stories Storybook : le composant React `<ProductCard>` a 8 props. Générez 5 variantes d'objet avec des valeurs différentes, chacune comme sa propre story. Palette cliquable au lieu de hardcoder.
- Échantillons CSV/Excel : un client demande « à quoi ressemblerait le rapport de ventes ? ». Générez un CSV avec date, montant, client, statut. Ouvrez dans Excel, montrez.
- Tests de validators : votre `validateOrder(order)` doit gérer 100 variantes edge-case. Générez 100 objets, chacun avec des valeurs limites différentes.
- Démos live : un talk « voilà comment notre app fonctionne » a besoin d'une base peuplée. Générez 50 enregistrements correspondant à la forme réelle.
Liés : profils prêts dans le générateur de données fictives, texte placeholder thématique dans lorem ipsum thématique.