Commutation USB parallèle. Combiner Mac OS X et Windows à l'aide de Parallels. Fonctionnalités pour les développeurs et les professionnels de l'informatique

Commutation USB parallèle. Combiner Mac OS X et Windows à l'aide de Parallels. Fonctionnalités pour les développeurs et les professionnels de l'informatique

Parallels Desktop est un programme qui vous permet d'installer et de travailler sur d'autres systèmes d'exploitation directement sur macOS. Par exemple, j'ai installé Windows 10 et Kali Linux et je les exécute en cas de besoin.

👨‍💻 Parallels Desktop 14 pour Mac : télécharger la démo / acheter

L'avantage de Parallels Desktop est que vous pouvez installer absolument n'importe quel système d'exploitation et que pour travailler avec eux, vous n'avez pas besoin de redémarrer votre Mac, comme c'est le cas avec Boot Camp.


J'utilise Parallels Desktop pour exécuter Windows 10 et Kali Linux

Une question fréquemment posée est de savoir pourquoi Parallels Desktop est nécessaire si Boot Camp est intégré au système. Je réponds : Bootcamp n'est pas un outil de virtualisation et n'exclut pas l'utilisation d'une machine virtuelle. Bootcamp crée simplement une partition supplémentaire sur le disque pour installer Windows et l'enregistre dans le chargeur de démarrage du système. Vous ne pouvez pas utiliser ce Windows simultanément avec macOS ; vous devrez redémarrer.

Par défaut, Parallels Desktop pour Mac propose des paramètres optimaux pour une personne moyenne. Mais dans notre pays, PD est principalement utilisé par des utilisateurs avancés qui ont des exigences très spécifiques pour la plate-forme de virtualisation : performances et longue durée de vie de la batterie.

Alors... où devriez-vous cliquer pour que Windows invité fonctionne plus rapidement et consomme moins de batterie ?

Astuce 1. Définissez la quantité optimale de RAM pour le système d'exploitation invité et ses applications

Huit gigaoctets de RAM, généralement inclus avec les ordinateurs Mac modernes, suffisent pour que macOS et Windows fonctionnent simultanément à vitesse normale.

Par défaut, Parallels Desktop dispose de 2 Go de RAM alloués au système d'exploitation invité. Curieusement, deux gigaoctets peuvent même être trop si vous exécutez régulièrement, par exemple, des applications peu exigeantes comme Office, Edge et Notepad.

Aller trop loin avec la quantité de mémoire d'une machine virtuelle peut ralentir macOS : vous enlèverez les ressources nécessaires au système, c'est pourquoi il est obligé d'utiliser le fichier d'échange.

Idéalement, vous devez connaître la quantité de RAM consommée par Windows virtuel ainsi que les applications dont vous avez besoin pour l'exécuter et attribuer la valeur appropriée dans les paramètres de Parallels Desktop.

L'algorithme ressemble à ceci :

  • lancez Windows dans Parallels Desktop sur Mac ;
  • attendez que le système d'exploitation invité soit complètement chargé ;
  • lancez les applications nécessaires. Dans notre cas, il s’agit d’Edge avec trois sites plutôt « lourds », Paint et Notepad ;
  • ouvrez Resource Monitor et examinez la quantité de RAM consommée dans l’onglet Mémoire. C'est cette valeur (+10% au cas où) qu'il faudra utiliser pour installer la RAM pour la machine virtuelle ;

Avec les applications dont j'ai besoin, la consommation de RAM reste à 1,6 Go
  • Éteignez la machine virtuelle via Parallels Desktop. Ensuite, nous définissons la limite de RAM dans les paramètres :

Machine virtuelle ▸ Configurer… ▸ CPU et mémoire


Ma machine dispose de 16 Go de RAM, j'en allouerai donc 4 Go pour Windows 10

Lorsqu'il arrête de travailler avec des applications dans le système d'exploitation invité, l'utilisateur y ferme ses programmes et arrête la machine virtuelle. Lorsque des applications invitées sont à nouveau nécessaires, le processus est répété en sens inverse. Tout cela prend beaucoup de temps, qui peut facilement être économisé en utilisant les fonctions Pause/Reprise.

Au lieu de fermer Parallels Desktop, choisissez Actions ▸ Suspendre.


Virtual Windows 10 peut « se bloquer » avec les applications qui y sont ouvertes. Ceci est pratique lorsque vous devez reprendre rapidement le fonctionnement d'une machine virtuelle avec tous les programmes ouverts. De plus, le système sort de l'hibernation littéralement en quelques secondes, ainsi que tous les programmes précédemment ouverts.


L'état de la mémoire et l'état des périphériques internes de l'ordinateur virtuel sont enregistrés sur le disque sous forme de fichier. Ce fichier est ensuite « déplié » à l'aide de Parallels Desktop.

Lors de l'utilisation de la fonction Suspend/Resume, au lieu d'attendre une ou deux minutes le chargement de Windows et de ses applications, tout prend environ dix secondes. Le gain de temps est colossal.

Cette astuce convient aux propriétaires de MacBook Pro 15 pouces. Ils disposent de deux adaptateurs vidéo - intégrés et discrets. Une carte vidéo discrète est l'un des composants les plus gourmands en énergie. Si votre objectif est une autonomie maximale et une longue durée de vie de la batterie de l'ordinateur, il est préférable de désactiver la carte discrète dans Windows 10.

Les MacBook passent aux graphiques discrets dès que le besoin s'en fait sentir. Ils ne reviendront pas à celui intégré tant que le programme qui a provoqué le changement n'est pas terminé. Par conséquent, si l'accélération 3D est activée dans une machine virtuelle, la carte graphique discrète restera activée jusqu'à ce que vous quittiez Parallels Desktop.

Pour configurer Parallels Desktop pour qu'il utilise le mode Eco, désactivez le mode 3D dans :

Machine virtuelle ▸ Configurer… ▸ Équipement


La désactivation de l'accélération 3D permet d'économiser la batterie sur le MacBook Pro avec des graphiques discrets

Nous avons désactivé les effets 3D, mais n'avons pas encore réduit la quantité de mémoire vidéo allouée à la machine virtuelle : sa valeur par défaut a été conservée - dans notre cas elle est de 256 Mo. Puisqu'un volume aussi énorme n'est tout simplement pas nécessaire pour les graphiques, il est logique de donner de la mémoire « supplémentaire » à l'hôte.

Pour restituer une simple interface Windows 10, 32 Mo suffisent. Par conséquent, il est préférable de définir ce paramètre en mode automatique. Dans ce cas, PD utilisera la quantité minimale de mémoire de l'adaptateur vidéo.


Et en mode « automatique », Parallels Desktop utilise la quantité minimale requise de mémoire vidéo

Si vous possédez un Mac avec uniquement une carte vidéo intégrée(modèles 13 pouces), puis allez dans l'onglet Optimisation et réduisez la quantité de ressources consommées par la machine virtuelle.

La valeur par défaut est « Aucune restriction ». Je recommande de le régler sur « Moyen ».


Déterminer combien de ressources une machine virtuelle peut consommer

Ces étapes vous aideront à gagner 1,5 à 2 heures d’autonomie. Certes, il ne sera plus possible de lancer quelque chose de « lourd » avec de tels réglages. Mais il existe des paramètres spéciaux pour les applications utilisant la 3D (voir Astuce 5).

Un système d'exploitation invité fonctionnant sous macOS est, en règle générale, utilisé pour fonctionner avec un certain nombre d'applications très spécifiques - toutes les autres tâches sont résolues avec succès par les outils macOS. À cet égard, Windows peut se contenter d’une quantité très modeste de mémoire sur le disque dur. Par défaut, l'espace disque maximum est alloué à « l'invité » dans PD.

Si vous ne souhaitez pas que le système invité occupe tout l'espace libre à un moment donné, définissez une limite.

Machine virtuelle ▸ Matériel ▸ Disque dur


Limite la taille maximale du disque virtuel sous Windows 10 à 32 Go

Si vous devez ultérieurement augmenter la taille du disque de la machine virtuelle, vous pouvez toujours le faire via les paramètres ici.

Parallels Desktop peut être configuré pour que le Windows invité affiche des performances maximales dans les jeux.

Les nouveaux processeurs Mac ont 4 à 6 cœurs. Si vous comptez jouer sur une machine virtuelle, vous devez changer tous les noyaux existants pour prendre en charge le système d'exploitation invité.

Pour ce faire, activez simplement le profil « Jeux uniquement ».

Machine virtuelle ▸ Général ▸ Configuration ▸ Modifier


Passer de Windows 10 virtuel en « mode jeu »

Vous pouvez utiliser autant de processeurs que bon vous semble pour les jeux. Cette option aura le plus grand effet dans les jeux prenant en charge le multi-threading.


Le "Mode Jeu" active tous les cœurs du processeur et augmente la quantité de RAM jusqu'à 8 Go

L'espace alloué mais inutilisé pour une machine virtuelle peut toujours être restitué à macOS. Pour ce faire, cliquez simplement sur le bouton Release.

Machine virtuelle ▸ Général ▸ Version


Transférer toutes les ressources de la machine virtuelle vers macOS

Les instantanés sont un excellent outil pour les développeurs et les expérimentateurs, mais pour l'utilisateur moyen, ils ne sont pas particulièrement intéressants, et un instantané oublié représente beaucoup d'espace perdu.

Par défaut, la création automatique d'instantanés est désactivée, mais il vaut mieux s'en assurer à nouveau.

Machine virtuelle ▸ Sauvegarde ▸ SmartGuard

Si des instantanés sont occasionnellement nécessaires, vous pouvez immédiatement configurer les règles de leur création.


Désactivez les instantanés pour économiser de l'espace disque

Voir des programmes familiers de Windows dans le dock de Mac OS X est pour le moins étrange, et voir la fenêtre Internet Explorer à côté de Mail et du Finder est généralement surprenant. Le secret, bien sûr, est simple : l'ordinateur exécute Parallels Desktop 5 en mode Crystal - une machine virtuelle qui cache l'interface Windows hors de vue et « extrait » les programmes qui s'y exécutent dans l'environnement Mac OS X.

Décider de passer de Windows à Mac OS X n'est pas si facile pour beaucoup : il semblerait qu'ils aiment le nouveau système, mais il n'y a pas d'application nécessaire. Et vous ne pouvez même pas rêver de l'obtenir : on ne sait jamais qu'il existe un logiciel professionnel dans le monde dont le développeur ne va pas porter le programme sur un Mac, ou a même abandonné le support depuis longtemps. C'est exactement là que Parallels Desktop vient à la rescousse.

Installation

L'installation de l'application est aussi simple que possible - le programme d'installation est tout à fait normal, bien qu'il oblige l'utilisateur à saisir un mot de passe administrateur.

La prochaine chose à faire est d'installer Windows. Pour ce faire, sélectionnez l'élément approprié dans le menu et insérez le disque avec le système. Après ce point, tout ce que vous avez à faire est de surveiller l'indicateur : l'installation s'effectue pratiquement sans poser de questions. C'est peut-être encore plus facile que d'installer Windows sur un disque vierge (d'autant plus qu'à ce stade, vous pouvez continuer à faire vos affaires, dont même les redémarrages ne vous distraireont pas).

Soit dit en passant, le disque n’a pas besoin d’être partitionné. Autrement dit, vous pouvez bien sûr le faire d'abord et installer le système sur une nouvelle partition à l'aide de Boot Camp - il sera alors possible de démarrer Windows normalement et de démarrer le système à partir de Parallels Desktop. Mais si notre objectif est de travailler avec quelques applications, il suffit alors de sauvegarder l'image de la machine virtuelle dans le système de fichiers Mac OS X. De cette façon, elle prendra exactement autant d'espace que nécessaire.


Si vous regardez attentivement, vous pouvez voir que l'arrière-plan de l'écran de la machine virtuelle éteinte est une capture d'écran prise avant la suspension.

Après le premier démarrage de la machine virtuelle, l'utilisateur sera invité à installer l'ensemble d'utilitaires des Outils Parallels. Vous ne devriez pas refuser : sans eux, les fonctionnalités Parallels les plus précieuses ne fonctionneront pas.

Modes de fonctionnement

Une fois le processus d'installation et le redémarrage ultérieur terminés, vous pouvez enfin passer à la partie amusante : passer Parallels en mode Coherence ou Crystal. Le premier d'entre eux était présent dans les versions précédentes, le second est nouveau et amélioré.

Dans les deux modes, le bureau et la barre des tâches Windows seront supprimés et, à la place, les icônes des programmes exécutés dans la machine virtuelle commenceront à apparaître dans le dock Mac OS X. Malheureusement, cela ne se fait pas comme sous Mac OS X, où toutes les fenêtres d'un programme sont rassemblées sous une seule icône, mais comme sous Windows avec le mode de regroupement de fenêtres désactivé - il y a une icône pour chaque fenêtre.

Vous pouvez également lancer des programmes directement depuis Mac OS X - un dossier sera créé dans le répertoire de l'application qui reflète le contenu du menu Démarrer de Windows. Autrement dit, vous pouvez, par exemple, lancer Windows Media Player à partir de là et il apparaîtra parmi les fenêtres Mac.

Les icônes généralement affichées sous Windows dans la barre d'état système seront déplacées là où elles devraient se trouver sous Mac OS X - sur le côté gauche de la barre de menus - la barre de menu supérieure.

Le menu Démarrer lui-même est également accessible depuis l'interface Mac OS X : il apparaît lorsque vous cliquez sur l'icône Parallels dans le dock. Le mode Crystal va encore plus loin : dans celui-ci, le logo Parallels n'est pas affiché dans le dock, et est également caché dans la barre de menu. « Démarrer » et les paramètres de la machine virtuelle s'ouvrent à partir de là de la même manière que dans Coherence.


Vous pouvez quitter le mode plein écran en passant votre souris sur un coin de l'écran. Il devient immédiatement évident que Mac OS X est caché quelque part sous Windows.

Passez en mode plein écran. Si vous autorisez les Outils Parallels à connecter les dossiers Mac en tant que dossiers réseau, alors Windows sera pratiquement habitable : sur le bureau il y a les mêmes fichiers que sous Mac OS X, dans les documents il y a des documents Mac, divisés en sous-répertoires avec les fichiers téléchargés, les images, musique et films. Parallels relie chacun de ces répertoires à des répertoires similaires sous Mac OS X, et toutes les modifications apportées à un système sont immédiatement reflétées dans l'autre.

Autres commodités

Les fenêtres Windows entourées de programmes Mac semblent franchement déplacées, mais vous pouvez également essayer de résoudre ce problème. Nous sélectionnons l'option « Utiliser MacLook » dans le menu Parallels et Parallels transformera Windows en quelque chose qui rappelle vaguement le thème gris-métallique du Mac. Il ne sera pas difficile de distinguer une fenêtre Windows (par les polices, par exemple, ou par une bande visible sous le titre de la fenêtre), mais au moins elles ne se démarquent pas tellement du style général.


Qui aurait pensé que l'Explorateur Windows pourrait ressembler à un Mac ? Presque un loup déguisé en mouton

Même l'ouverture des fichiers peut être configurée pour que les types de documents souhaités soient transférés vers les programmes Windows. Et vice versa : une fois les Outils Parallels installés, l'option « Ouvrir sur Mac » apparaîtra dans le menu contextuel de l'Explorateur Windows. Nous le sélectionnons et le fichier s'ouvrira sous Mac OS X - dans le programme auquel le type correspondant est associé.


Lorsque la machine virtuelle est en cours d'exécution, le contenu du disque Windows est visible depuis Mac OS X


Les commandes vocales sont prises en charge - elles fonctionneront avec les commandes intégrées de Mac OS X. Nous n'avons pas testé cette fonctionnalité

Le transfert de données via le presse-papiers est également pris en charge : des lignes ou même des images copiées depuis Mac OS X peuvent être collées dans Windows et vice versa. Les fichiers ne peuvent pas être copiés via le presse-papiers, mais le glisser-déposer est pris en charge. C'est vrai, dans un seul sens : de Mac OS X - vers les fenêtres Windows ou les icônes de programme. Vous pouvez, par exemple, faire glisser une image d'un bureau Mac sur l'icône Windows Paint dans le dock et elle s'ouvrira là.


Lorsqu'un nouveau périphérique ou support amovible apparaît dans le système, Parallels proposera de le connecter à la machine virtuelle

Sous Windows, vous pouvez désormais utiliser les « gestes » de Mac OS X - ceci est utile si vous utilisez un MacBook avec un trackpad multi-touch, Magic Mouse ou Magic Trackpad. L'Apple Remote est également facile à utiliser et à contrôler, par exemple, les présentations PowerPoint pour Windows.

Habituellement, lors du basculement entre les systèmes (dans d'autres outils de virtualisation ou simplement lorsqu'il y a deux ordinateurs), toutes sortes de difficultés typiques surviennent : ceux qui sont habitués à changer de disposition de clavier à l'aide de la combinaison Cmd-Espace dans Mac OS X trouveront gênant de utilisez Ctrl- ou Alt-Shift sous Windows. Il en va de même pour les raccourcis clavier : ils sont similaires dans les deux systèmes, mais sous Windows, ils sont exécutés avec Ctrl et sous Mac avec Cmd.

Même ce problème a été réfléchi dans Parallels. Dans les paramètres du programme, vous pouvez spécifier quelles combinaisons utilisées sur Mac doivent être traduites en commandes Windows. La plupart des paramètres standard, tels que la traduction des commandes copier-coller Mac, etc. en commandes Windows correspondantes, sont déjà configurés par défaut. Bien sûr, pour un confort total, vous devrez réaffecter un nombre beaucoup plus important de combinaisons, mais s'offrir un minimum de confort ne sera pas difficile.

Résultats

Parallels Desktop 5 possède de nombreuses autres fonctionnalités qui peuvent être utiles aux utilisateurs avancés : il y a, par exemple, l'enregistrement vidéo, la gestion des instantanés de mémoire, l'importation de fichiers de machines virtuelles VMWare et VirtualBox et bien d'autres choses intéressantes. Il est même possible d'accéder au système d'exploitation exécuté dans Parallels à partir d'un appareil iOS - il existe un programme gratuit pour cela dans l'App Store d'Apple.

En général, Parallels a atteint des sommets sans précédent en fusionnant Windows avec Mac OS X. Si vous l'utilisez constamment, avec le temps, vous cesserez de prêter attention au fait qu'un système d'exploitation exécute le second. Le lancement de Parallels et de Windows ne prend que beaucoup de temps, mais s'il y a suffisamment de mémoire, vous pouvez simplement les laisser activés si nécessaire.


Lorsqu'il est réduit, Parallels ne consomme pas beaucoup de RAM, mais le disque doit disposer de plusieurs gigaoctets libres pour le fichier d'échange.

Vous pouvez même installer DirectX et n'importe quel jeu (même Crysis) dans une machine virtuelle, mais vous ne pouvez jouer confortablement à quelque chose de moderne que sur les ordinateurs les plus puissants. Cependant, dans la prochaine version de Parallels, l'accent sera mis sur les performances. Ce qui, bien entendu, n’empêchera pas la liste des fonctions de s’allonger encore davantage.

Il y a désormais 75 nouvelles fonctionnalités dans notre dernière version de Parallels Desktop 9 pour Mac. Parmi ceux-ci, 33 sont liés d’une manière ou d’une autre à l’intégration d’OS X et de Windows. Et dans les toutes premières versions du produit, ces fonctions étaient tout simplement basiques. Aujourd'hui, spécialement pour Habr, nous écrivons sur quoi et comment il a été inventé pour que Windows et Mac vivent heureux ensemble pour toujours, pourquoi ils ont « infiltré » l'Explorateur et comment ils ont trompé la souris.
Alexander Grechishkin, responsable de l'équipe d'intégration chez Parallels

- Comment tout a commencé ?
A.G. :
Premièrement, nous devions tirer parti des technologies déjà disponibles sur le marché à cette époque. La virtualisation et l'émulation existent depuis les années 1990, et il existait même des solutions pour exécuter un système d'exploitation sur des ordinateurs exécutant un autre système d'exploitation. Par conséquent, nos tâches dans les premières versions étaient les suivantes : premièrement, rendre les technologies et les fonctions de base exactement les mêmes que dans les solutions existantes. Deuxièmement, proposez quelque chose qui vous est propre, original. Ses fonctionnalités uniques incluent le mode Cohérence (la possibilité de voir et d'utiliser les programmes Windows sur Mac comme s'il s'agissait d'applications OS X natives) et les applications partagées (icônes de programme Windows dans la barre d'applications du Dock).

La fonctionnalité Coherence vous permet de masquer complètement Windows lui-même, ne laissant que l'application elle-même. Dans le langage courant, ce mode est appelé « Ne pas afficher le bureau Windows ». Cela semble très simple, mais il nous a fallu beaucoup d’efforts pour concrétiser cette opportunité. Il s'agit d'une technologie très complexe associée à de nombreux problèmes logiciels et à la nécessité de les résoudre de manière non standard. Il est également difficile à entretenir. Et d’ailleurs, il est encore en développement.
Bien sûr, alors - avec chaque nouvelle version - nous avons dû imaginer et mettre en œuvre de plus en plus de nouvelles choses qui n'avaient pas d'analogues. Mais au départ, nous avons fait la moitié de l'intégration de base comme la synchronisation de la souris, les dossiers partagés, le copier-coller, le glisser-déposer, la synchronisation temporelle par analogie avec ce qui existait déjà sous une forme ou une autre. Par exemple, il existait de nombreux émulateurs de virtualisation (pour différentes plates-formes) dotés de leur propre ensemble de fonctions. Il serait tout simplement inutile de sortir un nouveau produit sans cet ensemble.
Bien sûr, nous pourrions créer un émulateur sans aucune intégration, quelque chose comme DOSbox (qui n'a pas de fonctions d'intégration, mais qui exécute parfaitement les anciens jeux DOS). D'ailleurs, nous avons encore un certain nombre d'utilisateurs qui travaillent avec Parallels Desktop selon le même principe : ils lancent une machine virtuelle, Windows s'y exécute dans une fenêtre et ils n'ont besoin de rien d'autre.
Mais, bien sûr, le chemin de développement de la grande majorité des produits logiciels est évolutif : vous devez d'abord créer des fonctionnalités de base, puis les étendre progressivement. L'utilisateur doit être motivé pour passer à la nouvelle version (surtout si elle est payante). Et pas seulement grâce à une vitesse accrue, à la prise en charge de nouvelles technologies (par exemple, le nouveau Direct X), à une stabilité améliorée et à d'autres choses, mais aussi à attirer des fonctionnalités intéressantes et utiles. Dans notre cas, une telle personnalisation - le « réglage » d'un produit - vient très souvent de l'intégration - cela s'est d'abord produit avec Windows, puis avec d'autres systèmes d'exploitation.

- Et sur quoi vous êtes-vous concentré parmi les technologies existantes ?
A.G. :
En général, l'idée était la suivante : mettre en œuvre la technologie de virtualisation comme le fait Apple. En 2005, Steve Jobs a annoncé le projet d'Apple de « finir » le PowerPC sur ses ordinateurs et de passer aux puces Intel. En 2009, OS X 10.6 Snow Leopard est arrivé, le premier système d'exploitation Apple à ne plus prendre en charge PowerPC. Mais très probablement, tout a commencé pour eux il y a dix ans et demi, lorsque Apple a commencé à élaborer un calendrier de mise à niveau de son Mac OS et un plan de transition vers x86.
Ils ont dû passer de Mac OS 9, conçu pour les anciens matériels, à Mac OS X, et écrire leur propre émulateur pour prendre en charge tous les programmes existants. Ils l'ont fait de manière assez efficace, avec des performances élevées et, surtout, cette technologie s'est avérée très transparente et « invisible » pour l'utilisateur. L'utilisateur clique sur un programme écrit pour PowerPC sur son ordinateur, et la même Cohérence s'ouvre, la même fenêtre pour ce programme. La seule chose est qu'il n'y a pas deux systèmes d'exploitation différents, mais deux Mac OS - l'ancien et le nouveau. En général, cela nous ressemble beaucoup.
Malheureusement, à cette époque, les développeurs de Parallels Desktop ne connaissaient pas l'existence de la technologie Rosetta dans Mac OS X - un traducteur dynamique permettant d'exécuter des applications PowerPC sur des ordinateurs équipés de processeurs Intel. J'ai même dû apporter mon ordinateur de chez moi pour leur montrer. Il l'a apporté, l'a montré, et les développeurs ont reconnu notre technologie Coherence, bien qu'implémentée différemment : quelque chose entre Wine et un simple émulateur. Et du coup, nous avons cristallisé l'idée de faire comme Apple dans le sens où l'utilisateur ne verrait aucune image de démarrage ni shell virtuel de Parallels Desktop. Par exemple, pour que Word s'ouvre immédiatement et que l'utilisateur moyen ne se rende même pas compte que cette application ne se trouve pas dans le dossier Application, mais ailleurs.

- Comment a été développé Coherence ?
A.G. :
L'auteur de l'idée était Sergei Belousov (note - fondateur de Parallels), il s'est ensuite promené dans le bureau et a dit à tout le monde qu'il y avait une idée géniale : supprimer le bureau afin que toutes les fenêtres Windows aient exactement la même apparence que les fenêtres Mac. Nous avons tout de suite réalisé que cette idée était très bonne et qu’il fallait y travailler. Nous avons pu « découper une fenêtre et supprimer le bureau » assez rapidement et simplement. Et puis toute la technologie de présentation Coherence a été écrite par une seule personne qui travaille toujours pour nous : Sergueï Kontsov. Il a fallu des années de travail minutieux pour parvenir au point où les utilisateurs ne remarqueraient pratiquement aucune différence entre les applications Windows et Mac.
La preuve que l’idée était vraiment bonne, c’est qu’elle a ensuite été copiée par chacun d’entre nous. Mais au début de notre parcours, nous n’étions pas sûrs que la technologie deviendrait révolutionnaire. Et même si Belousov nous a assuré que tout le monde y travaillerait, nous étions toujours gênés de le définir par défaut lors du chargement de la machine virtuelle dans la première version (remarque - à gauche - capture d'écran de la version 2.5). Mais dès qu'ils ont réalisé que cela fonctionnait et qu'il était populaire, ils l'ont immédiatement défini par défaut (à partir de la version 3.0). Et ce mode est toujours en tête ; près de 80 % des utilisateurs l'utilisent dans Parallels Desktop.
Nous avons également implémenté une installation simple de Windows via l'assistant, afin que l'utilisateur appuie simplement sur quelques boutons et obtienne son système d'exploitation virtuel. Cette technologie a été empruntée aux installateurs OEM, mais pour la première fois, elle a été implémentée dans notre produit destiné aux utilisateurs finaux.
Nous travaillons avec Coherence depuis si longtemps également parce que ce nom en un seul mot combine de nombreuses technologies. En particulier, il inclut une fonctionnalité aussi importante que les applications partagées, qui permet à l'utilisateur de voir le même Microsoft Word qu'une application native sur Mac. C'est la chose la plus difficile. Extérieurement, la fonction semble simple, mais il y a beaucoup de logique cachée « à l'intérieur », sur laquelle nous travaillons encore.
15 années-homme ont été investies dans Coherence, soit toute une carrière de programmeur. Et ce code représente environ 8 % de toutes les sources de Parallels Desktop - il s'agit d'un produit tellement vaste et complexe.

- Qu'est-ce qui était aussi difficile à faire d'autre ?
A.G. :
La difficulté peut varier. Complexité logicielle, complexité algorithmique, difficulté de comprendre comment implémenter une chose ou comment elle va fonctionner. Souvent, nous avons dû emprunter un chemin tout à fait non trivial.
Par exemple, je vais vous parler d'une fonction pour laquelle j'ai dû plonger dans les entrailles de Windows. Nous avons une telle technologie - SmartMount. En voici l'essentiel : lorsqu'un utilisateur insère une clé USB dans un ordinateur Mac, elle apparaît uniquement sur le bureau du Mac. Une personne travaillant en mode Coherence souhaite une intégration complète, c'est-à-dire voir le contenu de sa clé USB dans Windows. Mais pour qu'il y apparaisse, il doit être reconnecté à une machine virtuelle, et cela à chaque fois est très gênant. Nous avons décidé d'utiliser des dossiers partagés. Étant donné que cette fonction est un pilote de système de fichiers réseau et est affichée dans Windows en tant que lecteur réseau, lorsque le lecteur flash se connecte au Mac, nous le transmettons via les dossiers partagés dans Windows. Ensuite, il va automatiquement à l'emplacement réseau. Mais il n'est pas clair pour l'utilisateur qu'il doit trouver sa clé USB dans l'emplacement réseau : il est habitué au fait qu'il s'agit d'un périphérique USB qui a une certaine apparence et qui montre exactement où se trouvent tous les supports amovibles. En utilisant des méthodes standards, il est impossible de faire apparaître un partage réseau dans la liste des appareils en tant qu'appareil connecté et en même temps d'être reflété comme USB. Et ainsi, notre développeur Vasily Zhdanov s'est "infiltré" (appelons-le ainsi) dans "Explorer", et a clairement "expliqué" à ce programme que cette chose devait être affichée exactement comme ça. Et maintenant, SmartMount affiche les clés USB comme lecteurs externes.


Inséré un lecteur flash


Nous avons vu une clé USB

Ou vous pouvez donner un exemple d'une manière originale de résoudre le problème de la Smart Mouse - une technologie qui permet à une souris d'ordinateur de s'adapter à l'application avec laquelle l'utilisateur travaille actuellement. S'il s'agit d'une application bureautique, elle se comporte d'une manière, s'il s'agit d'un jouet, elle se comporte différemment.
Parallels Desktop propose deux modes de souris : un dispositif de pointage absolu, qui permet au curseur sous Windows et Mac de se déplacer de la même manière, avec la même vitesse et le même mouvement. Dans ce cas, seule la souris hôte est utilisée. Et il existe un mode souris relatif, dans lequel la souris fonctionne à l'intérieur de la machine virtuelle à sa propre vitesse. Ce dernier mode est utilisé dans les jeux informatiques, car ils ne sont pas du tout conçus pour les dispositifs de pointage absolus. Auparavant, le curseur dans les jeux commençait à se déplacer à une vitesse vertigineuse et il était impossible de jouer. Nous avons trouvé un moyen de détecter le mode souhaité sans aucun lien avec les noms de programmes, de bibliothèques ou de fichiers. Tout est très simple : si un curseur est visuellement visible sur son écran pendant l'exécution du programme, alors un dispositif de pointage absolu est nécessaire. Dans les jeux, le curseur standard est presque toujours éteint et le jeu le dessine lui-même, donc dans ce type de programme un mode relatif est nécessaire. La sélection d'un mode souris selon ce principe a finalement fonctionné correctement dans 95 % des cas.

- Quel type d'équipe effectue toute l'intégration ?
A.G. :
Aujourd’hui, l’équipe d’intégration compte 6 personnes, et ce sont des personnes très différentes. Un peu similaire, mais pas pareil. J'ai recruté moi-même la quasi-totalité de l'équipe. Le seul qui travaillait déjà à mon arrivée était Sergueï Kontsov, le « père de la cohérence » déjà mentionné. Je suis donc devenu chef d'un département individuel, où j'agissais moi-même en tant que joueur-entraîneur.
Toute l'intégration dans la première version a été réalisée par ces deux personnes - Dossiers partagés, travail à la souris, copier-coller, glisser-déposer et Coherence - presque toute l'intégration de base. Un peu plus tard, Vassili Jdanov est apparu. Ensuite - Andrey Pokrovsky, qui a créé des applications partagées pour la première version. Et ce qui est intéressant, c’est qu’il l’a fait très vite. Lorsque nous avons terminé le produit et voulu le vendre, nous avons réalisé que sans icônes dans le Dock, la cohérence fondamentale semblait inachevée. Kolya est venu (note - Nikolay Dobrovolsky, vice-président pour la virtualisation PC) et a demandé si nous pouvions mettre cela en œuvre rapidement. Et Andrey l'a fait en un week-end, en écrivant et en déboguant environ 2 000 lignes de code. Les applications étaient affichées là où c'était nécessaire, elles pouvaient être lancées depuis le Dock. C'est ce qu'on peut appeler un travail véritablement productif.
Mais, par exemple, Vasily Zhdanov, dont nous avons déjà parlé, est très doué en ingénierie inverse. Il se penche rapidement sur les composants internes des programmes, ce qui est très nécessaire pour mettre en œuvre l'intégration, car dans ce processus, beaucoup de choses ne peuvent tout simplement pas être faites à l'aide de méthodes standard. Et Vasily adore faire ça : il vient juste au travail et travaille dur, sans se laisser distraire par la faim et le bien-être. Il ne voit ni n'entend rien du tout. Souvent, il ne connaît même pas l’état d’avancement du projet, il ne s’intéresse pour le moment qu’à sa tâche spécifique.
En général, ils peuvent tous faire des choses différentes et leur productivité est différente. Mais ils forment une ÉQUIPE. Ils peuvent absolument tout faire et veulent travailler, ils ont tous des connaissances étendues et approfondies (qui au fil des années de travail sont devenues de TRÈS grandes connaissances), et ils ont un très haut niveau de programmation. En sept ans, leur niveau a tellement augmenté qu’ils peuvent accomplir presque toutes les tâches que vous leur confiez.

- Alors six, c'est suffisant ?
A.G. :
À ce stade, ce n’est plus le cas. Nous avons des cycles de développement très courts et, comme je l'ai dit, nous avons environ 30 fonctionnalités d'intégration chaque année. Il s'avère que vous devez réaliser environ 3 fonctionnalités par mois. Il convient de noter ici qu’il existe de nombreuses fonctionnalités d’intégration, mais qu’elles ne sont pas toutes réalisées par notre équipe.
En général, j'ai maintenant besoin de 3 personnes pour l'équipe d'intégration. Ces postes vacants sont destinés à ceux qui souhaitent programmer pour toutes les plates-formes et comprendre Windows, Mac et Linux (enfin, ou au moins un de ces systèmes d'exploitation). Les principaux langages sont le C++ et l'Objective C.
Ainsi, ceux qui souhaitent travailler chez Parallels au sein de l'équipe d'intégration du système d'exploitation peuvent m'écrire personnellement à [email protégé]. Je peux vous promettre une chose : des tâches intéressantes et non standard sont garanties. Nous discuterons du reste sur place.