XHTML.net

Technology talks by Loïc d’Anterroches

News, articles, PHP, scripts, XHTML/CSS, …

  1. Home
  2. News

Moins de logiciels dans la vie de tous les jours

The 2010-08-27 at 12:34 by Loïc d'Anterroches filed under News.

Comme certains le savent, je suis plutôt tendance minimalisme. Tout ce que je développe va dans la direction d’être le plus simple et le plus efficace possible. Un logiciel pour faire une chose et bien la faire.

Par contre, au fil du temps, j’ai découvert un problème avec cette approche. Je finis par avoir trop de logiciels ouverts, chaque logiciel gère à sa manière ses données et au final, les informations que je gère sont dans des silos difficilement intégrables (il est toujours possible de bricoler une API ou autre, mais cela reste difficile).

Conclusion, j’ai décidé de revenir au texte. En gros, je vis dans Emacs et je manipule facilement du texte, alors pourquoi ne pas doucement intégrer mes outils dans Emacs ? Le but est de minimiser les changements de contexte, minimiser les pertes de temps pour transférer l’information d’un logiciel à un autre et bien entendu garder mes données dans un format facilement transférable entre différents systèmes.

À l’instant, j’ai Firefox, Thunderbird, un client IRC, Evince, Emacs bien entendu, Nautilus, des shells, Getting Things Gnome et un test de Conkeror. Il faut que j’arrive à avoir moins pour faire mieux.

Les problèmes que j’ai en ce moment :

  • Avec Thunderbird, je dois maintenir une petite liste de réponses "standard" pour mes clients via une extension "quick text", je ne peux pas la maintenir avec Emacs ou un éditeur de texte. Je dois souvent copier/coller entre Emacs et Thunderbird pour répondre aux questions.
  • Avec Getting Things Gnome, je peux gérer mes TODO, mais cela veut dire passer de mon application X vers GTG, copier/coller l’info ou taper, puis repasser vers l’autre application (qui est souvent Emacs).
  • Quand je veux écrire un billet, je dois venir taper mon texte dans mon logiciel de blog. C’est un textarea qui fait la correction orthographique, mais qui n’a pas tous les bindings que j’aime d’Emacs.
  • etc…

Le problème de base est aussi: Pourquoi toujours utiliser des bases de données ?

Très souvent, les données sont dans une base de données alors qu’un stockage dans un simple fichier texte serait suffisant. Les informations sont aussi très souvent dans un format qui force l’utilisation d’un logiciel particulier pour interagir avec. Par exemple, un fichier .odt force l’utilisation d’un logiciel de traitement de texte assez sophistiqué dans la plupart des cas.

Si je fais l’inventaire des documents que j’édite, je constate que je pourrais facilement n’utiliser que des fichiers textes (éventuellement en utilisant la syntaxe Markdown) pour répondre à l’ensemble de mes besoins. En rajoutant un gabarit et une moulinette qui sort un fichier PDF, ma correspondance professionnelle garderait son allure.

Conclusion, je me pose sérieusement la question de couper dans mon utilisation logicielle pour n’utiliser plus qu’un nombre réduit. Cela implique une meilleure gestion de mes données pour avoir un format de stockage simple (fichiers texte utf-8) et ainsi me libérer des problèmes de migration entre les différentes versions et de transfert entre les différents outils.

Sur ma "short liste" des logiciels à garder :

  • Emacs avec org-mode pour la gestion de mes TODOs et éventuellement un client IMAP pour supprimer Thunderbird et éventuellement un client IRC.
  • Conkeror pour avoir un navigateur minimaliste quand je ne développe pas (Firefox et Chromium restent les meilleurs outils pour cela).

Est-ce que c’est faisable? Je ne sais pas, mais essayer ne devrait pas avoir trop d’inconvénients et je vais apprendre à coder en Lisp au passage.

Comments from readers

metagoto said:

Pourquoi ne pas virer Conkeror et utiliser un browser intégré à Emacs à la place? Il y en a...

Perso, j'utilise très peu de logiciels (et pas Emacs;)
Ce qui permet d'augmenter légèrement ma productivité, ce n'est pas vim ni dreamweaver, mais plutôt la taille de l'écran, ou des écrans. Attention, pas ces écrans actuels aux résolutions débiles de 3000x768, non, des écrans normaux dans la lignée des 4/3 aux dimensions _verticales_ correctes. Moins de scroll = plus de temps pour glander à autre chose.

Bertrand Mansion said:

J'ai développé en interne pour ma petite entreprise un script PHP qui utilise TCPDF pour générer des PDF avec le logo, la typo, l'identité graphique de ma société. Au début je l'utilisais avec un bookmark en javascript et Google Docs. J'écrivais les contenus (devis, correspondance, etc) dans Google Docs puis je passais en mode Preview et cliquais sur mon bookmark qui faisait une requête POST vers mon script PHP. Celui-ci parsait le HTML pourri de Google Docs et me générait un beau PDF. Pour les tableaux, on utilisait une syntaxe particulière, proche de Markdown Extra.

Ensuite, nous avons conçu un petit gestionnaire de projets qui prend du contenu Markown plutôt que du HTML. Le HTML généré qui est plus propre est ensuite passé à notre script qui fait un PDF.

TCPDF en PHP n'est pas très joli du point de vue du code, mais il fonctionne plutôt bien.

Loïc said:

Bertrand, c'est effectivement l'approche qui me semble sur le long terme la plus simple et la moins problématique en termes de maintenance et facilité d'utilisation.

Depuis quelques jours que j'utilise conkeror (toujours en parallèle de Firefox qui contient un paquet de mes sessions), je constate déjà que le minimalisme paye bien. Bien mieux que je ne le pensais. En fait, la suppression de presque tout le "Chrome" avec conkeror me fait gagner beaucoup de temps car cela réduit les distractions possibles. J'en suis très content.

koral said:

Je ne saisis pas vraiment en quoi le fait que les logiciels ne fassent qu'une seule tâche soit la raison des problèmes que tu décris. Ta réflexion m'intéressant beaucoup, je me suis dit que j'allais prendre le temps de la commenter en détail :) .

D'abord, je n'ai pas compris ton exemple de Thunderbird ; plus précisément, à quel moment de la rédaction de mail as-tu besoin d'Emacs ? Pourquoi ne peux-tu pas tout faire directement sous Thunderbird ?

Ensuite, dans l'exemple de GTG, je vois difficilement comment faire mieux; les informations qui y sont, seul toi sais a priori à quoi elles vont servir, si elles doivent être utilisées dans un autre logiciel, ce dernier ne peut pas le deviner et il faudra tôt ou tard que tu fasses un copier/coller toi-même. Enfin, jusqu'à ce que l'ère des logiciels sémantiques arrive...

Quant à l'exemple du blog, il me semble justement qu'il justifie bien l'intérêt de ne faire qu'une seule tâche par logiciel: dans ton cas, ton blog, en plus de servir de vitrine pour exposer des informations (très intéressantes) à un public, propose une interface pour y écrire des billets. Or, l'écriture de billet est une fonction distincte et devrait justement être déléguée à un éditeur de texte. En somme, un moteur de blog minimaliste pourrait proposer par exemple un webservice pour l'écriture de billet, acceptant une requete HTTP POST avec en paramètre notamment le contenu du billet. Cela permettrait à quiconque d'écrire ses billets avec son éditeur de texte favori. Je ne pense pas que l'interface web devrait être supprimée, mais qu'elle devrait être une alternative "au cas où".
Au passage, ce que je viens de dire est valable pour Thunderbird: ce logiciel te propose un éditeur de texte intégré pour rédiger tes mails, ce qui devrait être délégué à Emacs par exemple. Sans vouloir faire l'apologie d'un logiciel ou d'un autre, je citerais bien mutt, qui permet justement de choisir l'éditeur de texte à utiliser pour rédiger ses mails.

Pour ce qui est du nombre d'applications ouvertes, il n'y en aurait pas tant que ça, puisque finalement tout se passerait autour de l'éditeur de texte, qui s'interfacerait avec le reste sans qu'on ait besoin d'intervenir.

Enfin, la fin de ton billet me semble davantage relever de la question "logiciel graphique"/"logiciel console" que de la problématique du logiciel monotâche/multitâche. Elles sont pour moi reliées puisqu'un logiciel qui ne fait qu'une seule chose ne devrait donc pas non plus s'occuper de rajouter une interface graphique, l'interface textuelle permettant le "scripting" et donc la communication avec d'autres logiciels. Le fait que tu défendes les interfaces textes, je l'interprête donc comme une défense des logiciels monotâches.

Qu'en penses-tu ?
(Au passage, j'ignore si le tutoiement est de rigueur ici, mille excuses si j'ai choqué quelqu'un.)

koral said:

Quand on parle du loup:

http://univers-libre.net/index.php/2010/10/bloguez-vos-articles-wordpress-depuis-vim/

Voice your ideas

It is painless and I try not to kill electrons in the process.


Your email is required but will not be shared nor displayed.


Do you think your comment will force me to write even better stuff next time? If so, you simply rock.


Logo of Plume CMS