Cet article de Wanadev Digital explique comment utiliser l'Event Bus de Symfony Messenger pour créer une architecture découplée. Il compare l'EventDispatcher et l'Event Bus, soulignant leurs différences fondamentales : synchrone vs asynchrone, couplage faible vs fort, et scalabilité. L'Event Bus permet un traitement asynchrone, une sérialisation des messages, et une meilleure traçabilité. L'article guide pas à pas pour configurer et utiliser l'Event Bus, idéal pour des tâches comme l'envoi d'emails ou la génération de PDF. Prérequis : comprendre les concepts de Commands et Queries.
L'auteur propose une alternative à la "Ralph loop", appelée "Eric loop", inspirée par le personnage calculateur et manipulateur d'Eric Cartman de South Park. Contrairement à la Ralph loop, la boucle Eric implique une séparation des tâches en plusieurs étapes (planification, exécution, vérification, review) et une formalisation des tâches par une IA. L'auteur illustre ce concept en créant un projet nommé Tiny-till, une application de caisse simple pour marchands ambulants, en utilisant un outil appelé Task-o-matic. L'idée est de mieux contrôler et optimiser l'utilisation des modèles d'IA en séparant les préoccupations et en adaptant les prompts à chaque phase de l'exécution des tâches.
L’article « Tests & Cluedo : enquêtez sur votre code » utilise une métaphore policière pour expliquer les différents types de tests en développement logiciel. Le test unitaire isole une classe (comme un interrogatoire en salle blanche) en utilisant des doublures (mocks) pour éliminer les dépendances externes, permettant de cibler précisément la source d’un bug. Le test fonctionnel reconstitue le crime en testant l’intégration des composants (router, controller, service, template) dans un environnement réel, mais sans interface graphique. Enfin, le test End-to-End (E2E) simule l’expérience utilisateur complète avec un vrai navigateur, utile pour les parcours critiques, mais coûteux en temps et en maintenance. L’auteur recommande une stratégie en pyramide : privilégier les tests unitaires (rapides et précis), compléter avec des tests fonctionnels, et réserver les tests E2E aux fonctionnalités clés. L’approche proactive du TDD (Test Driven Development) est encouragée pour anticiper les bugs plutôt que de les chasser après coup. Un guide pratique et imagé pour bien structurer ses tests avec PHPUnit.
L’article présente une sélection d’essais influents qui ont marqué la pensée et les pratiques de l’auteur en tant qu’ingénieur logiciel. Parmi les textes cités, on retrouve des classiques comme « Choose Boring Technology » de Dan McKinley, qui prône l’utilisation de technologies éprouvées pour éviter les risques inutiles, « Parse, Don’t Validate » d’Alexis King, qui encourage à transformer les données en types riches pour éliminer les états invalides, ou « Things You Should Never Do, Part I » de Joel Spolsky, mettant en garde contre les réécritures complètes de code. D’autres essais, comme « The Majestic Monolith » de DHH ou « The Rise of ‘Worse is Better’ » de Richard P. Gabriel, remettent en question les tendances architecturales (microservices, perfectionnisme) au profit de solutions pragmatiques et adaptées au contexte. L’auteur souligne aussi l’importance de la qualité (« Software Quality at Top Speed » de Steve McConnell) et de la valeur métier (« Don’t Call Yourself a Programmer » de Patrick McKenzie). Enfin, des conseils plus larges, comme « How To Become a Better Programmer by Not Programming » de Jeff Atwood, rappellent que les compétences techniques ne suffisent pas : comprendre le domaine, communiquer et éviter la complexité inutile sont tout aussi cruciaux. Une lecture inspirante pour repenser sa pratique du développement.
Ce guide pratique propose des bonnes pratiques pour sécuriser un serveur Apache2 sous Debian/Ubuntu. Il couvre des aspects essentiels comme masquer la version d'Apache et de l'OS, désactiver le listing des répertoires, configurer des en-têtes de sécurité, désactiver les méthodes HTTP inutiles, et utiliser Fail2Ban pour bloquer les attaques par force brute. Des exemples de configurations et des explications détaillées sont fournis pour chaque étape, avec une conclusion rappelant l'importance de maintenir les mises à jour régulières pour une sécurité continue.
L'auteur partage son expérience de mise en place d'un environnement de préproduction pour son instance Yunohost, virtualisée à partir d'un clone de sa machine physique de production. Il explique les avantages de cette méthode, comme la conservation de tous les ajustements manuels et la possibilité de créer des machines jetables pour des tests. Il détaille les modifications nécessaires pour différencier les VM (nom de la machine, mots de passe, thèmes visuels, etc.) et les bonnes pratiques à adopter, comme l'import régulier des sauvegardes de la préproduction pour valider leur restauration. Les machines virtuelles sont lancées à la demande, ce qui permet d'économiser des ressources.
L’article explique pourquoi adopter une approche « AI-First » (utiliser l’IA en premier pour résoudre tous les problèmes) peut être contre-productif. L’auteur souligne que l’IA excelle pour les tâches répétitives ou nécessitant peu de réflexion, comme la rédaction de brouillons ou la correction, mais qu’elle est inadaptée pour les travaux exigeant une compréhension approfondie, du contexte ou une réflexion stratégique. En effet, l’IA ne peut pas remplacer la pensée humaine, surtout lorsqu’il s’agit de prendre des décisions complexes ou de comprendre les nuances d’un problème. Elle est utile pour automatiser des parties mineures d’un projet, mais son utilisation systématique peut conduire à des résultats médiocres et priver les équipes de l’opportunité d’apprendre et de réfléchir par elles-mêmes. L’auteur recommande plutôt d’intégrer l’IA de manière ciblée, en complément des compétences humaines, et de privilégier l’expérimentation pour identifier les cas où elle apporte une réelle valeur ajoutée.
Ce guide expert partage un retour d'expérience sur l'utilisation de Claude Code, une IA générative, pour améliorer sa pratique du développement. L'auteur explique comment repenser son approche pour tirer pleinement parti de l'IA, en insistant sur l'importance de la précision dans les requêtes, de l'itération progressive et de la collaboration avec l'IA pour le débogage. Il détaille également la configuration optimale de l'environnement, notamment l'intégration avec VS Code et les extensions complémentaires recommandées. L'article aborde les fondamentaux de l'interaction avec l'IA, les techniques avancées et les limites à connaître pour une utilisation efficace.
"Typography in ten minutes" propose cinq règles essentielles pour améliorer rapidement la typographie de vos documents. L’accent est mis sur le texte principal (body text), car il domine visuellement. Voici les points clés :
1) Choisir une taille de police adaptée (10–12 pts en print, 15–25 px sur le web).
2) Régler l’interligne à 120–145 % de la taille de police pour une lisibilité optimale.
3) Limiter la longueur des lignes à 45–90 caractères (ou 2–3 alphabets en minuscules) pour éviter la fatigue oculaire.
4) Éviter les polices par défaut (comme Times New Roman ou Arial) et privilégier des polices professionnelles pour un rendu soigné.
5) Ajuster les marges (plus d’1 pouce en print, éviter les textes collés aux bords sur le web).
L’auteur insiste : appliquer ces règles transforme radicalement la qualité perçue de vos documents, même sans être designer. Un guide concis et pratique pour tous, avec des liens vers des ressources approfondies.
Dans cet article de HTMHell, Darice de Cuba explique l'importance de nommer les classes CSS de manière générique et indépendante du design. Elle souligne que les noms de classes doivent refléter le contenu et non la présentation, afin de faciliter les modifications futures du CSS sans toucher au HTML. Elle donne des exemples de bonnes et mauvaises pratiques, et conclut en insistant sur l'importance de maintenir un code lisible et facile à modifier.
Cet article explore les nuances et les problèmes liés au Time-To-First-Byte (TTFB), une métrique de performance web souvent mal comprise. Marx souligne que le TTFB a plusieurs définitions et est composé de plusieurs sous-parties, ce qui rend difficile la comparaison des mesures et le débogage des problèmes. Il aborde également les facteurs qui peuvent influencer les valeurs de TTFB, y compris les technologies comme HTTP/2 et HTTP/3, et propose des recommandations pour une utilisation plus judicieuse de cette métrique. Le billet est le premier d'une série qui approfondira l'impact de diverses technologies sur le TTFB.
Le Hollandais Volant dresse une liste actualisée des pratiques web qui irritent en 2025, soulignant que beaucoup de problèmes persistent malgré les années. Il critique les sites trop lourds, le retour forcé de la publicité, les sites souvent inopérants comme ceux de la SNCF ou de La Poste, et les interfaces confuses où l'on tourne en rond. Il dénonce aussi les sites qui cachent des informations essentielles ou redirigent vers des réseaux sociaux, comme ceux de l'URSSAF ou de Dell. Un constat amer sur l'évolution du web.
Cet article propose des stratégies pour adopter une relation plus saine avec les réseaux sociaux, notamment Instagram. Il souligne que seulement 7% du temps passé sur ces plateformes est consacré à voir le contenu de nos proches, le reste étant capté par des publicités et des algorithmes. L'auteur suggère de reprendre le contrôle en ajustant les paramètres de confidentialité, en limitant les notifications, en consommant avec modération, et en utilisant des bloqueurs de pubs. Il encourage aussi à favoriser les interactions sociales réelles et à former des communautés. Des conseils pratiques sont donnés pour chaque étape, avec des captures d'écran et des explications détaillées. L'objectif est de récupérer le temps perdu et de profiter des réseaux sociaux de manière plus consciente et bénéfique.
L'article critique l'utilisation excessive de balises <div> (divitis) et l'abus de balises HTML sémantiques sans compréhension de leur véritable signification. L'auteur explique que l'HTML sémantique ne se limite pas à remplacer les <div> par d'autres balises, mais nécessite une compréhension approfondie des éléments et de leur usage correct selon les normes HTML. Il souligne l'importance d'aller au-delà des apparences et de se former continuellement pour écrire un HTML vraiment sémantique et accessible.
Cet article de Sebastian Bergmann explique les différences entre les Data Transfer Objects (DTOs) et les Value Objects, et pourquoi l'immutabilité facilite les tests. Les DTOs, motivés techniquement, servent à transférer des données entre couches ou systèmes, tandis que les Value Objects, motivés par le domaine, représentent des concepts stables du domaine. L'immutabilité réduit la charge cognitive en test, car elle garantit que l'état des objets ne change pas. Les Value Objects, étant immuables, n'ont pas besoin de test doubles, contrairement aux DTOs qui peuvent en nécessiter si ils contiennent de la logique. L'utilisation d'objets immuables simplifie les tests en évitant les effets de bord indirects.
L'article explore l'importance souvent sous-estimée du titre de page (
Steve Yegge partage six nouvelles astuces pour mieux coder avec des agents, basées sur ses expériences récentes. Parmi celles-ci, il souligne que le logiciel est désormais jetable, avec une durée de vie inférieure à un an, rendant les réécritures plus faciles et intelligentes que les corrections. Cette approche remet en question les conseils traditionnels, comme ceux de Joel Spolsky, et ouvre la voie à des architectures modernes et maintenables, posant un défi aux fournisseurs de SaaS tiers.
Cet article partage l'expérience de SNCF Connect dans la mise en place d'une stratégie de service numérique responsable. Il définit un service numérique responsable comme une solution utile, sobre, accessible et respectueuse, reposant sur quatre piliers : accessibilité, sobriété, confidentialité et respect des libertés. L'article souligne l'importance de ces principes, soutenus par des référentiels concrets comme le RGAA, le RGPD et le RGESN, et illustre comment SNCF Connect aligne ses actions sur ces enjeux pour promouvoir des mobilités durables et accessibles. Il présente également des bonnes pratiques pour déployer une telle stratégie, comme la labellisation numérique responsable.
L'article revient sur l'utilisation souvent abusive de l'attribut HTML title, qui sert à afficher des infobulles ou à fournir un nom accessible aux éléments interactifs. Malgré les mises en garde depuis 2013, cet attribut est encore mal employé, posant des problèmes d'accessibilité. Les infobulles sont cachées et nécessitent une interaction précise, ce qui les rend peu intuitives et frustrantes pour les utilisateurs. L'article souligne l'importance de répéter les bonnes pratiques pour ancrer une utilisation correcte de l'attribut title.
Cet article de Guillaume Barbier explore les défis liés à la création de tableaux de données accessibles sur le web en 2025. Il identifie deux principales raisons pour lesquelles les tableaux restent inaccessibles : un manque de culture numérique et des limitations techniques. L'auteur souligne la confusion entre la structuration de l'information et la présentation visuelle, ainsi que les difficultés techniques rencontrées avec certaines combinaisons de navigateurs et lecteurs d'écran. Il propose une synthèse des connaissances pour aider à créer des tableaux accessibles et évoque quelques motifs à éviter. L'article aborde également d'autres critères d'accessibilité comme la redistribution et les mouvements de glissement, avec des techniques pour éviter les déformations sur les écrans étroits.