Salutation,
Ce sujet consiste en la présentation du projet Smwct qui est open-source sur GitHub. Ce dernier est uniquement développé en python. J’en profite pour vous faire part de l’un des aspects principaux de ce topic : ce projet que je vais vous présenter a besoin d’un coup de main de la part de développeur Python volontaires, car comme je vais vous l’expliquer plus bas, le code qui consiste en l’exploration des répertoires est relativement ardus à concevoir : je n’ai toujours pas réussi à le faire fonctionner.
Présentation
Smwct est l’acronyme de "Search and Moderation Wizard for the Computer Tree", ou "Assistant de Recherche et de Modération pour l’Arborescence des Ordinateurs" en français. Comme son nom l’indique ce projet vise à assister l’humain dans la recherche et la modération de l’arborescence de son ordinateur. Plus précisément, et je le développerai mieux plus bas, celui-ci permet de :
- Rechercher en partant d’un répertoire près-suggéré au départ une chaîne de caractère fournit également au départ dans les noms des dossiers, sous-dossiers et fichiers rencontrés durant l’exploration des répertoires.
- Effectuer la recherche expliqué précédemment mais en suggérant de supprimer à la fin de la recherche les fichiers / dossiers trouvés.
Causes
Smwct a été imaginé pour répondre à deux problèmes qui me tracassaient personnellement, en lisant ce qui suit, vous devriez comprendre, si vous êtes programmeur, à quoi vous attendre quant à la participation au projet, que ce soit pour ajouter une fonctionnalité ou pour arranger le code. Reprenons, les causes de Smwct sont les suivantes :
- Lors de la désinstallation d’un logiciel sur Linux la totalité des fichiers / dossiers ne sont pas supprimé. Il reste très souvent des répertoires associés dans le répertoire du cache et dans les dossiers originaux tels que
etc
etvar
. C’est une tâche qui me prend beaucoup de temps et a tendance à m’agacer. - L’outil
find
qui permet en quelques sortes ce que proposera Smwct est très embigü, notamment au niveau de sa syntaxe d’utilisation.
Exemples d’utilisation
La façon d’utiliser Smwct sera la suivante :
# pour rechercher au niveau de la racine (là où on retrouve etc et var par exemple)
python smwct/run.py -s --root mcafee
# pour chercher au niveau de sa session (/home/username)
python smwct/run.py -s --session mcafee
# pour effectuer la recherche à la racine absolue et au niveaud la session
python smwct/run.py -s --anywhere mcafee
Vous pouvez déjà noter que je n’évoque ici aucun moyen de supprimer ce qui a été trouvé : je préfère m’abstenir quant à cette fonctionnalité car elle n’a pas été entamé au niveau du code, à contrario de la recherche qui l’a été (n’est toujours pas fonctionel, mais existe).
Si nous décomposons l’une de ces commandes, 4 morceaux ressortent : python smwct/run.py
, -s
, --root
et mcafee
.
Tout d’abord, python smwct/run.py
permet de dire à Python de lancer run.py
qui se trouve dans smwct/
. Vous devez sûrement vous interroger à propos du comment ce répertoire est arrivé là, j’explique simplement comment mettre en place Smwct sur son ordinateur. De plus, vous vous dites peut être que entrer python smwct/run.py
à chaque fois pour faire une recherche est pénible, vous avez raison, et c’est l’un des problèmes que j’aimerai qu’on résout avec ceux qui se porteraient volontaire pour participer.
Ensuite on a -s
qui signifie "search" et le deuxième drapeau qui apporte une précision en plus : Où commencer la recherche ? Chaque drapeaux correspond au largage à un endroit précis de l’explorateur. --root
pour /
, --session
pour /home/username/
et --anywhere
qui regroupe --root
et --session
. Notez que --anywhere
devrait prendre un temps considérable (ne sous estimez pas la quantité d’élément du répertoire /
).
Pour finir le dernier argument qui correspond à la chaîne de caractère sur laquelle se base l’explorateur pour ajouter à sa liste de trouvaille. Attention, je dis bien la chaîne de caractère sur laquelle se base l’explorateur, pas la chaîne que va rechercher l’explorateur, voyez cette chaîne comme le motif qu’utilise l’explorateur.
Vous comptez ajouter votre rocher à l’édifice ?
Si vous lisez ceci c’est sûrement parce que le titre qui se trouve au dessus est en accord avec votre intention, alors voilà un mini-mode d’emploi pour commencer à participer (le travail à faire n’est pas aussi conséquent que celui de ce site web, je vous rassure) :
- Forkez le repository.
- Clonez le là où vous souhaitez à l’aide de la commande
git clone https://github.com/b4-b4/smwct.git
. - Créez une branche et modifiez y ce qui vous semble juste.
- Faites une pull request de votre branche, je m’occuperai personnellement de la vérifier (pour l’instant, du moins jusqu’à ce que cette tache me soit trop chronovore, auquel cas je ferai appel à l’un d’entre vous).
Aperçu des taches
Parmi les différentes mission à réaliser, en voici quelques unes :
- Faire en sorte que
python smwct/run.py
soit remplacé par un simple appel desmwct
, commegit
; - Rendre fonctionnel l'explorateur de fichier ;
- Lorsque la tâche du dessus sera accompli, l’arranger de sorte que l’explorateur suggère à la fin de tout supprimer où bien de sélectionner ceux à supprimer à l’aide d’un index qui apparaîtra à côté du chemin correspondant à la cible (rappelez vous,
mcafee
par exemple).
Merci d’avoir pris le temps de lire ceci, vous êtes à présent libre de de participer, ou non.
Cordialement, b4b4.