Photo d’Adrien

Adrien

Présentation

Passionné par l’informatique, j’ai très vite adhéré aux principes de partage des connaissance du logiciel libre : pouvoir étudier le cœur des logiciels est assez fou et est une immense source d’inspiration.

Par curiosité, c’est déjà très intéressant de comprendre comment le programme fonctionnent, mais en plus, ça permet de proposer des améliorations ou de nouvelles fonctionnalités utiles à tout le monde.

En effet, en plus du partage de son fonctionnement, le développement du logiciel libre est centré sur les êtres humains et va donc implémenter ce dont tout un chacun aura besoin un jour ou l’autre.

J’ai remarqué récemment que, vieillissant, les outils d’accessibilités me deviennent de plus en plus utiles alors que je n’y avais jamais fait attention.

Par exemple, les options pour améliorer la vision sont devenus quelque chose d’important pour facilement agrandir les textes et augmenter les contrastes.

L’option --help qui est disponible dans quasiment tous les logiciels libres est aussi une bonne illustration que les logiciels sont développés pour les utilisateurs: l’aide pour utiliser le logiciel est souvent comprise dans le logiciel lui-même et c’est une évidence puisque le logiciel est libre, il n’y a pas de raison de cacher ses fonctionnalités à l’utilisateur.

C’est tellement agréable de savoir que cette aide existe toujours quand on a juste besoin de changer un paramètre ou deux. C’est juste là, à portée de main, pas besoin de brûler les resources de la planète avec des services comme des moteurs de recherche ou des intelligences artificielles.

Enfin, même si le logiciel n’est pas encore très développé et ne contient pas toutes les fonctionnalités, il est fort probable que d’autres utilisateurs partagent leurs découvertes sur le web. Comme le logiciel libre invite le partage de son fonctionnement, c’est assez naturel de se partager des astuces entre utilisateurs.

Mes développements

Je ne participe pas au développement de grand projets libres, mais de temps en temps je code un peu (sous license libre, évidemment 😀).

muttum
muttum est un jeu où vous devez deviner un mot en quelques essais.
acme-dns-tiny
acme-dns-tiny permet de créer des certificats TLS avec Let’s Encrypt. Il modifie des entrées du DNS pour confirmer que vous le détenez.
Github Release Notes To Changelog
Un outil pour créer un fichier CHANGELOG.md pour les projets qui n’utilisent que les releases notes de GitHub.
Pensez à vos utilisateurs et tenez un un journal des changements.

et quelques autres petits outils et contributions .

Boîte à outils

Le partage d’humain à humain est important, comme écrit dans ma présentation, je vous propose ci-dessous une liste des projets que j’utilise régulièrement.

Cette liste sera mise à jour de temps en temps. Si vous voulez des nouvelles plus régulières, vous pouvez consulter mon Blog ou mes comptes Mastodon et LinuxFr.org.

Mes outils quotidiens

debian
Le « système d’exploitation universel » : très stable, évolue régulièrement, c’est l’élément de base que j’installe sur toutes mes machines. C’est un réel bonheur d’avoir ce système qui me laisse utiliser mon ordinateur sans essayer de me vendre des services ou de vendre mes données (coucou Windows, coucou Apple…).
GNOME
Mon bureau préféré pour sa simplicité et son paradigme qui met en avant l’utilisation des applications.
zsh
Je ne sais plus bien pourquoi j’ai commencé à l’utiliser, mais cette interface en ligne de commande fonctionne bien pour mes besoins. Je l’ai configuré pour reprendre les raccourcis de VIM et la recherche dans l’historique fonctionne bien.
VIM
Le célèbre éditeur de texte disponible par défaut sur presque toute les machines. Il est très souple et peut même être utilisé comme environnement de développement. Étant développeur, c’est un des outils que j’utilise quotidiennement.
tmux
Comme j’ai souvent un terminal ouvert pour utiliser VIM, tmux est très pratique pour partager l’écran en plusieurs parties et créer des onglets dans le terminal lui-même. Je l’utilise également pour pouvoir copier/coller facilement le texte affiché dans mon terminal. Je le trouve tellement utile que j’ai configuré zsh pour lui dire de démarrer tmux à chaque démarrage.

Des utilitaires pour l’art de développer

git
git est l’outil le plus célèbre pour gérer l’histoire de son code source. J’apprécie particulièrement de pouvoir l’utiliser sans connexion Internet par défaut et de pouvoir travailler sur des fichiers sans bloquer les collègues.
Grâce à ces propriétés, je peux préparer avec soin mon correctif, le sauver temporairement, le reprendre et le modifier localement.
Enfin, quand je suis satisfait de l’état du correctif sur mon poste, je peux l’envoyer sur un serveur pour le partager.
podman
Un outil qui permet d’isoler et d’exécuter des programmes venant de partout. Très utile également pour partager son logiciel avec toutes les dépendances utiles pour son exécution.
Rust
Pour la plupart de mes projets, le language est une question de goùt et je m’adapte plutôt bien (surtout en entreprise où le choix a déjà été acté bien avant mon arrivée). Mais j’ai essayé Rust sur mes derniers projets libres et il apporte vraiment des outils supplémentaires: d’abord, son compilateur génère des erreurs compréhensibles et souvent avec des propositions de corrections, ensuite, il a amène une nouveauté vraiment exclusive avec sa gestion de la mémoire et ses notions de partage et d’emprunt de variable.
Meld
J’emploie régulièrement Meld pour comparer rapidement deux valeurs de variables ou deux fichiers qui ne sont pas suivis par git. Il est aussi très efficace pour comparer deux répertoires, puis comparer les fichiers différents de ces répertoires.
diffoscope
diffoscope est un outil très polyvalent capable de montrer les différences entre deux documents soit dans le terminal soit dans un visuel HTML.
Pour comparer les contenus, il a besoin de dépendances externes pour transformer les formats en fichier texte et il vous indique quel outil manque sur votre système pour fournir des informations plus détaillées. Je l’ai utilisé avec succès pour comparer des PDF et des documents de traitement de texte.
Il permet aussi apparemment de comparer des archives compressées, des paquets Debian et des dossiers, ça doit aussi être intéressant.

Gestion des machines elle-mêmes

systemd
Quand je commençais à m’intéresser à personnaliser mon système, les distributions Linux étaient en train de migrer de System V vers systemd. Au début mon besoin était de simplement exécuter un outil en arrière plan et c’est vraiment très simple avec un fichier de configuration systemd, alors qu’avec System V il fallait être un fin connaisseur du language shell utilisé par sa distribution.
Le projet est très bien documenté et est plutôt simple à utiliser. Il fait tourner par exemple les containers podman que j’ai besoin pour mes services en ligne.
btrfs
btrfs est un système de fichier vraiment intéressant pour sa capacité à créer des snapshots rapidement et facilement. Il sait gérer aussi le RAID1 et ses sous-volumes permettent d’organiser son disque sans avoir besoin de scinder fortement les compartiments des disques (ils peuvent être vus comme des partitions, mais dont on n’est pas obligé de fixer une taille spécifique).
ncdu
ncdu permet d’analyser un répertoire et de trouver quels éléments prennent beaucoup de place. C’est un outil en ligne de commande avec une interface interactive, très utile quand on est sur un serveur sans serveur graphique.