J’ai toujours sur mes ordinateurs un répertoire appelé petits_outils
ou quelque chose dans ce genre, que je recopie presque à l’identique quand je change de machine. Il contient toute sorte de petits scripts que j’ai écrits dans des occasions variées, pour mon travail, pour rendre service à des amis, pour m’instruire, ou pour m’amuser. Ils utilisent différents langages, mais le plus souvent python, bash, sed et/ou awk, ils servent parfois à régler de gros problèmes, parfois, le plus souvent, de petits problèmes, voire des problèmes minuscules.
J’ai décidé de les partager sur ce blog, partager ceux qui existent déjà et ceux qui vont les rejoindre. J’y ajouterai des notes variées sur des sujets connexes : comment faire telle ou telle opération, pourquoi utiliser tel outil plutôt que tel autre, j’y mettrai des liens vers des documents de référence ou des cheatsheets. En somme, tout ce qui peut m’être utile pour la programmation.
Je crée ce bloc-note sous la forme d’un blog plutôt que d’un carnet privé, parce qu’il pourra être utile à d’autres, il pourra permettre de trouver rapidement des références. Surtout, je nourris l’espoir que mes « petits outils » puissent rendre des services en donnant des idées de scripts ou d’applications qui pourront être développés, en fournissant des aides au travail de tous ceux qui, pour une raison ou pour une autre, ont besoin d’écrire du code, en proposant des exemples d’utilisation de tel ou tel outil (vous le verrez, j’aime utiliser de nouvelles choses), ou telle ou telle API. Ce sont des exemples, j’insiste sur ce point, et certainement pas des modèles ; je suis un programmeur autodidacte, même si je pratique depuis longtemps maintenant, et je fais sans doute beaucoup de choses d’une façon qui est loin d’être orthodoxe (un jour, je vous raconterai la première fois où j’ai utilisé une base de données relationnelle ). Ce sont néanmoins des exemples qui pourront, je l’espère, faire gagner du temps à ceux qui les utilisent.
Finalement, mes petits outils sont aussi des outils et ils pourront être utilisés directement pour résoudre certains problèmes de la vraie vie. Il se peut qu’ils obligent à installer un nouveau langage ou de nouveaux outils (des bibliothèques, un système de gestion de base de données…), mais dans tous les cas, je m’appliquerai autant que possible à ce qu’il puissent être utilisés facilement.
Quelques exemples de scripts dont j’ai l’intention de parler :
- un script en python utilisant Redis pour trouver les fichiers en doublons dans une arborescence ;
- une application en python utilisant Google App Engine pour faire un jukebox aléatoire ;
- un script ridicule en python qui affiche des données incompréhensibles qui défilent sur un terminal ;
- un script pour tester une liste d’adresses web…