Exploitation
Dépannage
Diagnostiquer un port occupé, un WASM absent, des en-têtes manquants ou un format refusé.
La page ne répond pas
- Vérifiez le port :
2501pour Docker,2499pour Vite. - Contrôlez le conteneur :
docker compose ps
docker compose logs --tail 100 swissknife- Le healthcheck interroge
http://127.0.0.1:8080/à l'intérieur du conteneur. Un échechealthyindique Nginx, pas votre navigateur.
Le moteur audio/vidéo ne se charge pas
- ouvrez
/ffmpeg/ffmpeg-core.wasm: il doit répondre200enapplication/wasm; - vérifiez
Cross-Origin-Opener-Policy: same-originetCross-Origin-Embedder-Policy: require-corpsur le document ; - un reverse proxy a pu retirer ces en-têtes : Reverse proxy ;
- le premier chargement télécharge ~32 Mo : un réseau lent peut atteindre le délai de 120 s ;
- les images seules n'ont pas besoin du moteur : un PNG vers JPG peut réussir alors que MP3 échoue.
La console (bouton Console) affiche le journal FFmpeg.
docker compose up échoue
- port hôte déjà pris : changez
2501:8080en8088:8080; - image GHCR indisponible : construisez avec
docker compose -f docker-compose.build.yml up -d --build; - droits insuffisants pour lancer Docker.
Un fichier est refusé
PDF, texte et types inconnus n'entrent pas dans la file. GIF va en vidéo. TIFF/BMP en image seulement si le navigateur les décode. Tableau : Formats.
La démo n'affiche pas la pastille
Vous êtes probablement sur le produit normal (npm run dev ou image GHCR). La pastille existe dans build:demo / Vercel.
Conversion qui sature l'onglet
À partir de 50 Mo, l'avertissement est attendu. Fermez d'autres onglets, convertissez un fichier à la fois, ou réduisez la source. Il n'y a pas de file distante pour décharger la mémoire.
Qualité du checkout produit
npm run lint
npm test
npm run build