Face à la multiplication des robots d’indexation (notamment ceux des LLM), Bearstech propose plusieurs stratégies pour limiter leur impact : filtrage (via robots.txt, blacklist d’IP ou User-Agents, outils comme Darkvisitor ou Cloudflare), mitigation (rate-limiting avec HAProxy, tests inversés comme Anubis ou Cloudflare Turnstile), délégation (CDN avec WAF comme Cloudflare ou Bunny), et surtout optimisation (cache avec Varnish/Redis, tuning de base de données, tests de charge). Aucune solution n’est universelle : chaque approche a ses avantages (efficacité, simplicité) et inconvénients (maintenance, faux positifs, coût). L’idéal ? Combiner filtrage ciblé, cache agressif et optimisation pour rendre son infrastructure plus résiliente, tout en préservant le référencement et l’expérience utilisateur. Une analyse fine du trafic et des goulets d’étranglement reste indispensable. 🛡️🔍
L’auteur partage son expérience pour monter un home lab ultra-optimisé : deux mini-PC (un GMKtec 5825U avec Ryzen 7 5825U, 64 Go de RAM et un NVMe de 2 To récupéré d’une PS5 pour la virtualisation sous Proxmox, et un Intel N100 pour le firewall OPNsense avec ports SFP 10G), le tout pour moins de 700 €. Objectifs remplis : silence absolu, consommation électrique maîtrisée, et performances au rendez-vous (10 VM simultanées, Jellyfin en 4K, Home Assistant, Bitwarden, etc.). Le tout tient dans une étagère, avec une Freebox Delta en mode bridge pour du 10G, un NAS Qnap pour le stockage, et des switches 2.5G/10G. Un setup malin, évolutif et discret, parfait pour expérimenter (Kubernetes, NixOS…) sans exploser la facture d’électricité ni le budget ! 💡🔌
La réponse réside dans leur structure cristalline et leur composition. Le fer pur et les aciers simples (fer + carbone) adoptent à température ambiante une structure cubique centrée (BCC), dite ferrite, qui est ferromagnétique : leurs atomes s’alignent sous l’effet d’un champ magnétique, rendant le matériau aimantable. En revanche, les aciers inoxydables, riches en chrome et souvent en nickel, peuvent adopter une structure cubique faces centrées (FCC), dite austénite, qui est paramagnétique et donc peu ou pas attirée par un aimant. Le nickel favorise cette structure FCC, tandis que le chrome peut la stabiliser même à température ambiante. Certains inox (comme les séries 304 ou 316) ne sont donc pas aimantables, contrairement à d’autres (comme les séries 410 ou 420), qui conservent une structure ferritique ou martensitique (BCC ou BCT) et restent magnétiques. Tout dépend de la composition et des traitements thermiques ou mécaniques subis par l’alliage. Une astuce pour tester : promenez un aimant chez vous, vous verrez que certaines poignées ou casseroles en inox ne réagissent pas, contrairement à des outils ou des fonds de casseroles en acier classique.
Scott H. Young clôt son année de projet Foundations avec un mois dédié au service, une thématique qui l’a amené à repenser sa philosophie de vie. Bien que ses actions concrètes (dons de sang, dons à des associations recommandées par GiveWell) aient été limitées par les contraintes logistiques du bénévolat, cette période a surtout marqué un changement d’attitude : passer d’une vision où la morale est une contrainte à une vie épanouie, à une approche où l’épanouissement personnel devient une contrainte secondaire au service des autres. Il réalise que, comme pour les autres fondations (fitness, alimentation, etc.), ce sont les changements d’état d’esprit plutôt que les habitudes qui durent. Ce mois lui a aussi permis de comprendre que le bonheur et la satisfaction peuvent émerger davantage d’une vie tournée vers l’impact positif que vers la recherche directe du bien-être. Une réflexion profonde sur l’altruisme et la construction d’une vie significative, avec l’espoir de s’engager davantage à l’avenir.
L’API Platform Conference 2025 célèbre les 10 ans du framework avec des annonces fortes et un double focus : performance extrême et expérience développeur (DX). Côté performance, l’intégration d’extensions PHP écrites en Go (via FrankenPHP) et le support natif de gRPC pour PHP ont volé la vedette, permettant des gains inédits en rapidité et stabilité, comme en témoigne l’adoption par Laravel Cloud. API Platform 4.2 a aussi été dévoilé, avec des outils comme l’ObjectMapper de Symfony pour simplifier la transformation d’objets et des gains de performance multipliés par 2 ou 3.
La deuxième journée a mis l’accent sur la DX : schémas JSON pour la configuration YAML dans Symfony, l’arrivée de PIE (remplaçant moderne de PECL), et des réflexions sur l’Agent Experience (AX) pour mieux collaborer avec les IA. Fabien Potencier a notamment proposé d’ajouter un fichier llms.txt
pour faciliter l’intégration des LLM. Enfin, des conférences sur les feature flags, la contribution au cœur de PHP, et l’histoire des femmes dans la tech ont rappelé l’importance de l’humain et de l’outillage moderne. En résumé, PHP se réinvente comme un écosystème hybride, performant et centré sur les développeurs, invitant à tester FrankenPHP, adopter les nouvelles pratiques DevOps et repenser l’architecture des projets. Une édition résolument tournée vers l’avenir ! 🚀
Paris Web 2025 a marqué les esprits avec une édition placée sous le signe de l’inclusivité, de l’accessibilité, de la diversité et de l’écoconception. Organisée à l’Institut Louis Pasteur, la conférence a proposé des présentations variées, accessibles (LSF, vélotypie) et engagées, mêlant technique, retours d’expérience et réflexion sur les bonnes pratiques du web.
Parmi les temps forts, on retient notamment la conférence d’Agnès Haasser sur le HTTPS et ses enjeux de sécurité, un retour d’expérience percutant d’Anne Faubry et Chloé Corfmat sur l’accessibilité pour les personnes déficientes visuelles (au-delà du RGAA), et une démonstration convaincante des Passkeys par Daniel Garnier-Moiroux. D’autres sujets comme le design validiste, l’Unicode, les Web Components, ou encore l’impact psychosocial de l’IA ont aussi rythmé ces deux jours. L’événement a confirmé son rôle de bulle inspirante et bienveillante pour les passionné·e·s du web, avec des interventions de qualité et une approche résolument humaine et pratique.
L'auteur propose une approche innovante de développement piloté par les spécifications (« spec-driven development ») en utilisant le Markdown comme langage de programmation, avec l’aide d’agents d’IA comme GitHub Copilot. L’idée est de décrire l’intégralité d’une application dans un fichier Markdown (par exemple main.md
), qui sert à la fois de documentation et de spécification technique, puis de laisser l’IA générer le code source (ici en Go) à partir de ce fichier. Le workflow repose sur quatre fichiers clés : un README.md
pour la documentation utilisateur, un main.md
pour la spécification technique (incluant la logique métier, les schémas de base de données, et même des extraits GraphQL), et des prompts (compile.prompt.md
, lint.prompt.md
) pour guider l’IA dans la génération et l’optimisation du code.
L’avantage principal est de centraliser la logique et la documentation en un seul endroit, évitant les incohérences et facilitant les mises à jour. Le développeur édite le Markdown, demande à l’IA de « compiler » la spécification en code, puis teste l’application. Cette méthode permet une itération rapide et une meilleure synchronisation entre la documentation et l’implémentation. Cependant, la compilation peut ralentir à mesure que le projet grandit, et l’approche nécessite une description claire et précise des attentes. L’auteur envisage d’étendre cette méthode à d’autres langages et d’intégrer des tests automatisés. Une expérience prometteuse, surtout avec les progrès des agents IA, mais qui demande une rigueur dans la rédaction des spécifications.
David Larlet donne sa recette du pain. Il n'y a plus qu'à essayer
Thibault Buze explique dans ce troisième volet de Sous le capot du cloud le choix de Proxmox VE comme hyperviseur pour leur cloud interne, après une analyse des besoins clés : haute disponibilité (HA), automatisation, interopérabilité et simplicité d’opération. Parmi les alternatives (vSphere, Hyper-V, OpenStack), Proxmox s’impose pour son approche ouverte (KVM/QEMU, LXC), native HA (migration à chaud, bascule automatique), flexible (stockage iSCSI/NFS/ZFS, intégration TrueNAS) et automatisable (API, Terraform, cloud-init). L’architecture repose sur 3 hôtes minimum, des réseaux dédiés (management, stockage, données) et une intégration fluide avec Kubernetes (via Longhorn). Le tout est industrialisé en Infrastructure as Code (Terraform), garantissant reproductibilité et traçabilité. Points clés : séparation des plans de trafic, sauvegardes testées (Proxmox Backup Server), et monitoring rigoureux. Une solution souveraine, économique et scalable, idéale pour des clusters hébergeant 500 à 2000 pods.
Cet article compare les architectures standalone et haute disponibilité (HA) pour Kubernetes on-premise, en expliquant comment concevoir et opérer un cluster HA. L’article détaille l’importance de redonder les composants critiques (comme l’API Kubernetes) pour éviter les points de défaillance uniques (SPOF), même si cela peut introduire de nouveaux défis (ex. : un load balancer devant les control planes peut lui-même devenir un SPOF). Il présente aussi une solution de stockage HA avec TrueNAS (exposant des volumes bloc via iSCSI) et Longhorn pour orchestrer la réplication, les snapshots et la reconstruction automatique en cas de panne d’un nœud. L’auteur insiste sur la nécessité de bien dimensionner chaque couche (stockage, réseau, contrôle) pour garantir la résilience du cluster, tout en soulignant que la haute disponibilité commence par la redondance du plan de contrôle et une gestion fine des volumes persistants. Le billet s’inscrit dans une série technique explorant les bonnes pratiques pour opérer Kubernetes en production.
Cet article explique pourquoi Kubernetes s’est imposé comme une solution incontournable pour les hébergeurs en 2025, grâce à un trio gagnant : haute disponibilité (HA), scalabilité et observabilité. L’article souligne que Kubernetes permet d’atteindre des niveaux de disponibilité théoriques très élevés (bien au-delà des 99,9 % des anciennes infrastructures VM), grâce à des mécanismes intégrés comme les réplicas, les probes, l’anti-affinity et des plans de contrôle redondants. Les hébergeurs abandonnent progressivement les approches traditionnelles (VM par projet, sur-provisionnement, déploiements manuels via Ansible) pour adopter Kubernetes, qui offre une gestion plus efficace des ressources, des déploiements sans coupure et une meilleure observabilité. L’auteur annonce une série d’articles pour approfondir chaque aspect : haute disponibilité, stockage, load balancing, mises en production fluides, sécurité et gouvernance des coûts, illustrant ainsi la maturité et l’adoption massive de Kubernetes dans le cloud moderne. La disponibilité réelle reste cependant à mesurer en production avec des SLO et une observabilité renforcée.
L'article introduit la commande Linux tc
(traffic control), utilisée pour simuler et contrôler le trafic réseau. L’article montre comment ajouter un délai de 500 ms aux paquets avec tc qdisc add dev wlp3s0 root netem delay 500ms
, puis supprimer cette règle avec tc qdisc del
. L’outil netem
permet aussi de perdre, dupliquer ou corrompre des paquets, idéal pour tester des conditions réseau difficiles. L’autrice mentionne qu’avec un routeur Linux, on peut même ralentir le trafic d’autres utilisateurs (comme celui d’un frère), et invite à explorer tc qdisc show
pour voir les règles actuelles. Le zine complet et d’autres comics sont disponibles via abonnement ou sur le site.
L'article explique comment utiliser la commande ss
(socket statistics) sous Linux pour identifier et gérer les processus utilisant un port réseau. L’article montre comment ss -tunapl
permet de lister les serveurs en cours d’exécution et d’afficher les PID des processus, utile pour libérer un port occupé (comme le 8080). Les options comme -n
(affichage des ports en numérique), -p
(affichage des PID), et d’autres (-l
, -t
, -u
) sont détaillées pour filtrer les sockets TCP, UDP ou Unix. L’autrice recommande ss
plutôt que netstat
, plus ancien et complexe, pour une utilisation plus simple et efficace. Le zine complet et d’autres ressources sont disponibles via abonnement ou sur le site.
Cet article explique la commande Linux ip
, utilisée pour visualiser et modifier la configuration réseau. L’article détaille quelques sous-commandes utiles comme ip addr list
(affiche les adresses IP des interfaces), ip route list
(affiche la table de routage), et montre comment changer une adresse MAC pour contourner des restrictions réseau (par exemple dans les cafés). D’autres options comme ip link
(gestion des interfaces), ip neigh
(table ARP), et ip xfrm
(pour IPsec) sont mentionnées, ainsi que des astuces comme l’utilisation de --color
pour une sortie colorée ou --brief
pour un résumé. Le zine complet et d’autres comics sont disponibles via un abonnement à la newsletter ou sur le site de l’autrice.
Dans ce billet, Lea Verou explore l’idée que le succès d’un produit dépend de la manière dont il gère l’effort demandé à l’utilisateur en fonction de la complexité des cas d’usage. Elle illustre ce principe avec plusieurs exemples : Google Calendar, qui optimise les cas simples tout en permettant les cas complexes avec un effort supplémentaire ; l’élément HTML <video>
, où la personnalisation des contrôles devient soudainement très coûteuse en effort ; l’éditeur Instagram, qui sépare les filtres prédéfinis des réglages avancés ; et Coda, qui intègre intelligemment des formules générées automatiquement pour faciliter la transition entre simplicité et complexité. Elle souligne aussi l’importance de concevoir des interfaces qui minimisent l’effort utilisateur, même si cela complique l’implémentation, comme le montre l’exemple des robinets ou des bornes de train d’Oslo. L’article plaide pour une courbe d’effort progressive, évitant les « falaises d’utilisabilité » où un petit besoin supplémentaire exige un effort démesuré. En résumé, un bon design doit être une « bonne affaire » pour l’utilisateur, pas une arnaque.
Le positionnement par ancre (anchor positioning) est une nouvelle fonctionnalité CSS qui permet de positionner visuellement un élément par rapport à un autre, indépendamment de leur place dans le DOM. Idéal pour les info-bulles, menus contextuels ou modales, il utilise anchor-name
pour définir une ancre et position-anchor
pour l’associer à un élément positionné (en absolute
ou fixed
). Le placement s’effectue via anchor()
ou position-area
, tandis que anchor-size()
permet d’adapter les dimensions de l’élément en fonction de l’ancre. La propriété position-try
gère les débordements en proposant des solutions de repli. Compatible avec les navigateurs modernes, cette technique offre une alternative flexible aux méthodes traditionnelles, tout en nécessitant une attention particulière à l’accessibilité. Des outils comme Anchor Tool et des démos pratiques illustrent son potentiel.
L’article aborde les enjeux d’accessibilité et d’UX liés au défilement horizontal sur le web, un choix de design souvent esthétique mais problématique pour de nombreux utilisateurs (personnes naviguant au clavier, avec des troubles moteurs ou visuels, etc.). Bien que populaire (carrousels, galeries, etc.), ce modèle pose des défis majeurs : contenu manqué, navigation complexe, gestes difficiles, perte de repères, et incompatibilités selon les appareils. Le RGAA et les WCAG encadrent ces pratiques en France, rappelant que l’accessibilité améliore l’expérience pour tous et favorise l’inclusion. Si le défilement horizontal est parfois incontournable, des bonnes pratiques existent (balises ARIA, contrôles clairs, navigation clavier, gestion du focus) pour limiter ses impacts négatifs. L’article conclut en encourageant à privilégier la clarté, la simplicité et l’inclusion plutôt que les tendances visuelles, soulignant que les carrousels, par exemple, sont souvent peu efficaces et mal perçus par les utilisateurs. Une réflexion utile pour repenser les interfaces de manière plus universelle.
Le projet MicroStack, un rack modulaire imprimé en 3D pour organiser des mini-PC en homelab, s’enrichit désormais avec la compatibilité des HP EliteDesk/ProDesk et Lenovo ThinkCentre Tiny, en plus des Dell OptiPlex Micro déjà supportés. L’auteur a répondu aux demandes de la communauté en développant des modules dédiés pour chaque marque, tous inter-compatibles et empilables, permettant de mixer les appareils dans un même rack. La collection comprend aussi des modules de stockage et un "chapeau" pour une finition propre. Le design utilise un motif honeycomb pour une bonne ventilation et il est recommandé d’imprimer en PETG pour une meilleure résistance thermique. Le projet, open source et disponible sur MakerWorld, a reçu un accueil positif, avec des retours d’utilisateurs montrant des installations mixtes. L’auteur invite à proposer d’autres modèles de mini-PC à intégrer et encourage les retours et partages pour faire évoluer le projet.
L’article explique où et comment se procurer de la musique pour alimenter un cloud musical autohébergé, en privilégiant les solutions qui soutiennent directement les artistes. L’auteur recommande Bandcamp pour son approche éthique et ses formats audio libres (FLAC), ainsi que Qobuz pour son catalogue varié, malgré des restrictions techniques. Il mentionne aussi les plateformes de musique libre comme Jamendo et Dogmazic, ainsi que l’achat de CD lors de concerts ou en occasion. En dernier recours, il évoque des solutions alternatives pour les musiques introuvables ailleurs. L’objectif est de minimiser les intermédiaires et de favoriser les artistes, tout en partageant des découvertes et des astuces pour enrichir sa bibliothèque musicale. Une liste de ressources et de plateformes complémentaires est également proposée pour aller plus loin.
Zoxide est un outil moderne qui remplace avantageusement la commande cd
traditionnelle en ligne de commande. Il mémorise les répertoires fréquemment visités et permet d’y accéder rapidement via des raccourcis ou une interface interactive (notamment avec fzf
). Compatible avec Bash, Zsh, Fish et d’autres shells, il s’installe facilement via les dépôts officiels, Cargo ou Homebrew. Une fois configuré (via zoxide init
), il offre des commandes comme z
pour sauter vers un répertoire en quelques caractères, ou zi
pour une sélection interactive. Zoxide se distingue par sa rapidité (écrit en Rust), son algorithme de classement intelligent et son intégration transparente, pouvant même remplacer cd
via un alias ou l’option --cmd cd
. Idéal pour les développeurs ou administrateurs système, il simplifie la navigation dans des arborescences complexes et propose des fonctionnalités avancées comme la gestion manuelle de sa base de données ou des intégrations avec des éditeurs de code. Une alternative performante et maintenue à des outils comme autojump
ou z.sh
.