Séances sportives

Home > Séances sportives
Base de données Firebase Firestore
Structure des données des séances enregistrées dans Firebase Firestore.

Gestion infonuagique des séances de sport est une fonctionnalité centrale de mon application mobile
développée avec Cordova. Elle permet à l’utilisateur d’enregistrer ses séances d’entraînement, de les consulter,
de les modifier et de les supprimer. Chaque séance contient des informations détaillées comme la durée,
le type d’entraînement, l’intensité, les calories estimées et des notes personnelles. Les données sont
enregistrées en ligne, ce qui permet de conserver l’historique même après la fermeture de l’application.

Le code implémente une communication directe avec Firebase Firestore, une base de données NoSQL
hébergée dans le cloud. Les opérations CRUD (création, lecture, modification et suppression) sont effectuées
via des requêtes asynchrones en JavaScript. Chaque séance est stockée sous forme de document JSON dans une
collection Firestore. La structure des données inclut des champs typés (nombre, texte, date), et l’application
met automatiquement à jour l’interface après chaque opération grâce à la gestion des promesses JavaScript.
Cette réalisation démontre l’intégration d’une base de données infonuagique dans une application hybride mobile.

Approche architecturale et gestion des données

L’architecture de l’application repose sur une séparation claire entre le modèle
de données (Seance) et la couche d’accès aux données (SeanceDAO).
Cette abstraction permet d’isoler la logique métier de la persistance,
facilitant l’évolution du système sans modifier l’interface utilisateur.
Le passage d’un stockage local (localStorage) vers Firebase Firestore
améliore la cohérence des données, la centralisation et l’évolutivité.

Le choix de Firestore, base de données NoSQL orientée document,
permet l’ajout de nouveaux champs (durée, intensité, calories,
notes personnelles) sans migration de schéma rigide.
Les documents JSON sont naturellement extensibles, ce qui favorise
la rétrocompatibilité et simplifie les mises à jour côté client.

Les opérations CRUD sont effectuées de manière asynchrone via des promesses
JavaScript, assurant une interface réactive. L’accès direct aux documents
par identifiant maintient une complexité algorithmique constante (O(1)),
tandis que la gestion de l’espace de stockage est déléguée à
l’infrastructure infonuagique.

Ce choix technologique implique un compromis : une dépendance au réseau
et une latence potentielle. Toutefois, il offre une meilleure
synchronisation multi-appareils et une structure de données évolutive,
adaptée à une application mobile hybride développée avec Cordova.


Code source (GitHub)


Documentation Firestore

Catégorie : Données
Mots-clés : Firebase
Mots-clés : Firestore
Mots-clés : NoSQL
Mots-clés : JavaScript
Mots-clés : Cordova
Projet individuel
Durée : 2 semaines
Technologies : Cordova, JavaScript, Firebase Firestore, HTML, CSS
Formats / communication : HTTPS, JSON, API Firestore, dépôt GitHub