IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AppleScript Discussion :

Des applis demandent une autorisation: comment l'outrepasser ?


Sujet :

AppleScript

  1. #1
    Membre averti
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Novembre 2014
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Novembre 2014
    Messages : 32
    Par défaut Des applis demandent une autorisation: comment l'outrepasser ?
    Certaines applis système comme Carnet d'Adresses et Calendrier affichent un message :

    L'application demande l'autorisation d'accéder à votre calendrier lorsque le script commence par tell application "Calendar" ... end tell

    et aussi
    L'application demande l'autorisation d'accéder à vos contacts lorsque le script commence par tell application "Contacts" ... end tell

    Y a -t-il un moyen d'autoriser automatiquement l'accès ? Ça n'arrive qu'avec AppleScript via l'instruction tell, car sinon les apps système s'ouvrent automatiquement quand on les appellent depuis Finder.

  2. #2
    Membre émérite

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 606
    Par défaut
    Bonsoir,
    Apple a renforcé la sécurité de ses systèmes pour éviter le contrôle via des scripts. Ceci est particulièrement vrai à partir de Maverick, et à une bien moindre échelle sur les 2 versions de Lion. Ce n'est pas le cas sur Snow Leopard.

    Donc lors d'un script, le système requiert que l'utilisateur autorise l'accès à une application.
    En effet rien ne prouve au système que le script a bien été lancé par l'utilisateur qui est devant l'écran, ce qui n'est pas le cas lorsque l'application est lancée directement via le doc ou la Finder.

    Lors de la première utilisation du script, il faut donc autoriser le script à utiliser les applications. Il est possible de demander à ce que l'autorisation soit enregistrée, évitant ainsi les demandes ultérieures.
    Pour les curieux, ces autorisations sont enregistrées dans le trousseau d'accès : dans l'entrée crée avec l'autorisation, ouvrir la fenêtre et dans l'onglet contrôle d'accès, il y a les applications autorisées... C'est aussi ici que l'on peut retirer ces autorisations !

    Cordialement

  3. #3
    Membre averti
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Novembre 2014
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Novembre 2014
    Messages : 32
    Par défaut
    ah ben c'est cela forcément. Re-merci.
    Je suis allé dans le trousseau d'accès mais je ne trouve pas le nom de mon script qui s'appelle Calendar 5. Le problème se pose avec le script sauvegardé puis lancé comme application mais pas lorsqu'on le compile et on fait le run depuis Editeur de Script. Dans ce dernier cas, le Mac est sûr effectivement que c'est l'utilisateur qui a lancé le script et qu'il ne provient pas d'un script -appli provenant d'on ne sait où.

    En fait il faut aller dans Sécurité et Confidentialité et autoriser le script à accéder aux informations, refermer et puis ce message disparaît au prochain lancement. Normalement ? En théorie seulement... Du coup on perd un temps fou à essayer de programmer parce qu'il y a des infos qui nous échappent ou probablement erronées.

    enfin presque: ça marche 1 coup sur deux. On a beau mettre le script en exécutable ou le programme que l'on teste dans ceux inscrits dans Accessibilité et dans Confidentialité, il redemande régulièrement la permission d'accéder aux contacts. C'est ch... de programmer sur Apple car on ramasse des bugs que l'on ne comprend pas et qui font que du coup les programmes ne fonctionnent pas. Du coup les programmes que l'on peut concevoir sont invendables. Par curiosité regardez sur https://www.icloud.com: vous allez trouver des dissensus énormes entre votre calendrier et celui uploadé sur iCloud. Des événements qui figurent sur iCloud et pas sur Calendar. Il faut se creuser la tête pour comprendre ce que les développeurs Apple ont bien pu imaginer comme gestion de leur bidule.

    Merci beaucoup.

    P.S. Malheureusement il y a des bugs à tous les étages comme souvent. Lorsque je clique sur le '+' dans Accessibilité de l'onglet Sécurité et Confidentialité et que je rentre et sélectionne p.ex. le fichier Sélection_Fiches_6 il me rentre Sélection_Fiches_1 (!!) dans la fenêtre et idem pour un autre script qui s'appelle Calendar_5: il me rentre le Calendar_1. Peut-être une histoire de permissions ? Bugs à tous les étages.

  4. #4
    Membre émérite

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 606
    Par défaut
    Bonsoir,
    Effectivement l'accès évolue d'une version de système à l'autre et je me suis emmêlé les pinceaux dans la version. Désolé.

    effectivement on peut perdre un temps fou, mais c'est au prix de la sécurité.
    Il me semble avoir lu que la sécurité doit être re-validé à chaque fois que le script est re-compilé. Je ne peux tester, mais cela semble assez logique et cohérent. Sinon, on valide pour un script et tous les scripts de même nom sont automatiquement autorisés....un sécurité de ce type serai pire qu'une passoire !

    Ceci étant, on ne perds pas tant de temps que cela : comme tu l'indiques, on teste et on débugue sur l'éditeur de script, donc sans souci. Seulement une fois l'application complètement débuguée, on la compile sous forme d'une application complète (avec help, icone et tout !) et seulement alors on la valide d'un point de vue sécurité.
    C'est une approche qui demande, certes, de la méthode, mais qui est finalement plus rapide et efficace.

    Ces contraintes de programmation (et bien d'autres) sont d'ailleurs en passe d'être partiellement alignés (voir les contraintes des applications Windows 10 qui doivent satisfaire quelques éléments critiques connus des Apple développeurs depuis des lustres).

    Enfin, il y a effectivement des bugs dont nous souffrons tous, mais il est parfois difficile de faire la part des choses entre des bugs (des vrais) et des "choses bizarres" qui sont souvent dus à notre méconnaissance des certaines logiques ou de processus en tâche de fond !

    A propos, quel différence il y a-t-il entre un bug et une fonctionnalité ? réponse : la documentation

    Cordialement

  5. #5
    Membre averti
    Homme Profil pro
    chirurgien retraité
    Inscrit en
    Mai 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chirurgien retraité
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2018
    Messages : 21
    Par défaut "portabilité" des applications AppleScript
    Bonjour à tous

    Je me permets de relancer la discussion car j'avais eu a ce sujet un autre échange avec Bell, que je salue ici.

    Je suis actuellement sous macOS Monterey 12.6 et je ne sais donc pas si mon message sera valable pour les systèmes antérieurs.

    J'ai été confronté, depuis assez longtemps, à la difficulté de partager mes bundles Apple Script avec des amis.

    Chacun de ces bundles est créé en incorporant en son sein des applications Bash et C ( pour ces derniers, je les compilent préalablement et, quand il y a des bibliothèques comme dans GMP, je chosis des bibliothèques statiques donc préalablement incluses dans la compilation, ceci afin d'éviter les gags de chemin des applications dynamiques ! ).

    J'utilise Script Debugger pour créér les bundles.

    Pour commencer, il s'avère habituellement impossible de les envoyer directement par mail et cela semble lié, non pas à leur taille mais au fait qu'ils contiennent des éxécutables : certaines boîtes mails l'acceptent d'autres non ( gmail l'interdit en tous cas ).

    Je passe alors par grosfichiers.com : je zippe mon bundle avant de l'envoyer et cela se passe alors très bien ( je conseille fortement ce service à cette occasion ).

    Il n'empêche que, régulièrement, mes bundles, reçus par des tiers, après dezippage, envoie des messages d'alerte et refusent de fonctionner correctement.

    Je pense avoir trouvé une solution en supprimant certains éléments de Bash : xattr ( j'ai été guidé dans cela par un article que je donne ici :http://485ambiguous.com/quarantine-mac-os-x/ ).

    Le Zip contenant l'application est ici swann.app.zip qui est déposé dans un dossier qui sera notre dossier actif.

    On dezippe l'application : ici swann.app

    Le script Bash utilisé est d_quarantine.sh qui sera déposé dans ce même dossier.

    Voici son code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #!/bin/bash
     
    cd .
    set $(xattr swann.app) #liste les xattr a supprimer
    for i in ${*} #numerote des variables positionnelles des xattr a supprimer
    do xattr -d -r $i swann.app #supprime les xattr mais RECURSIVEMENT
    done
    mais il y a plus simple encore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #!/bin/bash
     
    cd . #on se place dans le dossier de travail
    xattr -cr swann.app #on supprime d'un coup tous les xattr : verifier avant et apres evidemment
    dans le shell voici le code à effectuer pas à pas en utilisant le script bash de votre choix


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    cd chemin_absolu_du_dossier
    xattr swann.app #affiche les xattr a supprimer
    bash d_quarantine.sh #supprime les xattr recursivement
    xattr swann.app #verifie que les xattr sont supprimés
    A effectuer sur chacune des applications à nettoyer.

    Je l'ai testé sur des bundles, envoyés par mail à l'une de mes adresses, mais différente de celle utilisée pour l'envoi, et en passant par grosfichiers.com : cela semble fonctionner et faire disparaitre tous les messages d'alertes quand on lance l'application.

    Cela ne fonctionne que sur l'application et pas sur le Zip.

    Pensez vous que cela fonctionne aussi pour vous ?

    Cordialement

  6. #6
    Membre émérite

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 606
    Par défaut
    Bonjour Orthomimi,
    Désolé de ne pouvoir t'aider car mes machines ne dépassent pas El Capitain
    Bon courage

  7. #7
    Membre averti
    Homme Profil pro
    chirurgien retraité
    Inscrit en
    Mai 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chirurgien retraité
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2018
    Messages : 21
    Par défaut reponse à PBELL
    Bonjour a toi Bell

    Et merci de ta réponse : je me posais juste la question de savoir si ma méthode fonctionnait avec des systèmes antérieurs, donc El Capitan en particulier.

    A l'occasion, et si tu étais confronté a ce type de souci, essaye a tout hasard la manip, afin de voir si la compatibilité de la méthode est bien descendante ( ou ascendante je ne sais pas trop comment on dit cela formellement : je veux dire ici, quand on souhaite qu'une méthode fonctionne avec des versions plus anciennes ).

    Je vais essayer de nouveau avec mes proches qui ont des systèmes plus vétustes et sur des machines plus anciennes ( la mienne est récente avec les nouvelles puces ( enfin récente de une année !!! ))

    Merci et probablement à bientôt dans d'autres questionnements ( car je m'obstine à fabriquer des bundles hybrides ...)

    Très cordialement

    Orthomimi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 30/12/2017, 16h19
  2. Demander une autorisation pour faire une opération administrative
    Par boby62423 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 18/01/2012, 22h51
  3. Réponses: 3
    Dernier message: 23/12/2011, 21h16
  4. Réponses: 5
    Dernier message: 31/08/2011, 23h18
  5. Application demandant une autorisation
    Par VLDG dans le forum Windows Vista
    Réponses: 0
    Dernier message: 25/08/2007, 14h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo