Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[i18n-FR] Translated "download" to french (sub PR of 1900) #2330

Open
wants to merge 95 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
cbde7dc
Translated toctree & git_vs_htttp
Dec 9, 2023
7d596f8
Translated the cli guide
Dec 10, 2023
9ab5ba7
Testing to see if user is well configured
Dec 10, 2023
5646220
TEsting to see if branch is well configured
Dec 10, 2023
8d3cd26
Translated index
Dec 10, 2023
2687f87
Translated quick-start
Dec 10, 2023
7aff9fd
Corrected a minor error in the english doc
JibrilEl Dec 11, 2023
9fd8930
Reverting a wrong change
JibrilEl Dec 11, 2023
1ea5fc7
Translated installation.md
JibrilEl Dec 11, 2023
66c11a3
Translated community.md
JibrilEl Dec 11, 2023
d2b4c30
Translated download.md
JibrilEl Dec 11, 2023
87b5bbe
Translated hf_file_system.md
JibrilEl Dec 11, 2023
d18cbf9
Translated inference_client
JibrilEl Dec 11, 2023
3f3e831
Translated inference_endpoints.md
JibrilEl Dec 11, 2023
d492923
Fixed a few errors in the translation
JibrilEl Dec 12, 2023
1127be0
Translated integrations.md
JibrilEl Dec 13, 2023
c12624a
Translated mana-cache.md. Did not find a good translfation for cache-…
JibrilEl Dec 14, 2023
a56ee9b
Translated manage-space.md
JibrilEl Dec 15, 2023
158220b
Translated overview.md
JibrilEl Dec 16, 2023
9e2910a
Translated package-reference file
JibrilEl Dec 16, 2023
f7ec79f
Translated hf_api, login, mixins, repository, space_runtime and tenso…
JibrilEl Dec 18, 2023
c043949
Finished the translation of package reference by translating utilitie…
JibrilEl Dec 19, 2023
f2abc0e
Translated model-cards.md
JibrilEl Dec 20, 2023
2aff74f
Translated collections.md
JibrilEl Dec 27, 2023
9189ef8
translated community.md
JibrilEl Dec 28, 2023
df12926
Translated download.md, corrected an error in the english version and…
JibrilEl Dec 29, 2023
621b58c
translated hf_file_system
JibrilEl Dec 30, 2023
f7f7190
Translated inference_endpoints.md
JibrilEl Jan 1, 2024
4a250a5
Translated inference.md
JibrilEl Jan 2, 2024
ea0137b
translated repository.md
JibrilEl Jan 3, 2024
f521215
Translated search.md
JibrilEl Jan 3, 2024
8ab86fb
Translated webhooks_server.md
JibrilEl Jan 3, 2024
c420deb
corrected webhooks
JibrilEl Jan 4, 2024
ca05e4e
Translated upload.md
JibrilEl Jan 4, 2024
a166872
Added "fr" to .github/workflow
JibrilEl Jan 7, 2024
a6bff36
Deleted redirects as it is not needed
JibrilEl Jan 7, 2024
6946056
Corrected toctree.yml
JibrilEl Jan 7, 2024
c1af8c0
Corrected errors o quick-start.md
JibrilEl Jan 7, 2024
5569ed9
Corrected installation.md
JibrilEl Jan 8, 2024
913454f
Changed the translation of the product "space" in the whole documenta…
JibrilEl Jan 10, 2024
4187a37
Corrected git_vs_http
JibrilEl Feb 2, 2024
5617984
Corrected CLI.md
JibrilEl Feb 2, 2024
48c4612
Corrected collections.md
JibrilEl Feb 2, 2024
7efb701
Corrected community.md
JibrilEl Feb 3, 2024
de03384
Corrected download.md
JibrilEl Feb 3, 2024
353fa23
Corrected hf_file_system
JibrilEl Feb 3, 2024
1fad9bd
Correction of docs/source/fr/concepts/git_vs_http.md
JibrilEl Feb 9, 2024
5089a9a
Corrected git vs http and index.md
JibrilEl Feb 9, 2024
101e35c
Merge branch 'main' of https://github.com/JibrilEl/huggingface_hub
JibrilEl Feb 9, 2024
82c8a79
Finished correcting index.md
JibrilEl Feb 9, 2024
499cd8c
Update docs/source/fr/installation.md
JibrilEl Feb 9, 2024
5655476
Update docs/source/fr/_toctree.yml
JibrilEl Feb 9, 2024
3e50bad
Update docs/source/fr/installation.md
JibrilEl Feb 9, 2024
afbf7db
Update docs/source/fr/installation.md
JibrilEl Feb 9, 2024
1625548
Update docs/source/fr/installation.md
JibrilEl Feb 9, 2024
dd88260
Update docs/source/fr/installation.md
JibrilEl Feb 9, 2024
1759188
Update docs/source/fr/installation.md
JibrilEl Feb 9, 2024
28daada
Update docs/source/fr/installation.md
JibrilEl Feb 9, 2024
06dc88f
Update docs/source/fr/installation.md
JibrilEl Feb 9, 2024
8cf7df0
Update docs/source/fr/installation.md
JibrilEl Feb 9, 2024
3cb34a5
Update docs/source/fr/installation.md
JibrilEl Feb 9, 2024
925b655
Update docs/source/fr/installation.md
JibrilEl Feb 9, 2024
07d3824
Update docs/source/fr/installation.md
JibrilEl Feb 9, 2024
ad44254
Update docs/source/fr/installation.md
JibrilEl Feb 9, 2024
e366b2c
Update docs/source/fr/installation.md
JibrilEl Feb 9, 2024
6d37e1c
Update docs/source/fr/installation.md
JibrilEl Feb 9, 2024
e5b6ded
Finished correcting index.md
JibrilEl Feb 9, 2024
900dcce
Merge branch 'main' of https://github.com/JibrilEl/huggingface_hub
JibrilEl Feb 9, 2024
3c75477
Corrected inference endpoint, a lot of mistakes might have to look at…
JibrilEl Feb 13, 2024
5637113
Update docs/source/fr/concepts/git_vs_http.md
JibrilEl Feb 16, 2024
a735616
Update docs/source/fr/concepts/git_vs_http.md
JibrilEl Feb 16, 2024
8a578f2
Update docs/source/fr/concepts/git_vs_http.md
JibrilEl Feb 16, 2024
8782aed
Update docs/source/fr/_toctree.yml
JibrilEl Feb 16, 2024
d38bf37
Update docs/source/fr/_toctree.yml
JibrilEl Feb 16, 2024
64e18b7
Update docs/source/fr/_toctree.yml
JibrilEl Feb 16, 2024
8423a9e
Update docs/source/fr/_toctree.yml
JibrilEl Feb 16, 2024
c618150
Update docs/source/fr/_toctree.yml
JibrilEl Feb 16, 2024
8666812
Update docs/source/fr/_toctree.yml
JibrilEl Feb 16, 2024
7cdefa2
Update docs/source/fr/_toctree.yml
JibrilEl Feb 16, 2024
2b19af2
Update docs/source/fr/concepts/git_vs_http.md
JibrilEl Feb 16, 2024
8924212
Update docs/source/fr/concepts/git_vs_http.md
JibrilEl Feb 16, 2024
2475344
Update docs/source/fr/concepts/git_vs_http.md
JibrilEl Feb 16, 2024
8ce66cf
Update docs/source/fr/concepts/git_vs_http.md
JibrilEl Feb 16, 2024
bdd7733
Update docs/source/fr/concepts/git_vs_http.md
JibrilEl Feb 16, 2024
5ea15ea
Update docs/source/fr/concepts/git_vs_http.md
JibrilEl Feb 16, 2024
fc85362
Update docs/source/fr/concepts/git_vs_http.md
JibrilEl Feb 16, 2024
da6c3ef
Deleted file
JibrilEl Jun 7, 2024
2e6cb09
Deleted files
JibrilEl Jun 7, 2024
34c49a7
Deleted files
JibrilEl Jun 7, 2024
63b0dd2
Revert "Deleted files"
JibrilEl Jun 7, 2024
64d4f60
Merge remote-tracking branch 'upstream/main'
JibrilEl Jun 12, 2024
53c8ac9
Deleted file
JibrilEl Jun 7, 2024
1bf832c
Deleted files
JibrilEl Jun 7, 2024
4aeadf8
Delete files
JibrilEl Jun 12, 2024
7ea413c
Merge branch 'download.md' of https://github.com/JibrilEl/huggingface…
JibrilEl Jun 12, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 75 additions & 1 deletion docs/source/fr/_toctree.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,78 @@
- title: "Concepts"
sections:
- local: concepts/git_vs_http
title: Git ou HTTP?
title: Git ou HTTP?
- local: guides/overview
title: Vue d'ensemble
- local: guides/download
title: Télécharger des fichiers
- local: guides/upload
title: Upload des fichiers
- local: guides/cli
title: Utiliser le CLI
- local: guides/hf_file_system
title: HfFileSystem
- local: guides/repository
title: Dépôts
- local: guides/search
title: Rechercher
- local: guides/inference
title: Inférence
- local: guides/inference_endpoints
title: Inference Endpoints
- local: guides/community
title: Community Tab
- local: guides/collections
title: Collections
- local: guides/manage-cache
title: Cache
- local: guides/model-cards
title: Model cards
- local: guides/manage-spaces
title: Gérez vos Spaces
- local: guides/integrations
title: Intégrer une librairie
- local: guides/webhooks_server
title: Webhooks
- title: "Concepts"
sections:
- local: concepts/git_vs_http
title: Git ou HTTP?
- title: "Référence"
sections:
- local: package_reference/overview
title: Vue d'ensemble
- local: package_reference/login
title: Connexion et déconnexion
- local: package_reference/environment_variables
title: Variables d'environnement
- local: package_reference/repository
title: Gérer les dépôts locaux et en ligne
- local: package_reference/hf_api
title: Hugging Face Hub API
- local: package_reference/file_download
title: Téléchargement des fichiers
- local: package_reference/mixins
title: Mixins & méthodes de sérialisations
- local: package_reference/inference_client
title: Inference Client
- local: package_reference/inference_endpoints
title: Inference Endpoints
- local: package_reference/hf_file_system
title: HfFileSystem
- local: package_reference/utilities
title: Utilitaires
- local: package_reference/community
title: Discussions et Pull Requests
- local: package_reference/cache
title: Système de cache
- local: package_reference/cards
title: Repo Cards et metadata
- local: package_reference/space_runtime
title: Space runtime
- local: package_reference/collections
title: Collections
- local: package_reference/tensorboard
title: Logger Tensorboard
- local: package_reference/webhooks_server
title: Webhooks
208 changes: 208 additions & 0 deletions docs/source/fr/guides/download.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,208 @@
<!--⚠️ Note that this file is in Markdown but contain specific syntax for our doc-builder (similar to MDX) that may not be
rendered properly in your Markdown viewer.
-->

# Télécharger des fichiers du Hub

La librairie `huggingface_hub` fournit des fonctions pour télécharger des fichiers depuis
les dépôts stockés sur le Hub. Vous pouvez utiliser ces fonctions directement ou les intégrer
dans votre propre librairie, pour rendre l'intéraction entre vos utilisateurs et le Hub
plus simple. Ce guide vous montrera comment:

* Télécharger et mettre en cache un fichier
* Télécharger et mettre en cache un dépôt entier
* Télécharger des fichiers dans un dossier local

## Télécharger un fichier

La fonction [`hf_hub_download`] est la fonction principale pour télécharger des fichiers du Hub.
Elle télécharge le fichier, le met en cache sur le disque (en prenant en compte les versions)
et retourne le chemin vers le fichier local téléchargé.

<Tip>

Le chemin retourné est un pointeur vers le cache local HF. Par conséquent, il est important de ne pas modifier le fichier
pour éviter de corrompre le cache. Si vous voulez en apprendre plus sur la manière dont les fichiers sont mis en cache,
consultez notre [guide dédié au cache](./manage-cache).

</Tip>

### Télécharger la dernière version

Sélectionnez le fichier à télécharger en utilisant les paramètres `repo_id`, `repo_type` et `filename`. Par défaut,
le fichier sera considéré comme appartenant à un dépôt contenant des objets de type `model`.

```python
>>> from huggingface_hub import hf_hub_download
>>> hf_hub_download(repo_id="lysandre/arxiv-nlp", filename="config.json")
'/root/.cache/huggingface/hub/models--lysandre--arxiv-nlp/snapshots/894a9adde21d9a3e3843e6d5aeaaf01875c7fade/config.json'

# Télécharge un dataset
>>> hf_hub_download(repo_id="google/fleurs", filename="fleurs.py", repo_type="dataset")
'/root/.cache/huggingface/hub/datasets--google--fleurs/snapshots/199e4ae37915137c555b1765c01477c216287d34/fleurs.py'
```

### Télécharger une version spécifique

Par défaut, la dernière version de la branche `main` est téléchargée. Cependant, dans certains cas, vous aurez besoin
de télécharger un fichier ayant une version particulière (i.e. d'une branche spécifique, une pull request, un tag,
ou un hash de commit).
Pour ce faire, utilisez le paramètre `revision`:

```python
# Télécharge à partir du tag `v1.0`
>>> hf_hub_download(repo_id="lysandre/arxiv-nlp", filename="config.json", revision="v1.0")

# Télécharge à partir de la branche `test-branch`
>>> hf_hub_download(repo_id="lysandre/arxiv-nlp", filename="config.json", revision="test-branch")

# Télécharge à partir de la pull request #3
>>> hf_hub_download(repo_id="lysandre/arxiv-nlp", filename="config.json", revision="refs/pr/3")

# Télécharge à partir d'un hash de commit spécifique
>>> hf_hub_download(repo_id="lysandre/arxiv-nlp", filename="config.json", revision="877b84a8f93f2d619faa2a6e514a32beef88ab0a")
```

**Note:** Lorsque vous utilisez le hash de commit, vous devez renseigner le hash complet et pas le hash de commit à 7 caractères.

### Générer un URL de téléchargement

Si vous voulez générer l'URL utilisé pour télécharger un fichier depuis un dépôt, vous pouvez utiliser [`hf_hub_url`]
qui renvoie un URL. Notez que cette méthode est utilisée en arrière plan par [`hf_hub_download`].

## Télécharger un dépôt entier

[`snapshot_download`] télécharge un dépôt entier à une révision donnée. Cette méthode utilise en arrière-plan
[`hf_hub_download`] ce qui signifie que tous les fichiers téléchargés sont aussi mis en cache sur votre disque en local.
Les téléchargements sont faits en parallèle pour rendre le processus plus rapide.

Pour télécharger un dépôt entier, passez simplement le `repo_id` et le `repo_type`:

```python
>>> from huggingface_hub import snapshot_download
>>> snapshot_download(repo_id="lysandre/arxiv-nlp")
'/home/lysandre/.cache/huggingface/hub/models--lysandre--arxiv-nlp/snapshots/894a9adde21d9a3e3843e6d5aeaaf01875c7fade'

# Ou pour un dataset
>>> snapshot_download(repo_id="google/fleurs", repo_type="dataset")
'/home/lysandre/.cache/huggingface/hub/datasets--google--fleurs/snapshots/199e4ae37915137c555b1765c01477c216287d34'
```

[`snapshot_download`] télécharge la dernière révision par défaut. Si vous voulez une révision spécifique, utilisez
le paramètre `revision`:

```python
>>> from huggingface_hub import snapshot_download
>>> snapshot_download(repo_id="lysandre/arxiv-nlp", revision="refs/pr/1")
```

### Filtrer les fichiers à télécharger

[`snapshot_download`] offre une manière simple de télécharger un dépôt. Cependant, vous ne voudrez peut être pas
télécharger tout le contenu d'un dépôt à chaque fois. Par exemple, vous n'aurez peut-être pas envie de télécharger
tous les fichiers `.bin` si vous savez que vous utiliserez uniquement les poids du `.safetensors`. Vous pouvez
faire ceci en utilisant les paramètres `allow_patterns` et `ignore_patterns`.

Ces paramètres acceptent un pattern ou une liste de patterns. Les patterns sont des wildcards standards, comme précisé
[ici](https://tldp.org/LDP/GNU-Linux-Tools-Summary/html/x11655.htm). Le matching de pattern utilise [`fnmatch`](https://docs.python.org/3/library/fnmatch.html).

Par exemple, vous pouvez utiliser `allow_patterns` pour ne télécharger que les fichiers de configuration JSON:

```python
>>> from huggingface_hub import snapshot_download
>>> snapshot_download(repo_id="lysandre/arxiv-nlp", allow_patterns="*.json")
```

A l'opposé, `ignore_patterns` empêche certains fichiers d'être téléchargés. L'exemple
suivant ignore les fichiers ayant pour extension `.msgpack` et `.h5`:

```python
>>> from huggingface_hub import snapshot_download
>>> snapshot_download(repo_id="lysandre/arxiv-nlp", ignore_patterns=["*.msgpack", "*.h5"])
```

Enfin, vous pouvez combiner les deux pour filtrer avec précision vos téléchargements. voici un exemple pour télécharger
tous les fichiers en .md et en .json à l'exception de `vocab.json`

```python
>>> from huggingface_hub import snapshot_download
>>> snapshot_download(repo_id="gpt2", allow_patterns=["*.md", "*.json"], ignore_patterns="vocab.json")
```

## Télécharger un ou plusieurs fichier(s) vers un dossier local

La manière recommandée (et utilisée par défaut) pour télécharger des fichiers depuis les Hub est d'utiliser
le [cache-system](./manage-cache). Vous pouvez définir le chemin vers votre cache en définissant le
paramètre `cache_dir` (dans [`hf_hub_download`] et [`snapshot_download`]).

Toutefois, dans certains cas, vous aurez besoin de télécharger des fichiers et de les déplacer dans un dossier spécifique.
C'est une pratique utile pour créer un workflow plus proche de ce qu'on peut retrouver avec les commande `git`. Vous
pouvez faire ceci en utilisant les paramètres `local_dir` et `local_dir_use_symlinks`:
- `local_dir` doit être un chemin vers un dossier de votre système. Les fichiers téléchargés garderont la même structure
de fichier que dans le dépôt. Par exemple, si `filename="data/train.csv"` et `local_dir="path/to/folder"`, alors le
chemin renvoyé sera `"path/to/folder/data/train.csv"`.
- `local_dir_use_symlinks` renseigne comment le fichier doit être enregistré sur votre dossier local.
- Le comportement par défaut (`"auto"`), dupliquera les fichiers peu volumineux (<5MB) et utilisera les symlinks pour
les fichiers plus gros. Les symlinks permettent d'optimiser à la fois la bande passante et l'utilisation du disque.
Cependant, éditer manuellement un fichier sous symlink pourrait corrompre le cache, d'où la duplication pour des
petits fichiers. Le seuil de 5MB peut être configuré avec la variable d'environnement`HF_HUB_LOCAL_DIR_AUTO_SYMLINK_THRESHOLD`.
- Si `local_dir_use_symlinks=True` est passé, alors tous les fichiers seront sous symlink pour une utilisation
optimal de l'espace disque. C'est par exemple utile lors du téléchargement d'un dataset très volumineux contenant
des milliers de petits fichiers.
- Enfin, si vous ne voulez pas utiliser de symlink du tout, vous pouvez les désactier (`local_dir_use_symlinks=False`).
Le chemin du cache sera toujours utilisé afin de vérifier si le fichier est déjà en cache ou pas. Si ce dernier
n'est pas déjà en cache, il sera téléchargé et déplacé directement vers le chemin local. Ce qui signifie que si
vous avez besoin de le réutiliser ailleurs, il sera **retéléchargé**

Voici une table qui résume les différentes options pour vous aider à choisir les paramètres qui collent le mieux à votre situation.

<!-- Generated with https://www.tablesgenerator.com/markdown_tables -->
| Paramètre | Fichier déjà en cahce | Chemin renvoyé | Peut-on lire le chemin | Pouvez vous sauvegarder le chemin | Bande passante optimisée | Utilisation du disque optimisée |
|---|:---:|:---:|:---:|:---:|:---:|:---:|
| `local_dir=None` | | symlink en cache | ✅ | ❌<br>_(sauvegarder corromprait le cache)_ | ✅ | ✅ |
| `local_dir="path/to/folder"`<br>`local_dir_use_symlinks="auto"` | | fichier ou symlink dans un dossier | ✅ | ✅ _(pour les petits fichiers)_ <br> ⚠️ _(pour les gros fichiers, ne resolve pas le path avant l'enregistrement)_ | ✅ | ✅ |
| `local_dir="path/to/folder"`<br>`local_dir_use_symlinks=True` | | symlink dans un dossier | ✅ | ⚠️<br>_(ne resolve pas le paht avant l'enregistrement)_ | ✅ | ✅ |
| `local_dir="path/to/folder"`<br>`local_dir_use_symlinks=False` | Non | fichier dans un dossier | ✅ | ✅ | ❌<br>_(en cas de re-run, le fichier est retéléchargé)_ | ⚠️<br>(plusieurs copies si lancé dans plusieurs dossiers) |
| `local_dir="path/to/folder"`<br>`local_dir_use_symlinks=False` | oui | fichier dans un dossier | ✅ | ✅ | ⚠️<br>_(le fichier doit être mis en cache d'abord)_ | ❌<br>_(le fichier est dupliqué)_ |

**Note:** si vous utilisez une machien Windows, vous devez activer le mode développeur ou lancer `huggingface_hub` en tant qu'administrateur pour activer les syymlinks. Consultez la section [limitations du cache](../guides/manage-cache#limitations)

## Télécharger depuis le CLI

Vous pouvez utiliser la commande `huggingface-cli download` depuis un terminal pour télécharger directement des
fichiers du Hub. En interne, cette commande utilise les même helpers [`hf_hub_download`] et [`snapshot_download`]
décrits ci-dessus et affiche le chemin renvoyé dans le terminal.

```bash
>>> huggingface-cli download gpt2 config.json
/home/wauplin/.cache/huggingface/hub/models--gpt2/snapshots/11c5a3d5811f50298f278a704980280950aedb10/config.json
```

Vous pouvez télécharger plusieurs fichiers d'un coup, ce qui affiche une barre de chargement et renvoie le chemin de
la snapshot dans lequel les fichiers sont localisés.

```bash
>>> huggingface-cli download gpt2 config.json model.safetensors
Fetching 2 files: 100%|████████████████████████████████████████████| 2/2 [00:00<00:00, 23831.27it/s]
/home/wauplin/.cache/huggingface/hub/models--gpt2/snapshots/11c5a3d5811f50298f278a704980280950aedb10
```

Pour plus de détails sur la commande download du CLI, veuillez consulter le [guide CLI](./cli#huggingface-cli-download).

## Téléchargements plus rapides

Si vous utilisez une machine avec une bande passante plus large, vous pouvez augmenter votre vitesse de téléchargement en utilisant [`hf_transfer`],
une librairie basée sur Rust développée pour accélérer le transfer de fichiers avec le Hub. Pour l'activer, installez le package (`pip install hf_transfer`) et définissez set `HF_HUB_ENABLE_HF_TRANSFER=1` en tant que variable d'environnement

<Tip>

Les barres de chargement ne fonctionnent avec `hf_transfer` qu'à partir de la version `0.1.4`. Mettez à jour la version (`pip install -U hf_transfer`)
si vous comptez utiliser cette librairie.

</Tip>

<Tip warning={true}>

`hf_transfer` est un outil très puissant! Il a été testé et est prêt à être utilisé en production, mais il lui manque certaines fonctionnalités user friendly, telles que la gestion d'erreurs avancée ou les proxys. Pour plus de détails, consultez cette [section](https://huggingface.co/docs/huggingface_hub/hf_transfer).

</Tip>