Comprendre les projets Firebase

Cette page présente brièvement plusieurs concepts importants concernant les projets Firebase. Lorsque cela est possible, suivez les liens pour obtenir des informations plus détaillées sur les fonctionnalités, les services, les outils et les bonnes pratiques.

Relation entre les projets, les applications et les produits Firebase

Un projet Firebase est l'entité de premier niveau pour Firebase. Dans un projet, vous pouvez enregistrer vos applications Apple, Android ou Web. Une fois vos applications enregistrées auprès de Firebase, vous pouvez ajouter les SDK Firebase pour n'importe quel nombre de produits Firebase, tels que Analytics, Cloud Firestore, Performance Monitoring, ou Remote Config.

Pour en savoir plus sur ce processus, consultez le guide Premiers pas pour votre plate-forme :
iOS+ | Android | Web | Unity | C++ | Flutter.

Comprendre la hiérarchie des projets Firebase

Schéma illustrant la hiérarchie de base d'un projet Firebase, y compris le projet, ses applications enregistrées, ainsi que ses ressources et services provisionnés Ce schéma illustre la hiérarchie de base d'un projet Firebase. Voici les principales relations :

  • Un projet Firebase est comme un conteneur pour toutes vos applications, ainsi que pour toutes les ressources et tous les services provisionnés pour le projet.

  • Un projet Firebase peut contenir une ou plusieurs applications Firebase enregistrées (par exemple, les versions iOS et Android d'une application, ou les versions sans frais et payante d'une application).

  • Toutes les applications Firebase enregistrées dans le même projet Firebase partagent et ont accès à toutes les mêmes ressources et tous les mêmes services provisionnés pour le projet. Voici quelques exemples :

    • Toutes les applications Firebase enregistrées dans le même projet Firebase partagent les mêmes backends, tels que Firebase Hosting, Authentication, Realtime Database, Cloud Firestore, Cloud Storage et Cloud Functions.

    • Toutes les applications Firebase enregistrées dans le même projet Firebase sont associées à la même propriété Google Analytics, dans laquelle chaque application Firebase est un flux de données distinct.

Relation entre les projets Firebase et Google Cloud

Lorsque vous créez un projet Firebase, c'est en fait un Google Cloud projet que vous créez en coulisses. Vous pouvez même créer un Google Cloud projet, puis ajouter Firebase au projet ultérieurement. Vous pouvez considérer un Google Cloud projet comme un conteneur virtuel pour les données, le code, la configuration et les services.

Notez que pour tous les projets Firebase, Firebase ajoute automatiquement un libellé de firebase:enabled dans la page Libellés de votre projet dans la console Google Cloud. Pour en savoir plus sur ce libellé, consultez nos questions fréquentes.

Étant donné qu'un projet Firebase est un Google Cloud projet :

  • Vous pouvez accéder au projet et interagir avec lui dans la Firebase console ainsi que dans la Google Cloud console et console Google APIs.

  • Vous pouvez interagir avec le projet à l'aide de la Firebase CLI, the gcloud CLI, et de n'importe quelle ressource Terraform de Google.

  • Vous pouvez utiliser des produits et des API de Firebase et de Google Cloud dans le projet.

  • Les autorisations et les rôles IAM pour le projet sont partagés entre Firebase et Google Cloud. Tout accès dont dispose un membre du projet (c'est-à-dire, un compte principal) à votre Google Cloud projet s'appliquera également à votre projet Firebase (et vice versa).

  • La facturation du projet est partagée entre Firebase et Google Cloud. Si la facturation est activée dans votre Google Cloud projet, votre projet Firebase sera soumis au forfait Blaze avec paiement à l'usage de Firebase.

  • Les identifiants uniques du projet (tels que le numéro du projet et l'ID du projet) sont partagés entre Firebase et Google Cloud.

  • Toute hiérarchie de ressources appliquée à votre Google Cloud projet (par exemple, organisation, dossiers, etc.) s'appliquera également à votre projet Firebase.

  • La suppression du projet le supprime à la fois dans Firebase et Google Cloud.

  • La suppression ou la modification d'une ressource ou de données dans le projet s'applique à la fois dans Firebase et Google Cloud.

Configurer un projet Firebase et enregistrer des applications

Vous pouvez configurer un projet Firebase et enregistrer des applications dans la Firebase console (ou, pour les cas d'utilisation avancés, à l'aide de l' API REST Firebase Management ou de la Firebase CLI). Lorsque vous configurez un projet et enregistrez des applications, vous devez prendre certaines décisions organisationnelles et ajouter des informations de configuration spécifiques à Firebase à vos projets locaux.

Pour les applications de production, vous devez configurer un workflow de développement clair, qui implique généralement l'utilisation de plusieurs environnements. Consultez notre documentation sur les workflows de développement, y compris les bonnes pratiques générales et les consignes de sécurité générales pour configurer des projets Firebase et enregistrer des applications afin de créer votre workflow de développement.

Interagir avec un projet Firebase

Outre les SDK de produits, vous pouvez interagir directement avec un projet Firebase à l'aide de plusieurs outils et interfaces différents.

Firebase console

La Firebase console offre l'environnement le plus riche pour gérer les produits, les applications et les paramètres au niveau du projet Firebase.

Le panneau de gauche de la console liste les produits Firebase, organisés par catégories de premier niveau. En haut du panneau de gauche, accédez aux paramètres d'un projet en cliquant sur . Les paramètres d'un projet incluent les intégrations, les autorisations d'accès, et la facturation.

Au centre de la console, des boutons permettent de lancer des workflows de configuration pour enregistrer différents types d'applications. Une fois que vous commencez à utiliser Firebase, la zone principale de la console se transforme en tableau de bord qui affiche des statistiques sur les produits que vous utilisez.

Notez que, comme un projet Firebase est également un projet Google Cloud, vous constaterez peut-être que diverses tâches ou divers produits vous obligent à utiliser la console Google Cloud au lieu de la console Firebase.

Firebase CLI (outil de ligne de commande)

Firebase propose également la Firebase CLI pour configurer et gérer des produits Firebase spécifiques, tels que Firebase Hosting, Cloud Functions for Firebase, et Firebase Extensions.

Après avoir installé la CLI, vous avez accès à la commande firebase globale. Utilisez la CLI pour associer votre répertoire d'application local à un projet Firebase, puis déployez de nouvelles versions de contenu hébergé par Firebase ou des mises à jour de fonctions.

API REST Firebase Management

L'API REST Firebase Management vous permet de gérer un projet Firebase de manière programmatique. Par exemple, vous pouvez enregistrer une application dans un projet ou lister les applications déjà enregistrées (iOS+ | Android | Web).

Identifiants de projet Firebase

Un projet Firebase peut être identifié dans le backend Firebase et dans diverses interfaces de développement à l'aide de différents identifiants, y compris le nom du projet, le numéro du projet et l'ID du projet.

Nom du projet

Lorsque vous créez un projet, vous fournissez un nom de projet. Cet identifiant est le nom interne uniquement d'un projet dans la Firebase console, la Google Cloud console, et la Firebase CLI. Le nom du projet n'est exposé dans aucun produit, service ni ressource Firebase ou Google Cloud visible publiquement. Il vous permet simplement de distinguer plus facilement plusieurs projets.

Vous pouvez modifier le nom d'un projet à tout moment dans les Paramètres du projet de la Firebase console. Le nom du projet s'affiche dans le volet supérieur.

Numéro du projet

Un projet Firebase (et son projet Google Cloud associé) possède un numéro de projet. Il s'agit de l'identifiant canonique globalement unique attribué par Google pour le projet. Utilisez cet identifiant lorsque vous configurez des intégrations et/ou effectuez des appels d'API vers Firebase, Google ou des services tiers.

Vous ne pouvez pas modifier le numéro d'un projet. Si vous supprimez un projet, son numéro est également supprimé et ne pourra plus jamais être utilisé par un autre projet.

ID du projet

Un projet Firebase (et son projet Google Cloud associé) possède un ID de projet. Il s'agit d'un identifiant unique défini par l'utilisateur pour le projet dans l'ensemble de Firebase et Google Cloud. Lorsque vous créez un projet Firebase, Firebase lui attribue automatiquement un ID unique, mais vous pouvez le modifier lors de la configuration du projet. Cet identifiant doit généralement être traité comme un alias pratique pour faire référence au projet.

Fichiers et objets de configuration Firebase

Lorsque vous enregistrez une application dans un projet Firebase, la Firebase console fournit un fichier de configuration Firebase (applications Apple/Android) ou un objet de configuration (applications Web) que vous ajoutez directement à votre répertoire d'application local.

  • Pour les applications Apple, vous ajoutez un fichier de configuration GoogleService-Info.plist.
  • Pour les applications Android, vous ajoutez un fichier de configuration google-services.json.
  • Pour les applications Web, vous ajoutez un objet de configuration Firebase.

Vous pouvez obtenir le fichier ou l'objet de configuration Firebase d'une application à tout moment .

Un fichier ou un objet de configuration Firebase associe une application à un projet Firebase spécifique et à ses ressources (bases de données, buckets de stockage, etc.). La configuration inclut des "options Firebase", qui sont des paramètres requis par Firebase et les services Google pour communiquer avec les API de serveur Firebase et pour associer les données client au projet et à l'application Firebase. Voici les "options Firebase" minimales requises :

  • Clé API : chaîne chiffrée simple utilisée lors de l'appel de certaines API qui n'ont pas besoin d'accéder à des données utilisateur privées (exemple de valeur : AIzaSyDOCAbC123dEf456GhI789jKl012-MnO)

  • ID du projet : identifiant unique défini par l'utilisateur pour le projet dans l'ensemble de Firebase et Google Cloud. Il peut figurer dans des URL ou des noms de ressources Firebase, mais vous pouvez principalement le considérer comme un alias pratique pour faire référence à votre projet. (exemple de valeur : myapp-project-123)

  • ID d'application ("AppID") : identifiant unique de l'application Firebase dans l'ensemble de Firebase avec un format spécifique à la plate-forme :

    • Applications Apple Firebase : GOOGLE_APP_ID (exemple de valeur : 1:1234567890:ios:321abc456def7890)
      Il ne s'agit pas d'un ID de bundle Apple.
    • Applications Android Firebase : mobilesdk_app_id (exemple de valeur : 1:1234567890:android:321abc456def7890)
      Il ne s'agit pas d'un nom de package Android ni d'un ID d'application Android.
    • Applications Web Firebase : appId (exemple de valeur : 1:65211879909:web:3ae38ef1cdcb2e01fe5f0c)

Le contenu du fichier ou de l'objet de configuration Firebase est considéré comme public, y compris l'ID spécifique à la plate-forme de l'application (ID de bundle Apple ou nom de package Android) et les valeurs spécifiques au projet Firebase, telles que la clé API, l'ID du projet, Realtime Database URL et Cloud Storage nom du bucket. Par conséquent, utilisez Firebase Security Rules pour protéger vos données et vos fichiers dans Realtime Database, Cloud Firestore, et Cloud Storage.

Pour les projets Open Source, nous vous déconseillons généralement d'inclure le fichier ou l'objet de configuration Firebase de l'application dans le contrôle des sources, car, dans la plupart des cas, vos utilisateurs doivent créer leurs propres projets Firebase et pointer leurs applications vers leurs propres ressources Firebase (via leur propre fichier ou objet de configuration Firebase).

Limites générales pour les projets, les applications et les sites Firebase

Voici quelques limites générales pour les projets, les applications et les sites Firebase :

  • Nombre de projets par compte Google (adresse e-mail)

    • Forfait Spark : le quota de création de projets est limité à un petit nombre de projets (généralement entre 5 et 10).
    • Forfait Blaze : le quota de création de projets est toujours limité, mais il peut augmenter avec l'association d'un Cloud Billing en règle.

    Notez les points suivants concernant la limite du quota de création de projets :

    • Cette limite n'est pas spécifique à Firebase. Les limites de Firebase concernant le quota de projets sont les mêmes que celles de Google Cloud.
    • Dans le rare cas où cela est nécessaire, vous pouvez demander une augmentation du quota de projets.
    • La suppression complète d'un projet nécessite 30 jours et est comptabilisée dans le quota de projets jusqu'à sa suppression complète.

    Découvrez les bonnes pratiques générales recommandées par Firebase pour configurer des projets Firebase.

  • Nombre d'applications par projet

    Firebase limite le nombre total d'applications Firebase dans un projet Firebase à 30.

    Vous devez vous assurer que toutes les applications Firebase d'un même projet Firebase sont des variantes de plate-forme de la même application du point de vue de l'utilisateur final. Pour en savoir plus sur l'architecture mutualisée , consultez nos documents sur les bonnes pratiques.

    Pour en savoir plus sur la limite d'applications par projet, consultez les questions fréquentes.

  • Nombre de sites par projetHosting

    La fonctionnalité Firebase Hosting multisite accepte un maximum de 36 sites par projet.

Lancer votre application