Daily Weekly Monthly

Monthly Shaarli

All links of one month in a single page.

July, 2023

Sharing TypeScript with Nx and Turborepo: An Introduction to Monorepos | by Joseph T. Lapp | Jul, 2023 | JavaScript in Plain English

Une introduction aux monorepos, une nouvelle façon de gérer les dépendances entre applications qui utilisent des technos et des config similaires. C'est une alternative aux librairies publiées sur nom et à la duplication de code.

Ça vient avec un ensemble de contrainte bien sûr, mais l'approche est intéressante.

Vytal - Spoof Timezone, Geolocation, Locale and User Agent

Une extension (uniquement pour les navigateurs basés sur Chromium) qui permet de modifier les informations personnelles que les sites web que vous visitez obtiennent en interrogeant votre navigateur (localisation, langue, user agent, etc.).

Via https://korben.info/decouvrez-vytal-extension-chrome-navigation-anonyme.html

Configurer IPv6 sur un serveur dédié - OVHcloud

Visiblement quand on prend un VPS chez OVH, l'IPv6 n'est pas configurée par défaut. Voici un guide pour la configurer, avec une copie des infos qui m'intéressent pour Ubuntu ci-dessous.

Prérequis :

  • Disposer d’un serveur dédié dans votre compte OVHcloud.
  • Disposer d'une (ou plusieurs) Additional IP configurée avec une vMAC, si vous souhaitez configurer plusieurs adresses IPv6.
  • Avoir toutes les informations relatives à votre IPv6 (préfix, passerelle...).
  • Avoir des connaissances de base en SSH et en réseau.

Modifier le fichier qui est dans /etc/netplan (dans mon cas: /etc/netplan/50-cloud-init.yaml) et remplace les placeholders en majuscules (si vous n'avez pas de prefix, mettez /128) :

Ubuntu 18 et 20 :

network:
    version: 2
    ethernets:
        enp1s0:
            dhcp4: true
            match:
                macaddress: 00:04:0p:8b:c6:30
            set-name: enp1s0
            addresses:
              - YOUR_IPV6/IPv6_PREFIX
            gateway6: IPv6_GATEWAY
            routes:
                - to: IPv6_GATEWAY
                  scope: link

Ubuntu 21 et 22 :

network:
    version: 2
    ethernets:
        enp1s0:
            dhcp4: true
            match:
                macaddress: 00:04:0p:8b:c6:30
            set-name: enp1s0
            addresses:
              - YOUR_IPV6/IPv6_PREFIX
            routes:
                - to: ::/0
                  via: IPv6_GATEWAY
                - to: IPv6_GATEWAY
                  scope: link

Testez la config: netplan try

Si elle est correct, appliquez là: netplan apply

Vous pouvez ensuite tester la connectivité avec:

ping6 -c 4 2001:4860:4860::8888
Filigrane Facile

Un filigrane à ajouter aux documents officiels que vous envoyez à des sociétés tierces.

Dealing With Concurrency At The Cluster Level – Damien Metzler's blog – Java Architect in the Cloud

La gestion de l'accès concurrent à une ressource unique par les différents noeuds d'un cluster est toujours un problème épineux.

Concrètement la seule solution possible consiste souvent à introduire un système transverse (Hazelcast dans cet exemple, mais j'imagine qu'on peut faire de même avec un Redis par exemple) qui coordonne les accès et bloque un noeud si la ressource est en cours d'utilisation.

JWTs vs. sessions: which authentication approach is right for you? - Stytch

Deux méthodes d'authentification distinctes qu'il est important de bien comprendre.

LockHunter is a free 64/32 bit tool to delete files blocked by any processes

Un outil pour déverrouiller un fichier utilisé par un autre processus sous Windows.

Via https://korben.info/lockhunter-debloquez-efficacement-vos-fichiers-sous-windows.html

Generators | Yeoman

Si vous vous posez la question de comment démarrer un projet en Node.js, cette lib donne accès à des templates standards.

Vous pouvez bien sûr consulter les templates directement sans passer par la lib et piocher uniquement ce qui vous intéresse.

5 Inconvenient Truths about TypeScript

Un regard plutôt objectif sur TypeScript qui colle assez bien à ma vision des choses.

Logseq: A privacy-first, open-source knowledge base

Une appli de prise de note améliorée, type Obsidian. Les notes sont stockées en local en Markdown et la sync dans le cloud est en beta mais nécessitera un abonnement.

Entretenir | Ademe

Entretenir les objets du quotidien pour les faire durer plus longtemps.

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

Toot toot! Mastodon-powered Blog Comments ⋅ Cassidy James Blaede

Un bel exemple de comment intégrer des toots Mastodon en guise de commentaire à la suite d'un article sur un site static (= sans aucune logique côté serveur).

Ce n'est finalement pas aussi simple qu'il y paraît 🤔

Revolt · GitHub

Une alternative open-source à Discord.

SQLPage

Original, un outil qui permet de créer un site web avec du SQL uniquement (et sûrement un peu de HTM, CSS).

Ma version des Simpson dans la vraie vie : r/midjourney

Les personnages des Simpson dans la vraie vie, imaginés par une IA. Certains sont loupés mais d'autres sont très réussis !

Architecture of an early stage SAAS | Feelback Blog

Le retour d'un développeur qui a monté une application de type SaaS de zéro sur les choix d'architecture qu'il a fait et pourquoi, dans le but d'avoir aussi peu de boulot de maintenance que possible.

J'aime beaucoup ce genre d'articles assez détaillés parce qu'il est parfois difficile de s'y retrouver parmi toutes les options à disposition aujourd'hui, en particulier avec les services cloud. Même si chaque choix peut être discutable, ça donne au moins un exemple de façon de faire qui semble avoir fonctionné.

Bien sûr, rien ne dit si ce business s'avère profitable, c'est une toute autre histoire.