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

# Comment héberger une application Selenium sur Square Cloud

> Guide complet pour automatiser la navigation web à l'aide de Selenium et Chromium sur Square Cloud avec une implémentation professionnelle et des configurations avancées.

## Développement professionnel d'un script Selenium

Pour mettre en œuvre une automatisation web efficace sur Square Cloud, il est essentiel d'établir un environnement de développement adéquat et de suivre les bonnes pratiques de configuration.

### Prérequis techniques essentiels

* **Python et pip** : Assurez-vous d'avoir **Python** et **pip** installés sur votre système. Si ce n'est pas le cas, téléchargez-les depuis le [site officiel de Python](https://www.python.org/) et le [site officiel de Pip](https://pypi.org/).
* **Compte Square Cloud** : Créez votre compte via la [page d'inscription](https://squarecloud.app/fr/signup), en utilisant votre adresse e-mail pour l'enregistrement.
* **Plan payant actif** : Un plan payant est nécessaire pour garantir des ressources adéquates à l'exécution des applications Selenium. Consultez nos [plans disponibles](https://squarecloud.app/fr/pricing) et choisissez le plus adapté à vos besoins.

### Configuration de l'environnement Selenium

Une fois Python et pip installés, poursuivez avec la création du script Selenium. Tout d'abord, installez la bibliothèque Selenium :

```bash Terminal theme={null}
pip install selenium
```

Ensuite, créez un fichier Python (par exemple, `main.py`) et ajoutez le code suivant pour implémenter un script Selenium basique :

```python main.py theme={null}
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service

# Configuration options for Chromium
options = Options()
options.add_argument("--headless")  # Runs in background without graphical interface
options.add_argument("--no-sandbox")  # Required for execution as root in containerized environments
options.add_argument("--disable-dev-shm-usage")  # Overcomes shared memory limitations on large pages

# Driver initialization
service = Service('/usr/bin/chromedriver')  # Default ChromeDriver path on Square Cloud
driver = webdriver.Chrome(service=service, options=options)

# Browser window dimensions configuration
driver.set_window_size(1920, 1080)  # Adjust as needed for your application

# Navigate to web page
driver.get('https://www.google.com')

# Loop for screenshot capture every minute
while True:
    driver.save_screenshot('page.png')
    print("Page screenshot saved successfully.")
    time.sleep(60)  # 60-second pause between captures
```

## Gestion des dépendances avec requirements.txt

Le fichier `requirements.txt` est un composant essentiel qui liste toutes les bibliothèques externes nécessaires à votre projet. Il est crucial d'inclure toutes les dépendances utilisées, à l'exception des bibliothèques Python natives comme `random` et `datetime`. Ce fichier doit être inclus lors de la soumission de votre application à Square Cloud.

```txt requirements.txt theme={null}
selenium
```

## Configuration du chemin de Chromium

Dans l'implémentation présentée ci-dessus, il n'est pas nécessaire de définir explicitement le chemin de Chromium, car le WebDriver Selenium peut localiser automatiquement le navigateur lorsqu'il est installé dans un emplacement système standard. Le ChromeDriver, spécifié avec `Service('/usr/bin/chromedriver')`, sait où localiser l'exécutable Chromium/Chrome.

### Architecture de Square Cloud

Sur Square Cloud, Chromium est installé dans `/usr/bin/chromium`, qui est l'emplacement système standard. Par conséquent, le WebDriver Selenium peut le localiser automatiquement via le ChromeDriver spécifié. Ainsi, il n'est pas nécessaire de spécifier explicitement le chemin de Chromium dans le code, sauf s'il existe des raisons particulières de le faire, comme des installations personnalisées ou des configurations d'environnement différentes.

## Fichier de configuration Square Cloud

<Card title="À découvrir : 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 essentiel qui sera utilisé pour configurer votre application sur Square Cloud. Il définit le nom, la description, la version, le fichier principal, entre autres configurations fondamentales.
</Card>

## Upload du projet sur Square Cloud

Après avoir préparé tous les fichiers du projet, poursuivez avec l'upload sur Square Cloud et hébergez votre application de manière professionnelle.

<Tabs>
  <Tab title="Upload via le tableau de bord">
    Accédez au [tableau de bord Square Cloud](https://squarecloud.app/fr/dashboard/new) et uploadez les fichiers de votre projet.

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

  <Tab title="Upload via la CLI">
    <Steps>
      <Step title="Première étape">
        Tout d'abord, vous devez avoir la CLI installée dans votre environnement. Si vous ne l'avez pas encore, exécutez la commande suivante dans le terminal :

        ```bash Terminal theme={null}
        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 le terminal :

        ```bash Terminal theme={null}
        squarecloud update
        ```
      </Step>

      <Step title="Deuxième étape">
        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 Terminal theme={null}
        squarecloud auth login
        ```
      </Step>

      <Step title="Troisième étape">
        Enfin, pour déployer votre application sur Square Cloud à l'aide de la CLI, exécutez la commande suivante en fournissant le chemin vers votre fichier zip :

        ```bash Terminal theme={null}
        squarecloud upload zip
        ```
      </Step>
    </Steps>
  </Tab>
</Tabs>

## Ressources et documentation supplémentaires

Pour des informations plus détaillées sur Selenium et ses outils avancés, consultez la [documentation officielle de Selenium](https://www.selenium.dev/documentation/webdriver/getting_started/). Vous y trouverez des guides techniques détaillés, des tutoriels spécialisés et une documentation API complète pour tirer le meilleur parti des fonctionnalités de Selenium.

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