Portfolio BUT2
Technique

Trace 3 - Nouveau flux d'export avec jobs

Architecture de jobs pour lancer un export sans bloquer le navigateur.

Conception d'une architecture d'export robuste

Comprehension des besoins metier et utilisateurs

Trace 3

Passage a un export asynchrone avec jobs

Trace 3 - Nouveau flux : creation du job, envoi des donnees, generation serveur, historique et telechargement.

Cette trace represente le nouveau flux d'export Cockpit. L'ancien comportement consistait a attendre directement le fichier genere. Le nouveau systeme cree d'abord une tache d'export, puis permet au frontend de suivre son statut pendant que le backend prepare le fichier.

  1. Le frontend cree un job dans l'API PHP et recoit un identifiant.
  2. Le backend stocke le statut, la progression, la taille, le lien de fichier et les informations d'historique.
  3. L'utilisateur peut retrouver le fichier plus tard dans le menu d'export, au lieu de rester bloque sur la page.

Fonctionnement simplifie

  1. L'utilisateur lance une recherche Cockpit avec ses filtres.
  2. Le frontend transforme les resultats en feuilles et lignes d'export.
  3. L'API PHP cree un job dans MySQL.
  4. Le frontend envoie les donnees par batches.
  5. L'API PHP genere le fichier puis l'enregistre sur le stockage.
  6. Le frontend poll le statut et affiche la progression.
  7. L'utilisateur telecharge le fichier depuis l'historique.

Analyse des savoir-faire

Le savoir-faire technique est concevoir un traitement long comme une tache suivie. Un export volumineux n'est pas une action instantanee : il faut un identifiant, un etat, une progression, une erreur possible et un fichier final.

Le savoir-faire metier est adapter l'architecture a l'experience utilisateur. Le job n'est pas seulement une solution backend : il permet a l'utilisateur de continuer a naviguer, de voir les exports en cours et de recuperer le fichier apres generation.

Cette trace montre que la robustesse technique et l'UX sont liees. En rendant l'export observable, on rend aussi le systeme plus comprehensible pour l'utilisateur.

On this page