> ## 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.

# Démarrer sur Square Cloud avec PHP

> Apprenez à démarrer sur Square Cloud avec PHP

## 🚀 Introduction

* Avant de commencer, assurez-vous que PHP est installé sur votre système. Si ce n'est pas encore le cas, vous pouvez le télécharger depuis le [site officiel de PHP](https://www.php.net/).
* Ensuite, vous devrez créer un compte sur Square Cloud, ce qui peut être fait 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 forfait payant actif sur votre compte. Vous pouvez consulter nos forfaits 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>

## 📄 Fichiers requis

* index.php (Exemple de fichier principal).
* `composer.json` (Fichier de dépendances *optionnel*).
* [squarecloud.app](https://docs.squarecloud.app/fr/getting-started/config-file) (fichier contenant la configuration Square Cloud).

## ▶️ Comment démarrer votre application

* Si le champ `START` n'est pas défini dans le fichier de configuration, un serveur PHP local sera démarré avec la commande `php -S 0.0.0.0:80`. 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 fichier `composer.json` existe, toutes les dépendances seront installées à l'aide de la commande `php composer.phar install`.

## PHP avec Swoole

* Swoole est un outil qui améliore les performances standard de PHP en permettant au serveur web de traiter plusieurs requêtes de manière asynchrone.

* Avec cet outil, vous pouvez créer des microservices, des websockets, des files d'attente en arrière-plan, entre autres. Il vous permet également d'exécuter des événements tout comme le fait JavaScript.

* Il est également important de mentionner que Swoole est compatible avec d'autres frameworks PHP. Un bon exemple de framework PHP est Laravel, qui est compatible avec Swoole grâce à Octane.

* Vous pouvez l'utiliser à la place du serveur PHP standard en définissant votre commande START personnalisée. Exemple :

```bash theme={null}
npm run build && composer install --no-interaction --prefer-dist --optimize-autoloader && php artisan optimize && php artisan migrate --force && php -v && php artisan octane:start --host=0.0.0.0 --port=80 --workers=4 --task-workers=8 --server=swoole
```

* Vous pouvez découvrir toutes les puissantes fonctions de Swoole [ici](https://www.php.net/manual/en/book.swoole.php).

## 🖥️ Préparation du projet

Avant d'héberger votre projet sur Square Cloud, vérifiez d'abord que les fichiers du projet sont correctement configurés pour l'hébergement.

Si votre projet inclut un fichier `composer.json`, Square Cloud installera automatiquement les dépendances à l'aide de Composer. Cependant, si votre projet possède également des dépendances Node (c'est-à-dire un `package.json`), vous devez spécifier le processus d'installation dans le champ `START` de votre fichier `squarecloud.app`. Par exemple :

```plaintext theme={null}
START=npm install && php .....
```

<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>

## 📤 Comment héberger votre projet

Maintenant que vous avez préparé tous les fichiers de votre projet PHP, l'étape suivante consiste à les téléverser sur Square Cloud et à mettre votre application en ligne. Il existe plusieurs façons de téléverser, mais nous en aborderons 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.
