46 liens privés
L'article compare Symfony à un restaurant gastronomique où chaque composant joue un rôle précis, comme une brigade de cuisine bien organisée. Symfony, un framework PHP, facilite le développement en fournissant une structure claire et des outils puissants. Le Kernel gère les requêtes comme un hôte d'accueil, les controllers coordonnent les actions, et Doctrine gère la base de données. Twig transforme les données en HTML, tandis que les composants comme Security et Form assurent l'authentification et la gestion des formulaires. L'Event Dispatcher permet une communication fluide entre les parties de l'application, et le Messenger Component gère les tâches asynchrones. Le Cache Component optimise les performances en stockant temporairement des données. En somme, Symfony offre une solution complète et efficace pour le développement web.
L'article explique Docker et les conteneurs en les comparant à des pancakes. Sans Docker, les applications partagent le même serveur, créant des conflits comme mélanger tous les ingrédients dans une seule cuisine. Docker isole chaque application dans un conteneur, assurant une isolation totale et évitant les conflits. Les images Docker sont des recettes, et les conteneurs des pancakes en cours de cuisson. Docker Compose gère plusieurs conteneurs, les volumes conservent les données, et les réseaux facilitent la communication entre conteneurs. L'article souligne les avantages de Docker pour le déploiement et la gestion des applications.
Cet article explique comment configurer un "git credential helper" OAuth sur Debian et Microsoft WSL pour se connecter à GitLab, évitant ainsi de stocker des mots de passe ou des jetons d'accès personnels. Pour Debian, il utilise git-credential-oauth
, tandis que pour WSL, il utilise le "Git Credential Manager" inclus avec "Git for Windows". Des instructions détaillées sont fournies pour chaque environnement, y compris la configuration pour des instances GitLab auto-hébergées.
L'article explique comment créer un scanner de vulnérabilités réseau simple mais robuste en utilisant le langage Go. Le projet commence par la configuration d'un outil en ligne de commande capable de scanner des hôtes réseau, détecter les ports ouverts, identifier les services en cours d'exécution et découvrir d'éventuelles vulnérabilités. Le scanner évolue avec l'ajout de fonctionnalités comme le scan multithreadé, la détection de services et l'identification des vulnérabilités. L'auteur insiste sur les considérations éthiques et légales du scan réseau et fournit des exemples de code pour chaque étape du développement.
Les attributs PHP, introduits avec PHP 8.0, remplacent les annotations DocBlock par une syntaxe plus propre et officielle, utilisant des crochets. Cela améliore la lisibilité du code et facilite l'intégration avec les outils de développement. Symfony, à partir de la version 5.2, a adopté cette approche pour diverses fonctionnalités comme la définition de routes, la validation d'entités, et la gestion de la sécurité, rendant le code plus moderne et maintenable.
L'article explore le concept d'injection de dépendance dans Symfony. Il explique comment cette technique permet de simplifier le développement en automatisant la gestion des services, rendant le code plus propre et maintenable. L'auteur compare l'injection de dépendance à un assistant personnel qui apporte tout ce dont vous avez besoin sans effort, soulignant les avantages comme l'autowiring, les services tagués, et la facilité des tests unitaires. Il insiste sur l'importance de déléguer ces tâches à Symfony pour se concentrer sur l'essentiel du développement, tout en assurant une meilleure performance et une réduction des erreurs.
Symfony Flex est un outil puissant qui simplifie la gestion des projets Symfony en modifiant les commandes Composer comme require
, update
, et remove
. Il permet d'ajouter de nouvelles fonctionnalités rapidement grâce à des "recipes" qui automatisent la configuration des bundles et des dépendances. Flex optimise également la structure des projets Symfony en ne incluant que les dépendances critiques, ce qui rend les projets plus légers et plus faciles à maintenir. En résumé, Symfony Flex améliore le flux de travail des développeurs en automatisant les tâches courantes et en assurant une configuration cohérente des projets Symfony.
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.