Hebdomadaire Shaarli

Tous les liens d'un semaine sur une page.

Semaine 16 (April 14, 2025)

SSH over Openssl over Haproxy - - contourner les blocages · Blog de Victor Héry

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
.

WordPress : champion du web, souffre-douleur des devs  • Lecodeestdanslepre

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
.

Un projet cohérent sur le long terme grâce aux tests d'architecture

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.

What Does It Really Mean For A Site To Be Keyboard Navigable — Smashing Magazine

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é.

DevoxxFR - Récap du jeudi (jour 2)

Après une soirée tardive, l'auteur a eu du mal à se lever et a manqué la première keynote du jour 2. Il a assisté à une présentation sur l'attaque xz utils et a lui-même donné un talk sur Kubernetes. Il a raté un talk sur TDD et IA, mais a assisté à une conférence sur les problématiques produit dans les grandes entreprises tech. Il a également participé à un quiz sur les conteneurs, manqué un talk sur Infisical, et assisté à un panel de staff engineers. Tout au long de la journée, il a eu des discussions enrichissantes avec diverses personnes, ce qui l'a empêché d'assister à tous les talks prévus.

systemctl: The Complete Guide to Managing Linux Services | Last9

L'article est un guide complet sur l'utilisation de la commande systemctl : une interface qui permet de gérer les services sous Linux. L'auteur présente les commandes principales, comment définir des services SystemD, des bonnes pratiques, y compris en sécurité, etc.

Bac à sable Kubernetes multi-node avec Docker Desktop - Aukfood

L'auteur montre comment utiliser Docker Desktop sous Windows pour déployer un bac à sable Kubernetes

Comment implémenter OAuth2 dans Symfony ?

L'auteur explique brièvement ce qu'est OAuth2, puis détaille par étape comment l'implémenter dans Symfony.

À la recherche de l’attention perdue

Ploum met en lumière les dangers de l'incapacité à maintenir son attention (exemple du haut responsable américain qui invite un journaliste par erreur), les dangers de l'addiction aux réseaux sociaux pour les politiciens et les dangers de l'utilisation de ChatGPT pour masquer son incompétence en entretien d'embauche... alors que celle-ci sera nécessairement révélée dès les premiers jours du travail. Il appelle à une meilleure éducation pour éviter ces écueils et à soutenir la génération suivante, qui montre un désir d'apprendre et de s'engager.

Microservices ate my application - an adoption anti-pattern

L'auteur a nommé son article en référence à l'excuse improbable du "chien qui a mangé mon travail" :) L'architecture en micro-services n'est pas responsable de problèmes, mais les mauvaises décisions si ! L'auteur donne quelques pistes pour repérer les problèmes, et surtout comment s'en prémunir.

Proxmox, OpenTofu et Talos, Kubernetes as code

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é.

Rector : le sergent-instructeur de votre code qui n'a pas le temps pour vos conneries  • Lecodeestdanslepre

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
.

4 Fonctionnalités Docker que vous n'utilisez (probablement) pas assez !

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.

  1. 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.

  2. 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.

  3. Signature des images Docker avec Sigstore : Signez et vérifiez vos images Docker avec Sigstore et Cosign pour garantir leur intégrité et provenance.

  4. 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.

What are the best private browsers in 2025?

Un comparatif des navigateurs (desktop, mobile) sur le respect de la vie privée

DevoxxFR - Récap du vendredi (jour 3)

Le jour 3 a commencé par une keynote sur l'informatique quantique par Fanny Bouton d'OVHcloud, qui a expliqué que la suprématie quantique n'est pas attendue avant 15 à 30 ans. Elle a souligné l'importance de la formation et l'existence de six types d'ordinateurs quantiques en France. Ensuite, Thibaut Giraud a discuté des capacités des LLM (Large Language Models), notamment leur compréhension limitée mais non nulle. Laetitia Avrot a présenté des fonctionnalités méconnues de PostgreSQL à travers une mise en scène claire et amusante. L'auteur a manqué une session sur les tests de charge mais a participé à "Speechless", un exercice d'improvisation. L'après-midi a été écourtée par un départ anticipé, mais il a eu des discussions enrichissantes et a remercié l'équipe d'organisation et les sponsors.

[Anubis] Utiliser la preuve de travail pour bloquer les robots · Pofilo.fr

L'auteur montre l'installation d'Anubis pour bloquer les robots des entreprises IA. Il utilise Traefik comme reverse proxy.

GoToSocial : un serveur ActivityPub

L'auteur explique comment installer GoToSocial, un serveur ActivityPub en Go bien plus léger qu'un serveur Mastodon classique.

The Best Programmers I Know | Matthias Endler

L'article explore les traits communs des meilleurs développeurs. L'auteur souligne l'importance de lire la documentation officielle, de maîtriser ses outils, et de comprendre les messages d'erreur. Il met également en avant la capacité à décomposer les problèmes, à ne pas hésiter à se plonger dans le code, et à toujours aider les autres. Enfin, il insiste sur l'importance de l'écriture, de l'apprentissage continu, et de la patience dans le développement logiciel.

Saying bye to 4px spacing and hello to Fibonacci | by Luis Ouriach | Mar, 2025 | Medium

Luis Ouriach propose de remplacer le système d'espacement de 4px par la suite de Fibonacci. Il critique la monotonie et le manque de précision des espacements basés sur des multiples de 4, suggérant que l'utilisation de nombres impairs pourrait améliorer l'apparence des composants. Il illustre cette idée avec des exemples de composants et de polices, montrant que les espacements impairs peuvent offrir un rendu plus serré et harmonieux. Enfin, il introduit la suite de Fibonacci comme une méthode systématique pour gérer les espacements de manière plus naturelle et esthétique.

JavaScript best practice: use return await - Advanced Web Machinery

L'auteur explique pourquoi c'est une bonne pratique

Moving my personal infrastructure to Kubernetes · Stan's blog

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

PHP-CS-Fixer : le tyran du format qui va te faire aimer la discipline  • Lecodeestdanslepre

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", bien plus qu'une arborescence de fichier

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.

Nginx Logging: A Complete Guide for Beginners | Last9

Cet article explique comment configurer, gérer et optimiser les journaux Nginx pour améliorer le débogage, la surveillance et les performances des applications. Les journaux Nginx, essentiels pour diagnostiquer les problèmes, se trouvent par défaut dans /var/log/nginx/ sur la plupart des systèmes Linux. Le guide détaille comment localiser, personnaliser et organiser ces journaux, propose des formats de logs avancés pour le débogage, et offre des techniques pratiques d'analyse avec des outils comme grep, awk et GoAccess. Il aborde également la rotation des logs pour éviter la saturation des disques et résout des problèmes courants comme les logs non écrits ou les formats incorrects. Enfin, il présente des techniques avancées telles que le logging en JSON et l'envoi des logs à syslog pour des configurations plus complexes.

DevoxxFR - Récap du mercredi (jour 1)

Les conférences :

  1. L’IA n’existe pas : Luc Julia a critiqué l'idée de révolution de l'IA, soulignant son évolution continue et le rôle crucial des humains derrière les technologies.
  2. Github Copilot : Kim-Adeline Miguel et Sandra Parlant ont démontré les nouvelles fonctionnalités de Github Copilot, notamment le chat immersif et les revues de code automatisées.
  3. Ne perdez plus vos photos de vacances (ou tout autre fichier important) : J'ai présenté des stratégies pour sauvegarder et protéger les fichiers importants, recevant des retours positifs et des suggestions pertinentes.
  4. Comment nous avons transformé les Restos du Coeur en Cloud Provider : Julien Briault et Stéphane Trognon ont partagé la transformation des Restos du Coeur en fournisseur de cloud grâce à OpenStack et Kubernetes, réduisant les coûts et améliorant l'efficacité.
  5. Ça marche dans mon .devcontainer : Benoit Moussaud a présenté les avantages des environnements de développement en conteneurs, soulignant leur utilité pour l'onboarding et la gestion des versions.
  6. Burrito est un TACoS : une alternative open-source à Terraform Cloud : Luca et Lucas ont introduit Burrito, une alternative open-source à Terraform Cloud, qui améliore la gestion de l'infrastructure as code avec des fonctionnalités avancées.
Les Controllers Symfony : quand la complexité rencontre l'élégance  • Lecodeestdanslepre

L'article explore l'utilisation du pattern ADR (Action-Domain-Responder) dans Symfony, en remplacement du traditionnel MVC (Model-View-Controller). L'auteur présente une approche où chaque contrôleur, nommé avec le suffixe "Action", est responsable d'une seule tâche, utilisant la méthode __invoke() pour simplifier le routage et le rendu des templates. Cette méthode, bien que complexe à mettre en place, offre une organisation claire et une génération d'URLs simplifiée dans Twig.

Self Hosting Like Its 2025 ::

L'article explore les tendances actuelles en matière d'auto-hébergement, en mettant l'accent sur l'utilisation des conteneurs et des outils de gestion associés. L'auteur partage son expérience avec diverses solutions comme Docker, Podman, et Kubernetes, ainsi que des interfaces web telles que Portainer et Dockge pour gérer les conteneurs, et des outils comme Pangolin et Nginx Proxy Manager pour les proxys inverses et VPN.