Actions
US #1082
ouvertUS #1089: 11_Code review de l'application [Client]
09_Temps de réponse de liste client
Début:
12/06/2025
Echéance:
12/06/2025 (En retard de environ 8 mois)
% réalisé:
100%
Temps estimé:
0.50 h
Fichiers
Actions
#1
Mis à jour par Tarek AOUADI il y a 8 mois
- Fichier clipboard-202506121159-pvodi.png clipboard-202506121159-pvodi.png ajouté

Actions
#2
Mis à jour par Tarek AOUADI il y a 8 mois
- Sujet changé de Temps de réponse de liste client à 09_Temps de réponse de liste client
Actions
#7
Mis à jour par ahlem belgacem il y a 8 mois
- Echéance mis à 12/06/2025
- % réalisé changé de 0 à 100
Actions
#8
Mis à jour par ahlem belgacem il y a 8 mois
Actions
#10
Mis à jour par ahlem belgacem il y a 8 mois
- Statut changé de In Progress à Ready For Test
Actions
#11
Mis à jour par ahlem belgacem il y a 8 mois
- Statut changé de Ready For Test à Ready For Recette
Actions
#12
Mis à jour par ahlem belgacem il y a 8 mois
Notes:
- Requêtes SQL & Jointures Déplacer le filtrage `languageId` directement dans les jointures SQL pour éviter de filtrer les traductions côté JavaScript inutilement.
- Optimiser les requêtes en déplaçant les filtres `languageId` et `description` (logo) dans les `LEFT JOIN` SQL pour réduire le volume de données transférées.
- Utiliser `.select([...])` pour ne récupérer que les colonnes nécessaires au lieu de charger l'intégralité des entités (meilleure performance et moindre charge mémoire).
- Grouper les récupérations des rapports, quiz et rémunérations en une seule requête par entité
- Construire des objets `Map` à partir des résultats groupés pour un accès direct en par example (compensationByCompany ,quizzesByCompany,reportsByCompany).
- au lieu d'effectuer une recherche ou une itération par entreprise.
- Performance Fusionner les blocs `Promise.all(companies.map(...))` pour simplifier le code et réduire les appels imbriqués.
- Supprimer la redondance de `const companies = await query.getMany()` s'il est déjà appelé ailleurs.
- Envelopper les appels aux services externes (ex : récupération S3 du logo) dans un `try/catch` pour éviter qu'une seule erreur n'interrompe tout le traitement de la liste.
- Optimisation logique JS :Utilisation de `Set.has(...)` au lieu de `Array.includes(...)`cela est essentiel dans les boucles où plusieurs vérifications sont faites pour chaque entreprise.
Actions