=== RR Media Offload for S3 / S3-compatible storage ===
Contributors: rrcomputing, rvalverde
Tags: amazon s3, media offload, cloudfront, cdn, wordpress media
Requires at least: 6.0
Tested up to: 7.0
Stable tag: 1.0.1
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Déchargez votre médiathèque WordPress vers S3 et accélérez votre site avec un CDN, moins de charge serveur et de meilleures performances.

== Description ==

**RR Media Offload pour S3** (basé sur WPtoCloud) télécharge automatiquement tous les fichiers de votre bibliothèque de médias WordPress vers un bucket S3 ou compatible S3.

Les images, les vidéos et toutes les vignettes générées sont stockées sur S3 et peuvent être diffusées directement depuis le stockage cloud ou via un CDN tel que CloudFront.

Cela réduit l'espace disque utilisé, améliore les performances et facilite la mise à l'échelle de votre site.

L'installation est simple et ne prend que quelques minutes grâce à l'assistant intégré qui vous guide pas à pas.

== Fonctionnalités ==

- Téléchargement automatique des nouveaux fichiers multimédias vers Amazon S3

- Téléchargement de toutes les vignettes et variantes srcset

- Prise en charge des images, des vidéos et de tous les types de médias WordPress

- Réécriture d'URL pour diffuser les fichiers depuis S3 ou un CDN

- Compatible avec CloudFront et les domaines CDN personnalisés

- Suppression locale optionnelle des fichiers après le téléchargement

- Assistant d'installation pas à pas (bucket, IAM, CDN)

- Tableau de bord d'état avec statistiques de téléchargement et état de S3

- Fonctionne avec les buckets S3 privés (via CDN)

- Compatible avec les installations multisites

- Disponible en plusieurs langues (anglais, espagnol, français, portugais, catalan)

== Services externes ==

**Ce plugin ne charge AUCUN fichier distant depuis des serveurs tiers.**

Tous les éléments du plugin (JavaScript, CSS, images) sont inclus localement dans le répertoire du plugin. Le plugin n'utilise aucun CDN externe pour son fonctionnement.

**Ce plugin vous permet de connecter VOTRE PROPRE compte Amazon S3.**

Lorsque vous configurez le plugin avec vos identifiants AWS, il se connecte à :

- **S3 / Stockage compatible S3** : pour téléverser et stocker vos fichiers multimédias dans votre propre compartiment.

- **CDN (optionnel)** : pour diffuser du contenu via un CDN tel qu'Amazon CloudFront ou un autre CDN compatible.

Le plugin fonctionne également avec d'autres services implémentant l'API S3 (stockage d'objets compatible S3). Si vous préférez utiliser un autre fournisseur, configurez le plugin avec le point de terminaison et les identifiants de ce fournisseur. Voici quelques fournisseurs compatibles courants :

- MinIO (auto-hébergé)
- DigitalOcean Spaces
- Wasabi
- Backblaze B2 (API S3)
- Linode Object Storage
- Scaleway Objects
- Ceph (RADOS Gateway)
- IBM Cloud Object Storage (mode compatible S3)
- Oracle Cloud (passerelle compatible S3 ; des ajustements peuvent être nécessaires)
- Cloudian, DreamObjects, Exoscale

Remarques concernant les fournisseurs compatibles S3 :

- Vous devrez peut-être définir un `endpoint` personnalisé (par exemple, `https://nyc3.digitaloceanspaces.com`).

- Certains fournisseurs exigent `use_path_style_endpoint => true` ou une `signature_version` spécifique (généralement `v4`).

- Vérifiez auprès de votre fournisseur le comportement CORS, les ACL/lecture publique et les limites de chargement de fichiers volumineux en plusieurs parties. - Si l'interface utilisateur du plugin ne propose pas de champ de point de terminaison, vous pouvez l'ajouter dans les paramètres du plugin. Sinon, je peux modifier le plugin pour ajouter une option « Point de terminaison S3 personnalisé ».

== Instructions spécifiques au fournisseur ==

Vous trouverez ci-dessous des notes succinctes spécifiques au fournisseur pour vous aider à configurer le plugin lorsque vous utilisez un stockage d'objets compatible S3.

=== DigitalOcean Spaces ===

- Exemple de point de terminaison : https://nyc3.digitaloceanspaces.com (remplacez nyc3 par votre région)

- Créez un espace dans le panneau de contrôle DigitalOcean et générez une clé d'accès et une clé secrète sous API > Clés Spaces.

- Utilisez le point de terminaison ci-dessus dans le champ « Point de terminaison » du plugin et laissez la région sur « Toutes » (le SDK utilisera le point de terminaison).

- CORS : autorisez les requêtes GET, HEAD, PUT et POST et définissez l'origine sur votre site si nécessaire.

- Objets publics : définissez l'espace sur « Public » ou utilisez des URL signées via votre CDN.

=== MinIO (auto-hébergé) ===

- Exemple de point de terminaison : https://minio.example.com:9000

- MinIO requiert généralement `use_path_style_endpoint => true` — activez « Forzar path-style » dans les paramètres du plugin.

- Assurez-vous que TLS est configuré pour la production et que les noms de compartiments respectent les règles DNS.

- Utilisez le client MinIO (`mc`) pour créer des compartiments et tester les chargements :

- `mc alias set myminio https://minio.example.com ACCESSKEY SECRET`

- `mc mb myminio/my-bucket`

=== Wasabi ===

- Exemple de point de terminaison : https://s3.us-west-1.wasabisys.com (spécifique à la région)

- Utilisez le point de terminaison du fournisseur dans le plugin et n'activez pas le style de chemin, sauf indication contraire de Wasabi.

- Consultez la documentation Wasabi pour les politiques de compartiment et la configuration CORS.

=== Backblaze B2 (Compatible S3) ===

- Les points de terminaison Backblaze S3 sont spécifiques à une région, par exemple : `https://s3.us-west-002.backblazeb2.com`.

- Utilisez le point de terminaison et vos clés au format S3 ; testez la connexion avec le bouton « Probar conexión » du plugin.

=== Linode Object Storage ===

- Exemple de point de terminaison : https://us-east-1.linodeobjects.com

- Utilisez le point de terminaison dans les paramètres ; Linode prend en charge le style d'hôte virtuel par défaut, le style de chemin n'est généralement pas nécessaire.

=== Fournisseurs personnalisés / autres fournisseurs compatibles S3 ===

- Si votre fournisseur expose un API compatible S3, vous aurez généralement besoin de :

- `endpoint` (obligatoire)

- `access key` et `secret key`

- Optionnellement, `use_path_style_endpoint => true` pour les passerelles plus anciennes ou auto-hébergées

- Problèmes courants : incompatibilité de version de signature (assurez-vous d'utiliser `v4`), restrictions CORS ou limites spécifiques au fournisseur pour les chargements en plusieurs parties.

En cas de problème, copiez le point de terminaison et les clés du fournisseur dans les paramètres du plugin et utilisez « Test de connexion ». Si le test échoue, activez le style de chemin et réessayez, ou partagez le message d'erreur pour obtenir de l'aide.

**Données envoyées :**

- Fichiers multimédias chargés par votre site WordPress (images, vidéos, miniatures)

- Requêtes API utilisant VOS identifiants AWS pour gérer VOTRE compartiment

- Toutes les connexions sont établies uniquement avec VOS ressources AWS configurées

**Compte AWS requis :**

Vous devez créer votre propre compte AWS et configurer votre propre compartiment S3 et, éventuellement, une distribution CloudFront. Ce plugin ne fournit pas ces services ; il se contente de connecter WordPress aux services AWS que VOUS configurez.

**Sécurité des identifiants :**

- Vos identifiants AWS sont stockés de manière chiffrée dans votre base de données WordPress.

- Les identifiants sont utilisés UNIQUEMENT pour communiquer avec votre compte AWS.

- Aucune donnée n'est envoyée à des serveurs tiers ni au développeur du plugin.

**Les URL affichées dans l'interface d'administration du plugin sont des liens informatifs uniquement :**

L'assistant d'installation affiche des liens cliquables pour vous aider à ouvrir les pages appropriées de la console AWS :

- `https://s3.console.aws.amazon.com/s3/home` - Ouvre votre console AWS S3 (pour la création d'un compartiment).

- `https://console.aws.amazon.com/iam/home#/users` - Ouvre votre console IAM (pour la création de clés d'accès).

- `https://console.aws.amazon.com/cloudfront/home` - Ouvre votre console CloudFront (configuration CDN optionnelle).

Il s'agit d'URL standard de la console AWS fournies à titre indicatif. Il ne s'agit PAS de dépendances externes chargées par l'environnement d'exécution du plugin.

**Exemple d'URL affichée dans l'assistant d'installation :**

L'assistant affiche un exemple d'URL CloudFront, par exemple `https://d1ab2cde.cloudfront.net`, à titre de référence visuelle. Il s'agit uniquement d'un exemple ; ce n'est pas un point de terminaison réel. Le plugin utilise uniquement l'URL du CDN que VOUS configurez avec VOTRE PROPRE domaine CloudFront.

**Plus d'informations :**

- Conditions d'utilisation d'AWS : https://aws.amazon.com/service-terms/

- Avis de confidentialité d'AWS : https://aws.amazon.com/privacy/

== Installation ==

1. Téléversez le plugin dans le répertoire /wp-content/plugins/ ou installez-le depuis le répertoire WordPress.

2. Activez le plugin via le menu « Extensions ». 3. Accédez à **WPtoCloud -> Paramètres**
4. Configurez votre compartiment S3 et vos identifiants IAM
5. (Facultatif) Définissez une URL CloudFront ou CDN

== Foire aux questions ==

= À quoi sert cette extension ? =

Elle télécharge automatiquement les médias WordPress sur Amazon S3 et les diffuse depuis le stockage cloud.

= Est-elle compatible avec CloudFront ? =

Oui, vous pouvez configurer une URL CDN pour une diffusion rapide.

= Les fichiers existants sont-ils migrés ? =

Non. La version gratuite gère uniquement les nouveaux téléchargements.

= Puis-je supprimer les fichiers locaux ? =

Oui, vous pouvez activer la suppression automatique une fois le fichier téléchargé sur S3.

= Fonctionne-t-elle avec les compartiments privés ? =

Oui, lorsqu'elle est utilisée avec CloudFront ou un CDN compatible.

= Les identifiants AWS sont-ils sécurisés ? =

Oui. Ils sont stockés de manière chiffrée dans votre base de données WordPress.

= Qu'est-ce que WPtoCloud ? =

WPtoCloud est la plateforme qui sous-tend RR Media Offload, offrant des fonctionnalités avancées et des outils premium pour la gestion des médias dans le cloud.

== Passez à WPtoCloud Pro ==

Débloquez des fonctionnalités avancées avec **WPtoCloud Pro** :

- Migration massive de médias vers Amazon S3
- Outils d'automatisation avancés
- Nettoyage des médias WooCommerce
- Rapports et surveillance détaillés
- Assistance prioritaire

Obtenez WPtoCloud Pro :

https://www.wptocloud.com

== Journal des modifications ==
= 1.0.0 =

- Version initiale

= 1.0.1 =

- Ajout de la prise en charge des fournisseurs compatibles S3 : DigitalOcean Spaces, MinIO, Wasabi, Backblaze, Linode et une option personnalisée.

- Nouveaux paramètres : `Fournisseur S3`, `Point de terminaison` et `Forcer le style de chemin`.

- `RRCM_Media_Offload_S3_Manager` accepte désormais un point de terminaison personnalisé et `use_path_style_endpoint` lorsqu'il est configuré.
- Ajout d'un bouton « Tester la connexion » dans les paramètres pour vérifier les identifiants et le point de terminaison.

- Modifications minimales et rétrocompatibles : la configuration AWS existante reste inchangée.

- Correction d'erreurs de traduction dans le code du plugin (chaînes i18n WordPress corrigées).

== Avis de mise à niveau ==
= 1.0.1 =

- Consultez le journal des modifications ci-dessus pour plus de détails.