Quotidien Shaarli
June 22, 2025
L'auteur présente les éléments à prendre en compte pour générer un flux RSS :
- choix du format (RSS, Atom, JSON)
- balises selon le format
- découvrabilité du flux
- catégories
- adaptation des règles HTTP selon la charge du serveur
L'article explique comment améliorer la structure et la performance des services dans Symfony en utilisant les "service subscribers". Il commence par souligner les problèmes liés au chargement automatique de nombreux services, qui peuvent entraîner une instanciation inutile de dépendances et compliquer l'extensibilité. La solution proposée est d'implémenter l'interface ServiceSubscriberInterface, ce qui permet de charger les services de manière paresseuse, c'est-à-dire uniquement lorsqu'ils sont réellement nécessaires. L'article montre également comment créer une classe de base abstraite pour centraliser la logique des services, améliorant ainsi la maintenabilité et l'expérience des développeurs. Enfin, il aborde l'utilisation de cette approche dans un bundle Symfony pour gérer des dépendances optionnelles, rendant les services plus modulaires et légers.
L'auteur expose plusieurs concepts et bonnes pratiques de git, en revisitant Blanche-Neige. C'est assez drôle, bien écrit et surtout très compréhensible.
L'article explique comment implémenter le design pattern Strategy dans Symfony 7 pour gérer des comportements différents sous certaines conditions sans utiliser de multiples instructions if. Ce modèle permet de créer des stratégies distinctes et testables individuellement, rendant le code plus élégant et professionnel. L'article décrit la structure du modèle, composée d'une classe de contexte, de classes de stratégie individuelles et de classes auxiliaires. Trois exemples concrets sont fournis : une règle métier, des opérations avec API Platform, et une recherche intelligente avec Doctrine. L'utilisation du pattern Strategy dans Symfony 7 est présentée comme une solution efficace pour centraliser et simplifier la gestion des comportements variés dans une application.
Symfony dispose de fonctionnalités sur les chaînes de caractères depuis longtemps (Symfony 5) avec plein d'utilitaires très pratiques : gestion de l'unicode, enchaînement de méthodes (interface fluente), prise en charge de l'internationalisation, etc.
Zeropod est un outil Kubernetes qui permet de mettre en pause les conteneurs inactifs et de les restaurer automatiquement lors d'une nouvelle connexion TCP, offrant ainsi une solution de "scale-to-zero". Il écoute sur le même port que l'application et restaure le conteneur en quelques millisecondes, ce qui est presque imperceptible pour l'utilisateur. L'état complet de l'application est préservé grâce à la sauvegarde de la mémoire sur le disque pendant le checkpointing. Zeropod ajuste également les demandes de ressources à l'état réduit si le cluster le supporte et permet la migration des pods mis à l'échelle sans redémarrage. Cet outil est particulièrement utile pour économiser des ressources tout en maintenant la réactivité des applications. L'auteur reste néanmoins sceptique sur l'usage en l'état puisqu'il est impossible d'avoir des containers en prod sans liveness / readiness.