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

# Premiers pas sur Square Cloud avec Bun

> Apprenez à démarrer sur Square Cloud avec Bun JS

## 🚀 Introduction

* Avant de commencer, vous pouvez choisir d'utiliser le runtime Bun dans votre projet. Si Bun n'est pas encore installé localement, vous avez deux options principales :

* Installer via npm (recommandé pour la compatibilité avec `npx` lors du deploy) :

```bash theme={null}
npm install bun
```

* Ou installer Bun via l'installeur officiel (consultez la documentation de Bun pour les instructions d'installation native).

* En ajoutant `bun` comme dépendance, vous pouvez utiliser `npx bun` dans le champ `START` de `squarecloud.app` pour démarrer votre application avec Bun. Voir plus bas dans la section « Démarrer l'application » pour des exemples de `START`.

* Ensuite, vous devrez créer un compte sur Square Cloud, ce qui peut se faire via la [page de connexion](https://squarecloud.app/fr/signup). Vous pouvez utiliser votre e-mail, GitHub, ou les deux pour créer le compte.

* Enfin, vous devez disposer d'un plan payant actif sur votre compte. Vous pouvez consulter nos plans et en acheter un selon vos besoins [ici](https://squarecloud.app/fr/pricing).

## ⚙️ Configuration du fichier squarecloud.app

<Note>
  Si vous téléversez votre application via le site Web de Square Cloud, vous pouvez ignorer cette section. Le site crée automatiquement le fichier de configuration `squarecloud.app` pour vous.
</Note>

<Card title="En savoir plus : comment créer le fichier de configuration pour Square Cloud." icon="link" href="https://docs.squarecloud.app/fr/getting-started/config-file">
  Le fichier squarecloud.app est un fichier de configuration qui sera utilisé pour
  configurer votre application ; il servira à définir le nom, la description,
  la version, le fichier principal, entre autres choses.
</Card>

## ▶️ Comment démarrer votre application

* Pour utiliser le runtime Bun dans l'environnement Node.js de Square Cloud, ajoutez d'abord le package `bun` à votre projet (par exemple `npm install bun`) afin que la commande `npx bun` soit disponible dans l'environnement d'exécution.
* Ensuite, définissez le champ `START` dans votre `squarecloud.app` avec la commande qui démarre votre application avec Bun. Exemple :

```squarecloud.app OR .config theme={null}
START=npx bun main.js
```

Sinon, si vous devez exécuter des scripts de package.json avec bun, utilisez :

```
START=npx bun run start
```

* Rappel : si le champ `START` est défini, sa valeur sera exécutée directement. Pour plus d'informations sur les paramètres du fichier de configuration, consultez les [paramètres de configuration](https://docs.squarecloud.app/fr/getting-started/config-file#configuration-parameters).

* Si le dossier `node_modules` n'existe pas, Square Cloud exécutera `npm install --no-package-lock --no-audit --no-fund` pour installer les dépendances et nettoyer le dossier `.npm`.

Si vous comptez utiliser Bun comme runtime, nous vous recommandons d'ajouter `bun` comme dépendance (`npm install bun`) pour garantir que `npx bun` soit disponible dans l'environnement d'exécution lors du deploy. Dans les projets où vous préférez utiliser l'installeur natif de Bun, vérifiez la compatibilité et vos exigences de build avant d'opter pour cette approche.

## 🖥️ Préparer le projet

### 📁 Fichiers de configuration essentiels

Lors de la préparation de votre projet BUN pour le deploy sur Square Cloud, veillez à inclure le fichier de configuration (`squarecloud.app/.config`) et les fichiers essentiels de votre application dans un fichier zip.

<Warning>Le fichier de configuration (`squarecloud.app/.config`) doit se trouver à la racine du fichier zip. Sinon, Square Cloud ne pourra pas le trouver lors du deploy.</Warning>

#### 🗑️ Fichiers à exclure avant l'envoi

* `node_modules` : Ce dossier n'a pas besoin d'être envoyé car il sera recréé lors de l'installation en production.
* `package-lock.json` : Ce fichier n'est pas nécessaire car l'environnement de production installera les dépendances à partir de `package.json`.

### 🤔 Pourquoi exclure ces fichiers ?

Il existe plusieurs raisons d'exclure `node_modules` et `package-lock.json` avant d'envoyer votre projet :

1. **Cohérence de l'installation :** Ne pas envoyer `node_modules` garantit que les dépendances sont installées par l'environnement de production, ce qui donne un build cohérent, exempt des divergences du système local.

2. **Installations à jour :** L'environnement de production installera les dernières versions compatibles des dépendances listées dans `package.json`, offrant un démarrage propre à votre application.

3. **Réduction de la taille de l'envoi :** Ne pas inclure ces dossiers réduit la taille du fichier envoyé, accélérant le processus d'envoi et rendant le deploy plus efficace.

En procédant ainsi, vous garantissez que votre application BUN est préparée de manière optimale pour l'hébergement sur Square Cloud.

### 📄 Fichiers requis

Trois fichiers sont nécessaires pour héberger votre projet BUN :

* [squarecloud.app/.config](https://docs.squarecloud.app/fr/getting-started/config-file)
* mainFile.js/.ts (Exemple de fichier principal)
* [package.json](./how-to-create-your-package-json) (Fichier des dépendances)

## 💡 Dépannage

<AccordionGroup>
  <Accordion title="Le fichier principal est invalide ou corrompu" icon="file" iconType="solid">
    Cette erreur se produit lorsque le fichier défini comme « main » de votre application dans le
    fichier de configuration n'existe pas, est mal orthographié, ou que le chemin
    est incorrect. Si votre fichier principal se trouve dans un dossier, par
    exemple, vous devez indiquer `folder/file.js`.
  </Accordion>

  <Accordion title="Mémoire insuffisante" icon="memory" iconType="solid">
    La quantité minimale de RAM requise pour héberger un bot est de 256 Mo et pour
    un site/une API elle est de 512 Mo. Cependant, selon la taille et la complexité de
    votre application, il peut être conseillé d'allouer une quantité de RAM plus importante pour
    éviter que votre application ne manque de mémoire et ne plante.
  </Accordion>
</AccordionGroup>

## 📤 Comment héberger votre projet

Maintenant que vous avez préparé tous les fichiers de votre projet Bun, l'étape suivante consiste à les envoyer sur Square Cloud et à mettre votre application en ligne. Il existe plusieurs façons d'envoyer les fichiers, mais nous en couvrirons deux : via le Dashboard ou via la CLI.

### Via le tableau de bord

<Steps>
  <Step title="Accéder à la page d'upload">
    Accédez à la [page d'upload](https://squarecloud.app/fr/dashboard/new) et téléversez le fichier zip de votre projet.
  </Step>

  <Step title="Configurer votre environnement">
    Après avoir téléversé votre zip, vous devrez configurer le nom, le fichier principal ou l'environnement d'exécution ainsi que d'autres paramètres de votre projet.\
    Si vous téléversez un projet web, veillez à sélectionner « Publication Web » et à définir un sous-domaine pour votre projet.
  </Step>

  <Step title="Déployer votre projet">
    Enfin, cliquez sur le bouton « Deploy » pour héberger votre projet sur Square Cloud.\
    Une fois le déploiement effectué, vous pouvez suivre l'état et les logs de votre projet depuis le tableau de bord.

    <Frame>
      <img src="https://cdn.squarecloud.app/docs/articles/dashboard/uploading.gif" alt="Téléversement d'une application vers Square Cloud" style={{ borderRadius: "0.2rem" }} />
    </Frame>
  </Step>
</Steps>

### Via la CLI

Pour utiliser cette méthode, vous devez créer un fichier de configuration nommé `squarecloud.app` à la racine de votre projet. Ce fichier contiendra la configuration nécessaire à votre projet.

<Card title="En savoir plus : comment créer le fichier de configuration pour Square Cloud." icon="link" href="/fr/getting-started/config-file">
  Le fichier squarecloud.app est un fichier de configuration qui servira à configurer votre application ; il sera utilisé pour définir votre environnement.
</Card>

<Steps>
  <Step title="Installer la CLI">
    Tout d'abord, vous devez avoir la CLI installée dans votre environnement. Si ce n'est pas encore le cas, exécutez la commande suivante dans votre terminal :

    ```
    npm install -g @squarecloud/cli
    ```

    Si vous l'avez déjà, nous vous recommandons de la mettre à jour. Pour cela, exécutez la commande suivante dans votre terminal :

    <Tabs>
      <Tab title="Windows">
        ```bash theme={null}
        squarecloud update
        ```
      </Tab>

      <Tab title="Linux, macOS et WSL">
        ```bash theme={null}
        curl -fsSL https://cli.squarecloud.app/install | bash
        ```
      </Tab>
    </Tabs>
  </Step>

  <Step title="S'authentifier">
    Maintenant, pour vous authentifier et utiliser les autres commandes de la CLI, vous trouverez votre clé d'autorisation [ici](https://squarecloud.app/fr/account/security) en cliquant sur « Request API Key ». Après avoir obtenu votre clé d'autorisation, exécutez la commande suivante :

    ```bash theme={null}
    squarecloud auth login
    ```
  </Step>

  <Step title="Téléverser votre projet">
    Enfin, pour déployer votre application sur Square Cloud à l'aide de la CLI, vous devez exécuter la commande suivante :

    ```bash theme={null}
    squarecloud upload 
    ```

    Ou si vous avez créé le zip manuellement, vous pouvez utiliser :

    ```bash theme={null}
    squarecloud upload --file <path/to/zip> 
    ```
  </Step>
</Steps>

## Contactez-nous

Si vous rencontrez toujours des **difficultés techniques**, notre **équipe de support spécialisée** est disponible pour vous aider. [**Contactez-nous**](https://squarecloud.app/fr/support) et nous serons ravis de vous aider à résoudre tout problème.
