Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les projets Fabric Apps utilisent une structure de dossiers cohérente pour vous permettre de trouver rapidement les modèles de données, la configuration du back-end et le code du front-end. Cet article explique les fichiers et dossiers que vous êtes le plus susceptible d’utiliser une fois que vous avez créé un projet.
Disposition des dossiers
Lorsque vous créez un projet Fabric Apps, le modèle génère la structure suivante :
your-project/
├── rayfin/
│ ├── data/
│ │ ├── schema.ts
│ │ └── *.ts
│ ├── .env
│ ├── rayfin.yml
│ └── tsconfig.json
├── src/
├── package.json
├── tsconfig.json
└── README.md
Fichiers de configuration de clé
rayfin/rayfin.yml
Le fichier rayfin/rayfin.yml est le fichier de configuration principal de votre back-end Fabric Apps. Il contrôle les services exécutés pendant le développement local et prend en charge l’interpolation des variables d’environnement pour les valeurs de configuration dynamique.
Exemple complet :
id: my-app
name: my-app
version: 1.0.0
services:
auth:
enabled: true
expiryInMinutes: 60
refreshToken:
lifetimeInDays: 30
customClaims:
tenant: "default"
scopes:
- read:data
- write:data
allowedRedirectUris:
- http://localhost:5173
- http://localhost:5173/auth/callback
password:
enabled: true
fabric:
enabled: false
passwordless:
magicLink:
enabled: false
expiryMinutes: 15
smsOtp:
enabled: false
email:
enabled: false
provider: smtp
senderName: Rayfin Platform
verificationTokenExpirationHours: 24
passwordResetTokenExpirationMinutes: 30
smtp:
host: maildev
port: 1025
senderEmail: noreply@rayfin.local
username: ""
password: ""
useSsl: false
useStartTls: false
webPort: 1080
data:
enabled: true
dialect: mssql
storage:
enabled: false
staticHosting:
enabled: true
root: .
folder: dist
buildCommand: npm run build
indexDocument: index.html
La configuration inclut ces champs clés :
Champs de niveau supérieur
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
id |
string |
Oui | Project slug utilisé comme nom de project Docker Compose et identificateur d’élément Fabric. |
name |
string |
Oui | Nom d’affichage du projet compréhensible par l’homme. |
version |
string |
Oui | Version du projet (semver). |
services |
object |
Oui | Bloc de configuration de service. |
services.data
| Champ | Type | Par défaut | Description |
|---|---|---|---|
enabled |
boolean |
false |
Activez le service de données. |
services.auth
| Champ | Type | Par défaut | Description |
|---|---|---|---|
enabled |
boolean |
false |
Activez le service d’authentification. |
expiryInMinutes |
number |
— | Expiration du jeton JWT en minutes. |
customClaims |
Record<string, string> |
— | Claims personnalisés ajoutés aux jetons JWT émis. |
scopes |
string[] |
— | Étendues OAuth (par exemple, ["read:data", "write:data"]). |
refreshToken.lifetimeInDays |
number |
— | Durée de vie du jeton d’actualisation en jours. |
allowedRedirectUris |
string[] |
["http://localhost:5173"] |
URI de redirection autorisées pour les retours d’authentification. |
services.auth.password
| Champ | Type | Par défaut | Description |
|---|---|---|---|
enabled |
boolean |
true |
Activer l’authentification par e-mail et mot de passe pour le développement local |
services.auth.fabric
| Champ | Type | Par défaut | Description |
|---|---|---|---|
enabled |
boolean |
false |
Activez l’authentification négociée de Fabric (Microsoft Entra ID SSO). |
services.staticHosting
| Champ | Type | Par défaut | Description |
|---|---|---|---|
enabled |
boolean |
false |
Activez l’hébergement de contenu statique. |
root |
string |
— | Répertoire racine du projet front-end (relatif à la racine du projet). |
folder |
string |
"dist" |
Répertoire contenant des ressources statiques générées (par rapport à root). |
buildCommand |
string |
— | Commande Shell à exécuter avant l’empaquetage (par exemple, npm run build). |
indexDocument |
string |
— | Document par défaut renvoyé pour le chemin racine (par exemple, index.html). |
Conseil / Astuce
Toutes les valeurs de chaîne prennent en charge l’interpolation des variables d’environnement avec la syntaxe ${VAR} et ${VAR:-default}. Les variables sont résolues à partir de rayfin/.env et de l’environnement shell.
rayfin/.env
Le fichier rayfin/.env est un fichier d’environnement facultatif utilisé pour fournir des valeurs à rayfin.yml par interpolation. N’ajoutez pas d’informations sensibles à votre dépôt. Au lieu de cela, créez un fichier rayfin/.env.example à des fins de documentation et ajoutez .env à votre fichier .gitignore.
rayfin/tsconfig.json
Le fichier rayfin/tsconfig.json est une configuration TypeScript de référence de projet utilisée par l’interface CLI Fabric Apps pour compiler vos définitions d’entité. Il étend votre racine tsconfig.json et redéfinit les paramètres de configuration dont Fabric Apps a besoin, tels que composite: true et la résolution des modules Node.js. Vous n’avez pas besoin de modifier ce fichier directement.
Fichiers de modèle de données
rayfin/data/*.ts
Les fichiers du rayfin/data/ dossier définissent vos entités. Les entités sont des classes TypeScript décorées avec @entity(), ainsi que des décorateurs de champs tels que @uuid() et @text(). Chaque fichier d’entité exporte une classe qui représente un modèle de données dans votre application.
rayfin/data/schema.ts
Le rayfin/data/schema.ts fichier mappe les noms d’entités à leurs classes. Le client du Kit de développement logiciel (SDK) Rayfin utilise cette carte pour fournir un accès de type sécurisé aux entités via client.data.<Entity>. Lorsque vous ajoutez une nouvelle entité, vous devez l’inscrire dans ce fichier de schéma.
Artefacts générés
rayfin/.temp/
Le rayfin/.temp/ dossier contient des artefacts back-end générés qui sont créés lorsque vous exécutez le serveur de développement. Si le back-end semble utiliser un schéma ou une configuration obsolète, arrêtez et redémarrez la pile de développement pour régénérer ces fichiers.
Important
Ne validez pas le dossier .temp/ dans votre dépôt. Ajoutez-le à votre .gitignore fichier.
Structure du frontend
Le src/ dossier contient votre code d’application front-end. La structure exacte dépend du modèle que vous avez choisi lors de la création de votre projet, tel que React ou Vue.
Les modèles d’applications Fabric utilisent les variables d’environnement Vite suivantes pour la configuration de l’interface utilisateur :
-
VITE_RAYFIN_API_URL: URL de base pointant le front-end sur le serveur principal Fabric Apps. Définissez cette variable d’environnement avant d’exécuternpm run devpour remplacer la valeur par défaut. -
VITE_RAYFIN_PUBLISHABLE_KEY: clé modifiable utilisée pour l’authentification du client. -
VITE_FABRIC_ITEM_ID: ID d’élément Fabric défini parrayfin up. Écrit dans.env.fabric-<workspacename>(et.env.fabric) pendant le déploiement. Utilisé pour l’authentification répartie Fabric. -
VITE_FABRIC_WORKSPACE_ID: ID d’espace de travail Fabric défini parrayfin up. Écrit avecVITE_FABRIC_ITEM_IDpendant le déploiement.