Aller au contenu principal

Flutter Supabase

Ceci est l'explication détaillée de la configuration à faire pour obtenir une application Flutter fonctionnant avec Supabase.

Mis à jour en novembre 2024

Supabase, création de compte

Exemple de code

Vous pouvez regarder l'exemple de code supabase_storage.

Supabase, création du projet

  • suivre les captures d'écran

Capture de l'étape de création du projet Supabase

Capture de l'étape de création du projet Supabase

Capture de l'étape de création du projet Supabase

Capture de l'étape de création du projet Supabase

Capture de l'étape de création du projet Supabase

Supabase, configurer les droits d'accès

  • suivre les captures d'écran

Ajouter les droits pour les buckets

Capture montrant le réglage des droits d'accès des buckets dans Supabase

Capture montrant le réglage des droits d'accès des buckets dans Supabase

Capture montrant le réglage des droits d'accès des buckets dans Supabase

Capture montrant le réglage des droits d'accès des buckets dans Supabase

Capture montrant le réglage des droits d'accès des buckets dans Supabase

Capture montrant le réglage des droits d'accès des buckets dans Supabase

Ajouter les droits pour les objets (images) dans les buckets

Capture montrant le réglage des droits d'accès aux objets dans les buckets Supabase

Capture montrant le réglage des droits d'accès aux objets dans les buckets Supabase

Capture montrant le réglage des droits d'accès aux objets dans les buckets Supabase

Supabase, créer un bucket public

Vous pouvez créer votre bucket de 2 façons

  • avec du code
  • avec l'interface de Supabase

Créer le bucket par le code

final supabase = Supabase.instance.client;

await supabase
.storage
.createBucket('le-nom-de-mon-bucket', BucketOptions(public: true));

Créer le bucket par l'interface

Capture montrant la création d'un bucket public Supabase depuis l'interface

Capture montrant la création d'un bucket public Supabase depuis l'interface

Ajouter une image

final supabase = Supabase.instance.client;

//TODO doc: https://supabase.com/docs/reference/dart/storage-from-upload
final String fullPath = await supabase
.storage
.from('le-nom-de-mon-bucket')
.upload(
//TODO Mettre un nom unique
"nom-du-fichier",
File("path-du-fichier")
);

Récupérer une image

final supabase = Supabase.instance.client;

//TODO doc: https://supabase.com/docs/reference/dart/storage-from-getpublicurl
string url = supabase
.storage
.from('le-nom-de-mon-bucket')
// TODO le bucket doit être public pour qu'on puisse récupérer l'URL public
.getPublicUrl("nom-du-fichier");

Exemple de code

Vous pouvez regarder l'exemple de code supabase_storage.