Si vous avez lancé VirtualHub sur les dernières versions de macOS, vous avez dû remarquer que l'OS refuse de démarrer l'application, car il la considère comme "potentiellement dangereuse". Spoiler alert, ce n'est pas le cas. Cette semaine, on vous explique pourquoi ce message apparait et comment lancer VirtualHub sous macOS.
Quand vous lancez VirtualHub ou n'importe quelle autre application Yoctopuce sur macOS Sequoia, vous risquez d'avoir le message suivant:

Le premier message d'erreur
Ce message indique que macOS ne peut pas vérifier la source de l'application et qu'en conséquence il refuse de l'exécuter. Pour l'exécuter, il faut ajouter une exception dans les paramètres de macOS.
Il faut donc ouvrir les paramètres de macOS (Pomme → System settings) et ouvrir le panel "Privacy & Security". En scrollant en bas de ce panel, il y a une section "Security" qui liste toutes les applications qui sont bloquées par l'OS.

La section Privacy & Security permet d'accepter VirtualHub
Il faut cliquer sur le bouton "Open Anyway" pour l'application qui est bloquée, ce qui ouvre un autre pop-up avec le même avertissement, mais avec un bouton supplémentaire "Open Anyway".

Le deuxième pop-up
Ce nouveau bouton va d'abord demander le mot de passe et ajoute une exception pour l'application. Une fois ces étapes réalisées, on peut enfin exécuter normalement VirtualHub.
Le piège SSH
Si vous utilisez votre mac comme serveur et que vous interagissez avec lui au travers d'un terminal SSH, la situation est encore moins intuitive. L'OS va bloquer l'exécution de l'application sans afficher aucun message d'erreur sur le terminal.

Si vous lancer VirtualHub par SSH, aucun message n'est affiché
macOS ne fait aucune distinction entre une application lancée depuis un terminal local ou une session SSH. Résultat : l’application reste bloquée (sans retour d’erreur dans le terminal), tandis que la fenêtre d’avertissement s’affiche uniquement à l’écran de la machine. Pour débloquer cette situation, il faut soit se connecter physiquement à la machine, soit se connecter par VNC et suivre la procédure décrite plus haut.
Pourquoi?
Pourquoi VirtualHub est-il considéré comme suspect par macOS? C'est tout simplement car nous ne sommes pas membre du Apple Developer Program.
Lorsque vous lancez une application, macOS utilise Gatekeeper pour vérifier la signature numérique de l'application et détecter si l'application n'a pas été modifiée par une personne malveillante. L'idée est louable et Microsoft fait plus ou moins la même chose. Mais, là où Microsoft utilise des certificats numériques délivrés par des autorités comme DigiCert ou Sectigo, Apple ne reconnaît que ses propres certificats.
Donc, pour signer une application afin qu’elle ne soit pas considérée comme suspecte, il est impératif d’avoir un compte développeur Apple et de faire valider celle-ci en utilisant les outils Apple.
Vous vous demandez probablement pourquoi nous n'avons pas de compte développeur Apple.
Pour devenir développeur Apple, il faut un numéro DUNS (Data Universal Numbering System). Le numéro DUNS est utilisé pour identifier et profiler les entreprises et leurs informations commerciales à travers le monde. Comme nous l'avions déjà expliqué nous dans un précédent article, nous n'avons pas envie de confier à une entreprise privée à l'étranger le contrôle de nos informations publiques.
De plus, le statut de développeur Apple est payant et doit être renouvelé toutes les années. Plus que le coût de cet abonnement, nous n'aimons pas que nos applications dépendent d'un service tiers qui peut à tout moment décider de bloquer nos logiciels.
Nous croyons fermement en l’indépendance des développeurs, et nous tentons de dépendre le moins possible de services tiers pour réaliser et publier nos produits. C'est pour cette raison que nous distribuons nos applications et nos codes sources de manière indépendante sur notre site web depuis la création de Yoctopuce il y a 15 ans. C'est aussi pour cette raison que VirtualHub n'est pas publié sur l'Apple store ou le Microsoft store. Malheureusement pour nos utilisateurs, cela veut dire qu'il faudra continuer à appliquer la procédure décrite plus haut pour les prochaines versions de nos applications.
