Exemples et parcours
Une même app qui évolue de la fiche client au processus complet.
L’app qui accompagne les guides
Atelier Boréal fournit des services à ses clients. Son équipe doit qualifier les besoins, préparer des soumissions, obtenir une validation et conserver le résultat avec ses sources. Les guides utilisent cette activité pour expliquer chaque responsabilité sans changer de domaine à chaque chapitre.
| Étape | Ajout à l’app | Guide |
|---|---|---|
| Répertoire | Entreprise, courriel, état et notes | Fields |
| Consultation | Fiche éditable et tableau filtré | Surfaces et tableaux |
| Intégration | Sélection de client dans une soumission | Liens entre Workspaces |
| Travail | Préparer, revoir et finaliser la proposition | Flows |
| Équipe | Accès de l’équipe et validation du responsable | Droits |
| Réutilisation | Publier l’app et adapter une installation | Publication |
Composer la fiche Client
Suivez le guide Composer les interfaces pour organiser l’identité du client, ses Fields éditables et ses paramètres. Ajoutez ensuite une vue de soumissions issue d’une Query et l’Action de préparation d’une proposition. Chaque élément réutilise la définition du même Model; la référence des composants Surface précise ses propriétés.
Étudier un Model complet
NovelFlow applique les mêmes concepts à un roman : personnages, lieux, chapitres et travail de préparation. Dev Studio les applique à un produit logiciel : fonctionnalités, anomalies, tests et livraisons. Dans les deux cas, les contenus et leurs relations restent définis par le Model.
Pour construire votre propre app, utilisez le parcours progressif. Pour vérifier une propriété exacte dans ces fichiers, consultez la référence.
Exemples appliqués : Du répertoire au suivi commercial
Les mêmes données passent de la Form de création à une collection de soumissions.
Configuration
Fragment à placer dans forms[]. Propriétés et valeurs admises.
{
"contract": "WorkspaceForm@2",
"key": "new-client",
"label": "Nouveau client",
"actionKey": "create-client",
"targetDefinitionPath": "workspace/clients/surface/client",
"mode": "create",
"fields": [
{
"contract": "WorkspaceFormControl@2",
"repeatable": false,
"key": "company",
"label": "Entreprise",
"input": "text",
"binding": {
"kind": "field",
"fieldKey": "company"
},
"required": true,
"ruleKeys": [],
"options": []
},
{
"contract": "WorkspaceFormControl@2",
"repeatable": false,
"key": "status",
"label": "État",
"input": "choice",
"binding": {
"kind": "field",
"fieldKey": "status"
},
"required": true,
"ruleKeys": [],
"options": [
"prospect",
"active"
]
}
],
"ruleKeys": []
}
Variante et raccordement
Fragment à placer dans presentation.tableViews[]. Propriétés et valeurs admises.
{
"viewKey": "quotes-table",
"columns": [
{
"key": "number",
"label": "Numéro",
"source": {
"kind": "native",
"property": "title"
}
},
{
"key": "status",
"label": "État",
"source": {
"kind": "field",
"fieldPath": "fields/status"
}
},
{
"key": "amount",
"label": "Montant",
"source": {
"kind": "field",
"fieldPath": "fields/amount"
}
}
],
"openLabel": "Ouvrir la soumission"
}
Exemple de disposition UI
La disposition illustrative ci-dessous situe cette configuration dans l’app Clients/Soumissions. Chaque fragment s’insère à l’emplacement indiqué; ses références aux Fields, Queries et Actions correspondent aux déclarations du Model.
- Numéro
- État
- Montant
- Dernière mise à jour
| Numéro | État | Montant | Ouvrir |
|---|---|---|---|
| S-1042 | Brouillon | 12 500 | ↗ |
| S-1041 | Approuvée | 8 200 | ↗ |
| S-1040 | Envoyée | 4 750 | ↗ |