Cours d’initiation à Firebase / Firestore et
développement d’applications
1. Introduction à Firebase
Firebase est une plateforme de Google qui fournit des outils pour créer et gérer des applications
web et mobiles. C’est un Backend as a Service (BaaS), ce qui signifie que tu n’as pas besoin de
gérer ton propre serveur. Firebase s’occupe de tout : base de données, authentification,
hébergement, etc.
2. Les Services principaux de Firebase
Les services essentiels incluent :
- Authentication : gestion des connexions (Email, Google, Facebook, téléphone, etc.).
- Firestore Database : base de données NoSQL en temps réel.
- Realtime Database : base temps réel, première version historique.
- Storage : stockage de fichiers (images, vidéos, PDF).
- Hosting : hébergement de sites web.
- Cloud Functions : exécution de code backend sans serveur.
- Firebase Analytics : analyse des utilisateurs.
3. Firestore : la base de données NoSQL
Firestore est une base de données flexible et scalable qui fonctionne en temps réel. Structure :
Collections > Documents > Champs.
Exemple :
Users (collection)
■■■ userID123 (document)
■■■ name: 'Robinson'
■■■ email: 'robinson@[Link]'
■■■ role: 'admin'
4. Développement d’Apps et Sites Web avec Firebase
Étapes principales :
1. Créer un projet Firebase dans la console.
2. Ajouter ton app (Web, Android, iOS).
3. Copier la configuration (clé API, projectId, etc.).
4. Installer Firebase SDK : npm install firebase.
5. Connecter ton app à Firestore, Auth, Storage.
6. Développer tes fonctionnalités (login, enregistrement, upload...).
7. Déployer avec Firebase Hosting.
5. Exemple Code (Connexion Firestore dans une App Web)
```javascript
import { initializeApp } from 'firebase/app';
import { getFirestore, collection, addDoc, getDocs } from 'firebase/firestore';
const firebaseConfig = { apiKey: 'XXX', authDomain: '[Link]', projectId:
'mon-app' };
const app = initializeApp(firebaseConfig);
const db = getFirestore(app);
async function addUser() {
await addDoc(collection(db, 'users'), { name: 'Robinson', email: 'robinson@[Link]' });
}
async function getUsers() {
const querySnapshot = await getDocs(collection(db, 'users'));
[Link]((doc) => [Link]([Link], ' => ', [Link]()));
}
```
6. Utilisation dans Firebase Studio
Dans Firebase Studio, tu peux :
- Créer et gérer les collections/documents dans Firestore.
- Définir les règles de sécurité.
- Gérer les utilisateurs dans Authentication.
- Déployer un site web avec : firebase init hosting && firebase deploy.
7. Cas pratiques d’applications
- Application scolaire (gestion étudiants, cours, paiements).
- Mini site vitrine.
- Chat en temps réel.
- Application e-commerce.