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

# Gérer les applications

> Dans cette section, vous apprendrez à gérer votre application à l'aide de la bibliothèque disponible. Vous pouvez interagir avec votre application de plusieurs manières, comme obtenir des informations sur son statut, accéder aux logs, la démarrer, l'arrêter et la redémarrer, ainsi que gérer les fichiers qui lui sont associés.

[Client]: client

[Application]: client#application

Toutes les opérations ci-dessous peuvent être effectuées via la classe [Client], la
classe [Application] ou la CLI. Voici des exemples montrant comment réaliser chacune de
ces tâches avec les deux classes :

## Obtenir le statut de votre application

`client.app_status` et `app.status` renvoient un objet `StatusData`.

<Tabs>
  <Tab title="Avec le client">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        status = await client.app_status('application_id')  # StatusData(...)

        print(status.ram)      # '70MB'
        print(status.cpu)      # '5%'
        print(status.network)  # {'total': '0 KB ↑ 0 KB ↓', 'now': '0 KB ↑ 0 KB ↓'}
        print(status.running)  # True | False
        print(status.storage)  # '0B'
    ```
  </Tab>

  <Tab title="Avec l'application">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        app = await client.app('application_id')  # StatusData(...)
        status = await app.status()

        print(status.ram)  # '70MB'
        print(status.cpu)  # '5%'
        print(status.network)  # {'total': '0 KB ↑ 0 KB ↓', 'now': '0 KB ↑ 0 KB ↓'}
        print(status.running)  # True | False
        print(status.storage)  # '0B'
    ```
  </Tab>
</Tabs>

## Obtenir les logs

`client.get_logs` et `app.logs` renvoient un objet `LogsData`.

<Tabs>
  <Tab title="Avec le client">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        logs = await client.get_logs('application_id')

        print(logs)  # LogsData(logs='Hello World!')
        print(logs.logs)  # 'Hello World'
    ```
  </Tab>

  <Tab title="Avec l'application">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        app = await client.app('application_id')
        logs = await app.logs()

        print(logs)  # LogsData(logs='Hello World!')
        print(logs.logs)  # 'Hello World'
    ```
  </Tab>
</Tabs>

## Démarrer l'application

`client.start_app` et `app.start` renvoient un objet `Response`.

<Tabs>
  <Tab title="Avec le client">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        await client.start_app('application_id')
    ```
  </Tab>

  <Tab title="Avec l'application">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        app = await client.app('application_id')
        await app.start()
    ```
  </Tab>
</Tabs>

## Arrêter l'application

`client.stop_app` et `app.stop` renvoient un objet `Response`.

<Tabs>
  <Tab title="Avec le client">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        await client.stop_app('application_id')
    ```
  </Tab>

  <Tab title="Avec l'application">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        app = await client.app('application_id')
        await app.stop()
    ```
  </Tab>
</Tabs>

## Redémarrer l'application

`client.restart_app` et `app.restart` renvoient un objet `Response`.

<Tabs>
  <Tab title="Avec le client">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        await client.restart_app('application_id')
    ```
  </Tab>

  <Tab title="Avec l'application">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        app = await client.app('application_id')
        await app.restart()
    ```
  </Tab>
</Tabs>

## Supprimer une application

`client.delete_app` et `app.delete` renvoient un objet `Response`.

<Warning>
  Cette action supprimera votre application de façon **PERMANENTE**, ce qui signifie que, sauf si vous disposez d'une sauvegarde de votre application, elle ne pourra pas être récupérée.
</Warning>

<Tabs>
  <Tab title="Avec le client">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        await client.delete_app('application_id')
    ```
  </Tab>

  <Tab title="Avec l'application">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        app = await client.app('application_id')
        await app.delete()
    ```
  </Tab>
</Tabs>
