Pages : 1
#1 Le 30/07/2022, à 09:28
- moths-art
L'outil à tout faire : machin
Bonjour à tous.
J'ai créé un petit utilitaire qui permet de retoucher des fichiers en masse via la ligne de commande.
https://github.com/mothsART/machin
C'est fait en Rust donc l'objectif est d'avoir de bonnes perfs.
C'est encore assez limité en terme de formats de fichiers mais ça devrait s'étoffer au fil du temps.
Le Readme essai d'être exhaustif.
Voilà, n'hésitez pas à me donner votre avis et vos suggestions !
Site : https://mothsart.github.io Dépôts Git : https://github.com/mothsart PPAs : https://launchpad.net/~jerem-ferry
Hors ligne
#2 Le 30/07/2022, à 09:41
- Tawal
Re : L'outil à tout faire : machin
Hello,
En jetant juste un œil (je tiens à l'autre ).
C'est un peu redondant avec la commande convert, non ?
Edit:
Et c'est un peu maladroit d'utiliser :
ls fichier | commande
Pourquoi la commande ne prendrait-elle pas le nom de fichier en argument ?
Dernière modification par Tawal (Le 30/07/2022, à 09:45)
Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !
Hors ligne
#3 Le 30/07/2022, à 10:04
- moths-art
Re : L'outil à tout faire : machin
Hello @Tawal : Quand tu parles de convert, tu évoques la ligne de commande de imagemagick je suppose ?
SI oui, en effet, c'est pour l'instant équivalent (et même moins bien) pour machconvert.
Mais à terme, ça va être bien mieux (ou en tout cas diff) car :
1. ça ne va pas que servir pour des formats d'images mais également du son, de la vidéo, du texte etc
2. il va y avoir un système de mémorisation de l'avancé d'une tâche : du coup, si on arrête un traitement en cours et qu'on le reprend... le soft va le détecter et proposer de reprendre
3. Rust est très fort en parallélisation, l'objectif est donc d'améliorer les perfs grâce à ça (faudra faire des benchs du coup de comparatif héhé)
Maintenant, pour le reste, il y a déjà des fonctionnalités qui sortent de imagemagick avec le support du pdf, de svg, markdown, zip etc.
Le but est d'avoir un fonctionnement homogène de conversion et non n scripts/applicatifs qu'on fait difficilement fonctionner entre eux.
Site : https://mothsart.github.io Dépôts Git : https://github.com/mothsart PPAs : https://launchpad.net/~jerem-ferry
Hors ligne
#4 Le 30/07/2022, à 10:18
- moths-art
Re : L'outil à tout faire : machin
Pourquoi la commande ne prendrait-elle pas le nom de fichier en argument ?
Ben, c'est du traitement par lot donc l'objectif c'est de profiter de la puissance des pipes
Dernière modification par moths-art (Le 30/07/2022, à 10:20)
Site : https://mothsart.github.io Dépôts Git : https://github.com/mothsart PPAs : https://launchpad.net/~jerem-ferry
Hors ligne
#5 Le 30/07/2022, à 10:28
- Tawal
Re : L'outil à tout faire : machin
Oui, je pensais bien à la commande issue d'imagemagick.
Et convert prend en charge le format PDF (moyennant une petite modification de son fichier de configuration).
J'aime bien les outils "dédiés" qui font un travail bien appliqué.
Le tout-en-un risque de vite devenir une usine à gaz (gestions des formats, codecs, taux de compression, en entrée comme en sortie ...)
Tu te vois intégrer tout le "power" de ffmpeg dans ton outil ?
Ce n'est que mon avis.
Mais dans tous les cas, il te faut éviter l'utilisation d'un "ls xxx | commande".
Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !
Hors ligne
#6 Le 30/07/2022, à 11:06
- moths-art
Re : L'outil à tout faire : machin
Pour moi, imagemagick est une usine a gaz : plein de fonctionnalités, arguments fouillis dont peu utile à mon sens... ou alors, y'a mieux : gimp, gmic etc.
Si vraiment, l'un n'empêche pas l'autre : les outils peuvent se compléter.
Tu te vois intégrer tout le "power" de ffmpeg dans ton outil ?
C'est pas le but.
Mon outil s’appuiera sur des libs qui font déjà le taf (c'est d'ailleurs le cas pour les images, j'utilise https://crates.io/crates/image) donc potentiellement ça pourrait piloter du ffmpeg
Mais l'objectif c'est de rester sur des fonctionnalités simples transposables sur plein de formats de fichiers.
Ex : pourquoi une commande diff pour faire une rotation de vidéos, d'images, de svg et donc du boilerplate par format de fichier alors qu'un seul pourrait tout faire d'un coup ?
Finalement, ça me permet de me perfectionner en Rust (et participer à des projets en C/C++ me donne peu de satisfaction : mauvaise gestion des erreurs et de la mémoire...) et d'apprendre plein de choses donc c'est fun.
Mais dans tous les cas, il te faut éviter l'utilisation d'un "ls xxx | commande".
Arguments ?
Site : https://mothsart.github.io Dépôts Git : https://github.com/mothsart PPAs : https://launchpad.net/~jerem-ferry
Hors ligne
#7 Le 30/07/2022, à 11:51
- moths-art
Re : L'outil à tout faire : machin
surtout que l'exemple c'est ls mais ça pourrait être n'importe quoi : ripgrep par exemple.
Site : https://mothsart.github.io Dépôts Git : https://github.com/mothsart PPAs : https://launchpad.net/~jerem-ferry
Hors ligne
Pages : 1