Google Firebase
Objectif
Présentation
Structure du tutoriel
- Présentation de la base de données
- Installation des packages
- Création du modèle : user_model.dart
- Service Firebase : firebase_services.dart
- Configuration de StreamProvider
- Interface utilisateur
- Ajout de données avec un bouton flottant
-
Présentation de la base de données
- Le forfait gratuit Firebase est limité à 50 connexions et 100 Mo de stockage. Structure de base de Firestore
- Firestore est une base NoSQL hiérarchique, organisée comme suit :
-
? Collection
└─ ? Document
├─ ? Champs (name, age, etc.)
└─ ? Sous-collection
└─ ? Document
- 1. Collection
- Une collection est un regroupement de documents. Elle a un nom et contient des documents, mais pas directement des champs. Exemple :
FirebaseFirestore.instance.collection('users'); - 2. Document
- Un document est une entrée unique dans une collection, identifiée par un ID (tu peux le définir ou le laisser Firestore en générer un).
- Un document peut contenir :
- des champs (comme name, age, email, etc.)
- des sous-collections Exemple :
FirebaseFirestore.instance.collection('users').doc('userId123'); - 3. Champs
- Les champs sont des paires clé-valeur. Ce sont les vraies données contenues dans un document.
- Exemple :
{ "name": "Ali", "age": 21 } - 4. Sous-collection
- Une sous-collection est une collection imbriquée dans un document.
- Elle permet de modéliser des relations complexes (comme un utilisateur → plusieurs commandes). Exemple :
-
? users
└─ ? userId123
├─ name: "Ali"
└─ ? orders
└─ ? order1
└─ price: 200
FirebaseFirestore.instance .collection('users') .doc('userId123') .collection('orders'); - Exemple complet en code :
FirebaseFirestore.instance .collection('users') // collection .doc('userId123') // document .collection('orders') // sous-collection .doc('order1') // document dans la sous-collection .set({ 'price': 200, 'status': 'paid' });
Les services offerts par Firebase