46 liens privés
Les façades de service offrent une alternative à l'injection de dépendances traditionnelle dans Symfony, particulièrement utile pour les utilitaires comme les loggers ou les rapports d'erreurs, où elles simplifient le code et réduisent les instanciations inutiles. Elles sont également efficaces pour les objets paresseux et les situations où l'inversion de contrôle (IoC) est impossible, comme l'instanciation manuelle de classes ou l'utilisation de bibliothèques externes qui ne supportent pas l'IoC.
Les développeurs Symfony sont souvent réticents à l'idée d'utiliser des façades de service, les confondant avec des classes statiques et craignant qu'elles introduisent un état global. Cependant, les façades de service sont en réalité une forme d'injection de dépendances, offrant flexibilité et personnalisation sans ajouter de dépendance supplémentaire au conteneur de services. Elles permettent aux classes d'appeler dynamiquement des services lorsqu'elles en ont besoin, tout en restant liées au framework utilisé.
Ce tutoriel complète une série d'articles sur Proxmox VE 8 en expliquant comment configurer un réseau SDN en mode VXLAN pour des machines distantes sur Internet. L'objectif est de permettre aux machines virtuelles (VM) de communiquer comme si elles étaient sur le même LAN, malgré leur éloignement géographique.
L'auteur utilise WireGuard pour établir un VPN sécurisé entre les serveurs, car VXLAN seul ne chiffre pas les trames. Il détaille les étapes de configuration du VPN et du SDN VXLAN, en insistant sur l'importance de la MTU pour éviter la fragmentation des paquets.
Bien que le DHCP automatique ne soit pas supporté pour les zones VXLAN, l'auteur montre comment créer et appliquer un réseau virtuel, permettant finalement aux VM de se pinguer entre elles.
Dans cet article, Celes explore comment le perfectionnisme peut nuire à votre bien-être et partage son expérience personnelle. Elle identifie 10 signes courants de perfectionnisme, tels que des normes extrêmement élevées, une critique sévère des erreurs, et une attention excessive aux détails. Le perfectionnisme peut mener à la procrastination et à une peur de l'échec, mais il est possible de surmonter ces tendances pour vivre une vie plus équilibrée.
On découvre l'évolution du homelab de l'auteur, de l'utilisation d'un serveur dédié OVH à la création d'un setup organisé avec un rack 10 pouces. Ce parcours inclut l'intégration de Kubernetes, Talos, et diverses machines comme des Raspberry Pi et un Mac Mini, le tout géré efficacement pour héberger des applications quotidiennes.
Ce tutoriel explore des techniques avancées pour personnaliser les styles de listes en CSS, en utilisant notamment les grilles CSS pour une mise en page flexible. Il aborde l'utilisation des attributs de données pour créer des puces personnalisées, les compteurs CSS pour styliser les listes ordonnées, et les variables CSS pour des styles spécifiques à chaque élément de liste. L'article propose également des solutions pour des listes multi-colonnes réactives et introduit l'utilisation du sélecteur ::marker pour un contrôle direct sur les marqueurs de liste.
Dans cet article, Quentin JOLY partage ses expériences et défis rencontrés en activant le chiffrement des OSDs (Object Storage Daemons) avec Rook sur une infrastructure Kubernetes utilisant Talos. Il explique les complexités liées à la gestion des clés de chiffrement et les différences de montage des volumes entre les pods OSD et les CronJobs de rotation des clés. Une solution astucieuse est proposée pour résoudre les problèmes d'accès aux fichiers nécessaires pour la rotation des clés.
Cet article explique comment créer des flux RSS pour des sites web qui n'en proposent pas, en utilisant l'outil open source RSS-Proxy. Les flux RSS permettent de suivre les mises à jour d'un site sans dépendre d'algorithmes ou de plateformes spécifiques. RSS-Proxy analyse la structure HTML d'un site pour générer un flux RSS ou Atom, accessible via n'importe quel lecteur de flux. L'article détaille les étapes d'installation de RSS-Proxy avec Docker et explique comment configurer un réseau pour que le lecteur de flux puisse accéder aux flux générés. Une brève histoire des flux web et des formats RSS, Atom et JSON est également présentée.
Cet article explique comment créer un menu hamburger accessible et fonctionnel sans utiliser JavaScript, en s'appuyant sur l'API Popover. Cette approche permet de garantir une navigation fluide et accessible pour tous les utilisateurs, y compris ceux utilisant des lecteurs d'écran. L'article détaille les étapes pour structurer le menu en HTML sémantique, utiliser les attributs Popover pour gérer l'affichage du menu, et ajouter des attributs ARIA pour améliorer l'accessibilité. Des exemples de code et des conseils pratiques sont fournis pour animer l'ouverture et la fermeture du menu, tout en respectant les bonnes pratiques d'UX.
Cet article explore l'importance de prendre en compte les préférences des utilisateurs en matière d'animations sur les sites web, notamment grâce à la propriété CSS prefers-reduced-motion. Intégrée dans les navigateurs entre 2018 et 2020, cette préférence permet aux utilisateurs de réduire ou de supprimer les animations non essentielles, améliorant ainsi l'accessibilité pour ceux qui peuvent être gênés par les mouvements à l'écran. L'article explique comment utiliser cette propriété en CSS et JavaScript pour adapter les interfaces en fonction des préférences des utilisateurs, tout en fournissant des exemples de code pratiques.
Le legal design est une approche qui applique les principes du design centré sur l'humain pour rendre les systèmes, services et documents juridiques plus compréhensibles et accessibles. L'objectif est de permettre à tous, experts ou non, de mieux comprendre et utiliser les informations légales. L'article explore les enjeux du legal design dans la fonction publique, notamment pour simplifier l'analyse des documents juridiques et adresser des messages clairs à divers profils techniques. Des techniques concrètes sont présentées, comme la structuration de l'information dans les contrats, l'utilisation d'un langage clair et la contextualisation des informations. Plusieurs exemples de projets utilisant le legal design illustrent son impact positif sur la compréhension et l'autonomisation des utilisateurs.
Cet article explique comment établir un rythme vertical harmonieux sur une page web pour améliorer l'expérience utilisateur. En définissant une "unité de rythme" basée sur la taille de la police et la hauteur de ligne, on peut créer des espacements proportionnels et prévisibles. L'auteur propose d'utiliser des multiples de cette unité pour les tailles de titres et autres éléments, facilitant ainsi la lecture et la hiérarchie visuelle. Le sélecteur CSS "hibou lobotomisé" ( + ) et les Custom Properties sont également mis en avant pour automatiser et simplifier la mise en page.
Tout est dans le titre
Cet article détaille une méthode progressive pour implémenter une politique de sécurité de contenu (CSP) sur un site web. La CSP est un en-tête HTTP crucial pour se protéger contre les attaques XSS. L'auteur propose cinq niveaux d'implémentation, allant de la configuration de base à des restrictions avancées, en passant par l'utilisation de Content-Security-Policy-Report-Only pour éviter les blocages intempestifs. Chaque niveau réduit progressivement les risques en restreignant les sources de scripts, styles et autres ressources. L'article insiste sur l'importance de maîtriser son front-end et de collaborer entre équipes pour une mise en œuvre efficace. Des conseils pratiques et des exemples de configurations sont fournis pour chaque étape.
L'article explore le phénomène de la "Tired Generation" en analysant les causes profondes de l'épuisement systémique qui touche de nombreuses personnes aujourd'hui. Il examine comment les pressions modernes, les attentes sociétales et les changements dans le monde du travail contribuent à cette fatigue généralisée. L'autrice propose également des réflexions sur les moyens de surmonter cet état et de retrouver une certaine énergie dans un contexte en constante évolution.
Dans cet article, David Heinemeier Hansson explore le concept de savoir quand abandonner. Il souligne que, bien que notre culture valorise souvent la persévérance et l'idée de "ne jamais abandonner", il est parfois nécessaire de reconnaître quand une idée ou un projet n'a pas le potentiel escompté. Hansson discute des raisons pour lesquelles même les meilleurs investisseurs se trompent souvent, car prédire l'avenir et les disruptions technologiques est extrêmement difficile. Il encourage les lecteurs à évaluer honnêtement leurs efforts et à accepter que parfois, il est plus sage de passer à autre chose plutôt que de s'acharner sur une voie sans issue.
L'article décrit le processus de recréation d'une animation P5.js de Rach Smith en utilisant CSS, en particulier la propriété offset-path
. Initialement, l'auteur a tenté de suivre manuellement les positions et directions de chaque boîte dans l'animation, ce qui s'est avéré complexe. Cependant, il a découvert que l'utilisation de offset-path
avec la fonction inset()
permettait de créer un chemin carré le long duquel les boîtes pouvaient se déplacer en animant les valeurs de offset-distance
. Cette méthode a simplifié le processus et permis de distribuer uniformément les boîtes grâce à des valeurs de animation-delay
calculées proportionnellement. L'article explore également l'utilisation de offset-path
avec d'autres formes comme polygon()
pour créer des animations intéressantes et variées.
En 2025, IPv6 est devenu incontournable avec près de la moitié du trafic internet mondial l'utilisant. Malgré ses avantages techniques (espace d'adressage quasi-infini, sécurité intégrée, efficacité de routage), son adoption reste inégale. Les gouvernements jouent un rôle clé en imposant des mandats d'adoption. Les organisations doivent planifier leur transition pour éviter des coûts croissants et des complications futures
Dans cet article, l'auteur partage ses réflexions sur l'importance des amitiés et des réseaux sociaux, en s'appuyant sur huit livres qu'il a lus dans le cadre de son projet annuel "Foundations". Il explore comment les amitiés influencent notre santé, notre bien-être et même la société dans son ensemble. Young discute des défis liés à la création et au maintien d'amitiés, notamment dans les grandes villes, et propose des stratégies pour améliorer nos compétences sociales. Il souligne également l'importance de la participation communautaire et des interactions sociales pour renforcer la confiance et la cohésion sociale.
L'article présente WebLLM, une technologie développée par l'équipe MLC-AI qui permet d'exécuter des modèles de langage de grande taille (LLMs) directement dans le navigateur, sans infrastructure serveur. En utilisant WebAssembly (WASM) et WebGPU, WebLLM télécharge et stocke localement les modèles, permettant ainsi une utilisation hors ligne après le chargement initial. Cette approche offre des avantages en termes de confidentialité et de sécurité, car les données ne sont pas envoyées à des serveurs distants.