Hebdomadaire Shaarli

Tous les liens d'un semaine sur une page.

Semaine 02 (January 9, 2023)

Optimiser les images (à la main) de manière un peu trop hardcore – l3m website

L'auteur propose 2 choses : utiliser webp, et appliquer un très léger flou gaussien aux images

OpenZFS - The Final Word in File Systems

Une explication en profondeur du fonctionnement d'OpenZFS, le système de fichier au coeur de TrueNAS

Understanding File Handling in Python, with Examples - SitePoint

La gestion de fichiers en python

Data binding in React: how to work with forms in React

L'auteur présente le data binding dans React, et donne quelques bons conseils pour éviter les quelques pièges.

Faking Min Width on a Table Column | CSS-Tricks - CSS-Tricks

L'auteur montre une astuce pour l'élément table, astuce qui permet de donner une largeur minimale à une colonne. Les commentaires de l'article donnent une autre solution (plus propre à mon avis)

Gestion des volets avec Home Assistant | OmiTech

L'auteur montre la création d'un moteur de gestion de volets génériques sous Home Assistant.

Git par la pratique (4) – Initialiser un dépôt Git

Il s'agit d'un tutoriel pour les débutants : l'auteur montre l'initialisation d'un dépôt git en local, et comment faire son premier commit

Comment envoyer des notifications push sur votre téléphone facilement et gratuitement ?

Korben présente ntfy, un projet open source qui permet d'envoyer une notification à votre téléphone.

PHP 7 Type Hinting: Inconsistencies and Pitfalls

L'auteur explique certaines particularités / problèmes des types en PHP7.
Il préconise l'utilisation du mode strict et de ne jamais avoir besoin de typage faible. On devrait toujours connaître le type précis de nos variables. Enfin il faut éviter au maximum le type nullable.

Nginx, Docker et Fail2ban - Paranoiaque/Paranoid

L'auteur montre comment combiner un conteneur Docker pour Nginx avec Fail2Ban.

Utiliser l’API d’OpenAI avec Symfony

L'auteur montre l'utilisation de l'API d'OpenAI dans un projet Symfony.

Homelab - Quelles configurations choisir pour se former aux technos DevOps

Tout est dans le titre

Gluon - Develop desktop apps from websites, using system installed browsers and NodeJS.

Il s'agit d'un concurrent à Electron, qui permet de développer des applications Desktop en utilisant des technologies web

Redwatch | Franchement, tu sais d'où vient la performance de rsync ?

Une explication du fonctionnement de rsync, très ingénieux

Comment traiter des fichiers JSON volumineux en Python

L'auteur montre l'utilisation de la librairie ijson pour le traitement de gros fichiers json en python

:has is an unforgiving selector | CSS-Tricks - CSS-Tricks

:has est un sélecteur CSS3 qui "plante" en cas d'erreur sur le contenu de la sélection. Par exemple :has(h2) fonctionne alors :has(h2, ul, ::-truc-qui-rate) ne fonctionnera même pas pour h2 ou ul.

winstall - GUI for Windows Package Manager

Un concurrent de Chocolatey

Quick Tip: How to Filter Data with PHP - SitePoint

L'auteur montre comment filtrer et assainir les données en PHP

Créer une arborescence en CSS uniquement - Dév. Web - ShevArezo`Blog

L'auteur détaille pas-à-pas la création d'une arborescence en CSS, en combinant CSS et éléments HTML bien choisis

Clever Code Considered Harmful

L'auteur développe l'idée que le code lisible est infiniment supérieur au code "intelligent". Pour juger de la lisibilité, il se demande si un junior pourrait comprendre le code sans souci...

Customizing HTML Form Validation

L'auteur montre l'existence de propriétés JavaScript sur les éléments de formulaire (validity) et comment s'en servir pour customiser l'affichage des erreurs de validation.

Que sont les blob URLS ?

Je cite l'auteur


Les blob URLs sont des URLs (Uniform Resource Locators) générées dynamiquement qui permettent d'accéder aux données binaires stockées dans un objet Blob (Binary Large OBject) en JavaScript.

Fluid Typography: Predicting A Problem With Your User’s Zoom-In

L'utilisation de clamp pour de la typographie fluide dans un contexte de design responsive n'est pas sans causer quelques problèmes d'accessibilité : le zoom peut être perturbé. L'auteur explore quelques pistes pour remédier à cela

Mise en place de son micro site

L'auteur explique la mise en place et le déploiement d'un site statique généré grâce à Hugo

DAS, SAN et NAS pour les débutants - Stockage informatique

L'auteur explique de manière synthétique les différences entre DAS, SAN, NAS et stockage cloud.

Symfony + Filebeat + Elasticsearch | by Fabien Paitry | Jan, 2023 | Medium

L'auteur montre le monitoring des logs d'une application Symfony via Monolog / Filebeat / Elasticsearch et Kibana

Afficher n'importe quel drapeau du monde avec flag-icons | Makina Corpus

Tout est dans le titre

Comment relier Domoticz à HomeAssistant (MQTT)

L'auteur montre comment envoyer dans Domoticz les données des capteurs collectés par HomeAssistant via MQTT

Exemple de gestion du volet roulant de ma cuisine | OmiTech

Suite de l'article précédent sur la gestion de volets roulants avec Home Assistant : le cas concret

Chronique d’un retour en douceur au présentiel avec React Day Berlin, qu’attendre des conférences ? | Blog Eleven Labs

Un compte rendu de conférences auxquelles a assistées l'autrice... et un compte rendu très sympa de son expérience de bénévole

Quel langage apprendre en 2023 ?

Pour résumer, apprendre surtout à communiquer ^^ Plus on devient senior, plus on est amené à communiquer

Qualité — David Larlet

Des réflexions autour de la qualité de code et du problème de la transmission de la connaissance ayant amené au code

PHP DateTime: Create, Compare and Format Dates Easily

L'auteur explique les avantages d'utiliser DateTime plutôt que les fonctions date, mktime et autres en PHP.

How to create a Ceph cluster on a single machine

Ceph est une solution libre de stockage distribué. L'auteur montre comment créer un cluster sur une seule machine (tester, apprendre)

Binding Self-Validating Domain Models To Symfony Forms

L'auteur montre comment utiliser les formulaires Symfony, tout en gardant des entités représentant réellement des concepts du domaine métier. Le point principal est la possibilité de vérifier des contraintes sur la partie "setter" et de donner un nom métier au setter.