feat(pc-mirror) : l'explorateur devient une vue du front Svelte #13
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/explorateur-api-json"
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?
Ce que fait cette branche
L'explorateur du miroir passe au front Svelte. Le serveur ne compose plus de
page HTML pour un dossier : il en rend les données, et la mise en page
appartient au front.
Côté serveur
GET /api/fichiers?p=<chemin>: contenu d'un dossier en JSON (mêmes règlesque la page écrite à la main — dossiers protégés de premier niveau jamais
exclus, fichiers internes masqués à la racine). Une panne rend son code et un
message, en JSON : un appel d'API ne doit pas recevoir du HTML.
Entreeporte un champexcluable, calculé au listage : le front n'a pas àconnaître la liste des dossiers protégés.
/files. Sa suppression emporte laréférence de parité (12 sondes) et les bancs de page : ce sera un lot à part,
annoncé comme tel.
Côté front
/fichiers: fil d'Ariane, navigation sans rechargement maisqui laisse de vraies adresses (un clic modifié ouvre toujours un onglet, le
bouton « Précédent » fonctionne), téléchargement par
/dl, exclusionconfirmée par un dialogue Skeleton.
lib/explorateur.ts: lecture et validation de l'API, avec les pannessimulées en test (code d'erreur, corps illisible, forme inattendue, délai,
serveur injoignable).
lib/theme.ts: le mode clair/sombre sort deApp.svelteet devient partagé.Correction au passage : le mode clair
Sur un élément animé (
transition-colors), une paire « couleur +dark:couleur» ne se rafraîchit pas quanddata-modechange : lesboutons d'en-tête restaient figés sur les teintes sombres — texte gris sur
fond gris, illisible. Mesuré, puis corrigé par les jetons appariés de Skeleton
(
bg-surface-100-900,text-surface-700-300), qui basculent correctement.Cela répare aussi le tableau de bord déjà livré.
Vérifications
cargo test: 194 tests, 0 échec ;cargo clippy -D warningspropre.npm run check,npm run lint,npm run formatpropres ;106 tests (couverture 98,5 % des lignes, seuils à 80 %).
sans violation — les parcours de l'explorateur couvrent la navigation,
l'adresse partagée, le dossier protégé, l'exclusion confirmée, le dossier
absent et l'absence de débordement.
fusion-auto: pas de fusion, la CI est rouge (Livraison, Crate pcmirror). Le chef de l'atelier renvoie la carte à l'agent ; l'étiquette tombera d'elle-même une fois corrigé.Fusionnée automatiquement par
fusion-auto(forge) : CI verte, sans conflit.foXaCe referenced this pull request2026-10-17 16:07:04 +02:00