Choisir un logiciel c’est généralement s’engager sur le long terme parce-qu’on va, petit à petit, apprendre à en connaître toutes les subtilités et si on doit en changer un jour, c’est toute une expertise qui partira à la poubelle.
Dans ce premier article de la rubrique, je vais essayer de recenser mes critères (subjectifs).
La liste au père Noël
La simplicité
Idéalement, je veux des fichiers de configuration en fichiers texte, faciles à modifier, faciles à générer avec un script, faciles à dupliquer, à versionner (garder une trace des différentes versions, pouvoir revenir à un état précédent et examiner ce qui a changé entre-temps) ou à “grepper”.
J’attends aussi que la prise en main soit intuitive : ne pas être obligé de rentrer dans le schéma de pensée de l’auteur pour faire fonctionner son logiciel.
La souplesse
Je veux pouvoir faire des trucs bizarres avec les logiciels, les détourner de leur fonctionnement par défaut, les adapter à mon besoin. La possibilité de développer/ajouter des plugins est un atout qui va dans ce sens, bien sûr.
Le souci de qualité
J’attends d’un logiciel qu’il respecte les standards, notamment les siens 😉 , que les bugs et failles (de sécurité) soient corrigés rapidement, que l’objectif soit clairement la stabilité. Je veux avoir confiance dans ce que j’utilise.
La puissance
Ce n’est pas le critère le plus important si je peux compléter le logiciel avec des plugins ou des scripts ou même d’autres logiciels.
Une communauté
C’est toujours bon signe (de qualité et de pérennité) quand on n’est pas seulement 3 dans le monde à utiliser un outil.
Une philosophie
Je regroupe plusieurs concepts sous ce terme :
- l’éthique du projet,
- la personnalité des développeurs (comment ils traitent les usagers, s’ils sont capables de se remettre en question, etc.)
- la licence et l’éventuel modèle économique choisis,
Des dépendances
De nombreux projets reposent sur d’autres technologies qui sont parfois des chevaux de Troie. Par exemple, si je choisis un produit basé sur LAMP (Linux Apache Mysql Php), je prends en considération que je devrai “travailler” avec Mysql, pas simplement créer la base de données mais aussi gérer les sauvegardes, la restauration, la corruption de données, les incompatibilités de versions…
Un langage
Ce n’est pas forcément rédhibitoire, mais je choisis parfois un produit plutôt qu’un autre en fonction du langage dans lequel il est écrit, soit parce-que je sais que je pourrai examiner le code (en dernier recours) soit parce-que je devrai parfois développer de petites choses et que c’est toujours plus facile si on connaît/apprécie le langage en question.
Les compromis
Il n’y a presque pas de projet qui soit irréprochable et il est souvent difficile de choisir. Parfois il faut même imaginer un scénario de test et confronter les logiciels après avoir mis les mains dans le cambouis.
Ne pas choisir c’est quand même choisir
En aucun cas il ne faut prendre le premier qu’on trouve ou suivre une recommandation aveuglément. Chacun a sa propre approche, sa propre compétence, ses propres besoins et peut-être que le plus important c’est de se sentir à l’aise.
La “publicité” (ou la hype qui est une forme de publicité) et la notoriété sont mauvaises conseillères (vous savez quelle chaîne de “restaurants” est la plus connue au monde ? Le système d’exploitation le plus utilisé ?). Ça ne veut pas dire qu’il ne faut pas écouter les conseils, cela peut même vous faire découvrir des aspects que vous n’auriez pas immédiatement identifiés. Mais faites-vous votre opinion. Le temps que vous passerez à évaluer des produits n’est pas du temps perdu, au contraire. Il doit même être proportionnel à l’importance du produit dans votre quotidien.
Soyez sûr(e) de vos choix, au point d’être capable de les défendre dans une discussion.