Top Promos Apple Test Apple Antivirus Mac Dock Thunderbolt Sunology Comparatif iPhone Nettoyeur Mac

Articles

Mac

Type / Créateur

Par Solune - Mis à jour le

Tout d'abord



Quand on commence à connaître le mode de fonctionnement de MacOS on se rencontre qu'il utilise deux renseignements pour ouvrir/enregistrer un fichier. Ces renseignements sont 2 mots de 4 lettres en majuscules/minuscules. Il y a le Créateur qui est la signature de l'application qui permet au système de retrouver l'application avec laquelle le fichier a été crée et de la lancer quand on double-clique sur un fichier, par exemple : la signature de SimpleText est ttxt, celle de QuickTime est TVOD. Ensuite ce trouve le Type qui représente les informations contenue dans le ficher, par exemple : un fichier qui contient du texte aura un Type TEXT, un fichier qui contient une vidéo aura un Type MooV, une application aura un Type APPL.

Pourquoi faire un script ?



Parce qu'il y a des fois où l'on veut bidouiller un fichier et que l'on a besoin de définir une autre application pour le fichier. Et (à ma connaissance) il existe que ResEdit qui permet de les modifier facilement. Mais un peu faire un script plus rapide que ResEdit dont on a pas forcément besoin.

Que me faut-il ?



Absolument rien de spécial !!!
Seulement un Mac sous MacOS ;-)

Fonctionnement



Bon, commençons par réfléchir au fonctionnement du script.
Au lancement il faudra qu'il nous demande quel fichier nous voulons modifier et le localiser sur le disque.
Puis il lira les Type et Créateur déjà existant du fichier pour pouvoir nous les afficher au cas on l'on ne veuille pas modifier un des paramètres.
Ensuite il demandera les nouveaux Type et Créateur.
Et enfin, il modifiera le fichier.

Recherche



Démarrage du script



Ce script sera une mini-application et cette ligne fait débuter le script quand on la lance.

on run {}

Comment faire pour choisir le fichier ?



Et oui ce n'est pas si simple. Il faut que le script demande quel fichier nous voulons modifier. Mais le nom de celui-ci ne nous suffit pas ! Il faut aussi le chemin à partir du disque. Localiser un fichier sur un disque est chose... FACILE ! Heureusement tout est prévu.

Vous savez lire un dictionnaire donc c'est partit. Ouvrez celui de "Compléments standard" qui se trouve dans le dossier compléments de pilotages.

Type / Créateur


Donc que recherche-t-on ?
Que l'utilisateur sélectionne un fichier du disque pour que l'on récupère sa localisation.

Après une recherche (seul ;-) ) vous avez remarqué dans la liste User Interaction : "choose file". Après avoir cliqué dessus vous avez tous les renseignements sur cette commande.

Type / Créateur


Faisons un peu d'Anglais (...)
choose file: Choose a file on a disk or serveur
=> choisir un fichier sur un disk ou un serveur
Choose file
=> choisir un fichier
[with prompt string] --a prompt to be displayed in the file chooser
=> un texte à afficher dans le sélectionneur de fichier
[of type list] --restrict the files shown to only these file types (up to 4)
=> restreindre les fichiers montrer seulement les fichiers de ces types (jusqu'a 4)
Result: alias --to the chosen file
=> Resultat: localisation --du fichier choisi


Pour cette commande nous souhaitons seulement utiliser les 2 premières lignes et le résultat bien sûr.
Après mûres réflexions voici la ligne de code nous permettant de choisir un fichier et d'avoir sa localisation :

set Fichier to choose file with prompt "Sélectionnez le fichier à modifier."

Donc nous récupérerons l'adresse du fichier dans la variable Fichier. Dans la fenêtre apparaîtra le message : "Sélectionnez le fichier à modifier.". Et voilà.

Lire les Type et Créateur d'un fichier



Là sa se complique. Il va falloir piloter une application. Devinez laquelle ?

Allez un petit effort : elle commence par f et elle est la plus utilisée des MacUsers.

Bon c'est effectivement bien le Finder.

Donc allons faire un tour dans son dictionnaire.

Type / Créateur


Notez au passage toutes les commandes !
Faites défiler jusqu'a trouver Files and suitcases et plus précisément file.
Donc pour la Class file (attention ce n'est pas une commande):
file type type class
=> le type du fichier sélectionné
creator type type class
=> le créateur du ficher
locked boolean
=> si le fichier est verrouillé ou pas (boolean signifie que la valeur retournée est soit true (vrai) soit false (faux)

Faisons maintenant les lignes de codes.
Attention ici nous allons être obliger de piloter le Finder car nous allons utiliser son dictionnaire, il faut donc penser à le signaler.

tell application "Finder" --on pilote le Finder
set Type to file type of Fichier --on stocke dans la variable Type le Type du fichier dont l'adresse est dans la variable Fichier
set Createur to createur type of Fichier --idem pour le créateur
set Verrouille to locked of Fichier --idem pour savoir si le fichier est verrouillé
end tell --on n'a plus besoin de piloter le Finder

Interaction avec l'utilisateur



Voilà la partie la plus dure.

D'abord nous allons arrêter le script si le fichier est verrouillé car nous ne pourrons le modifier. Il va donc falloir utiliser la boucle if.
Nous avons enregistré l'état du fichier dans la variable Verrouille, celle-ci est égale à true si il est verrouillé et false dans le cas contraire. Pour la tester avec if il faut inverser cette valeur : on veut true si on peut le modifier ( déverrouillé ) et false si on ne peut pas ( verrouillé ). Cela se fait simplement avec l'ajout d'un not.

Ligne de code :
if not Verrouille then

Ensuite il faut demander à l'utilisateur les nouvelles valeur à entrer. Mais attention, il faut absolument 4 caractères, ni plus ni moins. Nous allons donc instaurer une boucle dont on ne sortira que dans le cas où ces critères sont respecté. Cette boucle se fera avec repeat.

Ligne de code :
repeat

Il faut maintenant demander les nouvelles valeurs tout en affichant les anciennes. La commande display dialog (je vous renvoie aux tutoriaux précédant) suffit bien :

display dialog "Type du fichier : " & Type & "
Entrez le nouveau type :" default answer "" with icon note
set NewType to text returned of the result

Il y a bien un retour à la ligne avant "Entrez", c'est une question d'esthétique. Sinon le texte entré dans la boîte de dialogue est récupéré dans la variable NewType.

display dialog "Créateur du fichier : " & Createur & "
Entrez le nouveau créateur :" default answer "" with icon note
set NewCreateur to text returned of the result

Idem pour le créateur.

Il faut maintenant voir si l'utilisateur à effectivement entré 4 caractères pour le type et créateur. Pour connaître le nombre de caractères d'une variable il faut utiliser length.

if (((length of NewType) = 4) and((length of NewCreateur) = 4)) then

Dans le cas où tout est bon il faut sortir de la boucle repeat, et dans le cas contraire lui laisser refaire un tour et signaler que c'est pas le bon nombre.

exit repeat
else

display dialog "Le Type et le Créateur d'un fichier comporte 4 lettres !!!" buttons "OK" default button 1 with icon caution
end if
end repeat

Bingo ;-)

Ecrire les Type et Créateur d'un fichier



C'est l'inverse de la lecture : au lieu de "set" une variable on va "set" le Type et le Créateur du fichier.

tell application "Finder" --on n'oublie pas de piloter le Finder
set file type of Fichier to NewType
set createur type of Fichier to NewCreateur
end tell

Maintenant c'est presque fini.

Boucler le script



il reste juste à terminer la boucle due au verrouillage du fichier.

else
display dialog "Le fichier choisi est verrouillé !" buttons "OK" with icon caution default button 1
end if
end run

Voilà, tout est fini.
Il ne reste plus qu'a enregistrer sous min-application et cocher "ne pas afficher l'écran de démarrage".

Listing



Voilà le listing complet (vous pouvez faire un copier-coller) :

on run {}
set Fichier to choose file with prompt "Sélectionnez le fichier à modifier."
tell application "Finder"
set Type to file type of Fichier
set Createur to creator type of Fichier
set Verrouille to locked of Fichier
end tell
if not Verrouille then
repeat
display dialog "Type du fichier : " & Type & "
Entrez le nouveau type :" default answer "" with icon note
set NewType to text returned of the result
display dialog "Créateur du fichier : " & Createur & "
Entrez le nouveau créateur :" default answer "" with icon note
set NewCreateur to text returned of the result
if (((length of NewType) = 4) and ((length of NewCreateur) = 4)) then
exit repeat
else
display dialog "Le Type et le Créateur d'un fichier comporte 4 lettres !!!" buttons "OK" default button 1 with icon caution
end if
end repeat
tell application "Finder"
set file type of Fichier to NewType
set creator type of Fichier to NewCreateur
end tell
else
display dialog "Le fichier choisi est verrouillé !" buttons "OK" with icon caution default button 1
end if
end run

Have fun

Logitech dévoile sa nouvelle souris avec un bouton ChatGPT !

Logitech dévoile sa nouvelle souris avec un bouton ChatGPT !

Il n'y a pas que les applications qui se dotent de raccourcis IA. En effet, Logitech vient de dévoiler sa nouvelle souris sans fil M750. De prime abord,...

Peakto Search optimise la recherche de photos dans Lightroom Classic

Peakto Search optimise la recherche de photos dans Lightroom Classic

L’éditeur français Cyme, déjà connu pour son méta-catalogueur Peakto, revient avec un plugin dédié...

La licence à vie d'Office Mac pour 29€ : GoDeal24 lance une nouvelle promo

La licence à vie d'Office Mac pour 29€ : GoDeal24 lance une nouvelle promo

Godeal24, distributeur mondial de logiciels informatiques, propose des licences Microsoft à des prix exceptionnels, dont certains pour votre Mac.

Final Cut Library Manager change d'éditeur, avec une licence perpétuelle

Final Cut Library Manager change d'éditeur, avec une licence perpétuelle

Les vidéastes qui nous lisent connaissent sans doute Final Cut Library Manager, ce gestionnaire de bibliothèques Final Cut Pro toujours aussi...

Comment récupérer des informations via une photo sur son Mac

Comment récupérer des informations via une photo sur son Mac

L'application Photos d'Apple utilise déjà l'IA pour repérer des détails -comme les adresses dans les images- et il est tout...

De l'IA générative dans Adobe Premiere Pro pour rallonger les clips et enlever des objets

De l'IA générative dans Adobe Premiere Pro pour rallonger les clips et enlever des objets

Depuis l'année dernière, Adobe a intégré de nouvelles fonctions boostée à l'IA à Premiere Pro, et ce,...

Quels sont les prochains Mac M4 ? Quand sortiront-ils ?

Quels sont les prochains Mac M4 ? Quand sortiront-ils ?

Alors que tous les Mac ne sont pas équipés d’une puce M3, Mark Gurman - voyant émérite de Bloomberg- se penche...

Safari a augmenté son score Speedometer 3 de 60% en quelques mois !

Safari a augmenté son score Speedometer 3 de 60% en quelques mois !

Il n'y a pas que les benchmarks pour les performances des puces et des SSD dans la vie, les navigateurs y ont droit aussi. Les équipes...

Commentaires

Connectez-vous/créez un compte pour réagir à cet article !
Oops, vous n'êtes pas connecté

Pour évaluer un commentaire sur Mac4Ever, vous devez être connecté avec votre compte utilisateur.

3 commentaires
Connectez-vous/créez un compte pour réagir à cet article !
Oops, vous n'êtes pas connecté

Pour évaluer un commentaire sur Mac4Ever, vous devez être connecté avec votre compte utilisateur.