Gee critique, sous forme de BD satirique, les raisonnements qui proposent des solutions individuelles à des problèmes structurels. Il illustre notamment son propos avec la formation professionnelle, les bas salaires et les arrêts maladie, en montrant que des mesures présentées comme pragmatiques peuvent produire des effets opposés à l’échelle collective. Le billet vise plus largement l’incapacité supposée des décideurs économiques à raisonner en termes systémiques et macroéconomiques.
Un script Python de veille en lecture seule surveille deux fois par jour un serveur Linux et ses conteneurs Docker, sans appliquer automatiquement de mise à jour. Il contrôle APT, les images Docker, WordPress, les sauvegardes et systemd, n’alerte qu’en cas de changement et évite les doublons grâce à une empreinte SHA-256. L’article détaille aussi trois pièges rencontrés : le coût caché de docker ps --format '{{json .}}', les CVE manquées dans les dépôts tiers et une syntaxe OnCalendar systemd trompeuse.
Retour d’expérience sur la modernisation en deux jours d’une application Node.js/Express vieille de dix ans avec Kiro et AWS Transform Custom. L’équipe automatise l’analyse du code, la montée de Node.js 14 à 22, la correction de failles, la migration MD5 vers bcrypt, le passage à async/await, la conteneurisation et l’infrastructure Terraform. Le bilan met en avant une forte réduction du coût et du délai, tout en conservant validation humaine, traçabilité et documentation.
Retour sur la deuxième journée de ParisWeb 2026 autour de l’accessibilité, du design et des pratiques de développement. Les conférences abordent le coût réel de l’accessibilité, les effets de standardisation des design systems, l’usage de la méthode scientifique pour diagnostiquer les bugs et les apports de l’IA pour compenser certains handicaps. Le fil conducteur : inscrire l’accessibilité dans la durée par la formation, la mesure des progrès et une responsabilité partagée.
Retour sur la première partie de ParisWeb 2026, centrée sur un Web plus inclusif et responsable : prise en compte des différences culturelles dès la conception, évolution du RGAA vers WCAG 2.2 et extension aux applications mobiles et documents, bonnes pratiques CSS pour la typographie, mais aussi réflexion sur les exclusions systémiques que la seule conformité technique ne suffit pas à corriger. L’ensemble rappelle que l’accessibilité suppose autant des choix techniques que de l’attention aux usages réels.
Lea Verou propose de traiter les icônes d’interface comme des design tokens gérés en CSS, plutôt que de multiplier les SVG inline dans le HTML. Son approche repose sur des variables personnalisées, des pseudo-éléments et des masques CSS, avec des propriétés comme --icon, --icon-start ou --icon-end. Elle met en avant une meilleure cohérence, moins de boilerplate, des adaptations réactives aux états, thèmes et media queries, tout en conservant une solution de repli pour les navigateurs plus anciens.
Sous Ubuntu 26.04, le profil AppArmor de wg-quick peut empêcher l’activation d’un tunnel WireGuard, notamment lorsque la configuration se trouve dans le répertoire personnel. L’article montre comment diagnostiquer le blocage via dmesg, recommande de placer les fichiers dans /etc/wireguard/, et propose, pour les phases de test, d’assouplir le profil AppArmor afin d’autoriser la lecture depuis le home. Il rappelle aussi qu’il faut désormais lancer wg-quick avec sudo explicitement.
Le pont sert à créer un contraste dans la seconde moitié d’une chanson, à éviter la lassitude et à renforcer l’impact du refrain final. L’article montre comment varier le tempo, l’instrumentation ou la mélodie, puis détaille trois techniques harmoniques : utiliser des accords de la tonalité encore absents, emprunter ponctuellement un accord à une autre tonalité, ou moduler vers une nouvelle tonalité. Chaque méthode est illustrée par des exemples de chansons connues et de compositions originales.
Vue 3 peut laisser des watchers orphelins lorsqu’ils sont créés après un await dans un composable ou un setup() asynchrone, car ils ne sont alors plus rattachés automatiquement au scope du composant. L’article explique comment éviter ces fuites mémoire : créer les watchers synchroniquement, utiliser le top-level await de <script setup>, conserver puis arrêter explicitement les watchers différés, et s’appuyer sur onScopeDispose ou effectScope hors contexte composant. Il recommande aussi de tester les cycles montage/démontage pour détecter les effets réactifs persistants.
Référence pratique sur l’attribut SameSite des cookies et ses modes Strict, Lax et None, avec les implications pour l’authentification, la navigation cross-site et la protection contre les attaques CSRF. L’article rappelle la différence entre same-site et same-origin, détaille les contraintes liées à HTTPS et aux attributs Secure/HttpOnly, puis propose un tableau de décision, des exemples pour Express, Next.js et Django, ainsi qu’une checklist de débogage dans les DevTools.
Tutoriel pas à pas pour ajouter une authentification à double facteur dans une application Symfony. L’implémentation repose sur Google2FA pour générer et vérifier les codes TOTP, et BaconQrCode pour afficher le QR code de configuration. L’auteur montre comment intégrer un second authenticator Symfony, conserver la clé secrète en session, attribuer un rôle après validation du code et utiliser un EventSubscriber pour empêcher l’accès aux routes protégées tant que la 2FA n’a pas été validée.
L’auteur soutient que les mauvais résultats d’un agent de code ne viennent pas toujours du modèle : une architecture ambiguë lui fournit aussi de mauvais repères. À partir d’un exemple Symfony, il montre qu’une séparation claire entre domaine, application, infrastructure et interface, complétée par du DDD, des tests et des règles de dépendances vérifiables, réduit les choix implicites. L’objectif n’est pas de sur-architecturer, mais de rendre les responsabilités et contraintes suffisamment explicites pour les humains comme pour l’IA.
Réflexion sur la place respective de l’oreille et de la théorie musicale dans la composition et l’improvisation. L’auteur montre, à travers Gainsbourg, Prokofiev, Thelonious Monk, Irving Berlin ou Debussy, que les « fausses notes » et les écarts aux règles peuvent devenir de puissants ressorts expressifs lorsqu’ils servent l’écoute et la surprise. La théorie permet d’analyser et de formaliser après coup, mais elle ne remplace pas le jugement musical : si cela sonne juste, cela peut être bon.
Un très beau texte d'une personne ayant perdu son père
À partir de l’événement de Carrington de 1859 et de la panne électrique du Québec en 1989, l’auteur montre comment la recherche scientifique permet de comprendre et d’anticiper des phénomènes naturels capables d’affecter nos infrastructures. Il défend le financement de la recherche, notamment spatiale, en rappelant qu’elle améliore la prévention des catastrophes et produit de nombreuses innovations utiles au quotidien. Réduire ces budgets revient donc, selon lui, à sacrifier sécurité, connaissance et progrès futurs.
Plaidoyer volontairement provocateur pour un Web plus simple : beaucoup de sites de contenu n’ont pas besoin d’un framework, d’un bundler ni d’une lourde chaîne JavaScript. L’auteur montre que HTML et CSS modernes couvrent déjà l’accessibilité, les données structurées, les cartes sociales, les images responsives, le mode sombre et de nombreuses optimisations de performance. La règle proposée est simple : commencer par du HTML natif, ajouter uniquement ce qui est nécessaire, et réserver les frameworks aux véritables applications.
Ayman Nadeem revient sur l’échec de Nuanced, un outil conçu autour d’un « plan mode » pour le développement assisté par IA. Selon lui, les modèles devenant meilleurs pour explorer les dépôts et prendre des décisions raisonnables, les plans détaillés servent de moins en moins à guider l’agent. Le vrai problème reste toutefois entier : permettre aux développeurs de conserver une compréhension claire du système pendant que plusieurs agents modifient rapidement le code.
Le problème majeur du code généré par IA n’est pas nécessairement sa qualité moyenne, mais la perte progressive de compréhension du système par les équipes. Quand spécifications, code, tests et décisions passent presque entièrement par des LLM, l’architecture, l’intention et les choix techniques deviennent opaques. L’auteur insiste sur l’importance des fondamentaux, du jugement humain et surtout de la maintenabilité : générer vite est facile, mais maintenir un système que personne ne comprend devient le véritable risque.
Guide pratique à GitLab CI qui présente progressivement les bases des pipelines, l’organisation des jobs et stages, ainsi que le rôle et les différents exécuteurs des runners. Il couvre aussi la réutilisation de configuration avec les templates, extends, include et !reference, puis les variables, règles, workflows, pipelines descendants et composants GitLab CI. L’ensemble s’appuie sur des exemples YAML concrets pour automatiser builds, tests et déploiements.
Guide pratique pour construire un environnement DevOps sur AWS en combinant Terraform pour provisionner l'infrastructure, Docker pour conteneuriser les applications et Kubernetes pour orchestrer leur déploiement. Des exemples de configuration illustrent chaque étape, depuis la création de ressources EC2 jusqu'au déploiement sur Kubernetes, avec une introduction à Amazon EKS. Le guide aborde également l'automatisation CI/CD avec GitHub Actions, la sécurité, la supervision et la maîtrise des coûts cloud.