Quotidien Shaarli
April 13, 2025
L'auteur montre comment il a mis en place son système de recommandation à partir des statistiques de visite de son site - le tout basé sur Symfony
L'auteur montre comment se prémunir des attaques XSS dans Symfony : pour les templates Twig en les échappant systématiquement, pour les entrées utilisateur en les "sanitizant" et en utilisant une politique de sécurité de contenu (CSP)
Omni est une application qui permet de gérer des machines Talos sur diverses plateformes, facilitant la création et la gestion de clusters Kubernetes. Elle utilise un réseau VPN Wireguard pour authentifier et piloter les machines Talos, simplifiant ainsi l'infrastructure Kubernetes. Omni permet également de créer des templates de clusters pour automatiser le déploiement de machines virtuelles, notamment avec Kubevirt. Cependant, Omni présente des limitations, notamment l'absence de gestion automatisée des infrastructures cloud. L'intégration de Kubevirt permet de créer des VMs sur un cluster Kubernetes, mais nécessite une configuration spécifique, incluant l'installation de Kubevirt, CDI, et LocalPathProvisioner.
L'auteur montre, avec un exemple simple, comment utiliser Symfony Messenger pour découpler son code (traitement de statistiques de navigation)
L'auteur explique à quoi servent les DTOs et comment les utiliser dans le contexte d'une application Symfony en particulier.
sensio/framework-extra-bundle est déprécié et est remplacé par l'attribut natif de Symfony : #[IsGranted()]
L'auteur montre l'utilisation de Rector en plusieurs étapes pour faire la migration.
L'auteur explique que l'apprentissage est aussi une finalité de la vie, et pas seulement un moyen utile pour subsister. Par contre, la compétition, la peur d'échouer, etc. peuvent décourager. Il propose donc des moyens pratiques pour faciliter l'apprentissage.
Une belle déclaration d'amour au client HTTP de Symfony :-) Plus sérieusement, l'auteur montre comment s'en servir et quelques cas très intéressants comme des requêtes asynchrones
DarkChyper explique comment utiliser Symfony/Validator pour gérer des règles de validation dynamiques et fonctionnelles, notamment dans un contexte où les contraintes doivent être paramétrables par les utilisateurs (exemple : gestion de salles de répétition pour MusicBox). L’article détaille la création de contraintes personnalisées, l’utilisation du patron Bridge pour séparer abstraction et implémentation, et l’intégration avec une base de données pour stocker les paramètres. Il montre comment étendre le système de validation de Symfony pour permettre aux administrateurs de configurer des règles (délais, limites périodiques, etc.) via une interface, tout en gardant une architecture flexible et maintenable. Le code source et une démo sont disponibles pour illustrer la mise en œuvre. Une approche intéressante pour adapter les validations aux besoins métiers spécifiques sans modifier le code source.