La Cinemathèque

La Cimathèque est une application mobile qui permet
d’enregistrer et d’organiser sa collection de films facilement. Elle peut servir, par exemple,
à noter les films qu’on a déjà vus, ceux qu’on veut regarder plus tard ou encore à garder une
trace de ses coups de cœur.
L’interface est simple : dès l’écran d’accueil, une liste affiche les films enregistrés avec leurs noms.
Chaque élément de la liste propose des boutons clairement identifiés pour modifier ou supprimer le film.
Un bouton « Ajouter » permet d’accéder à un formulaire où il suffit de remplir les champs nom, description, durée et réalisateur, puis d’enregistrer les informations.
La navigation est basée sur des écrans distincts (liste, ajout, modification), ce qui rend les actions faciles à comprendre et à utiliser.
L’ensemble vise à offrir une expérience fluide et intuitive, adaptée à une utilisation rapide sur mobile.
Du côté technique, LaCimathèque est développée en JavaScript avec Apache Cordova, ce qui permet d’utiliser une seule base de code pour produire une application mobile.
Ce choix améliore la maintenabilité, car les corrections et les améliorations sont centralisées et n’ont pas à être reproduites sur plusieurs plateformes.
Les données sont stockées dans Firebase Firestore, une base NoSQL utilisant le format JSON. L’architecture repose sur une séparation claire des responsabilités : une classe assure la navigation, un DAO centralise l’accès aux données et les vues gèrent l’affichage.
Cette organisation limite les dépendances entre les différentes parties du système et facilite la maintenance corrective, puisqu’un changement dans la gestion des données n’a pas d’impact direct sur l’interface.Dans une perspective de maintenance, un compromis a été réfléchi entre simplicité et flexibilité. Le modèle de film reste volontairement simple (nom, description, durée, réalisateur) afin de conserver un code lisible et facile à comprendre, ce qui simplifie les interventions futures.En parallèle, le choix d’une base NoSQL flexible permet d’ajouter de nouveaux champs, comme une note ou une catégorie, sans devoir modifier toute la structure de la base de données.Contrairement à une base relationnelle plus rigide qui nécessiterait des modifications de schéma, cette approche permet de faire évoluer l’application progressivement.
Ce compromis permet donc de garder une architecture simple aujourd’hui tout en assurant l’évolutivité et la pérennité du projet à long terme.
Lien vers l’application:La Cinemathèque