Avec l’évolution constante de la technologie et les besoins du marché, les développeurs cherchent toujours des solutions rapides et efficaces dans le domaine du développement d’applications web et mobiles. Dans ce contexte, Firebase, l’outil en ligne de Google, peut répondre à ces demandes avec son ensemble de service google cloud.

En effet, Firebase offre de multitudes d’outils puissants conçus pour le développement backend, ce qui laisse les développeurs se concentrer sur l’interface et l’expérience utilisateur. Dans cet article, DigitalUnicorn vous donne le guide complet pour utiliser Firebase.

Qu’est-ce que Firebase ?

Les avantages de Firebase
Les avantages de Firebase

D’abord, avec DigitalUnicorn, vous allez découvrir la base même de Firebase avant de savoir ses avantages et ses services.

Définition et fonctionnalités principales

Firebase est une plateforme en ligne dont la fonction est de créer des applications web et mobiles grâce à des services basés sur le Cloud pour l’hébergement, le développement et la gestion d’apps. Créer en 2011, Firebase a été initialement renommé Envolve, avant d’être racheté par Google en 2014.

Pour répondre aux besoins des utilisateurs, Firebase propose des fonctionnalités axées sur 3 piliers, dont le développement, la qualité et la croissance des applications. Utilisant NoSQL pour sa base de données, cette plateforme de Google permet la création d’app sans avoir à gérer l’infrastructure du serveur.

Pourquoi choisir Firebase pour votre projet ?

Le choix de Firebase va vous apporter plusieurs avantages pour votre app et pour son développement, les voici :

  • Vitesse de développement élevé: des outils intégrés, comme API ou SDK pour accélérer son développement ;
  • Infrastructure configurée: les serveurs et le backend sont déjà configurés automatiquement ;
  • Scalabilité : performance accrue permettant aux apps d’évoluer rapidement ;
  • Écosystème Google: les apps conçu avec Firebase sont facilement intégrés avec les autres services de Google ;
  • Support multiplateforme: Android, IOs, web, Unity ;
  • Outils d’analyse inclut: les outils comme Cloud messaging ou Analystics permettent suivre les indicateurs pour améliorer l’engagement et la fidélisation des utilisateurs ;
  • Communauté riche et vaste: Firebase dispose d’une communauté solide de développeurs et d’utilisateurs, idéal pour la recherche de ressources, de conseils ou de solutions.

Avantages et inconvénients de Firebase

Voici les avantages et les inconvénients de Firebase :

  • Avantages: solution tout-en-un, une prise en main facile, une courbe d’apprentissage faible avec des documentations facile à trouver, idéal pour avoir des solutions ;
  • Inconvénients: Firebase n’est pas open source, mais verrouillé par le propriétaire (Google), les requêtes complexes sont limitées et non adaptées pour les applications très spécifiques à cause de la personnalisation très limitée.  

Vous voulez développer une application mobile, web ou un jeux avec Firebase pour bénéficier de tous ses avantages ? Notre agence DigitalUnicorn est disposé à réaliser vos projets en garantissant leurs succès grâce à notre équipe de développeurs expérimenté et compéténte.

Démarrer avec Firebase : guide étape par étape

Le guide pour démarrer avec Firebase
Le guide pour démarrer avec Firebase

Firebase permet de concevoir une application avec la mise en place automatique du backend avec quelques configurations requises. De ce fait, pour créer une app, il faut installer SDK, intégrer Firebase sur le système (Android, IOS, web…) et configurer les paramètres. Cela vous permet de vous concentrer sur le design UX/UI.

Créer un projet Firebase

Sur la console de Firebase, vous pouvez ajouter un projet, puis donner un nom de projet et activez les outils dont vous avez besoin pour vos apps (Google Analytics…). En fin, vous créez votre propre projet avec quelques cases à remplir, cela peut prendre quelques secondes à peine.

Installer le SDK Firebase

Le SDK ou kit de développement ou software développement Kit est l’ensemble des outils pour faciliter le développement d’apps et de logiciel multi-platform. Il comporte un traducteur (compilateur, interprétateur…), un éditeur de lien pour lier les modules, des bibliothèques, un éditeur de code, un débogueur et un exécuteur.

Pour ce faire, chaque plateforme a sa propre méthode, les voici :

  • Android : ajouter les dépendances dans le build.gradle (Project), dans le build.gradle (Module) et ajouter le fichier google-services.json à la racine.
  • IOs : ajouter le fichier GoogleService-Info.plist, dans le podfile, puis initialiser Firebase dans AppDelegate.swift.
  • Web : intégrez Firebase avec CDN ou NPM.

Intégrer Firebase dans votre application (Exemples de code pour Android, iOS et Web)

Ensuite, vous pouvez maintenant installer les différents types de fonctionnalités et les services de Firebase selon vos projets et vos besoins. Voici un exemple :

Intégration de la fonctionnalité d’authentification par email ou pasword :

js

import { getAuth, createUserWithEmailAndPassword } from “firebase/auth”;

 

const auth = getAuth();

createUserWithEmailAndPassword(auth, “email@example.com”, “motdepasse”)

  .then((userCredential) => {

    console.log(“Utilisateur créé :”, userCredential.user);

  })

  .catch((error) => {

    console.error(error.code, error.message);

  });

Configurer les services Firebase (Authentication, Database, Storage, etc.)

La dernière étape avant de se lancer dans le design UX/UI est de configurer le serveur de Firebase en rapport avec votre application. Vous devez activer et configurer ses services, les voici :

  • Authentification: activer dans la console de firebase, choisir la méthode de connexion (email, numéro de téléphone, compte Google, Facebook…) ;
  • Firestore ou base de données : activer le cloud firestore et choisir le mode de sécurité ;
  • Stockage de fichier ou storage: activer Firebase Storage pour stocker des images, des fichiers, des vidéos ;
  • Outils analytics: pour suivre les comportements des utilisateurs et les indicateurs clés (facultatif, mais recommandé).

Les principaux services Firebase

Services de firebase
Services de firebase

DigitalUnicorn vous présente maintenant les principaux services de Firebases pour une gestion et une performance optimale de votre application.

Authentication : sécuriser l’accès à votre application

L’authentification est la base des applications sécurisées, indispensable pour la création d’un back-end plus ou moins complexe.

Méthodes d’authentification (email/mot de passe, réseaux sociaux, etc.)

Voici les méthodes d’authentification les plus utilisées et les plus sécurisés :

  • Email et mot de passe: méthode classique, efficace et rapide ;
  • OAuth via aux réseaux sociaux: Google, Facebook, Twitter, Apple ;
  • Authentification anonyme : efficace pour tester d’abord l’app avant l’utilisation ;
  • Numéro téléphone: vérification par SMS.

Gestion des utilisateurs et sécurité

Voici Les fonctionnalités pour la gestion des utilisateurs et des sécurités :

  • Création, connexion, déconnexion et suppression des utilisateurs ;
  • Gestion du SDK;
  • La détermination des rôles (admin, user) via aux claims personnalisés
  • Sécurité des données: le contrôle d’accès passe par les règles de sécurité de Firebase Auth.

 

Realtime Database : une base de données NoSQL en temps réel

Realtime Database est une base de données NoSQL basée sur JSON dont le rôle est de synchroniser les données en temps réel avec les clients.

Structure des données

Les données de Firebase sont stockées sous forme de JSON destiné pour les applications de chat et de live ou des applications simples. De plus, il sert aussi les fichiers utilisateur à partir de sa base de données. Son avantage réside dans sa facilité d’intégration à Google Cloud Storage pour une performance élevée.

Requêtes et synchronisation

Les données peuvent changer en temps réel, vous n’avez pas besoin de modification, mais des mises à jour. Mais pour modifier ou regarder les modifications, vous pouvez utiliser la fonction on(“value”) ou on(“child_added”).

Estimez votre projet d’application en 45 secondes
Répondez à quelques questions rapides et obtenez votre estimation gratuite.
Estimation gratuite et sans engagement.

Sécurité des règles de base de données

Le mieux est d’instaurer une règle simple, mais puissante pour une performance optimale. Firebase tend juste à être moins flexible que Firestore par exemple, surtout pour les applications de grande envergure.

Cloud Firestore : une base de données NoSQL flexible et évolutive

Pour une base de données plus performante et plus flexible, vous pouvez choisir Firestore, la base de données la plus récente de Firebase avec une structure avancée, qui plus adapté aux plus gros projets.

Collections et documents

Sa structure se construit de façon hiérarchique en commençant avec la collection puis des documents. Vous pouvez même créer des subcollections. Chaque document est défini, comme un objet JSON avec un identifiant unique.

Requêtes et transactions

Vous pouvez ainsi faire des requetés complexes avec Where, orderBy, limit, StarArt et bien d’autres. Pour une intégrité optimale, Firestore accorde la prise en charge des transactions et des batches.

Indexation et performances

Pour l’indexation, Firestore peut créer automatiquement des indexes simples. Pour les requêtes complexes, le développeur doit créer ce qu’on appelle un indexe composite via à la console de Firebase. Enfin, les requêtes ciblées améliorent les performances sans téléchargement au préalable de tout l’arbre, comme le Realtime DB.

Cloud Storage : stocker et gérer les fichiers de votre application

Cloud storage
Cloud storage

Firebase Cloud Storage vous permet de stocker des fichiers (document et multimédia) et de les servir sur votre application à grande échelle. De plus, il est basé sur Google Cloud Storage

Types de stockage supportés

Firebase supporte tous types de fichiers, comme tous les fichiers binaires (Image, document, vidéo, audio, archive). De plus, il est compatible avec tous les types de formats (Mp4, PDF, AVI, JPEG). De ce fait, il peut s’adapter à tous types d’application.

Sécurité et accès aux fichiers

Le contrôle d’accès se fait via les règles de sécurité Storage. Néanmoins, pour protéger les fichiers, un système d’authentification est requis. Voici un petit exemple :

service firebase.storage {

  match /b/{bucket}/o {

    match /user_uploads/{userId}/{allPaths=**} {

      allow read, write: if request.auth != null && request.auth.uid == userId;

    }

  }

}

Intégration avec d’autres services

Firebase Stockage peut aussi être intégré avec d’autres services, surtout ceux de Google, comme Firebase Authentification (accès de l’utilisateur), Firestore (stockage de donnée) ou Cloud Function (fonctionnalité pour déclencher des actions).

Cloud Functions : exécuter du code sans serveur

Comme son nom l’indique, Cloud Function est composé de nombreuses fonctions sans avoir à gérer le côté serveur qui s’exécutera le code back-end en réponse à des actions. En d’autres termes, vous écrivez des fonctions, et c’est Firebase qui s’occupe de son fonctionnement.

Déclencheurs et événements

Les fonctions doivent être déclenchées par des fonctionnalités, dont les voici :

  • Firestore : création, modification, suppression des données ;
  • Authentification : Inscription et suppression des comptes utilisateur ;
  • Realtime Database: modification des données en temps réel ;
  • Storage: Upload et download de fichiers ;
  • HTTP : endpoints personnalisés pour des APIs REST.

Intégration avec d’autres services

Comme tous les services Cloud function peut être intégré avec d’autres services Google, comme :

  • Firebase: traitement de données ;
  • Realtime Database: mis à jours  et validation des données à temps réel ;
  • Authentification: envoyer des mails et attribuer des rôles pour les utilisateurs ;
  • Storage : modifier des données, générer des miniatures… ;
  • Outils d’analyses: suivi des performances et des éléments.

Firebase Hosting : héberger facilement votre application web

Firebase Hosting est un service d’hébergement destiné pour les applications web simples ou SPA (Single Page Application). DigitalUnicorn vous présente les étapes à  suivre pour l’installer.

Déploiement et mise à jour

Pour le déploiement et la mise à jour, voici les instructions à suivre :

  • Installation de Firebase: vous accédez à la console avec : npm install -g firebase-tools ;
  • Initialisation du projet : avec le code : firebase login et firebase init hosting ;
  • Configuration du dossier public: dist, build ou public :
  • Déploiement : firebase deploy ;
  • URL et nom de domaine: chaque page dispose une URL unique et le nom de domaine peut aussi être modifié dans la console.

Intégration avec d’autres services

L’app peut aussi être intégré avec d’autres services pour répondre à des besoins spécifiques :

  • Intégration native avec le Cloud function et Firestore ;
  • Compatible avec les front-end React, Vue, Angular ou JavaScript/HTML/CSS ;
  • Intégration du support du routing SPA

Sécurité et performances

Pour garantir sa sécurité et sa performance, le SPA prend en charge du HTTPS automatique, peut être paramétré via à des headers caches, des règles d’accès et des redirects.

Firebase Analytics : suivre les performances de votre application

Le Firebase Ananlytics vous permet de suivre les performances votre applications  en collectant des données sur les comportements des utilisateurs sur votre site, comme le taux de trafic et de conversion, leur parcours, le taux de clics et bien d’autres. Le but est d’améliorer votre app en fonction des besoins de vos utilisateurs.

Événements et paramètres

Les outils doivent pouvoir suivre automatiquement de certains évènements selon vos besoins. Vous pouvez alors personnaliser les fonctions de vos outils analytics et des paramètres dans certains cas pour suivre les actions choisies ou pour segmenter les utilisateurs.

Tableaux de bord et rapports

Pour suivre les données et regarder les rapports, vous pouvez accéder à un tableau de bord en temps réel et au rapport via la console de Firebase, puis dans la section analytics. Vous pouvez intégrer des outils comme BigQuery pour importer des données.

Intégration avec Google Analytics

Pour ce faire, intégrer Google Analytics 4 pour suivre les indicateurs clés. Vous pouvez lier nativement votre application et votre compte Google Analytics. De plus, elle peut être lié à d’autres outils Google, comme Google Ads, Tag manager, Optimize et bien d’autres.

Firebase Cloud Messaging : envoyer des notifications push

Pour finir, Firebase Cloud Messagin est une fonctionnalité indispensable pour envoyer des notifications push et des messages aux utilisateurs même lorsqu’ils ne sont pas actifs. Cela permet à votre app d’améliorer l’engagement de ses utilisateurs.

Types de notifications

Firebase Cloud Messaging prend en charge deux types de notifications :

  • Notification push pour alerter les utilisateurs de nouveau message ou d’action ;
  • Message de donnée pour envoyer des messages utiles pour les clients.

Segmentation des utilisateurs

La segmentation des utilisateurs est indispensable pour cibler des utilisateurs spécifiques (public cible). FCM utilise :

  • Tokens applications pour envoyer des notifications à des utilisateurs spécifiques ;
  • Topics pour entraîner des utilisateurs à s’abonner à des thématiques spéciales ;
  • Groupe d’individus pour des notifications envoyé à des appareils communs.

Vous pouvez utiliser Google Analytics pour cibler des utilisateurs spécifiques à effectuer des actions voulues.

Suivi des performances

L’efficacité des notifications peut aussi être suivie grâce à Firebase, voici les éléments quantifiables :

  • Le taux de livraisons des notifications (push et message) ;
  • Le taux d’ouverture, accessible grâce à la console de Firebase ;
  • Rapport détaillé de la réussite avant et après les notifications.

Avec DigitalUnicor, vos projets peut prendre vie grâce à Firebase. Nous pouvons vous accompagner en répondant à vos besoins et en vous donnant des conseils et recommandations pour améliorer vos idées. Vous pouvez demander déjà un dévis sur notre site web.