Daily Weekly Monthly

Monthly Shaarli

All links of one month in a single page.

December, 2023

dbohdan/classless-css: A list of classless CSS themes/frameworks with screenshots

Une liste de thèmes CSS "classless" ce qui signifie qu'ils se contentent de styliser les composants HTML par défaut, sans utiliser de classes supplémentaires.

Ces styles sont un bon moyen de proposer un style moderne tout en conservant un code HTML aussi simple que possible.

morris/vanilla-todo: A case study on viable techniques for vanilla web development.

Une proposition de structure du code moderne mais n'utilisant aucune dépendances ni système de build. Rien que du pur HTML, JS, CSS.

A case study on viable techniques for vanilla web development.

C'est intéressant en comparaison des frameworks habituels (React, Vue, etc.) de voir ce qu'il est possible de faire en adoptant une architecture en composants.

LosslessCut

Un outil pour éditer de la vidéo et de l'audio sans perte de qualité. Par exemple extraire des séquences d'une longue vidéo. Comme la vidéo n'est pas ré-encodée à chaque fois, c'est très rapide et sans pertes.

Via https://sebsauvage.net/links/?RepzAQ

The complexity of writing an efficient NodeJS Docker image - Specfy

Des conseils sur l'écriture d'un Dockerfile optimisé pour des applications Node.js.

GitHub - testjavascript/nodejs-integration-tests-best-practices: ✅ Beyond the basics of Node.js testing. Including a super-comprehensive best practices list and an example app (July 2023)

Des bonnes pratiques pour les tests en JavaScript.

Beyond the basics of Node.js testing. Including a super-comprehensive best practices list and an example app.

Testing the dark scenarios of your Node.js application | Practica.js

Un article complet (et relativement long mais instructif) sur les tests que l'on omet souvent car ils concernent des cas qui se produisent peu souvent (mais qui se produiront !)

Home - No-Bullshit Games

Listing de vrais jeux mobile, débarrassée des gatchas et autres jeux sans saveur habituels.

Web Components Will Outlive Your JavaScript Framework | jakelazaroff.com

Un très bel article qui explique pourquoi les Web Components et plus généralement les standards seront toujours plus pérennes que les frameworks.

Le passage sur le coût des dependences est crucial et bien expliqué, surtout pour les projets impossibles à mettre à jour tous les mois. Pensez-y, moins vous comptez faire évoluer une app, plus vous devez limiter les dépendances externes.

Deep Cloning Objects in JavaScript, the Modern Way

structuredClone(obj) est la bonne solution pour faire un deep clone d'un objet en JavaScript. Il n'y a que quelques limites à prendre en compte, à la fin de l'article, mais pour 95% des cas d'utilisation elles ne posent pas de problème.

Learn Kubernetes Basics | Kubernetes

Un tuto relativement simple en 6 étapes pour comprendre les composants de base de Kubernetes (cluster, node, pod, deployment, service, replica set).

  1. Create a Kubernetes cluster
  2. Deploy an app
  3. Explore your app
  4. Expose your app publicly
  5. Scale up your app
  6. Update your app
Server-Timing - HTTP | MDN

Ce header HTTP envoyé dans la réponse du serveur permet d'afficher côté client (navigateur donc) des informations détaillées sur les différents temps de traitement côté serveur (par exemple la durée des requêtes SQL, si un cache a été utilisé, etc.).

Le serveur est responsable d'envoyer les metrics qu'il souhaite. À utiliser avec précaution car ça revient à rendre publique en partie la structure du serveur.

Exemple d'utilisation et de visualisation avec Chrome : https://ma.ttias.be/server-timings-chrome-devtools/

nutjs.dev - Desktop automation

Cette lib vous permet d'automatiser certaines interactions avec votre ordi. Bouger la souris, cliquer sur un bouton par reconnaissance d'image, etc.

Moving your mouse around your screen, clicking buttons or icons, typing on your keyboard, reading screen content, and much more — it's all possible with nut.js.

Critiques pour Bypass Paywalls Clean (D) – Modules pour Firefox sous Android (fr)

Une extension Firefox qui permet de contourner les paywalls en simulant le user-agent d'un robot indexeur de moteur de recherche (type Google bot). Pas encore testé.

Animer un bouton burger simple avec SVG et CSS - Alsacreations

Un tuto simple qui aborde l'animation d'un SVG simple avec des transitions CSS.

OrbStack · Fast, light, simple Docker & Linux on macOS

Une alternative à Docker Desktop qui se dit plus rapide et légère. Pas testé.

Docker Security: 14 Best Practices You Should Know

Une saine lecture pour comprendre quels sont les risques de sécurités liés à l'utilisation de Docker et comment les limiter au maximum.

Le principe de limiter les privilèges au maximum et de n'ajouter que le strict nécessaire au fur et à mesure est une très bonne pratique, malheureusement trop peu souvent appliquée par manque de temps.

Oxlint General Availability | The JavaScript Oxidation Compiler

Une jeune alternative à ESlint qui serait 50 à 100 fois plus rapide. Shopify annonce avoir réduit le linting de 75 minutes à 10 secondes. Ça semble exagéré mais ça mérite de s'y intéresser. Et c'est du zero-config par défaut !

C'est développé en Rust.

Inheritance and the prototype chain - JavaScript | MDN

Une explication détaillée et claire de la façon dont le système de prototype de JavaScript fonctionne. Lecture requise si vous développez en JS, que ce soit dans le navigateur ou avec Node et consorts.

GitHub - LuanRT/YouTube.js: A wrapper around YouTube's internal API — reverse engineering InnerTube

Une sorte de SDK non-officiel pour YouTube, en JavaScript.

A full-featured wrapper around the InnerTube API
InnerTube is an API used by all YouTube clients. It was created to simplify the deployment of new features and experiments across the platform 1. This library manages all low-level communication with InnerTube, providing a simple and efficient way to interact with YouTube programmatically. Its design aims to closely emulate an actual client, including the parsing of API responses.

Goodbye, Clean Code — overreacted

Une très belle réflexion sur le fait que le code "clean" à tout prix n'est pas forcément une bonne chose. Parfois un code avec un peu de répétition est en réalité bien plus pérenne que de l'abstraction à outrance, surtout dans une équipe de plusieurs développeurs.

Ce n'est pas le premier article que je lis sur le sujet donc je suis convaincu que ce type de situation arrive fréquemment.

How Marketing Changed OOP In JavaScript — Smashing Magazine

Un très bon article (écrit il y a 2 ou 3 ans je pense, en réalité) qui revient sur l'historique de JavaScript et sur la raison marketing derrière certains choix.

L'article revient notamment sur l'aspect "Prototype" de JavaScript qui est souvent incompris et camouflé derrière ce qu'on appelle du "syntactic sugar".

Let’s learn how modern JavaScript frameworks work by building one | Read the Tea Leaves

Un article, pas forcément des plus abordables, qui passe en revue les principes fondamentaux des frameworks JavaScript modernes en les appliquant dans un exemple simplifié.

Il aborde des concepts relativement avancés tels que les Proxy, les Microtask, et la manipulation du DOM telle qu'on n'a plus vraiment l'habitude d'en faire.

Mais c'est diablement instructif.

You (probably) don't need DateTime · Scorpil

Une réflexion sur la façon de stocker un datetime (date + heure) et sur le fait que le timestamp UNIX est préférable dans bien des cas.

12 Days of Web

Un calendrier de l'avent du développement front-end, principalement ciblé sur CSS et JS. Parfait pour découvrir les nouveautés en la matière petit à petit, un article par jour 😊