Refonte de page sur un listage de salle disponible

Contexte et Besoin

Qui est l’organisation ?

Ce projet a été réalisé en interne dans l’école de design de Nantes. C’est un établissement considéré comme étant une École Supérieure Privé organisé pars pour une association à but non-lucratif. Elle est en lien avec Nantes Université et est reconnue pars l’Etat en termes de diplôme. L’école possède plusieurs cursus de design allant jusqu’à bac +5 avec de nombreux partenariats avec des entreprises du monde entier. Elle porte les valeurs d’excellence et de reconnaissance internationale avec ses 5 studios internationale. En savoir plus …

Quel problème ou besoin métier ?

Ce projet est une refonte d’une page existante sur l‘intranet Néocampus de l’établissement. Néocampus est un outil qui rencontre plusieurs outils comme Microsoft, Notion, Projets d’écoles, profil élèves, cours en visioconférence…

La page actuelle affiche les salles disponibles et possède 2 moyens de les filtrer : la date (jour, mois, année, heure, minute) et une durée (heure-minute). Le problème actuel de cette page est qu’elle est :

  • Requête l’ERP à chaque recherche avec un filtre.
  • Inaccessible à tout profil (UI/UX).
  • Lente dans son chargement

De plus quelques besoins métiers sont à ajouter pour des besoins utilisateur qui ont été remarqués après l’utilisation de ceux-ci :

  • Modification et Ajout de filtre :
    • Capacité (1 – maxdePlace)
    • Le type de salles (ex : Amphithéatre, Atelier maquette, Réunion, ect…)
    • Heure – minute séparer de jour-mois-année
    • Temporalité fixe toute les 30 minl

Compétence professionnelle maîtrisée

C.01 – Gérer le patrimoine informatique

Le recensement du patrimoine informatique est exhaustif et réalisé au moyen d’un outil de
gestion des actifs informatiques

Choix Techniques

ÉlémentChoix
LangagesPhp 7, JavaScript, Css, Html
FrameworksTwig, Symfony 4, Vue 2
Base de donnéesERP Aurion
OutilsPhpStorm, Extensions vue js tools dans le navigateur, Yarn run Watch,
HébergementServeur Interne


Les sauvegardes sont réalisées dans les conditions prévues conformément au plan de
sauvegarde.

Nous réalisons des versions sur différentes branche grâce à gitlab.

C.02 – Répondre aux incidents et demandes

Analyse de l’existant

Page Web actuelle

La refonte du projet commence par l’analyse de l’existant avec des points négatifs. Voici la page existante et les points problématiques :

Problème

1. Barre de navigation à droite

La barre de navigation devrait être mise à jour et coloriée en rouge pour indiquer a l’utilisateur ou est ce qu’il est dans le site. Ajouter un onglet avec la carte interactive. Dans l’ancienne version, elle n’est disponible que via des pages et pas grâce à la navigation directement.

2. Redirection vers la carte interactive

La carte interactive n’est pas utile à ce niveau, elle s’ouvre déjà quand on clique sur le code de la salle pour savoir sa localisation.

3. Affichage imagé de l’étage

L’image qui affiche la carte de l’étage n’est pas utile non plus, il existe une carte interactive. Les utilisateurs ne l’utilisent pas beaucoup et elle prend pas mal de place. De plus, elle est en premier dans la liste alors que ce n’est pas le but premier.

4. Affichage de la liste des Salles Libres

Le listing des salles libres se fait comme un texte tout a la suite. Cet affichage ne facilite pas la lecture de celle-ci (pas aérée comme affichage).

5. Visibilité du filtrage

La possibilité de filtrer n’est pas ouverte, on ne vois donc pas tout de suite que l’on peux filtrer et comment.

6.Imput de sélection temporelle

Choisir une date est très complexe, on a le choix trop de choix ; chaque minute, chaque heure, chaque jour, chaque mois, chaque année peut-être sélectionnée. Pour moins perdre l’utilisateur, on peut supprimer la plupart de ses choix en termes de temps.

7. Bouton rechercher et requêtage

Le bouton recherché réactualise la page en même temps de faire une nouvelle requête ce qui est très lourd. Il y a donc une forte possibilité de spam et de dénis de services sur l’ERP notamment. Autre problème avec ce bouton, c’est que le rechargement de la page est long et pour une recherche rapide à la minute près, c’est embêtant.

8. Filtre par étages

Filtrer part pour étages n’est pas forcément utile et négligé la plupart des salles. Cela prend en plus beaucoup de place dans l’interface.

Diagramme

Schéma de cas d’utilisation

C.03 – Développer la présence en ligne

Travail réalisé

Refonte visuelle

Pour comprendre l’architecture et le projet existant, j’ai eu à créer une maquette moderne, simple et utile. Cette maquette a été réalisée sur l’application Figma. L’application est directement liée à une architecture HTML et à un visuel CSS notamment avec les flexbox ou grid. Cela m’a permis de comprendre la logique de la page avec des blocs. De plus, nous avons réalisé une réunion d’équipes avec un UI / UX designer qui a pu nous diriger vers les bonnes pratiques utilisateurs.

Ci-joint ma maquette version mobile et ordinateur  

Maquette Mobile

Maquette Ordinateur


Le Résultat

Voici le résultat de ma production, il est dynamique donc je vous mets ici une suite d’image qui montre les différentes interactions.

Plan de base

Plan de base

Filtres Supplémentaires

Les étages
La date

La durée
Le titre

On as fais le choix de prédéfinir des créneaux pour moins de divergences et de soucis dans le filtrage de la liste et le requêtage.

Il se mets a jour en fonction de la date de l’heure et de la durée rentrée

C.04 – Travailler en mode projet

Méthode utilisée

Pour le projet Néocampus, nous travaillons avec une méthodologie Agile. Le principe est de travailler en sprint (fonctionnalité) afin de la concevoir au mieux. Cette méthodologie permet également un travail en groupe rigoureux et fluide. Ci-joint le schéma du déroulement du développement de la fonctionnalité grâce à la méthode Agile

La durée d’un sprint est d’environ 4 semaines. J’ai été en stage durant 6 semaines, c’est long pour une fonctionnalité, mais j’ai été là aussi pour apprendre de nouveaux langages et framework.

Découpage des tâches

Le découpage de tache et donc de Sprint dans le projet se fais part des users Stories (cas d’utilisation). Une demande d’une personne de l’école se fait et c’est là que la tache se créait. Ça ne devient pas nécessairement un sprint, selon son importance, des fois, ce n’est juste qu’un problème pour certains utilisateurs.

Outils de suivi

Le suivi de taches se fait sur Trello, dans lequel nous avons plusieurs colonnes selon le statut de la tâche à effectuer

Nous réalisons des versions sur différentes branche grâce à gitlab.

Organisation personnelle grâce a TickTick

Puis pour chaque partie, j’ai défini les sous-grandes parties et toujours en estimant le temps que cela me prendra. Avec ces grands points de taches, je pouvais chaque jour établir une to do liste qui était mouvante.

En voici un exemple sur l’application TickTick

Cet outil me permet de créer des taches trier par étiquettes par importance grâce a une matrice Eisenhower

Je peux également lancer un timing pomodoro pour cette tache. Je peux ainsi connaître le temps que j’ai pris pour la réalisée.

C.05 – Mettre à disposition un service

C.06 – Organiser son développement pro

Problèmes rencontrés & solutions

ProblèmeCauseSolution
Chargement et requêtage de données systématiques aux changements du formulairesCode de l’algorithme de tris des salles libres dans le BackCréation de l’algorithme en JS dans le Vue et non dans le fichier de services PHP en parallèle du contrôleur
En php
En JavaScript
Création d’un programme en Vue JS 2Aucune connaissance de ce frameworkApprentissage grace a ces sources :
-> https://vuejs.org/tutorial/#step-1
-> https://v2.vuejs.org/
-> https://grafikart.fr/tutoriels/introduction-vuejs-2224#autoplay
Preuve de l’apprentissage
Gestion et manipulation des dates en JavaScriptFormatage de date et connaissance des méthodesUtilisation de ces documentations :
-> https://blog.devops.dev/vue-js-get-current-date-and-time-e748c5191025
-> stack-overflow
-> https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Date
-> https://www.w3schools.com/js/js_dates.asp
Connaissances des valeurs et types de variables pour pouvoir les manipulerNous utilisations de certains outils ou méthodesUtilisation du debogger Phpstorm et de l’extension VueJs devtools sur le navigateur. En terme de méthodes le console.log() avec un typeof() de la variable que l’on souhaite inspecter

Ce que j’améliorerais

Pour aller encore plus loin dans ce projet je pense que l’on pourrais ajouté certaines fonctionnalité a ce projet comme :

  • Intégrer des tests unitaires et fonctionnels pour sécuriser les évolutions futures.
  • Migrer vers Vue 3 à terme pour bénéficier d’une meilleure gestion de la réactivité.
  • Ajouter un système de sauvegarde des filtres préférés pour améliorer l’expérience utilisateur.