Front Svelte — Top vidéos : lire /api/top, plus de données embarquées (t_87c3e84d) #1662
Loading…
Reference in a new issue
No description provided.
Delete branch "hermes/front-top-api"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
But
Top.svelterecevait ses données par l'attributdata-donneesdu conteneur#top-app, rempli par Python(
top_donnees.onglet_top) à chaque rendu de la page. L'onglet n'était donc ni 100 % Svelte ni 100 % Rust :les chiffres se calculaient encore dans la page, et une panne de la route n'aurait rien changé.
Ce que fait la branche (5 commits)
/api/top—Top.svelteprend la route en prop (api) et la lit parlib/top.js:lire,main.jsne lit plusdata-donneeset monte le composant avecapi: '/api/top'./processus/?topmonte lemême composant sur la même route (le repli annoncé par le commentaire n'existait pas :
topmanquait aussi dansla liste des onglets montés sur
#processus-app). Même forme de données, aucun recalcul côté front :lib/top.jsne fait que filtrer, classer et compter ce que la route rend.lire()rend la raison de la route quand elle en donne une,HTTP <statut>sinon, et« session expirée » à part (le renvoi vers
/connexionne porte pas de JSON). Pendant l'attente, le squelettede la charte, sans un mot ; plus de phrase d'erreur quand il n'y a simplement pas encore de données.
p-topdetableau-bord.pyne pose que la place demontage et le squelette (
top_donnees.SQUELETTE, une seule copie) ;top_donnees.pyn'est pas touché et sononglet_topreste éprouvé partest_top_donnees.py. L'ancien onglet Python reste sous#o-ancien-top.tableau-bord.pyreste à son plafond de 800 lignes (aucune ligne ajoutée).page:Top vidéosdetest_100_svelte_rust.pyestretirée : la mesure est devenue conforme, et le banc mesure maintenant
Top vidéos Svelte socle /api/top 100 %./api/topentre dans la liste relayée deserveur_processus.py(comme/api/accueilavant lui,t_c833b356) : le service Rust n'écoute que sur la boucle locale du 132, sans cette ligne le front de la page du
132 ne l'atteindrait pas et l'onglet resterait sur sa panne. Un relais ne calcule rien.
front/apercu.pysert/api/top(argumenttop, commeaccueiletanalytique), avec leJSON doré de la parité Rust comme fixture : l'onglet se regarde et se mesure sans le 132.
Preuves
npx vitest run(front) : 26 fichiers / 197 cas verts, dont le banc neuftests/top-api.test.js(8 cas : la route est la seule source, et chaque échec de lecture a sa raison).
python3 _tableau/lancer-tests.py --tout --sans-couverture: 159 bancs verts, code 0.npm run build:dist/904 097 octets,dist/index.htmlprésent, 13 fichiers JS > 5 Ko.test_100_svelte_rust.py:Top vidéos Svelte socle /api/top 100 %(le manque déclaré au nom de la carte est levé).La même page, les mêmes lignes — mesuré, pas affirmé
Le même JSON (le doré de la parité,
rust/service/tests/fixtures/top/complet.top.json) servi des deux façons :la page d'AVANT (conteneur
#top-appavecdata-donnees, build d'avant) et la page d'APRÈS (conteneur nu, buildd'après,
/api/topsur 404 côté avant). Texte visible du conteneur, Chromium piloté en CDP :e04189f1a33c, 3058 car.e04189f1a33c, 3058 car.e04189f1a33ce04189f1a33c266b06c8168a, 2949 car.266b06c8168a, 2949 car.266b06c8168a266b06c8168aLes captures PNG sont identiques au bit près avant/après (
2e382d84…,3df7563c…,53ef13d2…,76c5a257…).La page d'essai (
apercu.py,/processus/?top) rend le même texte que la page du tableau, dans les quatreconfigurations. Partout : 15 lignes, 73 liens, 1 tableau, 0 px de débordement horizontal.
Panne reproduite : la build d'AVANT sur un conteneur nu (sans
data-donnees) n'affiche que« Les données de l'onglet n'ont pas pu être lues : recharger la page. » — l'ancien montage dépendait bien du calcul
Python ; l'après, sur le même conteneur nu, affiche les 15 lignes depuis
/api/top.Ce qui n'est pas mesuré
~/.ssh/id_132vide,ssh studio@192.168.1.86refuse la clé). Mesuré sur la build servie en local par
front/apercu.py, plus la page Python reconstituée.tableau-bord.py --rendun'a pas été exécuté sur le 132 : la page locale est reconstituée (mêmes fichiers,mêmes gabarits).
fusion-auto: pas de fusion, la PR est en conflit avec main : à rebaser. Le chef de l'atelier renvoie la carte à l'agent ; l'étiquette tombera d'elle-même une fois corrigé.0a01b18752a1508e5b29fusion-auto: pas de fusion, la PR est en conflit avec main : à rebaser. Le chef de l'atelier renvoie la carte à l'agent ; l'étiquette tombera d'elle-même une fois corrigé.fusion-auto: pas de fusion, la PR est en conflit avec main : à rebaser. Le chef de l'atelier renvoie la carte à l'agent ; l'étiquette tombera d'elle-même une fois corrigé.fusion-auto: pas de fusion, la CI est rouge (Front Svelte). Le chef de l'atelier renvoie la carte à l'agent ; l'étiquette tombera d'elle-même une fois corrigé.