Quotidien Shaarli

Tous les liens d'un jour sur une page.

September 4, 2025

GitHub - stalwartlabs/stalwart: All-in-one Mail & Collaboration server. Secure, scalable and fluent in every protocol (IMAP, JMAP, SMTP, CalDAV, CardDAV, WebDAV).

Un serveur tout-en-un de mails et d'outils collaboratifs

Keep a Developer Log (Your Future Self Will Thank You)

Tenir un journal de développeur est une habitude simple mais puissante : il s’agit de noter quotidiennement les tâches en cours, les dettes techniques identifiées, les points à partager avec l’équipe, et les réflexions ou décisions prises. Ce processus libère de la charge mentale, améliore la communication avec l’équipe, rend visible la dette technique et permet de mesurer sa progression sur le long terme. En 5 à 10 minutes par jour, on gagne en efficacité et en clarté, tout en facilitant la reprise de contexte ultérieure. L’astuce ? Commencer modestement et adapter le format à son propre flux de travail. Un outil précieux pour soi et pour son équipe.

StyleSpark - Design Systems, Color Palettes & Gradient Generator

Un ensemble d'outils autour de la couleur : générateur de palettes, extraction de couleur d'images, etc.

Installer et configurer un VPN WireGuard sur Ubuntu : guide complet – Idriss Code

Ce guide complet explique comment installer et configurer un VPN WireGuard sur un VPS Ubuntu pour naviguer de manière sécurisée et anonyme. WireGuard, léger et intégré au noyau Linux, utilise des algorithmes modernes comme ChaCha20 et Curve25519. Le processus inclut : l’installation de WireGuard, la génération des clés de chiffrement, la configuration du serveur et du client, l’activation du forwarding IP et du NAT, ainsi que la gestion des règles pare-feu. Une fois configuré, le VPN permet de rediriger tout le trafic internet via le serveur, avec des options pour exclure le réseau local si besoin. Le guide propose aussi des astuces pour ajouter plusieurs clients, dépanner les connexions et optimiser la sécurité (changement de port, surveillance des connexions). Idéal pour protéger sa vie privée, WireGuard offre une alternative simple et performante à OpenVPN

GitHub - steipete/agent-rules: Rules and Knowledge to work better with agents such as Claude Code or Cursor

Il s'agit d'une collection de règles communes pour les assistants de code IA comme Claude Code ou Cursor

Unicode et UTF-8 · Accueil

Unicode et UTF-8 sont deux standards complémentaires mais distincts : Unicode est une base de données universelle qui associe un numéro unique (point de code) à chaque caractère, symbole ou emoji, couvrant toutes les langues et bien plus. UTF-8, quant à lui, est un encodage qui permet de représenter ces points de code en binaire, de manière rétrocompatible avec l’ASCII et optimisée en espace (1 à 4 octets par caractère). L’article explique pourquoi l’ASCII, limité à 128 caractères, a cédé la place à Unicode pour gérer la diversité linguistique, et comment UTF-8 s’impose comme le format dominant grâce à son efficacité et sa compatibilité. Il aborde aussi les subtilités comme les graphèmes (combinaisons de points de code) et la normalisation, rappelant que la notion de "caractère" est plus complexe qu’il n’y paraît.

Open-Source JavaScript PDF Viewer – Fast, Customizable & Framework-Agnostic | EmbedPDF

Il s'agit d'une visionneuse PDF JavaScript intégrable

Oxbow UI - Tailwind CSs Gradient Generator

Un générateur de gradient pour Tailwind

Ce que les paradigmes de programmation disent vraiment

L’article explore comment le choix d’un langage ou d’un paradigme de programmation (déclaratif, impératif, fonctionnel, orienté objet) reflète bien plus qu’une simple préférence technique : il s’agit d’un choix politique et philosophique. Chaque paradigme impose une vision distincte de la résolution de problèmes et influence notre façon de penser le monde. La programmation déclarative se concentre sur le résultat à obtenir, laissant à la machine le soin de trouver la solution, tandis que l’impérative détaille les étapes à suivre. La programmation fonctionnelle, avec ses fonctions omnipotentes, suggère une approche hiérarchique et autoritaire, alors que l’orienté objet, en privilégiant des agents autonomes et collaboratifs, reflète une vision confédérale et distribuée. Ces choix ne sont pas neutres : ils façonnent notre cognition, nos réflexes, et même nos structures sociales, comme le montre la loi de Conway. En somme, programmer, c’est aussi adopter une certaine vision du monde et des rapports de pouvoir.