fix: image Docker glibc + UI plus douce + placeholders génériques #4

Merged
kyuno merged 1 commit from fix/docker-glibc-and-ui-polish into main 2026-09-16 22:26:48 +02:00
Owner

Résumé

Trois correctifs demandés après le premier déploiement.

1. Bug de prod : spawn yt-dlp ENOENT sur downloader.media.kyuno.fr

Root cause : le binaire autonome yt-dlp_linux (téléchargé dans server/Dockerfile) est lié à la glibc. L'image runtime utilisait node:22-alpine, basée sur musl — sur ce genre de base, spawn() échoue avec ENOENT même si le fichier existe et est exécutable, car le noyau ne trouve pas l'interpréteur ELF (ld-linux) que le binaire attend. C'est exactement l'erreur du rapport de bug.

Fix : les trois étapes du Dockerfile passent de node:22-alpine à node:22-bookworm-slim (Debian), apk → apt-get. Même choix que mediaDrop, qui a un souci similaire avec une autre dépendance native.

Je n'ai pas Docker dans mon environnement pour rebuilder l'image et vérifier directement — la prochaine publication CI (au merge) le fera. À confirmer après redéploiement.

2. UI moins agressive

Ajout de client/src/styles/base.scss (palette partagée en custom properties CSS, importée une fois depuis app.ts) : fond gris clair au lieu du rendu par défaut trop sombre/contrasté, cartes blanches avec bordures discrètes, boutons bleu doux avec variante secondary pour les actions non-principales (Annuler), fond rosé pâle (pas rouge vif) pour les éléments en échec.

3. Placeholders génériques

@worldclimbing → @nomdelachaine, speed, 2026 → mot-clé1, mot-clé2 (le champ URL était déjà un patron générique, inchangé).

Vérifications locales

  • npm run lint (Biome) + tests + typecheck + build, serveur et client : clean, 67 tests
  • Testé en navigateur réel : nouveau thème, placeholders, état d'erreur (fond rosé confirmé visuellement)
  • Dockerfile : relecture attentive mais pas testé en build réel (pas de Docker ici) - à vérifier après déploiement

🤖 Generated with Claude Code

## Résumé Trois correctifs demandés après le premier déploiement. ## 1. Bug de prod : `spawn yt-dlp ENOENT` sur `downloader.media.kyuno.fr` Root cause : le binaire autonome `yt-dlp_linux` (téléchargé dans `server/Dockerfile`) est lié à la **glibc**. L'image runtime utilisait `node:22-alpine`, basée sur **musl** — sur ce genre de base, `spawn()` échoue avec `ENOENT` même si le fichier existe et est exécutable, car le noyau ne trouve pas l'interpréteur ELF (`ld-linux`) que le binaire attend. C'est exactement l'erreur du rapport de bug. Fix : les trois étapes du Dockerfile passent de `node:22-alpine` à `node:22-bookworm-slim` (Debian), `apk` → `apt-get`. Même choix que **mediaDrop**, qui a un souci similaire avec une autre dépendance native. Je n'ai pas Docker dans mon environnement pour rebuilder l'image et vérifier directement — la prochaine publication CI (au merge) le fera. À confirmer après redéploiement. ## 2. UI moins agressive Ajout de `client/src/styles/base.scss` (palette partagée en custom properties CSS, importée une fois depuis `app.ts`) : fond gris clair au lieu du rendu par défaut trop sombre/contrasté, cartes blanches avec bordures discrètes, boutons bleu doux avec variante `secondary` pour les actions non-principales (Annuler), fond rosé pâle (pas rouge vif) pour les éléments en échec. ## 3. Placeholders génériques `@worldclimbing` → `@nomdelachaine`, `speed, 2026` → `mot-clé1, mot-clé2` (le champ URL était déjà un patron générique, inchangé). ## Vérifications locales - `npm run lint` (Biome) + tests + typecheck + build, serveur et client : clean, 67 tests - Testé en navigateur réel : nouveau thème, placeholders, état d'erreur (fond rosé confirmé visuellement) - Dockerfile : relecture attentive mais **pas testé en build réel** (pas de Docker ici) - à vérifier après déploiement 🤖 Generated with [Claude Code](https://claude.com/claude-code)
kyuno added 1 commit 2026-09-16 22:23:03 +02:00
fix: image Docker glibc + UI plus douce + placeholders génériques
Some checks failed
Publier l'image Docker / test (pull_request) Failing after 4s
Publier l'image Docker / publish (pull_request) Has been skipped
a73ead75a0
- server/Dockerfile : base node:22-bookworm-slim au lieu d'alpine. Le
  binaire autonome yt-dlp_linux est lié à la glibc ; sur musl (Alpine),
  spawn échouait en prod avec ENOENT bien que le fichier soit présent et
  exécutable (interpréteur ELF introuvable). Repéré via un rapport de bug
  en conditions réelles. Même choix que mediaDrop pour un souci similaire.
- client/src/styles/base.scss : palette partagée (custom properties CSS),
  fond/texte/bordures adoucis, boutons/inputs cohérents, variante
  "secondary" pour les actions non-principales (Annuler). Remplace le
  rendu par défaut trop contrasté (fond très sombre côté navigateur non
  compensé, rouge vif sur les erreurs).
- Placeholders des champs chaîne/mots-clés rendus génériques
  (@nomdelachaine, mot-clé1/mot-clé2) au lieu d'un exemple spécifique.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
kyuno merged commit 36c1038561 into main 2026-09-16 22:26:48 +02:00
kyuno deleted branch fix/docker-glibc-and-ui-polish 2026-09-16 22:26:48 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: kyuno/youtubeDownloader#4
No description provided.