Projet

Général

Profil

Actions

US #1090

ouvert

02_Review rapport

Ajouté par Tarek AOUADI il y a 8 mois. Mis à jour il y a 5 mois.

Statut:
Closed
Priorité:
Normal
Assigné à:
Version cible:
Début:
15/07/2025
Echéance:
22/07/2025 (En retard de environ 7 mois)
% réalisé:

100%

Temps estimé:

Mis à jour par Tarek AOUADI il y a 7 mois

  • Version cible changé de Socle_V23 à Socle_V24

Mis à jour par Tarek AOUADI il y a 7 mois

  • Sujet changé de Upload rapport V2 à 02_Upload rapport V2

Mis à jour par Tarek AOUADI il y a 7 mois

  • Sujet changé de 02_Upload rapport V2 à 02_Rapport V2

-- Optimisation de la sauvegarde
-- Upload

Mis à jour par Tarek AOUADI il y a 7 mois

  • Sujet changé de 02_Rapport V2 à 02_Review rapport

Mis à jour par ahlem belgacem il y a 7 mois

  • Statut changé de New à In Progress

Mis à jour par ahlem belgacem il y a 7 mois

  • Assigné à mis à ahlem belgacem

Mis à jour par ahlem belgacem il y a 7 mois

  • Début changé de 12/06/2025 à 15/07/2025

Mis à jour par ahlem belgacem il y a 7 mois

Solution apportée Optimisation de la sauvegarde

  • Regroupement et optimisation des requêtes
  • Utilisation d’une jointure SQL unique pour récupérer le subscriptionCode.
  • Récupération du round via un QueryBuilder direct (jointure table companyCountry → country).
  • Fusion des appels getCriteriaBySubscriptionCode et getReportChartsBySubscriptionType dans un seul Promise.all avec requête SQL join + grouping côté JS.
  • Atomicité et simplicité
  • Mise à jour de la table ReportAuthorization via la méthode TypeORM increment, garantissant une opération atomique sans chargement préalable.
  • Simplification du parsing de businessSector en une seule ligne, toujours sous forme de tableau.
  • Compression des données
  • Passage de l’enregistrement des réponses brutes à un flux GZIP :
  • Taille avant : ~ 41 KB
  • Taille après : ~ 3 KB
  • Réduction de la charge réseau et de la contention lors des écritures/lectures.
Étape Avant Après
Parsing `businessSector`  1 ms 0,19 ms
Récupération `subscriptionCode`  100 ms 58 ms
Récupération `round`  100 ms 60 ms
Critères & charts  200 ms 88 ms
Sauvegarde du rapport  200 ms 150 ms
Mise à jour de l’autorisation  100 ms 58 ms
Compression & sauvegarde détails  200 ms 95 ms

Mis à jour par ahlem belgacem il y a 7 mois

  • % réalisé changé de 0 à 50

Mis à jour par ahlem belgacem il y a 7 mois

l'existant : UPLOAD capture toutes les images côté front (image par image)(cela prends > 3 minutes (temps sur staging ), puis, une fois terminé, les envoyer en haute qualité au backend puis boucle sur ces fichiers pour générer le PDF avant de le compresser en ZIP ce qui est prend bcp du temps et mémoire alors qu’aucune de ces images n’est enregistrée en base de données, rendant leur transfert inutile.
solution :
capture les images et l'intégrer dans un PDF directement côté front,

Mis à jour par ahlem belgacem il y a 7 mois

  • Echéance mis à 22/07/2025
  • Statut changé de In Progress à Ready For Test

Mis à jour par ahlem belgacem il y a 7 mois

  • % réalisé changé de 50 à 100

Mis à jour par Tarek AOUADI il y a 7 mois

  • Version cible changé de Socle_V24 à Socle_V23

Mis à jour par ahlem belgacem il y a 7 mois

  • Statut changé de Ready For Test à Ready For Recette

Mis à jour par Tarek AOUADI il y a 5 mois

  • Statut changé de Ready For Recette à Done

Mis à jour par Tarek AOUADI il y a 5 mois

  • Statut changé de Done à Closed
Actions

Formats disponibles : Atom PDF