Paramètres de Stockage
Paramètres → Avancé → Stockage contrôle où LeadHub stocke les fichiers téléchargés — pièces jointes de prospects, images d'avatar, archives d'export et téléchargements de formulaires.
Pilotes de Stockage
| Pilote | Quand l'utiliser |
|---|---|
| Local (système de fichiers du serveur) | Par défaut. Les fichiers sont stockés sur le disque du serveur dans storage/app/. Convient aux installations sur serveur unique. |
| Compatible S3 | Pour les déploiements cloud, la livraison CDN, ou quand l'espace disque du serveur est limité. Prend en charge AWS S3, DigitalOcean Spaces, MinIO, Backblaze B2, Cloudflare R2 et tout fournisseur compatible S3. |
Stockage Local
C'est la configuration par défaut. Aucune configuration requise. Les fichiers sont stockés sous :
/chemin/vers/leadhub/storage/app/public/
Accessible à https://votredomaine.com/storage/... via le lien symbolique de stockage configuré lors de l'installation.
Stockage Compatible S3
Étape 1 — Choisir votre Fournisseur
| Fournisseur | Remarques |
|---|---|
| AWS S3 | Le plus courant. Laissez l'URL du Point de Terminaison vide. |
| DigitalOcean Spaces | Point de terminaison : https://nyc3.digitaloceanspaces.com (remplacez la région) |
| MinIO (auto-hébergé) | Point de terminaison : l'URL de votre serveur MinIO |
| Backblaze B2 | Point de terminaison : https://s3.us-west-004.backblazeb2.com (varie selon la région) |
| Cloudflare R2 | Point de terminaison : https://ACCOUNT_ID.r2.cloudflarestorage.com |
Étape 2 — Créer un Compartiment
- Dans le panneau de contrôle de votre fournisseur, créez un nouveau compartiment.
- Définissez le compartiment comme public si vous souhaitez un accès public direct aux fichiers téléchargés (recommandé pour les avatars et pièces jointes de formulaires).
- Notez le Nom du Compartiment et la Région.
Étape 3 — Créer des Clés d'Accès
Générez un ID de Clé d'Accès et une Clé d'Accès Secrète avec des permissions de lecture/écriture sur le compartiment.
Pour AWS S3 :
- IAM → Utilisateurs → Créer un Utilisateur → attacher la politique
AmazonS3FullAccess(ou une politique de compartiment limitée). - Créer une Clé d'Accès → copiez les deux valeurs.
Étape 4 — Configurer dans LeadHub
-
Accédez à Paramètres → Avancé → Stockage.
-
Définissez le Disque de Stockage sur Compatible S3.
-
Remplissez :
Champ Valeur URL du Point de Terminaison Laissez vide pour AWS S3. Définissez pour les autres fournisseurs. Nom du Compartiment Votre nom de compartiment Région Code de région AWS ou région du fournisseur (ex. us-east-1,nyc3)ID de Clé d'Accès De l'Étape 3 Clé d'Accès Secrète De l'Étape 3 (laissez vide pour conserver le secret stocké) -
Cliquez sur Tester la Connexion pour vérifier les paramètres avant d'enregistrer.
-
Cliquez sur Enregistrer les Paramètres.
Test de la Connexion
Cliquez sur Tester la Connexion — LeadHub écrit un petit fichier de test sur le disque de stockage et le supprime immédiatement. Une notification ✅ signifie que la connexion fonctionne. Une notification ❌ affiche l'erreur.
Testez toujours avant d'enregistrer — une configuration incorrecte peut bloquer les téléchargements de fichiers dans tout l'espace de travail.
Migration du Stockage Local vers S3
- Configurez les paramètres S3 et testez la connexion.
- Enregistrez les paramètres — les nouveaux téléchargements iront désormais vers S3.
- Les fichiers existants sur le disque local ne sont pas automatiquement migrés. Copiez-les manuellement avec l'outil CLI de votre fournisseur (ex.
aws s3 sync storage/app/public s3://votre-compartiment).
Dépannage
| Problème | Solution |
|---|---|
| « Test de connexion échoué : Accès Refusé » | Vérifiez que la Clé d'Accès a les permissions d'écriture sur le compartiment |
| Fichiers non accessibles publiquement | Assurez-vous que le compartiment a l'ACL de lecture publique, ou configurez un CDN |
| Erreur « NoSuchBucket » | Vérifiez que le nom du compartiment et la région sont corrects |
| Erreurs d'URL de point de terminaison | Pour les fournisseurs non-AWS, assurez-vous que l'URL inclut https:// |
| Le secret ne s'enregistre pas | Laissez la Clé d'Accès Secrète vide pour conserver le secret stocké existant |