MC Sounds
Un lecteur web rapide et statique pour explorer, chercher et écouter tous les sons de Minecraft Java Edition.
Site en ligne
Minecraft contient des centaines de sons uniques, mais il n'y a pas de bon moyen de les parcourir en dehors du jeu. MC Sounds résout ce problème : recherche instantanée avec classement par pertinence, filtrage par catégorie, favoris, et un lecteur flottant avec gestion de file d'attente — le tout entièrement côté client, sans backend.
L'audio de Minecraft est protégée par le droit d'auteur de Mojang et ne peut pas être redistribuée. L'application devait diffuser l'audio directement depuis le système de stocks à adressage par contenu de Mojang sans jamais stocker ni servir de fichiers .ogg, tout en restant rapide et réactive avec des centaines de sons.
Zéro backend, 100% statique
L'application entière est un build statique — pas de serveur, pas de base de données. Les métadonnées des sons sont un manifeste pré-généré associant les noms aux hashes SHA-1, résolus au runtime vers les URLs CDN de Mojang.
Le système d'assets de Mojang
Au lieu de commit de l'audio protégé par le droit d'auteur, l'application utilise le stockage officiel à adressage par contenu de Mojang. Chaque hash de son correspond à une URL sur resources.download.minecraft.net, diffusée via un élément audio.
Grille virtualisée + recherche instantanée
react-window alimente une grille virtualisée pour un défilement fluide à travers des centaines de sons. Le filtrage côté client avec classement par pertinence garde la recherche instantanée.
Lecteur flottant avec file d'attente
Une barre de lecteur persistante avec lecture/pause, précédent/suivant, boucle, seek, et minimiser. Les utilisateurs peuvent constituer des files d'attente, réordonner par sélection, ou "Tout lire" depuis n'importe quel contexte.
Entièrement déployé sur Vercel. Recherche instantanée, lecteur flottant avec file d'attente, favoris persistants, thème clair/sombre, et téléchargement pour n'importe quel son. Workflow GitHub Actions pour le déploiement automatisé.
- Contourner les contraintes de droit d'auteur (pas de redistribution audio) a forcé une architecture créative qui s'est avérée plus simple et plus déployable qu'une approche backend.
- Les listes virtualisées sont essentielles lors du rendu de centaines d'éléments — sans react-window, la grille serait bloquée au rendu initial.