Pour le dire très simplement, Firebase est un service de base de données externe. Ils se définissent comme :
"Un ensemble de services de cloud computing back-end et de plates-formes de développement d'applications fournis par Google" pour plus d'informations, consultez ici : https://firebase.google.com/
Outre les services de base de données, ils offrent également des services d'authentification et d'intégration pour diverses applications. Les applications et les langages de programmation pris en charge sont : Flutter, Dart, C++, Android, IOS, JavaScript , moteurs Unity et Java.
Pourquoi tout cela est-il important ? Parce que nous avons utilisé Firebase dans le développement de notre application. Non seulement cela, mais nous avons utilisé son service le plus populaire : c'est le service de base de données.
On peut se demander, pourquoi même utiliser Firebase ? La base de feu est facile . Lors de tout type de projet de développement qui vous obligera à enregistrer des données utilisateur dans certains formulaires, vous aurez besoin d'une base de données. Il peut s'agir de stocker les données de l'utilisateur pour une analyse ultérieure, la modification des données, la protection des données, la restauration des données, etc. Cela s'applique aux entreprises, aux particuliers et aux organisations, voire à plusieurs groupes.
Maintenant que nous savons pourquoi nous utilisons des bases de données, nous devons poser la question suivante. Quels types de bases de données nous conviennent le mieux ?
Explorons ces différences. Pendant que nous faisons cela, essayez de deviner à quel type de base de données Firebase appartient ;) .
Bases de données centralisées : C'est lorsque la base de données qui est utilisée pour l'application est stockée dans un endroit auquel les personnes qui l'utilisent ont un accès physique direct. Ils peuvent également modifier, améliorer, mettre à jour et reconstruire la base de données comme ils le souhaitent. Essentiellement, vous avez la propriété complète et la capacité de modification de la base de données de toutes les manières physiques, internes et en termes d'infrastructure numérique.
Bases de données décentralisées : C'est tout le contraire des bases de données centralisées. Ce sont des bases de données basées sur le Web3. Ce sont des bases de données où les périphériques de stockage sont répartis sur différents périphériques informatiques. Seules des organisations spécifiques peuvent personnaliser et améliorer les fonctionnalités internes des bases de données. Leurs cas d'utilisation sont limités. Ils sont principalement conçus pour les applications Web3, les jetons et pour l'hébergement d'autres produits Web3.
Pour plus d'informations sur les bases de données web3 qui les explorent plus en détail, consultez ici : https://www.makeuseof.com/what-is-web3-storage-how-does-it-work/
DBaaS : Ce type de base de données est souvent appelé « sans serveur ». En effet, avec ce type de base de données, similaire aux bases de données centralisées, vous ne conservez pas la base de données localement près de chez vous. La base de données est hébergée par une société tierce et ils vous permettent de personnaliser certaines infrastructures numériques de votre base de données mais rien de plus. Le principal argument de vente de cette base de données est la rentabilité. Au lieu d'une hémorragie de fonds pour créer votre propre base de données centralisée, vous optez plutôt pour la sous-traitance des efforts. Quelqu'un fait le sale travail de construction et vous pouvez lui louer pour utiliser ses services de base de données. Vous obtenez différentes fonctionnalités pour différents niveaux de paiement.
J'ai choisi d'utiliser DBaaS. Firebase est un DBaaS. J'ai opté pour cela en raison de la nature rentable de ce modèle de base de données.
Je fais une application. L'une des fonctions de l'application est la possibilité d'enregistrer, de se connecter et de se déconnecter des utilisateurs. Comme vous pouvez le voir sur l'image ci-dessus, j'ai créé un nom d'utilisateur de test pour m'inscrire et un mot de passe de test. Une fois que j'ai appuyé sur le bouton "S'inscrire", l'application a envoyé les informations à ma base de données pertinente. La base de données étant hébergée dans Firebase. Lors de la tentative d'inscription, je suis resté sur la même page d'application et rien n'a changé. Après avoir vérifié les utilisateurs dans ma Firebase, aucun nouvel utilisateur n'a été enregistré à ce moment-là. Cela signifie que mon utilisateur n'était pas enregistré.
Nous avons besoin de notre application pour reconnaître les nouveaux utilisateurs. À ce stade, un développeur examinera son code et pourra examiner l'interface de traitement d'application (API) pour Firebase et comment il l'a appelée dans son code. Ils examineront également les variables qui définissent les utilisateurs pour s'assurer qu'elles sont correctement définies et que la fonctionnalité est bonne. Ils peuvent également vérifier si tout ce qui interfère ou interagit avec la connexion à la base de données doit être mis à jour, comme les bibliothèques utilisées ou le lien API Firebase lui-même. On peut faire toutes ces étapes ou plus pour trouver la solution à la base de données en ignorant nos appels. Il y a un problème.
Rien de tout cela ne s'appliquait à moi . Pourquoi cela est-il ainsi?
La raison pour laquelle je n'ai eu à faire aucune de ces pratiques de débogage standard est que peu de temps avant cette nouvelle tentative, j'ai pu enregistrer de nouveaux utilisateurs dans la base de données. En une semaine, cela s'est soudainement arrêté. Sans changer aucun de mes codes, le processus qui fonctionnait auparavant ne fonctionnait plus. Cela m'a beaucoup déconcerté et j'ai remplacé à plusieurs reprises mon lien d'appel API et je l'ai mis dans différents domaines. J'ai organisé mes appels de référence pour mes bibliothèques utilisées et mes différents appels de fichiers. Je suis même allé en ligne pour demander si le service de base de données de Firebase était en panne. Ce n'était pas le cas. J'étais alors sur le point de commencer les pratiques de débogage standard….. Puis j'ai finalement trouvé la solution ! c'était dans mes e-mails depuis le début.
Oui, mon e-mail avait la solution tout ce temps ! Après avoir vérifié mes e-mails après des jours de stagnation sur ce problème, j'ai trouvé un e-mail de notification de Firebase. Firebase m'a informé que l'accès à ma base de données avait été coupé. En effet, lors de la configuration de la base de données Firebase, j'avais configuré l'accès à ma base de données pour qu'il soit coupé à une certaine date pour des raisons de sécurité. J'avais oublié cette règle que j'ai ajoutée pour moi-même. J'avais oublié la date que j'avais indiquée. En conséquence, lorsque j'ai été coupé, je ne l'ai pas remarqué avant de vérifier mon courrier électronique. Ci-dessous, nous pouvons voir que j'ai configuré la base de données pour me couper le 12 mars 2023.
Pour résoudre ce problème, j'avais juste besoin de mettre à jour les règles pour prolonger le délai de ma date de « coupure ». Comme on le voit ici :
Pour régler le problème j'ai mis la prochaine date butoir au 29 juin. De cette façon, je n'aurai plus aucune interruption jusqu'à cette date limite.
On peut demander " Pourquoi ne pas le régler dans quelques années ou dans plusieurs mois pour que cela ne vous dérange pas?" bonne question. Je ne le ferai pas car je veux quelques rappels trimestriels tout au long de l'année pour me rappeler cette dépendance. Je ne veux pas fixer un délai à long terme, puis l'oublier à nouveau et me retrouver dans la même situation un an plus tard. L'avoir à plusieurs reprises conscient dans mon cerveau signifierait que je pense constamment à tous les facteurs qui peuvent affecter le développement d'applications, ce qui sera utile pendant que je poursuis le processus de développement. On pourrait appeler cela une préférence d'apprentissage.
Nous pouvons voir que la procédure d'authentification Firebase renvoie même un jeton d'identification d'utilisateur en tant qu'identifiant spécial de l'utilisateur, c'est ainsi que nous savons qu'il est enregistré.
Le développement est amusant, mais nous devons toujours être conscients des petites choses. La plupart du temps, lorsqu'il y a des problèmes avec l'application, cela est probablement dû à notre propre erreur de code. Cependant, parfois, les problèmes peuvent même ne pas provenir de notre code. Cela pourrait vraiment être quelque chose d'aussi simple qu'une mise à jour nécessaire ou, comme dans ce cas, une simple révision des règles de la base de données.