Hebdomadaire Shaarli

Tous les liens d'un semaine sur une page.

Semaine 11 (March 11, 2024)

Set up JWT authentication with Symfony using the LexikJWTAuthenticationBundle | by Aghar Saifeddine | Mar, 2024 | Medium

Tout est dans le titre

lorenzofox blog | Coroutines in Javascript

Tout est dans le titre

Des animations performantes - Partie 2 | Julien Pradet

Dans ce 2e article (sur 3), l'auteur donne une astuce pour préparer le navigateur aux animations : utiliser la règle CSS will-change

PWA : Déclarer un Service Worker et gérer son cycle de vie | Julien Pradet

L'auteur présente ce qui est nécessaire pour utiliser et mettre à jour un Service Worker, et insiste sur les bonnes pratiques à respecter.

git references

Une BD expliquant ce que sont les références dans git

[SQL] Obtenir les dernières lignes -- 5 méthodes - Blogs - Forum du club des développeurs et IT Pro

Tout est dans le titre

Archiver ses vidéos : retour d’expérience - LinuxFr.org

Tout est dans le titre

3 Règles d'or en TypeScript | Julien Pradet

Les 3 règles en question que l'auteur suit (et explique dans l'article) :

  • définir les types uniquement lorsque nécessaire (essentiellement pour des signatures de fonction)
  • ne (presque) jamais utiliser any ou de as
  • privilégier des dérivations de types plutôt que de les réécrire
The View Transitions API And Delightful UI Animations (Part 2) — Smashing Magazine

Suite de https://www.smashingmagazine.com/2023/12/view-transitions-api-ui-animations-part1/ l'auteur explique et démontre des utilisations de la View Transitions API pour faire des effets de transitions, notamment lors de changement de pages (avec un tuto pour React).

Building Components For Consumption, Not Complexity (Part 1) — Smashing Magazine

L'auteur introduit son framework de construction de composants : FRAILS, acronyme de Flexible, Repeatable, Adoptable, Indexable, Logical et Specific.
Il explique dans cet article en quoi consiste Flexible et Repeatable.

Recovering Deleted Files From Your Git Working Tree — Smashing Magazine

L'auteur explore les options pour récupérer des fichiers effacés dans un projet Git

Votre Première Infrastructure avec TerraForm | Stéphane ROBERT

Un tutoriel sur Terraform

Les states de Terraform | Stéphane ROBERT

Les states (états) de Terraform représentent un instantané de l'état de l'infrastructure gérée. Ils permettent de maintenir la cohérence et la fiabilité de celle-ci. L'auteur présente les backends pour enregistrer les états (avec un exemple pratique sur S3), le dépannage et les bonnes pratiques.

Maîtrisez Harbor | Stéphane ROBERT

Harbor est un registre de conteneurs permettant, entre autres, de scanner les images pour détecter les vulnérabilités, de gérer des droits d'accès (RBAC), bien intégré à Kubernetes et autres outils d'orchestration.

Novops facilite l'accès aux secrets | Stéphane ROBERT

Novops charge les secrets (stockés dans un gestionnaire par exemple) en mémoire en général sous forme de variables d'environnements. Il s'intègre très bien dans une pipeline CI / CD.

Core Web Vitals : qu'est-ce que l'INP et comment l'améliorer ? - Agence Web Performance

INP est une métrique de web (acronyme de "Interaction to Next Paint"), qui succède au FID ("First Input Delay")
L'article présente en détail son objectif, et quelles sont les pistes pour l'améliorer.

K8S Chap. 6 - ConfigMaps et secrets :: Dans les nuages ☁

Comment spécifier des données de configuration (ConfigMaps) ou des secrets dans Kubernetes

Modern CSS Tooltips And Speech Bubbles (Part 2) — Smashing Magazine

Suite de https://www.smashingmagazine.com/2024/03/modern-css-tooltips-speech-bubbles-part1/ l'auteur montre d'autres infobulles uniquement en CSS

dns0.eu — Le DNS public européen qui rend votre Internet plus sûr

Tout est dans le titre

Trouble oppositionnel : ce ne sont pas des enfants mal élevés !

Tout est dans le titre

Forcer le redémarrage d'un worker Symfony - JoliCode

L'auteur propose l'utilisation d'un Listener pour éteindre un worker selon le type d'exception levée.

Getting Symfony app ready for Swoole, RoadRunner, and FrankenPHP (no AI involved) - DEV Community

L'auteur démontre un effet de bord potentiel du mode "mémoire partagée" de Swoole / RoadRunner / FrankenPHP... et comment le corriger

Des labels flottants en CSS pur #CodingPartyAtHome 💕🤣🤜🤛😎 - Warrior du Dimanche

Tout est dans le titre

lorenzofox blog | Coroutines and web components

Suite de https://lorenzofox.dev/posts/coroutine tout est dans le titre

Des animations performantes - Partie 3 | Julien Pradet

Dans ce 3e et dernier article, l'auteur donne quelques conseils sur les performances de animations en JavaScript

Introduction aux animations FLIP | Julien Pradet

Cette technique consiste à calculer à l'avance les transformations :

1°) F = First (position de départ)
2°) L = Last (position finale)
3°) I = Invert (calcul de la différence)
4°) P = Play (lancement de l'animation)

L'auteur montre les cas d'usage

Les joies des gestionnaires de réputation · Richard Dern

... Navrant

Internet Explorer is Evil: The story

Tout est dans le titre

Animer un bouton burger simple avec SVG et CSS - Alsacreations

Tout est dans le titre

Maîtriser les types avancés en TypeScript | Julien Pradet

L'auteur expose des techniques facilitant la configuration des types :

  • récupération des clefs d'un objet
  • filtrage des clefs d'un objet
  • manipulation des class
  • manipulation des strings
  • extraction d'un type à partir d'un type existant grâce à infer
Jouer à 2048 avec Kubernetes – Partie 1 : On s’fait la main – Antoine Mayer

Un tutoriel pour s'initier à Kubernetes : installation du jeu 2048 dans un cluster en local

Building Components For Consumption, Not Complexity (Part 2) — Smashing Magazine

Suite de https://www.smashingmagazine.com/2023/12/building-components-consumption-not-complexity-part1/ l'auteur explique les dernières lettres du framework FRAILS pour la construction de design systems : Adoptable, Indexable, Logical et Specific.

Five-Second Testing: Taking A Closer Look At First Impressions (Case Study) — Smashing Magazine

L'auteur explique en quoi consiste la règle des 5 secondes (en test UX) Il donne quelques conseils pour l'adapter selon sa situation - complexité, niveau de détail, etc.

Maîtriser les Expressions Terraform | Stéphane ROBERT

Les expressions Terraform rendent les infrastructures plus dynamiques : elles comprennent les boucles, les conditions, les calculs et différentes fonctions. L'auteur présente l'ensemble des expressions possibles

Introduction à Terraform | Stéphane ROBERT

Tout est dans le titre

The Infinite Library Problem - Scott H Young

L'auteur propose 4 heuristiques pour l'apprentissage en continu :

1°) Commencer avec des manuels
2°) Utiliser des projets spécifiques pour surmonter l'effort - l'idée est de pratiquer et de se confronter aux difficultés de la matière étudiée
3°) Suivre des gens intelligents et enregistrer leurs recommandations
4°) S'allouer 10% du temps d'étude pour des sujets inhabituels et / ou étranges

Le modèle Zero Trust | Stéphane ROBERT

"Zero Trust est une stratégie de sécurité de l'information qui repose sur un principe fondamental : ne faire confiance à aucune entité"

Lorinda Cherry, la programmeuse Unix qui aimait la course automobile et les chiens et ses consœurs

3 portraits de femmes ayant contribué à l'informatique

Petit guide rapide pour se lancer dans le rétroludique. – Le Weblog de Frederic Bezies

Tout est dans le titre

Kicksecure/security-misc: Kernel Hardening; Protect Linux User Accounts against Brute Force Attacks; Improve Entropy Collection; Strong Linux User Account Separation; Enhances Misc Security Settings - https://www.kicksecure.com/wiki/Security-misc

Des exemples de durcissement des règles de sécurité sous Linux

Comment fonctionnent les stylos détecteur de faux billets ? - Couleur-Science

Tout est dans le titre

Symfony — how to inject servide by interface and argument name

Tout est dans le titre - ça peut être pratique quand on a plusieurs instances de la même interface à injecter. L'exemple choisi ici est celui du cache : cache via le système de fichiers, cache via Redis, etc.

Castor, le task runner des devs PHP ? — YoanDev

Tout est dans le titre

lorenzofox blog | Batch component updates with micro tasks
Réseaux de neurones pour les nuls : une introduction rapide à ce domaine fascinant | Pragmatic Nerdz | Wutsi

Tout est dans le titre

Des animations performantes - Partie 1 | Julien Pradet

1er article (sur 3) à propos des animations CSS : dans celui ci l'auteur parle des propriétés à animer de préférence

Comment diagnostiquer et corriger du Cumulative Layout Shift (CLS) ? | Julien Pradet

Tout est dans le titre

GCP et Terraform Chap. 2 - Les composants les plus communs chez GCP :: Dans les nuages ☁

Tout est dans le titre

Blog Stéphane Bortzmeyer: Gestion de son serveur de courrier électronique

L'auteur explique comment il a réussi à gérer certaines difficultés pour envoyer des emails à destination de Microsoft / Google / etc.SPF,
Il rappelle, en fin d'article, les points de configuration technique à vérifier : SPF, DKIM, DMARC, Greyfix, SpamAssassin et Bogofilter

Jouer à 2048 avec Kubernetes – Partie 2 : On fait nos valises – Antoine Mayer
CSS Scroll Snapping Aligned With Global Page Layout: A Full-Width Slider Case Study — Smashing Magazine

Tout est dans le titre

Preparing For Interaction To Next Paint, A New Web Core Vital — Smashing Magazine

Une présentation de l'INP (Interaction to Next Paint), une métrique introduite par Google. L'auteur donne quelques conseils pour l'optimiser

How Marketing Changed OOP In JavaScript — Smashing Magazine

L'auteur raconte les origines du JavaScript (et certains choix marketing). Il explique ensuite en quoi consiste la programmation objet par prototype, et quels sont les pièges à éviter (avec une mention à this)

Les Workspaces Terraform | Stéphane ROBERT

Terraform permet de gérer plusieurs environnements d'infrastructure distincts avec le même ensemble de fichiers de configuration, grâce aux Workspaces. L'auteur montre comment créer / sélectionner / supprimer un Workspace. Il donne aussi les bonnes pratiques en vigueur. Enfin, il présente l'intégration des Workspaces dans les pipelines CI / CD

Maîtrisez les Commandes Git Essentielles | Stéphane ROBERT

Un article très complet sur git

Durcir la configuration SSH | Stéphane ROBERT

Tout est dans le titre

Gestion des Services Linux avec Systemctl | Stéphane ROBERT

Un excellent guide sur SystemD / Systemctl / Journalctl

CMDB : La cartographie de l'infrastructure | Stéphane ROBERT

Tout est dans le titre

J'ai discuté avec ChatGPT - Richard Dern

Tout est dans le titre

Ubuntu 24.04 et + : Changer le port d'écoute du serveur SSH - Wiki - Wiki

Canonical a décidé qu'OpenSSH utilisera le socket systemd... donc le port d'écoute ne sera plus configuré dans /etc/ssh/sshd_config

GCP et Terraform Chap. 1 - Préparation de l'environnement :: Dans les nuages ☁

Une installation Google Cloud Platform (GCP) pilotée par Terraform

La priorisation des fonctionnalités : L’art et la stratégie du Product Owner

L'auteur présente quelques méthodes utilisées pour définir les priorités des User Stories : méthode MoSCoW, story mapping, buy me a feature, planning poker et matrice de priorité

CSS :has() Interactive Guide

Un excellent article très complet sur la pseudo classe :has -elle permet de changer le style d'un élément selon qu'il contienne tel ou tel enfant

2FAS - the Internet's favorite open-source authenticator

Une application libre pour l'authentification à 2 facteurs

Modernizing PHP apps using DDD with Symfony

L'auteur parle de l'utilisation de Symfony Messenger pour l'exécution de taches en arrière plan. Il ne parle pas vraiment de DDD, mais un peu de CQRS