• 20 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 18/02/2022

Découvrez Firebase

Mais qu'est-ce qu'un Backend ? Eh bien ce dernier, dans un contexte d'application mobile comme le nôtre, représente la partie "Serveur", sur lequel nous allons pouvoir déporter et centraliser des responsabilités comme l'authentification, le stockage, les notifications, etc... bref, toute la partie de communication Client-Serveur  pour l'ensemble des utilisateurs de notre application.

D'accord, mais pourquoi dois-je apprendre cela ? Je suis un développeur mobile moi, pas un développeur web ! 

Eh bien justement, Firebase a été conçu principalement pour les développeurs mobiles afin de leur permettre de créer plus facilement des architectures serveur performantes.

Imaginez, avant Firebase, si vous deviez créer une application connectée comme Duolingo ou encore Todoist, vous deviez avoir à disposition :

  1. Des développeurs mobile pour créer l'application Android et iOS ;

  2. Des développeurs web pour créer et maintenir la partie Backend (APIs, base de données, etc...) ;

  3. Des ingénieurs systèmes/réseaux pour maintenir l'architecture système (même si cela devient de moins en moins vrai avec des services comme GCP et AWS).

Grâce à Firebase, vous devenez plus qu'un développeur mobile... vous devenez un développeur Full-Stack ! Vous allez pouvoir, seul, gérer l'ensemble d'un projet mobile, de l'application à la partie serveur, le tout principalement depuis le code de votre application mobile (Java/Kotlin pour Android, et Swift pour iOS) grâce aux SDK fournis par Firebase, ainsi qu'à diverses librairies clients utilitaires.

Qu'est-ce que Firebase ?

L'objectif premier de Firebase est de vous libérer de la complexité de création et de la maintenance d'une architecture serveur, tout en vous garantissant une scalabilité à toute épreuve (plusieurs milliards d'utilisateurs) et une simplicité dans l'utilisation.

Un seul cours ne suffirait pas pour étudier tous les produits disponibles sur Firebase ! Ici, nous allons nous intéresser plus particulièrement aux produits suivants :

  • Cloud Firestore : Base de données NoSQL orientée documents de Firebase, permettant de stocker, synchroniser et récupérer des données distantes pour une application mobile.

  • Storage : Espace de Firebase dédié au stockage et à la récupération de fichiers propres à l'utilisateur comme des photos ou des vidéos.

  • Authentication : Solution permettant de créer et gérer facilement des moyens d'authentification variés (Google, Facebook, Email, etc...) dans le but de sécuriser l'accès à une application mobile et authentifier les utilisateurs.

  • Cloud Messaging : Fournit un flux de communication fiable et économe en batterie entre le serveur (Firebase) et les appareils distants (où l'application est installée) dans l'objectif d'envoyer et recevoir des messages de notifications.

Afin de comprendre au mieux le fonctionnement de ces produits, nous allons les implémenter tout au long de ce cours, dans une mini-application : FirebaseOC.

Découvrez l'application FirebaseOC

Captures d'écran de l'application FirebaseOC
Captures d'écran de l'application FirebaseOC

FirebaseOC est une mini-application dont l'objectif est de faciliter la communication entre les mentors et les étudiants OpenClassrooms du parcours diplômant Android.

Les étudiants et mentors pourront s'inscrire à l'application, puis discuter en temps réel avec leurs mentors dans un chat dédié. Enfin, il sera également possible d'envoyer des images (ou des GIFs..) dans la conversation, et d'envoyer des notifications programmables et personnalisables depuis une interface Web. 

Et nous allons développer le tout en nous appuyant sur Firebase, forcément.

Le but de ce cours est de se concentrer sur Firebase, et non sur la création d'interface graphique que vous devez à présent maîtriser. C'est d'ailleurs pour cette raison que nous ne partons pas d'une application totalement vierge.

Et c'est tout ! Lancez l'application FirebaseOC. Le résultat devrait être le suivant :

Aperçu de la mini-application FirebaseOC vierge
Aperçu de la mini-application FirebaseOC vierge

Encore une fois, n'hésitez pas à vous imprégner du code de base déjà réalisé, afin de le comprendre un minimum.

En résumé

  • Firebase est une solution clé en main qui permet d'implémenter rapidement un back end pour votre application mobile.

  • Firebase contient de nombreux outils et s'intègre facilement au sein de tout type d'application (mobile et web).

Exemple de certificat de réussite
Exemple de certificat de réussite