Fiche 11.05
Fiche 11.05 — Firebase Storage : upload/download image
Objectif
Savoir envoyer une image dans Firebase Storage, récupérer son URL, puis stocker cette URL dans Firestore.
C’est un cas très courant : avatar, photo de profil, image d’annonce, média utilisateur.
1. Principe général
Texte
Storage stocke le fichier. Firestore stocke les métadonnées et l’URL.
2. Service Storage
Swift
Le path doit être organisé proprement.
3. Exemple de path
Swift
Ou :
Swift
Évite les noms aléatoires non organisés partout.
4. Sauvegarder l’URL dans Firestore
Swift
Firestore ne stocke pas directement l’image, seulement son URL.
5. Afficher une image distante
SwiftUI propose AsyncImage pour un affichage simple.
Swift
Pour un cache image plus avancé, certaines équipes utilisent une librairie comme Kingfisher.
6. Upload depuis un ViewModel
Swift
Points à connaître
Il faut protéger Firebase Storage avec des règles de sécurité.
Il faut aussi limiter la taille des images, compresser, et éviter d’envoyer des fichiers énormes.
Résumé
- Firebase Storage stocke les fichiers.
- Firestore stocke plutôt les URLs et métadonnées.
- Le flux est : image → data → upload → downloadURL → Firestore.
AsyncImagesuffit pour afficher une image distante simple.- Les règles de sécurité Storage sont indispensables.