Hebdomadaire Shaarli

Tous les liens d'un semaine sur une page.

Semaine 39 (September 22, 2025)

Où est-ce que je me procure de la musique pour mon cloud musical ? • FLOZz' Blog

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.

Embracing Design Dialects: Enhancing User Experience

L’article propose une approche innovante des design systems : les considérer comme des langues vivantes, capables de développer des « dialectes » pour s’adapter à des contextes spécifiques sans perdre leur cohérence fondamentale. L’auteur, Michel Ferreira, illustre cette idée avec des exemples concrets, comme l’adaptation du design system Polaris de Shopify pour des utilisateurs en entrepôt (écrans sombres, cibles tactiles agrandies, langage simplifié), ce qui a permis de passer de 0 % à 100 % de réussite des tâches. Plutôt que de chercher une uniformité rigide, il prône une flexibilité structurée via un « Flexibility Framework » (niveaux de personnalisation) et une gouvernance collaborative. L’objectif ? Privilégier l’efficacité utilisateur sur la conformité visuelle, en documentant chaque adaptation et en intégrant les solutions validées dans le système principal. Une lecture essentielle pour repenser les design systems comme des outils évolutifs, au service des besoins réels plutôt que des règles figées.

De la mystification de la Grande Idée

Ploum partage ses réflexions sur la survalorisation des "grandes idées" et la négation de l’expérience dans la création et l’innovation. À travers des exemples tirés du cinéma (Glass Onion), de l’écriture (Bikepunk), de l’architecture ou du développement logiciel, il rappelle qu’une idée seule ne vaut rien : c’est l’accumulation de décisions, d’adaptations et de compromis qui transforme une étincelle en projet abouti. Il critique aussi l’illusion que les IA pourraient remplacer le travail humain, soulignant que l’expérience, la prise de décision et le "panache" sont irremplaçables. Il évoque enfin sa participation au festival Hypermondes à Mérignac, où il côtoiera des auteurs qu’il admire, non pour échanger des idées, mais pour s’imprégner de leurs parcours et de leur créativité. Un plaidoyer pour le travail, l’apprentissage et l’humilité face à la complexité des projets.

Less is safer: how Obsidian reduces the risk of supply chain attacks - Obsidian

Obsidian explique comment ils minimisent les risques d’attaques par la chaîne d’approvisionnement (supply chain attacks) en limitant au maximum ses dépendances externes. L’application privilégie le développement en interne (comme pour les fonctionnalités Bases et Canvas), évite les bibliothèques tierces quand c’est possible, et utilise des versions figées et vérifiées pour les dépendances inévitables (comme Electron ou CodeMirror). Les mises à jour sont rares, méticuleusement testées et espacées dans le temps, avec une revue approfondie des changements et des sous-dépendances. Cette approche réduit la surface d’attaque et permet de détecter rapidement d’éventuels problèmes avant qu’ils n’affectent les utilisateurs. Une stratégie qui combine minimalisme, contrôle strict et prudence pour garantir un environnement sécurisé et privé.

.docker (bis)

Ce billet explique comment résoudre en DNS les noms de conteneurs Docker sous le domaine local .docker en utilisant systemd-resolved plutôt que dnsmasq, une solution plus simple et performante depuis systemd 258. L’auteur utilise toujours dnsdock pour gérer la résolution DNS, mais délègue désormais la zone .docker à ce service via un fichier de configuration /etc/systemd/dns-delegate.d/docker.dns-delegate. Après avoir lancé dnsdock et configuré resolved, il devient possible de résoudre les noms des conteneurs (basés sur leur nom, alias ou étiquettes) directement depuis la machine hôte, facilitant ainsi la gestion de plusieurs services comme PostgreSQL sans conflit de ports. Une mise à jour pratique pour les utilisateurs de Docker et systemd.

Windows : nettoyer le dossier WinSxS sans casser le système

Ce tutoriel explique comment nettoyer en toute sécurité le dossier WinSxS sous Windows 11 (et autres versions), un répertoire système souvent très volumineux mais essentiel au fonctionnement du système. Le dossier WinSxS stocke les composants Windows nécessaires aux mises à jour, à la réparation du système et à la compatibilité des applications. L’article détaille deux méthodes pour réduire sa taille : l’utilisation de l’outil DISM en ligne de commande (avec les options /AnalyzeComponentStore pour analyser l’espace occupable et /StartComponentCleanup pour le nettoyage, éventuellement avec /ResetBase pour un nettoyage plus agressif), et une méthode graphique via les Paramètres Windows (Stockage > Fichiers temporaires > Nettoyage de Windows Update). L’auteur insiste sur l’importance de ne jamais supprimer manuellement ce dossier, au risque de compromettre la stabilité du système. Un nettoyage régulier permet de récupérer plusieurs gigaoctets d’espace disque sans danger.

disk usage

Ce zine explique simplement comment surveiller l’utilisation du disque sous Linux avec des commandes essentielles :
du (avec -s pour un résumé et -h pour des tailles lisibles) permet de connaître l’espace occupé par des fichiers ou dossiers, tandis que df (et son option -h) affiche l’espace disponible sur chaque partition. L’autrice souligne aussi l’importance de df -i pour vérifier la consommation d’inodes, dont l’épuisement empêche la création de nouveaux fichiers. Enfin, elle présente ncdu comme un outil interactif pour visualiser l’espace disque utilisé, et iostat pour analyser les performances de lecture/écriture en temps réel.

Arrêtez de débugger votre code et commencez par débugger votre emploi du temps

L’article partage l’expérience d’un lead développeur qui, submergé par la multiplication des responsabilités, a réalisé que son emploi du temps était aussi mal optimisé qu’un code truffé de bugs. Il propose une méthode inspirée du développement logiciel pour "refactorer" son agenda : diagnostiquer ses tâches (en les listant, évaluant leur importance et leur urgence via une matrice d’Eisenhower adaptée), prioriser en distinguant l’urgent de l’important, et planifier avec le time-blocking (réserver des plages fixes pour les tâches récurrentes et laisser 30% de temps libre pour les imprévus). L’auteur insiste sur l’importance de la weekly review pour ajuster son planning, déléguer davantage (comme en pair programming), et ainsi retrouver du temps pour l’essentiel : développer, faire de la veille, ou animer des ateliers. Une approche pragmatique pour éviter le syndrome de la "fonction qui fait tout" et réduire le stress, avec des outils concrets comme la matrice de priorisation et des créneaux sanctuarisés. À tester surtout quand on passe de dev à lead ou manager !

Premières impressions et installation d'Ubuntu sur le GPD MicroPC 2 • FLOZz' Blog

Flozz partage ses premières impressions et l’installation d’Ubuntu 25.04 sur le GPD MicroPC 2, un mini-PC portable ultra-compact (7", 800 g) équipé d’un Intel N250, 16 Go de RAM et un SSD NVMe de 512 Go. L’auteur, nostalgique des netbooks, apprécie sa polyvalence (mode PC/tablette, écran tactile 1080p, connectique complète : 2x USB-A, 2x USB-C, HDMI, Ethernet, Wi-Fi 6, Bluetooth 5.2) et son format nomade, idéal pour le dépannage ou les déplacements. L’installation d’Ubuntu se passe sans encombre, mais nécessite quelques ajustements : correction des boutons du trackpad via une configuration libinput, réactivation du tactile après veille avec un script systemd, et activation de la rotation automatique de l’écran via une extension GNOME. Le clavier QWERTY, compact et optimisé pour une utilisation à deux mains, est surprenant d’agrément, tandis que l’écran offre une bonne qualité. Seuls bémols : le chargeur fourni (format US + adaptateur encombrant) et l’absence de pilote pour le lecteur d’empreintes. Malgré un prix élevé (425 € + taxes) et quelques réglages logiciels, la machine séduit par sa solidité et sa praticité, notamment en mode tablette.

How to Motivate Yourself To Do A Thing You Don't Want to Do

Se motiver pour une tâche pénible ? (Ashley Janssen)

L’auteure compare cela à son vélo d’appartement détesté : on redoute avant, on est soulagé·e après. Ses astuces :

  • Identifier le blocage (fatigue, peur, ennui) et agir dessus.
  • Rendre la tâche moins désagréable : musique, récompense.
  • Démarrer petit : 5 minutes suffisent souvent à lancer l’élan.
  • Routine > motivation : planifier plutôt qu’attendre l’envie.

"La clé ? Commencer, même mal. Le reste suit."

jessienab/AwesomeListOfMusicRetailers: A collection-in-progress of online stores offering music in high quality, accessible, and permanently ownable formats. This is the Codeberg mirror of upstream. Issues also accepted: git [at] nabein [dot] me. - Codeberg.org

Une liste de sites sur lesquels acheter de la musique en haute qualité

Pourquoi l’IA échoue là où les humains excellent - Agence LVLUP.fr

L’IA excelle dans les tâches complexes et calculatoires (résoudre des équations, analyser des données), mais peine sur ce qui nous semble intuitif : reconnaître une ironie, plier une chemise, ou gérer l’imprévu. Ce paradoxe, identifié par Hans Moravec dès 1980, s’observe aujourd’hui dans l’automatisation du travail :

  • Les métiers cognitifs routiniers (juristes juniors, traducteurs) sont menacés par l’IA, qui prend en charge les tâches répétitives.
  • Les métiers manuels et relationnels (artisans, soignants, éducateurs) résistent, car ils reposent sur l’intuition, la motricité fine et le lien humain.

L’enjeu n’est pas de craindre l’IA, mais de l’utiliser comme une prothèse cognitive : automatiser le répétitif pour se recentrer sur la créativité, l’accompagnement et le sens. La vraie valeur du travail humain se déplace vers ce que les machines ne savent pas faire : interpréter, improviser, créer du lien.

Zoxide : Une alternative intelligente à la commande cd - slash-root.fr

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.

Recreating Gmail’s Google Gemini Animation | CSS-Tricks

John Rhea explique comment il a recréé l’animation du bouton Google Gemini de Gmail en utilisant uniquement du CSS, notamment la fonction shape() et des animations. L’animation originale montre une étoile à quatre branches qui tourne et une forme extérieure se transformant entre plusieurs formes (fleur, cylindre, hexagone, cercle) tout en tournant. Rhea détaille sa méthode : il a dessiné les cinq formes dans un logiciel vectoriel, veillant à ce qu’elles aient le même nombre de points d’ancrage pour permettre une interpolation fluide entre elles. Il a ensuite converti ces formes en syntaxe CSS shape(), défini des variables CSS pour chaque forme, et utilisé des transitions et des @keyframes pour animer la rotation, le changement de couleur et la morphose entre les formes. Le résultat final reproduit fidèlement l’effet visuel du bouton Gmail, avec une approche purement CSS et sans JavaScript. Un projet ludique qui met en lumière les possibilités créatives des nouvelles fonctionnalités CSS.

Ma configuration SSH · Accueil

Rodolphe Breard propose une configuration sécurisée pour OpenSSH, en insistant sur l’utilisation exclusive de l’algorithme Ed25519 pour les clés (serveur et client) et en désactivant RSA et ECDSA, jugés moins sûrs. Pour l’échange de clés, il recommande l’algorithme post-quantique hybride mlkem768x25519-sha256 (basé sur ML-KEM et X25519), disponible depuis OpenSSH 9.9, et suggère de bannir les anciennes versions ne supportant pas ces algorithmes. Côté chiffrement, seuls les algorithmes AEAD (comme chacha20-poly1305@openssh.com ou aes256-gcm@openssh.com) sont conservés, avec des MAC en mode encrypt-then-mac. L’authentification par mot de passe est désactivée, ainsi que les options comme UsePAM, AllowTcpForwarding ou X11Forwarding, tout en limitant les tentatives de connexion et en renforçant les permissions. La configuration est modulaire, avec des fichiers séparés pour les paramètres génériques et les utilisateurs autorisés. Enfin, l’outil ssh-audit est conseillé pour vérifier la robustesse de la configuration. Une approche pragmatique pour se prémunir contre les attaques, y compris celles liées à l’informatique quantique future.

Warpgate : Fini la galère des accès SSH et BDD : J'ai trouvé la perle rare ! 🚀 - Le Geek Heureux

L’article présente Warpgate, un outil open source qui simplifie la gestion des accès sécurisés (SSH, PostgreSQL, MySQL, HTTP) en agissant comme un bastion moderne. Facile à déployer (binaire ou Docker), il centralise l’authentification (avec support SSO), offre une connexion transparente et un audit en temps réel des sessions. L’auteur souligne sa simplicité, sa sécurité renforcée et son interface intuitive, idéale pour remplacer les solutions complexes de machines de rebond. Un exemple de déploiement avec Docker Compose est fourni, illustrant la rapidité de mise en place. Une pépite pour les administrateurs système en quête d’efficacité et de traçabilité.

Ten Books on Doing Good - Scott H Young

Scott H. Young partage une sélection de 10 livres sur l’altruisme et l’impact positif, lus dans le cadre de son projet annuel "Foundations" axé sur le service. Il en tire trois enseignements clés : donner rend plus heureux et en meilleure santé, nous pourrions donner bien plus (surtout face aux inégalités mondiales), et notre générosité pourrait être bien plus efficace. Parmi les ouvrages présentés, Doing Good Better (William MacAskill) plaide pour un altruisme rationnel, Give and Take (Adam Grant) montre que les "donneurs" réussissent souvent mieux à long terme, et What We Owe the Future (MacAskill) interroge notre responsabilité envers les générations futures. D’autres titres explorent la philosophie morale (Reasons and Persons de Derek Parfit), l’empathie (Against Empathie de Paul Bloom), ou la quête de sens (Man’s Search for Meaning de Viktor Frankl). Young souligne aussi les dilemmes persistants : comment équilibrer aide aux proches et aux inconnus, ou aux humains vs. animaux ? Une liste variée, mêlant analyses pratiques et réflexions profondes sur l’éthique et l’action.

unix permissions

Ce zine démystifie les permissions Unix de façon visuelle et accessible : chaque fichier a trois droits (lecture, écriture, exécution) pour trois catégories (utilisateur, groupe, autres), affichables via ls -l. Les permissions sont représentées en binaire (ex. rw- = 110 = 6), ce qui permet d’utiliser chmod 644 pour définir rapidement rw-r--r--. L’autrice explique aussi les bits spéciaux (setuid, setgid, sticky) et leurs effets, comme un exécutable qui s’exécute toujours en tant que root. Pour les dossiers, les droits changent de sens : r permet de lister, w de créer, et x d’y accéder.

ps

Ce zine explique de façon claire et visuelle comment utiliser la commande ps sous Linux pour lister les processus en cours. L’autrice recommande d’utiliser ps aux pour afficher tous les processus avec leur utilisateur, et détaille des options utiles comme w (pour voir les arguments complets des commandes), e (pour afficher les variables d’environnement), ou encore f (pour un arbre ASCII des processus). Elle souligne aussi que ps supporte trois styles d’arguments (UNIX, BSD, GNU), ce qui peut rendre son utilisation un peu déroutante, et propose des astuces comme ps -eo user,pid,wchan,cmd pour personnaliser les colonnes affichées. Enfin, elle rappelle que des outils comme pstree peuvent compléter ps pour visualiser la hiérarchie des processus.

Linking to text fragments with a bookmarklet – alexwlchan

Une bookmarklet pour créer des URLs avec un fragment de texte sélectionné dans la page - pratique pour aller directement à la zone voulue

The “Most Hated” CSS Feature: cos() and sin() | CSS-Tricks

L’article s’intéresse à la fonctionnalité CSS la plus décriée selon le State of CSS 2025 : les fonctions trigonométriques, notamment sin() et cos(). Pourtant, ces fonctions offrent des usages pratiques et créatifs, comme la création de dispositions circulaires (placer des éléments autour d’un cercle), des layouts ondulés (effets de vagues ou entrelacs), ou encore des animations amorties (mouvements réalistes de ressorts ou de pendules). L’auteur explique leur principe via le cercle unité et montre comment les utiliser en CSS pour des effets visuels dynamiques, sans recourir à des valeurs magiques. L’objectif ? Réconcilier les développeurs avec ces outils souvent perçus comme complexes, mais en réalité puissants et accessibles. Une invitation à explorer leur potentiel au-delà des préjugés !

Transcript de ma conférence « Bienvenue dans le Monde Merveilleux des Systèmes Distribués »

Pascal Martin, Principal Engineer et AWS Hero, explique dans cette conférence que les systèmes distribués — ensembles de services communiquant via le réseau — sont omniprésents dans le web moderne, offrant scalabilité, résilience et flexibilité, mais introduisant aussi des défis majeurs : gestion de la cohérence des données, communication complexe entre services, et résilience face aux pannes inévitables. Il aborde des concepts clés comme le partitionnement des données, les compromis du théorème CAP (cohérence, disponibilité, tolérance aux pannes), les patterns Outbox et Saga pour les transactions, et l’importance de limiter le Blast Radius (impact des pannes) via des time-outs, retries intelligents, et une dégradation gracieuse des services. Son message central : tout peut tomber en panne, il faut donc concevoir des architectures résilientes, s’appuyer sur des outils éprouvés, et accepter que les systèmes distribués fonctionnent toujours dans un état "partiellement dégradé". Une conférence essentielle pour comprendre pourquoi et comment construire des systèmes robustes, avec des exemples concrets tirés de sa pratique chez Bedrock et dans le cloud.

The Big Gotcha With @starting-style • Josh W. Comeau

Josh W. Comeau analyse la nouvelle règle CSS @starting-style, qui permet d’utiliser des transitions pour animer l’apparition d’éléments (ex: fondu, déplacement), là où on utilisait avant des @keyframes.

Le piège :
Contrairement aux @keyframes, les styles définis dans @starting-style ne sont pas prioritaires et peuvent être écrasés par des sélecteurs plus spécifiques (ID, styles inline). Résultat : l’animation ne se déclenche pas.

Exemple :
Un bouton génère des particules avec une transition sur transform. Si la position finale est définie en JavaScript (style inline), @starting-style est ignoré.

Solutions :

  • Forcer avec !important (peu maintenable),
  • Utiliser des variables CSS pour égaliser la spécificité,
  • Revenir aux @keyframes, plus simples et compatibles.

Verdict :
@starting-style est pratique, mais les @keyframes restent souvent plus fiables.

Prompts : l'art de s'adapter à chaque IA - Agence LVLUP.fr

Chaque modèle d’IA a ses spécificités : format préféré (XML pour Claude, Markdown pour GPT), sensibilité à la position des informations (les modèles retiennent mieux le début et la fin d’un texte), et une « personnalité » propre (prudence, concision, etc.). Plutôt que de forcer un modèle à sortir de ses biais, mieux vaut adapter ses prompts à ses particularités. Une approche qui optimise performance, coût et conformité, et transforme l’interaction avec l’IA en un véritable artisanat.

Brains Get Tired Too – Climb to the Stars

L’autrice partage une réflexion sur la fatigue cognitive, souvent négligée contrairement à la fatigue physique. Elle explique comment, après un accident, elle a pris conscience que le cerveau, comme le corps, peut s’épuiser à force d’être sollicité sans relâche, surtout lorsqu’on compense des difficultés invisibles (comme son ADHD et sa surdité). Elle réalise que ses efforts constants pour suivre les conversations ou gérer le quotidien ont un coût, et que la surcharge cognitive chronique peut aggraver les conséquences d’un traumatisme crânien ou d’autres problèmes de santé. Elle évoque la nécessité de mieux gérer son « budget cérébral », en apprenant à relâcher la pression et à prioriser ses efforts, tout comme on le ferait pour préserver son corps. Une prise de conscience qui l’amène à repenser son rapport au travail et à l’effort mental.

Building Powerful APIs in Symfony: A Complete Guide for Modern Frontend Integration - DEV Community

Cet article explique comment construire une API puissante avec Symfony et l’intégrer à une application frontend moderne (comme React). L’article détaille les étapes clés : installation de Symfony 7.3, création d’un endpoint API simple retournant des données JSON (ici, une liste de produits), puis développement d’une application React avec Vite pour consommer ces données. Il aborde aussi la gestion des problèmes CORS via un proxy de développement et souligne l’importance d’une architecture API-first. Des statistiques récentes (2024) et des conseils pratiques (comme l’utilisation de Swagger pour la documentation) complètent le guide, qui se veut accessible même pour les débutants. L’auteur encourage à passer ensuite à une API dynamique avec Doctrine et MySQL. Idéal pour ceux qui veulent démarrer rapidement avec Symfony et React.

From Prompt To Partner: Designing Your Custom AI Assistant — Smashing Magazine

L’article explique comment transformer des prompts AI efficaces en assistants personnalisés et réutilisables, évitant ainsi de retaper ou copier-coller les mêmes instructions. L’auteur présente les avantages des assistants AI sur mesure (comme les CustomGPTs, Agents ou Gems) : gain de temps, cohérence, adaptation au contexte spécifique d’une équipe, et capitalisation de l’expertise. Il détaille aussi quand ne pas en créer (tâches ponctuelles, données sensibles, processus complexes, etc.).

Le processus MATCH (Map, Add knowledge, Tailor, Check, Hand off) est proposé pour concevoir un assistant, illustré par l’exemple d’un outil analysant des retours clients. L’article souligne l’importance de partir des besoins utilisateurs, d’ajouter des fichiers de connaissance, et de tester rigoureusement. Enfin, il encourage à créer ses propres assistants plutôt que d’utiliser des modèles publics, pour une meilleure adéquation avec ses workflows et son ton. Une lecture utile pour les équipes souhaitant optimiser leur usage de l’IA au quotidien.

Why we committed to a zero-bugs policy - Linear Now

Linear explique dans cet article pourquoi l’entreprise a adopté une politique « zéro bug » : chaque bug signalé est corrigé rapidement (sous 48h pour les priorités hautes, 7 jours pour les autres), sans accumulation dans un backlog. L’idée est née après qu’un bug signalé dans une autre application ait mis cinq ans à être résolu, illustrant l’inutilité de faire attendre les utilisateurs. Pour y parvenir, Linear a d’abord nettoyé son backlog existant (175 bugs en trois semaines), puis mis en place des processus stricts : chaque bug est soit corrigé immédiatement, soit marqué comme « ne sera pas corrigé ». Un tableau de bord permet de suivre les bugs ouverts et de rééquilibrer la charge entre les équipes. Cette approche améliore la qualité du produit, renforce la confiance des utilisateurs (qui voient leurs signalements résolus en un temps record) et influence la culture d’ingénierie, incitant à éviter les bugs dès le développement. Résultat : plus de 2 000 bugs corrigés en un an, et une relation client transformée en collaboration positive. Une politique devenue une valeur centrale, que personne ne souhaite abandonner.

WordPress + MariaDB + Traefik + Réseaux séparés = Duplication - Aukfood

Cet article explique comment configurer WordPress avec MariaDB et Traefik en utilisant des réseaux Docker séparés pour améliorer la sécurité et faciliter la duplication de sites. L’article détaille la création d’une architecture où chaque site WordPress et sa base de données sont isolés dans leur propre réseau privé, inaccessible depuis internet, tandis que Traefik gère le routage et les certificats SSL automatiquement via Let’s Encrypt. Le tutoriel propose une configuration étape par étape : installation de Traefik avec SSL, création de réseaux Docker dédiés, déploiement d’un premier site WordPress, puis duplication aisée pour ajouter d’autres sites. Les avantages soulignés sont la sécurité renforcée, la simplicité de gestion et la possibilité d’ajouter facilement de nouveaux sites. L’auteur évoque aussi des pistes d’amélioration, comme l’automatisation des sauvegardes des bases de données. Idéal pour qui veut héberger plusieurs sites WordPress de manière sécurisée et scalable.

Comment faire une auto-complétion d'adresse self-hosted ?

Ludovic Frank explique comment éviter les coûts imprévisibles des services comme Google Maps ou Mapbox en utilisant des solutions open source auto-hébergées. Après avoir testé Photon, jugé peu performant pour les adresses françaises, il recommande Addok, bien plus efficace pour la France. Le tutoriel détaille l’installation via Docker, propose un contrôleur Stimulus pour l’intégration front, et montre comment remplir automatiquement les champs d’adresse (rue, code postal, ville) à partir d’une base de données locale. Une alternative économique et maîtrisée, idéale pour les projets freemium ou sensibles aux coûts.

Contrôleurs Stimulus pour vos app Rails et Symfony

Ludovic Frank partage plusieurs contrôleurs Stimulus prêts à l’emploi, utilisables aussi bien avec Symfony (via Symfony-UX) qu’avec Ruby on Rails. L’article détaille comment charger ces contrôleurs de manière asynchrone pour optimiser les performances, et propose des exemples concrets : un bouton qui se cache lors de la navigation dans une Turbo Frame, un accordéon avec DaisyUI, une intégration de carte OpenFreeMap (LFMaps) chargée à la demande, et une mise à jour du contrôleur intl-tel-input pour la gestion des numéros de téléphone internationaux. Il souligne aussi l’intérêt de la stack Hotwired (Stimulus + Turbo), commune aux deux frameworks, et mentionne la bibliothèque Stimulus Components pour des composants supplémentaires. Une ressource utile pour enrichir rapidement le front-end de vos applications

How to Log Every API Call Without Slowing Down Your Server | by Arunangshu Das | Aug, 2025 | Medium

Logger chaque appel API est essentiel pour le débogage, l’audit et la conformité, mais une mauvaise implémentation peut dégrader les performances (blocage de l’event loop, saturation du disque, latence réseau). La règle d’or : ne jamais faire attendre la réponse API par l’écriture des logs. Pour y parvenir, privilégiez un logger asynchrone (comme Pino), bufferisez les logs en mémoire avant de les flusher par lots, et externalisez leur traitement via des workers ou des files de messages (Redis, Kafka). Masquez les données sensibles, surveillez l’impact sur les performances, et archivez les logs régulièrement. En production, une architecture distribuée (ex : logs envoyés à Kafka puis traités par ELK) permet de scalabiliser sans impact sur les temps de réponse. L’objectif : capturer les infos clés (timestamp, méthode, URL, statut, latence, utilisateur) sans alourdir le traitement des requêtes.

Les sélecteurs CSS :is, :not, :where et :has : Explications et exemples par la pratique.

Ce tutoriel explique l’utilité des pseudo-classes fonctionnelles en CSS pour cibler des éléments de manière plus efficace et lisible :

  • :is() : Permet de regrouper plusieurs sélecteurs (logique OU) pour appliquer les mêmes styles, réduisant la redondance.
    Exemple : :is(h1, h2, h3) { color: [#333](./add-tag/333); }

  • :not() : Exclut un élément d’une sélection, utile pour appliquer des styles à tous sauf à quelques exceptions.
    Exemple : li:not(:last-child) { border-bottom: 1px solid [#ccc](./add-tag/ccc); }

  • :where() : Similaire à :is(), mais avec une spécificité nulle, idéal pour des styles de base facilement surchargeables.
    Exemple : :where(header, main, footer) { margin: 1rem 0; }

  • :has() : Cible un élément parent en fonction de ses descendants, une nouveauté puissante pour des sélections contextuelles.
    Exemple : article:has(img) { border: 2px solid red; }

Ces sélecteurs améliorent la concision et la maintenabilité du code CSS.

Ambient Animations In Web Design: Principles And Implementation (Part 1) — Smashing Magazine

Dans cet article, Andy Clarke explore le concept d’animations ambiantes : des mouvements subtils et lents qui apportent de la vie à un design sans distraire l’utilisateur. Contrairement aux animations interactives ou narratives, les animations ambiantes se fondent dans l’arrière-plan, créant une atmosphère discrète mais immersive. Clarke illustre son propos en transformant une couverture de comic book statique en une animation CSS/SVG où les éléments (plumes, fumée, expressions) s’animent de manière naturelle et presque imperceptible. L’objectif ? Renforcer la personnalité d’une marque ou d’un projet sans nuire à l’expérience utilisateur, en privilégiant des transitions douces, des boucles fluides et une approche minimaliste.

L’auteur partage des conseils pratiques : privilégier les éléments qui bougeraient naturellement (feuilles, fumée, ombres), éviter les mouvements brusques, et respecter les préférences utilisateur (comme le mode prefers-reduced-motion). Il insiste sur l’importance de la modération et de la performance, en utilisant des SVG bien structurés et du CSS optimisé. Un exemple concret et un démo CodePen accompagnent l’article, montrant comment ces micro-interactions, bien dosées, ajoutent de la profondeur et du charme à un design.

How to Decrypt and Mount a BitLocker Partition on Linux

Ce guide explique comment monter une partition Windows chiffrée avec BitLocker sous Linux, en utilisant Dislocker ou Cryptsetup. Idéal pour les dual-boot ou la récupération de données.

🔹 Outils : dislocker, cryptsetup, ntfs-3g
🔹 Astuce : Désactiver le Fast Startup de Windows pour éviter les problèmes.
🔹 Alternative : Utiliser cryptsetup (depuis la v2.3.0) si Dislocker pose problème.