Introduction
Téléchargez et gérez des fichiers dans le stockage cloud avec optimisation automatique.
🎯 Que fait ce module ?
Le module FileUploading vous permet de télécharger, récupérer et supprimer des fichiers dans le stockage cloud OneEntry - images, PDF, vidéos, documents et tout type de fichier avec optimisation automatique et livraison CDN.
Considérez-le comme votre gestionnaire de stockage cloud - vous téléchargez des fichiers une fois, et OneEntry les stocke, optimise automatiquement les images et les sert rapidement via CDN.
📖 Explication Simple
Imaginez que vous construisez une application où les utilisateurs peuvent :
- 📸 Télécharger des photos de profil - redimensionnement et optimisation automatiques
- 📄 Télécharger des documents - stocker des PDF, DOC en toute sécurité
- 🖼️ Télécharger des images de produits - plusieurs images par produit
- 🎥 Télécharger des vidéos - stocker et diffuser du contenu vidéo
- 📎 Télécharger des pièces jointes - tout type de fichier
Au lieu de gérer votre propre stockage :
- ✅ Téléchargez des fichiers dans le cloud OneEntry
- ✅ Optimisation automatique des images (redimensionnement, compression)
- ✅ Livraison rapide via CDN dans le monde entier
- ✅ Organisez par type d'entité (produit, utilisateur, page)
- ✅ Obtenez des URL de téléchargement instantanément
- ✅ Supprimez les fichiers lorsqu'ils ne sont plus nécessaires
Exemple du monde réel :
Without FileUploading (manual):
- Set up AWS S3 bucket ❌
- Configure CDN ❌
- Write image optimization code ❌
- Manage file permissions ❌
- Generate signed URLs ❌
With FileUploading (automatic):
- Upload file → Get download URL ✅
- Images auto-optimized ✅
- CDN delivery built-in ✅
- Easy file management ✅
✨ Concepts Clés
Qu'est-ce que le Téléchargement de Fichiers ?
Le téléchargement de fichiers consiste à stocker des fichiers dans le stockage cloud :
- Télécharger - Envoyer le fichier vers le cloud OneEntry
- Stockage - Fichiers stockés en toute sécurité dans le cloud
- CDN - Livraison rapide depuis des serveurs proches des utilisateurs
- Optimisation - Images automatiquement compressées et redimensionnées
- URL - Obtenez un lien de téléchargement permanent
Types de Fichiers Supportés
Téléchargez tout type de fichier :
| Catégorie | Types de Fichiers | Auto-Optimisation |
|---|---|---|
| Images | JPG, PNG, GIF, WebP, SVG | Oui (redimensionner, compresser) |
| Documents | PDF, DOC, DOCX, XLS, XLSX | Non (stocké tel quel) |
| Vidéos | MP4, MOV, AVI, WebM | Non (stocké tel quel) |
| Archives | ZIP, RAR, TAR, GZ | Non (stocké tel quel) |
| Autres | Tout type de fichier | Non (stocké tel quel) |
Optimisation des Images
Lors du téléchargement d'images, OneEntry peut :
- 📐 Redimensionner - Réduire les dimensions (par exemple, largeur max 1920px)
- 🗜️ Compresser - Réduire la taille du fichier (plus petit, plus rapide)
- 🖼️ Format - Convertir au format optimal (WebP)
- 📱 Réactif - Créer plusieurs tailles
Exemple :
Original: 5MB, 4000x3000px
↓ (auto-optimize)
Optimized: 200KB, 1920x1440px
📋 Ce Que Vous Devez Savoir
Paramètres de Téléchargement
Lors du téléchargement de fichiers, vous pouvez spécifier :
await FileUploading.upload(file, {
entity: 'product', // Entity type (required)
id: 123, // Entity ID (optional)
type: 'image', // File type hint (optional)
width: 1920, // Max width for images (optional)
height: 1080, // Max height for images (optional)
compress: true // Compress images (optional)
});
Paramètres expliqués :
file- L'objet fichier (provenant de l'entrée ou du glisser-déposer)entity- Catégorie :produit,page,bloc,utilisateur,formulaire,généralid- ID de l'entité à associer au fichier (par exemple, ID du produit)type- Indice de type de fichier (généralement détecté automatiquement)width- Largeur max en pixels (images uniquement)height- Hauteur max en pixels (images uniquement)compress- Activer la compression (images uniquement)
Réponse au Téléchargement
Après le téléchargement, vous obtenez :
{
filename: "abc123-photo.jpg", // Unique filename
downloadLink: "https://cdn.../photo.jpg", // CDN URL
size: 204800, // File size (bytes)
}
Champs importants :
downloadLink- Utilisez cette URL dans les balises<img>,<a>,<video>filename- Enregistrez ceci pour supprimer le fichier plus tardsize- Taille du fichier en octets (204800 octets = 200 Ko)
Meilleures Pratiques d'Organisation des Fichiers
Organisez les fichiers par type d'entité
Options d'Optimisation des Images
Contrôlez comment les images sont optimisées :
| Option | Ce Qu'elle Fait | Exemple |
|---|---|---|
| width | Largeur max (maintient le rapport d'aspect) | width: 1920 |
| height | Hauteur max (maintient le rapport d'aspect) | height: 1080 |
| compress | Réduire la taille du fichier | compress: true |
Le rapport d'aspect est préservé :
Original: 4000x3000 (4:3 ratio)
With width: 800
Result: 800x600 (still 4:3 ratio)
Suppression de Fichiers
Fournissez toujours l'entité, l'id et le nom de fichier à supprimer :
await FileUploading.delete({
entity: 'product',
id: productId,
filename: 'abc123-photo.jpg'
});
Pourquoi les trois ? Les fichiers sont organisés par entité → id → nom de fichier.
📊 Tableau de Référence Rapide - Méthodes
| Méthode | Ce Qu'elle Fait | Quand l'utiliser |
|---|---|---|
| upload() | Télécharger un fichier dans le stockage cloud | L'utilisateur télécharge une image, un document |
| getFile() | Obtenir des informations sur le fichier (taille, type, URL) | Vérifier si le fichier existe |
| delete() | Supprimer un fichier du stockage | Supprimer des anciens fichiers |
❓ Questions Fréquemment Posées (FAQ)
Quels types de fichiers puis-je télécharger ?
Tout type de fichier est supporté :
- Images : JPG, PNG, GIF, WebP, SVG, BMP, TIFF
- Documents : PDF, DOC, DOCX, XLS, XLSX, PPT, TXT
- Vidéos : MP4, MOV, AVI, WebM, MKV
- Archives : ZIP, RAR, TAR, GZ
- Autres : Tout type de fichier
Seules les images sont auto-optimisées. Les autres fichiers sont stockés tels quels.
Quelle est la taille maximale des fichiers ?
Vérifiez les limites de votre plan OneEntry. Typiquement :
- Plan gratuit : 5 Mo par fichier
- Plans payants : 50 Mo - 100 Mo par fichier
Meilleure pratique : Optimisez les images avant le téléchargement pour réduire la taille.
Les fichiers sont-ils stockés de manière permanente ?
Oui, les fichiers sont stockés jusqu'à ce que vous les supprimiez manuellement en utilisant FileUploading.delete().
Important : Nettoyez les fichiers inutilisés pour économiser de l'espace de stockage.
Puis-je télécharger des fichiers depuis le frontend (navigateur) ?
Oui ! Utilisez l'entrée de fichier ou le glisser-déposer.
Comment valider les fichiers avant le téléchargement ?
Vérifiez le type et la taille du fichier.
Puis-je obtenir une liste de tous les fichiers téléchargés pour une entité ?
Pas directement avec ce SDK. Vous devez :
- Suivre les noms de fichiers lors du téléchargement (enregistrer dans la base de données)
- Utiliser l'API Admin OneEntry pour lister les fichiers
Meilleure pratique : Enregistrez les noms de fichiers téléchargés dans votre base de données.
Comment gérer les erreurs de téléchargement ?
Utilisez toujours try/catch.
Puis-je télécharger des fichiers directement sur le CDN ?
Non, les téléchargements passent par l'API OneEntry, qui :
- Valide le fichier
- Optimise les images (si activé)
- Stocke dans le cloud
- Retourne l'URL CDN
Cela garantit la sécurité et l'optimisation.
Que se passe-t-il avec les fichiers si je supprime une entité (produit, utilisateur) ?
Les fichiers restent dans le stockage même si l'entité est supprimée.
Meilleure pratique : Supprimez les fichiers avant de supprimer l'entité.
Puis-je redimensionner les images à des dimensions exactes ?
Non, le rapport d'aspect est toujours préservé pour éviter la distorsion.
Comment cela fonctionne :
- Vous définissez
width: 800, height: 600 - L'image est redimensionnée pour s'adapter dans 800x600
- Le rapport d'aspect est préservé
Exemple :
Original: 1000x500 (2:1 ratio)
With width: 800, height: 600
Result: 800x400 (still 2:1 ratio, fits within 800x600)
💡 Notes Importantes
Sécurité des Fichiers
Les fichiers téléchargés sont accessibles publiquement via le CDN :
- ✅ Idéal pour les images, documents publics
- ⚠️ Ne téléchargez pas de fichiers sensibles (mots de passe, données privées)
Pour les fichiers privés :
- Utilisez l'API Admin OneEntry avec authentification
- Ou implémentez votre propre contrôle d'accès
Limites de Stockage
Surveillez votre utilisation de stockage :
- Chaque plan a des limites de stockage
- Nettoyez régulièrement les fichiers inutilisés
- Compressez les images avant le téléchargement
Conseils d'Optimisation des Images
Pour de meilleurs résultats :
- ✅ Téléchargez des originaux de haute qualité (laissez OneEntry optimiser)
- ✅ Utilisez
compress: truepour les images web - ✅ Définissez des dimensions appropriées (par exemple, 1920px pour les images héro, 500px pour les vignettes)
- ❌ Ne téléchargez pas d'images déjà compressées (perte de qualité)
Tailles recommandées :
- Photos de profil : 500x500
- Images de produits : 1920x1920
- Bannières héro : 1920x1080
- Vignettes : 300x300
🎓 Meilleures Pratiques
- Validez le type et la taille du fichier avant le téléchargement
- Associez les fichiers avec les ID d'entité pour l'organisation
- Activez la compression pour les images web
- Gérez les erreurs de téléchargement avec soin
- Enregistrez les noms de fichiers pour supprimer les fichiers plus tard
- Nettoyez régulièrement les fichiers inutilisés
- Montrez la progression du téléchargement aux utilisateurs
Définition du module FileUploading
const { FileUploading } = defineOneEntry( "your-project-url", { "token": "your-app-token" });
🔗 Documentation Connexe
- Module Produits - Télécharger des images de produits
- Module Utilisateurs - Télécharger des photos de profil d'utilisateur
- Module Pages - Télécharger des fichiers de contenu de page
- Module Blocs - Télécharger des fichiers de contenu de bloc