L’article explique comment optimiser la gestion de gros fichiers JSON dans Symfony pour éviter les problèmes de mémoire, notamment l’OOM killer. L’idée principale repose sur l’utilisation du composant natif symfony/json-streamer de Symfony 7.4, qui permet de parser les données en flux continu plutôt que de charger l’intégralité du fichier en mémoire. Cette approche réduit drastiquement l’empreinte mémoire, évitant les pièges des méthodes traditionnelles comme json_decode() ou le Serializer, qui dupliquent les données en mémoire.
L’auteur détaille les mécanismes sous-jacents, comme le fonctionnement en DOM des méthodes classiques, qui consomment jusqu’à cinq fois plus de RAM que la taille du fichier initial. À l’inverse, le streaming lit les données octet par octet et ne conserve en mémoire que les éléments actuellement traités, grâce à des DTOs (Data Transfer Objects) typés et à l’attribut #[JsonStreamable]. Cette méthode est particulièrement adaptée aux fichiers de plusieurs gigaoctets ou aux webhooks massifs.
Pour implémenter cette solution, l’article recommande d’installer trois composants Symfony (json-streamer, type-info et object-mapper) et d’exploiter leur intégration native. L’architecture repose sur des Generators PHP, qui libèrent automatiquement la mémoire après traitement de chaque objet, garantissant une consommation constante et minimale.
Reprendre le contrôle de sa discothèque : un retour aux sources musicales. L'auteur, après avoir abandonné sa collection physique au profit de Spotify, décide de reprendre en main sa bibliothèque musicale. Inspiré par un post sur Mastodon, il décrit son processus pour synchroniser ses 10 000 MP3 via un cloud personnel et les écouter via l'application Symfonium sur Android. Bien que la manipulation soit simple, elle reste accessible à peu de personnes. L'auteur souligne le bénéfice émotionnel et historique de cette démarche, transformant sa bibliothèque en une collection personnelle et vivante, loin des algorithmes impersonnels des plateformes de streaming.
Navidrome est un serveur de musique open source et auto-hébergé qui permet d'écouter sa propre collection musicale depuis n'importe quel navigateur ou appareil mobile. Similaire à des services comme Spotify ou Apple Music, il permet également de partager facilement sa musique et ses playlists. Après une installation simple, Navidrome indexe toute la musique stockée sur votre disque dur, la rendant accessible via un lecteur web ou des applications mobiles compatibles avec l'API Subsonic. Vous pouvez ainsi rechercher votre musique, créer des playlists, noter et favoriser vos morceaux, albums et artistes préférés.
Améliorez le temps de réponse du serveur (TTFB) et l'expérience utilisateur (UX) grâce au streaming HTTP. Cet article explique comment le streaming HTTP peut accélérer la perception de la vitesse de chargement des pages dynamiques en envoyant progressivement le contenu au navigateur, plutôt que d'attendre que toute la page soit générée. Cela est particulièrement utile pour les pages affichant de nombreuses lignes de données. L'article fournit un exemple en JavaScript/TypeScript utilisant le framework Mastro et Kysely pour la base de données, démontrant comment utiliser le streaming pour améliorer les performances.
L’article passe en revue les principaux formats audio (sans compression comme WAV/AIFF, sans perte comme FLAC/ALAC, et avec perte comme MP3, Vorbis, Opus, AAC) et leurs usages : archivage, stockage quotidien ou streaming. Il explique l’importance du débit binaire (CBR/VBR) et de la compatibilité des formats avec les appareils. Pour l’archivage, le FLAC est recommandé pour sa qualité et son ouverture, tandis que pour un cloud musical, l’Opus (128 kbps VBR) est privilégié pour son équilibre qualité/taille et sa rapidité d’encodage. Un benchmark illustre les différences de taille entre formats, et un glossaire clarifie les termes techniques. L’auteur partage son choix : FLAC pour l’archivage, Opus pour le cloud.
Tout est dans le titre
Ça n'a pas été sans mal mais l'auteur nous explique comment corriger quelques soucis
Suite de https://lorenzofox.dev/posts/html-streaming-part-1 l'auteur améliore les performances de son moteur de template
Tout est dans le titre
Une configuration dans laquelle le PC de jeu est sous NixOS (utilisation de Steam pour les jeux), PC qui streame vers un Mac mini - original ^^
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
L'article explique comment le web sait gérer des flux media en temps réel.
Tout est dans le titre