De la livraison au démarrage

Votre Mac ne se connecte pas ?
Commencez par ici

Ce guide vous accompagne pour connecter votre Mac dans le cloud dédié et configurer votre environnement de développement. Commencez par vérifier les informations de livraison dans le portail, puis contrôlez vos outils et la configuration de vos tâches. Votre machine est un Mac physique dédié, et non une machine virtuelle : vous pouvez utiliser l’interface graphique comme la ligne de commande.

Vous avez déjà une commande ? Consultez les détails de l’instance. L’adresse de l’hôte, le nom d’utilisateur, le port et l’état de livraison affichés dans le portail font foi.

Première connexion

Récupérez vos identifiants, puis choisissez votre méthode

Le bureau à distance est pratique pour vérifier le système, configurer Xcode et déboguer avec une interface graphique. SSH convient pour récupérer du code, lancer des compilations et consulter les journaux. Les deux méthodes se connectent à la même machine : inutile de dupliquer votre projet.

Interface graphique

Partage d’écran / VNC

Récupérez l’adresse du bureau à distance et les identifiants dans les détails de l’instance du portail. Sur macOS, utilisez l’application Partage d’écran. Sur les autres systèmes, choisissez un client compatible VNC. Ne confondez pas le mot de passe SSH avec les identifiants VNC distincts.

  1. Copiez l’adresse de l’hôte, le port du bureau à distance et le nom d’utilisateur en vérifiant qu’aucun espace ne s’est glissé dans les valeurs.
  2. Renseignez l’adresse et le port dans le client. Le port VNC habituel est 5900, mais utilisez celui indiqué dans le portail.
  3. Suivez les instructions de livraison pour vous authentifier. En cas d’échec, vérifiez d’abord le nom d’utilisateur et le type d’identifiants, puis réessayez.
  4. Une fois sur le bureau, changez le mot de passe système initial. Si vous utilisez des identifiants distincts pour le bureau à distance, mettez-les également à jour comme indiqué pour l’instance et conservez-les en lieu sûr.

Si l’affichage est lent, réduisez la qualité d’image et désactivez les animations inutiles. Gardez une session SSH ouverte pour distinguer un problème réseau d’un problème de session graphique.

Ligne de commande

SSH

Utilisez le terminal de votre système ou un client SSH de confiance. Le port SSH habituel est 22 ; si les informations de livraison indiquent un autre port, ajoutez le paramètre -p à la commande.

  1. Récupérez l’adresse de l’hôte, le port SSH et le nom d’utilisateur dans les détails de l’instance. N’utilisez pas de compte par défaut supposé.
  2. Connectez-vous avec ssh -p PORT USER@HOST en remplaçant les champs en majuscules par les valeurs indiquées à la livraison.
  3. Lors du premier avertissement concernant l’empreinte de l’hôte, vérifiez les informations fiables de l’instance. Si l’empreinte change soudainement, interrompez la connexion et ouvrez un ticket.
  4. Après la première connexion, exécutez passwd pour changer le mot de passe initial, puis configurez votre clé publique SSH.

Vérifiez que l’authentification par clé fonctionne avant de modifier la stratégie de connexion par mot de passe. Gardez votre session ouverte pendant le changement pour éviter de perdre l’accès à la machine.

Partez du message d’erreur au lieu de réinitialiser la machine à répétition
Symptôme À vérifier d’abord À joindre au ticket
Délai de connexion dépassé L’instance a-t-elle été livrée ? L’adresse et le port sont-ils corrects ? Votre réseau local ou votre pare-feu autorise-t-il les connexions sortantes ? Faites un essai sur un autre réseau pour comparer. Région, numéro de machine, méthode de connexion, date et heure de l’erreur avec le fuseau horaire.
Échec de l’authentification Le nom d’utilisateur est-il exact ? Utilisez-vous les bons identifiants ? Le mot de passe a-t-il été modifié ? Ne divulguez pas votre mot de passe dans les journaux ou les captures d’écran. Le texte complet de l’erreur, le client utilisé et la méthode d’authentification, sans mot de passe ni clé privée.
SSH fonctionne, écran noir sur le bureau Fermez puis rouvrez la session graphique et vérifiez la compatibilité du client. Ne mettez pas fin aux compilations ou aux tests en cours. Version du client, capture de l’écran noir, état de SSH et modifications récentes des réglages système.
L’empreinte de l’hôte a changé Vérifiez si un remplacement de machine ou une réinitialisation du système a été confirmé. Ne supprimez pas l’empreinte locale avant d’avoir obtenu confirmation. Ancienne et nouvelle empreintes, numéro de machine et dernière notification de livraison.
Préparation initiale

Environ 4 minutes pour vérifier les bases avant de commencer

Cette estimation suppose que l’environnement est livré, que le dépôt est peu volumineux et que le réseau fonctionne. Elle ne comprend ni le téléchargement d’un gros projet, ni l’installation de Xcode, ni la compilation de dépendances. Vérifiez avant d’agir : ne sacrifiez pas la sécurité pour gagner du temps.

  1. 01

    Changer le mot de passe et vérifier le pare-feu

    Env. 1 minute

    Changez le mot de passe initial et conservez vos identifiants en lieu sûr. Activez ou vérifiez les règles du pare-feu macOS et assurez-vous qu’elles autorisent le service de connexion à distance que vous utilisez. Ne désactivez pas toutes les entrées sans avoir vérifié votre connexion.

  2. 02

    Vérifier Xcode et les outils en ligne de commande

    Env. 2 minutes

    Vérifiez la version de Xcode dans l’interface graphique, puis exécutez xcode-select -p et xcodebuild -version. Si le projet exige une version précise, sélectionnez d’abord la chaîne d’outils correspondante, puis lancez la compilation.

  3. 03

    Récupérer le dépôt et lancer une petite tâche

    Env. 1 minute

    Configurez des identifiants d’accès au dépôt avec les droits minimaux nécessaires, puis récupérez le code. Lancez d’abord une petite compilation ou un test pour vérifier les dépendances, les chemins et les droits d’écriture avant de démarrer le pipeline complet.

La vérification est terminée lorsque vous pouvez vous reconnecter, que les versions des outils répondent aux exigences du projet, que le code est accessible et que le répertoire de sortie de la compilation est accessible en écriture. Si un point échoue, arrêtez-vous et corrigez-le avant de continuer.

Migration et CI

Migrez d’abord les données, puis les outils, et enfin les tâches

Procédez en trois étapes pour faciliter le diagnostic. Évitez de transférer en bloc les caches locaux, les dépendances binaires d’une ancienne architecture et les identifiants de signature actifs. Votre Mac peut conserver un environnement de développement stable, mais la configuration des droits pour les tâches reste à votre charge.

01 / DATA

Données

Utilisez rsync ou un disque cloud externe pour transférer le projet et ses ressources. Vérifiez l’espace libre sur le disque cible, puis copiez séparément le projet, les ressources et les archives. Les artefacts de compilation et les caches régénérables ne sont pas prioritaires.

Pour la première exécution de rsync, ajoutez --dry-run afin de prévisualiser les opérations. Notez que la barre oblique finale du chemin source influe sur l’arborescence copiée. N’utilisez pas d’option supprimant les fichiers de destination avant d’en avoir vérifié le contenu.

Validation : l’arborescence du projet est complète, les ressources essentielles sont lisibles et le nombre de fichiers ou les résultats de vérification sont conformes aux attentes.

02 / TOOLS

Outils

Vérifiez les versions de Homebrew, Xcode, des SDK et des dépendances du projet. Sur Apple Silicon, Homebrew se trouve généralement dans /opt/homebrew ; ne reprenez pas les chemins absolus de votre machine locale.

Recréez les dépendances à partir du fichier de verrouillage du projet. Vérifiez séparément les certificats de signature, les clés privées correspondantes et les profils de provisionnement. La disponibilité d’une interface graphique ne garantit pas que le processus CI sans interface puisse signer.

Validation : les commandes de version fonctionnent, la compilation locale réussit et les certificats correspondent aux profils de provisionnement du projet.

03 / CI

CI

Enregistrez un runner auto-hébergé GitHub Actions ou GitLab. Utilisez un compte système dédié et un jeton aux droits minimaux, puis associez correctement les étiquettes du runner aux tâches du projet.

Commencez par une tâche de validation qui lit le code sans le signer, puis ajoutez les tests et la publication. Vérifiez le PATH du processus runner, son répertoire de travail et ses droits d’accès au trousseau. Ne vous contentez pas de valider le tout dans un terminal interactif.

Validation : les tâches sont prises en charge, les journaux sont complets et le runner se reconnecte comme prévu après redémarrage.

Un runner peut accéder à tous les dépôts auxquels il est autorisé à accéder, et donc à leur code. Ne faites pas exécuter des tâches provenant de sources non fiables dans le même environnement que les signatures de publication. Le travail en équipe ne justifie pas non plus de partager un compte système.

Xcode et signature

Le certificat est sur la machine, mais le processus doit aussi y avoir accès

En cas d’erreur de signature, vérifiez d’abord le certificat, la clé privée, le profil de provisionnement et les droits du processus. Évitez de réimporter plusieurs fois le même fichier et ne placez jamais de clé privée dans un dépôt de code ou en pièce jointe d’un ticket.

Pourquoi l’identité de signature reste-t-elle introuvable après l’importation du certificat ?

Dans Trousseaux d’accès, vérifiez d’abord que la clé privée correspondante apparaît sous le certificat. Un fichier de certificat sans clé privée ne permet pas de signer. Si vous utilisez un fichier exporté contenant la clé privée, vérifiez le mot de passe d’exportation, le trousseau de destination et la date d’expiration du certificat.

Exécutez ensuite security find-identity -v -p codesigning pour afficher les identités de signature disponibles pour l’utilisateur courant. Si le résultat diffère de celui de l’interface graphique, vérifiez d’abord l’utilisateur exécutant la commande et la liste de recherche des trousseaux, plutôt que de changer immédiatement de machine.

Le certificat est valide, mais la compilation signale un profil de provisionnement incompatible ?

Vérifiez le Bundle Identifier du projet, l’identifiant d’équipe, le type de compilation et la date d’expiration du profil de provisionnement. Les profils de développement et de publication peuvent différer. Pour tester sur des appareils, assurez-vous également que l’appareil cible figure dans le profil correspondant.

Validez d’abord une configuration de compilation précise. Dans un projet comportant plusieurs cibles, vérifiez les réglages de signature de chacune afin d’éviter que l’application principale et ses extensions utilisent des équipes différentes ou des fichiers expirés.

La signature fonctionne dans le terminal, mais échoue dans la CI. Pourquoi ?

La CI peut s’exécuter sous un autre utilisateur, avec des variables d’environnement différentes ou dans une session sans interface graphique. Vérifiez que le trousseau utilisé est déverrouillé, qu’il contient l’identité de signature et que l’outil de signature est autorisé à accéder à la clé privée.

Stockez les identifiants nécessaires dans les secrets protégés de la CI, et non dans le contenu du script. Lancez un test de signature minimal sous l’utilisateur du runner et notez l’étape qui échoue. Dans un ticket, ne joignez que des erreurs expurgées, jamais un mot de passe de trousseau, un mot de passe d’exportation ni une clé privée.

Comment isoler les accès lorsque plusieurs personnes utilisent le même Mac physique ?

Créez un compte système distinct pour chaque membre et attribuez les droits sur les répertoires et les trousseaux selon les responsabilités. Réservez un compte runner aux tâches automatisées. Lors des transmissions, précisez qui utilise la session graphique pour éviter de changer la chaîne d’outils ou de nettoyer un répertoire partagé pendant la compilation d’un autre utilisateur.

Ces mesures réduisent les erreurs, mais les utilisateurs d’une même machine partagent toujours son processeur, sa mémoire et son disque. Pour des projets nécessitant une forte isolation, des tâches mutuellement non fiables ou des publications parallèles stables, prévoyez des machines distinctes.

Performances et stockage

Identifiez le goulot d’étranglement avant d’ajouter des ressources

Une compilation lente n’est pas forcément due à la puce. Consultez d’abord la pression mémoire et l’utilisation du processeur dans Moniteur d’activité, puis vérifiez l’espace disque, les téléchargements de dépendances et le nombre de tâches simultanées. Comparez les résultats avec le même projet et les mêmes réglages de compilation.

Les simulateurs et caches de compilation remplissent le disque. Que supprimer d’abord ?

Exécutez d’abord df -h pour vérifier l’espace disponible, puis repérez dans Xcode les environnements d’exécution de simulateur et les archives de compilation dont vous n’avez plus besoin. DerivedData peut être régénéré, mais la prochaine compilation recréera le cache. Suspendez les tâches du projet avant de nettoyer les fichiers en cours d’utilisation.

Vous pouvez vérifier les appareils avec xcrun simctl list devices. Après avoir confirmé que vous n’en avez plus besoin, exécutez xcrun simctl delete unavailable pour supprimer les appareils indisponibles. Les données de test d’un simulateur peuvent être perdues avec sa suppression : exportez d’abord celles qui sont importantes.

Quand envisager un SSD de +1TB ou +2TB ?

Envisagez une extension lorsque vous devez conserver durablement des projets, plusieurs environnements d’exécution de simulateur, des images de conteneur et des ressources, et que le disque reste presque plein après le nettoyage des caches régénérables. Le SSD de +1TB coûte $2.2/jour et celui de +2TB $4.4/jour. Consultez les tarifs des autres durées dans la configuration de commande.

Un disque supplémentaire augmente la capacité, mais ne remplace pas davantage de mémoire. Si plusieurs tâches s’exécutent en parallèle et que la pression mémoire reste élevée, réduisez d’abord le parallélisme ou évaluez une configuration mieux adaptée.

Compilation et inférence : comment choisir parmi les trois configurations ?

Hold 16 est équipé d’une puce M4, de 16GB de mémoire et d’un SSD de 256GB. Il convient aux compilations légères et à la CI d’un seul projet. Hold 24 dispose d’une puce M4, de 24GB de mémoire et d’un SSD de 512GB, pour le développement Xcode quotidien, plusieurs simulateurs et les tests d’interface.

Hold Pro 64 est équipé d’une puce M4 Pro, de 64GB de mémoire et d’un SSD de 2TB. Il convient aux grands projets et aux expérimentations MLX. La possibilité d’exécuter un modèle dépend toujours de sa taille, de sa quantification et du contexte requis : le nom de la configuration ne remplace pas un test réel.

Pour quels usages connecter plusieurs machines en Thunderbolt 5 ?

Cette option convient si vous disposez déjà de plusieurs machines et que votre flux de travail prend en charge leur coopération. Elle coûte $1.5/jour/machine. Avant de la configurer, indiquez le nombre de machines concernées, la méthode d’échange des données et les exigences de l’application afin que l’assistance puisse confirmer sa compatibilité.

La connexion ne transforme pas automatiquement plusieurs machines en un Mac doté d’une mémoire plus importante et ne répartit pas d’elle-même les compilations classiques. Vérifiez d’abord que l’application prend en charge ce fonctionnement, puis décidez si vous en avez besoin.

Facturation et renouvellement

Avant de renouveler, vérifiez la commande et la durée

La location est proposée à la journée, à la semaine, au mois ou au trimestre. Tous les paiements sont en dollars américains. La commande, la date d’expiration, les options et l’état du paiement sont ceux enregistrés dans le portail. Après le paiement, ne vous fiez pas uniquement au message du client pour confirmer le renouvellement.

Où vérifier la date d’expiration et l’état du renouvellement ?

Connectez-vous au portail pour consulter la date d’expiration, la facture et l’accès au renouvellement de l’abonnement concerné. Pensez également à vérifier les rappels envoyés à l’adresse e-mail de votre compte et assurez-vous de pouvoir recevoir les messages. L’heure d’envoi exacte dépend de la notification reçue : ne prévoyez pas le renouvellement au dernier moment en vous fiant à un seul rappel.

Après le paiement, retournez sur l’abonnement concerné pour vérifier la nouvelle date d’expiration. Si la facture est payée mais que la durée de l’abonnement n’a pas été mise à jour, transmettez le numéro de facture et les informations de paiement sans régler une seconde fois la même facture.

Mes informations de connexion changent-elles après un renouvellement ?

Lors du renouvellement normal d’une même instance, continuez à utiliser les informations de connexion affichées dans ses détails. Un renouvellement ne réinitialise pas le système. En cas de remplacement de machine, de recréation ou d’autre changement lié à la livraison, utilisez les nouvelles informations de connexion du portail et suivez les notifications de service.

Si la location a pris fin et que la récupération de la machine a commencé, ne comptez pas sur un renouvellement pour restaurer vos données. Exportez les projets, les sauvegardes de certificats et les ressources irremplaçables avant l’expiration. L’effacement du disque après récupération ne peut pas être annulé en passant une nouvelle commande.

Quels moyens de paiement sont acceptés ?

Seuls USDT-TRC20 et Visa / Mastercard / Amex (via Stripe) sont acceptés. Tous les paiements sont en dollars américains (USD). Les moyens réellement disponibles sont ceux renvoyés par l’interface de paiement.

Avec USDT-TRC20, vérifiez attentivement le réseau, l’adresse et le montant indiqués sur la page de paiement. Avec une carte bancaire, suivez les étapes de vérification du prestataire de paiement. Pour toute question sur un paiement, vous pouvez transmettre le hash de transaction ou le numéro de facture, mais jamais le numéro complet de la carte, son cryptogramme ou la clé privée de votre portefeuille.

Vous souhaitez changer de configuration ou de disque supplémentaire ? Faut-il passer une nouvelle commande ?

Notez le numéro de l’instance, la configuration souhaitée et le moment où les tâches peuvent être suspendues, puis ouvrez un ticket dans le portail. Confirmez avant toute intervention si une migration est nécessaire, si les informations de connexion peuvent être conservées et quand le changement prendra effet.

Un disque supplémentaire peut contenir des données importantes : migrez-les et vérifiez la configuration de vos applications avant de résilier l’option. Ne supposez pas que le changement sera immédiat, que toutes les données seront conservées automatiquement ou qu’un remboursement sera effectué. Le traitement dépend des règles de la commande et de la confirmation reçue.

Le problème persiste ? Transmettez les bonnes informations

Pour un problème lié à une instance existante, connectez-vous au portail et ouvrez un ticket. Indiquez le numéro de la machine, la région, la date et l’heure de l’erreur avec le fuseau horaire, la dernière utilisation réussie et les étapes déjà tentées. Un journal expurgé sera plus utile qu’un simple « ça ne se connecte pas ».

Suivez les réponses dans le ticket du portail. Le délai de réponse dépend de la nature du problème et de l’étendue des vérifications ; cette page ne garantit pas de délai précis en minutes. Pour les questions avant achat, la configuration d’équipe ou les problèmes de connexion au compte, écrivez à support@vpshold.com.