Allegro Posté(e) le 14 novembre 2007 Partager Posté(e) le 14 novembre 2007 Hello les gars, Je voudrais savoir s'il est possible, à l'ouverture d'un .dmg (quand on double-clique dessus quoi ... je ne suis pas sûr que le terme "ouverture" soit exact ?), que le .app qui se trouve dedans se lance automatiquement. Merci d'avance (j'ai pas fini de vous embêter avec des questions à la con ... ) Lien vers le commentaire Partager sur d’autres sites More sharing options...
G r i b o u i l l e Posté(e) le 14 novembre 2007 Partager Posté(e) le 14 novembre 2007 C'est très faisable mais un peu compliqué... Je développerais si Falou n'a pas une solution facile avec Automator comme d'hab ^^ Bon en gros : Écrire un LaunchAgent dans ~/Library/LaunchAgents/ Celui-ci va surveiller l'activité du dossier /Volumes où sont montés les images disques et lance l'execution d'un second script dès qu'une nouvelle image est montée Écrite un script qui va parser le contenu du dossier /Volumes et ouvrir les .app dans les volumes qui ne comportent pas (automounted) -> info que l'on obtien avec la commande mount. Pour éviter qu'il réouvre toutes les applications on fait un touch /tmp/application_opened_name après chaque ouverture de .app, et on vérifi que le fichier n'existe pas. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Allegro Posté(e) le 14 novembre 2007 Auteur Partager Posté(e) le 14 novembre 2007 Salut Gribouille, Merci beaucoup de me répondre si vite. Bon là comme ça vu mon niveau je ne sais pas comment faire tout cela Si tu peux m'indiquer plus précisément le code, où si tu as un lien vers des explications détaillées, ce serait génial. Ou un autre moyen, s'il y en a un (pour que ça marche aussi sur des MacOS X antérieurs à Tiger). Muchas gracias (espagnol aussi approximatif que mon vocabulaire Mac ) Lien vers le commentaire Partager sur d’autres sites More sharing options...
falou Posté(e) le 14 novembre 2007 Partager Posté(e) le 14 novembre 2007 Ce genre de possibilité étant un excellent moyen d'infecter les machines je crois bien que cela n'est plus possible sans bidouille locale. Ainsi, tu ne peux pas faire en sorte d'envoyer un mg qui va lancer u prog automatiquement. Maintenant si toi tu veux faire ça sur ta machine... m'enfin je le conseille pas. Lien vers le commentaire Partager sur d’autres sites More sharing options...
G r i b o u i l l e Posté(e) le 14 novembre 2007 Partager Posté(e) le 14 novembre 2007 Pour la partie LaunchAgent : On l'appel com.autolaunch.dmgapp et on l'enregistre dans ~/Library/LaunchAgents/ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" \ "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <dict> <key>Label</key> <string>com.macresearch.backup</string> <key>LowPriorityIO</key> <true/> <key>Program</key> <string>/Users/yourname/Library/Scripts/launchapps.sh</string> <key>ProgramArguments</key> <array> <string>launchapps.sh</string> </array> <key>WatchPaths</key> <array> <string>/Volumes</string> </array> </dict> </plist> Donc lui va maintenant essayer de lancer launchapps.sh, à chaque montage d'image disque. Il faut donc éditer : ~/Library/Scripts/launchapps.sh (je voulais le faire un Perl, mais j'ai pas trop le temps et je suis plus habitué au PHP, oui je sais c'est pas fait pour...) #!/usr/bin/env php <?php // $list_of_volumes = system('ls /Volumes'); // $volumes_array = split($list_of_volumes, '\n'); $directory_to_read = '/Volumes/'; $directory_handle = opendir($directory_to_read); $increment_table_dir = '0'; $table_dir[0] = ''; while ($rep = readdir($directory_handle)) { if ((is_dir($directory_to_read . $rep))) { $table_dir[$increment_table_dir] = $rep; $increment_table_dir++; } } foreach($table_dir as $volume) { $path_do_read = $directory_to_read . $volume; $volume_handle = opendir($path_do_read); while ($file = readdir($volume_handle)) { if (preg_match('!\.app$!',$file)) { $launching_app_string = $directory_to_read . $volume . '/' . $file; $launching_app_string = str_replace(' ','\ ',$launching_app_string); $already_launched = shell_exec('ls /tmp/'); if(!strstr($already_launched, $file)) { shell_exec('open ' . $launching_app_string); shell_exec('touch /tmp/'. $file); } } } } ?> Ça fonctionne bien ton affaire Si tu as un peu de mal avec le launchagent au début executer le script seul, tu pouras constater que ça lance impec :) Pour les LaunchAgent je te conseil la documentation Apple sur le sujet : http://developer.apple.com/documentation/M...andDaemons.html PS: Falou Je ne trouve pas ça spécialement dangereux, dans la mesure où on lance systématiquement ce que l'on télécharge au moins une fois... Après avec ce système on peux même lancer l'application avec moins de droits qu'on en possède sois même. Y'a pleins de possibilités :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Allegro Posté(e) le 14 novembre 2007 Auteur Partager Posté(e) le 14 novembre 2007 Merci beaucoup Gribouille je vais essayer cela, je te tiens au courant ! A ++ Lien vers le commentaire Partager sur d’autres sites More sharing options...
falou Posté(e) le 14 novembre 2007 Partager Posté(e) le 14 novembre 2007 PS: Falou Je ne trouve pas ça spécialement dangereux, dans la mesure où on lance systématiquement ce que l'on télécharge au moins une fois... Après avec ce système on peux même lancer l'application avec moins de droits qu'on en possède sois même. Y'a pleins de possibilités :) Pourtant il a été établi que c'était une faille de sécurité qui pouvait être exploitée. http://www.silicon.fr/fr/news/2007/11/06/q...sur_mac_os_x___ Exécuter le contenu d'un dmg signifie que si celui-ci a été téléchargé via un code de page web malicieux, tu peux te retrouver à exécuter n'importe quoi. C'est dangereux, c'est à ne pas faire, ce n'est pas un jugement c'est une réalité. Lien vers le commentaire Partager sur d’autres sites More sharing options...
G r i b o u i l l e Posté(e) le 14 novembre 2007 Partager Posté(e) le 14 novembre 2007 Ouai... Très franchement, tu as plus de risque à essayer une application que tu penses sûr qui peux réellement te ruiner ton ordi qu'à laisser "ouverture automatique" des fichiers. Là ce soir, je code une application sous le nom "Leopard Dock Changer", je suis certain que en 15 minutes sur le forum une dizaine de personne l'aura installé et je pourais coller dedant un bout de code qui supprimera le contenu du ~. Là c'est dangereux car tu aura donné ton mot de passe à l'installateur en lui faisant confiance (comme on le fait souvent pour tester des applications). L'application qui s'autolance depuis Safari aura des droits plus restreints. Nan vraiment, c'est un risque certe mais pas bien méchant à l'heure actuelle. edit: et si : c'est un jugement. De même qu'Apple a jugé ça pas dangereux pendant prêt d'un an dans Tiger. Maintenant on renforce la sécurité dans tout les sens et effectivement, même à l'execution d'une app téléchargée on nous demande notre accord... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Allegro Posté(e) le 14 novembre 2007 Auteur Partager Posté(e) le 14 novembre 2007 Bon, j'ai essayé de lancer le script mais je tombe sur quelques messages d'erreur, j'ai dû me planter quelque part. En tous cas un grand merci Gribouille , mais mon but n'était pas du tout de donner de mauvaises idées ! Je voulais juste savoir si c'était possible (parce qu'un copain me disait que non, et j'en doutais). J'espère ne pas avoir crée de problèmes Lien vers le commentaire Partager sur d’autres sites More sharing options...
G r i b o u i l l e Posté(e) le 14 novembre 2007 Partager Posté(e) le 14 novembre 2007 En informatique, tout est possible Si t'as besoin d'un coup de pouce :) gribouille_a arobaz hotmail, la version .com Ce qui se passe au premier lancement Ce qui se passe au second lancement (note la présence du Firefox.app dans /tmp) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Allegro Posté(e) le 14 novembre 2007 Auteur Partager Posté(e) le 14 novembre 2007 Merci beaucoup A ++ Lien vers le commentaire Partager sur d’autres sites More sharing options...
falou Posté(e) le 14 novembre 2007 Partager Posté(e) le 14 novembre 2007 edit: et si : c'est un jugement. Un jugement réel alors Etrange ton fond d'écran d'oranges mal pelées Lien vers le commentaire Partager sur d’autres sites More sharing options...
Allegro Posté(e) le 14 novembre 2007 Auteur Partager Posté(e) le 14 novembre 2007 A noter, juste moi je ne peux pas faire grand-chose de mal, vu que je ne saurais pas quoi écrire comme code La seule chose que je sache, c'est display dialog. Alors là, je peux le mettre à toutes les sauces, display dialog "Bonjour", display dialog "Salut" ... et même display dialog "Bonsoir" (je suis fier de ma médiocrité ) Remarquez, ça me permettrait de laisser un petit message d'amour à ma copine, le display dialog, de temps à autre ... je vais creuser le sujet ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.