Qui ne s'est jamais soucié de savoir quel serait le meilleur moyen de classer un article, dans quelle catégorie pourrait bien rentrer un article, pour vous donner un exemple concret, je me suis posé la question pendant un bon bout de temps de la meilleur classification pour un article parlant de l'installation d'outils pour travailler avec les AVR (famille de micro-contrôleur 8bits) sous GNU/Linux (Ubuntu).
Placer un tel article dans la catégorie Ubuntu serait-il réellement approprié ? Car l'article s'adresse tout aussi bien aux autres distributions et pas uniquement à la Debian et ces dérivées.
La catégorie Linux serait donc plus appropriée mais classer un tel article qui s'adresse essentiellement aux "hardeux" (entendez personnes pratiquant l'électronique) ne me convient pas non plus, au final, j'ai décidé de créer une catégorie AVR et là, plus d'ambiguité possible, dans cette dernière, on trouvera tout ce qui touche de près ou de loin aux AVR.
J'attends impatiemment Dotclear 2 qui résoudra de façon radicale ce gros souci de classification grâce à un système de tags à la Del.icio.us / flickr.
Vous allez me dire "ok, mais, quel est le rapport avec Ubuntu ?", et bien tout simplement car à l'échelle d'un blog, ce problème de classement se résoud très vite et il faut le reconnaitre, est peu important (mais tout de même enquiquinant!) mais à grande échelle, quand il s'agit de classer énormément de chose, il devient important de recourir à des systèmes de classification digne de ce nom et Ubuntu qui s'appuie sur la distribution Debian ne déroge pas à cette règle pour classer ses paquets, ainsi, j'ai pensé qu'il serait intéressant de vous faire découvrir sommairement les facettes d'un système fort pratique : debtags
Procédons tout d'abord à l'installation :
$ sudo apt-get install debtags
Pour être sûr de posséder la dernière version des données de "tag", tapez la commande ci dessous qui téléchargera la dernière version et mettra ainsi à jour votre système :
$ sudo debtags update
Voilà, c'est installé et à jour, on va pouvoir jouer avec.
Je vais vous donner un exemple très concret, imaginons que vous cherchiez une application fonctionnant sur votre serveur web, qui soit capable d'interroger vos base de données Mysql et soit écrit en php :
$ debtags search "interface::web && works-with::db:sql && made-of::lang:php && web::application"
Cette ligne de commande vous renverra les programmes suceptibles de vous intéresser et notamment phpMyAdmin qui correspond parfaitement à la demande.
Revenons sur la syntaxe de la ligne de commande :
- debtags search [...] Spécifie que l'on procède à une recherche
- [...] interface::web [...] Le type d'interface dans lequel fonctionne l'application est le web
- [...] works-with::db:sql [...] C'est assez parlant, on spécifie que l'application recherchée fait appel à mysql
- [...] made-of::lang:php [...] C'est écrit en PHP
- [...] web::application Que fait-elle dans pour le web ? (server, application...)
Comme vous le voyez, c'est assez explicite, un petit "man debtags" vous permettra d'en connaitre plus sur la syntaxe à appliquer.
Il n'existe pas de classification parfaite, lorsque l'on classe dans une catégorie, on le fait au détriment d'autres, en somme, classez dans une seule et unique catégorie n'est pas une bonne solution et grâce au tags, c'est comme ci on classait un même objet dans plusieurs catégories...sans mettre la pagaille, c'est extrèmement pratique et parfois même indispensable...
Cette article m'a été inspiré par Denis Bodor paru dans GNU/Linux Magazine France de janvier.