Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 !

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 lol).
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.

Hors ligne

#4 Le 30/07/2022, à 10:18

moths-art

Re : L'outil à tout faire : machin

Tawal a écrit :

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)

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.

Tawal a écrit :

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.

Tawal a écrit :

Mais dans tous les cas, il te faut éviter l'utilisation d'un "ls xxx | commande".

Arguments ?

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.

Hors ligne