> For the complete documentation index, see [llms.txt](https://academy.shade.inc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://academy.shade.inc/guides/guides-fr/migration-massive-de-donnees-vers-shade-via-rclone.md).

# Migration massive de données vers Shade via Rclone

### Gestion efficace des migrations et transferts de données

Voici un guide pour migrer de grandes quantités de données vers ou depuis votre lecteur Shade à l'aide de rclone, un outil open source puissant qui prend en charge de nombreuses sources différentes.

### Téléchargement de rclone

Le backend Shade est désormais disponible nativement dans Rclone. Vous pouvez télécharger rclone depuis la [page officielle de téléchargement de rclone](https://rclone.org/downloads/).

### À propos de rclone

[rclone](https://rclone.org/) est un programme en ligne de commande puissant pour gérer les fichiers sur le stockage cloud. Il est souvent décrit comme « rsync pour le stockage cloud » et prend en charge plus de 70 fournisseurs de stockage cloud différents.

Les cas d'utilisation courants de rclone incluent :

* **Synchronisation et sauvegarde** des fichiers entre votre système local et le stockage cloud
* **Migration de données** d'un fournisseur cloud à un autre
* **Automatisation des flux de travail** avec des synchronisations et sauvegardes planifiées
* **Gestion de transferts de fichiers volumineux** avec reprise et contrôle de la bande passante
* **Opérations par lots** pour copier, déplacer ou supprimer des fichiers entre services cloud

Avec le backend rclone de Shade, vous pouvez tirer parti de toutes les puissantes fonctionnalités de rclone pour interagir directement avec vos lecteurs Shade depuis la ligne de commande.

### Configuration

Voici un exemple de configuration de Shade.

D'abord, [créez un compte gratuit](https://app.shade.inc/) et choisissez un abonnement.

Vous devrez vous connecter et obtenir la `clé API` et `l'ID du lecteur` pour votre compte dans la section des paramètres de votre compte et du lecteur créé respectivement.

Ouvrez maintenant une invite de commande ou un terminal et allez dans le dossier où vous avez téléchargé ce fichier, puis exécutez

`./rclone config` \
\
(Si vous êtes sur un Mac, vous devrez indiquer à votre ordinateur que ce fichier peut être exécuté, donc exécutez&#x20;

`chmod +x rclone` )

Puis suivez ce processus interactif :

```
e) Modifier le distant existant
n) Nouveau distant
d) Supprimer le distant
r) Renommer le distant
c) Copier le distant
s) Définir un mot de passe de configuration
q) Quitter la configuration
e/n/d/r/c/s/q> n

Entrez un nom pour le nouveau distant.
nom> Shade

Option de stockage.
Type de stockage à configurer.
Choisissez un numéro ci-dessous, ou saisissez votre propre valeur.
(Faites défiler la liste et trouvez l'option Shade, au 11/5/25 c'est la 52)
[AUTRES OPTIONS]
xx / Système de fichiers Shade
   \ (shade)
[AUTRES OPTIONS]
Stockage> xx

Option drive_id.
L'ID de votre lecteur, voir dans les paramètres du lecteur. Les configurations rclone individuelles doivent être créées par lecteur.
Entrez une valeur.
drive_id> [VOTRE_ID]

Option api_key.
Une clé API pour votre compte.
Entrez une valeur.
api_key> [VOTRE_CLE_API]

Modifier la configuration avancée ?
y) Oui
n) Non (par défaut)
y/n> n

Configuration terminée.
Options :
- type : shade
- drive_id : [VOTRE_ID]
- api_key : [VOTRE_CLE_API]
Conserver ce distant « Shade » ?
y) Oui, c'est bon (par défaut)
e) Modifier ce distant
d) Supprimer ce distant
y/e/d> y

```

### Exemple de flux de travail : copie de fichiers vers Shade

Une fois votre distant Shade configuré, vous pouvez facilement copier des fichiers de votre système de fichiers local vers Shade. Voici un flux de travail courant :

#### Copier un dossier local vers Shade

Pour copier un dossier de votre système local vers votre lecteur Shade :

```bash
./rclone copy /path/to/local/folder Shade:/destination/folder
```

Par exemple, pour copier votre dossier « Projects » vers Shade :

```bash
./rclone copy ~/Projects Shade:/Projects
```

Cette commande va :

* Copier tous les fichiers du dossier Projects local vers Shade
* Conserver la structure des dossiers
* Ignorer les fichiers qui existent déjà et n'ont pas changé
* Afficher la progression pendant le transfert

#### Commandes utiles supplémentaires

**Synchroniser un dossier** (rend la destination identique à la source, suppressions comprises) :

```bash
./rclone sync ~/Projects Shade:/Projects
```

**Vérifier ce qui serait copié** sans effectuer la copie :

```bash
./rclone copy ~/Projects Shade:/Projects --dry-run
```

**Copie avec progression et statistiques**:

```bash
./rclone copy ~/Projects Shade:/Projects --progress --stats 1s
```

**Lister les fichiers de votre lecteur Shade**:

```bash
./rclone ls Shade:/
```

### Options standard

Voici les options standard propres à shade (Shade FS).

**Remarque :** Pour la plupart des utilisateurs, il suffit de configurer `drive_id` et `api_key`. Les options avancées ci-dessous sont destinées à des cas d'utilisation spécifiques et peuvent être laissées à leurs valeurs par défaut.

#### --shade-drive-id

L'ID de votre lecteur, voir dans les paramètres du lecteur. Les configurations rclone individuelles doivent être créées par lecteur.

Propriétés :

* Configuration : drive\_id
* Variable d'environnement : RCLONE\_SHADE\_DRIVE\_ID
* Type : chaîne
* Obligatoire : true

#### --shade-api-key

Une clé API pour votre compte. Vous pouvez la trouver sous Paramètres > Clés API

Propriétés :

* Configuration : api\_key
* Variable d'environnement : RCLONE\_SHADE\_API\_KEY
* Type : chaîne
* Obligatoire : true

### Options avancées

Voici les options avancées propres à shade (Shade FS).

#### --shade-endpoint

Point de terminaison du service.

Laissez vide normalement.

Propriétés :

* Configuration : endpoint
* Variable d'environnement : RCLONE\_SHADE\_ENDPOINT
* Type : chaîne
* Obligatoire : false

#### --shade-chunk-size

Taille de bloc à utiliser pour l'envoi.

Tous les fichiers plus grands que cela seront envoyés en blocs de cette taille.

Notez que cela est stocké en mémoire par transfert, donc l'augmenter augmentera l'utilisation de la mémoire.

Le minimum est 5 Mo, le maximum 5 Go.

Propriétés :

* Configuration : chunk\_size
* Variable d'environnement : RCLONE\_SHADE\_CHUNK\_SIZE
* Type : SizeSuffix
* Par défaut : 64Mi

#### --shade-encoding

L'encodage pour le backend.

Voir la [section encodage dans l'aperçu](https://github.com/shade-labs/docs/blob/main/overview/README.md#encoding) pour plus d'informations.

Propriétés :

* Configuration : encoding
* Variable d'environnement : RCLONE\_SHADE\_ENCODING
* Type : Encoding
* Par défaut : Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot

#### --shade-description

Description du distant.

Propriétés :

* Configuration : description
* Variable d'environnement : RCLONE\_SHADE\_DESCRIPTION
* Type : chaîne
* Obligatoire : false

### Routes API utilisées par l'intégration Rclone

Les routes suivantes sont utilisées par l'intégration rclone pour interagir directement avec le système de fichiers Shade. Si vous souhaitez utiliser ces routes directement dans vos propres applications, vous devrez d'abord obtenir un jeton utilisateur en appelant la route appropriée de la section « Utilisateurs » dans la section « Utiliser l'API » de notre documentation. Une fois que vous avez le jeton utilisateur, transmettez-le comme jeton bearer dans vos requêtes à la place de votre clé API.

**Remarque :** Le backend rclone gère l'authentification automatiquement à l'aide de votre clé API - vous n'avez à vous soucier des jetons utilisateur que si vous développez des intégrations personnalisées en dehors de rclone.

## GET /{drive-id}/fs/listdir

> List directory contents for a given drive path

```json
{"openapi":"3.1.1","info":{"title":"Shade Rclone Routes","version":"0.0.0"},"paths":{"/{drive-id}/fs/listdir":{"get":{"tags":["drives"],"parameters":[{"name":"drive","in":"path","required":true,"schema":{"type":"string"}},{"name":"path","in":"query","required":true,"schema":{"type":"string"}},{"name":"authorization","in":"header","required":true,"schema":{"type":"string"}}],"operationId":"getByDriveFsListdir","summary":"List directory contents for a given drive path"}}}}
```

## GET /{drive-id}/fs/attr

> Get file or directory attributes/metadata

```json
{"openapi":"3.1.1","info":{"title":"Shade Rclone Routes","version":"0.0.0"},"paths":{"/{drive-id}/fs/attr":{"get":{"tags":["drives"],"parameters":[{"name":"drive","in":"path","required":true,"schema":{"type":"string"}},{"name":"path","in":"query","required":true,"schema":{"type":"string"}},{"name":"authorization","in":"header","required":true,"schema":{"type":"string"}}],"operationId":"getByDriveFsAttr","summary":"Get file or directory attributes/metadata"}}}}
```

## GET /{drive-id}/fs/download

> Download a file with optional content disposition

```json
{"openapi":"3.1.1","info":{"title":"Shade Rclone Routes","version":"0.0.0"},"paths":{"/{drive-id}/fs/download":{"get":{"tags":["drives"],"parameters":[{"name":"drive","in":"path","required":true,"schema":{"type":"string"}},{"name":"path","in":"query","required":true,"schema":{"type":"string"}},{"name":"disposition_type","in":"query","required":true,"schema":{"default":"attachment","type":"string"}},{"name":"authorization","in":"header","required":true,"schema":{"type":"string"}}],"operationId":"getByDriveFsDownload","summary":"Download a file with optional content disposition"}}}}
```

## POST /{drive-id}/fs/mkdir

> Create a directory at the specified path

```json
{"openapi":"3.1.1","info":{"title":"Shade Rclone Routes","version":"0.0.0"},"paths":{"/{drive-id}/fs/mkdir":{"post":{"tags":["drives"],"parameters":[{"name":"drive","in":"path","required":true,"schema":{"type":"string"}},{"name":"path","in":"query","required":true,"schema":{"type":"string"}},{"name":"authorization","in":"header","required":true,"schema":{"type":"string"}}],"operationId":"postByDriveFsMkdir","summary":"Create a directory at the specified path"}}}}
```

## POST /{drive-id}/fs/mkdir/batch

> Create multiple directories in a single request

```json
{"openapi":"3.1.1","info":{"title":"Shade Rclone Routes","version":"0.0.0"},"paths":{"/{drive-id}/fs/mkdir/batch":{"post":{"tags":["drives"],"parameters":[{"name":"drive","in":"path","required":true,"schema":{"type":"string"}},{"name":"authorization","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{},"required":true},"operationId":"postByDriveFsMkdirBatch","summary":"Create multiple directories in a single request"}}}}
```

## POST /{drive-id}/fs/copy-file

> Copy a file from one path to another

```json
{"openapi":"3.1.1","info":{"title":"Shade Rclone Routes","version":"0.0.0"},"paths":{"/{drive-id}/fs/copy-file":{"post":{"tags":["drives"],"parameters":[{"name":"drive","in":"path","required":true,"schema":{"type":"string"}},{"name":"from","in":"query","required":true,"schema":{"type":"string"}},{"name":"to","in":"query","required":true,"schema":{"type":"string"}},{"name":"authorization","in":"header","required":true,"schema":{"type":"string"}}],"operationId":"postByDriveFsCopy-file","summary":"Copy a file from one path to another"}}}}
```

## POST /{drive-id}/fs/move

> Move or rename a file or directory

```json
{"openapi":"3.1.1","info":{"title":"Shade Rclone Routes","version":"0.0.0"},"paths":{"/{drive-id}/fs/move":{"post":{"tags":["drives"],"parameters":[{"name":"drive","in":"path","required":true,"schema":{"type":"string"}},{"name":"from","in":"query","required":true,"schema":{"type":"string"}},{"name":"to","in":"query","required":true,"schema":{"type":"string"}},{"name":"authorization","in":"header","required":true,"schema":{"type":"string"}}],"operationId":"postByDriveFsMove","summary":"Move or rename a file or directory"}}}}
```

## POST /{drive-id}/fs/delete

> Delete a file or directory at the specified path

```json
{"openapi":"3.1.1","info":{"title":"Shade Rclone Routes","version":"0.0.0"},"paths":{"/{drive-id}/fs/delete":{"post":{"tags":["drives"],"parameters":[{"name":"drive","in":"path","required":true,"schema":{"type":"string"}},{"name":"path","in":"query","required":true,"schema":{"type":"string"}},{"name":"authorization","in":"header","required":true,"schema":{"type":"string"}}],"operationId":"postByDriveFsDelete","summary":"Delete a file or directory at the specified path"}}}}
```

## GET /{drive-id}/info/storage

> Fetch overall storage usage and limits

```json
{"openapi":"3.1.1","info":{"title":"Shade Rclone Routes","version":"0.0.0"},"paths":{"/{drive-id}/info/storage":{"get":{"tags":["drives"],"parameters":[{"name":"drive","in":"path","required":true,"schema":{"type":"string"}},{"name":"authorization","in":"header","required":true,"schema":{"type":"string"}}],"operationId":"getByDriveInfoStorage","summary":"Fetch overall storage usage and limits"}}}}
```

## GET /{drive-id}/info/upload

> Fetch upload configuration and constraints

```json
{"openapi":"3.1.1","info":{"title":"Shade Rclone Routes","version":"0.0.0"},"paths":{"/{drive-id}/info/upload":{"get":{"tags":["drives"],"parameters":[{"name":"drive","in":"path","required":true,"schema":{"type":"string"}},{"name":"authorization","in":"header","required":true,"schema":{"type":"string"}}],"operationId":"getByDriveInfoUpload","summary":"Fetch upload configuration and constraints"}}}}
```

## POST /{drive-id}/upload/multipart/part/{partNumber}

> Upload a specific part of a multipart upload

```json
{"openapi":"3.1.1","info":{"title":"Shade Rclone Routes","version":"0.0.0"},"paths":{"/{drive-id}/upload/multipart/part/{partNumber}":{"post":{"tags":["drives"],"parameters":[{"name":"drive","in":"path","required":true,"schema":{"type":"string"}},{"name":"partNumber","in":"path","required":true,"schema":{"type":"number"}},{"name":"token","in":"query","required":true,"schema":{"type":"string"}},{"name":"signAllEndpoints","in":"query","required":false,"schema":{"type":"string"}}],"operationId":"postByDriveUploadMultipartPartByPartNumber","summary":"Upload a specific part of a multipart upload"}}}}
```

## POST /{drive-id}/upload/multipart

> Initiate a multipart upload session

```json
{"openapi":"3.1.1","info":{"title":"Shade Rclone Routes","version":"0.0.0"},"paths":{"/{drive-id}/upload/multipart":{"post":{"tags":["drives"],"parameters":[{"name":"drive","in":"path","required":true,"schema":{"type":"string"}},{"name":"authorization","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{},"required":true},"operationId":"postByDriveUploadMultipart","summary":"Initiate a multipart upload session"}}}}
```

## POST /{drive-id}/upload/multipart/complete

> Complete a multipart upload by finalizing parts

```json
{"openapi":"3.1.1","info":{"title":"Shade Rclone Routes","version":"0.0.0"},"paths":{"/{drive-id}/upload/multipart/complete":{"post":{"tags":["drives"],"parameters":[{"name":"drive","in":"path","required":true,"schema":{"type":"string"}},{"name":"token","in":"query","required":true,"schema":{"type":"string"}},{"name":"authorization","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{},"required":true},"operationId":"postByDriveUploadMultipartComplete","summary":"Complete a multipart upload by finalizing parts"}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://academy.shade.inc/guides/guides-fr/migration-massive-de-donnees-vers-shade-via-rclone.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
