Quotidien Shaarli
April 20, 2025
L'article explique comment contourner les restrictions de sécurité qui bloquent les ports autres que HTTP/HTTPS (80 et 443) en utilisant HAProxy pour encapsuler le trafic SSH dans du SSL. L'auteur propose deux méthodes : la première consiste à rediriger le trafic SSH vers le port 443, et la seconde à encapsuler ce trafic dans du SSL pour tromper les pare-feux intelligents. L'article inclut des configurations détaillées pour HAProxy et des conseils pour sécuriser l'accès SSH
.
L'auteur défend WordPress contre les critiques des développeurs. Il souligne que WordPress alimente 43,4% des sites web mondiaux et est utilisé par de grands acteurs comme la Maison Blanche et TechCrunch. L'article retrace l'histoire de WordPress, de ses débuts en 2003 à son évolution avec des fonctionnalités modernes comme l'éditeur Gutenberg. Il explique les composants clés de WordPress : thèmes, plugins, hooks, et modèle de données. L'article présente également des outils modernes comme Themosis, Bedrock, Sage, WP-CLI, et Timber, qui améliorent le développement WordPress. Enfin, il compare WordPress aux approches full-stack modernes, concluant que WordPress reste un choix pertinent pour de nombreux projets web
.
Les tests d'architecture sont essentiels pour maintenir la cohérence et la maintenabilité d'un projet sur le long terme. Ils permettent de vérifier que le code respecte les règles architecturales définies, assurant ainsi une structure correcte et empêchant les dérives lors de l'ajout de nouvelles fonctionnalités ou de l'intégration de nouveaux développeurs. Ces tests servent également de documentation explicite des règles, facilitant l'intégration des nouveaux membres de l'équipe. Plusieurs outils, comme Deptrac, PHPArkitect, PHPat, et Pest, peuvent être utilisés pour mettre en place ces tests dans l'écosystème PHP, chacun ayant ses propres méthodes de configuration et d'utilisation.
La navigation au clavier est un aspect crucial de la conception web accessible, permettant aux utilisateurs d'interagir avec un site uniquement via le clavier, en utilisant des raccourcis et en sélectionnant des éléments avec les touches Tab et Entrée. Cela rend le site plus accessible aux personnes ayant des troubles moteurs ou visuels, améliore l'efficacité pour tous les utilisateurs et peut éviter des complications légales liées à l'accessibilité. Pour rendre un site navigable au clavier, il est essentiel d'inclure des indicateurs de focus visibles, un ordre de tabulation logique, des liens de navigation rapide et des éléments interactifs accessibles via le clavier. Tester la navigabilité au clavier en utilisant uniquement le clavier permet de s'assurer que le site répond aux normes d'accessibilité.
L'article explique comment déployer un cluster Kubernetes en utilisant Proxmox, OpenTofu, et Talos Linux. Il décrit les étapes pour configurer l'environnement, créer des machines virtuelles, et appliquer les configurations nécessaires pour initialiser le cluster Kubernetes. L'article met en avant les avantages de Talos Linux, un système d'exploitation sécurisé et immuable conçu pour Kubernetes, et montre comment utiliser OpenTofu pour automatiser le processus de déploiement. Il inclut également des exemples de code et des conseils pratiques pour gérer le cluster une fois déployé.
L'article présente Rector, un outil de refactoring automatique pour PHP qui modernise le code, applique les bonnes pratiques et standardise les conventions. Il explique comment configurer et utiliser Rector, en mettant en avant ses avantages en termes de gain de temps, de cohérence et d'apprentissage. L'auteur partage sa configuration personnelle et des conseils pratiques pour intégrer Rector dans les projets, tout en soulignant l'importance de prévenir les erreurs courantes
.
L'article explore des fonctionnalités avancées de Docker souvent méconnues mais puissantes pour améliorer les workflows DevOps et renforcer la sécurité des déploiements.
-
SBOM et l’analyse avec Trivy : Générez des inventaires de composants logiciels (SBOM) et analysez-les avec Trivy pour détecter les vulnérabilités dans vos images Docker.
-
Multi-architecture avec Docker et Buildx : Créez des images Docker compatibles avec plusieurs architectures (AMD, ARM, etc.) en une seule commande grâce à Docker Buildx.
-
Signature des images Docker avec Sigstore : Signez et vérifiez vos images Docker avec Sigstore et Cosign pour garantir leur intégrité et provenance.
-
OCI Registry et ORAS : Utilisez ORAS pour pousser et récupérer des artefacts OCI sur des registries, au-delà des images Docker, pour une gestion standardisée et sécurisée des artefacts.
Ces fonctionnalités montrent l'évolution de Docker vers une plateforme plus sécurisée et flexible, adaptée aux besoins des environnements DevOps modernes.
L'auteur du blog a récemment migré son infrastructure personnelle, composée de quelques machines virtuelles gérées par Ansible, vers un cluster Kubernetes mono-nœud. Il explique que cette transition lui permet de gérer ses applications et leurs dépendances de manière entièrement déclarative, en utilisant des fichiers YAML dans un dépôt Git. Cette approche simplifie la mise à jour et la maintenance des applications, réduisant ainsi le temps et les efforts nécessaires pour gérer son infrastructure. Il mentionne également que Kubernetes offre une meilleure gestion des versions des runtimes et des dépendances, ce qui n'était pas toujours possible avec Ansible. Enfin, il souligne que cette migration a été un succès, lui permettant de gérer ses services de manière plus efficace et automatisée
L'article présente PHP-CS-Fixer, un outil qui standardise le format du code PHP pour assurer la cohérence. Il explique comment configurer et utiliser PHP-CS-Fixer, en mettant en avant ses avantages pour la maintenance du code, les revues de code, et l'intégration de nouveaux développeurs. L'auteur partage des conseils pratiques et des exemples de configuration pour tirer le meilleur parti de cet outil
.
La "Clean Architecture" va bien au-delà d'une simple organisation de fichiers. Bien que souvent représentée par des couches comme Domain, Application, Infrastructure et UserInterface, son principe fondamental réside dans le sens des dépendances, qui doivent toujours pointer vers l'intérieur. Cela signifie que les règles métier (Domain) ne doivent pas dépendre des détails techniques (couches extérieures), permettant ainsi d'isoler la logique métier et de faciliter les tests et les évolutions du code. Cette approche, illustrée par les principes SOLID, favorise la flexibilité et la modularité, rendant le code plus résilient aux changements. Bien que l'arborescence des dossiers soit un outil pratique pour visualiser et organiser le code, l'essentiel est de se concentrer sur l'indépendance des couches métier vis-à-vis des dépendances techniques.