Add French translation and update documentation
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Nicolas COMPAIN 2024-01-14 13:01:54 +01:00
parent 767a246419
commit 4a2e0b83f2

View File

@ -1,8 +1,9 @@
# multi-downloader-client
Le module "multi-downloader-client" est une bibliothèque PHP conçue pour simplifier le téléchargement de fichiers depuis différentes sources en les regroupant dans un seul fichier ZIP. Il offre une interface intuitive pour ajouter des fichiers à télécharger, les renommer, et récupérer le fichier ZIP résultant, que ce soit sous forme de chaîne de caractères ou en l'enregistrant directement sur le serveur.
## Installation
Add repository in composer.json
### Ajout via Composer
Pour intégrer le "multi-downloader-client" dans votre projet, commencez par ajouter le dépôt nécessaire dans votre fichier `composer.json` :
```json
{
"repositories": [{
@ -12,36 +13,33 @@ Add repository in composer.json
]
}
```
Then run composer require
Exécutez ensuite la commande suivante pour installer le module :
```bash
composer require nwb/multi-downloader-client
```
## Env
The following env variables are used by default
```dotenv
MULTI_DOWNLOADER_ACCESS_KEY
MULTI_DOWNLOADER_SECRET_KEY
MULTI_DOWNLOADER_URL (Utile en cas de test local. Si non précisée: https://multi-dl.kub.nwb.fr )
```
They can be overriden in the constructor
## Configuration
Ce module utilise par défaut les variables d'environnement suivantes :
- `MULTI_DOWNLOADER_ACCESS_KEY` : clé d'accès de l'API.
- `MULTI_DOWNLOADER_SECRET_KEY` : clé secrète de l'API.
- `MULTI_DOWNLOADER_URL` : URL du service (par défaut: `https://multi-dl.kub.nwb.fr`).
Ces variables peuvent être définies dans votre fichier `.env` ou directement dans les paramètres de votre serveur.
Pour une configuration plus spécifique, notamment pour des tests ou des cas d'usage particuliers, vous pouvez passer ces paramètres directement au constructeur :
```php
use Nwb\MultiDownloaderClient\MultiDownloaderClient;
$client = new MultiDownloaderClient([
'apiKey' => '',
'apiSecret' => '',
'url' => '',
'apiKey' => 'votre_api_key',
'apiSecret' => 'votre_api_secret',
'url' => 'url_custom'
]);
```
## Usage
Ajouter des fichiers
## Utilisation Pratique
### Ajout de Fichiers à Télécharger
```php
use Nwb\MultiDownloaderClient\MultiDownloaderClient;
use Nwb\MultiDownloaderClient\FileRequest;
$client = new MultiDownloaderClient();
$client->addFiles([
@ -50,22 +48,34 @@ $client->addFiles([
]);
```
Get zip as string
```php
$zip = $client->downloadAsString();
```
### Récupération du ZIP
- Sous forme de chaîne de caractères :
```php
$zip = $client->downloadAsString();
```
- Enregistrement dans un fichier :
```php
$client->downloadTo('/tmp/my-zip.zip');
```
Save zip to file (stream)
```php
$client->downloadTo('/tmp/my-zip.zip');
```
### Génération d'un Formulaire HTML pour le Téléchargement
Cette fonctionnalité du module "multi-downloader-client" permet de générer un formulaire HTML prêt à l'emploi pour le téléchargement des fichiers que vous avez ajoutés au client. Le formulaire généré peut être intégré dans votre page web et, une fois soumis, déclenchera le téléchargement des fichiers.
Get html form
Pour utiliser cette fonctionnalité, vous appelez simplement la méthode htmlForm() sur votre objet MultiDownloaderClient. Voici comment cela se fait :
```php
$form = $client->htmlForm();
```
Rename files inside zip
### Renommer les Fichiers dans le ZIP
Par défaut, les fichiers téléchargés sont nommés en fonction de leur URL. Vous pouvez cependant personnaliser le nom des fichiers dans le ZIP en utilisant la méthode `name` de l'objet `FileOptions`. Cette option peut être utile lorsque plusieurs fichiers ont le même nom ou lorsque vous souhaitez simplement renommer les fichiers pour une meilleure lisibilité.
```php
$file = new FileRequest('http://example.com/image.png');
$file->getFileOptions()->name('new-name.png');
$file->getFileOptions()->name('nouveau_nom.png');
```
### Fonctionnalités Avancées
- `FileRequest` : Personnalisation des requêtes de fichier avec des méthodes comme `url`, `fallbackUrl`, et `fileOptions`.
- `MultiDownloaderClient` : Gestion avancée des téléchargements avec des méthodes comme `setFiles`, `buildRequest`, et `sendRequest`.
# Licence
Ce document et le code source qu'il décrit sont la propriété de [Nom de l'Entreprise]. Tous droits réservés. Aucune partie de ce document ou du code source ne peut être reproduite, distribuée ou transmise sous quelque forme ou par quelque moyen que ce soit, sans l'autorisation écrite préalable de l'éditeur.