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

Le Samsung ViewFinity S9 5K en promo (-300€) ! Une bonne alternative au Studio Display !

Le Samsung ViewFinity S9 5K en promo (-300€) ! Une bonne alternative au Studio Display !

Le marché compte très peu de moniteurs 5K, et Samsung croise le fer sur ce petit marché avec le Studio Display d'Apple en proposant...

Le MacBook Air M1 de retour à 799€ ! Son prix le plus bas !

Le MacBook Air M1 de retour à 799€ ! Son prix le plus bas !

Si vous cherchez un Mac neuf, compact, capable de supporter sans sourciller les tâches du quotidien et offrant une bonne autonomie, le tout en...

Dernier jour pour du cloud à vie jusqu'à 65% de réduction sur les offres pCloud 2, 5 ou 10To !

Dernier jour pour du cloud à vie jusqu'à 65% de réduction sur les offres pCloud 2, 5 ou 10To !

La société suisse pCloud vous propose à l'occasion de la Journée des familles 2024, une belle promotion sur le plan à vie...

Intel connecte les PC avec Thunderbolt Share, mais pas les Mac

Intel connecte les PC avec Thunderbolt Share, mais pas les Mac

Intel lance une nouvelle application permettant de partager certains éléments entre plusieurs PC via une connexion en Thunderbolt.

Le clavier Logitech MX Keys Mini pour Mac et iPad en promo à -29% !

Le clavier Logitech MX Keys Mini pour Mac et iPad en promo à -29% !

Si vous n'appréciez pas les Magic Keyboard d'Apple, que ce soit pou rMac ou iPad, une des meilleures alternatives est le MX Keys Mini de Logitech,...

L'excellent outil de capture d'écran CleanShot X s'améliore encore !

L'excellent outil de capture d'écran CleanShot X s'améliore encore !

Si vous prenez très fréquemment des captures d'écrans, certains logiciels proposent davantage de foncions que l'outil...

Le MacBook Air M3 15 pouces à son prix le plus bas ! Jusqu'à -210€ en 16/512Go !

Le MacBook Air M3 15 pouces à son prix le plus bas ! Jusqu'à -210€ en 16/512Go !

Les MacBook Air M3 15 pouces ont été lancés en mars dernier et profitent désormais de premières promotions...

VMware Fusion Pro est gratuit pour un usage personnel ! Voici comment installer Windows sur Mac !

VMware Fusion Pro est gratuit pour un usage personnel ! Voici comment installer Windows sur Mac !

La solution de virtualisation VMware Fusion Pro, désormais dans le giron de Broadcom, devient totalement gratuite pour un usage personnel.

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.