> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base44.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Structure du projet

> Comprendre la structure des projets Base44 pour le développement local

La commande [`create`](/developers/references/cli/commands/create) de la CLI Base44 crée de nouveaux projets avec tous les fichiers et configurations nécessaires. Cet article décrit la structure des projets backend Base44 et explique ce que fait chaque fichier et répertoire.

## Structure du projet backend

Lorsque vous créez un projet Base44 uniquement backend, la CLI génère cette structure minimale :

<Tree>
  <Tree.Folder name="<your-project-name>" defaultOpen>
    <Tree.Folder name="base44" defaultOpen>
      <Tree.File name=".app.jsonc" />

      <Tree.File name="config.jsonc" />
    </Tree.Folder>

    <Tree.File name=".gitignore" />
  </Tree.Folder>
</Tree>

Au fur et à mesure que vous développez votre projet, vous ajoutez des fichiers pour vos ressources telles que les [entités](/developers/backend/resources/entities/overview), les [fonctions](/developers/backend/resources/backend-functions/overview), les [agents](/developers/backend/resources/agents-config), les [connecteurs](/developers/backend/resources/connectors) et la [configuration d'auth](/developers/backend/resources/auth) :

<Tree>
  <Tree.Folder name="<your-project-name>" defaultOpen>
    <Tree.Folder name="base44" defaultOpen>
      <Tree.File name=".app.jsonc" />

      <Tree.File name="config.jsonc" />

      <Tree.Folder name=".types" defaultOpen>
        <Tree.File name="types.d.ts" />
      </Tree.Folder>

      <Tree.Folder name="agents" defaultOpen>
        <Tree.File name="<agent-name>.jsonc" />
      </Tree.Folder>

      <Tree.Folder name="auth" defaultOpen>
        <Tree.File name="config.jsonc" />
      </Tree.Folder>

      <Tree.Folder name="connectors" defaultOpen>
        <Tree.File name="<connector-type>.jsonc" />
      </Tree.Folder>

      <Tree.Folder name="entities" defaultOpen>
        <Tree.File name="<entity-name>.jsonc" />
      </Tree.Folder>

      <Tree.Folder name="functions" defaultOpen>
        <Tree.Folder name="<function-name>" defaultOpen>
          <Tree.File name="entry.ts" />

          <Tree.File name="function.jsonc" />
        </Tree.Folder>
      </Tree.Folder>
    </Tree.Folder>

    <Tree.File name=".gitignore" />
  </Tree.Folder>
</Tree>

<Note>
  Les fonctions ne nécessitent qu'un fichier `entry.ts` ou `entry.js`. Vous pouvez éventuellement ajouter `function.jsonc` pour des configurations avancées comme des noms personnalisés ou des automatisations. Consultez [Fonctions backend](/developers/backend/resources/backend-functions/overview) pour plus de détails.
</Note>

### base44/

Contient toute la configuration backend Base44 et les définitions des ressources.

#### config.jsonc

Définit la configuration de votre projet, y compris les chemins vers les [entités](/developers/backend/resources/entities/overview), les [fonctions](/developers/backend/resources/functions), les [agents](/developers/backend/resources/agents-config), les [connecteurs](/developers/backend/resources/connectors), la [configuration d'auth](/developers/backend/resources/auth) et les paramètres d'hébergement du site pour les projets full-stack. La CLI le crée juste avec le nom de votre projet, et vous pouvez ajouter plus de configuration selon vos besoins.

Votre projet nécessite un fichier `config.jsonc` (ou `config.json`) dans le répertoire `base44/` :

```jsonc theme={null}
// Base44 Project Configuration
{
  "name": "my-project",
  "description": "My Base44 app",

  // Directory paths (relative to config file)
  "entitiesDir": "./entities",
  "functionsDir": "./functions",
  "agentsDir": "./agents",
  "connectorsDir": "./connectors",
  "authDir": "./auth",

  // Site/hosting configuration (for full-stack projects)
  "site": {
    "outputDirectory": "./dist", // Required - where your built files are located
  },
}
```

| Propriété              | Description                                                                                         | Par défaut     |
| ---------------------- | --------------------------------------------------------------------------------------------------- | -------------- |
| `name`                 | Nom du projet (requis)                                                                              | —              |
| `description`          | Description du projet                                                                               | —              |
| `entitiesDir`          | Chemin vers le répertoire des [entités](/developers/backend/resources/entities/overview)            | `./entities`   |
| `functionsDir`         | Chemin vers le répertoire des [fonctions](/developers/backend/resources/backend-functions/overview) | `./functions`  |
| `agentsDir`            | Chemin vers le répertoire des [agents](/developers/backend/resources/agents-config)                 | `./agents`     |
| `connectorsDir`        | Chemin vers le répertoire des [connecteurs](/developers/backend/resources/connectors)               | `./connectors` |
| `authDir`              | Chemin vers le répertoire de [configuration d'auth](/developers/backend/resources/auth)             | `./auth`       |
| `site.outputDirectory` | Où se trouvent les fichiers compilés de votre site (requis pour le déploiement du site)             | —              |
| `site.buildCommand`    | Utilisé uniquement pendant `base44 create` pour le déploiement automatisé                           | —              |
| `site.installCommand`  | Utilisé uniquement pendant `base44 create` pour le déploiement automatisé                           | —              |
| `site.serveCommand`    | Référence uniquement. Non utilisé actuellement par la CLI                                           | —              |

<Note>
  Les propriétés `buildCommand`, `installCommand` et `serveCommand` sont
  incluses automatiquement lorsque vous créez un projet à partir du modèle
  full-stack. Elles sont utilisées uniquement pendant le flux initial
  `base44 create` pour le déploiement automatisé. Vous n'avez pas besoin de
  spécifier ou de modifier ces propriétés après la création du projet. Lors du
  déploiement ultérieur de votre site avec `site deploy`, seul `outputDirectory`
  est utilisé.
</Note>

#### .app.jsonc

Lie votre projet local à votre application Base44. Ce fichier est créé automatiquement par la CLI lorsque vous créez ou liez un projet.

```jsonc theme={null}
// Base44 App Configuration
// This file links your local project to your Base44 app.
// Do not commit this file to version control.
{
  "id": "your-app-id",
}
```

<Note>
  Le fichier `.app.jsonc` ne doit pas être validé dans le contrôle de version.
  La CLI crée automatiquement un fichier `.gitignore` qui exclut ce fichier.
</Note>

#### .types/types.d.ts

Définitions de types TypeScript générées pour vos entités, fonctions, agents et connecteurs. Créées en exécutant [`base44 types generate`](/developers/references/cli/commands/types-generate). Ce fichier fournit l'autocomplétion et la sécurité des types lors de l'utilisation du SDK dans des projets TypeScript. Consultez [Types dynamiques](/developers/references/sdk/getting-started/dynamic-types) pour plus de détails.

#### agents/

Répertoire contenant les [configurations d'agents IA](/developers/backend/resources/agents-config). Chaque agent est défini dans un fichier `.json` ou `.jsonc` séparé.

#### auth/

Répertoire contenant la [configuration d'authentification](/developers/backend/resources/auth) de votre application. Contient un seul fichier `config.jsonc` qui définit quelles méthodes de connexion sont disponibles pour vos utilisateurs finaux. Récupérez la configuration actuelle depuis Base44 avec [`auth pull`](/developers/references/cli/commands/auth-pull).

#### connectors/

Répertoire contenant les [configurations de connecteurs OAuth](/developers/backend/resources/connectors). Chaque connecteur est défini dans un fichier `.json` ou `.jsonc` séparé nommé d'après le type d'intégration comme `slack.jsonc` ou `googlecalendar.jsonc`.

#### entities/

Répertoire contenant les [définitions de schémas d'entités](/developers/backend/resources/entities/overview). Chaque entité est définie dans un fichier `.json` ou `.jsonc` séparé. Créez ce répertoire lorsque vous êtes prêt à définir votre première entité.

#### functions/

Répertoire contenant les [fonctions backend](/developers/backend/resources/backend-functions/overview) serverless. Chaque fonction nécessite son propre sous-répertoire avec un fichier de code `entry.ts` ou `entry.js`. La CLI utilise le chemin du répertoire relatif à la racine des fonctions comme nom de fonction. Par exemple, `functions/sendEmail/entry.ts` crée une fonction nommée `sendEmail`. Vous pouvez éventuellement ajouter un fichier de configuration `function.jsonc` pour personnaliser le nom de la fonction ou ajouter des automatisations.

<Tree>
  <Tree.Folder name="functions" defaultOpen>
    <Tree.Folder name="<function-name>" defaultOpen>
      <Tree.File name="entry.ts" />

      <Tree.File name="function.jsonc" />
    </Tree.Folder>
  </Tree.Folder>
</Tree>

### .gitignore

Empêche les fichiers d'être validés dans le contrôle de version. Votre projet commence avec ce fichier pour empêcher la validation de `.app.jsonc`.

### Dossiers de skills d'agent IA

Lorsque vous créez un projet avec `base44 create`, les [skills d'agent IA](/developers/backend/overview/base44-skills) sont installées automatiquement. Elles apparaissent dans des dossiers spécifiques à l'agent comme `.claude/skills/`, `.cursor/skills/` ou similaires, selon l'assistant de codage IA que vous utilisez. Ces dossiers aident votre agent de codage à comprendre comment travailler avec Base44 et peuvent être validés en toute sécurité dans le contrôle de version.

## Voir aussi

* [Quickstart - Backend uniquement](/developers/backend/quickstart/templates/quickstart-backend-only) : créez votre premier projet backend uniquement
* [Quickstart - React](/developers/backend/quickstart/templates/quickstart-react-template) : créez une application React full-stack avec Base44
* [Commande `types generate`](/developers/references/cli/commands/types-generate) : générez des types TypeScript à partir de votre projet
* [Types dynamiques](/developers/references/sdk/getting-started/dynamic-types) : obtenez la sécurité des types pour votre code SDK
* [Entités](/developers/backend/resources/entities/overview) : apprenez la configuration du schéma de base de données
* [Fonctions backend](/developers/backend/resources/backend-functions/overview) : créez des endpoints API serverless
* [Agents IA](/developers/backend/resources/agents-config) : configurez des agents IA pour votre application
* [Connecteurs](/developers/backend/resources/connectors) : configurez les connexions OAuth aux services tiers
* [Configuration d'auth](/developers/backend/resources/auth) : gérez les méthodes de connexion de votre application

<Note>Cette page a été traduite à l'aide de l'IA. Pour les informations les plus précises et à jour, consultez la [version anglaise](/). </Note>
