Icone de CD personnalisé, comment faire ?

wintermute

Membre enregistré
25 Septembre 2006
9
0
Bonjour,

j'ai déjà posté ce topic sur la partie customization, mais en l'absence de réponses, j'en déduis que j'aurais plus de chance dans cette partie.

En effet, je développe un photothèque sur CD, destinée à être vendue. Mon problème est de remplacer l'icone représentant un CD qui apparait au montage du disque par un icone fait maison.
J'ai lu de nombreuse explications de la manière de faire, mais il ne s'agit bien souvent que de paramétrer pour sa propre machine un icone personnalisé pour ce CD.
Introduisez ce CD dans un autre mac, et vous n'aurez rien d'autre que l'icone classique d'un cdrom.
Il semble que la solution se trouve au niveau d'un fichier spécial caché, nommé .VolumeIcon.icns, qui devrait être présent sur la racine du cd. Ce fichier doit être un fichier icone de mac, par exemple créé avec IconComposer (ce que j'ai fait).
Malheureusement, en dépit de mes nombreux essais, il doit me manquer un élément dans la manip, car je n'ai jamais pu afficher ce damné icone personnalisé.

Est-ce qu'il y a quelque chose à faire au niveau du resource fork ? Ou sont-ce des caractéristiques graphiques particulières à respecter dans IconComposer ?

Merci de votre aide !
 
Suite au peu de succès de mes deux précédent messages concernant l'attribution d'un icone personnalisé à un CD-rom, je reformule la question, comment, avec les commandes 'read', 'Rez' 'ditto', 'SetFile', fait-on pour gérer les resources fork, puisque là est la source du problème ? Je ne trouve aucun howto digne de ce nom sur ça, juste des informations éparses, entre les pages de man, des articles obscurs en anglais, des extraits de pages de codes imbitables... bref vaillant développeurs mac, s'il vous plait j'ai besoin d'aide...

Merci d'avance !
 
icon composer ne gère pas les infos d'iconnes ics8 et icl8 nécessaire aux icones de volumes

utilises graphic converter par exemple pour créer ton fichier d'icone
 
Si tu utilises Toast 7 (sais pas si marche dans les versions précédentes) pour graver, un pomme I et simple copier coller fera l'affaire comme pour changer un icone dans ton système. L'icone est conservée même sur une autre machine.
 
Mais malheureusement, aucune des astuces proposées ne correspond à ma problématique : La création de ce CD doit être automatisée, de plus, je n'ai pas de budget pour acheter des logiciels tiers genre Toast. Il faut que j'arrive à mes fins avec les quelques outils mis à dispo par Apple, et les enchainer dans des scripts qui seront lancés depuis un site internet... Donc je dois vraiment arriver à comprendre ces outils en CLI que j'ai déjà cité plus haut. Enfin merci de votre aide.
 
Trouvé ça:
Bloc de code:
# Make a custom icon for the disk image
mv /Volumes/$APP_NAME/$APP_NAME.app/Contents/Resources/res/sipXdmg.icns /Volumes/$APP_NAME/.VolumeIcon.icns
echo "read 'icns' (-16455) \"/Volumes/$APP_NAME/.VolumeIcon.icns\";" | /Developer/Tools/Rez -o "/Volumes/$APP_NAME/Icon
"
/Developer/Tools/SetFile -a C /Volumes/$APP_NAME
/Developer/Tools/SetFile -a V "/Volumes/$APP_NAME/Icon

Il faut positionnner le bit custom icon à 1:
C | c Custom icon (allowed on folders)

http://www.hmug.org/man/1/SetFile.php
 
Merci. En fait, j'ai déjà trouvé cet exemple, mais il n'a pas contribué à éclairer ma lanterne, malheureusement. Quels sont les rôles des différentes commandes ? A quoi sert ce "read 'icns' (-16455) "chemin vers l'icone" ? Qu'est ce que cette commande "Rez" en fait ? Pourquoi produire un fichier /Icon résultant si on a déjà un fichier icone .VolumeIcon.icns ? Et ces deux commandes setFile, euh what's the point ? Franchement je ne sais pas vous, mais pour moi c'est vraiment incompréhensible, pitié ne me dites pas d'aller lire les man, c'est fait, et c'est tout sauf compréhensible par un humain moyen comme moi...
Bon je garde espoir. Le sujet reste ouvert, ça servira pour bien des gens je pense quand on aura trouvé.
 
Ca a marché du premier coup :)
Bloc de code:
 Name="Essai"

# création d'une image disque de 5Mo nommé 'image.dmg' dans le répertoire courant
# nom du volume: Essai
hdiutil create image -megabytes 5 -volname $Name -fs HFS+
hdiutil mount image.dmg
#pwd

# faire la copie des fichiers + le fichier .VolumeIcon.icns

/Developer/Tools/SetFile -a C /Volumes/$Name

#gravage
hdiutil burn image.dmg -noverifyburn -noeject

#hdiutil unmount /volumes/$Name