Configuration/Stockage des fichiers importés

Stockage des fichiers importés

Configurez les importations Cloudflare R2 de NowStack.

NowStack stocke les fichiers importés dans Cloudflare R2. Les importations passent par des actions Convex : les secrets de stockage doivent donc rester dans l’environnement Convex et non dans le navigateur.

Fonctionnement

L’implémentation se trouve dans convex/files/actions.ts.

Elle reçoit une image en base64, vérifie son format et sa taille, l’envoie vers R2 avec l’API compatible S3, puis renvoie son URL publique.

Variables requises

Définissez ces valeurs dans Convex :

R2_S3_URL="https://<account-id>.r2.cloudflarestorage.com"
R2_S3_ACCESS_KEY_ID="identifiant-de-cle"
R2_S3_SECRET_ACCESS_KEY="cle-secrete"
R2_S3_BUCKET_NAME="nom-du-bucket"
R2_URL="https://fichiers.votredomaine.fr"

En développement local, ces valeurs peuvent aussi rester dans .env ; pnpm start-all synchronise dans Convex celles qui manquent.

Configurer R2

  1. Créez un bucket Cloudflare R2.
  2. Créez un jeton d’API R2 autorisé à lire et écrire les objets de ce bucket.
  3. Configurez une URL publique ou un domaine personnalisé.
  4. Ajoutez les variables R2_* à l’environnement Convex.
  5. Redémarrez le développement local pour recharger l’environnement.

Vérifier les importations

Importez une image de profil ou d’organisation, puis vérifiez :

  • que l’URL renvoyée commence par la valeur de R2_URL ;
  • que l’objet existe dans le bucket R2 ;
  • que l’image est accessible publiquement depuis cette URL.

Si le message L’environnement d’import R2 n’est pas configuré apparaît, au moins une variable Convex requise manque.