Hebdomadaire Shaarli

Tous les liens d'un semaine sur une page.

Semaine 21 (May 19, 2025)

A Pragmatic guide to SOLID principles in Symfony | by Roman Huliak | May, 2025 | Medium

L'article explore comment appliquer les principes SOLID dans le cadre du développement avec Symfony. Voici un aperçu des points clés abordés :

  1. Single Responsibility Principle (SRP) : L'article explique comment structurer les classes dans Symfony pour qu'elles aient une seule responsabilité, facilitant ainsi la maintenance et les tests.

  2. Open/Closed Principle (OCP) : Il montre comment concevoir des composants Symfony qui sont ouverts à l'extension mais fermés à la modification, en utilisant des techniques comme l'héritage et les interfaces.

  3. Liskov Substitution Principle (LSP) : L'article discute de l'importance de s'assurer que les objets des sous-classes peuvent remplacer ceux des classes de base sans affecter le comportement du programme, un concept crucial pour la réutilisabilité du code.

  4. Interface Segregation Principle (ISP) : Il met en avant l'avantage d'utiliser plusieurs interfaces spécifiques plutôt qu'une seule interface générale, permettant aux classes de n'implémenter que les méthodes nécessaires.

  5. Dependency Inversion Principle (DIP) : L'article souligne l'importance de dépendre des abstractions plutôt que des implémentations concrètes, en utilisant l'injection de dépendances et les interfaces pour rendre le code plus flexible et réutilisable.

En appliquant ces principes, les développeurs peuvent créer des applications Symfony plus robustes, maintenables et évolutives. L'article fournit des exemples pratiques et des conseils pour intégrer ces principes dans les projets Symfony.

Deploy Symfony Projects with Gitlab CI/CD | by Konstantin Bogomolov | May, 2025 | Medium

L'article explique comment déployer un projet Symfony en utilisant la pipeline CI/CD de Gitlab. Il donne aussi quelques conseils et bonnes pratiques

Récuperer les bases de données de feu mon cluster k3s, sans backup – Le blog de Seboss666

L'article présente une méthode pour restaurer des données critiques d'un cluster k3s après une défaillance, sans disposer de sauvegardes préalables. L'auteur détaille les étapes pour accéder aux volumes persistants via un autre cluster fonctionnel, en utilisant des outils comme kubectl et rsync. Il insiste sur la nécessité d'une bonne gestion des volumes persistants et de la mise en place de sauvegardes régulières pour éviter de telles situations.

Anubis [Wiki de sebsauvage.net]

Un très bon tutoriel pour l’installation d’Anubis

PostgreSQL pour remplacer Redis · Accueil

En 2024, Redis a changé de licence, incitant l'auteur à explorer PostgreSQL comme alternative pour gérer des données volatiles, offrant une meilleure organisation des données et simplifiant la stack technique. PostgreSQL permet de structurer les données de manière plus élégante grâce à l'héritage de tables et gère l'expiration des données via des requêtes planifiées, bien que cela nécessite une gestion manuelle. Bien que Redis soit plus performant, PostgreSQL, avec des tables UNLOGGED, offre des performances suffisantes pour la plupart des applications, tout en simplifiant l'infrastructure et en évitant les problèmes de licence.

How to Build Scalable Web Apps with React JS — SitePoint

La scalabilité est essentielle pour la survie des applications, permettant de gérer plus d'utilisateurs, de données ou de fonctionnalités sans dégradation des performances. React, avec son architecture basée sur les composants, le Virtual DOM et un flux de données unidirectionnel, offre une base solide pour construire des applications web évolutives. L'article présente les meilleures pratiques pour des applications React évolutives : l'optimisation de la taille des bundles avec le code splitting et le lazy loading, une gestion efficace de l'état, et l'utilisation de composants et de hooks personnalisés.

Monotoring Your Symfony App using Datadog ? Nope Let’s use Sentry ^_^ | by Lionel Owono | May, 2025 | Medium

L'article explique l'intérêt de mettre en place l'observabilité, et il montre comment le faire pour une application Symfony en utilisant Sentry.

Enhance your Symfony application README in 30 seconds | by Tac Tacelosky | May, 2025 | Medium

L'auteur présente un utilitaire qui permet de générer un diagramme de classes Doctrine à inclure dans le README.

Ma migration de Grub 1 vers Grub 2 // /home/lord

L'article explique comment migrer d'un système utilisant GRUB Legacy vers GRUB2, le chargeur d'amorçage moderne. Il détaille les étapes nécessaires, notamment l'installation de GRUB2, la mise à jour du fichier de configuration et l'installation du chargeur d'amorçage sur le MBR. L'auteur met également en garde contre les erreurs courantes et fournit des conseils pour éviter les problèmes lors de la migration.

Ma configuration Tmux: raccourcis clavier et gestion des sessions

L'auteur commence par expliquer pourquoi il a choisi Tmux. Ensuite, il détaille sa configuration et donne les raisons de ses choix.

Passwords are okay, impulsive Internet isn't

L'article critique l'adoption des "passkeys" comme alternative aux mots de passe, soulignant les problèmes liés à la dépendance envers les grandes entreprises, les implémentations propriétaires complexes et la nécessité d'utiliser des smartphones. Il met en garde contre les risques pour la vie privée et la liberté, tout en remettant en question l'efficacité réelle des passkeys pour améliorer la sécurité.

Logs serveur Linux : guide complet pour surveiller le démarrage et les connexions

L'article explique comment surveiller les logs sur un serveur Linux pour améliorer la sécurité et diagnostiquer les problèmes. Il détaille l'emplacement des fichiers de logs dans /var/log et l'utilisation d'outils comme journalctl pour analyser les logs de démarrage et de connexion. Il aborde également la configuration de la rotation des logs via /etc/logrotate.conf.

How I Set Up New MacBooks

L'auteur détaille son processus d'installation pour ses machines sous MacOS :

  • utilisation d'un fichier Brewfile pour installer des outils avec Homebrew
  • définition de paramètres par défaut (en utilisant la ligne de commande)
  • installation de plugins Zsh et définition d'alias
DaisyUI 5 avec Symfony 6/7 - DEV Community

L'article explique comment installer DaisyUI dans un projet Symfony en utilisant le composant AssetMapper. Il montre aussi comment choisir la version de Tailwind (version 4)

Requêtes HTTP asynchrone avec Symfony - Victor Prudhomme

Lorsque vous avez plusieurs requêtes HTTP à lancer dans une application Symfony, vous pouvez le faire de manière séquentielle (donc lent) ou les paralléliser si vos appels sont indépendants. C'est ce que permet HttpClient via la méthode stream.

You can style alt text like any other text | CSS-Tricks

Une astuce pour donner du style au texte alternatif des images - pratique si celles ci ne se chargent pas

Ubuntu 24 desktop : intégration avec un AD (ou LDAP)

L'article explore les défis et solutions pour intégrer Ubuntu dans des environnements Microsoft, notamment via l'Active Directory. Il détaille les étapes de configuration, les outils nécessaires et les bonnes pratiques pour assurer une interopérabilité optimale. L'auteur met en lumière les obstacles courants, tels que les problèmes de compatibilité ou de sécurité, et propose des solutions adaptées.

Design System In 90 Days — Smashing Magazine

L'article propose une approche pragmatique pour mettre en place un design system en trois mois. Il s'appuie sur des outils concrets comme le Design System in 90 Days Canvas de Dan Mall, un modèle FigJam qui aide à structurer les discussions avec les parties prenantes, identifier les composants clés et évaluer les besoins des équipes. L'article présente également des ressources pratiques telles que les Design System Tactics de Ness Grixti et une checklist PDF de Nathan Curtis pour guider les ateliers d'équipe. Une lecture utile pour toute organisation souhaitant lancer ou améliorer son design system de manière structurée et collaborative.