À propos de Parall

Pourquoi Parall existe, comment fonctionnent ses paquets de raccourci et les choix techniques derrière son design local et privé.

Ingénierie macOS originale

Issu de la recherche, pas d’une recette

Le cœur de Parall ne pouvait pas être assemblé à partir d’une documentation publique, car le comportement des apps dont il dépend n’est pas documenté. Il est né d’années de rétro-ingénierie de l’architecture des apps macOS, de tests individuels et de l’amélioration continue d’un moteur fondé sur ce qui fonctionne réellement.

Un comportement non documenté, étudié directement

Les profils de compatibilité de Parall viennent de l’observation de la façon dont chaque app cible se lance, stocke ses données, gère des processus séparés et interagit avec le Dock. Le bon fonctionnement des raccourcis lorsqu’ils sont ouverts depuis Spotlight, Raycast et Alfred résulte de cette même rétro-ingénierie. Ce travail continue à mesure que macOS et les apps évoluent.

Plus qu’un script ou une app copiée

Un script peut parfois démarrer un autre processus. Parall résout le problème plus difficile qui consiste à donner aux instances compatibles leur propre identité utilisable et leur propre comportement dans le Dock ainsi que, lorsque l’app le permet, des données, comptes, profils et réglages séparés tout en restant reliées à l’app d’origine.

L’app d’origine reste signée et actualisable

Parall ne modifie jamais l’app cible et ne la fige pas sur une version. Chaque raccourci continue de lancer l’app d’origine installée, préserve sa signature de code et permet à son système de mise à jour intégré de continuer à fonctionner. Après une mise à jour, tous les raccourcis utilisent la nouvelle version au redémarrage. C’est important, car les mises à jour corrigent souvent des vulnérabilités de sécurité.

Sans API privée ni modification d’app

La recherche détermine comment Parall configure les mécanismes de lancement standard de macOS. Parall n’utilise pas d’API privée, n’injecte ni ne modifie du code et ne change ni macOS ni l’app d’origine.

C++ de bas niveau, compatibilité durable

Le lanceur intégré à chaque raccourci Parall est écrit en C++ de bas niveau, sans dépendance à des bibliothèques tierces ni à l'environnement d'exécution Swift. Il est testé manuellement sur chaque version majeure de macOS depuis la 10.11 pour vérifier la compatibilité et préserver le comportement normal de l'app cible. Sa conception vise à maintenir le fonctionnement des raccourcis lors des futures mises à jour de macOS, avec une vérification de la compatibilité à l'arrivée de chaque nouvelle version.

Le résultat est une ingénierie originale menée par une personne. Ihor July conçoit, programme, teste et maintient le moteur de Parall, au lieu de le générer avec une instruction d’IA ou de le copier depuis une recette publique.

Une architecture différente

Pourquoi Parall ne copie ni ne reconditionne les apps

De nombreuses solutions permettant plusieurs instances dupliquent le paquet de l'app cible, changent son identité et le signent à nouveau. Parall lance plutôt l'app originale installée au moyen d'un raccourci séparé. Il ne modifie, ne reconditionne et ne signe jamais à nouveau le paquet cible.

Point de comparaison Méthode courante de copie et de reconditionnement Parall
Paquet de l'app cible Crée une seconde copie, modifie son contenu ou son identité de paquet, et peut la reconditionner. Laisse l'app cible installée intacte et lance son exécutable original avec un raccourci séparé.
Signature et sécurité Modifier un paquet signé invalide la signature originale du développeur. Une nouvelle signature crée une copie signée différemment et peut modifier ou supprimer des autorisations, le comportement de la sandbox et d'autres protections. Préserve la signature du développeur, la sandbox, les autorisations et les mesures de sécurité de l'app cible puisque son paquet n'est jamais modifié.
Autorisations de confidentialité après les mises à jour Reconditionner ou signer à nouveau peut changer l'identité de l'app et rendre les autorisations enregistrées inopérantes après une mise à jour. Réactiver une autorisation avec son interrupteur peut ne pas suffire à rétablir l'accès. Il peut être nécessaire de réinitialiser les autorisations et de les accorder à nouveau. Préserve l'identité de signature de l'app d'origine, pour que macOS puisse continuer à reconnaître vos choix d'autorisation après les mises à jour normales de l'app.
Services natifs de l'app Les changements d'identité, de signature ou d'autorisations peuvent perturber les services qui en dépendent, notamment les groupes Trousseau, les clés d'accès, l'identité des notifications push, les retours d'autorisation et les attentes du programme de mise à jour. Évite de retirer les capacités d'origine de l'app cible en continuant à lancer son paquet signé. Chaque service dépend toujours de l'app cible et de macOS. Les limites connues avec plusieurs instances sont documentées dans la FAQ.
Mises à jour Une version copiée ou reconditionnée peut sortir du processus de mise à jour original et rester sur une ancienne version jusqu'à sa reconstruction ou son remplacement. Conserve le processus de mise à jour original. Une fois l'app cible mise à jour, chaque raccourci Parall utilise la version à jour lors de son prochain lancement.
Dépendances Peut dépendre de scripts, d'étapes manuelles de signature ou d'outils auxiliaires obtenus en dehors de l'app. L'app Parall principale est autonome, exécutée dans une sandbox et distribuée sur le Mac App Store. Aucun téléchargement auxiliaire ni service d'arrière-plan n'est requis.
Mises à jour de l'icône d'origine Une icône copiée peut rester obsolète tant qu'elle n'est pas actualisée. Une icône de raccourci non personnalisée reste liée à celle de l'app d'origine.

Cette comparaison concerne les raccourcis d'apps natives et les solutions qui copient, modifient ou signent à nouveau les paquets d'apps. Les fonctionnalités dépendent de l'app cible. Une simple copie n'invalide pas une signature, mais la modification du contenu signé peut le faire.

Pourquoi préserver les mises à jour

Les mises à jour corrigent fréquemment des vulnérabilités de sécurité. Les outils d'IA et de développement qui évoluent rapidement, comme Codex et Claude, peuvent recevoir souvent des correctifs importants, tandis que la recherche en sécurité assistée par IA accélère aussi la découverte de vulnérabilités. Garder ses logiciels à jour constitue une protection essentielle aux côtés de la protection contre les logiciels malveillants et des autres mesures de sécurité.

Conçu pour le Mac App Store

Le processus de génération des raccourcis Parall a été conçu afin que l'app principale reste dans sa sandbox et puisse être distribuée sur le Mac App Store sans outil auxiliaire externe. La création et le lancement fonctionnent localement et hors ligne. L'action facultative Télécharger les réglages de compatibilité est l'exception réseau explicite documentée dans la politique de confidentialité.

Le premier moteur de raccourcis de ce type

Il n'existe aucune API publique, documentation complète ou recette publiée pour l'architecture de raccourcis utilisée par Parall. Je l'ai développée par mes propres travaux d'ingénierie inverse et par des tests directs du comportement natif de macOS. Les exemples publics et les implémentations génériques produites par IA se rabattent généralement sur des scripts, des paquets copiés ou du reconditionnement. À ma connaissance, Parall est le premier outil grand public qui résout ce problème sans toucher à l'app cible. Le moteur continuera d'évoluer à mesure que j'étudie davantage le comportement de macOS.

Pourquoi Parall existe

Pendant plus de dix ans, j’ai dû composer avec les limites de macOS pour lancer plusieurs instances d’une même app. J’avais créé pour moi-même des paquets d’app scriptés afin de contourner ce problème, puis j’ai réalisé qu’il n’existait aucune méthode simple et soignée permettant aux utilisateurs ordinaires d’exécuter des instances d’app réellement indépendantes. Parall est devenu le premier outil de ce type conçu précisément pour résoudre ce problème sans copier ni modifier l’app cible.

Parall prend en charge la séparation automatique des données pour les apps compatibles basées sur Chrome, Firefox, Electron, Eclipse et ToDesktop, même lorsque l’app cible est en bac à sable. Le mode avancé de redirection HOME prend également en charge de nombreuses autres apps compatibles. Pour obtenir la liste détaillée et à jour, consultez la page de compatibilité.

Même lorsque le mode à plusieurs instances n’est pas nécessaire, vous pouvez utiliser Parall pour créer un raccourci de site web, d’app, de fichier, de dossier ou de commande avec sa propre identité et sa propre configuration de lancement. Les raccourcis d’app peuvent ajouter des arguments de ligne de commande personnalisés ou remplacer des variables d’environnement, y compris HOME, afin de contrôler le comportement, choisir des profils ou rediriger des chemins de données. Le remplacement HOME crée une structure de type conteneur tout en conservant les liens macOS essentiels pour la compatibilité.

Définissez des variables d’environnement personnalisées appliquées uniquement à ce raccourci. C’est parfait pour une configuration fine, le débogage ou des environnements propres à un projet. Parall prend également en charge Arduino IDE, ce qui permet d’exécuter côte à côte des environnements de développement séparés avec différents toolchains, cartes et bibliothèques.

Pour les laboratoires pédagogiques et les salles de classe, Parall peut effacer automatiquement le stockage de données redirigé d’un raccourci lorsque celui-ci se ferme. Il devient ainsi facile de commencer chaque session depuis un état propre pour les expériences d’étudiants, sans nettoyage manuel.

Pourquoi Parall compte

Parall rend plus simple que jamais le lancement de plusieurs instances de la même app macOS, chacune avec sa propre icône Dock et sa propre configuration, comme s’il s’agissait d’apps distinctes. Au lieu de dépendre de contournements ou de scripts complexes, Parall crée des raccourcis indépendants qui lancent plusieurs instances d’apps et permettent d’utiliser plusieurs profils ou sessions en même temps.

Chaque raccourci reste directement connecté au paquet de l’app originale. Lorsque l’app cible est mise à jour, chaque raccourci Parall utilise la nouvelle version à son prochain lancement. Vous n’avez pas besoin de recréer un raccourci simplement parce que l’app cible a changé. Une mise à jour de Parall peut toutefois nécessiter de le régénérer pour recevoir les corrections ou améliorations du moteur de raccourcis.

Parall inclut une gestion avancée de l’environnement, ce qui vous donne un contrôle précis sur la façon dont chaque instance d’app stocke et sépare ses données. Cela permet aussi des flux avancés comme l’exécution de plusieurs instances séparées de Philips Hue Sync sur macOS, afin que différents écrans utilisent des configurations LED dédiées sans chevauchement.

Qui a créé Parall

Je suis Ihor July et je développe Parall en tant qu’expert en cybersécurité et rétro-ingénieur, avec un focus sur des outils macOS sûrs et respectueux de la vie privée. Je suis aussi le développeur de DockLock Pro, un utilitaire Mac pour contrôler le comportement du Dock sur plusieurs écrans, App Trust Preview, une app locale d’inspection d’apps Mac qui traduit signature, bac à sable, autorisations et composants internes en rapports lisibles avant d’ouvrir une app, LockLines, un utilitaire Mac pour concevoir, prévisualiser et copier des messages en texte brut qui tiennent sur macOS, App Archiver, un utilitaire Mac qui archive les apps à leur emplacement d’origine pour libérer de l’espace et les restaure à leur ouverture, et DiskPress, un utilitaire Mac qui économise de l'espace grâce à la compression native des fichiers et à la déduplication APFS, tout en les conservant à leur emplacement.

Je conçois, programme et teste Parall. J’écris le code de l’app, je teste chaque changement et je maintiens un framework Objective-C réutilisable pour mes apps. L’IA et la recherche en ligne aident pour l’analyse des bugs, les cas limites, les textes et les traductions, mais le moteur central, le travail de compatibilité propre à chaque app, l’implémentation et les tests viennent de ma propre rétro-ingénierie et de mon code.

L’app est développée nativement en C++ pour les performances et s’exécute en bac à sable pour une sécurité maximale. Parall reflète des années de recherche et développement visant à fournir des solutions pratiques et respectueuses de la vie privée aux utilisateurs de macOS.

À propos des paquets de raccourci

Les raccourcis Parall sont de petits paquets lanceurs macOS qui exécutent directement le binaire de l’app cible installée. Ils ne contiennent aucune copie de l’app cible. Ces paquets de raccourci ne sont pas isolés en bac à sable par conception, car ils doivent lancer l’application originale directement, sans couche supplémentaire.

Chaque raccourci d’app généré reste distinct de l’app cible signée, dont la signature originale du développeur demeure intacte. Toute autorisation ou signature nécessaire au raccourci concerne uniquement ce paquet lanceur distinct. macOS peut afficher un message indiquant que le raccourci "essaie de modifier une autre app", mais il s’agit d’une notification système générique déclenchée par l’accès, et non par une modification.

Parall crée uniquement le paquet lanceur distinct et la configuration nécessaires pour démarrer l’app originale. Il n’altère, n’injecte, ne re-signe ni n’écrit jamais dans l’app cible ou le système d’exploitation.