Skip to content

Instantly share code, notes, and snippets.

View lpenaud's full-sized avatar
💻
Working

Loïc Penaud lpenaud

💻
Working
View GitHub Profile
@lpenaud
lpenaud / 0.ocr-pdf.md
Last active November 25, 2025 16:45
PDF ocr + compress

OCR PDF

Just a Deno script to run tesseract and ghostscript to produce small pdf with text.

You can use picture or pdf as infiles whatever supported by Tesseract and GhostScript.

Usage

deno run --allow-read \
@lpenaud
lpenaud / 0.debogue-java.md
Last active November 13, 2025 15:01
Débogage Java

Débogue java

Argument de la machine virtuel Java

  • -Xdebug : Assurer la compatibilité avec les anciennes version
  • -Xrunjdwp : Active le protocol de déboguage

Déboguage à distance via TCP

@lpenaud
lpenaud / gpg.md
Last active November 10, 2025 11:05
Memo git

Signature GPG

Git peut utiliser les clés GPG pour signer vos commits. En utilisant une signature GPG vous confirmez votre identité plus fortement.

Installation

Pour générer la clé vous aurez besoins d’une implémentation de OpenPGP. Comme GnuPG disponible sur les sytèmes Unix.

@lpenaud
lpenaud / fetch-with-progress-bar.md
Created November 2, 2025 13:55
Fetch with progress bar

Fetch avec une barre de progression

Dans l’exemple fournis j’utilise le premier cas. Pour le lancer il faut :

  • Un petit serveur statique, exemple avec Python3 : python3 -m http.server
  • Changer le lien dans le fetch("URL TO DOWNLAOD HERE") avec le chemin vers fichier sur le serveur statique.

Ressources MDN :

@lpenaud
lpenaud / code-extension.sh
Created October 29, 2025 17:22
Codium extension
#!/bin/bash
declare -a exts=()
while read -r line; do
exts+=(--install-extension "${line}")
done < code-extension.list
codium "${exts[@]}"
@lpenaud
lpenaud / README.md
Created July 29, 2025 09:09
Transfère de fichier SSH

Transfère de fichier SSH

Vous voulez transférer des fichiers sur un serveur à distance dont vous avez un accès SSH mais sans SFTP, SCP ou rsync fonctionnel ? Alors j'ai la solution la plomberie.

Par contre ce n'est absolument pas propre à ne pas faire en production.

Teeing

tee est une commande qui permet de d'écrire dans des fichiers ce qui lis depuis son entrée standard stdin.

@lpenaud
lpenaud / mediainfo.md
Created March 7, 2025 18:54
Mediainfo

Mediainfo

Mediainfo comes in handy for printing information from media files; however, some features, like --Output, are poorly documented or unclear.

Human readable tracklist

mediainfo --Output="General;%Track/Position%. %Title% - %Duration/String%\n" *.flac
@lpenaud
lpenaud / exemples.md
Last active September 16, 2025 12:56
GNU / Linux

Lister les processus qui écoute un port en particulier

sudo lsof -i :80

Récupérer l'identifiant du processus qui écoute un port donné

@lpenaud
lpenaud / README.md
Last active November 2, 2025 01:16
Jellyfin backup

Sauvegarde de Jellyfin

Maintenant que Jellyfin propose une option de création de sauvegardes, j’ai mis à jour mon processus de sauvegarde de mon instance.

  1. Se rendre dans la section sauvegarde du tableau de bord administrateur.
  2. Création d’une nouvelle sauvegarde avec uniquement les bases de données. Une nouvelle archive ZIP sera générée.
  3. Extraire l’archive ZIP dans un répertoire temporaire.
  4. Ajouter ce répertoire à l’archive tar contenant la sauvegarde du dossier des métadonnées.

Le script utilise la variable d’environnement JELLYFIN_DATA_DIR pour résoudre les différents chemins vers les données à sauvegarder.

@lpenaud
lpenaud / xml.ts
Last active January 22, 2025 17:42
XmlTransformStream
export interface TreeXmlNode {
name: string;
content: string;
children: TreeXmlNode[];
}
export interface XmlMark {
name: string;
content: string;
type: symbol;