Présentation
Cette page contient la description et la validation des apprentissages critiques liés aux compétences "Partir des exigences et aller jusqu'à une application complète" et "Sélectionner les algorithmes adéquats pour répondre à un problème donné".
Description
L'application possède les fonctionnalités de base d'un système multi-utilisateur, telles que la connexion et la création de compte. En plus de cela, elle intègre des fonctionnalités qui lui sont spécifiques, en permettant aux utilisateurs de consulter et de créer des lieux de pique-nique dans un rayon autour d'eux. De plus, elle offre la possibilité de lancer un itinéraire vers le lieu choisi. Pour améliorer l'expérience utilisateur, nous avons incorporé à cette application un profil utilisateur offrant aux utilisateurs la possibilité de consulter les lieux de pique-nique qu'ils ont créées ainsi que leurs informations personnelles.
En termes d'accessibilité et d'ergonomie, l'application a été conçue de manière simple et ergonomique, afin de faciliter son utilisation par les utilisateurs. Bien que nous ayons essayé de respecter au maximum les règles d'accessibilité, elles n'étaient pas l'axe principal de notre développement.
Dans le but de garantir une bonne maintenabilité du code, plusieurs bonnes pratiques (Design pattern) ont été suivies lors du développement.
Le design pattern MVVM (Modèle-Vue-VueModèle) a été utilisé afin de séparer la partie logique de l'application avec l'interface utilisateur. Des observateurs ont été mis en place pour permettre et faciliter notamment le système de langues. Des interfaces ont été utilisées dans le but de rendre le code plus modulable. De plus, une documentation claire et précise a été fournie pour faciliter la compréhension du code. Nous avons essayé de respecter au maximum les principes SOLID.
Nous avons travaillé sur la structure de l'application en organisant les informations de manière logique et efficace. Des objets spécifiques ont été créés afin de représenter les différentes entités telles que les utilisateurs, les lieux… Ce travail sur la structure des données permet une amélioration de la performance, la lisibilité et la maintenabilité de PIKINIKI.
Annotation: Concevoir et Implémenter
L'application n'a connu aucun problème dans sa création. Pour chaque fonctionnalité, des diagrammes de classes et de cas d'utilisation ont été élaborés. Lors de l'implémentation, la conception a été scrupuleusement suivie. Tous les membres ont contribué à sa conception.
Grâce aux compétences acquises tout au long de ce projet, sachant que nous n'étions pas familiers au développement d'application mobile, j'ai pu élaborer et implémenter des fonctionnalités pour l'application pikiniki, répondant aux besoins du client.
Annotation: Accessibilité et ergonomie
Pendant la phase de développement de l'application, j'ai accordé une grande importance à son accessibilité et à son ergonomie, afin de garantir une expérience agréable et utilisable pour tous les utilisateurs.
Pour cela, j'ai veillé à prendre en compte l'emplacement des éléments de contrôle, en m'assurant qu'ils soient facilement accessibles et pratiques à atteindre d'une seule main. Cela permet aux utilisateurs de manipuler l'application de manière fluide et intuitive, sans avoir à effectuer des mouvements inconfortables ou compliqués.
En ce qui concerne le choix des couleurs, j'ai opté pour des nuances non agressives, afin de créer une interface visuelle apaisante et harmonieuse. J'ai également veillé à ce que le niveau de contraste entre les éléments visuels soit adéquat, afin de faciliter la lisibilité et la distinction entre les différents éléments de l'interface.
En combinant ces éléments, j'ai cherché à créer une expérience utilisateur inclusive, où chacun peut interagir avec l'application de manière fluide, quelles que soient ses préférences ou ses limitations éventuelles. L'objectif était de rendre l'application accessible à un large public, en offrant une utilisation confortable et une esthétique agréable.
Annotation: Bonnes pratiques
Pendant la phase de conception, mon équipe et moi-même avons consacré du temps à réfléchir à l'architecture la plus appropriée pour notre projet. Après mûre réflexion, nous avons opté pour une architecture MVVM (Model, View, ViewModel).
L'architecture MVVM offre de nombreux avantages, tels que la facilité de maintenance, la séparation claire des responsabilités et la testabilité améliorée.
En adoptant cette architecture, nous avons pu organiser notre code de manière structurée et maintenable, ce qui facilite également la collaboration au sein de l'équipe.
Dans l'ensemble, le choix de l'architecture MVVM a été crucial pour garantir la scalabilité, la maintenabilité et la convivialité de notre application. Cela nous a permis de développer un système robuste et modulaire, capable de répondre aux exigences de notre projet.
J'ai de plus fait très attention à ce que mon code soit bien compris par tous les développeurs en ajoutant des commentaires intéressants
Annotation: Structures de données
Nous avons utilisé nos connaissances pour sélectionner des structures de données complexes adaptées lors du développement de l'application.
Grâce à une phase de conception approfondie, nous avons identifié et mis en place les structures de données appropriées, en utilisant des objets pour représenter les différentes données de l'application.
En équipe, nous avons ainsi contribué au succès du développement de l'application en créant une architecture cohérente et organisée.
Hugo Rodrigues
15 juin 2023, 11:00