Rapide présentation de WebDev.
Le choix de WebDev pour concevoir DocoAppli a été effectué avant le début de mon stage, mon tuteur a donc pris la décision de me faire commencer en m'intégrant dans une formation WebDev déjà prévue, qui a donc couvert ma première semaine. J'ai donc pu découvrir l'outil présenté par un représentant de PC SOFT, ainsi que D'MatDoc qui a été utilisé pour de nombreux exemples au cours de la semaine, me permettant de me faire une idée de ma tâche. C'est également au cours de cette semaine que certaines décisions pour rendre le site plus évolutifs ont été prises, principalement sur la base de données.
Élaborer et implémenter les spécifications fonctionnelles et non fonctionnelles à partir des exigences
N'ayant pas de cahier des charge pour DocoAppli ou D'MatDoc, j'ai commencé par faire un état des lieux de D'MatDoc en listant les pages du site et les fonctionalités présentes, qu'elles soient fonctionnelles ou non.
Après avoir communiqué cet état des lieux avec les responsables, j'ai établi une liste des fonctionalités à implémenter dans l'ordre, tel que :
Gestion des profils utilisateurs et sociétés
Edition d'un formulaire classique
Edition d'un formulaire PDF
Visualisation des réponses
Ces différentes pages reprennent et améliorent le fonctionnement de D'MatDoc en rajoutant des fonctionalités tout en limitant au mieux le nombre de requêtes faites au serveur. Cela se voit principalement sur les éditions de formulaires, où seul le bouton enregistrer appelle la base de données.
Appliquer des principes d’accessibilité et d’ergonomie
Tout au long du projet j'ai fait en sorte de coller aux demandes de mes responsables, l'un d'entre eux étant le principal utilisateur du site avec peu de connaissances informatiques. C'est pour cela que la majorité des boutons sont des icônes, parfois accompagné d'un texte. C'est également pour cette raison que l'agencement des pages est très similaire entre les deux sites, afin de ne pas briser les habitudes des utilisateurs de l'ancien site.
Adopter de bonnes pratiques de conception et de programmation
Au cours du stage, j'avais des entretiens réguliers avec mes responsables sur la progression du site, discutant de comment intégrer certains éléments, me signalant certains problèmes qu'ils avaient remarqués en testant le site. Tel qu'une surcharge du serveur, à quel moment on devait proposer le placement d'un champ, comment paginer les questions... Sachant que d'autres personnes travailleront sur le site après la fin de mon stage, j'ai gardé une trace des problèmes rencontrés sur D'MatDoc, lesquels étaient résolus/en cours de résolution, ainsi que de la documentation sur comment procéder à certains ajouts.
Vérifier et valider la qualité de l’application par les tests
WebDev intégrant une option permettant de tester l'application en local, je me suis principalement servi de cette option pour faire mes tests en utilisant un compte superadministrateur pour la base de données. J'avais ensuite plusieurs versions de formulaires comportant un exemplaire de chaque type de question pour tester chaque modification sur le fonctionn de ma page. Ici par exemple, je testais la pagination des pages, en cherchant à avoir un exemplaire de chaque type de question sur chaque page.
Je peux ensuite utiliser le bouton visualiser formulaire, conçu à la fois pour mes tests mais aussi pour les utilisateurs afin de m'assurer de la bonne répartion des pages sans avoir besoin de sauvegarder mes modifications dans la base. Après avoir testé le bon fonctionnement en local, je déploie la modification sur le site et refait le même test avant d'avertir mes responsables qui souhaitent tester le site après chaque modification importante. S'ils remarquent des problèmes je les corrige en priorités avant d'intégrer une nouvelle fonctionnalité. Bien entendu, je fais égalements des tests pour m'assurer d'éviter des problèmes avec la base de données, il est impossible de supprimer une catégorie contenant au moins un formulaire, un formulaire sans question n'est pas permis ou bien un utilisateur doit impérativement être rattaché à une société.