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.
				
			
			
				
				
					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.