un informaticien distingué

Démarré par vernhet, Mai 23, 2024, 11:57:00

« précédent - suivant »

vernhet

un informaticien distingué qui, moyennant finances, serait en mesure de me concevoir un outil pour Mac capable sur mes disques durs (qui comportent des photos jpg brutes de carte ET des photos jpg postraitées, de me faire apparaître toutes les photos postraitées. Je pense, vu mon classement et mes routines que le critère simple efficace, est la longueur des noms des fichiers: en effet toutes mes photos numériques brutes ont des noms comportant 8 caractères avant le point et l'extension (exemple:_1Z95608.JPG) tandis que toutes mes photos postraitées présentent un nom forcément plus long puisque , après postraitement, j'ajoute le nom de l'artiste en l'intercalant entre le numéro d'origine et le point + extension (exemple _1Z98922 CUJIOUS YVAN & WINSBERG LOUIS NOUGARO.JPG) Je précise que tous ces fichiers photos peuvent se trouver à différents niveaux dans l'arborescence  du disque dur.

Nikojorj

https://support.apple.com/fr-fr/guide/mac-help/mh15155/mac ne te suffit pas? Si tu fais rechercher " " (un espace) dans le nom.

egtegt²

Je vais faire une réponse d'informaticien, donc feignant par nature :) Je te conseille de travailler avec les arborescences en séparant l'arborescence des fichiers bruts et l'arborescence des fichiers traités.

Perso j'ai une arborescence du genre :
/Fichiers bruts/année/date - événement  qui contient les raws ou les jpegs sortis de l'appareil
/Fichiers traités/année/date - événement qui contient les jpegs sélectionnés et traités

En majorité une fois le traitement terminé, je n'utilise plus que l'arborescence /fichiers traités, parfois si je veux retraiter une image ou chercher un RAW non traité  je sais qu'il est au même endroit dans l'arborescence /Fichiers bruts

En général je renomme les fichiers à l'importation avec la date/heure et le nom de l'événement, je ne suis pas revenu en arrière sur les vieux fichiers donc j'ai aussi des fichiers du genre DSCXXXX.nef ou DSCXXX.jpg

Par contre ça va te demander de déplacer tes fichiers post-traités, ça prend du temps mais si tes noms sont différents, c'est assez facile à faire avec les recherches.

Ca m'a pris quelques mois a 1 ou 2 heures par jour pour reprendre toutes mes photos, avant j'avais tout un peu en bordel avec des noms de dossier peu parlant et aucune sélection, le plus long a été de sélectionner les photos intéressantes, pour toi c'est déjà fait, il suffit juste de les déplacer

M@kro

Il n'existe pas des catalogueurs sous Mac qui peuvent avoir ce genre de fonctionnalités de tri par nom de fichiers ?
Nikoniste, ex-Pentaxiste

egtegt²

Citation de: M [at] kro le Mai 24, 2024, 01:01:50Il n'existe pas des catalogueurs sous Mac qui peuvent avoir ce genre de fonctionnalités de tri par nom de fichiers ?
Le problème n'est pas si simple, si j'ai bien compris son original peut s'appeler _1Z95608.JPG et le fichier traité _1Z98922 CUJIOUS YVAN & WINSBERG LOUIS NOUGARO.JPG.

Humainement c'est facile de faire la différence mais en termes de programmation c'est un peu chiant mais surtout c'est très spécifique. Les catalogueurs sont plutôt prévus pour par exemple n'afficher que les jpg et pas les NEF. C'est pour ça que je lui suggère de mettre les originaux et les fichiers traités dans des répertoires différents.

M@kro

Citation de: egtegt² le Mai 24, 2024, 08:50:39C'est pour ça que je lui suggère de mettre les originaux et les fichiers traités dans des répertoires différents.

Je suppose que c'est cette manipulation qu'il souhaite faire en mode "automatique" et non manuellement.
Pour les catalogueurs, vernhet ne parlant que de fichiers jpg, je suppose que le NEF ne l'intéresse pas (dans l'immédiat).

Juste pour précision dans l'exemple donné : est ce que les 2 fichiers (brut/traités) commencent par le même nom ?
car tu indiques _1Z95608.JPG et _1Z98922 CUJIOUS YVAN & WINSBERG LOUIS NOUGARO.JPG.
Ca peut tout changer si tu mets ou pas le même nom.
Nikoniste, ex-Pentaxiste

Gér@rd

#6
Je ne prétends pas donner une solution (cela doit faire au moins deux décennies que je n'ai pas touché à un Mac) mais si j'avais à faire ça sous Linux, je ferais un shellscript de trois ou quatre lignes :

1) se mettre en mode commande (ouvrir une fenêtre terminal),
2) aller dans le répertoire qui contient les fichiers,
3) taper la commande : "ls | grep -E -v ^.{8}.JPG" ou/et "ls | grep -E -v ^.{8}.jpg"

En résultat on aura la liste des noms de fichiers qui se terminent en .JPG (ou .jpg) et qui ne font pas juste huit caractères. On peut rediriger cette liste dans un fichier pour le traiter plus tard.

Faut évidemment éviter que des noms de fichiers traités fassent huit caractères (le programme ne pourrait pas faire la différence).

Si un connaisseur du Mac peut se pencher là dessus je suppose qu'on doit pouvoir adapter ça (vu que l'OS du Mac est bâti sur Unix ils ont bien dû prévoir un mode commande ?).

Col Hanzaplast

Si j'ai bien compris les noms des photos modifiées comprennent tous au moins un espace. On doit pouvoir trier la dessus.

bg1000

En dos...

dir /b/s>monfichier.txt

M@kro

#9
Citation de: Gér [at] rd le Mai 24, 2024, 17:34:37Je ne prétends pas donner une solution (cela doit faire au moins deux décennies que je n'ai pas touché à un Mac)
 mais si j'avais à faire ça sous Linux, je ferais un shellscript de trois ou quatre lignes :
1) se mettre en mode commande (ouvrir une fenêtre terminal),
2) aller dans le répertoire qui contient les fichiers,
3) taper la commande : "ls | grep -E -v ^.{8}.JPG" ou/et "ls | grep -E -v ^.{8}.jpg"

Citation de: Col Hanzaplast le Mai 24, 2024, 21:43:15Si j'ai bien compris les noms des photos modifiées comprennent tous au moins un espace. On doit pouvoir trier la dessus.

Oui, je n'ai pas cherché la syntaxe exacte mais c'est ce que à quoi je pensais aussi (différencier les fichiers en 8.3 et les autres en *x*.3)
Les fichiers en 8.3 (_1Z123456.jpg) sont les fichiers bruts générés par le boitier Nikon, les autres (_1Z123456 xxxxuuuuuxuxxuxuxuxyyxx.jpg) sont ceux qui sont renommés par Francis.
Et même si Linux et les Unix like (donc Mac) ont des points communs, c'est difficile de savoir si ça fonctionne à 100% sans pouvoir le tester.
Nikoniste, ex-Pentaxiste

M@kro

Dans une certaine logique, on pourrait créer un script avec la méthodologie suivante :

- créer un répertoire nommé "jpg_brut"
On fait une commande move (déplacement) des fichiers _1Z12345.jpg  (8.3) vers le répertoire "jpg_brut".

- créer un autre répertoire "jpg_traités"
On fait une commande move de ces fichiers restants vers le 2ème répertoire jpg_traités.

Reste plus qu'à trouver la syntaxe d'une commande qui peut faire ça ^^
Ca pourrait aussi ramener d'autres fichiers que ceux voulus, donc reste à trouver le truc pour n'avoir que les fichiers _1Z*.jpg avec pas plus que 8.3.
Nikoniste, ex-Pentaxiste

Gér@rd

J'ai emprunté un vieux Mac à mon fils (il ne s'en servait plus) et j'ai pu faire quelques tests. Le mode commande du Mac est conforme à ce qu'ils appellent "le zsh shell" qui est en fait un classique shell Bourne simplement enrichi de quelques fonctionnalités propres à Apple.

J'ai refait les mêmes tests (avec les mêmes fichiers) que j'avais fait sous Linux (sous Mint) et je confirme que ça marche strictement pareil (mêmes syntaxes, mêmes données ---> mêmes résultats).


Verso92

J'ai une commande qui supprime tous les problèmes : "format c:" (ou "del *.*", ça marche aussi).

vernhet

merci à tous. Je suis vos échanges avec intérêt, mais je suis largué complet, car je manque de toute compétence en programmation...si c'est de la programmation?
 Juste, je voudrais redire que le seul critère de tri pertinent à 100% me semble être la longueur du nom des fichiers (concernant l'existence d'un espace comme critère évoquée par Col Hanzaplast, ça risque de me laisser échapper qqs fichiers pour lesquels au moment du "renommage" ,j'ai oublié de créer un espace entre le numéro d'origine et le nom ajouté.Je sais qu'il y en a un certain nombre dans ce cas)

SeSy

Citation de: vernhet le Mai 26, 2024, 11:03:00merci à tous. Je suis vos échanges avec intérêt, mais je suis largué complet, car je manque de toute compétence en programmation...si c'est de la programmation?
 Juste, je voudrais redire que le seul critère de tri pertinent à 100% me semble être la longueur du nom des fichiers (concernant l'existence d'un espace comme critère évoquée par Col Hanzaplast, ça risque de me laisser échapper qqs fichiers pour lesquels au moment du "renommage" ,j'ai oublié de créer un espace entre le numéro d'origine et le nom ajouté.Je sais qu'il y en a un certain nombre dans ce cas)

L'objectif est où ? Juste d'afficher les chemins ? Les déplacer ?
Sur fond noir...

ChatOuille

Oui, on ne comprend pas très bien...
Je ne connais pas le Mac, mais pour moi, il faut toujours une bonne structure au niveau système. Donc pas de sélection au niveau système, juste chaque chose à sa place. Par la suite, on a des bases de données dont l'utilité est justement de faire des sélections. Pour cela, on dispose d'un tas d'outils comme nom du fichier, date, chemin, étiquette, localisation, mots clé...

vernhet

Citation de: SeSy le Mai 28, 2024, 13:48:11L'objectif est où ? Juste d'afficher les chemins ? Les déplacer ?
ce serait de les afficher en liste, pour ensuite les sélectionner toutes pour ensuite les déplacer (ou les copier sur un autre disque ou partition)

M@kro

Citation de: vernhet le Mai 29, 2024, 08:00:57ce serait de les afficher en liste, pour ensuite les sélectionner toutes pour ensuite les déplacer (ou les copier sur un autre disque ou partition)

En mode ligne de commande sous les Unix/Linux/Mac, tu peux utiliser les commandes suivantes :
- ls : pour lister les fichiers (cf l'exemple de Gér [at] rd)
- cp : pour copier les fichiers sans les déplacer
- move : pour déplacer les fichiers

Il suffit donc de trouver la bonne syntaxe pour faire les opérations que tu souhaites.
Nikoniste, ex-Pentaxiste

vernhet

Citation de: M [at] kro le Mai 29, 2024, 08:10:36En mode ligne de commande sous les Unix/Linux/Mac, tu peux utiliser les commandes suivantes :
- ls : pour lister les fichiers (cf l'exemple de Gér [at] rd)
- cp : pour copier les fichiers sans les déplacer
- move : pour déplacer les fichiers

Il suffit donc de trouver la bonne syntaxe pour faire les opérations que tu souhaites.
malheureusement je ne sais rien faire de tout ça...D'où l'ouverture de ce fil...

Gér@rd

Disons que faire ça manuellement en se baladant de répertoire en répertoire et en tapant quelques lignes de commandes n'est pas très compliqué une fois qu'on a déterminé les bons arguments à utiliser (c'est juste un peu délicat à mettre au point). Mais le problème c'est que ça va bien pour quelqu'un déjà bidouilleur (du shellscript c'est de la programmation légère) mais n'est pas envisageable sans connaissances préalables dans le domaine.

Sinon développer un utilitaire qui peut être mis entre toutes les mains (clic-clic sur une icône, menus déroulants, etc...) c'est bien sûr faisable (et pas très compliqué) mais que c'est une autre paire de manche  : il faut prévoir tous les cas de figure, toutes les erreurs possibles de l'utilisateur et c'est simplement très long et fastidieux (en développement la finition doit représenter 80% du temps total).

Je pense qu'il vaut mieux continuer à chercher s'il n'existe pas d'utilitaire qui serait capable de prendre en compte ce problème. Je connais très mal Excel (je ne m'en sers jamais) mais j'ai lu qu'on pouvait associer une fonction "NBCHAR" à une cellule contenant une chaîne de caractères et renvoyant le nombre de caractères de la chaîne. N'y aurait-il pas un moyen quelconque de récupérer les noms de fichiers dans une feuille de calcul et de trier  ensuite sur la longueur ? Si quelqu'un a une idée...


SeSy

Dans un shell en se positionnant dans le répertoire racine de ta recherche essaye l'instruction suivante :
find . -type f | grep -E -v ^.{8}.JPG | tee ./liste.txt

Elle t'affiche à l'écran et mets dans un fichier liste.txt tous les fichiers 8+3 en JPG
Dis-moi si la liste est bonne et je te donne la suite
Sur fond noir...

M@kro

Citation de: vernhet le Mai 29, 2024, 08:36:04malheureusement je ne sais rien faire de tout ça...D'où l'ouverture de ce fil...

Je m'en doute bien Francis, sinon tu l'aurais déjà fait ;)
Faudrait aussi indiquer quelle est ta structure de tes dossiers, là où se trouve toutes les photos.
Genre c'est sur des disques durs, partitions bien séparées et identifiées ou toutes les photos sont un peu dispersées partout.
Nikoniste, ex-Pentaxiste

M@kro

Pour illustrer mon propos

Sur mon PC, je m'organise comme ci dessous, mes photos étant toutes au même endroit.
(1 disque dur nvme de 2 To divisé en 2 partitions C et D, E et F sont mes 2 hdd photos de 1 To chacun, et le G correspond à du "boulot")

Nikoniste, ex-Pentaxiste

SeSy

Citation de: vernhet le Mai 29, 2024, 08:00:57ce serait de les afficher en liste, pour ensuite les sélectionner toutes pour ensuite les déplacer (ou les copier sur un autre disque ou partition)

Est-ce que tu saurais juste exécuter une ligne de commande ou pas du tout ? Si oui, je peux te la fournir et t'expliquer comment il faut faire
Dernière question : les fichiers déplacés tu veux garder la structure des répertoires ou non ?
Sur fond noir...

Gér@rd

Le plus compliqué pour expliquer et faire faire, c'est pas tellement les lignes de commandes pour générer les listes des fichiers bruts/traités (il y a plusieurs façons de faire, c'est pas le plus dur). Après il suffira de faire du coupé/collé des commandes proposées.

Mais faut déjà réussir à faire ouvrir une fenêtre terminal puis dedans de se positionner sur le ou les bons répertoires...