Pour moi il y a deux sortes de programmes, ceux “finis” et ceux “infinis”, ceux qui sont destinés à réaliser une tâche monotone, répétitive et prévisible, et ceux dont on ne peut prévoir avec précision l'usage qui en sera fait. Disons, les programmes “machines” et les programmes “humains”. Les logiciels du genre “office” (traitement de texte plus tableur plus base de données plus ...) et ceux du genre “CMS” ou “SIG” (“content management system”, en français “système de gestion de contenu”) sont des exemples de programmes “humains”.
Il faut s'entendre, tous les programmes sont destinés aux humains et tous fonctionnent de manière machinique, la différence est de l'ordre de l'autonomie, les programmes machines, une fois démarrés, s'accomplissent sans qu'un humain ne doive intervenir, les programmes humains ne peuvent fonctionner que si un humain les contrôle.
Donc, les CMS. J'ai longtemps cherché et n'ai jamais trouvé celui que je souhaitais. De ce fait j'en ai imaginé un mais bon, je suis vieux et je n'ai pas le temps de m'occuper de ce genre de choses, plus le temps passe et plus les questions d'intendance m'ennuient, ça ralentit tout, plus jeune j'adorais ça, me perdre dans les détails, soulever les capots et démonter les moteurs, maintenant je préfère les imaginer que les étudier et les construire, des jeunes il y en a à la pelle, suffit de leur demander, ils adoreront s'y coller.
Voici ce que je cherchais, un logiciel qui méritait son nom, un système de gestion de contenu, juste ça, le système, pour le contenu celui qui sait lequel l'intéresse est l'utilisateur. Or, tous ceux disponibles en proposent trop, proposent trop de contenus et de sous-ensembles de traitement de tels et tels contenus. Contrairement à la logique la plus élémentaire, tous sont livrés avec plusieurs sous-ensembles, plusieurs modules, qui font des tâches considérées comme souhaitables et nécessaires par leurs concepteurs. Le fait patent que d'un CMS l'autre ce “nécessaire” et ce “souhaitable” diffèrent montre que c'est dans la tête du concepteur et non dans la réalité que c'est “souhaitable et nécessaire”. Une fois le CMS obtenu, lors de son activation il va falloir procéder par soustraction, quand par chance c'est possible (certains concepteurs sont tellement sûr de “ce qui est bon” qu'ils prévoient la possibilité d'ajouter des fonctions mais non d'en retirer), pour l'adapter à son usage. Or la logique élémentaire est inverse, on doit pouvoir procéder par addition, installer le seul système et, soit durant l'installation soit après, sélectionner les seuls modules dont on a l'usage immédiat. Par après, en cours d'utilisation, si on s'aperçoit que l'on a besoin ou envie d'autres modules on peut les ajouter, et bien sûr on doit pouvoir retirer ceux dont on n'a plus l'usage. Le truc c'est de partir de soi en se liant aux autres : concevoir un système “à l'os”, juste la partie nodale, le système de gestion, un certain nombre de modules à sa main et la possibilité ouverte pour d'autres concepteurs ou utilisateurs d'en ajouter ou en créer de nouveaux, autant que possible en réutilisant des fonctions existantes créées pour des modules disponibles, parce que si chaque module est singulier, les tâches élémentaires qu'ils réalisent sont très similaires d'un module l'autre.
Voilà.