Mensuel Shaarli

Tous les liens d'un mois sur une page.

January, 2025

Proposer des contenus similaires avec Laravel/Eloquent — Corentin Hatte

Tout est dans le titre

Migrer sa base de données Gitea de SQLite vers MySQL/MariaDB – Le blog de Seboss666

Tout est dans le titre

Architecture Decision Process

Une explication de ce que sont les Architecture Decision Record

Mise en place d'une architecture Data Lakehouse conforme au RGPD avec Apache Iceberg sur AWS

Tout est dans le titre

Ajouter des animations à son site web avec Lottie - Blog - Code-Garage

Lottie est un format d’animation basé sur JSON

Compiler /e/OS depuis les sources – Le blog technique de Microlinux

Tout est dans le titre

La notion de message en programmation

Tout est dans le titre

Digressions sur les matériaux composites - Le Hollandais Volant

Tout est dans le titre

How to Set Up OAuth2 Authentication with Symfony 7.2 and Google | by Johann Bernez | Jan, 2025 | Medium

Tout est dans le titre

OverAPI.com | Collecting all the cheat sheets

Tout est dans le titre

Intégrer un moteur de recherche dans un site statique

Tout est dans le titre

Some Things You Might Not Know About Custom Counter Styles | CSS-Tricks

Tout est dans le titre

Types of SQL Commands: DDL, DML, DQL, DCL, and TCL – SitePoint

Tout est dans le titre

SQL Transactions in Go: The Good Way | Thibaut Rousseau's Blog

Tout est dans le titre

Alors ? Vous êtes content de votre imprimante Bambu Lab ?! - LinuxFr.org

Tout est dans le titre

Détecter les erreurs JS avec Playwright

Tout est dans le titre

The One Hour Expression Language

Une excellente introduction sur les "expression languages" : tokenizer, parser, evaluator

Les constructeurs nommés comme alternative aux constructeurs multiples en PHP

Tout est dans le titre

What is TCP/IP Model and How Does The Protocol Work – SitePoint

Tout est dans le titre

TypeScript enums: use cases and alternatives

Tout est dans le titre

Mon avis sur ChatGPT et les autres IA génératives - Le Hollandais Volant

Tout est dans le titre

Bore - Un tunnel TCP rapide et léger pour exposer vos ports locaux sur le net | Logiciels utiles | Le site de Korben

Tout est dans le titre

Installation et configuration de Stirling PDF | Libre à vous

Tout est dans le titre

Analyser du code PHP avec PHPStan - Alsacreations

Tout est dans le titre

Mistakes engineers make in large established codebases | sean goedecke

Tout est dans le titre

Linux LPIC-1 (101-500) #3 – Recherches et gestion de permissions – La fin des K7 📼

Tout est dans le titre

"Refactoring" de Martin Fowler | @VinceOPS | Blog d'un passionné

Un très bon résumé

Git : Astuces et productivité #1 | @VinceOPS | Blog d'un passionné

Tout est dans le titre

TypeScript - 3/3 : Installation & Migration | @VinceOPS | Blog d'un passionné

Tout est dans le titre

The Role Of Illustration Style In Visual Storytelling — Smashing Magazine

Tout est dans le titre

Observer votre application Symfony en toute simplicité avec OpenTelemetry (partie 2) | Les-Tilleuls.coop

Tout est dans le titre

Ergol : Un an plus tard // /home/lord

Ergol est une disposition clavier ergonomique... L'auteur semble en être extrêmement content

You don't need JavaScript for that - HTMHell

L'auteur rappelle le principe de moindre pouvoir : choisir le langage le moins puissant pour un but donné — on permet ainsi de laisser le navigateur la manière d'accomplir ce que l'on souhaite.

Il présente ensuite quelques éléments / fonctionnalités pour lesquelles JavaScript peut être remplacé avantageusement par du HTML / CSS :

  • Custom Switches
  • Datalist, un composant avec autocomplétion native
  • Un Color picker
  • Accordions
  • Dialog modals

Il rappelle à chaque fois les meilleures pratiques d'accessibilité.

Do you know color-scheme? - HTMHell

Tout est dans le titre

Packer, vSphere, et UbuntuServer – Tips4tech.fr

Tout est dans le titre

DOM Clobbering - HTMHell

Présentation d'une faille par injection HTML intéressante (et c'est pas du XSS) et comment s'en prémunir (utiliser DOMPurify)

WebDAV : un serveur léger en Go

Tout est dans le titre

Whirl: CSS loading animations with minimal effort!

une bibliothèque d'animations CSS pour des loader

Node’s new built-in support for TypeScript

Tout est dans le titre

La gestion des erreurs côté front : approches modernes avec JavaScript, TypeScript et React | Les-Tilleuls.coop

Tout est dans le titre

Reading the meter - HTMHell

Une présentation très complète de l'élément meter : accessibilité, sémantique, etc.

Unit Testing Clean Architecture Use Cases

Tout est dans le titre

How to make your web page faster before it even loads | Product Blog • Sentry

Tout est dans le titre

Balancing Text In CSS

Un guide assez complet sur l'utilisation de text-wrap: balance et text-wrap: pretty

What Does AI Really Mean? — Smashing Magazine

Une introduction à l'intelligence artificielle

You Don't Need ARIA For That - HTMHell

L'auteur montre plusieurs cas où les attributs ARIA ajoutent du bruit... et sont inutiles

Lua is so underrated | Noë Flatreaud

L'auteur liste quelques avantages de Lua

lorenzofox blog | Schema first design

Une présentation des schémas Json, avec ou sans utilisation de TypeScript

daisyUI — Tailwind CSS Components ( version 4 update is here )

Tout est dans le titre

How to Set Up the New Google Auth in a React and Express App — SitePoint

Tout est dans le titre

Streaming de sa propre musique avec l’application Nextcloud Music | Pascal's weblog

Ça n'a pas été sans mal mais l'auteur nous explique comment corriger quelques soucis

#1 button disguised as a link - HTMHell

Tout est dans le titre

#3 image-buttons - HTMHell

L'auteur montre comment utiliser des images dans des boutons

#6 link with void operator as href value - HTMHell

Très mauvais code : <a href="javascript:void(1)" onClick='window.location="index.html"'>Link</a>

#12 accessible poll yes/no - HTMHell

Comment utiliser proprement un input de type "radio"

#13 link or label - HTMHell

TLDR : ne pas mettre un lien dans un label

Comment fonctionnent les comprimés effervescents ? - Couleur-Science

Tout est dans le titre

#16 alt, no wait…, aria-label, no wait…, alt - HTMHell

Quand utiliser ou ne pas utiliser les attributs aria

#18 main divigation - HTMHell

Utilisation des bons éléments HTML pour la navigation d'un site

#21 Legendary legend! - HTMHell

L'auteur explique quand utiliser l'élément legend

Linux LPIC-1 (101-500) #2 – Edition de fichiers et ligne de commande – La fin des K7 📼

Tout est dans le titre

Web Performance Calendar » Fabulous Font-Face Fallbacks

Tout est dans le titre

Lifehacking - gérer et optimiser son temps - Pas Sage en Seine

Tout est dans le titre

My Favorite Self-Hosted Apps Launched In 2024

Tout est dans le titre

Migrer une installation Linux – La fin des K7 📼

Tout est dans le titre

Broadcast, Unicast, Multicast et Anycast pour les débutants

Tout est dans le titre

7 meilleurs versions de Windows non officielles - malekal.com

Tout est dans le titre

Comment maîtriser sa dette technique

La dette technique, concept popularisé par Ward Cunningham, désigne les compromis pris lors du développement logiciel pour livrer rapidement, au détriment de la qualité à long terme. Elle se manifeste par un code difficile à maintenir, des bugs récurrents et un ralentissement de l’innovation. Pour la maîtriser, il est essentiel de l’évaluer régulièrement avec des outils comme SonarQube (mesure de la complexité, duplication, couverture de tests, etc.) et d’adopter des pratiques DevOps : revues de code systématiques, tests automatisés, standardisation de la stack technologique, et veille sur l’obsolescence des dépendances. L’enjeu est de trouver un équilibre entre rapidité de livraison et qualité, en planifiant des itérations dédiées à la réduction de la dette et en évitant l’accumulation de couches technologiques hétéroclites. L’objectif ? Transformer un frein en levier d’innovation durable.

Highlight active menu entry with Symfony UX Components | by Florian Völker | Jan, 2025 | Medium

Tout est dans le titre

Travailler avec du JSON et PostgreSQL - Geotribu

Tout est dans le titre

Positioning Text Around Elements With CSS Offset | CSS-Tricks

Tout est dans le titre

[Snowcamp] Je malmène ta prod en direct avec 15 failles de sécu – riduidel's wordpress

Tout est dans le titre

Blog Eleven Labs - Black : le formateur rapide de code python

Tout est dans le titre

Async with Composition API

Une subtilité JavaScript qui s'applique à Vue

Proxmox Backup Server - Aukfood

Tout est dans le titre

Ne venez pas dire que vous n’étiez pas prévenus…

...

Recherche multilingue en texte intégral avec PostgreSQL (partie 2)

Tout est dans le titre

Découverte de DICOM, le format d'imagerie médicale - PARTIE 2 : les données - FLOZz' Blog
Managing Virtual Entities in Symfony’s EasyAdmin Without Doctrine Persistence | by Maurice Bennett | Jan, 2025 | Medium

Tout est dans le titre

Learn Data Structures and Algorithms: Complete Tutorial - SitePoint

Une introduction aux structures de données et aux algorithmes avec quelques suggestions pour approfondir le sujet

PHP, DTOs, C-DTO and You 🫵

Un article très complet sur les DTO : ce qu'ils sont, à quoi ils servent, les pièges à éviter

A checklist for your `tsconfig.json`

Tout est dans le titre... à part qu'il s'agit du fichier de configuration pour TypeScript

How React's Render, Effects and Refs work under the hood

Tout est dans le titre

Installer FreePBX 17 – le guide complet – boxIP

Tout est dans le titre

Écrire une API idempotente (exemple en PHP avec Symfony)

Tout est dans le titre

Git : Astuces et productivité #2 | @VinceOPS | Blog d'un passionné

Les astuces :

  • alias git
  • indexation partielle
  • vscode
TypeScript : résolution des modules JSON | @VinceOPS | Blog d'un passionné

Tout est dans le titre

TypeScript - 1/3 : Présentation | @VinceOPS | Blog d'un passionné

Tout est dans le titre

Observer votre application Symfony en toute simplicité avec OpenTelemetry (partie 3) | Les-Tilleuls.coop

Tout est dans le titre

Polars : L’alternative ultra-rapide à Pandas pour la manipulation de données en Python !

Tout est dans le titre

The Form Attribute - Enhancing Form Layout Flexibility - HTMHell

Si vous avez un formulaire dont le bouton "submit" n'est pas placé entre les balises

, alors il vous suffit de donner un id à votre formulaire, et d'ajouter l'attribut "form" au bouton "submit" avec l'id du formulaire.

TypeScript enums and falsy values - Jack Franklin

Tout est dans le titre

What is the Difference Between Alternative Text, Long Description, and Caption? - HTMHell

Tout est dans le titre

Tabler Icons: 5800+ free vector icons for web design

Tout est dans le titre

The Popover API: Building Modals Has Never Been Easier | by Digvijay Mahapatra | Jan, 2025 | JavaScript in Plain English

Tout est dans le titre

SVG Repo - Free SVG Vectors and Icons

Tout est dans le titre

Meaningful labels using ARIA – or not. - HTMHell

Tout est dans le titre

Blog Eleven Labs - Méthode pour créer un environnement de revue avec Gitlab CI

Tout est dans le titre

Google Testing Blog: Arrange Your Code to Communicate Data Flow

Tout est dans le titre

Adding Complementary Performance Data to Your Site - HTMHell

Tout est dans le titre

QNAP : un DAS pour S3

DAS = Direct Attached Storage
L'auteur explique l'utilisation de Garage pour faire des sauvegardes S3 en local avec Restic sur un DAS QNAP

Copier une image Docker d'une registry à une autre

Tout est dans le titre

Using SRI to protect from malicious JavaScript - HTMHell

L'auteur explique à quoi servent les attributs integrity et crossorigin dans

<script src="https://unpkg.com/react@18/umd/react.production.min.js"
integrity="sha384-tMH8h3BGESGckSAVGZ82T9n90ztNXxvdwvdM6UoR56cYcf+0iGXBliJ29D+wZ/x8"
crossorigin="anonymous">

How to transfigure wireframes into HTML - HTMHell

L'autrice explique son cheminement / sa réflexion pour la transformation d'un wireframe en HTML : plan, choix des éléments, accessibilité, etc.

1.2.Train - Billets de train SNCF

À tester pour acheter des billets de train

French startup bashing ?

Article très intéressant sur l'évolution financière du secteur de la tech

Illégal d'être freelance ?

Un article intéressant sur le salariat déguisé, etc.

Sidero Omni - Talos Linux sur Oracle Cloud (en free tier)

L'auteur a gagné un an d’abonnement au SaaS de Sidero Labs (les créateurs de Talos Linux), Omni. Omni est une solution de déploiement de clusters Kubernetes qui permet d’orchestrer des serveurs sous Talos, un Linux dédié à Kubernetes.
Comme Oracle Cloud propose un free tier et comme Talors / Omni supportent Oracle Cloud, l'auteur montre comment déployer Talos Linux sur Oracle Cloud.

#4 link-also-button - HTMHell

Encore un exemple de utilisé comme bouton

#7 multiple duplicate ids and table layout - HTMHell

On n'utilise pas un table pour le design d'une interface... et les "id" sont uniques

#11 The trigram for heaven - HTMHell

<span class="nav-toggle"> ☰ Menu </span> est mauvais pour l'accessibilité. L'auteur explique comment résoudre ces problèmes

#15 letter by letter - HTMHell

Comment trouver un compromis entre accessibilité et effet visuel

Comparaison critique de systèmes d'invite de commande - LinuxFr.org

Tout est dans le titre

#17 inaccessible cards - HTMHell

Utilisation des bons éléments HTML pour créer une card accessible

#19 heading in the wrong direction - HTMHell

L'auteur montre un extrait de HTML avec une mauvaise utilisation de titre hX et des div inutiles. Il s'agit d'un code généré par un framework JavaScript. Or ceux ci fournissent généralement des mécanismes pour éviter d'avoir des éléments en trop (comme les fragments dans React)

Web Performance Calendar » Breaking Up with Long Tasks or: how I learned to group loops and wield the yield

Tout est dans le titre

Déploiement d'un cluster Proxmox VE 8 sur des serveurs dédiés (1/2)

Tout est dans le titre

Transitioning Top-Layer Entries And The Display Property In CSS — Smashing Magazine

Tout est dans le titre

Computing with tuples in TypeScript

Tout est dans le titre

What On Earth Is The `types` Descriptor In View Transitions? | CSS-Tricks

Il s'agit d'une façon plus fine d'utiliser les Cross-Document View Transitions, qui permettent de faire des effets de transition quand on passe d'une page à une autre via un clic.

Cancelable background tasks in Rust

Tout est dans le titre

Python, la non-documentation

Tout est dans le titre

Power monitoring with Home Assistant, MQTT, Rust and a Raspberry Pi · Stan's blog

Tout est dans le titre

Revisiting CSS Multi-Column Layout | CSS-Tricks

Tout est dans le titre

Mettre en place CKEditor 5 avec Symfony, Asset Mapper et Stimulus - Jonathan Scheiber

Tout est dans le titre

10 new Git commands you should start using today - Blog - Appwrite

Tout est dans le titre

DevDocs API Documentation

La documentation de plein de langages / frameworks rassemblée en un seul site

Bien gérer son projet libre : que faire au-delà du code ? - Libre à lire !

Tout est dans le titre

[Snowcamp] Tester c’est tricher – riduidel's wordpress

Un résumé d'une conférence sur les tests

Liste des expressions - PasFuteFute

^^

Centraliser vos déploiements GitOps avec ArgoCD SCM Provider Generator

Tout est dans le titre

How not to learn Rust

Tout est dans le titre

FFmpeg By Example

Tout est dans le titre

Valider les types énumérés Django en base de données | Makina Corpus

Tout est dans le titre

Recherche multilingue en texte intégral avec PostgreSQL (partie 1)

Tout est dans le titre

Galette des rois à la frangipane trop facile de Zwindler

Tout est dans le titre

Gérer son DynHost OVH grâce à Kubernetes et Nixery – Le blog de Seboss666

Tout est dans le titre

Iceberg : l'avènement des Lakehouses

Apache Iceberg est un format de table aux caractéristiques très intéressantes : support des transactions ACID, évolution des schémas de données, time travel / rollback, etc.

Ce blog n'existait plus pour Google - Le blog de Genma

Une astuce pour l'hébergement de sites SPIP avec Yunohost

Fancy Menu Navigation Using Anchor Positioning | CSS-Tricks

Très joli

Gérer un projet Git — Partie 4 : réécrire l'histoire — Corentin Hatte

Tout est dans le titre

Un mois d’astuces Flutter: tout ce qu’il faut retenir

Tout est dans le titre

K8S #01 : Flannel, MetalLB, Nginx – Tips4Tech.fr

Tout est dans le titre

What I Learned (and Unlearned) Reading 10 Books on Nutrition - Scott H Young

Tout est dans le titre

Rust : Premiers retours sur le langage | @VinceOPS | Blog d'un passionné

Tout est dans le titre

TypeScript : Typage et Généricité | @VinceOPS | Blog d'un passionné

Tout est dans le titre

TypeScript - 2/3 : Pourquoi l'adopter | @VinceOPS | Blog d'un passionné

Tout est dans le titre

Journal de bord de l’apprentissage du Domain-Driven Design : Jour 3 - Blog - Hugues Gobet

Tout est dans le titre

Observer votre application Symfony en toute simplicité avec OpenTelemetry (partie 1) | Les-Tilleuls.coop

Tout est dans le titre

Back to Basics: 5 HTML attributes for improved accessibility and user experience - HTMHell

5 attributs HTML pour améliorer l'accessibilité :

  1. hreflang -> indique la langue de la page pointée par un lien
  2. translate -> si on met "no" on indique que le terme ne doit pas être traduit (pratique pour les noms de ville, etc.)
  3. reversed -> utile pour les éléments ordonnées
    1. controls -> affiche les contrôles pour les vidéos ou la musique
    2. autocomplete -> indique au navigateur d'afficher l'autocomplétion, on peut même préciser où chercher (nom du champ)
A Theory of Web Relativity - HTMHell

Utilisation de l'attribut "rel" et des différentes valeurs permises

Terraform, vSphere, et cluster K8S – Tips4tech.fr

Tout est dans le titre

Mini-guide to add an image - HTMHell

Tout est dans le titre

La virtualisation pour les nuls et autres enjeux autour des datacenters - LinuxFr.org

Tout est dans le titre

Improving SEO without knowing where to start - HTMHell

Tout est dans le titre

Gérer un projet Git — Partie 3 : comprendre l'historique — Corentin Hatte

Tout est dans le titre

Flutter : interagir avec du code natif (avec les method channels)

Tout est dans le titre

Lesser Known Uses Of Better Known Attributes — Smashing Magazine

Tout est dans le titre

Nobody Gets Fired for Picking JSON, but Maybe They Should? · mcyoung

Tout est dans le titre

LHDG22. Sauvons les hyperliens | Grise Bouille

Tout est dit

Landmarks and where to put them - HTMHell

L'auteur explique la sémantique des éléments header, main, aside, etc.et comment ils aident à la fois à structurer la page web mais aussi à faciliter son accessibilité

Découverte de DICOM, le format d'imagerie médicale - PARTIE 1 : la structure - FLOZz' Blog

Tout est dans le titre

Why does storing two-factor authentication codes in your password manager make sense? - Andy Grunwald

Tout est dans le titre

Integrate Neo4j With Symfony: A Step-by-Step Guide | by Ghlen Nagels | Neo4j Developer Blog | Dec, 2024 | Medium

Tout est dans le titre

Maximum Speed SQLite Inserts | Julik Tarkhanov

Tout est dans le titre

New Front-End Features For Designers In 2025 — Smashing Magazine

Tout est dans le titre

WebAssembly as an ecosystem for programming languages

Tout est dans le titre

#2 div with button role - HTMHell

Tout est dans le titre

#5 button-like-link - HTMHell

Encore un exemple de utilisé comme bouton

#9 Cookie Consent from Hell - HTMHell

Comment écrire une "bonne" bannière d'acceptation des cookies

#10 <section> is no replacement for <div> - HTMHell

Exemple de mauvaise et de bonne structuration d'une section de page

#14 not my type - HTMHell

TLDR : si vous avez besoin d'un élément bouton, utilisez un élément bouton

Do Androids Dream of Microsoft Excel? - ShawnMc.Cool

Un article très intéressant dans lequel l'auteur compare 2 styles de développement (piloté par les données versus piloté par les besoins métiers), et leur relation avec l'automatisation possible ou non de process métiers.

#20 HTMHell special: close buttons - HTMHell

Comment ajouter un bouton "fermer" à une modale proprement

#22 the good ol’ div link - HTMHell

L'auteur explique pourquoi ne pas utiliser une div pour faire un lien

go-shiori/shiori: Simple bookmark manager built with Go

Tout est dans le titre

Web Performance Calendar » Designing websites for bad performance

Tout est dans le titre