Académique Documents
Professionnel Documents
Culture Documents
Université de la Manouba
Institut Supérieur des Arts Multimédias
Réalisé par :
Siwar Grati
Oumaima Taghouti
Samia Bidah
Mariem Nsir
1
2. Etude de l’existant
L’étude de l’existant est une phase importante pour bien comprendre le système adopté
actuellement, dégager les problématiques, et définir les objectifs à atteindre et les vrais
besoins. Donc, cette étape va nous permettre de partir du réel perçu, pour pouvoir
concevoir et réaliser la nouvelle version en fonction des objectifs et des besoins
globalement définis.
Cette étude nous a permis de dégager les fonctionnalités les plus importants du site qui
sont représentés dans le tableau ci-dessous :
Fonctionnalités
• Inscription au centre de vaccination • Valider l’inscription d’un citoyen
• Inscription à une pharmacie en envoyant un SMS (admin)
• Ajout d’une formation • Affecter un citoyen à un centre de
• Mettre à jour les informations du citoyen vaccination (admin)
Nous avons ainsi pu dégager les principales limites du site dont ci-après les plus
pertinentes :
Mal organisation des pages
Utilisation de plusieurs couleurs
Absence d’un système de contact
Absence du guide d’utilisation
Lenteur du chargement des pages
Inexactitude des informations
2
II. Questionnaire de recueil d’informations
1. Objectif
Afin de bien comprendre le besoin de l’utilisateur et de corriger les erreurs actuelles du
site Evax nous avons implémenté le questionnaire ci-dessous qui va nous aider à analyser
et à comprendre le comportement du nouveau site grâce aux données collectées.
2. Outil utilisé
3
▪ Question 2 :
La question suivante est de type matrice de questions à échelles verbales, ça
concerne principalement les critères de visibilité du site qui nous permettra de
savoir les aspects qu’on doit les améliorer au niveau de la nouvelle version.
Le choix des critères ci-dessous a été fait selon les aspects qui sont pris en compte
pour l’analyse d’un site web tel que le temps de réponse, l’arborescence du site, la
qualité du contenu et la pertinence des informations etc.
4
▪ Question 4 :
La quatrième question est du type question fermée à choix unique, elle consiste à
vérifier si les interlocuteurs préfèrent l'idée de réception du code d'inscription par
SMS ou non.
Cette question va nous aider à décider si on ajoutera une nouvelle fonctionnalité à
notre site tel que l'envoi du code d'inscription par mail ou autre.
Tel que l’interlocuteur va rependre par oui, s’il est d'accord avec l'idée ou non.
▪ Question 5 :
La cinquième question est de type échelle de note, elle consiste à déterminer le
niveau de difficulté pour les citoyens de se procéder pour extraire leurs passeports
vaccinaux.
La question se compose d’une échelle comportant une plage de valeurs en guise
d'options de réponse allons 0 (très difficile) à 5 (très facile).
Cette question va nous aider à savoir la priorité de ce besoin dans la liste des
exigences fonctionnelles de la nouvelle version.
5
▪ Question 6 :
La sixième question est de type choix multiple standard qui comporte les
fonctionnalités qui peuvent être ajoutées pour améliorer le site.
L’interlocuteur choisit une ou plusieurs réponses ou il peut ajouter une autre
fonctionnalité non citée. Cette question va nous aider à implémenter la
fonctionnalité la plus recommandée.
▪ Question 7 :
La septième question est de type échelles illustrées par des pictogrammes, et celle
sert à qualifier la satisfaction globale des utilisateurs du site.
La place de la question de satisfaction globale ne doit pas être choisie au hasard.
Pour ressortir par rapport aux autres questions, elle doit être placée de préférence
au tout début, ou à la toute fin du questionnaire.
Sa réponse constitue en quelque sorte une synthèse des réponses précédentes.
6
▪ Question 8 :
Cette question est de type ouvert, elle est optionnelle. Elle va nous permettre de
recueillir des informations, des impressions et des suggestions intéressantes qu’on
peut les prendre en considération dans le nouveau site.
▪ Question 1 :
Ce tableau montre que la grande majorité des utilisateurs du site sont des personnes
dont l’âge est entre 20 et 39 et qui représentent 60.38 %, ensuite des personnes dont
l’âge entre 40 et 59 qui représentent 35.85% et aussi un groupe de personnes dont
l’âge est moins de 19 ans qui représentent 3.77%
7
▪ Question 2 :
Pour l’évaluation on s’intéresse aux valeurs moyenne qui sont comprises entre
1.28 et 2.11 d’où ils sont très bas.
8
▪ Question 3 :
▪ Question 4 :
En cas de problème les réponses sur la question « quel est ce problème » sont
comme suit :
9
▪ Question 5 :
Les réponses cumulées sur cette question sont très proches 56.6 % ont répondu par oui
et 43.4 ont répondu par non.
On peut conclure que presque la moitié ont eu un problème et l’autre moitié ont reçu
le SMS avec succès
10
▪ Question 6 :
La plupart des personnes ont eu des difficultés lors de l’extraction de leurs passeports
vaccinales.
11
▪ Question 7 :
En analysant les résultats de cette question on peut constater que 77.36% sont
intéressées par l’ajout de la confirmation par email, 52.83% sont intéressées par l’ajout
du chatbot, 33.96% sont intéressées par l’ajout du guide d’utilisation et 5 autres
suggestions sont reçus.
Nous avons bien noté les propositions cumulées afin de les étudier
12
▪ Question 8 :
D’après le tableau et la figure ci-dessus on peut conclure que la plupart des répondants
ont sélectionné l’emoji insatisfait (en rose) ce qui explique globalement leur
insatisfaction du site actuel
13
▪ Question 9 :
Pour la dernière question qui est optionnelle, nous avons pu cumulé 9 réponses qui sont
présentés ci-dessus.
5. Solution proposé
Après avoir analyser les réponses à l’enquête et afin de pallier aux défaillances du site
actuel, nous proposons de reproduire le site avec une nouvelle version qui corrige les
erreurs existantes et ajoute les fonctionnalités manquantes qui se représentent comme
suit :
14
III. Métriques du projet
1. Définition
Les métriques du projet sont utilisées par un chef de projet et une équipe logicielle
pour adapter le flux de travail du projet et les activités techniques.
2. Outil utilisé
Jira Software fait partie d'une gamme de produits conçus pour aider les équipes de
tous types à gérer leur travail. À l'origine, Jira a été pensé comme un outil de suivi des
bugs et des tickets. Mais aujourd'hui, c'est devenu un puissant outil de gestion du
travail pour toutes sortes de cas d'usage, de la gestion des exigences et des cas de test
au développement logiciel Agile.
3. Utilisation
Un projet est un processus unique qui consiste en un ensemble d’activités coordonnées
et maîtrisées, comportant des dates de début et de fin, entrepris dans le but d’atteindre
un objectif conforme à des exigences spécifiques, incluant des contraintes de délais, de
coûts et de ressources.
Pour cela nous avons choisi d’utiliser l’outil jira qui permet de planifier et d’optimiser
la gestion de notre projet à travers le suivi et la coordination des travaux de ses
membres, le contrôle des flux d’informations ainsi que le respect des deadlines
15
Notre méthodologie du travail c’est SCRUM donc avant de commencer nous avons
diviser les besoins fonctionnels en 4 sprints :
Après avoir créé le projet dans jira et ajouté l’équipe de développement en tant que
collaborateurs, nous avons créé le premier sprint tout en ajoutant nos exigences
fonctionnelles dans le backlog produit ensuite nous avons personnalisé notre tableau
pour le diviser en 4 colonnes :
Les figures suivantes représentent différentes étapes des tickets développés dans notre
premier sprint du projet
16
Figure 25: Tableau jira v1
17
Afin d’obtenir un aperçu rapide des journaux de travail ou de la durée des projets de
notre équipe. Nous avons ajouté l’extension Timesheet tracking for Jira
18
IV. Métriques internes selon le standard 9126-3
1. Définition
Les mesures internes sont des métriques qui peuvent être appliquées à un produit logiciel
non exécutable au cours de ses étapes de développement (comme la demande de
proposition, la définition des exigences, la spécification de conception ou le code source)
Ces permettent aux utilisateurs de mesurer la qualité des livrables intermédiaires et ainsi
de prédire la qualité du produit final. Cela permet à l'utilisateur d'identifier les problèmes
de qualité et de lancer des actions correctives le plus tôt possible dans le cycle de vie du
développement.
Métriques de fiabilité : Les mesures de fiabilité internes sont utilisées pour prédire si le
produit logiciel en question satisfera les besoins de fiabilité prescrits, au cours du
développement du produit logiciel.
Métrique d’efficience : Les mesures d'efficience sont utilisées pour prédire l’efficience du
comportement du produit logiciel pendant les tests ou l'exploitation.
Métriques de portabilité : Les mesures de portabilité internes sont utilisées pour prédire
l'effet que le produit logiciel peut avoir sur le comportement de réalisateur ou du système
pendant l'activité de portage.
19
Métrique d’utilisabilité : Les mesures de la facilité d’utilisation sont pour prédire dans quelle
mesure le logiciel en question peut être compris, appris, exploité, attrayant et conforme aux
réglementations et directives d'utilisabilité.
Mesures de fonctionnalité : Les mesures de fonctionnalité interne sont utilisées pour prédire
si le produit logiciel en question satisfera aux exigences fonctionnelles prescrites et aux
besoins implicites des utilisateurs.
• Outil utilisé
20
✓ Supporte plusieurs langages de programmations (25 langages de
programmation)
✓ Disponibilité de la documentation
source
• Configuration de Sonar
Afin de pouvoir utiliser l’outil Sonar, il faut le configurer selon vos besoins. J’ai
consacré un temps considérable dans cette partie pour me familiariser avec l’outil
que je n’ai jamais utilisé avant ce projet. A l’installation Sonar fournit un
conteneur web embarqué qui permet de visualiser les résultats d’analyse (les
métriques), ainsi qu’une base de données embarquée Derby pour stocker ces
résultats. L’utilisation de cette base de données n’est pas recommandée.
2. Lancer SonarQube
« localhost: 9000 »
• Utilisation
21
Après avoir installé SonarQube, il faut installer le scanner sonar pour lancer le
scan dans n’importe quel projet, pour le faire il suffit :
3. Sonar.host.url=http://localhost:9000
4. Sonar.sourceEncoding=UTF-8
Vulnérabilité :
Pour tester la mesure de vulnérabilités, nous avons analysé notre projet avec l’outil
SonarQube. La figure ci-dessus montre que notre code ne présente pas de
vulnérabilités et le rating est A, c'est-à-dire que notre projet est en bon état
La figure suivante illustre le security hotspot, comme montre l'image nous avons obtenu 1
security hotspot, il faut les régler pour obtenir une valeur 0.
22
2.2 Métriques de maintenabilité :
• Mesures de changeabilité
L’onglet Issues affiche les problèmes, la durée pour les résoudre et des
informations sur chaque problème : niveau de sévérité, type, tag.
Code smell: est un indice que quelque chose s'est mal passé quelque part dans
votre code.
Comme illustré dans la figure ci-dessous, après l’analyse de notre code avec
l’outil SonarQube, nous avons conclu que notre code contient 402 codes smell
et il faut les régler afin d’obtenir un code 100% maintenable.
23
Portails de qualité
Quality Gates applique une politique de qualité dans votre organisation en répondant
à une question : mon projet est-il prêt à être publié ?
Pour répondre à cette question, vous définissez un ensemble de conditions par rapport
auxquelles les projets sont évalués.
La figure suivante illustre l’état de notre projet et les conditions. Notre projet atteint
les mesures suivantes : la maintenabilité, fiabilité et sécurité. Pour la sécurité host
sports l'état de notre projet est faible par rapport à 100%.
Outil utilisé
24
L'extension Blazemeter Chrome crée automatiquement depuis votre navigateur sans
avoir à configurer votre proxy des scripts de performance Selenium, JMeter et
synchronisés pour des tests combinés de chargement et d'interface graphique.
Rapport HTML :
JMeter prend en charge la génération de rapports de tableau de bord pour obtenir des
graphiques et des statistiques à partir d'un plan de test.
● APDEX (Application Performance Index) obtient des scores pour chaque requête et
chaque conteneur
25
● Un graphique à secteurs nommé Récapitulatif des demandes qui donne la proportion
d'échantillons réussis / échoués.
Le tableau d'erreurs ci-dessous récapitule toutes les erreurs et leur proportion dans le
total des demandes.
Le tableau des 5 premières erreurs par échantillonneur suivant fournissant pour chaque
échantillonneur (hors Transaction Controller par défaut) les 5 premières erreurs
26
Figure 38: Top 5 erreurs par échantillonneur
Le tableau Statistiques fournit des statistiques de test globales pour chaque requête
unique qui a été exécutée :
● Exécutions : nombre de hits et d'erreurs
-# Samples : nombre total d'échantillons exécutés
-KO : le nombre total d'échantillons n'a pas pu s'exécuter
-Erreurs% : pourcentage d'erreurs
● Réseau : débit en Ko / s
-Reçu : Ko reçus par seconde
-Envoyé : Ko envoyés par seconde
27
Figure 39:Statistiques du test Evax
A- Temps de réponse
Moyenne : Dans notre cas, le temps moyen pour l'étiquette 2 https://priorite.evax.tn/ est de
2580 millisecondes et le temps moyen total est de 362.8 millisecondes sur 174 échantillons.
Max : Si nous regardons la valeur Max pour l'étiquette 2 https://priorite.evax.tn/ alors, sur
174 échantillons, le temps de réponse le plus long de ce dernier était de 5919 millisecondes.
Min : En regardant la valeur Min, sur 174 échantillons, le temps de réponse le plus court de
l'un des échantillons était de 55 millisecondes qui est attient dans le label
https://www.evax.tn/home.xhtml#inscription-9.
28
Le temps de réponse moyen varie entre 0.1 et 1.0 seconde.Si le temps de réponse est de 0,1,
les utilisateurs ont toujours le sentiment que l'application ou le système répond instantanément
et ne ressentent aucune interruption. Pour le temps de réponse égale à 1 seconde il est défini
comme la limite maximale et si le Le temps de réponse supérieur à 1 seconde peut
interrompre l'expérience utilisateur.
On peut conclure que globalement ce site a une performance acceptable liées au temps de réponse dont
le temps de réponse moyen est 362.8 qui est considéré un temps de réponse non élevé.
Ce graphique affiche la plage de temps de réponse des transactions au cours de l'ensemble du test.
On peut résumer que globalement ce site a des performances acceptables liées au temps de réponse
dont la majorité des requêtes ayant un temps de réponse non élevé et inférieure ou égale à 500ms.
B- Débit
Dans ce test, le débit moyen du serveur Evax est de 1.11 /S sur 174 échantillons. Cela signifie que le
serveur du site Evax peut traiter moyennement 1.11 requêtes par seconde par contre le débit atteint son
maximum de 23.26 /S avec le label https://priorite.evax.tn/-5. La valeur moyenne du débit n’est pas
assez élevée, nous pouvons donc conclure que le serveur Evax n’a pas des bonnes performances.
29
Nouveau site web Evax
30
Figure 43:Tableau des erreurs pour nouveau site evax
31
A. Temps de réponse
Min : En regardant la valeur Min, sur 57 échantillons, le temps de réponse le plus court de
l'un des échantillons était de 2 millisecondes .
On peut conclure que globalement ce site a des bonnes performances liées au temps de
réponse où presque la totalité des requêtes ayant un temps de réponse non élevé et inférieure
ou égale à 500ms.
Ce nouveau site est plus proche que l’ancien site en termes de temps de réponse.
32
b. Débit
Dans ce test, le débit moyen du serveur Evax est de 1.99 /S sur 57 échantillons. Cela signifie
que le serveur du site Evax peut traiter moyennement 1.99 requêtes par seconde c’est un débit
proche de celui de l’ancien site web.
La valeur moyenne du débit n'est pas assez élevée, nous pouvons donc conclure que le
nouveau serveur evax n'est pas des bonnes performances.
33
V. Métriques externes selon le standard 9126-2
1. Définition
La qualité des logiciels externes est une mesure de la façon dont le système dans son
ensemble répond aux exigences des parties prenantes. Le système fournit-il la
fonctionnalité requise ? L'interface est-elle claire et cohérente ? Le logiciel fournit-il la
valeur commerciale attendue.
➔ Performance
➔ Précision
Les tests de performance (et de charge) ont pour principal objectif la validation
d'une solution logicielle et de son architecture sous-jacente liées à une utilisation
simultanée multi-utilisateurs, permettant ainsi d'éviter certains problèmes en
production. Ils permettent de garantir une qualité de service applicative dans des
conditions réelles d'utilisation.
Outil utilisé
Pingdom Tools est un outil d’analyse d’un site web. L’outil l’analyse, détecte les
problèmes et vous livre un rapport circonstancié. Tous les tests sont réalisés avec
de vrais navigateurs web, donc les résultats correspondent exactement à
l’expérience de l’utilisateur final. Les tests sont effectués à partir de serveurs
Pingdom dédiés situés aux quatre coins du monde.
34
Résultats de test Pingdom Tools:
• Ancien site evax
Pour l’ancien site, on a une performance grade à 99 % pour une page de taille
77.8 KB pour les quatre coins et dans 1.05s à 3.86s pour 3 requêtes
Figure 48:Résultats de test Pingdom Tools 1 (ancien site) Figure 47:Résultats de test Pingdom Tools 2 (ancien site)
35
• Notre site
Pour notre site, on a une performance grade à 73 % pour une page de taille 40.3KB
pour les quatre coins et dans 8.03s à 2.87s pour 121 requêtes
Figure 53:Résultats de test Pingdom Tools 1 (nouveau site) Figure 54:Résultats de test Pingdom Tools 2 (nouveau site)
Figure 52:Résultats de test Pingdom Tools 3 (nouveau site) Figure 51:Résultats de test Pingdom Tools 3 (nouveau site)
Les différences entre les résultats attendus réels et raisonnables sont-elles acceptables?
Outils utilisé
Résultat
Ces deux figures représentent le rapport des requêtes de l’ancien site evax et de
notre site. Ils nous offrent plusieurs informations comme le temps, nb requêtes
totales, nb requêtes avec succès et nb requêtes avec échecs avec certaines
caractéristiques. Ces informations nous permettent ainsi de calculer la précision de
chaque site et les comparer.
• Ancien site evax
Notre site
• Calcul précision :
T= 10min, A = nb requêtes totales - nb requêtes succès = 9 - 4 = 5
X =A / T = (9-4) / 10 = 0,5
• Comparaison
Alors, puisque plus la valeur de présicion X est plus proche de 0 est plus mieux, on
remarque que la présicion de notre site à une valeur de présicion qui est ègale à 0.5
meilleur que l’ancien site qui est égale à 0.6.
38
Résultat de test :
Notre site
39
VI. Métriques du produit
1. Définition :
Les métriques du produit sont des mesures du produit logiciel à n'importe quel stade
de son développement, des exigences au système installé. Les métriques du produit
peuvent mesurer :
40
Calcul du Point de fonction :
Proposé par Albrecht en 79, Les Points de Fonction sont une norme standard (ISO
14143). Ils permettent de mesurer objectivement la quantité de logiciel existante ou
à produire.
Pour calculer PF, il faut déterminer à partir d'une certaine représentation du logiciel,
le nombre d'éléments des types suivants :
Visiteur Administrateur
❖ Les informations du visiteur qui veut ❖ Les informations des opérateurs
s’inscrire (nom, prénom, CIN, date de ❖ Les informations des centres de
naissance, téléphone…) vaccination
❖ Les informations du vaccin
❖ Les informations des pharmacies
❖ Les informations des journées portes
(nom pharmacie, adresse, propriétaire
ouvertes
…)
❖ Les informations des volontaires
❖ Formulaire de contact
❖ Attestation de vaccination
❖ Rapport statistique
41
▪ Dépôts externes : Interfaces compréhensibles par une machine avec d'autres
systèmes.
❖ Message d’aide de chatbot.
▪ Dépôts internes : Fichiers principaux logiques dans le système.
❖ Notre base de données
Pour le calcul de nos valeurs de points de fonction, nous avons utilisé l'outil « Tiny
Tools » .
42
À-partir de cette valeur générée, on peut estimer les charges des projets :
L’analyse de la performance :
43
La première version de diagramme de classe de notre site web evax, se présente comme
suit :
Outil utilisé
Utilisation
Suite à l’installation de notre outil à partir de son site officiel :
https://www.sdmetrics.com/Downloads.html, on introduit à notre logiciel comme source
file un fichier XMI qui correspond à notre diagramme de classe.
• Diagrammes de Kiviat :
45
Le diagramme montre les valeurs de mesure de toutes les métriques pour l'élément
sélectionné. Chaque axe du graphique représente une métrique, comme indiqué dans le
graphique.
La ligne épaisse relie les valeurs métriques de l'élément sélectionné pour chaque métrique sur
les axes. Si l'élément a de nombreuses grandes valeurs, la zone délimitée par la ligne épaisse
sera grande. Ainsi, la taille de la zone fermée sert d'indicateur de la criticité de l'élément.
Comme présenté dans la figure précédente de Diagramme de Kiviat de notre diagramme montre
que deux métriques sont mesurées au niveau de la classe pharmacies NumAttr et EC_Attr.
46
Figure 66:Vérification des règles de conception
Parmi les règles qu’on n’a pas respectées dans la première version de notre diagramme de
classe :
- La classe définit une propriété du même nom qu'un attribut hérité : cette erreur est générée
pour les deux classe admin et operateur pour l’attribut rôle.
Outil utilisé :
PLATO : Outil pour mesurer cette métrique Ts-plato : permet de visualiser quelques
métriques des sources JavaScript / TypeScript des composants sur un rapport avec Plato.
47
Et puis on a ajouté le code suivant de partie ” scripts” au niveau de fichier package.json
La Commande d’Exécution :
En premier temps le rapport nous affiche le Nombre des lignes totales de notre projet
tel que la partie front-end est composé de 8782 sloc et le nombre de lignes moyen du
nôtre projet est 81 sloc.
• Histogramme de maintenabilité :
La difficulté avec laquelle un système logiciel peut être modifié est connue sous le nom
de maintenabilité. La maintenabilité d'un système logiciel est déterminée par les
propriétés de son code source.
48
Les types de maintenance logicielle :
Le taux de maintenabilité de notre code varie entre 60.41 et 100, il existe des
fichiers qui comportent un score de maintenance maximal de valeur 100 comme le
fichier CitoyenEtranger.js.
Alors que le fichier Certif.js présente le score de maintenance le plus faible dont la
valeur est 60.41, cela est causé par les erreurs qui sont estimés à 0.71
49
Figure 70:maintenabilité du fichier certif.js
Il y a les erreurs syntaxiques : elles sont détectées par le compilateur car elles ne
respectent pas la syntaxe prévue par le langage, ce sont les erreurs de déclaration, de
notations des instructions (points-virgules.).
Les erreurs sémantiques : ces erreurs ne sont pas détectées par le compilateur ! Elles
correspondent à des erreurs logiques dans la signification de la suite des instructions (ce
que fait le programme).
Grâce à cet histogramme, on peut constater que le taux d’erreur est faible, puisque le
taux d’erreur estimé à l’implémentation varie n’a pas dépassé 3. Donc on a réussi à
minimiser nos erreurs.
50
Ts-plato fournit aussi le nombre de lignes par composant, on prend par exemple le
composant index.js qui a 82 Sloc, le composant CitoyenActions.js a 151 Sloc et le
composant maj_inscription.js a 337 Sloc.
Figure 72:complexité
Définition :
Un ensemble des métriques utiles pour les applications Web, fournit des réponses
quantitatives aux plusieurs questions comme :
Les métriques de cette catégorie sont utiles pour évaluer l'impact de la conception
esthétique.
51
Nous avons utilisé Google PageSpeed comme outil pour mesurer cette métrique.
Google PageSpeed : analyse l’URL et fournit un rapport détaillé, prenant en compte les
3 trois Core Web Vitals, c’est-à-dire : Le First Contentful Paint FCP, Largest Contentful
Paint LCP, First Input Delay FID et Cumulative Layout Shift CLS qui évalue son
interactivité et sa stabilité visuelle.
First Contentful Paint (FCP) : mesure le temps écoulé entre le début du chargement de
la page et le moment où une partie du contenu de la page est affichée à l'écran. Pour
cette métrique, le « contenu » fait référence au texte, aux images. Pour offrir une bonne
expérience utilisateur, les sites doivent s'efforcer d'avoir une première peinture de
contenu de 1,8 seconde ou moins.
Largest Contentful Paint (LCP) : indique le temps de rendu de la plus grande image ou du plus
grand bloc de texte visible dans la fenêtre, par rapport au moment où la page a commencé à se
charger. Pour offrir une bonne expérience utilisateur, les sites doivent s'efforcer d'avoir la
plus grande peinture de contenu de 2,5 secondes ou moins.
First Input Delay (FID) : mesure le temps écoulé entre le moment où un utilisateur
interagit pour la première fois avec une page jusqu'au moment où le navigateur est
réellement en mesure de commencer à traiter les gestionnaires d'événements en réponse
à cette interaction. Pour offrir une bonne expérience utilisateur, les sites doivent s'efforcer
d'avoir un délai de première entrée de 100 millisecondes ou moins.
Cumulative Layout Shift (CLS) : ne mesure de la plus grande rafale de scores de changement
de mise en page pour chaque changement de mise en page inattendu qui se produit pendant toute
la durée de vie d'une page. Pour offrir une bonne expérience utilisateur, les sites doivent
s'efforcer d'avoir un score CLS de 0,1 ou moins.
52
Figure 73: Evaluation des signaux web essentiels(1)
Le site evax présente une évaluation moyenne pour ECP et CLS alors que les deux
mesures LCP et FID nt une évaluation satisfaisante.
53
Parmi les règles à respecter pour améliorer la performance d’une page :
- Les ressources textuelles doivent être servies avec une compression pour minimiser le
nombre total d'octets du réseau.
- Réduire l'impact des URL bloquant le rendu en insérant les ressources critiques, en
différant les ressources non critiques et en supprimant tout ce qui n'est pas utilisé, on
peut utiliser Chrome DevTools pour identifier les CSS et JS non critiques.
54
VII. Métriques de la qualité à l’utilisation selon 9126-4 standard
1. Définition
La qualité à l'utilisation mesure le degré d'excellence, et peut être utilisée pour valider
la mesure dans laquelle le logiciel répond aux besoins de l'utilisateur dans son
environnement de travail.
55
2. Choix des caractéristiques à utiliser
Dans cette section nous allons présenter les caractéristiques de la qualité à l’utilisation
qu’on a pu les réaliser.
2.1 Efficacité :
Pour tester l’efficacité de notre logiciel nous avons utilisé Cypress qui permet de
tester le rendu et les actions utilisateurs de l'application à l'aide de scénarios.
Cypress : est un outil pour les développeurs, les lead-developers et les testeurs. Il
permet de créer des scénarios de tests, puis de les jouer sur différents navigateurs
de différentes versions. Cet outil permet donc de tester des applications / services
Web.
Les étapes qu’on a suivi pour appliquer ces tests sont comme suit :
Installation :
Pour installer Cypress sur notre projet, nous avons juste d’exécuter à la racine de notre
projet cette commande :
Utilisation
56
Cette commande va nous permettre de démarrer l’interface d’exécution de tests de
Cypress. Comme vous pouvez le voir sur la photo ci-dessous, des fichiers de tests
sont affichés sur l’interface de Cypress.
57
• Le deuxième appelé « login.js » c’est pour tester le scénario de connexion pour
l’administrateur.
58
Figure 80:Redirection vers page d’accueil après l’authentification
59
On peut valider maintenant l’efficacité du scénario de connexion
2.2 Sécurité
Définition
Les mesures de sécurité évaluent le niveau de risque de préjudice pour les personnes,
les entreprises, les logiciels, les biens ou l'environnement dans un contexte
d'utilisation spécifique. Elle comprend la santé et la sécurité de l'utilisateur et des
personnes concernées par l'utilisation, ainsi que les conséquences physiques ou
économiques involontaires.
Outil utilisé
Synk est une plateforme qui aide les développeurs à identifier les vulnérabilités et
les violations de licence dans leurs bases de code open source, conteneurs et
applications Kubernetes. En connectant leur référentiel de code, que ce soit
GitHub, GitLab ou Bitbucket, les clients de Snyk ont accès à une base de données
de vulnérabilités géante, qui permet à Snyk de décrire le problème, d'indiquer où se
trouve la faille dans le code et même de suggérer un correctif.
Utilisation
Pour commencer nous avons accéder à la plateforme, nous avons fait la liaison
avec Github en choisissant le repo sur lequel nous allons travailler pour obtenir le
tableau de bord suivant :
60
En accédant à code analysis, on obtient un rapport contenant les vulnérabilités de
notre application avec un niveau de sévérité (élevé, moyenne ou faible) ainsi un
score de priorité pour rendre la hiérarchisation des problèmes aussi rapide et facile
que possible, garantissant que les problèmes les plus risqués ont le score le plus
élevé.
Risque 1
Cet outil permet aussi de proposer une solution pour chaque risque en cliquant
sur détails et on obtient l’interface suivante
61
Risque 2
62
Risque 3
63
2.3 Productivité :
Pour mesurer la productivité de notre application nous avons utilisé l’outil Google
lighthouse
▪ Best practices : C'est la fiabilité de votre page, elle mesure à quel point les
bonnes pratiques définies par le W3C ou les standards de Google sont
utilisées et respectées. Par exemple, il vérifiera si votre page est servie
via HTTPS et si des erreurs sont présentes dans la console.
▪ SEO : Cela mesure à quel point votre page est optimisée et standardisée pour
les moteurs de recherche. Il vérifie, par exemple, si le document contient
des balises méta et des titres sémantiques.
▪ Progressive web App : Cela mesure si votre site Web peut être installé. Il doit
réussir l'audit sur la base de la liste de contrôle PWA de base . Ce n'est
normalement pas requis pour la plupart des sites
64
▪ Etude comparative pour les mesure de la productivité de l’ancien site Evax et
du nouveau site
En utilisant cet outil sur la page d’accueil du site evax actuel on a obtenu le
résultat suivant :
65
a. Performance
On commence par analyser la performance qui représente seulement 43% et qui est
une moyenne des scores métriques. Ces scores métriques apparaissent lorsque
Lighthouse a fini de collecter les mesures de performance (évaluées en
millisecondes) et qu’il a converti chaque valeur métrique de 0 à 100.
66
Les métriques mesurées pour la performance sont comme suivies :
• Le first Contentful Paint (FCP) qui calcule le temps nécessaire au navigateur pour
afficher le premier élément de contenu DOM lors du chargement d’une page de votre
site
• Le Speed Index (SI), chargé de calculer la vitesse à laquelle le contenu est affiché
• Le Total Blocking Time (TBI), qui mesure le temps total pendant lequel une page est
• Le Cumulative Layout Shift (CLS), qui permet de mesurer les décalages de mise en
Le score de performance est une donnée intéressante à suivre dans la durée pour
mesurer l’impact des actions que vous entreprenez pour optimiser votre vitesse de
chargement.
D’après les résultats de cette étude, on peut constater que le nouveau site EVAX est
plus performant que l’ancien.
b. Accessibilité
Dans cette section, nous évaluons l’accessibilité qui va nous examiner dans quelle
mesure le site Web ou l’application Web progressive peut être utilisé(e) par
des personnes ayant un handicap. Il contrôle de manière approfondie que les
éléments importants tels que les boutons ou les liens sont correctement décrits, ou
encore que les images et les graphiques disposent d’une fonction de « voix off » pour
permettre également aux personnes aveugles de comprendre les contenus via le
message vocal
67
Figure 93:Accessibilité du site evax actuel (erreurs)
Au niveau du site Evax actuel l’outil nous affiche les règles non respectées tel que :
« Background and foreground colors do not have a sufficient contrast ratio » cette phrase
signale le texte dont les couleurs d'arrière-plan et de premier plan n'ont pas un rapport de
contraste suffisamment élevé
« Heading elements are not in a sequentially-descending order »: Cette phrase signale les pages
dont les titres sautent un ou plusieurs niveaux .
68
Pour le nouveau site nous avons essayé d’éviter les erreurs d’accessibilité rencontrés mais on
a eu d’autres erreurs tel que :
« Image elements do not have [alt] attributes » : Cette phrase signale les <img> éléments qui
n'ont pas d'<alt> attributs :
« Links do not have a discernible name » : Cette phrase signale les liens qui n'ont pas de noms
discernables
69
c. Bonnes pratiques
Dans cette partie nous analysons les bonnes pratiques qui présentent principalement
les aspects liés à la sécurité des sites web ou des PWA. L’outil contrôle ici l’utilisation
de technologies de chiffrement telles que TLS, la sécurité des sources des ressources
intégrées au site web, ou si les bibliothèques JavaScript peuvent être classées comme
sécurisées. Lighthouse vérifie également que les bases de données connectées sont
bien sécurisées, en signalant les commandes non sécurisées ou l’utilisation d’API
anciennes.
Au niveau du site Evax actuel on a obtenu un score de 80% qui est un score moyen
(jaune)
70
D’autre part dans le nouveau site Evax qu’on a développé on a obtenu le score 93%
qui est un bon score (vert)
d. SEO
Google Lighthouse utilise différents tests pour analyser dans quelle mesure l’application
ou le site Web est bien pris en compte par différents moteurs de recherche. Cependant,
ces tests sont très limités. Lighthouse affiche les résultats d’analyse sur une échelle de 0 à
100 points.
71
Ici pour le site Evax actuel nous avons obtenu le score de 90% qui est considéré bon (vert)
Pour le nouveau site on a obtenu comme score SEO 91% qui est aussi considéré bon (vert)
72
VIII. Questionnaire de satisfaction
1. Objectif
Après la création du nouveau site web Evax, nous avons créé un questionnaire de
satisfaction pour mesurer et évaluer la satisfaction des utilisateurs. Nous avons
utilisé encore une fois l’outil Eval & Go.
• Question 1
73
• Question 2 :
Pour la deuxième question nous avons choisi 6 critères pour évaluer la
satisfaction des clients du nouveau site evax.
La majorité des personnes parmi les échantillons ont trouvé la rapidité d’affichage des
pages très satisfaisante, ils ont donné la valeur de 5/5, alors que la minorité des
personnes ont évalué ce critère avec la valeur de 2/5.
La moyenne des réponses à comme valeur 3.8/5 donc ce critère est évalué satisfaisant.
74
La taille, couleur et le style de police :
La majorité des personnes parmi les échantillons ont trouvé la taille, couleur et le style
de police très satisfaisante, ils ont donné la valeur de 5/5, alors que la minorité des
personnes ont évalué ce critère avec la valeur de 3/5.
La moyenne des réponses à comme valeur 4.2/5 donc ce critère est évalué très
satisfaisant.
75
Organisation des pages :
La majorité des personnes parmi les échantillons ont trouvé l’organisation des
pages très satisfaisante, ils ont donné la valeur de 5/5, alors que la minorité des
personnes ont évalué ce critère avec la valeur de 3/5.
La moyenne des réponses à comme valeur 4.2/5 donc ce critère est évalué très
satisfaisant.
76
Exactitude des informations :
La majorité des personnes parmi les échantillons ont trouvé l’exactitude des
informations très satisfaisante, ils ont donné la valeur de 5/5, alors que la minorité des
personnes ont évalué ce critère avec la valeur de 2/5.
La moyenne des réponses à comme valeur 4.05/5 donc ce critère est évalué très
satisfaisant.
77
• Question 3
90.24% des échantillons qui sont satisfait par la nouvelle méthode de réception du
code d’inscription par mail, tandis que 9.7% ne sont pas satisfait par cette méthode
de réception.
• Question 4 :
78
Parmi 41 personnes 18 qui ont trouvé la nouvelle fonctionnalité chatbot très
satisfaisante, ils ont donné la valeur de 5/5, ainsi que 18 personnes ont trouvé le
chatbot comme une idée satisfaisante, ils ont donné la valeur de 4/5 alors que la
minorité des personnes ont évalué cette fonctionnalité avec la valeur de 3/5.
La moyenne des réponses à comme valeur 4.32/5, donc cette fonctionnalité est
évaluée très satisfaisant.
• Question 5 :
La majorité des personnes parmi les échantillons ont trouvé l’extraction de passeport
vaccinal très satisfaisant, ils ont donné la valeur de 10/10, alors que la minorité des
personnes ont évalué cette fonctionnalité avec la valeur de 5/10.
79
• Question 6
80
Question 7
Finalement nous avons demandé aux échantillons d’indiquer leurs recommandations et/ou
suggestions pour notre site web et nous avons reçu les réponses suivantes comme montre
l’image ci-dessous
81