Le code est une forme de dette. Plus vous avez, plus vos mouvements seront lourds et limités.
Si vous n'avez pas Spotify mais que quelqu'un partage avec vous un lien Spotify, ce site vous donne le nom de la musique et le lien équivalent sur d'autres plateformes.
De plus en plus de boîtes IT semblent forcer l'utilisation de l'IA sans en comprendre les effets néfastes.
Regurgiting, not creating. It’s what these tools do.
L'article incite fortement les développeurs qui sont dans cette situation à se protéger.
Regardless of your opinion of AI, forcing the usage of it is almost certainly going to end in disaster. Just be prepared for that disaster and protect yourself is my overall advice.
Une lib de logging pour JavaScript qui ambitionne d'ajouter du logging facilement à vos packages. Ensuite, libre à l'utilisateur de votre package de décider s'il veut activer le logging ou pas.
Ça me fait un peu penser à log4j pour Java 🤔
Un outil très facile à mettre en place pour organiser et visualiser vos logs Node.js sous forme de dashboard plutôt qu'avec la console.
Un tour d'horizon de ce que CSS permet, qui ne pouvait être accompli que grâce à JavaScript (et autres) par le passé.
Prenez-en connaissance, c'est autant de code que vous pouvez maintenant épargner à vos visiteurs.
Le début de l'article explique ce que sont les LLM (communément appelé IA) et la façon dont ils fonctionnent.
Je ne connaissais pas cette API des navigateurs qui permet d'envoyer une requête POST vers un serveur au moment où un onglet est fermé. La particularité est que la requête est gérée de manière asynchrone donc pas besoin d'attendre la réponse du serveur pour laisser l'onglet se fermer. C'est utilisé principalement pour tout ce qui est analytics mais j'entrevois d'autres cas d'utilisation.
Une lib de traitement d'image pour JavaScript.
Une alternative à Spotify sur Android, qui utilise YouTube à travers le proxy Piped pour récupérer les musiques.
La simplicité. On a tendance à l'oublier celle-là parfois.
Un outil pour créer des gradients.
Le titre est foireux mais l'article rassemble quelques bonnes pratiques Docker à connaître :
.dockerignoreDockerfileUn outil pour exposer Kafka avec HTTP.
J'ignorais que l'implémentation des signals de Preact est dispo sous forme de lib autonome. Je trouve qu'elle fait pile poil ce qu'on en attend, ni plus ni moins, et ça peut donc constituer un choix judicieux pour incorporer de la réactivité à une app, en attendant l'hypothétique implementation native dans JavaScript (stage 1/4 pour le moment).
Découverte du positionnement par ancre en CSS. Ce n'est pas encore supporté par Firefox mais j'imagine que ça ne devrait pas trop tarder.
Un point de vue sans concession sur l'IA. Et difficile de lui donner tort sur la majorité des points.
Une nouvelle oeuvre d'art de vulgarisation d'un standard qui est loin d'être intuitif. La partie sur les arcs est notamment brillamment expliquée. Si vous travaillez de près ou de loin avec du vectoriel, je ne peux que vous en encourager la lecture.
Un (long !) tour d'horizon chronologique des pratiques qui furent standard en matière de développement front-end, avant de devenir désuètes.
J'aime particulièrement la conclusion, que j'applique de plus en plus, contre vents et marées de développeurs qui veulent foutre du React partout :
Technologies come and go, but the contract with the browser remains. Choose the simplest path that produces high quality HTML, CSS, and JavaScript. The closer you stay to the platform, the easier your product will be to maintain, to make accessible, and to run fast at scale.
Traduction à la mano :
Les technologies vont et viennent, mais le contrat que l'on passe avec le navigateur, lui, reste. Choisissez le chemin le plus direct qui produise du HTML, CSS et JavaScript de qualité. Plus vous restez proche de la Web Platform plus il sera facile de maintenir votre site ou app, de le rendre accessible et performant.
Une explication (légèrement illustrée) de ce qu'est OAuth.
Des activités sans écran pour les enfants.
Composer de la musique avec JavaScript !
La façon de se protéger contre les attaques de type CSRF se sont diversifiées.
Quelques bonnes pratiques sur la mise en place et la configuration d'un VPS.
Les filtres SVG permettent des choses assez sympa !
Une explication de cette notation plutôt récente pour représenter les couleurs en CSS.
Je ne connaissais pas Gopher, un concurrent au web que nous connaissons bien, à l'époque de sa naissance. Il est même arrivé un peu avant.
Un package Node.js qui permet de planifier des tâches (job scheduler). Il offre également un dashboard visuel.
Il a l'air simple et puissant à la fois, à surveiller.
Bonnes pratiques pour le chargement de polices d'écriture personnalisées sur une page web.
À la découverte des possibilités offertes par Intl, le module natif d'internationalisation de JavaScript.
Un exercice intéressant ! L'auteur étudie les performances des sites web des écuries des coureurs du tour de France et les classe du plus au moins performant, et il s'intéresse ensuite aux détails d'implémentation et à ce qui aurait encore pu encore être amélioré.
Une mine d'infos si vous vous intéressez à l'optimisation des pages web.
Une explication simple de ce que sont les Flame Graphs et comment ils aident à détecter les parties du code qui consomment le plus de CPU.
Une explication détaillée du protocole qui sous-tend Bluesky.
Pas encore lu.
Un "framework" CSS dont j'aime particulièrement la philosophie. Je mets des gros guillemets parce qu'il s'agit en fait plus d'une lib d'utilitaires dont il est possible de ne choisir qu'une petite partie.
Point très important : il se repose au maximum sur les standards CSS modernes (variables, layers, webcomponents, etc.) et il n'y a pas besoin de build.
Ça signifie que vous pouvez ajouter uniquement les composants qui vous intéressent avec @import et c'est tout ! Et tout est customisable dynamiquement en modifiant la valeur des variables CSS.
J'aime tout particulièrement la simplicité et pour autant l'élégance des layouts qui couvrent 95% des cas courants.
A UI library for people who love HTML, powered by modern CSS and Web Components. Vanilla CSS and JavaScript. Easily customized. No build step.
Un outil de build qui se veut être le successeur spirituel de Make.
Une alternative à node-soap pour appeler une API Soap en Node.
Réglages Firefox à ajuster dans about:config pour virer les fonctionnalités IA.
Je me copie ça ici :
browser.ml.chat.enabled = false
browser.ml.chat.shortcuts = false
browser.ml.chat.shortcuts.custom = false
browser.ml.chat.sidebar = false
browser.ml.enable = false
extensions.ml.enabled = false
browser.tabs.groups.smart.enabled = false
browser.tabs.groups.smart.optin = false
browser.tabs.groups.smart.userEnabled = falseUne explication à propos d'une vulnérabilité de HTTP qui n'est probablement pas la plus connue.
Une interview (50 min environ) du très inspirant dirigeant d'Obsidian. Un ovni au milieu des requins.
À écouter en podcast si vous préférez.
La dernière release d'Obsidian est de sortie avec le support des Bases, ce format qui permet d'extraire les infos de vos notes et des structurer en tableaux ou sous forme de cards.
Vous pensiez maîtriser le format des adresse emails ? (Non)
Quel est votre philosophie en matière de développement ? Découvrez-le en 20 questions et devenez le 10x developer que tout le monde attend !
Un très bon article qui parle des nombreux points à considérer lors de la création de systèmes (ce qu'on peut appeler la system architecture).
[...] good system design is not about clever tricks, it’s about knowing how to use boring, well-tested components in the right place.
Je trouve l'angle assez juste et pragmatique.
Des outils en ligne qui visent à réduire l'anxiété par le biais de petits exercices.
Sous le coude.
Astuce à connaître.
Exemple d'utilisation des fonctions CSS.
Je ne sais pas trop quoi en penser, je vois les perspectives que ça ouvre mais en même temps ça va rendre le code plus complexe et plus "opinionated".
Aujourd'hui quand on ouvre un projet CSS quel qu'il soit, on comprend le code immédiatement, toutes les fonctions sont natives. Le seul aspect à intégrer est l'organisation du code et des fichiers.
Demain, il faudra en plus aller voir chaque fonction pour comprendre ce que le développeur précédent a voulu factoriser, comme on le fait dans les languages traditionnels, et ce sera évidemment complètement différent d'un projet à l'autre.
Pas infaisable, mais ça va ajouter une couche de pénibilité supplémentaire lors de l'onboarding 🤔
Une alternative à personalDNSfilter qui permet de bloquer les requêtes vers les traqueurs connus.
Pas testé, j'attends de voir ce qui s'en dit, mais je la garde sous le coude.
Via https://korben.info/rethinkdns-firewall-android-privacy-revolution.html
Testez vos connaissances CSS ! 48/60 de mon côté, ce qui est bien mais pas top.
Un outil qui fait du diagram as code un peu comme Mermaid mais en plus verbeux et un peu plus technique. Ça semble jeune mais potentiellement prometteur.
Un lecteur de flux RSS à auto-héberger minimaliste et efficace, développé en Go.
Spécificités des différents formats d'adresse postale qu'on trouve autour du globe.
Utiliser Bluesky comme système de commentaire pour un blog statique. Je pense éventuellement reprendre l'idée pour le mien mais avec Mastodon bien sûr.
Exactement le genre d'usage de TypeScript que je déteste.
Ce qui semble être une bonne idée au départ devient un méli-mélo de complexité impossible à comprendre du premier coup et qui finalement apporte une valeur limitée et un faux sentiment de sécurité, du fait que le schéma JSON de l'API appelée peut changer du jour au lendemain.
Si vous avez la chance de consommer une API REST qui dispose d'une documentation OpenAPI exhaustive, alors je préfère l'usage de librairies type json-schema-to-ts pour inférer le type des requêtes et réponses à partir du schéma, et créer un petit adapteur (une fonction) qui prendra le type de la requête en argument (incluant body, query params, et headers si nécessaire) et qui retournera le type de la réponse.
Ça permet un bien meilleur contrôle selon moi, et le code n'en est que plus explicite.
Une réflexion sur l'utilité relative des lockfiles, ces fichiers qui gardent trace de la version exacte de chacune des dépendances d'un projet, incluant les dépendances de dépendances, etc.
Un outil de conversion et transformation de PDF directement dans le navigateur mais sans envoyer vos fichiers côté serveur, tout reste strictement dans le navigateur.
Quelques témoignages d'entreprises qui ont abandonné Kubernetes en raison de sa trop grande complexité qui ne convient pas à tous les usages.
C'est exactement ma vue de cet outil que je connais peu : ça semble fascinant et très puissant mais d'une complexité telle que finalement peu de boîtes peuvent se le permettre.
Node.js LTS supporte maintenant officiellement TypeScript (uniquement la syntaxe "effaçable") par défaut.
Une bonne astuce pour élargir la zone cliquable d'un bouton de manière invisible et sans distordre le visuel du bouton lui-même.
button::after {
content: "";
position: absolute;
inset: -5px;
}Point de vue intéressant sur nos forces et nos faiblesses qui sont souvent liées.
Une gigantesque collection de liens vers des articles orientés performances web, mais aussi une liste de blogueurs à suivre si vous vous intéressez au web de manière générale.
Transformer une newsletter en flux RSS. L'outil génère une adresse email spécifique qui s'occupe de la conversion et de publier le flux pour votre agrégateur préféré.
Bien plus pratique !
Il semblerait qu'il soit maintenant possible d'utiliser Tailwind (un framework CSS) en meilleure harmonie avec le CSS natif. On peut par exemple utiliser les tokens de Tailwind dans du CSS classique, rendant inutile l'usage de @apply. Je n'aime toujours pas ces frameworks "utility-first" mais il faut admettre que ce virage est fait dans la bonne direction.
Une liste de newsletters à destination des gens qui développent et créent pour le web.
Une API native de nos navigateurs qui permet de savoir si l'utilisateur est actif sur la page et s'il a interagit avec la page au moins une fois depuis son chargement.
Vous vous souvenez, avouez 😁
Un plaidoyer pour RSS. L'un des protocoles les plus simples, puissants et resilients qui soit. Je l'utilise depuis facilement 15 ans sans faille et sans heurts. ❤️ RSS
Le sondage StackOverflow des développeurs est de sortie.
Ça a l'air chiant à mourir le Vibe Coding au final. L'IA fait la partie fun et vous vous retrouvez avec le babysitting, et en prime le risque de faire exécuter à l'agent des instructions dangereuses pour votre machine 🤦
Quelques infos sur l'API Speculation uniquement supportée par Chrome pour l'instant. Elle ambitionne de "deviner" le chemin de navigation de l'utilisateur et de précharger autant que possible les ressources correspondantes.
Avec évidemment le risque de charger des ressources pour rien si la prédiction échoue.
J'avoue ne pas être certain de l'inérêt.
Au final si vous avez une bonne connexion, charger des ressources en arrière plan aura un impact négligeable mais l'intérêt de gagner 500ms lors de la navigation sera aussi limité puisque la connexion est performante.
Par contre si vous avez une connexion pourrie type 3G de la campagne, alors le peu de bande passante va s'étouffer entre pré-chargement de ressources inutiles et navigation de premier plan, dégradant alors l'expérience et augmentant la frustration.
Un outil qui transforme facilement le dossier d'un serveur en serveur de fichier web avec une interface graphique et pas mal des fonctionnalités qu'on peut en attendre (gestion de permissions, etc.). Parfait pour rapidement recueillir des fichiers d'autres personnes par exemple.
Via https://korben.info/filegator-gestionnaire-fichiers-web-open-source.html