🏭Stage BUT3 : CDN58 - Accessibilité de la maintenance d'une application
Description de la mission :
Développer en interne une application configurable et bien documentée, afin de faciliter son utilisation et sa maintenance par des techniciens non spécialisés dans la technologie employée. Cas pratique : permettre le déploiement de l’application sans avoir à consulter la documentation officielle.
Problématique :
Comment rendre une application plus claire et plus facile à configurer afin que des techniciens, même sans connaissances techniques, puissent l’utiliser et la maintenir ?
La mission :
L'application :
Avant de travailler sur l’amélioration de la lisibilité et de la configuration, j’ai d’abord dû créer l’application elle même. Elle a été développée en Dart avec le framework Flutter. Son but est d’afficher des cartes représentant des raccourcis vers des liens, accompagnés d’un titre et d’une description. Ces cartes sont classées en trois catégories principales et il y a des sous-catégories dans chacune d'entre elles. L’application intègre un filtre ainsi qu’une barre de recherche. Même si le concept paraît simple, son développement m’a demandé beaucoup de temps, car j’ai dû apprendre la technologie et assimiler ses concepts. Cela m’a permis de prendre les meilleures décisions pour créer une application à la fois simple d’utilisation et évolutive.

Réponse à la problématique :
Afin de répondre à la demande de mon tuteur j'ai imaginée la solution en m'appuyant sur mon expérience personnelle. Lorsqu’il s’agit de configurer une application, l’utilisation de variables d’environnement est une pratique simple et efficace. C’est un concept que nous avons abordé en cours à travers différentes technologies, comme Symfony ou Nuxtjs. Voici un exemple du fichier de variables d’environnement que j’ai mis en place :
Petit détail technique : Les variables "API_AUTH_USERNAME" et "API_AUTH_PASSWORD" sont ajoutées directement dans la commande de compilation, car lors de l'utilisation de Fultter web les variables peuvent êtres lu dans la console développeur.
Une fois l’application devenue largement configurable, j’ai pu passer à la deuxième partie du travail : rendre le code lisible, compréhensible et maintenable. Comme je l’ai mentionné précédemment, j’ai étudié différents concepts de Flutter afin de simplifier au maximum la structure de l’application. J’ai ainsi opté pour l’approche BloC (Business Logic Component), couramment utilisée par les développeurs Flutter, qui consiste à séparer la logique métier de la partie visuelle. Ensuite pour continuer dans cette démarche d’accessibilité, j’ai également pris soin de commenter la majorité du code, en apportant des explications régulières sur le fonctionnement des différentes parties. L’objectif était de maximiser la compréhension et de faciliter la maintenance par des techniciens moins expérimentés. J'ai aussi utilisé une fonctionnalité de VSCode qui permet d’ajouter une description directement au-dessus des fonctions. Ainsi, lorsqu’un technicien passe sa souris sur une fonction, il obtient instantanément une explication de son rôle et de son utilisation. Cela facilite grandement la compréhension du code sans avoir besoin de chercher dans une documentation externe. (image 2). Exemple :


Pour finir, j’ai créé une mini-documentation dans laquelle j’explique les concepts, le processus de déploiement (pour le développement ou pour la production) et la structure de l’application. Ce document est accessible via le README sur l’outil de versionning où le projet est stocké.
Last updated