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

# squarecloud.ignore : exclure des fichiers du déploiement

> Excluez des fichiers de vos déploiements CLI et VS Code avec squarecloud.ignore : syntaxe .gitignore, exclusions par défaut (node_modules), règles et exemples.

## Qu'est-ce que le fichier `squarecloud.ignore` ?

Le fichier `squarecloud.ignore` liste les fichiers et dossiers à exclure lorsque vous envoyez une application ou effectuez son commit. La CLI Square Cloud (`upload`, `commit` et `zip`) et l'extension Square Cloud pour VS Code lisent le même fichier, avec les mêmes règles et les mêmes valeurs par défaut : un projet est donc empaqueté de la même façon par les deux.

Il utilise la syntaxe de `.gitignore` : commentaires, caractères génériques, règles limitées aux dossiers ou à la racine, et `!` pour réintégrer un fichier.

## Créer le fichier

Créez un fichier nommé `squarecloud.ignore` à la racine du projet.

```gitignore theme={"system"}
# Résultats de tests et logs
coverage/
*.log
!keep.log
```

<Info>Le fichier doit s'appeler exactement `squarecloud.ignore`. `.gitignore` n'est pas lu à sa place : il liste souvent des fichiers dont l'application a besoin pour s'exécuter, comme `.env`.</Info>

## Toujours exclus

Ces chemins sont ignorés avant vos propres règles, vous n'avez donc pas besoin de les lister :

* `node_modules`
* `.git`, `.github` et `.vscode`
* `package-lock.json`, `pnpm-lock.yaml` et `yarn.lock`

Réintégrez n'importe lequel d'entre eux avec une règle `!`.

### Fichiers de verrouillage

Les fichiers de verrouillage restent hors du zip par défaut : Square Cloud installe donc vos dépendances à partir des plages de versions de `package.json`. Si vous avez besoin des versions exactes figées par votre fichier de verrouillage, réintégrez-le :

```gitignore theme={"system"}
!package-lock.json
```

## Syntaxe

Chaque ligne est une règle. Le fichier ou le dossier correspondant est exclu de l'envoi.

| Motif | Correspondance |
| - | - |
| `file.txt` | Un fichier ou un dossier portant ce nom, à n'importe quel niveau. |
| `/config.json` | `config.json` uniquement à la racine du projet. |
| `logs/` | Chaque dossier nommé `logs` et son contenu, mais pas un fichier nommé `logs`. |
| `*.log` | Les noms se terminant par `.log`. `*` ne traverse jamais un `/`. |
| `?` | Exactement un caractère, comme dans `file?.txt`. |
| `[abc]` | L'un des caractères listés, comme dans `backup[12].zip`. |
| `**/cache/`, `logs/**`, `a/**/b` | N'importe quel nombre de dossiers, y compris aucun. |
| `!keep.log` | Réintègre un fichier qu'une règle précédente a exclu. |
| `# commentaire` | Un commentaire ; il n'exclut rien. |
| `\#notes.txt`, `\!important`, `\*` | Un `\` rend littéral le caractère suivant. |

Application des règles :

* **La dernière ligne correspondante l'emporte** : placez donc les règles `!` après les règles qu'elles annulent.
* **Un fichier situé dans un dossier ignoré ne peut pas être réintégré.** Pour conserver un seul fichier d'un dossier, ignorez le contenu du dossier (`logs/*`) plutôt que le dossier lui-même (`logs/`), puis ajoutez `!logs/keep.log`.
* **La correspondance ignore la casse** : `Dist/` correspond aussi à `dist`.
* Seuls les espaces de fin sont retirés d'une règle, jamais les tabulations. Échappez avec `\ ` un espace de fin que vous voulez conserver.

<Note>Utilisez `/` comme séparateur de dossiers dans les motifs, y compris sous Windows.</Note>

## Exemples courants

Excluez les outils de développement et les fichiers générés tout en conservant tout ce dont l'application a besoin pour s'exécuter :

```gitignore theme={"system"}
# Outils
.idea/

# Fichiers générés
coverage/
__pycache__/
*.log

# Fichiers temporaires
*.tmp
*.cache
```

<Warning>
  N'ignorez pas un fichier que votre application lit à l'exécution. Si votre code charge ses secrets depuis un fichier `.env` et que vous listez `.env` ici, l'application démarre sans eux et un bot échoue avec un token invalide. Déplacez d'abord ces valeurs dans les [variables d'environnement](/fr/platform/environment-variables) de l'application ; ensuite, vous pouvez exclure `.env` de l'envoi sans risque.
</Warning>

## Fonctionnement

La CLI et l'extension VS Code lisent `squarecloud.ignore` lorsqu'elles préparent les fichiers pour un envoi ou un commit. Les fichiers correspondant à une règle sont exclus du zip envoyé à Square Cloud.

* Un lien symbolique vers un fichier est envoyé comme le fichier vers lequel il pointe. Les liens vers des dossiers et les liens cassés sont ignorés.
* La CLI lit encore les anciens noms (`.squareignore`, `.squarecloudignore` et `square.ignore`) lorsque `squarecloud.ignore` est absent, et vous demande de renommer le fichier.

Conservez hors des chemins ignorés les fichiers nécessaires à l'exécution, comme le fichier défini par `MAIN` dans votre [fichier de configuration](/fr/getting-started/config-file).

L'envoi depuis le tableau de bord ne lit pas ce fichier : lorsque vous créez le zip vous-même, laissez ces fichiers en dehors.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.