Google Cloud Platform - Le鏾n 3
Google Cloud Platform - Le鏾n 3
Google Cloud Platform - Le鏾n 3
Firebase
3
Création d'un projet avec la SDK Firebase
- Projet web
- Projet android
- Projet ios
Dans ce cours nous verrons comment créer un projet web avec la SDK Firabse JS
Dans un projet firebase nous pouvons ajouter plusieurs applications de type web, android ou ios.
4
Intégrer firebase dans un projet web
- Dans la fenêtre qui s'affiche saisissez le nom que vous voulez donner à votre application (ex : myApp),
puis cliquez sur le bouton register app.
Ce nom est un identifiant qui va permettre d’accéder à votre application dans firebase.
- Vous pouvez configurer Firebase Hosting maintenant ou plus tard . Vous pouvez également lier votre
Firebase Web App à un site d'hébergement à tout moment dans les paramètres de votre projet .
Si vous choisissez de configurer l'hébergement maintenant, définissez un nom d’hébergement ou
sélectionnez un site dans la liste déroulante pour créer un lien vers votre application Web Firebase.
Chaque site d'hébergement ne peut être lié qu'à une seule application Web Firebase.
- Une fois l'application enregistrée, on vous propose d'ajouter firebase SDK, elle nous propose deux
manière de l’intégrer : par script tag et par npm. Nous verrons cette partie à la suite.
Mais il faut savoir qu'il existe deux grandes façons d’intégrer firebase dans un projet web :
- Par URL : elle ne nécessite pas de configuration à faire sur l'ordinateur, mais plutôt un script à référencer
par url dans le projet. Elle comprend 3 manière possibles :
- par cdn :
<script src="https://www.gstatic.com/firebasejs/8.9.1/firebase-
app.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.9.1/firebase-
auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.9.1/firebase-
firestore.js"></script>
- par url hébergement :
<script src="/__/firebase/8.9.1/firebase-app.js"></script>
<script src="/__/firebase/8.9.1/firebase-auth.js"></script>
<script src="/__/firebase/8.9.1/firebase-firestore.js"></script>
- par script tag :
import { initializeApp } from "https://www.gstatic.com
/firebasejs/9.0.1/firebase-app.js";
import { getAnalytics } from "https://www.gstatic.com/firebasejs
/9.0.1/firebase-analytics.js";
Remarque
La manière la plus facile d’intégrer firebase dans un projet web est par référencement url, soit par CDN, par
script tag ou url d’hébergement.
Mais si vous travaillez avec des frameworks nodejs tel que Angular, ReactJs ou Vue.js, alors l’intégration par
NPM est la mieux appropriée.
5
Intégrer firebase dans un projet web
- la première chose est de créer votre projet. Puis vous référencer dans le header, le body ou en dessous
du body de la page le script firebase, ainsi que les scripts des différents services de firebase que vous
aimeriez utiliser dans votre projet.
- Ensuite, vous initialiser l'application firebase dans votre projet et vous utilisez l'objet firebase dans votre
script pour avoir accès aux services de firebase.
- L'initialisation de firebase fait intervenir la définition d'une variable de configuration qui vous permet
d'avoir accès à vos projets et applications dans Google firebase.
Syntatxe :
var firebaseConfig = {
apiKey: "API_KEY",
authDomain: "PROJECT_ID.firebaseapp.com",
databaseURL: "https://PROJECT_ID.firebaseio.com",
projectId: "PROJECT_ID",
storageBucket: "PROJECT_ID.appspot.com",
messagingSenderId: "SENDER_ID",
appId: "APP_ID",
measurementId: "G-MEASUREMENT_ID",
};
Ex :
var firebaseConfig = {
apiKey: "AIzaSyDOCAbC123dEf456GhI789jKl01-MnO",
authDomain: "myapp-project-123.firebaseapp.com",
databaseURL: "https://myapp-project-123.firebaseio.com",
projectId: "myapp-project-123",
storageBucket: "myapp-project-123.appspot.com",
messagingSenderId: "65211879809",
appId: "1:65211879909:web:3ae38ef1cdcb2e01fe5f0c",
measurementId: "G-8GSGZQ44ST"
};
Exemple de d'intégration
1 <html>
2
3 <head>
4
5 <!-- inclure premièrement Firebase App -->
6 <script src="https://www.gstatic.com/firebasejs/5.9.4/firebase-app.js"></script>
7
8 <!-- les services additionnels à utiliser -->
6
Initiation d'un projet Firebase avec NPM
9 <script src="https://www.gstatic.com/firebasejs/5.9.4/firebase-auth.js"></script
>
10 <script src="https://www.gstatic.com/firebasejs/5.9.4/firebase-database.js"></
script>
11 <script src="https://www.gstatic.com/firebasejs/5.9.4/firebase-firestore.js"></
script>
12 <script src="https://www.gstatic.com/firebasejs/5.9.4/firebase-messaging.js"></
script>
13
14 </head>
15
16 <body>
17
18 <button type="button" id="warehousesBTN">Ajout de données à Firestore</button>
19 <div id="status"></div>
20 <script>
21
22 var config = {
23 "apiKey": "...",
24 "databaseURL": "https://myapp.firebaseio.com",
25 "storageBucket": "myapp.appspot.com",
26 "authDomain": "myapp.firebaseapp.com",
27 "projectId": "myapp"
28 };
29 firebase.initializeApp(config);
30
31
32 function waretest() {
33 let db = firebase.firestore();
34 // Add a new document in collection "cities"
35 db.collection("cities").doc("LA").set({
36 name: "Abidjan",
37 country: "CI"
38 })
39 .
.then(function() {
40 console.log("Ajout effectué avec succès!");
41 document.getElementById('status').textContent = "Ajout effectué";
42 })
43 .
.catch(function(error) {
44 console.error("Erreur: ", error);
45 document.getElementById('status').textContent = error;
46 });
47 }
48
49 document.getElementById('warehousesBTN').addEventListener('click', waretest);
50
51 </script>
52 </body>
53 </html>
Exécution du projet
Pour exécuter le projet vous pouvez ouvrir votre page html directement dans un navigateur. Mais il est conseillé
de l’héberger en local votre projet sur un serveur http tel que lite-server, http-server ou autre. Nous verrons cet
aspect dans une autre section.
7
Initiation d'un projet Firebase avec NPM
Pour créer un projet firebase sur notre ordinateur avec NPM, il faut mettre d'abord en place l'environnement
NodeJs.
Installer Nodejs
NodeJs qui est une plateforme Javascript permettant de développer, et d'exécuter des applications JS. Pour
ceux qui ont déjà installé NodeJs sur leur machine, ils n'ont pas besoin de faire les opérations ci-dessous.
- Pour installer Node Js il faut se rendre sur le site officiel de Nodejs dans l'onglet téléchargement :
https://nodejs.org/fr/download. En fonction de votre ordinateur, vous cliquez sur le bouton de
téléchargement approprié puis vous faites l'installation sur votre ordinateur.
- Une fois l'installation effectuée, vous ouvrez l'invite de commande (cmd) appelé aussi console ou
terminal. Puis vous vérifiez l'installation en tapant dans la console : node -v ou node --version. Vous
verrez alors s'afficher dans la console la version de nodeJs installée. Si tel n'est pas le cas c'est que
nodejs n'est pas encore installé, il faut donc refaire l'installation. Sur l'image ci-dessous, on a la version
12.13.1
- L'installation de nodejs inclut aussi l'installation d'une application appelée NPM (Node Package
Manager), le gestionnaire de package de NodeJs. C'est grâce à lui qu'on va pouvoir installer des
applications NodeJs et les lancer.
- Pour vérifier si NPM est bien installé, nous allons afficher sa version en tapant aussi dans la console :
npm -v ou npm --version. Sur l'image ci-dessous, nous avons la version 6.14.4
Pour ceux qui ne sont pas familiariser à l’environnement nodejs, vous pouvez aller suivre des tutoriels sur cette
page :
>> https://nodejs.developpez.com/cours
>> https://www.youtube.com/watch?v=0PA69L88HeI&list=PLjwdMgw5TTLV7VsXd9[https://www.youtube.com
/watch?v=0PA69L88HeI&list=PLjwdMgw5TTLV7VsXd9NOeq39soYXORezN]NOeq39soYXORezN
- Pour installer firebase, créez sur votre machine un dossier qui porte le nom de votre projet (n'importe quel
nom, ex : webApp)
- Placez vous avez l'invite de commande à la racine du dossier, puis tapez la commande : npm install
firebase
8
Initiation d'un projet Firebase avec NPM
- Placez vous dans l'invite de commande à la racine du dossier que vous avez créé. Vous pouvez utiliser la
commande cd (suivit du répertoire de votre dossier) pour vous déplacer à la racine de votre dossier, ou
bien si vous êtes sous Windows, vous pouvez sélectionner votre dossier puis vous maintenez la touche "
Shift" enfoncée, et vous faites un clique droit sur le dossier pour faire apparaître le menu contextuel de
Windows. Puis dans le menu vous cliquez sur "Ouvrir la fenetre PoweShell ici" ou "Ouvrir l'invite de
commande ici" pour ouvrir directement l'invite de commande à la racine de votre dossier créé.
- tapez la commande "npm init" pour initier un projet nodeJs. Validez en appuyant sur la touche "Entrez" à
chaque question qu'il vous pose. Vous pouvez renseigner des réponses aux questions posées ou ne rien
renseigner. Vous pouvez tapez "npm init -y" pour valider automatiquement toutes les réponses.
- Nous allons installer firebase pour notre projet en tapant dans la console à la racine de notre projet "npm
install firebase" ou "npm install firebase --save-dev"
- Dans le dossier crée nous pouvons voir la création de nouveaux fichiers et dossier
- Créons avec notepad++ ou avec notre éditeur de code préféré (ex : visual studio code) un fichier nommé
app.js à la racine de notre projet (même endroit que package.json).
- Copiez et coller le code ci-dessous dans le fichier app.js pour initialiser Firebase dans votre application
et créez un objet Firebase App.
La constante firebaseConfig doit corresponde à la valeur dans les paramètres votre application que
vous avez créé dans la console firebase.
9
Initiation d'un projet Firebase avec NPM
- Pour intégrer les services Firebase (comme Cloud Firestore, l'authentification, la base de données en
temps réel, la configuration à distance, etc.) dans votre projet, vous pouvez les importer dans des sous-
packages individuels.
- L'exemple ci-dessous montre comment vous pouvez utiliser le SDK Cloud Firestore Lite pour récupérer
une liste de données (ici on a un liste de cities qu'on récupère dans Firestore).
- Pour utiliser un service de firebase dans votre projet, il faut d'abord l'importer dans le projet. La syntaxe
est : import { element } from 'module';
Ex :
10
Initiation d'un projet Firebase avec NPM
5 authDomain: "shopapp-c4189.firebaseapp.com",
6 databaseURL: "https://shopapp-c4189-default-rtdb.europe-west1.firebasedatabase.
app",
7 projectId: "shopapp-c4189",
8 storageBucket: "shopapp-c4189.appspot.com",
9 messagingSenderId: "438740915615",
10 appId: "1:438740915615:web:f23dc1028133dc264959aa",
11 measurementId: "G-D63Z6ER318"
12 };
13
14 const app = initializeApp(firebaseConfig);
15 const auth = getAuth(firebaseApp);
16 onAuthStateChanged(auth, user => {
17 // Check for user status
18 });
Conseil
Pour travailler aisément avec firebase (création de projet, utilisation des services firebase, build et exécution du
projet) en environnement nodeJs, nous vous conseillons d'utiliser un framework front NodeJs tel que Angular,
ReactJs, VueJs, etc.
11
Exercice : Activité d'auto-évaluation 1
projet ios
projet microservice
Projet web
Projet android
Projet desktop
svn
cdn
git
API REST
script tag
12
Création de projet avec Google Firebase CLI
La CLI Firebase offre une variété d'outils pour la création, la gestion, la visualisation et le déploiement des
projets Firebase de façon aisée.
Dans cette section nous allons apprendre à créer de déployer des projets firebase avec.
1. Installation et configuration
Installer la CLI Firebase
- Pour installer la CLI (Commande LIne) de FireBase, il faut d'abord installer l'environnement NodeJs, c'est
ce que nous avons fait dans le chapitre précédent.
- Puis dans l'invite de commande ou la console de votre ordinateur, tapez : npm install -g firebase-tools
- Une fois l'installation terminée, vous tapez firebase --version pour voir le numéro de versionde firebase
cli installé (S'il y a erreur, c'est que votre installation est mal faite).
Après avoir installé la CLI, vous devez vous authentifier. Ensuite, vous pouvez confirmer l'authentification en
répertoriant vos projets Firebase.
Connectez-vous à Firebase à l'aide de votre compte Google en exécutant la commande suivante : firebase login
Une fois connecté dans la console de votre ordinateur à au serveur Firebase, vous pouvez afficher la liste de vos
projets créés dans Google firebase en tapant : firebase projects:list
13
Initialiser un projet Firebase avec la CLI de Firebase
- Choisissez les modules que vous voulez intégrer dans votre projet à l'aide de la touche espace, puis valider
en appuyant sur "Entrée"
- Choisissez l'option "use an existing project" puis sélectionnez le nom de votre projet créé dans la
console web Firebase de votre navigateur et validez.
- Validez les différentes questions qui vous sont posées.
- La structure du projet créé ressemble à ceci :
Exécutez la commande suivante à partir de la racine de votre répertoire de projet local si vous souhaitez
effectuer l'une des tâches suivantes :
- Utiliser des fonctions Cloud pour générer du contenu dynamique pour Firebase Hébergement et que vous
voulez utiliser votre production (déploiement) fonctions HTTP pour émuler l' hébergement sur une
URL locale.
- On a le message hosting: Local server: http://localhost:5000 qui s'affiche dans la console. Vous pouvez
donc accéder à votre application dans le navigateur à l'adresse : http://localhost:5000
14
Déployer un projet Firebase
Exécutez l' une des commandes suivantes à partir de votre répertoire de projet pour émuler votre projet en
utilisant les fonctions HTTP locales.
- Pour émuler les fonctions HTTP et l'hébergement à des fins de test sur des URL locales, utilisez l'une des
commandes suivantes :
- firebase serve
- ou bien firebase serve --only functions, hosting
- Pour émuler uniquement les fonctions HTTP, utilisez la commande suivante : firebase serve --
only functions
Pour déployer sur un projet Firebase, exécutez la commande suivante à partir du répertoire de votre projet :
firebase deploy
Exemple de deploiement
15
Exercice : Activité d'auto-évaluation 2
http-server -f
firebase serve
fire serve
firebase http-serve
16